From 7bd85cc05061aadbe331c2105c4590ede3ac87f3 Mon Sep 17 00:00:00 2001 From: MartinOpat Date: Sat, 21 Feb 2026 10:25:29 +0100 Subject: [PATCH] Fix: fleeing from a removed object not handled --- evolve-die-repeat/molecular/prey/state_fleeing.gd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/evolve-die-repeat/molecular/prey/state_fleeing.gd b/evolve-die-repeat/molecular/prey/state_fleeing.gd index 3e28abd..07ac647 100644 --- a/evolve-die-repeat/molecular/prey/state_fleeing.gd +++ b/evolve-die-repeat/molecular/prey/state_fleeing.gd @@ -11,12 +11,13 @@ func enter(previous_state_path: String, data := {}) -> void: finished.emit(owner.fsm.States.IDLE, {}) func physics_update(_delta: float) -> void: - if GameManager.calc_distance(owner.position, threat.position) > threshold: + if not is_instance_valid(threat) or GameManager.calc_distance(owner.position, threat.position) > threshold: finished.emit(owner.fsm.States.IDLE, {}) return owner.move(flee_from(threat.position)) func flee_from(pos: Vector2) -> Vector3: + # FIXME: What is the argument "pos" and why is it unused? var diff = threat.position - owner.position diff = diff.normalized() * -1 return Vector3(diff.x, diff.y ,0)