diff options
Diffstat (limited to 'scenes/crawlers')
-rw-r--r-- | scenes/crawlers/soldier.gd | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/scenes/crawlers/soldier.gd b/scenes/crawlers/soldier.gd index 2db3f60..1bd7549 100644 --- a/scenes/crawlers/soldier.gd +++ b/scenes/crawlers/soldier.gd @@ -1,12 +1,23 @@ extends CharacterBody2D @export var speed = 50.0 -@export var health = 40 +@export var max_health = 40 +var _health = max_health func _process(delta): get_parent().set_progress(get_parent().get_progress() + speed * delta) if get_parent().get_progress_ratio() == 1: queue_free() - if health <= 0: +func deal_damage(damage): + _health -= damage + if _health <= 0: queue_free() + else: + _update_color() + +func _update_color(): + var ratio : float = float(_health) / max_health + var target_color = Color(1, ratio, ratio) + + $Sprite2D.modulate = target_color |