rudimentary death setup

This commit is contained in:
derek
2024-07-18 14:15:09 -05:00
parent 5f67dbe6ba
commit acdfae4777
7 changed files with 186 additions and 13 deletions

View File

@@ -17,7 +17,7 @@ var player
@onready var hit_indicator = $Audio/HitIndicator
@export var bullethole : Resource
var level_control
var rng = RandomNumberGenerator.new()
var av_x
var av_y
@@ -25,7 +25,6 @@ var av_z
# Called when the node enters the scene tree for the first time.
func _ready():
#apply random rotation
av_x = deg_to_rad(rng.randf_range(-random_spread_amt,random_spread_amt))
av_y = deg_to_rad(rng.randf_range(-random_spread_amt,random_spread_amt))
@@ -39,6 +38,11 @@ func _process(delta):
position += transform.basis * Vector3(0, 0, -bullet_speed) * delta
rotation.x = clamp(rotation.x - delta * bullet_drop,deg_to_rad(-90),deg_to_rad(90))
if ray.is_colliding() and ray.get_collider().is_in_group("player"):
var player = ray.get_collider()
player.level_control.health -= bullet_damage
print(player.level_control.health)
if ray.is_colliding() and !ray.get_collider().is_in_group("player"):
mesh.visible = false

View File

@@ -10,6 +10,7 @@ var rng = RandomNumberGenerator.new()
@export_group("Game Settings")
@export var AUDIO = true
@export var dead_player : Resource
@export_group("Player Movement")
@export var WALK_SPEED = 7.0
@export var SPRINT_SPEED = 15.0
@@ -204,6 +205,8 @@ func _physics_process(delta):
if Input.is_action_just_pressed("escape"):
get_tree().quit()
if level_control.health <= 0:
die()
move_and_slide()
weapon_tilt(input_dir.x, delta)
@@ -297,3 +300,12 @@ func weapon_bob(vel : float, delta):
func weapon_recoil(delta):
var recoil_to = camera.rotation.x + gun.recoil_amount
camera.rotation.x = clamp(lerp(camera.rotation.x,recoil_to, .05), deg_to_rad(-90), deg_to_rad(60))
func die():
Engine.time_scale = .05
await get_tree().create_timer(.3).timeout
get_tree().reload_current_scene()
#var instance_dead = dead_player.instantiate()
#instance_dead.position = head.global_position
#instance_dead.transform.basis = head.global_transform.basis
#get_tree().get_root().add_child(instance_dead)