diff --git a/code/game/dna/genes/gene.dm b/code/game/dna/genes/gene.dm index ad2b1f43c54..a39da68c92e 100644 --- a/code/game/dna/genes/gene.dm +++ b/code/game/dna/genes/gene.dm @@ -38,14 +38,16 @@ return 0 // Called when the gene activates. Do your magic here. -/datum/dna/gene/proc/activate(var/mob/M, var/connected, var/flags) +/datum/dna/gene/proc/activate(var/mob/living/M, var/connected, var/flags) + M.gene_stability += instability return /** * Called when the gene deactivates. Undo your magic here. * Only called when the block is deactivated. */ -/datum/dna/gene/proc/deactivate(var/mob/M, var/connected, var/flags) +/datum/dna/gene/proc/deactivate(var/mob/living/M, var/connected, var/flags) + M.gene_stability -= instability return // This section inspired by goone's bioEffects. diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 6aa56d91c70..d98eae3135d 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -195,6 +195,7 @@ to_chat(wizard_mob, "In your pockets you will find a teleport scroll. Use it as needed.") wizard_mob.mind.store_memory("Remember: do not forget to prepare your spells.") wizard_mob.update_icons() + wizard_mob.gene_stability = 2 * DEFAULT_GENE_STABILITY //magic return 1 diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 6f106f5e125..3af93392326 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -80,4 +80,4 @@ var/global/default_martial_art = new/datum/martial_art var/fire_dmi = 'icons/mob/OnFire.dmi' var/fire_sprite = "Standing" - var/datum/body_accessory/body_accessory = null \ No newline at end of file + var/datum/body_accessory/body_accessory = null diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 88c7964c07c..9a56765bf67 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -170,12 +170,10 @@ adjustCloneLoss(0.1) /mob/living/carbon/human/handle_mutations_and_radiation() - var/gene_stability = DEFAULT_GENE_STABILITY for(var/datum/dna/gene/gene in dna_genes) if(!gene.block) continue if(gene.is_active(src)) - gene_stability -= gene.instability speech_problem_flag = 1 gene.OnMobLife(src) if(gene_stability < 85) diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index ce73ae369c0..d4e6d613d9c 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -54,4 +54,6 @@ var/list/butcher_results = null - var/list/surgeries = list() //a list of surgery datums. generally empty, they're added when the player wants them. \ No newline at end of file + var/list/surgeries = list() //a list of surgery datums. generally empty, they're added when the player wants them. + + var/gene_stability = DEFAULT_GENE_STABILITY