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