mtd/Scripts/health.gd

23 lines
518 B
GDScript3
Raw Normal View History

2024-02-22 06:22:22 +11:00
class_name Health extends Node
signal health_depleted
2024-02-22 06:22:22 +11:00
signal health_changed(health: int)
2024-02-22 06:22:22 +11:00
@export var damage_particle_scene: PackedScene
@export var max_health: int = 10
2024-02-22 06:22:22 +11:00
var current_health: int
2024-02-22 06:22:22 +11:00
func take_damage(damage: int) -> void:
current_health -= damage
health_changed.emit(current_health)
if current_health <= 0:
health_depleted.emit()
2024-02-22 06:22:22 +11:00
func heal_damage(healing: int) -> void:
current_health += healing
if current_health > max_health:
current_health = max_health
health_changed.emit(current_health)