From 8d71536127ac12e23768ecb59cac2eb5e9a3e6a5 Mon Sep 17 00:00:00 2001 From: n3ophyt3 Date: Thu, 12 May 2011 22:59:49 +0000 Subject: [PATCH] Cyborgs finally drop their MMI when gibbed like they were supposed to back when I added MMIs. Round-start cyborgs use whatever name you have selected for your character for the brain that gets spawned for them. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1575 316c924e-a436-60f5-8080-3fe189b3f50e --- code/modules/mob/living/carbon/brain/MMI.dm | 2 +- code/modules/mob/living/silicon/robot/robot.dm | 1 + code/modules/mob/mob.dm | 11 ++++++----- code/modules/mob/transform_procs.dm | 9 +++++++++ 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index 317f7b7777a..1c983cf35db 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -25,7 +25,7 @@ brain.brainmob.container = src brain.brainmob.stat = 0 locked = 1 - name = "Man-Machine Interface:[brain.brainmob.real_name]" + name = "Man-Machine Interface: [brain.brainmob.real_name]" icon_state = "mmi_full" return diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 45fd6e2e590..f6aae45e784 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -41,6 +41,7 @@ if(brain) brain.loc = loc mind.transfer_to(brain.brain.brainmob) + brain = null ..() //If there's an MMI in the robot, have it ejected when the mob goes away. --NEO diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 3c8597a22ae..17643ae2d52 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1977,12 +1977,13 @@ proc/isobserver(A) flick("gibbed-r", animation) if (src.client) - var/mob/dead/observer/newmob + if(!isrobot(src)) + var/mob/dead/observer/newmob - newmob = new/mob/dead/observer(src) - src:client:mob = newmob - if (src.mind) - src.mind.transfer_to(newmob) + newmob = new/mob/dead/observer(src) + src:client:mob = newmob + if (src.mind) + src.mind.transfer_to(newmob) var/virus = src.virus if (istype(src, /mob/living/silicon)) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 65bd4397024..7920d0638d3 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -202,6 +202,15 @@ O.job = "Cyborg" + O.brain = new /obj/item/device/mmi(O) + O.brain.name = "Man-Machine Interface: [src.name]" + O.brain.icon_state = "mmi_full" + O.brain.brain = new /obj/item/brain(O.brain) + O.brain.brain.name = "[src.name]'s brain" + O.brain.brain.brainmob = new /mob/living/carbon/brain(O.brain.brain) + O.brain.brain.brainmob.name = "[src.name]" + O.brain.brain.brainmob.container = O.brain + del(src)