From 954e7b3c5df3412ddb84c7a42b075bd0cb1b4e09 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 10 Nov 2016 06:28:28 -0500 Subject: [PATCH] more cleanup --- code/modules/reagents/chemistry/reagents.dm | 1 - .../reagents/chemistry/reagents/alcohol.dm | 2 - .../reagents/chemistry/reagents/disease.dm | 1 - .../reagents/chemistry/reagents/drinks.dm | 2 +- .../reagents/chemistry/reagents/drugs.dm | 17 +- .../reagents/chemistry/reagents/food.dm | 37 ++- .../reagents/chemistry/reagents/medicine.dm | 291 +++++++++--------- .../reagents/chemistry/reagents/misc.dm | 7 +- .../chemistry/reagents/paradise_pop.dm | 42 +-- .../chemistry/reagents/pyrotechnic.dm | 10 +- .../reagents/chemistry/reagents/toxins.dm | 44 ++- 11 files changed, 217 insertions(+), 237 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index 1b6e2e08854..62fa9af672a 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -1,7 +1,6 @@ #define SOLID 1 #define LIQUID 2 #define GAS 3 -#define REM REAGENTS_EFFECT_MULTIPLIER /datum/reagent var/name = "Reagent" diff --git a/code/modules/reagents/chemistry/reagents/alcohol.dm b/code/modules/reagents/chemistry/reagents/alcohol.dm index 3c1b4c7384e..2fcf9aacc98 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol.dm @@ -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" diff --git a/code/modules/reagents/chemistry/reagents/disease.dm b/code/modules/reagents/chemistry/reagents/disease.dm index cfebcfd4b7c..f95b729e986 100644 --- a/code/modules/reagents/chemistry/reagents/disease.dm +++ b/code/modules/reagents/chemistry/reagents/disease.dm @@ -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) diff --git a/code/modules/reagents/chemistry/reagents/drinks.dm b/code/modules/reagents/chemistry/reagents/drinks.dm index eb1c4f5ee68..489eac3eb81 100644 --- a/code/modules/reagents/chemistry/reagents/drinks.dm +++ b/code/modules/reagents/chemistry/reagents/drinks.dm @@ -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 diff --git a/code/modules/reagents/chemistry/reagents/drugs.dm b/code/modules/reagents/chemistry/reagents/drugs.dm index 037f1ebd8ab..3719c6f49b8 100644 --- a/code/modules/reagents/chemistry/reagents/drugs.dm +++ b/code/modules/reagents/chemistry/reagents/drugs.dm @@ -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) \ No newline at end of file + M.adjustFireLoss(rand(1,5)*REAGENTS_EFFECT_MULTIPLIER) + M.adjustBruteLoss(rand(1,5)*REAGENTS_EFFECT_MULTIPLIER) \ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/food.dm b/code/modules/reagents/chemistry/reagents/food.dm index f502f697505..e2aef002060 100644 --- a/code/modules/reagents/chemistry/reagents/food.dm +++ b/code/modules/reagents/chemistry/reagents/food.dm @@ -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("[M] [pick("dry heaves!","coughs!","splutters!")]") + ..() + /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("[M] [pick("dry heaves!","coughs!","splutters!")]") - ..() - /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, "That tasted amazing!") - /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, "That tasted amazing!") + /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, "[spooky_eat]") - /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, "[spooky_message]") ..() +/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, "[spooky_eat]") + /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) diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm index 2f4df5ee4aa..f0f11c796fc 100644 --- a/code/modules/reagents/chemistry/reagents/medicine.dm +++ b/code/modules/reagents/chemistry/reagents/medicine.dm @@ -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, "You feel sick...") ..() -/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, "You feel gross!") ..() -/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("[M] stumbles and staggers.") M.Dizzy(5) - M.Weaken(3) \ No newline at end of file + 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) + ..() \ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/misc.dm b/code/modules/reagents/chemistry/reagents/misc.dm index aa8e7b93f6d..bb386d0215c 100644 --- a/code/modules/reagents/chemistry/reagents/misc.dm +++ b/code/modules/reagents/chemistry/reagents/misc.dm @@ -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, "You feel loved!") - /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, "You feel loved!") + /datum/reagent/royal_bee_jelly name = "royal bee jelly" id = "royal_bee_jelly" diff --git a/code/modules/reagents/chemistry/reagents/paradise_pop.dm b/code/modules/reagents/chemistry/reagents/paradise_pop.dm index 7a7085a5e5f..17fdc2cb444 100644 --- a/code/modules/reagents/chemistry/reagents/paradise_pop.dm +++ b/code/modules/reagents/chemistry/reagents/paradise_pop.dm @@ -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, "You feel slightly rejuvinated!") ..() //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, "You feel slightly rejuvinated!") //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, "PM from-Administrator: BWOINK!") ..() //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) diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic.dm index ef376910699..a92982a8aaf 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic.dm @@ -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" diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm index 5870e4fad00..272d5df3130 100644 --- a/code/modules/reagents/chemistry/reagents/toxins.dm +++ b/code/modules/reagents/chemistry/reagents/toxins.dm @@ -54,9 +54,9 @@ /datum/reagent/slimejelly/on_mob_life(mob/living/M) if(prob(10)) to_chat(M, "Your insides are burning!") - 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"