diff --git a/code/__DEFINES/genetics.dm b/code/__DEFINES/genetics.dm
index 97f797b2718..3828392f99e 100644
--- a/code/__DEFINES/genetics.dm
+++ b/code/__DEFINES/genetics.dm
@@ -107,3 +107,7 @@
#define GENE_INSTABILITY_MINOR 5
#define GENE_INSTABILITY_MODERATE 10
#define GENE_INSTABILITY_MAJOR 15
+
+#define GENETIC_DAMAGE_STAGE_1 80
+#define GENETIC_DAMAGE_STAGE_2 65
+#define GENETIC_DAMAGE_STAGE_3 35
diff --git a/code/game/dna/genes/gene.dm b/code/game/dna/genes/gene.dm
index a3781f9985d..f74d0c7d2a0 100644
--- a/code/game/dna/genes/gene.dm
+++ b/code/game/dna/genes/gene.dm
@@ -100,7 +100,7 @@
var/mutation=0
// Activation probability
- var/activation_prob=45
+ var/activation_prob=100
// Possible activation messages
var/list/activation_messages=list()
diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm
index 394540c7762..f9e9c2678a5 100644
--- a/code/game/dna/genes/goon_powers.dm
+++ b/code/game/dna/genes/goon_powers.dm
@@ -47,7 +47,7 @@
desc = "Enables the subject to bend low levels of light around themselves, creating a cloaking effect."
activation_messages = list("You begin to fade into the shadows.")
deactivation_messages = list("You become fully visible.")
- activation_prob=10
+ activation_prob=25
mutation = CLOAK
/datum/dna/gene/basic/stealth/darkcloak/New()
@@ -74,7 +74,7 @@
desc = "The subject becomes able to subtly alter light patterns to become invisible, as long as they remain still."
activation_messages = list("You feel one with your surroundings.")
deactivation_messages = list("You feel oddly visible.")
- activation_prob=10
+ activation_prob=25
mutation = CHAMELEON
/datum/dna/gene/basic/stealth/chameleon/New()
diff --git a/code/game/dna/genes/powers.dm b/code/game/dna/genes/powers.dm
index 465dc5df685..9bc3aa974e6 100644
--- a/code/game/dna/genes/powers.dm
+++ b/code/game/dna/genes/powers.dm
@@ -8,7 +8,7 @@
deactivation_messages=list("You feel the need to breathe, once more.")
instability = GENE_INSTABILITY_MODERATE
mutation=NO_BREATH
- activation_prob=10
+ activation_prob=25
/datum/dna/gene/basic/nobreath/New()
block=NOBREATHBLOCK
@@ -116,7 +116,7 @@
deactivation_messages=list("Your muscles shrink.")
instability = GENE_INSTABILITY_MAJOR
mutation=HULK
- activation_prob=5
+ activation_prob=15
/datum/dna/gene/basic/hulk/New()
block=HULKBLOCK
@@ -156,7 +156,7 @@
deactivation_messages=list("the walls around you re-appear.")
instability = GENE_INSTABILITY_MAJOR
mutation=XRAY
- activation_prob=10
+ activation_prob=15
/datum/dna/gene/basic/xray/New()
block=XRAYBLOCK
@@ -167,7 +167,7 @@
deactivation_messages = list("You feel dumber.")
instability = GENE_INSTABILITY_MAJOR
mutation=TK
- activation_prob=10
+ activation_prob=15
/datum/dna/gene/basic/tk/New()
block=TELEBLOCK
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 8951b21bc74..a7e451bcc7e 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -176,22 +176,22 @@
if(gene.is_active(src))
speech_problem_flag = 1
gene.OnMobLife(src)
- if(gene_stability < 85)
+ if(gene_stability < GENETIC_DAMAGE_STAGE_1)
var/instability = DEFAULT_GENE_STABILITY - gene_stability
- if(prob(instability / 10))
- adjustFireLoss(min(6, instability / 12))
+ if(prob(instability * 0.1))
+ adjustFireLoss(min(5, instability * 0.67))
to_chat(src, "You feel like your skin is burning and bubbling off!")
- if(gene_stability < 70)
- if(prob(instability / 12))
- adjustCloneLoss(min(5, instability / 15))
+ if(gene_stability < GENETIC_DAMAGE_STAGE_2)
+ if(prob(instability * 0.83))
+ adjustCloneLoss(min(4, instability * 0.05))
to_chat(src, "You feel as if your body is warping.")
- if(prob(instability / 10))
- adjustToxLoss(min(6, instability / 12))
+ if(prob(instability * 0.1))
+ adjustToxLoss(min(5, instability * 0.67))
to_chat(src, "You feel weak and nauseous.")
- if(gene_stability < 40 && prob(1))
+ if(gene_stability < GENETIC_DAMAGE_STAGE_3 && prob(1))
to_chat(src, "You feel incredibly sick... Something isn't right!")
spawn(300)
- if(gene_stability < 40)
+ if(gene_stability < GENETIC_DAMAGE_STAGE_3)
gib()
if(!(species.flags & RADIMMUNE))