From de0853e2a09bffc54be8da830e03f17adeb23e52 Mon Sep 17 00:00:00 2001 From: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com> Date: Fri, 12 Nov 2021 06:36:57 -0600 Subject: [PATCH] ashstorm mmi fix (#17065) --- code/modules/mob/living/carbon/brain/MMI.dm | 13 ++++++++++++- code/modules/mob/living/silicon/robot/robot.dm | 3 ++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index 6c359c9c0c4..429e9b7864d 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -287,5 +287,16 @@ return user.shared_living_ui_distance() /obj/item/mmi/forceMove(atom/destination) + if(!brainmob) + return ..() + + var/atom/old_loc = loc + if(issilicon(old_loc) && !issilicon(destination)) + var/mob/living/silicon/S = old_loc + brainmob.weather_immunities -= S.weather_immunities + else if(issilicon(destination)) + var/mob/living/silicon/S = destination + brainmob.weather_immunities |= S.weather_immunities + . = ..() - brainmob?.update_runechat_msg_location() + brainmob.update_runechat_msg_location() diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 60d13a88ce5..37c8f73463b 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -277,7 +277,8 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( SStgui.close_uis(wires) if(mmi && mind)//Safety for when a cyborg gets dust()ed. Or there is no MMI inside. var/turf/T = get_turf(loc)//To hopefully prevent run time errors. - if(T) mmi.loc = T + if(T) + mmi.forceMove(T) if(mmi.brainmob) mind.transfer_to(mmi.brainmob) mmi.update_icon()