From 9f0cd70f689945d0b0184acf06d3b3b46d2cdba6 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Thu, 22 Jun 2017 23:06:28 -0700 Subject: [PATCH] No more cloning suiciders --- code/datums/mind.dm | 1 + code/game/machinery/cloning.dm | 3 +++ code/game/machinery/computer/cloning.dm | 2 +- code/modules/mob/living/death.dm | 3 +++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index f2465145808..3e1c3207a87 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -70,6 +70,7 @@ // the world.time since the mob has been brigged, or -1 if not at all var/brigged_since = -1 + var/suicided = FALSE New(var/key) src.key = key diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index b85fb249c2e..5fe64de061e 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -221,6 +221,9 @@ if(clonemind.active) //somebody is using that mind if(ckey(clonemind.key) != R.ckey) return 0 + if(clonemind.suicided) // and stay out! + malfunction(go_easy = 0) + return -1 // Flush the record else // get_ghost() will fail if they're unable to reenter their body var/mob/dead/observer/G = clonemind.get_ghost() diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 5f72dab528c..419226aaa16 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -372,7 +372,7 @@ scantemp = "Error: No signs of intelligence detected." nanomanager.update_uis(src) return - if(subject.suiciding == 1 && src.scanner.scan_level < 2) + if(subject.suiciding) scantemp = "Error: Subject's brain is not responding to scanning stimuli." nanomanager.update_uis(src) return diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 8a043dbf591..2221455c5a5 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -1,6 +1,9 @@ /mob/living/death(gibbed) blinded = max(blinded, 1) + if(suiciding) + mind.suicided = TRUE + clear_fullscreens() update_action_buttons_icon()