Genetics Fixes and Tweaks

This commit is contained in:
Fox-McCloud
2016-04-13 21:21:52 -04:00
parent 1d030c5824
commit 9005622ea7
9 changed files with 30 additions and 349 deletions
-3
View File
@@ -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?
*/
+2 -156
View File
@@ -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, "<span class='notice'>No target found in range.</span>")
return
var/mob/living/carbon/L = targets[1]
if(L)
usr.attack_log += text("\[[time_stamp()]\] <font color='red'>[usr.real_name] ([usr.ckey]) cast the spell [name] on [L.real_name] ([L.ckey]).</font>")
L.attack_log += text("\[[time_stamp()]\] <font color='red'>[usr.real_name] ([usr.ckey]) cast the spell [name] on [L.real_name] ([L.ckey]).</font>")
msg_admin_attack("[usr.real_name] ([usr.ckey]) has cast the spell [name] on [L.real_name] ([L.ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[usr.x];Y=[usr.y];Z=[usr.z]'>JM
*/
var/mob/living/carbon/L = usr
if(L)
usr.attack_log += text("\[[time_stamp()]\] <font color='red'>[key_name(usr)] cast the spell [name] on [key_name(L)]</font>")
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 <b>[L.name]</b> 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 <b>[H.name]'s flesh melts right off! Holy shit!</b>")
//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 <b>[usr.name] melts into a pile of bloody viscera!</b>")
usr.gib(1)
return
*/
+9 -17
View File
@@ -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
+13 -45
View File
@@ -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
-21
View File
@@ -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 = "<i>Your throat feels sore..</i>"
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."
+6 -94
View File
@@ -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
@@ -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)
@@ -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
Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 57 KiB