Converts lightgeists to basic mob AI (#30008)

* Converts lightgeists to basic mob AI

* Linters
This commit is contained in:
PollardTheDragon
2025-08-12 11:55:28 -04:00
committed by GitHub
parent 03ada8da33
commit 52c194028b
5 changed files with 98 additions and 59 deletions
@@ -17,6 +17,8 @@ GLOBAL_LIST_INIT(target_interested_atoms, typecacheof(list(
var/vision_range = 11
/// Blackboard key for aggro range, uses vision range if not specified
var/aggro_range_key = BB_AGGRO_RANGE
/// Can we target allies?
var/targets_allies = FALSE
/datum/ai_behavior/find_potential_targets/get_cooldown(datum/ai_controller/cooldown_for)
if(cooldown_for.blackboard[BB_FIND_TARGETS_FIELD(type)])
@@ -55,7 +57,7 @@ GLOBAL_LIST_INIT(target_interested_atoms, typecacheof(list(
var/list/filtered_targets = list()
for(var/atom/pot_target in potential_targets)
if(ismob(pot_target) && living_mob.faction_check_mob(pot_target))
if(ismob(pot_target) && living_mob.faction_check_mob(pot_target) && !targets_allies)
continue
if(targeting_strategy.can_attack(living_mob, pot_target))//Can we attack it?
filtered_targets += pot_target
@@ -170,3 +172,6 @@ GLOBAL_LIST_INIT(target_interested_atoms, typecacheof(list(
/datum/ai_behavior/find_potential_targets/bigger_range
vision_range = 16
/datum/ai_behavior/find_potential_targets/allies
targets_allies = TRUE
@@ -17,3 +17,8 @@
/datum/ai_planning_subtree/simple_find_target/to_flee
target_key = BB_BASIC_MOB_FLEE_TARGET
/datum/ai_planning_subtree/simple_find_target/target_allies
/datum/ai_planning_subtree/simple_find_target/target_allies/select_behaviors(datum/ai_controller/controller, seconds_per_tick)
controller.queue_behavior(/datum/ai_behavior/find_potential_targets/allies, target_key, BB_TARGETING_STRATEGY, BB_BASIC_MOB_CURRENT_TARGET_HIDING_LOCATION)