From 4da3d4f40b617216c483c6764d098e48014aa2c9 Mon Sep 17 00:00:00 2001 From: Luc <89928798+lewcc@users.noreply.github.com> Date: Mon, 10 Jun 2024 23:57:48 -0700 Subject: [PATCH] Allows for brainmobs (particularly, robo-brains) to ghost (#25774) * gives brains free ghosting, if they so desire * if you're in a bag or something, probably better * add prompting --- code/modules/mob/dead/observer/observer_base.dm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/modules/mob/dead/observer/observer_base.dm b/code/modules/mob/dead/observer/observer_base.dm index f1203b1f033..f33e16df49b 100644 --- a/code/modules/mob/dead/observer/observer_base.dm +++ b/code/modules/mob/dead/observer/observer_base.dm @@ -241,6 +241,15 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return ghostize(TRUE) return + if(isbrain(M) && isturf(M.loc)) + // let a brain ghost out if they want to, but also let them freely re-enter their brain. + var/mob/dead/observer/ghost = ghostize(TRUE) + ghost.can_reenter_corpse = FALSE + if(tgui_alert(src, "Ghosting from this brain means you'll be respawnable but will be kicked out of your brain, which someone else could take over. Is this what you want?", "Ghost", list("Stay in Brain", "Ghost") != "Ghost")) + return + + log_admin("[key_name(M)] has ghosted as a brain-mob, but is keeping respawnability.") + return if(P) if(TOO_EARLY_TO_GHOST) warningmsg = "It's too early in the shift to enter cryo"