diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index a8ff6fb6361..627e4fdca89 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -45,6 +45,7 @@ var/list/ai_list = list() var/list/datum/AI_Module/current_modules = list() var/fire_res_on_core = 0 var/can_dominate_mechs = 0 + var/shunted = 0 //1 if the AI is currently shunted. Used to differentiate between shunted and ghosted/braindead var/control_disabled = 0 // Set to 1 to stop AI from interacting via Click() var/malfhacking = 0 // More or less a copy of the above var, so that malf AIs can hack and still get new cyborgs -- NeoFite diff --git a/code/modules/mob/living/silicon/ai/examine.dm b/code/modules/mob/living/silicon/ai/examine.dm index 64863157b39..0c8d26f8960 100644 --- a/code/modules/mob/living/silicon/ai/examine.dm +++ b/code/modules/mob/living/silicon/ai/examine.dm @@ -18,7 +18,7 @@ if (src.stat == UNCONSCIOUS) msg += "It is non-responsive and displaying the text: \"RUNTIME: Sensory Overload, stack 26/3\".\n" msg += "" - if (!src.client) + if (shunted == 0 && !src.client) msg += "[src]Core.exe has stopped responding! NTOS is searching for a solution to the problem...\n" msg += "*---------*" diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 91d33efc30d..e4f85d70492 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -886,6 +886,7 @@ src.occupier.parent = malf.parent else src.occupier.parent = malf + malf.shunted = 1 malf.mind.transfer_to(src.occupier) src.occupier.eyeobj.name = "[src.occupier.name] (AI Eye)" if(malf.parent) @@ -903,6 +904,7 @@ return if(src.occupier.parent && src.occupier.parent.stat != 2) src.occupier.mind.transfer_to(src.occupier.parent) + src.occupier.parent.shunted = 0 src.occupier.parent.adjustOxyLoss(src.occupier.getOxyLoss()) src.occupier.parent.cancel_camera() qdel(src.occupier)