From 07f8558e1f9e9b7201840f650c7779154ea9635c Mon Sep 17 00:00:00 2001 From: Name Date: Wed, 6 Mar 2019 04:35:12 -0500 Subject: [PATCH] Fixes it --- code/__DEFINES/combat.dm | 13 +++++++------ code/modules/assembly/signaler.dm | 3 ++- code/modules/client/verbs/suicide.dm | 4 ++++ code/modules/food_and_drinks/drinks/drinks.dm | 2 +- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 74765e9cd78..46d46f64fd3 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -12,12 +12,13 @@ #define BRAIN "brain" //bitflag damage defines used for suicide_act -#define BRUTELOSS (1<<0) -#define FIRELOSS (1<<1) -#define TOXLOSS (1<<2) -#define OXYLOSS (1<<3) -#define SHAME (1<<4) -#define MANUAL_SUICIDE (1<<5) //suicide_act will do the actual killing. +#define BRUTELOSS (1<<0) +#define FIRELOSS (1<<1) +#define TOXLOSS (1<<2) +#define OXYLOSS (1<<3) +#define SHAME (1<<4) +#define MANUAL_SUICIDE (1<<5) //suicide_act will do the actual killing. +#define MANUAL_SUICIDE_NONLETHAL (1<<6) #define EFFECT_STUN "stun" #define EFFECT_KNOCKDOWN "knockdown" diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 8959029b9bc..d5cef63715d 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -21,12 +21,13 @@ playsound(src, 'sound/items/eatfood.ogg', 50, TRUE) user.transferItemToLoc(src, user, TRUE) suicider = user - return MANUAL_SUICIDE + return MANUAL_SUICIDE_NONLETHAL /obj/item/assembly/signaler/proc/manual_suicide(mob/living/carbon/user) user.visible_message("[user]'s \the [src] receives a signal, killing [user.p_them()] instantly!") user.adjustOxyLoss(200)//it sends an electrical pulse to their heart, killing them. or something. user.death(0) + user.set_suicide(TRUE) /obj/item/assembly/signaler/Initialize() . = ..() diff --git a/code/modules/client/verbs/suicide.dm b/code/modules/client/verbs/suicide.dm index c2a3d9fe3da..d173a71261a 100644 --- a/code/modules/client/verbs/suicide.dm +++ b/code/modules/client/verbs/suicide.dm @@ -73,6 +73,10 @@ if(damagetype & MANUAL_SUICIDE) //Assume the object will handle the death. return + if(damagetype & MANUAL_SUICIDE_NONLETHAL) + set_suicide(FALSE) + return + //If something went wrong, just do normal oxyloss if(!(damagetype & (BRUTELOSS | FIRELOSS | TOXLOSS | OXYLOSS) )) adjustOxyLoss(max(200 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0)) diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 33cca7623da..72753970299 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -419,7 +419,7 @@ sleep(50) playsound(H,'sound/items/drink.ogg', 80, 1) H.say(pick("Another day, another dollar.", "I wonder if I should hold?", "Diversifying is for young'ns.", "Yeap, times were good back then.")) - return MANUAL_SUICIDE + return MANUAL_SUICIDE_NONLETHAL sleep(20) //dramatic pause return TOXLOSS