From 2de66f51c8fb6d5d1fc9b4f231a6fa76f42e1738 Mon Sep 17 00:00:00 2001 From: alex-gh Date: Sun, 30 Mar 2014 15:16:29 +0200 Subject: [PATCH] Rebalanced power stacking. Active powers will now slowly give you clone damage. This should discourage power stacking. --- code/game/dna/genes/gene.dm | 3 +++ code/game/dna/genes/goon_disabilities.dm | 4 ++++ code/game/dna/genes/goon_powers.dm | 9 +++++++++ code/game/dna/genes/powers.dm | 13 +++++++++++++ code/game/dna/genes/vg_powers.dm | 1 + code/modules/mob/living/carbon/human/life.dm | 2 ++ 6 files changed, 32 insertions(+) diff --git a/code/game/dna/genes/gene.dm b/code/game/dna/genes/gene.dm index 21eec348bdf..87dbf20108e 100644 --- a/code/game/dna/genes/gene.dm +++ b/code/game/dna/genes/gene.dm @@ -23,6 +23,9 @@ // Any of a number of GENE_ flags. var/flags=0 + // Chance of the gene to cause adverse effects when active + var/instability=0 + /** * Is the gene active in this mob's DNA? */ diff --git a/code/game/dna/genes/goon_disabilities.dm b/code/game/dna/genes/goon_disabilities.dm index 7a9b3e75186..80fe2277d01 100644 --- a/code/game/dna/genes/goon_disabilities.dm +++ b/code/game/dna/genes/goon_disabilities.dm @@ -29,6 +29,7 @@ desc = "The subject suffers from constant radiation sickness and causes the same on nearby organics." activation_message = "You feel a strange sickness permeate your whole body." deactivation_message = "You no longer feel awful and sick all over." + instability=5 New() ..() @@ -216,6 +217,7 @@ desc = "Causes the subject's digestion to create a significant amount of noxious gas." activation_message = "Your stomach grumbles unpleasantly." deactivation_message = "Your stomach stops acting up. Phew!" + instability=2 mutation = M_TOXIC_FARTS @@ -291,6 +293,7 @@ desc = "The subject becomes able to convert excess cellular energy into thermal energy." activation_messages = list("You suddenly feel rather hot.") deactivation_messages = list("You no longer feel uncomfortably hot.") + instability=5 spelltype=/obj/effect/proc_holder/spell/targeted/immolate @@ -329,6 +332,7 @@ desc = "The subject becomes able to transform the matter of their cells into a liquid state." activation_messages = list("You feel strange and jiggly.") deactivation_messages = list("You feel more solid.") + instability=2 verbtype=/proc/bioproc_melt diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm index d5ae6e716a9..4da90f1aaff 100644 --- a/code/game/dna/genes/goon_powers.dm +++ b/code/game/dna/genes/goon_powers.dm @@ -17,6 +17,7 @@ desc = "Boosts efficiency in sectors of the brain commonly associated with meta-mental energies." activation_messages = list("Your mind feels closed.") deactivation_messages = list("You feel oddly exposed.") + instability=2 mutation=M_PSY_RESIST @@ -28,6 +29,7 @@ ///////////////////////// /datum/dna/gene/basic/stealth + instability=7 can_activate(var/mob/M, var/flags) // Can only activate one of these at a time. if(is_type_in_list(/datum/dna/gene/basic/stealth,M.active_genes)) @@ -109,6 +111,7 @@ desc = "Allows the subject to lower the body temperature of others." activation_messages = list("You notice a strange cold tingle in your fingertips.") deactivation_messages = list("Your fingers feel warmer.") + instability=10 spelltype = /obj/effect/proc_holder/spell/targeted/cryokinesis @@ -178,6 +181,7 @@ desc = "Allows the subject to eat just about anything without harm." activation_messages = list("You feel hungry.") deactivation_messages = list("You don't feel quite so hungry anymore.") + instability=3 spelltype=/obj/effect/proc_holder/spell/targeted/eat @@ -199,6 +203,7 @@ range = 1 selection_type = "view" + var/list/types_allowed=list(/obj/item,/mob/living/simple_animal, /mob/living/carbon/monkey, /mob/living/carbon/human) /obj/effect/proc_holder/spell/targeted/eat/choose_targets(mob/user = usr) @@ -297,6 +302,7 @@ //cooldown = 30 activation_messages = list("Your leg muscles feel taut and strong.") deactivation_messages = list("Your leg muscles shrink back to normal.") + instability=2 spelltype =/obj/effect/proc_holder/spell/targeted/leap @@ -374,6 +380,7 @@ //cooldown = 1800 activation_messages = list("You don't feel entirely like yourself somehow.") deactivation_messages = list("You feel secure in your identity.") + instability=5 New() ..() @@ -420,6 +427,7 @@ verbtype = /proc/bioproc_empath activation_messages = list("You suddenly notice more about others than you did before.") deactivation_messages = list("You no longer feel able to sense intentions.") + instability=1 New() ..() @@ -515,6 +523,7 @@ desc = "Vastly increases the gas capacity of the subject's digestive tract." activation_messages = list("You feel bloated and gassy.") deactivation_messages = list("You no longer feel gassy. What a relief!") + instability=1 mutation = M_SUPER_FART diff --git a/code/game/dna/genes/powers.dm b/code/game/dna/genes/powers.dm index 57e0680b933..e08558abe29 100644 --- a/code/game/dna/genes/powers.dm +++ b/code/game/dna/genes/powers.dm @@ -6,6 +6,7 @@ name="No Breathing" activation_messages=list("You feel no need to breathe.") mutation=M_NO_BREATH + instability=2 New() block=NOBREATHBLOCK @@ -14,6 +15,7 @@ name="Remote Viewing" activation_messages=list("Your mind expands.") mutation=M_REMOTE_VIEW + instability=3 New() block=REMOTEVIEWBLOCK @@ -26,6 +28,7 @@ name="Regenerate" activation_messages=list("You feel better.") mutation=M_REGEN + instability=2 New() block=REGENERATEBLOCK @@ -34,6 +37,7 @@ name="Super Speed" activation_messages=list("Your leg muscles pulsate.") mutation=M_RUN + instability=1 New() block=INCREASERUNBLOCK @@ -42,6 +46,7 @@ name="Telepathy" activation_messages=list("You expand your mind outwards.") mutation=M_REMOTE_TALK + instability=1 New() block=REMOTETALKBLOCK @@ -54,6 +59,7 @@ name="Morph" activation_messages=list("Your skin feels strange.") mutation=M_MORPH + instability=2 New() block=MORPHBLOCK @@ -66,6 +72,7 @@ name="Heat Resistance" activation_messages=list("Your skin is icy to the touch.") mutation=M_RESIST_HEAT + instability=2 New() block=COLDBLOCK @@ -87,6 +94,7 @@ name="Cold Resistance" activation_messages=list("Your body is filled with warmth.") mutation=M_RESIST_COLD + instability=2 New() block=FIREBLOCK @@ -108,6 +116,7 @@ name="No Prints" activation_messages=list("Your fingers feel numb.") mutation=M_FINGERPRINTS + instability=1 New() block=NOPRINTSBLOCK @@ -116,6 +125,7 @@ name="Shock Immunity" activation_messages=list("Your skin feels strange.") mutation=M_NO_SHOCK + instability=2 New() block=SHOCKIMMUNITYBLOCK @@ -124,6 +134,7 @@ name="Midget" activation_messages=list("Your skin feels rubbery.") mutation=M_DWARF + instability=1 New() block=SMALLSIZEBLOCK @@ -175,6 +186,7 @@ name="X-Ray Vision" activation_messages=list("The walls suddenly disappear.") mutation=M_XRAY + instability=2 New() block=XRAYBLOCK @@ -184,6 +196,7 @@ activation_messages=list("You feel smarter.") mutation=M_TK activation_prob=15 + instability=5 New() block=TELEBLOCK diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm index bc85838b07f..9328da11e40 100644 --- a/code/game/dna/genes/vg_powers.dm +++ b/code/game/dna/genes/vg_powers.dm @@ -16,6 +16,7 @@ Obviously, requires DNA2. desc = "Allows the subject to become the motherfucking Hulk." activation_messages = list("Your muscles hurt.") deactivation_messages = list("Your muscles quit tensing.") + instability=7 spelltype = /obj/effect/proc_holder/spell/targeted/hulk diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index d49618c9579..bb096e44016 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -264,6 +264,8 @@ if(!gene.block) continue if(gene.is_active(src)) + if (prob(10) && prob(gene.instability)) + adjustCloneLoss(1) gene.OnMobLife(src) if (radiation)