diff --git a/code/game/dna/genes/gene.dm b/code/game/dna/genes/gene.dm index 30bcc0d8c36..a56be88082e 100644 --- a/code/game/dna/genes/gene.dm +++ b/code/game/dna/genes/gene.dm @@ -23,9 +23,6 @@ // 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 30b9c344b59..1cb70e2c236 100644 --- a/code/game/dna/genes/goon_disabilities.dm +++ b/code/game/dna/genes/goon_disabilities.dm @@ -30,7 +30,6 @@ 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 mutation = RADIOACTIVE New() @@ -67,64 +66,6 @@ ..() block=FATBLOCK -///////////////////////// -// SPEECH MANIPULATORS // -///////////////////////// - -/* Duplicate -// WAS: /datum/bioEffect/stutter -/datum/dna/gene/disability/stutter - name = "Stutter" - desc = "Hinders nerve transmission to and from the speech center of the brain, resulting in faltering speech." - activation_message = "Y-you f.. feel a.. a bit n-n-nervous." - deactivation_message = "You don't feel nervous anymore." - - New() - ..() - block=STUTTERBLOCK - - OnMobLife(var/mob/owner) - if (prob(10)) - owner:stuttering = max(10, owner:stuttering) - -/datum/dna/gene/disability/speech - can_activate(var/mob/M, var/flags) - // Can only activate one of these at a time. - if(is_type_in_list(/datum/dna/gene/disability/speech,M.active_genes)) - return 0 - return ..(M,flags) -*/ - -/* Figure out what the fuck this one does. -// WAS: /datum/bioEffect/smile -/datum/dna/gene/disability/speech/smile - name = "Smile" - desc = "Causes the speech center of the subject's brain to produce large amounts of seratonin when engaged." - activation_message = "You feel like you want to smile and smile and smile forever :)" - deactivation_message = "You don't feel like smiling anymore. :(" - - New() - ..() - block=SMILEBLOCK - - OnSay(var/mob/M, var/message) - return message - -// WAS: /datum/bioEffect/elvis -/datum/dna/gene/disability/speech/elvis - name = "Elvis" - desc = "Forces the language center of the subject's brain to drawl out sentences in a funky manner." - activation_message = "You feel funky." - deactivation_message = "You feel a little less conversation would be great." - - New() - ..() - block=ELVISBLOCK - - OnSay(var/mob/M, var/message) - return message -*/ - // WAS: /datum/bioEffect/chav /datum/dna/gene/disability/speech/chav name = "Chav" @@ -224,7 +165,6 @@ 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 = TOXIC_FARTS @@ -265,35 +205,6 @@ OnDrawUnderlays(var/mob/M,var/g,var/fat) return "horns_s" -/* Stupid -/datum/bioEffect/stinky - name = "Apocrine Enhancement" - desc = "Increases the amount of natural body substances produced from the subject's apocrine glands." - id = "stinky" - effectType = effectTypeDisability - isBad = 1 - msgGain = "You feel sweaty." - msgLose = "You feel much more hygenic." - var/personalized_stink = "Wow, it stinks in here!" - - New() - ..() - src.personalized_stink = stinkString() - if (prob(5)) - src.variant = 2 - - OnLife() - if (prob(10)) - for(var/mob/living/carbon/C in view(6,get_turf(owner))) - if (C == owner) - continue - if (src.variant == 2) - to_chat(C, "\red [src.personalized_stink]") - else - to_chat(C, "\red [stinkString()]") -*/ - - //////////////////////////////////////////////////////////////////////// // WAS: /datum/bioEffect/immolate /datum/dna/gene/basic/grant_spell/immolate @@ -301,7 +212,6 @@ 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 mutation = IMMOLATE spelltype=/obj/effect/proc_holder/spell/targeted/immolate @@ -321,80 +231,16 @@ clothes_req = 0 stat_allowed = 0 invocation_type = "none" - range = 7 + range = -1 selection_type = "range" var/list/compatible_mobs = list(/mob/living/carbon/human) - include_user = 0 + include_user = 1 action_icon_state = "genetic_incendiary" /obj/effect/proc_holder/spell/targeted/immolate/cast(list/targets) - -/* if(!targets.len) Uncomment this to allow the power to be used on targets other than yourself. That said, if you uncomment this I will find you and hurt you. Uncounterable and untracable burn damage with a 60-second cooldown is fun for exactly one person, and that's the person who is using it. - to_chat(usr, "No target found in range.") - return - - var/mob/living/carbon/L = targets[1] - if(L) - usr.attack_log += text("\[[time_stamp()]\] [usr.real_name] ([usr.ckey]) cast the spell [name] on [L.real_name] ([L.ckey]).") - L.attack_log += text("\[[time_stamp()]\] [usr.real_name] ([usr.ckey]) cast the spell [name] on [L.real_name] ([L.ckey]).") - msg_admin_attack("[usr.real_name] ([usr.ckey]) has cast the spell [name] on [L.real_name] ([L.ckey]) (JM -*/ var/mob/living/carbon/L = usr - - if(L) - usr.attack_log += text("\[[time_stamp()]\] [key_name(usr)] cast the spell [name] on [key_name(L)]") - msg_admin_attack("[key_name_admin(usr)] has cast the spell [name] on [key_name_admin(L)]") - L.adjust_fire_stacks(0.5) L.visible_message("\red [L.name] suddenly bursts into flames!") L.IgniteMob() playsound(L.loc, 'sound/effects/bamf.ogg', 50, 0) - -//////////////////////////////////////////////////////////////////////// - -/* WTF THIS IS THE DUMBEST SHIT - -// WAS: /datum/bioEffect/melt -/datum/dna/gene/basic/grant_verb/melt - name = "Self Biomass Manipulation" - 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 - - New() - ..() - block = MELTBLOCK - -/proc/bioproc_melt() - set name = "Dissolve" - set desc = "Transform yourself into a liquified state." - set category = "Mutant Abilities" - - if (istype(usr,/mob/living/carbon/human/)) - var/mob/living/carbon/human/H = usr - - H.visible_message("\red [H.name]'s flesh melts right off! Holy shit!") - //if (H.gender == "female") - // playsound(H.loc, 'female_fallscream.ogg', 50, 0) - //else - // playsound(H.loc, 'male_fallscream.ogg', 50, 0) - //playsound(H.loc, 'bubbles.ogg', 50, 0) - //playsound(H.loc, 'loudcrunch2.ogg', 50, 0) - var/mob/living/carbon/human/skeleton/nH = new /mob/living/carbon/human/skeleton(H.loc, delay_ready_dna=1) - nH.real_name = H.real_name - nH.name = "[H.name]'s skeleton" - //H.decomp_stage = 4 - nH.brain_op_stage = 4 - H.gib(1) - else - usr.visible_message("\red [usr.name] melts into a pile of bloody viscera!") - usr.gib(1) - - return - - -*/ diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm index b0e0a405265..6013ee6fe62 100644 --- a/code/game/dna/genes/goon_powers.dm +++ b/code/game/dna/genes/goon_powers.dm @@ -17,7 +17,6 @@ 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=PSY_RESIST @@ -29,7 +28,6 @@ ///////////////////////// /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)) @@ -73,7 +71,7 @@ name = "Chameleon" 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 exposed.") + deactivation_messages = list("You feel oddly visible.") activation_prob=10 mutation = CHAMELEON @@ -121,7 +119,6 @@ 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 mutation = CRYO spelltype = /obj/effect/proc_holder/spell/targeted/cryokinesis @@ -144,7 +141,6 @@ range = 7 selection_type = "range" include_user = 1 -// centcomm_cancast = 0 var/list/compatible_mobs = list(/mob/living/carbon/human) action_icon_state = "genetic_cryo" @@ -219,7 +215,6 @@ 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 mutation = EATER spelltype=/obj/effect/proc_holder/spell/targeted/eat @@ -362,7 +357,6 @@ //cooldown = 30 activation_messages = list("Your leg muscles feel taut and strong.") deactivation_messages = list("Your leg muscles shrink back to normal.") - instability=2 mutation = JUMPY spelltype =/obj/effect/proc_holder/spell/targeted/leap @@ -464,7 +458,6 @@ //cooldown = 1800 activation_messages = list("You don't feel entirely like yourself somehow.") deactivation_messages = list("You feel secure in your identity.") - instability=5 mutation = POLYMORPH New() @@ -491,19 +484,20 @@ to_chat(usr, "\red You can only change your appearance to that of another human.") return - if(!ishuman(usr)) return - - - //playsound(usr.loc, 'blobattack.ogg', 50, 1) + if(!ishuman(usr)) + return usr.visible_message("\red [usr]'s body shifts and contorts.") spawn(10) if(M && usr) playsound(usr.loc, 'sound/goonstation/effects/gib.ogg', 50, 1) - usr.UpdateAppearance(M.dna.UI) - usr:real_name = M:real_name - usr:name = M:name + var/mob/living/carbon/human/H = usr + var/mob/living/carbon/human/target = M + H.UpdateAppearance(target.dna.UI) + H.real_name = target.real_name + H.name = target.name + //////////////////////////////////////////////////////////////////////// // WAS: /datum/bioEffect/empath @@ -514,7 +508,6 @@ spelltype = /obj/effect/proc_holder/spell/targeted/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 mutation=EMPATH New() @@ -632,7 +625,6 @@ 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 = SUPER_FART spelltype = /obj/effect/proc_holder/spell/aoe_turf/superfart diff --git a/code/game/dna/genes/powers.dm b/code/game/dna/genes/powers.dm index 7c28c8dbca6..2aca5878f83 100644 --- a/code/game/dna/genes/powers.dm +++ b/code/game/dna/genes/powers.dm @@ -5,8 +5,8 @@ /datum/dna/gene/basic/nobreath name="No Breathing" activation_messages=list("You feel no need to breathe.") + deactivation_messages=list("You feel the need to breathe, once more.") mutation=NO_BREATH - instability=2 activation_prob=10 New() @@ -15,18 +15,18 @@ /datum/dna/gene/basic/regenerate name="Regenerate" - activation_messages=list("You feel better.") + activation_messages=list("Your wounds start healing.") + deactivation_messages=list("Your regenerative powers feel like they've vanished.") mutation=REGEN - instability=2 New() block=REGENERATEBLOCK /datum/dna/gene/basic/increaserun name="Super Speed" - activation_messages=list("Your leg muscles pulsate.") + activation_messages=list("You feel swift and unencumbered.") + deactivation_messages=list("You feel slow.") mutation=RUN - instability=1 New() block=INCREASERUNBLOCK @@ -35,61 +35,41 @@ /datum/dna/gene/basic/heat_resist name="Heat Resistance" activation_messages=list("Your skin is icy to the touch.") + deactivation_messages=list("Your skin no longer feels icy to the touch.") mutation=RESIST_HEAT - instability=2 New() 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(RESIST_COLD in M.mutations) - _prob=5 - if(probinj(_prob,(flags&MUTCHK_FORCED))) - return 1 - OnDrawUnderlays(var/mob/M,var/g,var/fat) return "cold[fat]_s" /datum/dna/gene/basic/cold_resist name="Cold Resistance" activation_messages=list("Your body is filled with warmth.") + deactivation_messages=list("Your body is no longer filled with warmth.") mutation=RESIST_COLD - instability=2 New() 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(RESIST_HEAT in M.mutations) - _prob=5 - if(probinj(_prob,(flags&MUTCHK_FORCED))) - return 1 - OnDrawUnderlays(var/mob/M,var/g,var/fat) return "fire[fat]_s" /datum/dna/gene/basic/noprints name="No Prints" activation_messages=list("Your fingers feel numb.") + deactivation_messages=list("your fingers no longer feel numb.") mutation=FINGERPRINTS - instability=1 New() block=NOPRINTSBLOCK /datum/dna/gene/basic/noshock name="Shock Immunity" - activation_messages=list("Your skin feels strange.") + activation_messages=list("Your skin feels dry and unreactive.") + deactivation_messages=list("Your skin no longer feels dry and unreactive.") mutation=NO_SHOCK - instability=2 New() block=SHOCKIMMUNITYBLOCK @@ -99,17 +79,10 @@ activation_messages=list("Everything around you seems bigger now...") deactivation_messages = list("Everything around you seems to shrink...") mutation=DWARF - instability=1 New() block=SMALLSIZEBLOCK - can_activate(var/mob/M,var/flags) - // Can't be big and small. - if(HULK in M.mutations) - return 0 - return ..(M,flags) - activate(var/mob/M, var/connected, var/flags) ..(M,connected,flags) M.pass_flags |= PASSTABLE @@ -124,18 +97,13 @@ /datum/dna/gene/basic/hulk name="Hulk" activation_messages=list("Your muscles hurt.") + deactivation_messages=list("Your muscles shrink.") mutation=HULK activation_prob=5 New() block=HULKBLOCK - can_activate(var/mob/M,var/flags) - // Can't be big AND small. - if(DWARF in M.mutations) - return 0 - return ..(M,flags) - activate(var/mob/M, var/connected, var/flags) ..() var/status = CANSTUN | CANWEAKEN | CANPARALYSE | CANPUSH @@ -167,9 +135,9 @@ /datum/dna/gene/basic/xray name="X-Ray Vision" activation_messages=list("The walls suddenly disappear.") + deactivation_messages=list("the walls around you re-appear.") mutation=XRAY activation_prob=10 - instability=2 New() block=XRAYBLOCK @@ -177,9 +145,9 @@ /datum/dna/gene/basic/tk name="Telekenesis" activation_messages=list("You feel smarter.") + deactivation_messages=("You feel dumber.") mutation=TK activation_prob=10 - instability=5 New() block=TELEBLOCK diff --git a/code/game/dna/genes/vg_disabilities.dm b/code/game/dna/genes/vg_disabilities.dm index fe35349e6d4..3514a658c18 100644 --- a/code/game/dna/genes/vg_disabilities.dm +++ b/code/game/dna/genes/vg_disabilities.dm @@ -18,27 +18,6 @@ message = replacetext(message,"!","!!") return uppertext(message) -/* BROKEN WITH NEW SAYCODE -/datum/dna/gene/disability/speech/whisper - name = "Quiet" - desc = "Damages the subjects vocal cords" - activation_message = "Your throat feels sore.." - deactivation_message = "You feel fine again." - - New() - ..() - block=WHISPERBLOCK - - can_activate(var/mob/M,var/flags) - // No loud whispering. - if(LOUD in M.mutations) - return 0 - return ..(M,flags) - - OnSay(var/mob/M, var/message) - M.whisper(message) -*/ - /datum/dna/gene/disability/dizzy name = "Dizzy" desc = "Causes the cerebellum to shut down in some places." diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm index db4c97db449..790d49ab16f 100644 --- a/code/game/dna/genes/vg_powers.dm +++ b/code/game/dna/genes/vg_powers.dm @@ -1,89 +1,3 @@ -/* -This is /vg/'s nerf for hulk. Feel free to steal it. - -Obviously, requires DNA2. - - -// When hulk was first applied (world.time). -/mob/living/carbon/human/var/hulk_time=0 - -// In decaseconds. -#define HULK_DURATION 300 -#define HULK_COOLDOWN 600 - -/datum/dna/gene/basic/grant_spell/hulk - name = "Hulk" - 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 - - New() - ..() - block = HULKBLOCK - - can_activate(var/mob/M,var/flags) - // Can't be big AND small. - if(DWARF in M.mutations) - return 0 - return ..(M,flags) - - OnDrawUnderlays(var/mob/M,var/g,var/fat) - if(HULK in M.mutations) - if(fat) - return "hulk_[fat]_s" - else - return "hulk_[g]_s" - return 0 - - OnMobLife(var/mob/living/carbon/human/M) - if(!istype(M)) return - if(HULK in M.mutations) - var/timeleft=M.hulk_time - world.time - if(M.health <= 0 || timeleft <= 0) - M.hulk_time=0 // Just to be sure. - M.mutations.Remove(HULK) - //M.dna.SetSEState(HULKBLOCK,0) - M.update_mutations() //update our mutation overlays - M.update_body() - to_chat(M, "\red You suddenly feel very weak.") - -/obj/effect/proc_holder/spell/targeted/hulk - name = "Hulk Out" - panel = "Abilities" - range = -1 - include_user = 1 - - charge_type = "recharge" - charge_max = HULK_COOLDOWN - - clothes_req = 0 - stat_allowed = 0 - - invocation_type = "none" - - action_icon_state = "genetic_hulk" - -/obj/effect/proc_holder/spell/targeted/hulk/New() - desc = "Get mad! For [HULK_DURATION/10] seconds, anyway." - ..() - -/obj/effect/proc_holder/spell/targeted/hulk/cast(list/targets) - if (istype(usr.loc,/mob/)) - to_chat(usr, "\red You can't hulk out right now!") - return - var/mob/living/carbon/human/M=usr - M.hulk_time = world.time + HULK_DURATION - M.mutations.Add(HULK) - M.update_mutations() //update our mutation overlays - M.update_body() - //M.say(pick("",";")+pick("HULK MAD","YOU MADE HULK ANGRY")) // Just a note to security. - message_admins("[key_name_admin(usr)] has hulked out! ([formatJumpTo(usr)])") - return -*/ - ///////////////////Vanilla Morph//////////////////////////////////// /datum/dna/gene/basic/grant_spell/morph @@ -91,13 +5,11 @@ Obviously, requires DNA2. desc = "Enables the subject to reconfigure their appearance to that of any human." spelltype =/obj/effect/proc_holder/spell/targeted/morph - //cooldown = 1800 - activation_messages=list("Your body feels funny.") - deactivation_messages = list("You body feels normal.") + activation_messages=list("Your body feels if can alter its appearance.") + deactivation_messages = list("Your body doesn't feel capable of altering its appearance.") mutation=MORPH - instability=2 New() ..() @@ -194,9 +106,9 @@ Obviously, requires DNA2. /datum/dna/gene/basic/grant_spell/remotetalk name="Telepathy" - activation_messages=list("You expand your mind outwards.") + activation_messages=list("You feel you can project your thoughts.") + deactivation_messages=list("You no longer feel you can project your thoughts.") mutation=REMOTE_TALK - instability=1 spelltype =/obj/effect/proc_holder/spell/targeted/remotetalk @@ -259,9 +171,9 @@ Obviously, requires DNA2. /datum/dna/gene/basic/grant_spell/remoteview name="Remote Viewing" - activation_messages=list("Your mind expands.") + activation_messages=list("Your mind can see things from afar.") + deactivation_messages=list("Your mind can no longer can see things from afar.") mutation=REMOTE_VIEW - instability=3 spelltype =/obj/effect/proc_holder/spell/targeted/remoteview diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index fdd86c790f9..a6bf793abe0 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -120,10 +120,6 @@ return /mob/living/carbon/alien/handle_mutations_and_radiation() - if(getFireLoss()) - if((RESIST_HEAT in mutations) || prob(5)) - adjustFireLoss(-1) - // Aliens love radiation nom nom nom if (radiation) if (radiation > 100) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index c2ec65368a4..3f0cc8bd0df 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -774,15 +774,6 @@ //the analgesic effect wears off slowly analgesic = max(0, analgesic - 1) - if(hallucination) - spawn() - handle_hallucinations() - - if(hallucination <= 2) - hallucination = 0 - else - hallucination -= 2 - if(paralysis) blinded = 1 stat = UNCONSCIOUS diff --git a/icons/effects/genetics.dmi b/icons/effects/genetics.dmi index 819532badfc..b177589f679 100644 Binary files a/icons/effects/genetics.dmi and b/icons/effects/genetics.dmi differ