summaryrefslogtreecommitdiff
path: root/Effects/poison_effect.gd
diff options
context:
space:
mode:
Diffstat (limited to 'Effects/poison_effect.gd')
-rw-r--r--Effects/poison_effect.gd31
1 files changed, 31 insertions, 0 deletions
diff --git a/Effects/poison_effect.gd b/Effects/poison_effect.gd
new file mode 100644
index 0000000..b04786d
--- /dev/null
+++ b/Effects/poison_effect.gd
@@ -0,0 +1,31 @@
+extends Effect
+
+
+@onready var unit: Unit = get_parent()
+
+var level := 1
+var power := 0.0
+
+
+func _init() -> void:
+ is_stackable = true
+
+
+func _ready():
+ power = 1.0 + (level - 1)
+
+ set_duration(2.0 + ((level - 1) * 0.1))
+
+ set_tick(1.0)
+ tick_finished.connect(func():
+ unit.set_hp(unit.hp - power)
+ await get_tree().create_timer(0.1).timeout
+ )
+
+
+func add():
+ unit.sprite.modulate += Color(0, 1, 0, 0)
+
+
+func remove():
+ unit.sprite.modulate -= Color(0, 1, 0, 0)