rudimentary death setup
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user