diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index c9877a7e467..8330566487c 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -222,6 +222,7 @@ GLOBAL_PROTECT(admin_verbs_debug) /client/proc/run_empty_query, /client/proc/SDQL2_query, /client/proc/set_dynex_scale, + /client/proc/spawn_as_mmi, /client/proc/spawn_debug_full_crew, /client/proc/test_cardpack_distribution, /client/proc/test_movable_UI, @@ -1188,3 +1189,18 @@ GLOBAL_PROTECT(admin_verbs_poll) QDEL_NULL(segment.ai_controller) segment.AddComponent(/datum/component/mob_chain, front = previous) previous = segment + +/client/proc/spawn_as_mmi(mob/living/carbon/human/target in GLOB.human_list) + set category = "Debug" + set name = "Turn target into MMI" + set desc = "Turns something into an MMI, must be used on humans" + if(!check_rights(R_DEBUG)) + return + if(!ishuman(target)) + return + + var/obj/item/mmi/new_mmi = new(target.loc) + var/obj/item/organ/internal/brain/target_brain = target.get_organ_slot(ORGAN_SLOT_BRAIN) + target_brain.Remove(target) + new_mmi.attackby(target_brain,target) + qdel(target) diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index 22fbd42b71c..f882912fb0c 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -45,9 +45,9 @@ var/mob/living/simple_animal/animal = accessor if(check_access(animal.access_card)) return TRUE - else if(isbrain(accessor) && istype(accessor.loc, /obj/item/mmi)) - var/obj/item/mmi/brain_mmi = accessor.loc - if(ismecha(brain_mmi.loc)) + else if(isbrain(accessor)) + var/obj/item/mmi/brain_mmi = get(accessor.loc, /obj/item/mmi) + if(brain_mmi && ismecha(brain_mmi.loc)) var/obj/vehicle/sealed/mecha/big_stompy_robot = brain_mmi.loc return check_access_list(big_stompy_robot.accesses) return FALSE