1extends Node
2
3signal dead
4signal health_changed(life)
5
6export var life = 0
7export var max_life = 10
8export var base_armor = 0
9var armor = 0
10
11func _ready():
12	armor = base_armor
13
14
15func take_damage(damage):
16	life = life - damage + armor
17	if life <= 0:
18		emit_signal("dead")
19	else:
20		emit_signal("health_changed", life)
21
22
23func heal(amount):
24	life += amount
25	life = clamp(life, life, max_life)
26	emit_signal("health_changed", life)
27
28
29func get_health_ratio():
30	return life / max_life
31