mtd/Scripts/health.gd

28 lines
617 B
GDScript3
Raw Normal View History

extends Node
class_name Health
signal health_depleted
signal health_changed(health)
@export var damage_particle_scene : PackedScene
@export var max_health := 10
var current_health
func take_damage(damage):
var marker = damage_particle_scene.instantiate()
get_tree().root.add_child(marker)
marker.set_number(damage)
marker.position = get_parent().global_position + Vector3.UP
current_health -= damage
health_changed.emit(current_health)
if current_health <= 0:
health_depleted.emit()
func heal_damage(healing):
current_health += healing
if current_health > max_health:
current_health = max_health