diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index 61b67770096..e57ab01338a 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -100,13 +100,18 @@ A.AIMiddleClick(src) /* - Sticking a minor pAI override into this because I can. + Sticking minor pAI and brain overrides into this because I can. */ /mob/living/silicon/pai/MiddleClickOn(var/atom/A) if(src.loc == src.card) return A.AIMiddleClick(src) return ..() +/mob/living/cabon/bran/MiddleClickOn(var/atom/A) + if(istype(src.loc, /obj/item/device/mmi)) + return A.AIMiddleClick(src) + return ..() + /* The following criminally helpful code is just the previous code cleaned up; I have no idea why it was in atoms.dm instead of respective files. diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index 49e8c6ad528..cf143083214 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -122,6 +122,13 @@ locked = 1 return +/obj/item/device/mmi/relaymove(var/mob/user, var/direction) + if(user.stat || user.stunned) + return + var/obj/item/weapon/rig/rig = src.get_rig() + if(istype(rig)) + rig.forced_move(direction, user) + /obj/item/device/mmi/Destroy() if(isrobot(loc)) var/mob/living/silicon/robot/borg = loc diff --git a/code/modules/mob/living/carbon/brain/brain.dm b/code/modules/mob/living/carbon/brain/brain.dm index e72671d78ad..aaf947a13d4 100644 --- a/code/modules/mob/living/carbon/brain/brain.dm +++ b/code/modules/mob/living/carbon/brain/brain.dm @@ -49,12 +49,12 @@ return 1 return ..() - /mob/living/carbon/brain/update_canmove() - if(in_contents_of(/obj/mecha)) + if(in_contents_of(/obj/mecha) || istype(loc, /obj/item/device/mmi)) canmove = 1 - use_me = 1 //If it can move, let it emote - else canmove = 0 + use_me = 1 + else + canmove = 0 return canmove /mob/living/carbon/brain/binarycheck()