started work on camera going red with damage
This commit is contained in:
@@ -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="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"]
|
[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://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"]
|
[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="CapsuleMesh" id="CapsuleMesh_n7uf3"]
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_ko22d"]
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_ko22d"]
|
||||||
@@ -41,6 +44,12 @@ SENSITIVITY = 0.008
|
|||||||
BOB_AMP = 0.085
|
BOB_AMP = 0.085
|
||||||
weapon_holder = NodePath("Head/Camera3D/WeaponHolder")
|
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="."]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||||
visible = false
|
visible = false
|
||||||
mesh = SubResource("CapsuleMesh_n7uf3")
|
mesh = SubResource("CapsuleMesh_n7uf3")
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ config_version=5
|
|||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="First Person Test"
|
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/features=PackedStringArray("4.2", "Forward Plus")
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ albedo_color = Color(0.300579, 0.462784, 0.249767, 1)
|
|||||||
[node name="EnemyWork" type="Node3D" node_paths=PackedStringArray("player")]
|
[node name="EnemyWork" type="Node3D" node_paths=PackedStringArray("player")]
|
||||||
script = ExtResource("1_laua1")
|
script = ExtResource("1_laua1")
|
||||||
player = NodePath("Player")
|
player = NodePath("Player")
|
||||||
health = 10
|
start_health = 10
|
||||||
MAX_PARTICLES = 75
|
MAX_PARTICLES = 75
|
||||||
gun_1 = ExtResource("2_poauc")
|
gun_1 = ExtResource("2_poauc")
|
||||||
gun_2 = ExtResource("3_xdb5c")
|
gun_2 = ExtResource("3_xdb5c")
|
||||||
|
|||||||
@@ -1163,7 +1163,6 @@ _data = {
|
|||||||
script = ExtResource("1_orhgl")
|
script = ExtResource("1_orhgl")
|
||||||
player = NodePath("Player")
|
player = NodePath("Player")
|
||||||
money = 10
|
money = 10
|
||||||
health = 10
|
|
||||||
gun_1 = ExtResource("2_6rjit")
|
gun_1 = ExtResource("2_6rjit")
|
||||||
gun_2 = ExtResource("3_umpon")
|
gun_2 = ExtResource("3_umpon")
|
||||||
health_drop_enabled = false
|
health_drop_enabled = false
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ extends Label3D
|
|||||||
var damage_amt
|
var damage_amt
|
||||||
var start_position
|
var start_position
|
||||||
|
|
||||||
const SPEED = 2
|
const SPEED = 3
|
||||||
const SCALE_SPEED = 80
|
const SCALE_SPEED = 80
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ func _process(delta):
|
|||||||
|
|
||||||
#calculate move position for each child
|
#calculate move position for each child
|
||||||
for i in minions:
|
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
|
#by number of minions determine the amount they should rotate around the player to be evenly distributed
|
||||||
number_minions = minions.size()
|
number_minions = minions.size()
|
||||||
|
|
||||||
@@ -33,3 +33,6 @@ func _process(delta):
|
|||||||
var next_nav_point = i.nav_agent.get_next_path_position()
|
var next_nav_point = i.nav_agent.get_next_path_position()
|
||||||
|
|
||||||
i.hive_velocity = (next_nav_point - i.global_transform.origin).normalized() * i.SPEED
|
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)
|
||||||
|
|
||||||
|
|||||||
@@ -20,5 +20,5 @@ func hit(bullet_damage):
|
|||||||
|
|
||||||
var number_spawn = damage_number.instantiate()
|
var number_spawn = damage_number.instantiate()
|
||||||
number_spawn.damage_amt = bullet_damage * damage
|
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)
|
get_tree().get_root().add_child(number_spawn)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ extends Node3D
|
|||||||
|
|
||||||
@export var player : Node
|
@export var player : Node
|
||||||
@export var money = 250
|
@export var money = 250
|
||||||
@export var health = 3
|
@export var start_health = 3
|
||||||
@export var MAX_PARTICLES = 100
|
@export var MAX_PARTICLES = 100
|
||||||
@export var gun_1 : Resource
|
@export var gun_1 : Resource
|
||||||
@export var gun_2 : 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 CLEARED_ANNOUNCE = preload("res://assets/cleared_announce.tscn")
|
||||||
const DEAD_ANNOUNCE = preload("res://assets/dead_announce.tscn")
|
const DEAD_ANNOUNCE = preload("res://assets/dead_announce.tscn")
|
||||||
|
|
||||||
|
var health = start_health
|
||||||
var pickups = []
|
var pickups = []
|
||||||
var held_guns = []
|
var held_guns = []
|
||||||
var ammo_current = [0]
|
var ammo_current = [0]
|
||||||
@@ -40,6 +41,8 @@ func _ready():
|
|||||||
#global randomize function
|
#global randomize function
|
||||||
randomize()
|
randomize()
|
||||||
|
|
||||||
|
health = start_health
|
||||||
|
|
||||||
respawn_position = player.camera.global_position
|
respawn_position = player.camera.global_position
|
||||||
respawn_cam_rotation = player.global_transform.basis
|
respawn_cam_rotation = player.global_transform.basis
|
||||||
|
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ var pickupmsg
|
|||||||
@onready var pickup_sound = $Audio/PickupSound
|
@onready var pickup_sound = $Audio/PickupSound
|
||||||
@onready var ear_wind = $Audio/EarWind
|
@onready var ear_wind = $Audio/EarWind
|
||||||
@onready var hurt_audio = $Audio/Hurt
|
@onready var hurt_audio = $Audio/Hurt
|
||||||
|
@onready var health_indicator = $HealthIndicator
|
||||||
|
|
||||||
@onready var weapon_spawner = $Head/Camera3D/WeaponHolder/WeaponSpawner
|
@onready var weapon_spawner = $Head/Camera3D/WeaponHolder/WeaponSpawner
|
||||||
@onready var pick_up_detection = $pick_up_detection
|
@onready var pick_up_detection = $pick_up_detection
|
||||||
@@ -85,6 +86,10 @@ func _ready():
|
|||||||
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
||||||
start_sensitivity = SENSITIVITY
|
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
|
#turn off audio if unchecked in player
|
||||||
if AUDIO == false:
|
if AUDIO == false:
|
||||||
@@ -152,6 +157,10 @@ func _physics_process(delta):
|
|||||||
var target_fov = BASE_FOV + FOV_CHANGE * velocity_clamped
|
var target_fov = BASE_FOV + FOV_CHANGE * velocity_clamped
|
||||||
camera.fov = lerp(camera.fov, target_fov, delta * 8)
|
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
|
# Land sound
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ var body_look_to
|
|||||||
var distance_to_player
|
var distance_to_player
|
||||||
var hive_velocity
|
var hive_velocity
|
||||||
var hive_nav_point
|
var hive_nav_point
|
||||||
|
var player_in_view = false
|
||||||
|
var player_last_seen
|
||||||
var knocked = false
|
var knocked = false
|
||||||
var stunned = false
|
var stunned = false
|
||||||
|
|
||||||
@@ -75,6 +77,11 @@ func _ready():
|
|||||||
|
|
||||||
func _process(delta):
|
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
|
# Navigation
|
||||||
if !knocked:
|
if !knocked:
|
||||||
if hive_velocity:
|
if hive_velocity:
|
||||||
|
|||||||
Reference in New Issue
Block a user