diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 7bcdded17b..a8c0353591 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -212,6 +212,7 @@ #define TRAIT_NO_TELEPORT "no-teleport" //you just can't #define TRAIT_NO_INTERNALS "no-internals" #define TRAIT_NO_ALCOHOL "alcohol_intolerance" +#define TRAIT_MUTATION_STASIS "mutation_stasis" //Prevents processed genetics mutations from processing. // common trait sources #define TRAIT_GENERIC "generic" diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 7654070cf1..648c227c0a 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -180,6 +180,7 @@ //Get the clone body ready maim_clone(H) + ADD_TRAIT(H, TRAIT_MUTATION_STASIS, CLONING_POD_TRAIT) ADD_TRAIT(H, TRAIT_STABLEHEART, CLONING_POD_TRAIT) ADD_TRAIT(H, TRAIT_STABLELIVER, CLONING_POD_TRAIT) ADD_TRAIT(H, TRAIT_EMOTEMUTE, CLONING_POD_TRAIT) @@ -369,6 +370,7 @@ return REMOVE_TRAIT(mob_occupant, TRAIT_STABLEHEART, CLONING_POD_TRAIT) + REMOVE_TRAIT(mob_occupant, TRAIT_MUTATION_STASIS, CLONING_POD_TRAIT) REMOVE_TRAIT(mob_occupant, TRAIT_STABLELIVER, CLONING_POD_TRAIT) REMOVE_TRAIT(mob_occupant, TRAIT_EMOTEMUTE, CLONING_POD_TRAIT) REMOVE_TRAIT(mob_occupant, TRAIT_MUTE, CLONING_POD_TRAIT) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 9316a36e6b..eb22934a2b 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -323,6 +323,8 @@ SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "embedded") /mob/living/carbon/human/proc/handle_active_genes() + if(HAS_TRAIT(src, TRAIT_MUTATION_STASIS)) + return for(var/datum/mutation/human/HM in dna.mutations) HM.on_life(src)