Improved respawn
This commit is contained in:
@ -8,14 +8,23 @@ const DEATH_THRESHOLD = 0.01
|
||||
|
||||
@export var max_value: float
|
||||
var value: float
|
||||
var is_dead: bool
|
||||
|
||||
func _ready():
|
||||
restore()
|
||||
|
||||
func restore():
|
||||
is_dead = false
|
||||
value = max_value
|
||||
value_changed.emit()
|
||||
|
||||
func take_damage(attack: DamageInstance):
|
||||
if is_dead:
|
||||
return
|
||||
|
||||
value = clampf(value - attack.damage, 0, max_value)
|
||||
value_changed.emit()
|
||||
|
||||
if value < DEATH_THRESHOLD:
|
||||
is_dead = true
|
||||
death.emit()
|
||||
|
@ -4,4 +4,4 @@ func on_body_entered(body: Node3D):
|
||||
var health := body.get_node_or_null("Health") as HealthComponent
|
||||
|
||||
if health:
|
||||
health.take_damage(DamageInstance.new(10))
|
||||
health.take_damage(DamageInstance.new(50))
|
Reference in New Issue
Block a user