started work on camera going red with damage

This commit is contained in:
derek
2024-08-07 17:01:41 -05:00
parent fb1dd498b4
commit 5652e75508
10 changed files with 38 additions and 8 deletions

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=18 format=3 uid="uid://drwae3loscbw7"]
[gd_scene load_steps=19 format=3 uid="uid://drwae3loscbw7"]
[ext_resource type="Script" path="res://scripts/player.gd" id="1_x7wms"]
[ext_resource type="PackedScene" uid="uid://dcmno6wafk5hg" path="res://assets/dead_player.tscn" id="2_4hoys"]
@@ -13,6 +13,9 @@
[ext_resource type="AudioStream" uid="uid://bl8yg1d3bsxs3" path="res://assets/Audio/constant-natural-strong-wind-looping-SBA-300062687.wav" id="11_he7p5"]
[ext_resource type="AudioStream" uid="uid://cy150nsjqp7lt" path="res://assets/Audio/grunt-male-SBA-300282985.wav" id="12_f51u4"]
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_l5ga0"]
blend_mode = 1
[sub_resource type="CapsuleMesh" id="CapsuleMesh_n7uf3"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_ko22d"]
@@ -41,6 +44,12 @@ SENSITIVITY = 0.008
BOB_AMP = 0.085
weapon_holder = NodePath("Head/Camera3D/WeaponHolder")
[node name="HealthIndicator" type="ColorRect" parent="."]
material = SubResource("CanvasItemMaterial_l5ga0")
offset_right = 40.0
offset_bottom = 40.0
color = Color(0.470588, 0, 0, 0)
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
visible = false
mesh = SubResource("CapsuleMesh_n7uf3")

View File

@@ -11,7 +11,7 @@ config_version=5
[application]
config/name="First Person Test"
run/main_scene="res://scenes/test_level_2v2.tscn"
run/main_scene="res://scenes/enemy_working_scene.tscn"
config/features=PackedStringArray("4.2", "Forward Plus")
config/icon="res://icon.svg"

View File

@@ -35,7 +35,7 @@ albedo_color = Color(0.300579, 0.462784, 0.249767, 1)
[node name="EnemyWork" type="Node3D" node_paths=PackedStringArray("player")]
script = ExtResource("1_laua1")
player = NodePath("Player")
health = 10
start_health = 10
MAX_PARTICLES = 75
gun_1 = ExtResource("2_poauc")
gun_2 = ExtResource("3_xdb5c")

View File

@@ -1163,7 +1163,6 @@ _data = {
script = ExtResource("1_orhgl")
player = NodePath("Player")
money = 10
health = 10
gun_1 = ExtResource("2_6rjit")
gun_2 = ExtResource("3_umpon")
health_drop_enabled = false

View File

@@ -3,7 +3,7 @@ extends Label3D
var damage_amt
var start_position
const SPEED = 2
const SPEED = 3
const SCALE_SPEED = 80
# Called when the node enters the scene tree for the first time.

View File

@@ -16,7 +16,7 @@ func _process(delta):
#calculate move position for each child
for i in minions:
if i.player != null:
if i.player_in_view == true:
#by number of minions determine the amount they should rotate around the player to be evenly distributed
number_minions = minions.size()
@@ -33,3 +33,6 @@ func _process(delta):
var next_nav_point = i.nav_agent.get_next_path_position()
i.hive_velocity = (next_nav_point - i.global_transform.origin).normalized() * i.SPEED
elif i.player_in_view != true and i.player_last_seen != null:
i.nav_agent.set_target_position(i.player_last_seen)

View File

@@ -20,5 +20,5 @@ func hit(bullet_damage):
var number_spawn = damage_number.instantiate()
number_spawn.damage_amt = bullet_damage * damage
number_spawn.position = global_position + Vector3(0,2,0)
number_spawn.position = global_position + Vector3(0,1,0)
get_tree().get_root().add_child(number_spawn)

View File

@@ -3,7 +3,7 @@ extends Node3D
@export var player : Node
@export var money = 250
@export var health = 3
@export var start_health = 3
@export var MAX_PARTICLES = 100
@export var gun_1 : Resource
@export var gun_2 : Resource
@@ -21,6 +21,7 @@ var dead_player = preload("res://assets/dead_cam.tscn")
const CLEARED_ANNOUNCE = preload("res://assets/cleared_announce.tscn")
const DEAD_ANNOUNCE = preload("res://assets/dead_announce.tscn")
var health = start_health
var pickups = []
var held_guns = []
var ammo_current = [0]
@@ -40,6 +41,8 @@ func _ready():
#global randomize function
randomize()
health = start_health
respawn_position = player.camera.global_position
respawn_cam_rotation = player.global_transform.basis

View File

@@ -76,6 +76,7 @@ var pickupmsg
@onready var pickup_sound = $Audio/PickupSound
@onready var ear_wind = $Audio/EarWind
@onready var hurt_audio = $Audio/Hurt
@onready var health_indicator = $HealthIndicator
@onready var weapon_spawner = $Head/Camera3D/WeaponHolder/WeaponSpawner
@onready var pick_up_detection = $pick_up_detection
@@ -85,6 +86,10 @@ func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
start_sensitivity = SENSITIVITY
var viewportWidth = get_viewport().size.x
var viewportHeight = get_viewport().size.y
health_indicator.size = Vector2(viewportWidth,viewportHeight)
health_indicator.color = Color(0.471, 0, 0, 0)
#turn off audio if unchecked in player
if AUDIO == false:
@@ -152,6 +157,10 @@ func _physics_process(delta):
var target_fov = BASE_FOV + FOV_CHANGE * velocity_clamped
camera.fov = lerp(camera.fov, target_fov, delta * 8)
# Health Indicator
var health_opacity = 1 - level_control.health / level_control.start_health
health_indicator.color = lerp(Color(0.471, 0, 0, 0), Color(0.471, 0, 0, .25),health_opacity)
# Land sound

View File

@@ -60,6 +60,8 @@ var body_look_to
var distance_to_player
var hive_velocity
var hive_nav_point
var player_in_view = false
var player_last_seen
var knocked = false
var stunned = false
@@ -75,6 +77,11 @@ func _ready():
func _process(delta):
#Sightline
if turret_look_next.is_colliding() and turret_look_next.get_collider().is_in_group("player"):
player_in_view = true
player_last_seen = turret_look_next.get_collider().global_position
# Navigation
if !knocked:
if hive_velocity: