more cleanup

This commit is contained in:
Fox-McCloud
2016-11-10 06:28:28 -05:00
parent d809645f18
commit 954e7b3c5d
11 changed files with 217 additions and 237 deletions
@@ -1,7 +1,6 @@
#define SOLID 1
#define LIQUID 2
#define GAS 3
#define REM REAGENTS_EFFECT_MULTIPLIER
/datum/reagent
var/name = "Reagent"
@@ -15,7 +15,6 @@
M.AdjustDizzy(dizzy_adj)
..()
/datum/reagent/consumable/ethanol/reaction_obj(obj/O, volume)
if(istype(O,/obj/item/weapon/paper))
var/obj/item/weapon/paper/paperaffected = O
@@ -1030,7 +1029,6 @@
reagent_state = LIQUID
color = "#1BB1FF"
process_flags = ORGANIC | SYNTHETIC
metabolization_rate = 0.4
alcohol_perc = 0.5
drink_icon = "synthanolglass"
drink_name = "Glass of Synthanol"
@@ -128,7 +128,6 @@
description = "A guaranteed heart-stopper!"
reagent_state = LIQUID
color = "#AB1CCF"
metabolization_rate = 0.4
/datum/reagent/concentrated_initro/on_mob_life(mob/living/M)
if(volume >=5)
@@ -9,7 +9,7 @@
/datum/reagent/consumable/drink/orangejuicde/on_mob_life(mob/living/M)
if(M.getOxyLoss() && prob(30))
M.adjustOxyLoss(-1*REM)
M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
..()
/datum/reagent/consumable/drink/tomatojuice
@@ -102,7 +102,7 @@
M.AdjustParalysis(-1)
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
M.adjustStaminaLoss(-1*REM)
M.adjustStaminaLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
..()
/datum/reagent/nicotine/overdose_process(mob/living/M, severity)
@@ -477,7 +477,6 @@
reagent_state = LIQUID
color = "#0FBE0F"
/datum/reagent/thc/on_mob_life(mob/living/M)
M.stuttering += rand(0,2)
if(prob(5))
@@ -502,11 +501,6 @@
process_flags = ORGANIC | SYNTHETIC //Flipping for everyone!
addiction_chance = 10
/datum/reagent/fliptonium/reaction_mob(mob/living/M, method=TOUCH, volume)
if(method == INGEST || method == TOUCH)
M.SpinAnimation(speed = 12, loops = -1)
..()
/datum/reagent/fliptonium/on_mob_life(mob/living/M)
if(current_cycle == 5)
M.SpinAnimation(speed = 11, loops = -1)
@@ -533,6 +527,11 @@
M.SetSleeping(0)
..()
/datum/reagent/fliptonium/reaction_mob(mob/living/M, method=TOUCH, volume)
if(method == INGEST || method == TOUCH)
M.SpinAnimation(speed = 12, loops = -1)
..()
/datum/reagent/fliptonium/on_mob_delete(mob/living/M)
M.SpinAnimation(speed = 12, loops = -1)
@@ -651,5 +650,5 @@
B.pixel_x = rand(-20, 0)
B.pixel_y = rand(-20, 0)
B.icon = I
M.adjustFireLoss(rand(1,5)*REM)
M.adjustBruteLoss(rand(1,5)*REM)
M.adjustFireLoss(rand(1,5)*REAGENTS_EFFECT_MULTIPLIER)
M.adjustBruteLoss(rand(1,5)*REAGENTS_EFFECT_MULTIPLIER)
@@ -124,6 +124,11 @@
reagent_state = LIQUID
color = "#B31008" // rgb: 179, 16, 8
/datum/reagent/consumable/condensedcapsaicin/on_mob_life(mob/living/M)
if(prob(5))
M.visible_message("<span class='warning'>[M] [pick("dry heaves!","coughs!","splutters!")]</span>")
..()
/datum/reagent/consumable/condensedcapsaicin/reaction_mob(mob/living/M, method=TOUCH, volume)
if(method == TOUCH)
if(ishuman(M))
@@ -179,11 +184,6 @@
victim.Weaken(5)
victim.drop_item()
/datum/reagent/consumable/condensedcapsaicin/on_mob_life(mob/living/M)
if(prob(5))
M.visible_message("<span class='warning'>[M] [pick("dry heaves!","coughs!","splutters!")]</span>")
..()
/datum/reagent/consumable/frostoil
name = "Frost Oil"
id = "frostoil"
@@ -446,10 +446,10 @@
/datum/reagent/consumable/mugwort/on_mob_life(mob/living/M)
if(ishuman(M) && M.mind)
if(M.mind.special_role == SPECIAL_ROLE_WIZARD)
M.adjustToxLoss(-1*REM)
M.adjustOxyLoss(-1*REM)
M.adjustBruteLoss(-1*REM)
M.adjustFireLoss(-1*REM)
M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
..()
/datum/reagent/consumable/porktonium
@@ -708,7 +708,6 @@
description = "A gross and unidentifiable substance."
reagent_state = LIQUID
color = "#63DE63"
metabolization_rate = 0.4
/datum/reagent/questionmark/reaction_mob(mob/living/M, method=TOUCH, volume)
if(method == INGEST)
@@ -725,10 +724,6 @@
color = "#F5F5F5"
metabolization_rate = 0.2
/datum/reagent/msg/reaction_mob(mob/living/M, method=TOUCH, volume)
if(method == INGEST)
to_chat(M, "<span class='notice'>That tasted amazing!</span>")
/datum/reagent/msg/on_mob_life(mob/living/M)
if(prob(5))
if(prob(10))
@@ -738,6 +733,10 @@
M.Stun(rand(2,5))
..()
/datum/reagent/msg/reaction_mob(mob/living/M, method=TOUCH, volume)
if(method == INGEST)
to_chat(M, "<span class='notice'>That tasted amazing!</span>")
/datum/reagent/cholesterol
name = "cholesterol"
id = "cholesterol"
@@ -790,17 +789,17 @@
color = "#8EAE7B"
process_flags = ORGANIC | SYNTHETIC //Because apparently ghosts in the shell
/datum/reagent/ectoplasm/reaction_mob(mob/living/M, method=TOUCH, volume)
if(method == INGEST)
var/spooky_eat = pick("Ugh, why did you eat that? Your mouth feels haunted. Haunted with bad flavors.", "Ugh, why did you eat that? It has the texture of ham aspic. From the 1950s. Left out in the sun.", "Ugh, why did you eat that? It tastes like a ghost fart.", "Ugh, why did you eat that? It tastes like flavor died.")
to_chat(M, "<span class='warning'>[spooky_eat]</span>")
/datum/reagent/ectoplasm/on_mob_life(mob/living/M)
var/spooky_message = pick("You notice something moving out of the corner of your eye, but nothing is there...", "Your eyes twitch, you feel like something you can't see is here...", "You've got the heebie-jeebies.", "You feel uneasy.", "You shudder as if cold...", "You feel something gliding across your back...")
if(prob(8))
to_chat(M, "<span class='warning'>[spooky_message]</span>")
..()
/datum/reagent/ectoplasm/reaction_mob(mob/living/M, method=TOUCH, volume)
if(method == INGEST)
var/spooky_eat = pick("Ugh, why did you eat that? Your mouth feels haunted. Haunted with bad flavors.", "Ugh, why did you eat that? It has the texture of ham aspic. From the 1950s. Left out in the sun.", "Ugh, why did you eat that? It tastes like a ghost fart.", "Ugh, why did you eat that? It tastes like flavor died.")
to_chat(M, "<span class='warning'>[spooky_eat]</span>")
/datum/reagent/ectoplasm/reaction_turf(turf/T, volume)
if(volume >= 10 && !istype(T, /turf/space))
new /obj/item/weapon/reagent_containers/food/snacks/ectoplasm(T)
@@ -145,7 +145,6 @@
color = "#0AB478"
metabolization_rate = 0.2
/datum/reagent/medicine/silver_sulfadiazine
name = "Silver Sulfadiazine"
id = "silver_sulfadiazine"
@@ -154,6 +153,10 @@
color = "#F0C814"
metabolization_rate = 3
/datum/reagent/medicine/silver_sulfadiazine/on_mob_life(mob/living/M)
M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER)
..()
/datum/reagent/medicine/silver_sulfadiazine/reaction_mob(mob/living/M, method=TOUCH, volume, show_message = 1)
if(iscarbon(M))
if(method == TOUCH)
@@ -166,10 +169,6 @@
to_chat(M, "<span class='warning'>You feel sick...</span>")
..()
/datum/reagent/medicine/silver_sulfadiazine/on_mob_life(mob/living/M)
M.adjustFireLoss(-2*REM)
..()
/datum/reagent/medicine/styptic_powder
name = "Styptic Powder"
id = "styptic_powder"
@@ -178,6 +177,10 @@
color = "#C8A5DC"
metabolization_rate = 3
/datum/reagent/medicine/styptic_powder/on_mob_life(mob/living/M)
M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER)
..()
/datum/reagent/medicine/styptic_powder/reaction_mob(mob/living/M, method=TOUCH, volume, show_message = 1)
if(iscarbon(M))
if(method == TOUCH)
@@ -191,10 +194,6 @@
to_chat(M, "<span class='warning'>You feel gross!</span>")
..()
/datum/reagent/medicine/styptic_powder/on_mob_life(mob/living/M)
M.adjustBruteLoss(-2*REM)
..()
/datum/reagent/medicine/salglu_solution
name = "Saline-Glucose Solution"
id = "salglu_solution"
@@ -206,8 +205,8 @@
/datum/reagent/medicine/salglu_solution/on_mob_life(mob/living/M)
if(prob(33))
M.adjustBruteLoss(-2*REM)
M.adjustFireLoss(-2*REM)
M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER)
M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(!H.species.exotic_blood && !(H.species.flags & NO_BLOOD) && prob(33))
@@ -243,7 +242,7 @@
color = "#000000"
/datum/reagent/medicine/charcoal/on_mob_life(mob/living/M)
M.adjustToxLoss(-1.5*REM)
M.adjustToxLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER)
if(prob(50))
for(var/datum/reagent/R in M.reagents.reagent_list)
if(R != src)
@@ -261,10 +260,10 @@
addiction_chance = 5
/datum/reagent/medicine/omnizine/on_mob_life(mob/living/M)
M.adjustToxLoss(-1*REM)
M.adjustOxyLoss(-1*REM)
M.adjustBruteLoss(-2*REM)
M.adjustFireLoss(-2*REM)
M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER)
M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER)
if(prob(50))
M.AdjustLoseBreath(-1)
..()
@@ -316,7 +315,7 @@
if(R != src)
M.reagents.remove_reagent(R.id,5)
if(M.health > 20)
M.adjustToxLoss(5*REM)
M.adjustToxLoss(5*REAGENTS_EFFECT_MULTIPLIER)
if(prob(6))
M.fakevomit()
..()
@@ -346,10 +345,10 @@
M.reagents.remove_reagent(R.id,4)
M.radiation = max(0, M.radiation-7)
if(prob(75))
M.adjustToxLoss(-4*REM)
M.adjustToxLoss(-4*REAGENTS_EFFECT_MULTIPLIER)
if(prob(33))
M.adjustBruteLoss(1*REM)
M.adjustFireLoss(1*REM)
M.adjustBruteLoss(1*REAGENTS_EFFECT_MULTIPLIER)
M.adjustFireLoss(1*REAGENTS_EFFECT_MULTIPLIER)
..()
/datum/reagent/medicine/sal_acid
@@ -364,7 +363,7 @@
/datum/reagent/medicine/sal_acid/on_mob_life(mob/living/M)
if(prob(55))
M.adjustBruteLoss(-2*REM)
M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.traumatic_shock < 100)
@@ -380,7 +379,7 @@
metabolization_rate = 0.2
/datum/reagent/medicine/salbutamol/on_mob_life(mob/living/M)
M.adjustOxyLoss(-6*REM)
M.adjustOxyLoss(-6*REAGENTS_EFFECT_MULTIPLIER)
M.AdjustLoseBreath(-4)
..()
@@ -394,13 +393,13 @@
addiction_chance = 20
/datum/reagent/medicine/perfluorodecalin/on_mob_life(mob/living/carbon/human/M)
M.adjustOxyLoss(-25*REM)
M.adjustOxyLoss(-25*REAGENTS_EFFECT_MULTIPLIER)
if(volume >= 4)
M.LoseBreath(6)
M.Silence(6)
if(prob(33))
M.adjustBruteLoss(-1*REM)
M.adjustFireLoss(-1*REM)
M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
..()
/datum/reagent/medicine/ephedrine
@@ -418,7 +417,7 @@
M.AdjustParalysis(-1)
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
M.adjustStaminaLoss(-1*REM)
M.adjustStaminaLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
M.AdjustLoseBreath(-1, bound_lower = 5)
if(M.oxyloss > 75)
M.adjustOxyLoss(-1)
@@ -496,6 +495,13 @@
H.shock_stage = 0
..()
/datum/reagent/medicine/oculine
name = "Oculine"
id = "oculine"
description = "Oculine is a saline eye medication with mydriatic and antibiotic effects."
reagent_state = LIQUID
color = "#C8A5DC"
/datum/reagent/medicine/oculine/on_mob_life(mob/living/M)
if(prob(80))
if(ishuman(M))
@@ -515,15 +521,6 @@
M.SetEarDeaf(0)
..()
/datum/reagent/medicine/oculine
name = "Oculine"
id = "oculine"
description = "Oculine is a saline eye medication with mydriatic and antibiotic effects."
reagent_state = LIQUID
color = "#C8A5DC"
metabolization_rate = 0.4
var/cycle_amount = 0
/datum/reagent/medicine/atropine
name = "Atropine"
id = "atropine"
@@ -540,11 +537,11 @@
M.emote("collapse")
M.AdjustLoseBreath(-5, bound_lower = 5)
if(M.oxyloss > 65)
M.adjustOxyLoss(-10*REM)
M.adjustOxyLoss(-10*REAGENTS_EFFECT_MULTIPLIER)
if(M.health < -25)
M.adjustToxLoss(-1)
M.adjustBruteLoss(-3*REM)
M.adjustFireLoss(-3*REM)
M.adjustBruteLoss(-3*REAGENTS_EFFECT_MULTIPLIER)
M.adjustFireLoss(-3*REAGENTS_EFFECT_MULTIPLIER)
else if(M.health > -60)
M.adjustToxLoss(1)
M.reagents.remove_reagent("sarin", 20)
@@ -574,11 +571,11 @@
holder.remove_reagent("histamine", 15)
M.AdjustLoseBreath(-1, bound_lower = 3)
if(M.oxyloss > 35)
M.adjustOxyLoss(-10*REM)
M.adjustOxyLoss(-10*REAGENTS_EFFECT_MULTIPLIER)
if(M.health < -10 && M.health > -65)
M.adjustToxLoss(-1*REM)
M.adjustBruteLoss(-1*REM)
M.adjustFireLoss(-1*REM)
M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
..()
/datum/reagent/medicine/epinephrine/overdose_process(mob/living/M, severity)
@@ -610,6 +607,12 @@
color = "#A0E85E"
metabolization_rate = 0.2
/datum/reagent/medicine/strange_reagent/on_mob_life(mob/living/M)
if(prob(10))
M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER)
M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER)
..()
/datum/reagent/medicine/strange_reagent/reaction_mob(mob/living/M, method=TOUCH, volume)
if(isanimal(M))
if(method == TOUCH)
@@ -642,22 +645,22 @@
add_logs(M, M, "revived", object="strange reagent") //Yes, the logs say you revived yourself.
..()
/datum/reagent/medicine/strange_reagent/on_mob_life(mob/living/M)
if(prob(10))
M.adjustBruteLoss(2*REM)
M.adjustToxLoss(2*REM)
..()
/datum/reagent/medicine/mannitol/on_mob_life(mob/living/M)
M.adjustBrainLoss(-3)
..()
/datum/reagent/medicine/mannitol
name = "Mannitol"
id = "mannitol"
description = "Mannitol is a sugar alcohol that can help alleviate cranial swelling."
color = "#D1D1F1"
/datum/reagent/medicine/mannitol/on_mob_life(mob/living/M)
M.adjustBrainLoss(-3)
..()
/datum/reagent/medicine/mutadone
name = "Mutadone"
id = "mutadone"
description = "Mutadone is an experimental bromide that can cure genetic abnomalities."
color = "#5096C8"
/datum/reagent/medicine/mutadone/on_mob_life(mob/living/carbon/human/M)
M.SetJitter(0)
var/needs_update = M.mutations.len > 0 || M.disabilities > 0
@@ -676,12 +679,6 @@
H.update_mutations()
..()
/datum/reagent/medicine/mutadone
name = "Mutadone"
id = "mutadone"
description = "Mutadone is an experimental bromide that can cure genetic abnomalities."
color = "#5096C8"
/datum/reagent/medicine/antihol
name = "Antihol"
id = "antihol"
@@ -701,14 +698,13 @@
id = "stimulants"
description = "Increases run speed and eliminates stuns, can heal minor damage. If overdosed it will deal toxin damage and stun."
color = "#C8A5DC"
metabolization_rate = 0.4
/datum/reagent/medicine/stimulants/on_mob_life(mob/living/M)
if(volume > 5)
M.adjustOxyLoss(-5*REM)
M.adjustToxLoss(-5*REM)
M.adjustBruteLoss(-10*REM)
M.adjustFireLoss(-10*REM)
M.adjustOxyLoss(-5*REAGENTS_EFFECT_MULTIPLIER)
M.adjustToxLoss(-5*REAGENTS_EFFECT_MULTIPLIER)
M.adjustBruteLoss(-10*REAGENTS_EFFECT_MULTIPLIER)
M.adjustFireLoss(-10*REAGENTS_EFFECT_MULTIPLIER)
M.setStaminaLoss(0)
M.SetSlowed(0)
M.AdjustDizzy(-10)
@@ -740,14 +736,14 @@
/datum/reagent/medicine/stimulative_agent/on_mob_life(mob/living/M)
M.status_flags |= GOTTAGOFAST
if(M.health < 50 && M.health > 0)
M.adjustOxyLoss(-1*REM)
M.adjustToxLoss(-1*REM)
M.adjustBruteLoss(-1*REM)
M.adjustFireLoss(-1*REM)
M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
M.AdjustParalysis(-3)
M.AdjustStunned(-3)
M.AdjustWeakened(-3)
M.adjustStaminaLoss(-5*REM)
M.adjustStaminaLoss(-5*REAGENTS_EFFECT_MULTIPLIER)
..()
/datum/reagent/medicine/stimulative_agent/on_mob_delete(mob/living/M)
@@ -756,8 +752,8 @@
/datum/reagent/medicine/stimulative_agent/overdose_process(mob/living/M, severity)
if(prob(33))
M.adjustStaminaLoss(2.5*REM)
M.adjustToxLoss(1*REM)
M.adjustStaminaLoss(2.5*REAGENTS_EFFECT_MULTIPLIER)
M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER)
M.AdjustLoseBreath(1)
/datum/reagent/medicine/insulin
@@ -771,7 +767,6 @@
M.reagents.remove_reagent("sugar", 5)
..()
/datum/reagent/medicine/simethicone
name = "Simethicone"
id = "simethicone"
@@ -843,72 +838,6 @@
M.Drowsy(20)
..()
//virus-specific symptom reagents
/datum/reagent/medicine/synaphydramine
name = "Diphen-Synaptizine"
id = "synaphydramine"
description = "Reduces drowsiness and hallucinations while also purging histamine from the body."
color = "#EC536D" // rgb: 236, 83, 109
/datum/reagent/medicine/synaphydramine/on_mob_life(mob/living/M)
M.AdjustDrowsy(-5)
if(holder.has_reagent("lsd"))
holder.remove_reagent("lsd", 5)
if(holder.has_reagent("histamine"))
holder.remove_reagent("histamine", 5)
M.AdjustHallucinate(-10)
if(prob(30))
M.adjustToxLoss(1)
..()
//////////////////////////////
// Synth-Meds //
//////////////////////////////
//Degreaser: Mild Purgative / Lube Remover
/datum/reagent/medicine/degreaser
name = "Degreaser"
id = "degreaser"
description = "An industrial degreaser which can be used to clean residual build-up from machinery and surfaces."
reagent_state = LIQUID
color = "#CC7A00"
process_flags = SYNTHETIC
/datum/reagent/medicine/degreaser/reaction_turf(turf/simulated/T, volume)
if(volume >= 1 && istype(T))
if(T.wet)
T.MakeDry(TURF_WET_LUBE)
/datum/reagent/medicine/degreaser/on_mob_life(mob/living/M)
if(prob(50)) //Same effects as coffee, to help purge ill effects like paralysis
M.AdjustParalysis(-1)
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
M.AdjustConfused(-5)
for(var/datum/reagent/R in M.reagents.reagent_list)
if(R != src)
if(R.id == "ultralube" || R.id == "lube")
//Flushes lube and ultra-lube even faster than other chems
M.reagents.remove_reagent(R.id, 5)
else
M.reagents.remove_reagent(R.id,1)
..()
//Liquid Solder: Mannitol
/datum/reagent/medicine/liquid_solder
name = "Liquid Solder"
id = "liquid_solder"
description = "A solution formulated to clean and repair damaged connections in posibrains while in use."
reagent_state = LIQUID
color = "#D7B395"
process_flags = SYNTHETIC
/datum/reagent/medicine/liquid_solder/on_mob_life(mob/living/M)
M.adjustBrainLoss(-3)
..()
/datum/reagent/medicine/syndicate_nanites //Used exclusively by Syndicate medical cyborgs
name = "Restorative Nanites"
id = "syndicate_nanites"
@@ -917,15 +846,14 @@
color = "#555555"
/datum/reagent/medicine/syndicate_nanites/on_mob_life(mob/living/M)
M.adjustBruteLoss(-5*REM) //A ton of healing - this is a 50 telecrystal investment.
M.adjustFireLoss(-5*REM)
M.adjustOxyLoss(-15*REM)
M.adjustToxLoss(-5*REM)
M.adjustBrainLoss(-15*REM)
M.adjustCloneLoss(-3*REM)
M.adjustBruteLoss(-5*REAGENTS_EFFECT_MULTIPLIER) //A ton of healing - this is a 50 telecrystal investment.
M.adjustFireLoss(-5*REAGENTS_EFFECT_MULTIPLIER)
M.adjustOxyLoss(-15*REAGENTS_EFFECT_MULTIPLIER)
M.adjustToxLoss(-5*REAGENTS_EFFECT_MULTIPLIER)
M.adjustBrainLoss(-15*REAGENTS_EFFECT_MULTIPLIER)
M.adjustCloneLoss(-3*REAGENTS_EFFECT_MULTIPLIER)
..()
/datum/reagent/medicine/omnizine_diluted
name = "Diluted Omnizine"
id = "weak_omnizine"
@@ -936,10 +864,10 @@
metabolization_rate = 0.1
/datum/reagent/medicine/omnizine_diluted/on_mob_life(mob/living/M)
M.adjustToxLoss(-0.5*REM)
M.adjustOxyLoss(-0.5*REM)
M.adjustBruteLoss(-0.5*REM)
M.adjustFireLoss(-0.5*REM)
M.adjustToxLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER)
M.adjustOxyLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER)
M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER)
M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER)
..()
/datum/reagent/medicine/omnizine_diluted/overdose_process(mob/living/M, severity)
@@ -974,4 +902,69 @@
else if(effect <= 8)
M.visible_message("<span class='warning'>[M] stumbles and staggers.</span>")
M.Dizzy(5)
M.Weaken(3)
M.Weaken(3)
//virus-specific symptom reagents
/datum/reagent/medicine/synaphydramine
name = "Diphen-Synaptizine"
id = "synaphydramine"
description = "Reduces drowsiness and hallucinations while also purging histamine from the body."
color = "#EC536D" // rgb: 236, 83, 109
/datum/reagent/medicine/synaphydramine/on_mob_life(mob/living/M)
M.AdjustDrowsy(-5)
if(holder.has_reagent("lsd"))
holder.remove_reagent("lsd", 5)
if(holder.has_reagent("histamine"))
holder.remove_reagent("histamine", 5)
M.AdjustHallucinate(-10)
if(prob(30))
M.adjustToxLoss(1)
..()
//////////////////////////////
// Synth-Meds //
//////////////////////////////
//Degreaser: Mild Purgative / Lube Remover
/datum/reagent/medicine/degreaser
name = "Degreaser"
id = "degreaser"
description = "An industrial degreaser which can be used to clean residual build-up from machinery and surfaces."
reagent_state = LIQUID
color = "#CC7A00"
process_flags = SYNTHETIC
/datum/reagent/medicine/degreaser/on_mob_life(mob/living/M)
if(prob(50)) //Same effects as coffee, to help purge ill effects like paralysis
M.AdjustParalysis(-1)
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
M.AdjustConfused(-5)
for(var/datum/reagent/R in M.reagents.reagent_list)
if(R != src)
if(R.id == "ultralube" || R.id == "lube")
//Flushes lube and ultra-lube even faster than other chems
M.reagents.remove_reagent(R.id, 5)
else
M.reagents.remove_reagent(R.id,1)
..()
/datum/reagent/medicine/degreaser/reaction_turf(turf/simulated/T, volume)
if(volume >= 1 && istype(T))
if(T.wet)
T.MakeDry(TURF_WET_LUBE)
//Liquid Solder: Mannitol
/datum/reagent/medicine/liquid_solder
name = "Liquid Solder"
id = "liquid_solder"
description = "A solution formulated to clean and repair damaged connections in posibrains while in use."
reagent_state = LIQUID
color = "#D7B395"
process_flags = SYNTHETIC
/datum/reagent/medicine/liquid_solder/on_mob_life(mob/living/M)
M.adjustBrainLoss(-3)
..()
@@ -152,7 +152,6 @@
H.vessel.add_reagent("blood", 0.8)
..()
//foam
/datum/reagent/fluorosurfactant
name = "Fluorosurfactant"
@@ -383,9 +382,6 @@
reagent_state = LIQUID
color = "#FF83A5"
/datum/reagent/love/reaction_mob(mob/living/M, method=TOUCH, volume)
to_chat(M, "<span class='notice'>You feel loved!</span>")
/datum/reagent/love/on_mob_life(mob/living/M)
if(M.a_intent == I_HARM)
M.a_intent = I_HELP
@@ -405,6 +401,9 @@
break
..()
/datum/reagent/love/reaction_mob(mob/living/M, method=TOUCH, volume)
to_chat(M, "<span class='notice'>You feel loved!</span>")
/datum/reagent/royal_bee_jelly
name = "royal bee jelly"
id = "royal_bee_jelly"
@@ -9,7 +9,7 @@
//Paradise Punch: No effect, aside from maybe messages about how tasty it is or something
/datum/reagent/paradise_punch
/datum/reagent/consumable/drink/paradise_punch
name = "Paradise Punch"
id = "paradise_punch"
description = "Tastes just how you'd think Paradise would if you could bottle it."
@@ -17,14 +17,14 @@
color = "#cc0044"
//Apple-pocalypse: Low chance to cause a goonchem vortex that pulls things within a very small radius (2 tiles?) towards the drinker
/datum/reagent/apple_pocalypse
/datum/reagent/consumable/drink/apple_pocalypse
name = "Apple-pocalypse"
id = "apple-pocalypse"
description = "If doomsday came in fruit form, it'd probably be apples."
reagent_state = LIQUID
color = "#44FF44"
/datum/reagent/apple_pocalypse/on_mob_life(mob/living/M)
/datum/reagent/consumable/drink/apple_pocalypse/on_mob_life(mob/living/M)
if(prob(1))
var/turf/simulated/T = get_turf(M)
goonchem_vortex(T, 0, 2, 1)
@@ -32,61 +32,61 @@
..()
//Berry Banned: This one is tasty and safe to drink, might have a low chance of healing a random damage type?
/datum/reagent/berry_banned
/datum/reagent/consumable/drink/berry_banned
name = "Berry Banned"
id = "berry_banned"
description = "Reason for ban: Excessive Flavor."
reagent_state = LIQUID
color = "#FF44FF"
/datum/reagent/berry_banned/on_mob_life(mob/living/M)
/datum/reagent/consumable/drink/berry_banned/on_mob_life(mob/living/M)
if(prob(10))
var/heal_type = rand(0, 5) //still prefer the string version
switch(heal_type)
if(0)
M.adjustBruteLoss(-0.5*REM)
M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER)
if(1)
M.adjustFireLoss(-0.5*REM)
M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER)
if(2)
M.adjustToxLoss(-0.5*REM)
M.adjustToxLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER)
if(3)
M.adjustOxyLoss(-0.5*REM)
M.adjustOxyLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER)
if(4)
M.adjustCloneLoss(-0.5*REM)
M.adjustCloneLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER)
if(5)
M.adjustBrainLoss(-1*REM)
M.adjustBrainLoss(-1*REAGENTS_EFFECT_MULTIPLIER)
to_chat(M, "<span class='notice'>You feel slightly rejuvinated!</span>")
..()
//Berry Banned 2: This one is tasty and toxic. Deals toxin damage and MAYBE plays the "BWOINK!" sound if it kills someone?
/datum/reagent/berry_banned2
/datum/reagent/consumable/drink/berry_banned2
name = "Berry Banned"
id = "berry_banned2"
description = "Reason for ban: Excessive Flavor."
reagent_state = LIQUID
color = "#FF44FF"
/datum/reagent/berry_banned2/on_mob_life(mob/living/M)
/datum/reagent/consumable/drink/berry_banned2/on_mob_life(mob/living/M)
if(prob(50))
M.adjustToxLoss(2*REM) //double strength of poison berry juice alone, because it's concentrated (this is equal to the damage of normal toxin, less often)
M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER) //double strength of poison berry juice alone, because it's concentrated (this is equal to the damage of normal toxin, less often)
if(prob(10))
to_chat(M, "<span class='notice'>You feel slightly rejuvinated!</span>") //meta this!
..()
/datum/reagent/berry_banned2/on_mob_death(mob/living/M)
/datum/reagent/consumable/drink/berry_banned2/on_mob_death(mob/living/M)
M << sound('sound/effects/adminhelp.ogg',0,1,0,25)
to_chat(M, "<span class='adminhelp'>PM from-<b>Administrator</b>: BWOINK!</span>")
..()
//Blackeye Brew: Chance to make the drinker say greytider-themed things like "I thought clown was valid!"
/datum/reagent/blackeye_brew
/datum/reagent/consumable/drink/blackeye_brew
name = "Blackeye Brew"
id = "blackeye_brew"
description = "Creamy, smooth flavor, just like the bald heads of the masses. Supposedly aged for 30 years."
reagent_state = LIQUID
color = "#4d2600"
/datum/reagent/blackeye_brew/on_mob_life(mob/living/M)
/datum/reagent/consumable/drink/blackeye_brew/on_mob_life(mob/living/M)
if(prob(25))
var/list/tider_talk = list("CLOWN IS VALID, RIGHT?",
"SHITMINS! SHITMINS! SHITMINS!",
@@ -102,14 +102,14 @@
..()
//Grape Granade: causes the drinker to sometimes burp, has a low chance to cause a goonchem vortex that pushes things within a very small radius (1-2 tiles) away from the drinker
/datum/reagent/grape_granade
/datum/reagent/consumable/drink/grape_granade
name = "Grape Granade"
id = "grape_granade"
description = "Exploding with grape flavor and a favorite among ERT members system-wide."
reagent_state = LIQUID
color = "#9933ff"
/datum/reagent/grape_granade/on_mob_life(mob/living/M)
/datum/reagent/consumable/drink/grape_granade/on_mob_life(mob/living/M)
if(prob(1))
var/turf/simulated/T = get_turf(M)
goonchem_vortex(T, 1, 1, 2)
@@ -120,14 +120,14 @@
..()
//Meteor Malt: Sometimes causes screen shakes for the drinker like a meteor impact, low chance to add 1-5 units of a random mineral reagent to the drinker's blood (iron, copper, silver, gold, uranium, carbon, etc)
/datum/reagent/meteor_malt
/datum/reagent/consumable/drink/meteor_malt
name = "Meteor Malt"
id = "meteor_malt"
description = "Soft drinks have been detected on collision course with your tastebuds."
reagent_state = LIQUID
color = "#cc9900"
/datum/reagent/meteor_malt/on_mob_life(mob/living/M)
/datum/reagent/consumable/drink/meteor_malt/on_mob_life(mob/living/M)
if(prob(25))
M << sound('sound/effects/meteorimpact.ogg',0,1,0,25)
shake_camera(M, 3, 1)
@@ -22,7 +22,7 @@
color = "#7A2B94"
/datum/reagent/plasma/on_mob_life(mob/living/M)
M.adjustToxLoss(1*REM)
M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER)
if(holder.has_reagent("epinephrine"))
holder.remove_reagent("epinephrine", 2)
if(iscarbon(M))
@@ -171,16 +171,16 @@
color = "#FF9999"
process_flags = ORGANIC | SYNTHETIC
/datum/reagent/phlogiston/reaction_mob(mob/living/M, method=TOUCH, volume)
M.IgniteMob()
..()
/datum/reagent/phlogiston/on_mob_life(mob/living/M)
M.adjust_fire_stacks(1)
var/burndmg = max(0.3*M.fire_stacks, 0.3)
M.adjustFireLoss(burndmg)
..()
/datum/reagent/phlogiston/reaction_mob(mob/living/M, method=TOUCH, volume)
M.IgniteMob()
..()
/datum/reagent/napalm
name = "Napalm"
id = "napalm"
@@ -54,9 +54,9 @@
/datum/reagent/slimejelly/on_mob_life(mob/living/M)
if(prob(10))
to_chat(M, "<span class='danger'>Your insides are burning!</span>")
M.adjustToxLoss(rand(20,60)*REM)
M.adjustToxLoss(rand(20,60)*REAGENTS_EFFECT_MULTIPLIER)
else if(prob(40))
M.adjustBruteLoss(-5*REM)
M.adjustBruteLoss(-5*REAGENTS_EFFECT_MULTIPLIER)
..()
/datum/reagent/slimetoxin
@@ -127,7 +127,7 @@
/datum/reagent/fluorine/on_mob_life(mob/living/M)
M.adjustFireLoss(1)
M.adjustToxLoss(1*REM)
M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER)
..()
/datum/reagent/radium
@@ -136,7 +136,6 @@
description = "Radium is an alkaline earth metal. It is extremely radioactive."
reagent_state = SOLID
color = "#C7C7C7" // rgb: 199,199,199
metabolization_rate = 0.4
penetrates_skin = 1
/datum/reagent/radium/on_mob_life(mob/living/M)
@@ -169,7 +168,7 @@
/datum/reagent/mutagen/on_mob_life(mob/living/M)
if(!M.dna)
return //No robots, AIs, aliens, Ians or other mobs should be affected by this.
M.apply_effect(2*REM, IRRADIATE, negate_armor = 1)
M.apply_effect(2*REAGENTS_EFFECT_MULTIPLIER, IRRADIATE, negate_armor = 1)
if(prob(4))
randmutb(M)
..()
@@ -283,7 +282,7 @@
color = "#003333" // rgb: 0, 51, 51
/datum/reagent/carpotoxin/on_mob_life(mob/living/M)
M.adjustToxLoss(2*REM)
M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER)
..()
/datum/reagent/staminatoxin
@@ -295,7 +294,7 @@
data = 13
/datum/reagent/staminatoxin/on_mob_life(mob/living/M)
M.adjustStaminaLoss(REM * data)
M.adjustStaminaLoss(REAGENTS_EFFECT_MULTIPLIER * data)
data = max(data - 1, 3)
..()
@@ -328,10 +327,9 @@
M.AdjustSleeping(1)
if(51 to INFINITY)
M.AdjustSleeping(1)
M.adjustToxLoss((current_cycle - 50)*REM)
M.adjustToxLoss((current_cycle - 50)*REAGENTS_EFFECT_MULTIPLIER)
..()
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/reagent/polonium
name = "Polonium"
id = "polonium"
@@ -345,7 +343,6 @@
M.apply_effect(8, IRRADIATE, negate_armor = 1)
..()
/datum/reagent/histamine
name = "Histamine"
id = "histamine"
@@ -428,7 +425,7 @@
penetrates_skin = 1
/datum/reagent/formaldehyde/on_mob_life(mob/living/M)
M.adjustToxLoss(1*REM)
M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER)
if(prob(10))
M.reagents.add_reagent("histamine",rand(5,15))
..()
@@ -511,7 +508,7 @@
penetrates_skin = 1
/datum/reagent/cyanide/on_mob_life(mob/living/M)
M.adjustToxLoss(1.5*REM)
M.adjustToxLoss(1.5*REAGENTS_EFFECT_MULTIPLIER)
if(prob(5))
M.emote("drool")
if(prob(10))
@@ -558,11 +555,6 @@
M.emote("scream")
..()
/datum/reagent/facid/on_mob_life(mob/living/M)
M.adjustToxLoss(1*REM)
M.adjustFireLoss(1)
..()
/datum/reagent/facid
name = "Fluorosulfuric Acid"
id = "facid"
@@ -571,6 +563,11 @@
color = "#4141D2"
process_flags = ORGANIC | SYNTHETIC
/datum/reagent/facid/on_mob_life(mob/living/M)
M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER)
M.adjustFireLoss(1)
..()
/datum/reagent/facid/reaction_mob(mob/living/M, method=TOUCH, volume)
if(method == TOUCH || method == INGEST)
if(ishuman(M))
@@ -627,7 +624,6 @@
description = "A highly potent cardiac poison - can kill within minutes."
reagent_state = LIQUID
color = "#7F10C0"
metabolization_rate = 0.4
/datum/reagent/initropidril/on_mob_life(mob/living/M)
if(prob(33))
@@ -907,8 +903,7 @@
M.adjustToxLoss(2)
..()
// Clear off wallrot fungi
/datum/reagent/atrazine/reaction_turf(turf/simulated/wall/W, volume)
/datum/reagent/atrazine/reaction_turf(turf/simulated/wall/W, volume) // Clear off wallrot fungi
if(istype(W) && W.rotting)
W.rotting = 0
for(var/obj/effect/overlay/O in W)
@@ -1033,6 +1028,10 @@
color = "#993333"
process_flags = ORGANIC | SYNTHETIC
/datum/reagent/ants/on_mob_life(mob/living/M)
M.adjustBruteLoss(2)
..()
/datum/reagent/ants/reaction_mob(mob/living/M, method=TOUCH, volume) //NOT THE ANTS
if(iscarbon(M))
if(method == TOUCH || method==INGEST)
@@ -1040,11 +1039,6 @@
M.emote("scream")
M.adjustBruteLoss(4)
/datum/reagent/ants/on_mob_life(mob/living/M)
M.adjustBruteLoss(2)
..()
/datum/reagent/teslium //Teslium. Causes periodic shocks, and makes shocks against the target much more effective.
name = "Teslium"
id = "teslium"