From 31996e78426a15697700fab37ab3b5c4b8b62c68 Mon Sep 17 00:00:00 2001 From: TheDZD Date: Thu, 18 Aug 2016 14:41:20 -0400 Subject: [PATCH] Fixes gene de-activation not always working, removes deprecated genetics define. --- code/game/dna/dna2.dm | 8 -------- code/game/dna/dna2_domutcheck.dm | 14 ++++++-------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm index 347e6470869..78b889071f5 100644 --- a/code/game/dna/dna2.dm +++ b/code/game/dna/dna2.dm @@ -61,14 +61,6 @@ var/global/list/datum/dna/gene/dna_genes[0] var/global/list/good_blocks[0] var/global/list/bad_blocks[0] -///////////////// -// GENE DEFINES -///////////////// - -// Skip checking if it's already active. -// Used for genes that check for value rather than a binary on/off. -#define GENE_ALWAYS_ACTIVATE 1 - /datum/dna // READ-ONLY, GETS OVERWRITTEN // DO NOT FUCK WITH THESE OR BYOND WILL EAT YOUR FACE diff --git a/code/game/dna/dna2_domutcheck.dm b/code/game/dna/dna2_domutcheck.dm index 911d91ef63d..6175d547d63 100644 --- a/code/game/dna/dna2_domutcheck.dm +++ b/code/game/dna/dna2_domutcheck.dm @@ -31,16 +31,14 @@ if(!gene || !istype(gene)) return 0 + // Current state + var/gene_active = M.dna.GetSEState(gene.block) + // Sanity checks, don't skip. - if(!gene.can_activate(M,flags)) + if(!gene.can_activate(M,flags) && gene_active) //testing("[M] - Failed to activate [gene.name] (can_activate fail).") return 0 - // Current state - var/gene_active = (gene.flags & GENE_ALWAYS_ACTIVATE) - if(!gene_active) - gene_active = M.dna.GetSEState(gene.block) - var/defaultgenes // Do not mutate inherent species abilities if(ishuman(M)) var/mob/living/carbon/human/H = M @@ -51,12 +49,12 @@ // Prior state var/gene_prior_status = (gene.type in M.active_genes) - var/changed = gene_active != gene_prior_status || (gene.flags & GENE_ALWAYS_ACTIVATE) + var/changed = gene_active != gene_prior_status // If gene state has changed: if(changed) // Gene active (or ALWAYS ACTIVATE) - if(gene_active || (gene.flags & GENE_ALWAYS_ACTIVATE)) + if(gene_active) //testing("[gene.name] activated!") gene.activate(M,connected,flags) if(M)