diff --git a/code/modules/antagonists/malf_ai/malf_ai.dm b/code/modules/antagonists/malf_ai/malf_ai.dm index a2222bfb991..a3776266dcc 100644 --- a/code/modules/antagonists/malf_ai/malf_ai.dm +++ b/code/modules/antagonists/malf_ai/malf_ai.dm @@ -26,6 +26,11 @@ src.give_objectives = give_objectives /datum/antagonist/malf_ai/on_gain() + //BUBBER EDIT START - Shells get malf + if(owner.current && istype(owner.current, /mob/living/silicon/robot/shell)) + var/mob/living/silicon/robot/shell/chosen_one = owner.current + chosen_one.undeploy() + //BUBBER EDIT END if(owner.current && !isAI(owner.current)) stack_trace("Attempted to give malf AI antag datum to \[[owner]\], who did not meet the requirements.") return ..() diff --git a/modular_zubbers/code/modules/storyteller/event_defines/crewset/malf.dm b/modular_zubbers/code/modules/storyteller/event_defines/crewset/malf.dm index 79b3e9890cc..603c5128500 100644 --- a/modular_zubbers/code/modules/storyteller/event_defines/crewset/malf.dm +++ b/modular_zubbers/code/modules/storyteller/event_defines/crewset/malf.dm @@ -22,6 +22,8 @@ /datum/round_event_control/antagonist/solo/malf/get_candidates() var/list/candidates = list() for(var/mob/living/silicon/ai/candidate as anything in GLOB.ai_list) + if(candidate.deployed_shell) + candidate = candidate.deployed_shell if(QDELETED(candidate) || !candidate.key || !candidate.client || !candidate.mind) continue if(!(candidate.client.prefs) || !(antag_flag in candidate.client.prefs.be_special))