diff --git a/code/datums/ai/_ai_controller.dm b/code/datums/ai/_ai_controller.dm index 436b4912b18..7ed49e95a5a 100644 --- a/code/datums/ai/_ai_controller.dm +++ b/code/datums/ai/_ai_controller.dm @@ -379,10 +379,7 @@ multiple modular subtrees with behaviors switch(ai_status) if(AI_STATUS_ON) START_PROCESSING(SSai_behaviors, src) - if(AI_STATUS_OFF) - STOP_PROCESSING(SSai_behaviors, src) - CancelActions() - if(AI_STATUS_IDLE) + if(AI_STATUS_OFF, AI_STATUS_IDLE) STOP_PROCESSING(SSai_behaviors, src) CancelActions() diff --git a/code/datums/brain_damage/special.dm b/code/datums/brain_damage/special.dm index 5b8666413e3..1bf011e0fab 100644 --- a/code/datums/brain_damage/special.dm +++ b/code/datums/brain_damage/special.dm @@ -491,6 +491,7 @@ owner.ai_controller = new /datum/ai_controller/monkey(owner) owner.ai_controller.continue_processing_when_client = TRUE + owner.ai_controller.can_idle = FALSE owner.ai_controller.set_ai_status(AI_STATUS_OFF) /datum/brain_trauma/special/primal_instincts/on_lose(silent) @@ -514,7 +515,7 @@ owner.grant_language(/datum/language/monkey, UNDERSTOOD_LANGUAGE, TRAUMA_TRAIT) owner.ai_controller.set_blackboard_key(BB_MONKEY_AGGRESSIVE, prob(75)) if(owner.ai_controller.ai_status == AI_STATUS_OFF) - owner.ai_controller.set_ai_status(AI_STATUS_IDLE) + owner.ai_controller.set_ai_status(AI_STATUS_ON) owner.log_message("became controlled by monkey instincts ([owner.ai_controller.blackboard[BB_MONKEY_AGGRESSIVE] ? "aggressive" : "docile"])", LOG_ATTACK, color = "orange") to_chat(owner, span_warning("You feel the urge to act on your primal instincts...")) // extend original timer if we roll the effect while it's already ongoing diff --git a/code/modules/mob/living/basic/ruin_defender/flesh.dm b/code/modules/mob/living/basic/ruin_defender/flesh.dm index 6524e6fd9d4..6f46e690700 100644 --- a/code/modules/mob/living/basic/ruin_defender/flesh.dm +++ b/code/modules/mob/living/basic/ruin_defender/flesh.dm @@ -178,7 +178,6 @@ /mob/living/basic/living_limb_flesh/proc/wake_up(atom/limb) visible_message(span_warning("[src] begins flailing around!")) Shake(6, 6, 0.5 SECONDS) - ai_controller.set_ai_status(AI_STATUS_IDLE) + ai_controller.set_ai_status(AI_STATUS_ON) forceMove(limb.drop_location()) qdel(limb) -