From 433d7b52dd8b766f012f87ab2ced4fe670864c37 Mon Sep 17 00:00:00 2001 From: Rob Nelson Date: Fri, 31 Jan 2014 18:11:10 -0800 Subject: [PATCH] Fix gene activation logic. --- code/game/dna/genes/gene.dm | 7 +++---- code/game/dna/genes/goon_powers.dm | 2 +- code/game/dna/genes/powers.dm | 4 ++++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/code/game/dna/genes/gene.dm b/code/game/dna/genes/gene.dm index 1d46eb54d09..21eec348bdf 100644 --- a/code/game/dna/genes/gene.dm +++ b/code/game/dna/genes/gene.dm @@ -104,11 +104,10 @@ var/list/deactivation_messages=list() /datum/dna/gene/basic/can_activate(var/mob/M,var/flags) - // Probability check - if(flags & MUTCHK_FORCED || probinj(activation_prob,(flags&MUTCHK_FORCED))) + if(flags & MUTCHK_FORCED) return 1 - - return 0 + // Probability check + return probinj(activation_prob,(flags&MUTCHK_FORCED)) /datum/dna/gene/basic/activate(var/mob/M) M.mutations.Add(mutation) diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm index ecf4644be4a..6e6b3346858 100644 --- a/code/game/dna/genes/goon_powers.dm +++ b/code/game/dna/genes/goon_powers.dm @@ -54,7 +54,7 @@ if(!istype(T)) return if(T.lighting_lumcount <= 2) - M.alpha = round(255 * 0.05) + M.alpha = 0 else M.alpha = round(255 * 0.80) diff --git a/code/game/dna/genes/powers.dm b/code/game/dna/genes/powers.dm index e92917f2f7e..9f7bdcc4569 100644 --- a/code/game/dna/genes/powers.dm +++ b/code/game/dna/genes/powers.dm @@ -71,6 +71,8 @@ block=COLDBLOCK can_activate(var/mob/M,var/flags) + if(flags & MUTCHK_FORCED) + return !(/datum/dna/gene/basic/cold_resist in M.active_genes) // Probability check var/_prob = 15 if(M_RESIST_COLD in M.mutations) @@ -90,6 +92,8 @@ block=FIREBLOCK can_activate(var/mob/M,var/flags) + if(flags & MUTCHK_FORCED) + return !(/datum/dna/gene/basic/heat_resist in M.active_genes) // Probability check var/_prob=30 if(M_RESIST_HEAT in M.mutations)