extends Effect @onready var unit: Unit = get_parent() var base_speed: float var magnitude: float = 0.5 : set(value): magnitude = clamp(value, 0.0, 1.0) func _ready(): if self.name != "SlowEffect" and unit.has_node("SlowEffect"): unit.get_node("SlowEffect").set_duration(5.0) queue_free() else: add() set_duration(5.0) duration_finished.connect(func(): remove() ) func add(): unit.get_node("Sprite2D").self_modulate = Color(0, 0, 1) unit.speed -= unit.base_speed * magnitude func remove(): unit.get_node("Sprite2D").self_modulate = Color(1, 1, 1) unit.speed += unit.base_speed * magnitude