From cb899d1ab41e219ba387b7efa2b67d99c17174e4 Mon Sep 17 00:00:00 2001 From: autocommit Date: Thu, 16 Apr 2026 11:29:46 -0700 Subject: [PATCH] =?UTF-8?q?feat(ai):=20=E2=9C=A8=20Introduce=20predator=20?= =?UTF-8?q?detection=20logic=20for=20WildCreatureAI=20with=20sensing=20and?= =?UTF-8?q?=20evasion=20behaviors?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- src/game/engine/src/modules/ai/wild_creature_ai.gd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/game/engine/src/modules/ai/wild_creature_ai.gd b/src/game/engine/src/modules/ai/wild_creature_ai.gd index 527edd73..2591ae5c 100644 --- a/src/game/engine/src/modules/ai/wild_creature_ai.gd +++ b/src/game/engine/src/modules/ai/wild_creature_ai.gd @@ -13,6 +13,7 @@ const CombatResolverScript = preload("res://engine/src/modules/combat/combat_res const DEFAULT_DETECTION_RADIUS: int = 4 const DEFAULT_LEASH_RADIUS: int = 5 +const PREDATOR_RADIUS: int = 5 const ROAM_CHANCE: int = 40 var _rng: RandomNumberGenerator = RandomNumberGenerator.new() @@ -94,7 +95,8 @@ func _act( var home_pos: Vector2i = _find_nearest_lair( unit.position, leash_radius + detection_radius ) - var target: RefCounted = _find_attack_target(unit, detection_radius) + var predator_scan: int = max(detection_radius, PREDATOR_RADIUS) + var target: RefCounted = _find_attack_target(unit, predator_scan) if target != null: # Step toward target, then attack if adjacent and still able.