From 3c572f0d6e9c2b0b40a860c35dcec8077097c353 Mon Sep 17 00:00:00 2001 From: JaySparrow Date: Tue, 7 Jul 2020 19:49:04 -0500 Subject: [PATCH] Do Not Clone Adds a new trait for people who don't want to be cloned. Gives the medical bay something to do at least. Also, moves a define to it's appropriate folder to prevent any potential future problems because for some reason it does matter where those defines are for certain procs. The new trait is in negative.dm instead of the hyper traits file, because it populates the list in that order and not based on cost. --- code/__DEFINES/traits.dm | 3 ++- code/datums/traits/negative.dm | 8 ++++++++ code/game/machinery/computer/cloning.dm | 4 ++++ hyperstation/code/modules/traits.dm | 3 +-- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index b3eb6923..679d113e 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -161,7 +161,8 @@ #define TRAIT_CULT_EYES "cult_eyes" #define TRAIT_XRAY_VISION "xray_vision" #define TRAIT_THERMAL_VISION "thermal_vision" -//#define TRAIT_CUM_PLUS "cum_plus" +#define TRAIT_CUM_PLUS "cum_plus" +#define TRAIT_NEVER_CLONE "noclone" // common trait sources diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 5ca3ba4e..5bcf6f32 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -366,3 +366,11 @@ gain_text = "There's a lot on your mind right now." lose_text = "Your mind finally feels calm." medical_record_text = "Patient's mind is in a vulnerable state, and cannot recover from traumatic events." + +//Port from Shadow +/datum/quirk/noclone + name = "DNC" + desc = "You have filed a Do Not Clone order, stating that you do not wish to be cloned. You can still be revived by other means." + value = -2 + mob_trait = TRAIT_NEVER_CLONE + medical_record_text = "Patient has a DNC (Do not clone) order on file, and cannot be cloned as a result." \ No newline at end of file diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 039152f5..05486a4c 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -449,6 +449,10 @@ var/mob/living/brain/B = mob_occupant dna = B.stored_dna + if(HAS_TRAIT(mob_occupant, TRAIT_NEVER_CLONE)) + scantemp = "Subject has an active DNC record on file. Unable to clone." + playsound(src, 'sound/machines/terminal_alert.ogg', 50, 0) + return if(!istype(dna)) scantemp = "Unable to locate valid genetic data." playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0) diff --git a/hyperstation/code/modules/traits.dm b/hyperstation/code/modules/traits.dm index 136e0892..f3407352 100644 --- a/hyperstation/code/modules/traits.dm +++ b/hyperstation/code/modules/traits.dm @@ -1,7 +1,6 @@ -#define TRAIT_CUM_PLUS "cum_plus" -//Jay - Coooooom +//Jay Sparrow /datum/quirk/cum_plus name = "Extra productive genitals" desc = "Your lower bits produce more and hold more than normal."