summaryrefslogtreecommitdiff
path: root/Effects
diff options
context:
space:
mode:
Diffstat (limited to 'Effects')
-rw-r--r--Effects/BurnEffect.tscn2
-rw-r--r--Effects/Effect.gd2
-rw-r--r--Effects/Effect.gd.uid1
-rw-r--r--Effects/PoisonEffect.tscn6
-rw-r--r--Effects/SlowEffect.gd4
-rw-r--r--Effects/SlowEffect.gd.uid1
-rw-r--r--Effects/SlowEffect.tscn2
-rw-r--r--Effects/burn_effect.gd7
-rw-r--r--Effects/burn_effect.gd.uid1
-rw-r--r--Effects/poison_effect.gd31
-rw-r--r--Effects/poison_effect.gd.uid1
11 files changed, 49 insertions, 9 deletions
diff --git a/Effects/BurnEffect.tscn b/Effects/BurnEffect.tscn
index a8e1ed0..230ba8f 100644
--- a/Effects/BurnEffect.tscn
+++ b/Effects/BurnEffect.tscn
@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://dmj3et5exg4s5"]
-[ext_resource type="Script" path="res://Effects/burn_effect.gd" id="1_8my4q"]
+[ext_resource type="Script" uid="uid://cux7gicjhvwjj" path="res://Effects/burn_effect.gd" id="1_8my4q"]
[node name="BurnEffect" type="Node2D"]
script = ExtResource("1_8my4q")
diff --git a/Effects/Effect.gd b/Effects/Effect.gd
index f1662a7..0c74c2b 100644
--- a/Effects/Effect.gd
+++ b/Effects/Effect.gd
@@ -11,6 +11,8 @@ var DurationTimer: Timer
var tick: float = 0.0
var TickTimer: Timer
+var is_stackable := false
+
func _ready():
pass
diff --git a/Effects/Effect.gd.uid b/Effects/Effect.gd.uid
new file mode 100644
index 0000000..ab7a56b
--- /dev/null
+++ b/Effects/Effect.gd.uid
@@ -0,0 +1 @@
+uid://cfhsuvinjr561
diff --git a/Effects/PoisonEffect.tscn b/Effects/PoisonEffect.tscn
new file mode 100644
index 0000000..4dc6a31
--- /dev/null
+++ b/Effects/PoisonEffect.tscn
@@ -0,0 +1,6 @@
+[gd_scene load_steps=2 format=3 uid="uid://bkg0ehkbm3b7n"]
+
+[ext_resource type="Script" uid="uid://brkb8283qfppx" path="res://Effects/poison_effect.gd" id="1_tyodc"]
+
+[node name="PoisonEffect" type="Node2D"]
+script = ExtResource("1_tyodc")
diff --git a/Effects/SlowEffect.gd b/Effects/SlowEffect.gd
index 622a97e..fd33fe6 100644
--- a/Effects/SlowEffect.gd
+++ b/Effects/SlowEffect.gd
@@ -24,10 +24,10 @@ func _ready():
func add():
- unit.sprite.self_modulate = Color(0, 0, 1)
+ unit.sprite.modulate += Color(0, 0, 1, 0)
unit.speed -= unit.base_speed * magnitude
func remove():
- unit.sprite.self_modulate = Color(1, 1, 1)
+ unit.sprite.modulate -= Color(0, 0, 1, 0)
unit.speed += unit.base_speed * magnitude
diff --git a/Effects/SlowEffect.gd.uid b/Effects/SlowEffect.gd.uid
new file mode 100644
index 0000000..86f984e
--- /dev/null
+++ b/Effects/SlowEffect.gd.uid
@@ -0,0 +1 @@
+uid://y6uskr33vcy1
diff --git a/Effects/SlowEffect.tscn b/Effects/SlowEffect.tscn
index ceef7b4..5b2b8da 100644
--- a/Effects/SlowEffect.tscn
+++ b/Effects/SlowEffect.tscn
@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://chay02kqn73gv"]
-[ext_resource type="Script" path="res://Effects/SlowEffect.gd" id="1_8smja"]
+[ext_resource type="Script" uid="uid://y6uskr33vcy1" path="res://Effects/SlowEffect.gd" id="1_8smja"]
[node name="SlowEffect" type="Node2D"]
script = ExtResource("1_8smja")
diff --git a/Effects/burn_effect.gd b/Effects/burn_effect.gd
index 2e8bf7d..fe62f37 100644
--- a/Effects/burn_effect.gd
+++ b/Effects/burn_effect.gd
@@ -6,8 +6,6 @@ extends Effect
var level := 1
var power := 0.0
-var base_modulate: Color
-
func _ready():
power = 5.0 + (level - 1)
@@ -16,9 +14,8 @@ func _ready():
set_tick(1.0)
tick_finished.connect(func():
- base_modulate = unit.sprite.self_modulate
unit.set_hp(unit.hp - power)
- unit.sprite.self_modulate = Color(1, 0, 0)
+ unit.sprite.modulate += Color(1, 0, 0, 0)
await get_tree().create_timer(0.1).timeout
- unit.sprite.self_modulate = base_modulate
+ unit.sprite.modulate -= Color(1, 0, 0, 0)
)
diff --git a/Effects/burn_effect.gd.uid b/Effects/burn_effect.gd.uid
new file mode 100644
index 0000000..5460c71
--- /dev/null
+++ b/Effects/burn_effect.gd.uid
@@ -0,0 +1 @@
+uid://cux7gicjhvwjj
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)
diff --git a/Effects/poison_effect.gd.uid b/Effects/poison_effect.gd.uid
new file mode 100644
index 0000000..fd2c76e
--- /dev/null
+++ b/Effects/poison_effect.gd.uid
@@ -0,0 +1 @@
+uid://brkb8283qfppx