From 42772d545e0c3bbf64330c12b9c3f6b2436659f3 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sat, 28 Jan 2012 16:58:20 -0700 Subject: [PATCH] Suicides clonable, takes time to cut off limbs. --- code/game/machinery/cloning.dm | 6 +++--- code/game/objects/items/weapons/surgery_tools.dm | 12 ++++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 7683082567a..22ab01630dd 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -311,9 +311,9 @@ if (subject.brain_op_stage == 4.0) src.temp = "Error: No signs of intelligence detected." return - if (subject.suiciding == 1) - src.temp = "Error: Subject's brain is not responding to scanning stimuli." - return +// if (subject.suiciding == 1) +// src.temp = "Error: Subject's brain is not responding to scanning stimuli." +// return if ((!subject.ckey) || (!subject.client)) src.temp = "Error: Mental interface failure." return diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index d3369524cd0..27d7b0bf045 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -788,6 +788,12 @@ CIRCULAR SAW var/datum/organ/external/S = H.organs["head"] if(S.destroyed) return + for(var/mob/O in viewers(H, null)) + O.show_message(text("\red [H] gets \his [S.display_name] sawed at with [src] by [user].... It looks like [user] is trying to cut it off!"), 1) + if(!do_after(rand(50,70))) + for(var/mob/O in viewers(H, null)) + O.show_message(text("\red [user] tried to cut [H]'s [S.display_name] off with [src], but failed."), 1) + return for(var/mob/O in viewers(H, null)) O.show_message(text("\red [H] gets \his [S.display_name] sawed off with [src] by [user]."), 1) S.destroyed = 1 @@ -873,6 +879,12 @@ CIRCULAR SAW var/datum/organ/external/S = H.organs[user.zone_sel.selecting] if(S.destroyed) return + for(var/mob/O in viewers(H, null)) + O.show_message(text("\red [H] gets \his [S.display_name] sawed at with [src] by [user].... It looks like [user] is trying to cut it off!"), 1) + if(!do_after(rand(20,80))) + for(var/mob/O in viewers(H, null)) + O.show_message(text("\red [user] tried to cut [H]'s [S.display_name] off with [src], but failed."), 1) + return for(var/mob/O in viewers(H, null)) O.show_message(text("\red [H] gets \his [S.display_name] sawed off with [src] by [user]."), 1) S.destroyed = 1