diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm
index aa9c969d34f..538e98cb003 100644
--- a/code/game/objects/effects/spawners/lootdrop.dm
+++ b/code/game/objects/effects/spawners/lootdrop.dm
@@ -116,8 +116,5 @@
/obj/item/weapon/wirecutters = 1,
/obj/item/weapon/wrench = 4,
/obj/item/weapon/relic = 3,
- /obj/item/weapon/reagent_containers/food/drinks/muriatic_acid = 3,
- /obj/item/weapon/reagent_containers/food/drinks/caustic_soda = 3,
- /obj/item/weapon/reagent_containers/food/drinks/hydrogen_chloride = 3,
"" = 11
)
diff --git a/code/modules/food&drinks/recipes/tablecraft/recipes_pastry.dm b/code/modules/food&drinks/recipes/tablecraft/recipes_pastry.dm
index c0a50e49ad2..4dd16325583 100644
--- a/code/modules/food&drinks/recipes/tablecraft/recipes_pastry.dm
+++ b/code/modules/food&drinks/recipes/tablecraft/recipes_pastry.dm
@@ -6,7 +6,7 @@
/datum/table_recipe/chaosdonut
name = "Chaos donut"
reqs = list(
- /datum/reagent/cryostylane = 5,
+ /datum/reagent/goonchem/cryostylane = 5,
/datum/reagent/consumable/capsaicin = 5,
/obj/item/weapon/reagent_containers/food/snacks/pastrybase = 1
)
diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm
index 77e26b97cf5..0bfa44cc9ea 100644
--- a/code/modules/hydroponics/grown.dm
+++ b/code/modules/hydroponics/grown.dm
@@ -148,7 +148,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/add_juice()
if(..())
reagents.add_reagent("nutriment", 1 + round((potency / 20), 1))
- reagents.add_reagent("hotline", 3 + round((potency / 10), 1))
+ reagents.add_reagent("salglu_solution", 1 + round((potency / 20), 1))
bitesize = 1 + round(reagents.total_volume / 3, 1)
/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/lily
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 28870b142f0..0f36d61af57 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -295,7 +295,9 @@
death()
silent = 0
return 1
-
+ //UNCONSCIOUS. NO-ONE IS HOME
+ if( (getOxyLoss() > 50) || (config.health_threshold_crit >= health) )
+ Paralyse(3)
if(hallucination)
spawn handle_hallucinations()
@@ -307,7 +309,6 @@
else
for(var/atom/a in hallucinations)
qdel(a)
-
if(paralysis)
AdjustParalysis(-1)
stat = UNCONSCIOUS
@@ -482,90 +483,4 @@
adjustBrainLoss(10)
return
-/mob/living/carbon/human/handle_crit()
- if(!is_incrit(src))
- return
- else
- var/paralyse_amount = 1
- var/losebreath_amount = 1
- var/cardiac_arrest_chance = 0
- var/brain_damage_from_crit = 5
- switch(health)
- if(config.health_threshold_crit to -9)
- paralyse_amount = 1
- losebreath_amount = 1
- cardiac_arrest_chance = 0
- brain_damage_from_crit = 1
- if(-20 to -10)
- paralyse_amount = 1
- losebreath_amount = 2
- cardiac_arrest_chance = 0
- brain_damage_from_crit = 5
- if(-30 to -20)
- paralyse_amount = 1
- losebreath_amount = 5
- cardiac_arrest_chance = 1
- brain_damage_from_crit = 5
- if(-40 to -30)
- paralyse_amount = 2
- losebreath_amount = 8
- cardiac_arrest_chance = 2
- brain_damage_from_crit = 5
- if(-50 to -40)
- paralyse_amount = 2
- losebreath_amount = 8
- cardiac_arrest_chance = 3
- brain_damage_from_crit = 8
- if(-60 to -50)
- paralyse_amount = 2
- losebreath_amount = 8
- cardiac_arrest_chance = 4
- brain_damage_from_crit = 8
- if(-70 to -60)
- paralyse_amount = 3
- losebreath_amount = 8
- cardiac_arrest_chance = 5
- brain_damage_from_crit = 8
- if(-80 to -70)
- paralyse_amount = 3
- losebreath_amount = 8
- cardiac_arrest_chance = 6
- brain_damage_from_crit = 8
- if(-90 to -80)
- paralyse_amount = 3
- losebreath_amount = 8
- cardiac_arrest_chance = 7
- brain_damage_from_crit = 10
- if(-95 to -90)
- paralyse_amount = 4
- losebreath_amount = 8
- cardiac_arrest_chance = 8
- brain_damage_from_crit = 10
- if(-INFINITY to -95)
- paralyse_amount = 4
- losebreath_amount = 8
- cardiac_arrest_chance = 9
- brain_damage_from_crit = 10
- var/picked_effect = rand(1,4)
- switch(picked_effect)
- if(1)
- Paralyse(paralyse_amount)
- if(2)
- if(!reagents.has_reagent("epinephrine"))
- losebreath += losebreath_amount
- if(3)
- if(prob(cardiac_arrest_chance))
- if(!heart_attack)
- heart_attack = 1
- else
- if(!reagents.has_reagent("epinephrine"))
- losebreath += losebreath_amount
- if(4)
- Paralyse(paralyse_amount)
- adjustBrainLoss(brain_damage_from_crit)
- stuttering += 5
- if(!reagents.has_reagent("epinephrine"))
- adjustOxyLoss(1)
- return
-
#undef HUMAN_MAX_OXYLOSS
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 28a4bd30768..124d77b23db 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1007,7 +1007,8 @@
var/datum/gas_mixture/environment = H.loc.return_air()
var/datum/gas_mixture/breath
-
+ if(H.health <= config.health_threshold_crit)
+ H.losebreath++
if(H.losebreath>0) //Suffocating so do not take a breath
H.losebreath--
if (prob(10)) //Gasp per 10 ticks? Sounds about right.
diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm
index f54a6004086..d683811948d 100644
--- a/code/modules/mob/living/carbon/life.dm
+++ b/code/modules/mob/living/carbon/life.dm
@@ -39,9 +39,6 @@
//Heart Attacks, etc.
handle_heart()
- //Critical condition handling
- handle_crit()
-
. = 1
//Handle temperature/pressure differences between body and environment
@@ -316,9 +313,6 @@
/mob/living/carbon/proc/handle_heart()
return
-/mob/living/carbon/proc/handle_crit()
- return
-
/mob/living/carbon/proc/handle_random_events()
return
@@ -631,4 +625,4 @@
else
healths.icon_state = "health6"
else
- healths.icon_state = "health7"
+ healths.icon_state = "health7"
diff --git a/code/modules/reagents/Chemistry-Goon-420BlazeIt.dm b/code/modules/reagents/Chemistry-Goon-420BlazeIt.dm
index 320625f8b3f..aea166a66c0 100644
--- a/code/modules/reagents/Chemistry-Goon-420BlazeIt.dm
+++ b/code/modules/reagents/Chemistry-Goon-420BlazeIt.dm
@@ -4,16 +4,16 @@
#define REM REAGENTS_EFFECT_MULTIPLIER
-datum/reagent/nicotine
+datum/reagent/goonchem/nicotine
name = "Nicotine"
id = "nicotine"
- description = "Stun reduction per cycle, slight stamina regeneration buff. Overdoses become rapidly deadly."
+ description = "Slightly reduces stun times. If overdosed it will deal toxin and oxygen damage."
reagent_state = LIQUID
color = "#60A584" // rgb: 96, 165, 132
overdose_threshold = 35
addiction_threshold = 30
-datum/reagent/nicotine/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/nicotine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
var/smoke_message = pick("You can just feel your lungs dying!", "You feel relaxed.", "You feel calmed.", "You feel the lung cancer forming.", "You feel the money you wasted.", "You feel like a space cowboy.", "You feel rugged.")
if(prob(5))
@@ -23,7 +23,7 @@ datum/reagent/nicotine/on_mob_life(var/mob/living/M as mob)
..()
return
-datum/reagent/nicotine/overdose_process(var/mob/living/M as mob)
+datum/reagent/goonchem/nicotine/overdose_process(var/mob/living/M as mob)
if(prob(20))
M << "You feel like you smoked too much."
M.adjustToxLoss(1*REM)
@@ -31,16 +31,16 @@ datum/reagent/nicotine/overdose_process(var/mob/living/M as mob)
..()
return
-datum/reagent/crank
+datum/reagent/goonchem/crank
name = "Crank"
id = "crank"
- description = "2x stun reduction per cycle. Warms you up, makes you jittery as hell."
+ description = "Reduces stun times by about 200%. If overdosed or addicted it will deal significant Toxin, Brute and Brain damage."
reagent_state = LIQUID
color = "#60A584" // rgb: 96, 165, 132
overdose_threshold = 20
addiction_threshold = 10
-datum/reagent/crank/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/crank/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
var/high_message = pick("You feel jittery.", "You feel like you gotta go fast.", "You feel like you need to step it up.")
if(prob(5))
@@ -50,26 +50,26 @@ datum/reagent/crank/on_mob_life(var/mob/living/M as mob)
M.AdjustWeakened(-2)
..()
return
-datum/reagent/crank/overdose_process(var/mob/living/M as mob)
+datum/reagent/goonchem/crank/overdose_process(var/mob/living/M as mob)
M.adjustBrainLoss(rand(1,10)*REM)
M.adjustToxLoss(rand(1,10)*REM)
M.adjustBruteLoss(rand(1,10)*REM)
..()
return
-datum/reagent/crank/addiction_act_stage1(var/mob/living/M as mob)
+datum/reagent/goonchem/crank/addiction_act_stage1(var/mob/living/M as mob)
M.adjustBrainLoss(rand(1,10)*REM)
..()
return
-datum/reagent/crank/addiction_act_stage2(var/mob/living/M as mob)
+datum/reagent/goonchem/crank/addiction_act_stage2(var/mob/living/M as mob)
M.adjustToxLoss(rand(1,10)*REM)
..()
return
-datum/reagent/crank/addiction_act_stage3(var/mob/living/M as mob)
+datum/reagent/goonchem/crank/addiction_act_stage3(var/mob/living/M as mob)
M.adjustBruteLoss(rand(1,10)*REM)
..()
return
-datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
+datum/reagent/goonchem/crank/addiction_act_stage4(var/mob/living/M as mob)
M.adjustBrainLoss(rand(1,10)*REM)
M.adjustToxLoss(rand(1,10)*REM)
M.adjustBruteLoss(rand(1,10)*REM)
@@ -84,17 +84,17 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
mix_message = "The mixture violently reacts, leaving behind a few crystalline shards."
required_temp = 390
-/datum/reagent/krokodil
+/datum/reagent/goonchem/krokodil
name = "Krokodil"
id = "krokodil"
- description = "Cools and calms you down, occasional BRAIN and TOX damage."
+ description = "Cools and calms you down. If overdosed it will deal significant Brain and Toxin damage. If addicted it will begin to deal fatal amounts of Brute damage as the subject's skin falls off."
reagent_state = LIQUID
color = "#60A584" // rgb: 96, 165, 132
overdose_threshold = 20
addiction_threshold = 15
-/datum/reagent/krokodil/on_mob_life(var/mob/living/M as mob)
+/datum/reagent/goonchem/krokodil/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
var/high_message = pick("You feel calm.", "You feel collected.", "You feel like you need to relax.")
if(prob(5))
@@ -102,7 +102,7 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
..()
return
-/datum/reagent/krokodil/overdose_process(var/mob/living/M as mob)
+/datum/reagent/goonchem/krokodil/overdose_process(var/mob/living/M as mob)
if(prob(10))
M.adjustBrainLoss(rand(1,5)*REM)
M.adjustToxLoss(rand(1,5)*REM)
@@ -110,23 +110,23 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
return
-/datum/reagent/krokodil/addiction_act_stage1(var/mob/living/M as mob)
+/datum/reagent/goonchem/krokodil/addiction_act_stage1(var/mob/living/M as mob)
M.adjustBrainLoss(rand(1,5)*REM)
M.adjustToxLoss(rand(1,5)*REM)
..()
return
-/datum/reagent/krokodil/addiction_act_stage2(var/mob/living/M as mob)
+/datum/reagent/goonchem/krokodil/addiction_act_stage2(var/mob/living/M as mob)
if(prob(25))
M << "Your skin feels loose..."
..()
return
-/datum/reagent/krokodil/addiction_act_stage3(var/mob/living/M as mob)
+/datum/reagent/goonchem/krokodil/addiction_act_stage3(var/mob/living/M as mob)
if(prob(25))
M << "Your skin starts to peel away..."
M.adjustBruteLoss(3*REM)
..()
return
-/datum/reagent/krokodil/addiction_act_stage4(var/mob/living/carbon/human/M as mob)
+/datum/reagent/goonchem/krokodil/addiction_act_stage4(var/mob/living/carbon/human/M as mob)
M << "Your skin sloughs off!"
M.adjustBruteLoss(rand(50,80)*REM)
..()
@@ -141,17 +141,17 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
mix_message = "The mixture dries into a pale blue powder."
required_temp = 380
-/datum/reagent/methamphetamine
+/datum/reagent/goonchem/methamphetamine
name = "Methamphetamine"
id = "methamphetamine"
- description = "3x stun reduction per cycle, significant stamina regeneration buff, makes you really jittery, dramatically increases movement speed."
+ description = "Reduces stun times by about 300%, speeds the user up, and allows the user to quickly recover stamina while dealing a small amount of Brain damage. If overdosed the subject will move randomly, laugh randomly, drop items and suffer from Toxin and Brain damage. If addicted the subject will constantly jitter and drool, before becoming dizzy and losing motor control and eventually suffer heavy toxin damage."
reagent_state = LIQUID
color = "#60A584" // rgb: 96, 165, 132
overdose_threshold = 20
addiction_threshold = 10
metabolization_rate = 0.6
-/datum/reagent/methamphetamine/on_mob_life(var/mob/living/M as mob)
+/datum/reagent/goonchem/methamphetamine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
var/high_message = pick("You feel hyper.", "You feel like you need to go faster.", "You feel like you can run the world.")
if(prob(5))
@@ -168,7 +168,7 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
..()
return
-/datum/reagent/methamphetamine/overdose_process(var/mob/living/M as mob)
+/datum/reagent/goonchem/methamphetamine/overdose_process(var/mob/living/M as mob)
if(M.canmove && !istype(M.loc, /turf/space))
for(var/i = 0, i < 4, i++)
step(M, pick(cardinal))
@@ -185,20 +185,20 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
M.adjustBrainLoss(pick(0.5, 0.6, 0.7, 0.8, 0.9, 1))
return
-/datum/reagent/methamphetamine/addiction_act_stage1(var/mob/living/M as mob)
+/datum/reagent/goonchem/methamphetamine/addiction_act_stage1(var/mob/living/M as mob)
M.Jitter(5)
if(prob(20))
M.emote(pick("twitch","drool","moan"))
..()
return
-/datum/reagent/methamphetamine/addiction_act_stage2(var/mob/living/M as mob)
+/datum/reagent/goonchem/methamphetamine/addiction_act_stage2(var/mob/living/M as mob)
M.Jitter(10)
M.Dizzy(10)
if(prob(30))
M.emote(pick("twitch","drool","moan"))
..()
return
-/datum/reagent/methamphetamine/addiction_act_stage3(var/mob/living/M as mob)
+/datum/reagent/goonchem/methamphetamine/addiction_act_stage3(var/mob/living/M as mob)
if(M.canmove && !istype(M.loc, /turf/space))
for(var/i = 0, i < 4, i++)
step(M, pick(cardinal))
@@ -208,7 +208,7 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
M.emote(pick("twitch","drool","moan"))
..()
return
-/datum/reagent/methamphetamine/addiction_act_stage4(var/mob/living/carbon/human/M as mob)
+/datum/reagent/goonchem/methamphetamine/addiction_act_stage4(var/mob/living/carbon/human/M as mob)
if(M.canmove && !istype(M.loc, /turf/space))
for(var/i = 0, i < 8, i++)
step(M, pick(cardinal))
@@ -228,59 +228,6 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
result_amount = 4
required_temp = 374
-/datum/chemical_reaction/methamphetamine_two
- name = "methamphetamine_two"
- id = "methamphetamine_two"
- result = "methamphetamine"
- required_reagents = list("muriatic_acid" = 1, "caustic_soda" = 1, "hydrogen_chloride" = 1)
- result_amount = 3
- required_temp = 374
-
-/datum/reagent/muriatic_acid
- name = "Muriatic Acid"
- id = "muriatic_acid"
- description = "A chemical compound."
- reagent_state = LIQUID
- color = "#60A584" // rgb: 96, 165, 132
-
-/datum/reagent/caustic_soda
- name = "Caustic Soda"
- id = "caustic_soda"
- description = "A chemical compound."
- reagent_state = LIQUID
- color = "#60A584" // rgb: 96, 165, 132
-
-/datum/reagent/hydrogen_chloride
- name = "Hydrogen Chloride"
- id = "hydrogen_chloride"
- description = "A chemical compound."
- reagent_state = LIQUID
- color = "#60A584" // rgb: 96, 165, 132
-
-/datum/chemical_reaction/muriatic_acid
- name = "muriatic_acid"
- id = "muriatic_acid"
- result = "muriatic_acid"
- required_reagents = list("mutadone" = 1, "sacid" = 1)
- result_amount = 2
- required_temp = 500
-
-/datum/chemical_reaction/caustic_soda
- name = "caustic_soda"
- id = "caustic_soda"
- result = "caustic_soda"
- required_reagents = list("sacid" = 1, "cola" = 1)
- result_amount = 2
- required_temp = 500
-
-/datum/chemical_reaction/hydrogen_chloride
- name = "hydrogen_chloride"
- id = "hydrogen_chloride"
- result = "hydrogen_chloride"
- required_reagents = list("hydrogen" = 1, "chlorine" = 1)
- result_amount = 2
- required_temp = 500
-
/datum/chemical_reaction/saltpetre
name = "saltpetre"
id = "saltpetre"
@@ -288,14 +235,14 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
required_reagents = list("potassium" = 1, "nitrogen" = 1, "oxygen" = 3)
result_amount = 3
-/datum/reagent/saltpetre
+/datum/reagent/goonchem/saltpetre
name = "Saltpetre"
id = "saltpetre"
description = "Volatile."
reagent_state = LIQUID
color = "#60A584" // rgb: 96, 165, 132
-/datum/reagent/bath_salts
+/datum/reagent/goonchem/bath_salts
name = "Bath Salts"
id = "bath_salts"
description = "Makes you nearly impervious to stuns and grants a stamina regeneration buff, but you will be a nearly uncontrollable tramp-bearded raving lunatic."
@@ -305,7 +252,7 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
addiction_threshold = 10
-/datum/reagent/bath_salts/on_mob_life(var/mob/living/M as mob)
+/datum/reagent/goonchem/bath_salts/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
var/high_message = pick("You feel amped up.", "You feel ready.", "You feel like you can push it to the limit.")
if(prob(5))
@@ -331,7 +278,7 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
result_amount = 7
required_temp = 374
-/datum/reagent/bath_salts/overdose_process(var/mob/living/M as mob)
+/datum/reagent/goonchem/bath_salts/overdose_process(var/mob/living/M as mob)
M.hallucination += 10
if(M.canmove && !istype(M.loc, /turf/space))
for(var/i = 0, i < 8, i++)
@@ -345,7 +292,7 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
..()
return
-/datum/reagent/bath_salts/addiction_act_stage1(var/mob/living/M as mob)
+/datum/reagent/goonchem/bath_salts/addiction_act_stage1(var/mob/living/M as mob)
M.hallucination += 10
if(M.canmove && !istype(M.loc, /turf/space))
for(var/i = 0, i < 8, i++)
@@ -356,7 +303,7 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
M.emote(pick("twitch","drool","moan"))
..()
return
-/datum/reagent/bath_salts/addiction_act_stage2(var/mob/living/M as mob)
+/datum/reagent/goonchem/bath_salts/addiction_act_stage2(var/mob/living/M as mob)
M.hallucination += 20
if(M.canmove && !istype(M.loc, /turf/space))
for(var/i = 0, i < 8, i++)
@@ -368,7 +315,7 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
M.emote(pick("twitch","drool","moan"))
..()
return
-/datum/reagent/bath_salts/addiction_act_stage3(var/mob/living/M as mob)
+/datum/reagent/goonchem/bath_salts/addiction_act_stage3(var/mob/living/M as mob)
M.hallucination += 30
if(M.canmove && !istype(M.loc, /turf/space))
for(var/i = 0, i < 12, i++)
@@ -380,7 +327,7 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
M.emote(pick("twitch","drool","moan"))
..()
return
-/datum/reagent/bath_salts/addiction_act_stage4(var/mob/living/carbon/human/M as mob)
+/datum/reagent/goonchem/bath_salts/addiction_act_stage4(var/mob/living/carbon/human/M as mob)
M.hallucination += 40
if(M.canmove && !istype(M.loc, /turf/space))
for(var/i = 0, i < 16, i++)
@@ -401,14 +348,14 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
required_reagents = list("epinephrine" = 1, "atropine" = 1, "morphine" = 1)
result_amount = 3
-/datum/reagent/aranesp
+/datum/reagent/goonchem/aranesp
name = "Aranesp"
id = "aranesp"
- description = "Volatile."
+ description = "Amps you up and gets you going, fixes all stamina damage you might have but can cause toxin and oxygen damage.."
reagent_state = LIQUID
color = "#60A584" // rgb: 96, 165, 132
-/datum/reagent/aranesp/on_mob_life(var/mob/living/M as mob)
+/datum/reagent/goonchem/aranesp/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
var/high_message = pick("You feel amped up.", "You feel ready.", "You feel like you can push it to the limit.")
if(prob(5))
@@ -420,87 +367,3 @@ datum/reagent/crank/addiction_act_stage4(var/mob/living/M as mob)
M.adjustOxyLoss(20)
..()
return
-
-/obj/item/weapon/reagent_containers/food/drinks/muriatic_acid
- name = "jug of muriatic acid"
- desc = "We needed those cooks."
- icon_state = "chem_jug"
- item_state = "carton"
- list_reagents = list("muriatic_acid" = 50)
-
-/obj/item/weapon/reagent_containers/food/drinks/caustic_soda
- name = "jug of caustic soda"
- desc = "We needed those cooks."
- icon_state = "chem_jug"
- item_state = "carton"
- list_reagents = list("caustic_soda" = 50)
-
-/obj/item/weapon/reagent_containers/food/drinks/hydrogen_chloride
- name = "jug of hydrogen chloride"
- desc = "We needed those cooks."
- icon_state = "chem_jug"
- item_state = "carton"
- list_reagents = list("hydrogen_chloride" = 50)
-
-datum/reagent/hotline
- name = "Hotline"
- id = "hotline"
- description = "It isn't just wrong. It's dead wrong."
- reagent_state = LIQUID
- color = "#60A584" // rgb: 96, 165, 132
- overdose_threshold = 15
- addiction_threshold = 10
-
-datum/reagent/hotline/on_mob_life(var/mob/living/M as mob)
- if(!M) M = holder.my_atom
- var/high_message = pick("You feel alert.", "You feel like you can see everything more clearly.", "You feel like you need to relax and examine your surroundings.")
- if(prob(5))
- M << "[high_message]"
- M.druggy = max(M.druggy, 15)
- M.hallucination += 10
- M.adjustBrainLoss(0.2)
- M.adjustBruteLoss(-0.2)
- M.adjustFireLoss(-0.2)
- M.status_flags |= GOTTAGOFAST
- M.adjustStaminaLoss(-3)
- ..()
- return
-datum/reagent/hotline/overdose_process(var/mob/living/M as mob)
- M.adjustBrainLoss(rand(1,20)*REM)
- M.adjustToxLoss(rand(1,20)*REM)
- M.adjustBruteLoss(rand(1,20)*REM)
- M.druggy = max(M.druggy, 30)
- M.hallucination += 30
- if(prob(5))
- M << pick("Your head feels like it's ripping apart!","You wonder why the fuck did you decide to take [src.name].","It hurts so bad!","Please, end it now!","Dear [ticker.Bible_deity_name] please no it hurts!")
- ..()
- return
-
-datum/reagent/hotline/addiction_act_stage1(var/mob/living/M as mob)
- M.adjustBrainLoss(rand(1,10))
- M.hallucination += 30
- M.druggy = max(M.druggy, 30)
- ..()
- return
-datum/reagent/hotline/addiction_act_stage2(var/mob/living/M as mob)
- M.adjustBrainLoss(rand(1,20))
- M.hallucination += 30
- M.druggy = max(M.druggy, 30)
- ..()
- return
-datum/reagent/hotline/addiction_act_stage3(var/mob/living/M as mob)
- M.adjustBrainLoss(rand(1,30))
- M.hallucination += 30
- M.druggy = max(M.druggy, 30)
- ..()
- return
-datum/reagent/hotline/addiction_act_stage4(var/mob/living/M as mob)
- M.adjustBrainLoss(rand(1,30))
- M.hallucination += 30
- M.druggy = max(M.druggy, 30)
- var/mob/living/carbon/human/H = M
- if(prob(1) && !H.heart_attack)
- H.visible_message("[H] clutches at their chest! It looks like they're having a heart attack!")
- H.heart_attack = 1 // don't do drugs kids
- ..()
- return
diff --git a/code/modules/reagents/Chemistry-Goon-Medicine.dm b/code/modules/reagents/Chemistry-Goon-Medicine.dm
index 0deb593d462..8bb186814e2 100644
--- a/code/modules/reagents/Chemistry-Goon-Medicine.dm
+++ b/code/modules/reagents/Chemistry-Goon-Medicine.dm
@@ -4,15 +4,15 @@
#define REM REAGENTS_EFFECT_MULTIPLIER
-datum/reagent/silver_sulfadiazine
+datum/reagent/goonchem/silver_sulfadiazine
name = "Silver Sulfadiazine"
id = "silver_sulfadiazine"
- description = "100% chance per cycle of healing 2 points of BURN damage."
+ description = "On touch, quickly heals burn damage. Basic anti-burn healing drug. On ingestion, deals minor toxin damage."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
metabolization_rate = 2
-datum/reagent/silver_sulfadiazine/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume, var/show_message = 1)
+datum/reagent/goonchem/silver_sulfadiazine/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume, var/show_message = 1)
if(method == TOUCH)
M.adjustFireLoss(-volume)
if(show_message)
@@ -25,21 +25,21 @@ datum/reagent/silver_sulfadiazine/reaction_mob(var/mob/living/M as mob, var/meth
..()
return
-datum/reagent/silver_sulfadiazine/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/silver_sulfadiazine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustFireLoss(-2*REM)
..()
return
-datum/reagent/styptic_powder
+datum/reagent/goonchem/styptic_powder
name = "Styptic Powder"
id = "styptic_powder"
- description = "100% chance per cycle of healing 2 points of BRUTE damage."
+ description = "On touch, quickly heals brute damage. Basic anti-brute healing drug. On ingestion, deals minor toxin damage."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
metabolization_rate = 2
-datum/reagent/styptic_powder/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume, var/show_message = 1)
+datum/reagent/goonchem/styptic_powder/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume, var/show_message = 1)
if(method == TOUCH)
M.adjustBruteLoss(-volume)
if(show_message)
@@ -52,21 +52,21 @@ datum/reagent/styptic_powder/reaction_mob(var/mob/living/M as mob, var/method=TO
..()
return
-datum/reagent/styptic_powder/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/styptic_powder/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(prob(55))
M.adjustBruteLoss(-8*REM)
..()
return
-datum/reagent/salglu_solution
+datum/reagent/goonchem/salglu_solution
name = "Saline-Glucose Solution"
id = "salglu_solution"
- description = "33% chance per cycle of healing 1 point each of BRUTE and BURN damage."
+ description = "Has a 33% chance per metabolism cycle to heal brute and burn damage."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/salglu_solution/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/salglu_solution/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(prob(33))
M.adjustBruteLoss(-1*REM)
@@ -74,14 +74,14 @@ datum/reagent/salglu_solution/on_mob_life(var/mob/living/M as mob)
..()
return
-datum/reagent/synthflesh
+datum/reagent/goonchem/synthflesh
name = "Synthflesh"
id = "synthflesh"
- description = "100% chance per cycle of healing 1 point each of BRUTE and BURN damage."
+ description = "Has a 100% chance of instantly healing brute and burn damage. One unit of the chemical will heal one point of damage. Touch application only."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/synthflesh/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume,var/show_message = 1)
+datum/reagent/goonchem/synthflesh/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume,var/show_message = 1)
if(!M) M = holder.my_atom
if(method == TOUCH)
M.adjustBruteLoss(-1.5*volume)
@@ -91,17 +91,17 @@ datum/reagent/synthflesh/reaction_mob(var/mob/living/M, var/method=TOUCH, var/vo
..()
return
-datum/reagent/charcoal
+datum/reagent/goonchem/charcoal
name = "Charcoal"
id = "charcoal"
- description = "Heals 3 TOX damage per cycle and purges other chemicals slowly."
+ description = "Heals toxin damage, and will also slowly remove any other chemicals."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/charcoal/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/charcoal/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss(-3*REM)
- for(var/datum/reagent/R in M.reagents.reagent_list)
+ for(var/datum/reagent/goonchem/R in M.reagents.reagent_list)
if(R != src)
M.reagents.remove_reagent(R.id,1)
..()
@@ -145,16 +145,16 @@ datum/reagent/charcoal/on_mob_life(var/mob/living/M as mob)
result_amount = 4
mix_message = "The solution yields an astringent powder."
-datum/reagent/omnizine
+datum/reagent/goonchem/omnizine
name = "Omnizine"
id = "omnizine"
- description = "Heals one each of OXY, TOX, BRUTE and BURN per cycle."
+ description = "Heals 1 of each damage type a cycle. If overdosed it will deal significant amounts of each damage type."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
metabolization_rate = 0.2
overdose_threshold = 30
-datum/reagent/omnizine/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/omnizine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss(-1*REM)
M.adjustOxyLoss(-1*REM)
@@ -163,7 +163,7 @@ datum/reagent/omnizine/on_mob_life(var/mob/living/M as mob)
..()
return
-datum/reagent/omnizine/overdose_process(var/mob/living/M as mob)
+datum/reagent/goonchem/omnizine/overdose_process(var/mob/living/M as mob)
M.adjustToxLoss(3*REM)
M.adjustOxyLoss(3*REM)
M.adjustBruteLoss(3*REM)
@@ -171,16 +171,16 @@ datum/reagent/omnizine/overdose_process(var/mob/living/M as mob)
..()
return
-datum/reagent/calomel
+datum/reagent/goonchem/calomel
name = "Calomel"
id = "calomel"
- description = "Increases all depletion rates by 5. +5 TOX damage while health > 20."
+ description = "Quickly purges the body of all chemicals. If your health is above 20, toxin damage is dealt. When you hit 20 health or lower, the damage will cease."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/calomel/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/calomel/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- for(var/datum/reagent/R in M.reagents.reagent_list)
+ for(var/datum/reagent/goonchem/R in M.reagents.reagent_list)
if(R != src)
M.reagents.remove_reagent(R.id,5)
if(M.health > 20)
@@ -196,14 +196,14 @@ datum/reagent/calomel/on_mob_life(var/mob/living/M as mob)
result_amount = 2
required_temp = 374
-datum/reagent/potass_iodide
+datum/reagent/goonchem/potass_iodide
name = "Potassium Iodide"
id = "potass_iodide"
- description = "80% chance of removing 1 RAD. Radiation is cumulative and causes tox+burn."
+ description = "Reduces low radiation damage very effectively."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/potass_iodide/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/potass_iodide/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(M.radiation > 0)
if(prob(80))
@@ -220,14 +220,14 @@ datum/reagent/potass_iodide/on_mob_life(var/mob/living/M as mob)
required_reagents = list("potassium" = 1, "iodine" = 1)
result_amount = 2
-datum/reagent/pen_acid
+datum/reagent/goonchem/pen_acid
name = "Pentetic Acid"
id = "pen_acid"
- description = "Reduces 7 RAD, heals 4 TOX damage, increases all depletion rates by 4. 33% chance of taking 1 unit brute damage"
+ description = "Reduces massive amounts of radiation and toxin damage while purging other chemicals from the body. Has a chance of dealing brute damage."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/pen_acid/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/pen_acid/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(M.radiation > 0)
M.radiation -= 7
@@ -236,7 +236,7 @@ datum/reagent/pen_acid/on_mob_life(var/mob/living/M as mob)
M.adjustBruteLoss(1*REM)
if(M.radiation < 0)
M.radiation = 0
- for(var/datum/reagent/R in M.reagents.reagent_list)
+ for(var/datum/reagent/goonchem/R in M.reagents.reagent_list)
if(R != src)
M.reagents.remove_reagent(R.id,4)
..()
@@ -249,15 +249,15 @@ datum/reagent/pen_acid/on_mob_life(var/mob/living/M as mob)
required_reagents = list("fuel" = 1, "chlorine" = 1, "ammonia" = 1, "formaldehyde" = 1, "sodium" = 1, "cyanide" = 1)
result_amount = 6
-datum/reagent/sal_acid
+datum/reagent/goonchem/sal_acid
name = "Salicyclic Acid"
id = "sal_acid"
- description = "If BRUTE damage is under 50, 50% chance to heal one unit."
+ description = "If you have less than 50 brute damage, there is a 50% chance to heal one unit. If overdosed it will have a 50% chance to deal 2 brute damage if the patient has less than 50 brute damage already."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
overdose_threshold = 25
-datum/reagent/sal_acid/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/sal_acid/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(M.getBruteLoss() < 50)
if(prob(50))
@@ -265,7 +265,7 @@ datum/reagent/sal_acid/on_mob_life(var/mob/living/M as mob)
..()
return
-datum/reagent/sal_acid/overdose_process(var/mob/living/M as mob)
+datum/reagent/goonchem/sal_acid/overdose_process(var/mob/living/M as mob)
if(M.getBruteLoss() < 50)
if(prob(50))
M.adjustBruteLoss(2*REM)
@@ -279,15 +279,15 @@ datum/reagent/sal_acid/overdose_process(var/mob/living/M as mob)
required_reagents = list("sodium" = 1, "phenol" = 1, "carbon" = 1, "oxygen" = 1, "sacid" = 1)
result_amount = 5
-datum/reagent/salbutamol
+datum/reagent/goonchem/salbutamol
name = "Salbutamol"
id = "salbutamol"
- description = "Heals 6 OXY damage, reduces LOSEBREATH by 4."
+ description = "Quickly heals oxygen damage while slowing down suffocation. Great for stabilizing critical patients!"
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
metabolization_rate = 0.2
-datum/reagent/salbutamol/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/salbutamol/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustOxyLoss(-6*REM)
if(M.losebreath >= 4)
@@ -302,15 +302,15 @@ datum/reagent/salbutamol/on_mob_life(var/mob/living/M as mob)
required_reagents = list("sal_acid" = 1, "lithium" = 1, "aluminium" = 1, "bromine" = 1, "ammonia" = 1)
result_amount = 5
-datum/reagent/perfluorodecalin
+datum/reagent/goonchem/perfluorodecalin
name = "Perfluorodecalin"
id = "perfluorodecalin"
- description = "Heals 25 OXY damage, but you can't talk. 33% chance of healing 1 BRUTE and 1 BURN."
+ description = "Heals suffocation damage so quickly that you could have a spacewalk, but it mutes your voice. Has a 33% chance of healing brute and burn damage per cycle as well."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
metabolization_rate = 0.2
-datum/reagent/perfluorodecalin/on_mob_life(var/mob/living/carbon/human/M as mob)
+datum/reagent/goonchem/perfluorodecalin/on_mob_life(var/mob/living/carbon/human/M as mob)
if(!M) M = holder.my_atom
M.adjustOxyLoss(-25*REM)
M.silent = max(M.silent, 5)
@@ -329,17 +329,17 @@ datum/reagent/perfluorodecalin/on_mob_life(var/mob/living/carbon/human/M as mob)
required_temp = 370
mix_message = "The mixture rapidly turns into a dense pink liquid."
-datum/reagent/ephedrine
+datum/reagent/goonchem/ephedrine
name = "Ephedrine"
id = "ephedrine"
- description = "Stun reduction per cycle, increases run speed slightly, minor stamina regeneration buff, stabilizes crit."
+ description = "Reduces stun times, increases run speed. If overdosed it will deal toxin and oxyloss damage."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
metabolization_rate = 0.3
overdose_threshold = 45
addiction_threshold = 30
-datum/reagent/ephedrine/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/ephedrine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.status_flags |= IGNORESLOWDOWN
M.AdjustParalysis(-1)
@@ -349,32 +349,32 @@ datum/reagent/ephedrine/on_mob_life(var/mob/living/M as mob)
..()
return
-datum/reagent/ephedrine/overdose_process(var/mob/living/M as mob)
+datum/reagent/goonchem/ephedrine/overdose_process(var/mob/living/M as mob)
if(prob(33))
M.adjustToxLoss(1*REM)
M.losebreath++
..()
return
-datum/reagent/ephedrine/addiction_act_stage1(var/mob/living/M as mob)
+datum/reagent/goonchem/ephedrine/addiction_act_stage1(var/mob/living/M as mob)
if(prob(33))
M.adjustToxLoss(2*REM)
M.losebreath += 2
..()
return
-datum/reagent/ephedrine/addiction_act_stage2(var/mob/living/M as mob)
+datum/reagent/goonchem/ephedrine/addiction_act_stage2(var/mob/living/M as mob)
if(prob(33))
M.adjustToxLoss(3*REM)
M.losebreath += 3
..()
return
-datum/reagent/ephedrine/addiction_act_stage3(var/mob/living/M as mob)
+datum/reagent/goonchem/ephedrine/addiction_act_stage3(var/mob/living/M as mob)
if(prob(33))
M.adjustToxLoss(4*REM)
M.losebreath += 4
..()
return
-datum/reagent/ephedrine/addiction_act_stage4(var/mob/living/M as mob)
+datum/reagent/goonchem/ephedrine/addiction_act_stage4(var/mob/living/M as mob)
if(prob(33))
M.adjustToxLoss(5*REM)
M.losebreath += 5
@@ -389,13 +389,13 @@ datum/reagent/ephedrine/addiction_act_stage4(var/mob/living/M as mob)
result_amount = 4
mix_message = "The solution fizzes and gives off toxic fumes."
-datum/reagent/diphenhydramine
+datum/reagent/goonchem/diphenhydramine
name = "Diphenhydramine"
id = "diphenhydramine"
- description = "Causes a little bit of drowsiness, reduces jitteriness. Raises histamine depletion rates by 3"
+ description = "Purges body of lethal Histamine and reduces jitteriness while causing minor drowsiness."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/diphenhydramine/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/diphenhydramine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.drowsyness += 1
M.jitteriness -= 1
@@ -411,10 +411,10 @@ datum/reagent/diphenhydramine/on_mob_life(var/mob/living/M as mob)
result_amount = 4
mix_message = "The mixture dries into a pale blue powder."
-datum/reagent/morphine
+datum/reagent/goonchem/morphine
name = "Morphine"
id = "morphine"
- description = "Dramatically counters movement reduction from severe injury. Reduces jitteriness if someone is shaking like crazy from whatever. Will knock you out within 36 cycles if any remains in you."
+ description = "Will allow you to ignore slowdown from equipment and damage. Will eventually knock you out if you take too much. If overdosed it will cause jitteriness, dizziness, force the victim to drop items in their hands and eventually deal toxin damage."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
var/cycle_count = 0
@@ -422,7 +422,7 @@ datum/reagent/morphine
addiction_threshold = 25
-datum/reagent/morphine/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/morphine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.status_flags |= IGNORESLOWDOWN
if(cycle_count == 36)
@@ -431,7 +431,7 @@ datum/reagent/morphine/on_mob_life(var/mob/living/M as mob)
..()
return
-datum/reagent/morphine/overdose_process(var/mob/living/M as mob)
+datum/reagent/goonchem/morphine/overdose_process(var/mob/living/M as mob)
if(prob(33))
var/obj/item/I = M.get_active_hand()
if(I)
@@ -441,7 +441,7 @@ datum/reagent/morphine/overdose_process(var/mob/living/M as mob)
..()
return
-datum/reagent/morphine/addiction_act_stage1(var/mob/living/M as mob)
+datum/reagent/goonchem/morphine/addiction_act_stage1(var/mob/living/M as mob)
if(prob(33))
var/obj/item/I = M.get_active_hand()
if(I)
@@ -450,7 +450,7 @@ datum/reagent/morphine/addiction_act_stage1(var/mob/living/M as mob)
M.Jitter(2)
..()
return
-datum/reagent/morphine/addiction_act_stage2(var/mob/living/M as mob)
+datum/reagent/goonchem/morphine/addiction_act_stage2(var/mob/living/M as mob)
if(prob(33))
var/obj/item/I = M.get_active_hand()
if(I)
@@ -460,7 +460,7 @@ datum/reagent/morphine/addiction_act_stage2(var/mob/living/M as mob)
M.Jitter(3)
..()
return
-datum/reagent/morphine/addiction_act_stage3(var/mob/living/M as mob)
+datum/reagent/goonchem/morphine/addiction_act_stage3(var/mob/living/M as mob)
if(prob(33))
var/obj/item/I = M.get_active_hand()
if(I)
@@ -470,7 +470,7 @@ datum/reagent/morphine/addiction_act_stage3(var/mob/living/M as mob)
M.Jitter(4)
..()
return
-datum/reagent/morphine/addiction_act_stage4(var/mob/living/M as mob)
+datum/reagent/goonchem/morphine/addiction_act_stage4(var/mob/living/M as mob)
if(prob(33))
var/obj/item/I = M.get_active_hand()
if(I)
@@ -481,7 +481,7 @@ datum/reagent/morphine/addiction_act_stage4(var/mob/living/M as mob)
..()
return
-datum/reagent/oculine/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/oculine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
cycle_amount++
if(M.eye_blind > 0 && cycle_amount > 20)
@@ -504,25 +504,25 @@ datum/reagent/oculine/on_mob_life(var/mob/living/M as mob)
result_amount = 3
mix_message = "The mixture sputters loudly and becomes a pale pink color."
-datum/reagent/oculine
+datum/reagent/goonchem/oculine
name = "Oculine"
id = "oculine"
- description = "30% chance to remove blindness, 80% chance to slightly reduce eye damage."
+ description = "Cures blindness and heals eye damage over time."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
metabolization_rate = 0.4
var/cycle_amount = 0
-datum/reagent/atropine
+datum/reagent/goonchem/atropine
name = "Atropine"
id = "atropine"
- description = "1 TOX damage if used over -60 health. Causes dizziness and confusion. If under -25 health, heals 3 BRUTE + 3 BURN. Attempts to cap OXY damage at 65 and LOSEBREATH at 5."
+ description = "If patients health is below -25 it will heal 3 brute and burn damage per cycle, as well as stop any oxyloss. Good for stabilising critical patients."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
metabolization_rate = 0.2
overdose_threshold = 35
-datum/reagent/atropine/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/atropine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(M.health > -60)
M.adjustToxLoss(1*REM)
@@ -539,7 +539,7 @@ datum/reagent/atropine/on_mob_life(var/mob/living/M as mob)
..()
return
-datum/reagent/atropine/overdose_process(var/mob/living/M as mob)
+datum/reagent/goonchem/atropine/overdose_process(var/mob/living/M as mob)
if(prob(50))
M.adjustToxLoss(2*REM)
M.Dizzy(1)
@@ -554,16 +554,16 @@ datum/reagent/atropine/overdose_process(var/mob/living/M as mob)
required_reagents = list("ethanol" = 1, "acetone" = 1, "diethylamine" = 1, "phenol" = 1, "sacid" = 1)
result_amount = 5
-datum/reagent/epinephrine
+datum/reagent/goonchem/epinephrine
name = "Epinephrine"
id = "epinephrine"
- description = "Reduces most of the knockout/stun effects, minor stamina regeneration buff. Attempts to cap OXY damage at 35 and LOSEBREATH at 10. If health is between -10 to -65, heals 1 TOX, 1 BRUTE, 1 BURN."
+ description = "mReduces most of the knockout/stun effects, minor stamina regeneration buff. Attempts to stop you taking too much oxygen damage. If the patient is in low to severe crit, heals toxins, brute, and burn very effectively. Will not heal patients who are almost dead. If overdosed will stun and deal toxin damage"
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
metabolization_rate = 0.2
overdose_threshold = 30
-datum/reagent/epinephrine/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/epinephrine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(M.health < -10 && M.health > -65)
M.adjustToxLoss(-1*REM)
@@ -583,7 +583,7 @@ datum/reagent/epinephrine/on_mob_life(var/mob/living/M as mob)
..()
return
-datum/reagent/epinephrine/overdose_process(var/mob/living/M as mob)
+datum/reagent/goonchem/epinephrine/overdose_process(var/mob/living/M as mob)
if(prob(33))
M.adjustStaminaLoss(5*REM)
M.adjustToxLoss(2*REM)
@@ -598,14 +598,14 @@ datum/reagent/epinephrine/overdose_process(var/mob/living/M as mob)
required_reagents = list("phenol" = 1, "acetone" = 1, "diethylamine" = 1, "oxygen" = 1, "chlorine" = 1, "hydrogen" = 1)
result_amount = 6
-datum/reagent/strange_reagent
+datum/reagent/goonchem/strange_reagent
name = "Strange Reagent"
id = "strange_reagent"
- description = "A miracle medical chem, this little beauty can bring the dead back to life!"
+ description = "A miracle drug that can bring a dead body back to life! If the corpse has suffered too much damage, however, no change will occur to the body. If used on a living person it will deal Brute and Burn damage."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/strange_reagent/reaction_mob(var/mob/living/carbon/human/M as mob, var/method=TOUCH, var/volume)
+datum/reagent/goonchem/strange_reagent/reaction_mob(var/mob/living/carbon/human/M as mob, var/method=TOUCH, var/volume)
if(M.stat == DEAD)
if(M.getBruteLoss() >= 100 || M.getFireLoss() >= 100)
M.visible_message("[M]'s body convulses a bit, and then falls still once more.")
@@ -622,7 +622,7 @@ datum/reagent/strange_reagent/reaction_mob(var/mob/living/carbon/human/M as mob,
add_logs(M, M, "revived", object="strange reagent")
..()
return
-datum/reagent/strange_reagent/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/strange_reagent/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(prob(rand(1,100)))
M.adjustBruteLoss(2*REM)
@@ -637,10 +637,10 @@ datum/reagent/strange_reagent/on_mob_life(var/mob/living/M as mob)
required_reagents = list("omnizine" = 1, "holywater" = 1, "mutagen" = 1)
result_amount = 3
-datum/reagent/life
+datum/reagent/goonchem/life
name = "Life"
id = "life"
- description = ""
+ description = "Can create a life form, however it is not guaranteed to be friendly. May want to have Security on hot standby."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
metabolization_rate = 0.2
@@ -711,7 +711,7 @@ proc/chemical_mob_spawn(var/datum/reagents/holder, var/amount_to_spawn, var/reac
for(var/j = 1, j <= rand(1, 3), j++)
step(C, pick(NORTH,SOUTH,EAST,WEST))
-/datum/reagent/mannitol/on_mob_life(mob/living/M as mob)
+/datum/reagent/goonchem/mannitol/on_mob_life(mob/living/M as mob)
M.adjustBrainLoss(-3)
..()
return
@@ -724,13 +724,13 @@ proc/chemical_mob_spawn(var/datum/reagents/holder, var/amount_to_spawn, var/reac
result_amount = 3
mix_message = "The solution slightly bubbles, becoming thicker."
-/datum/reagent/mannitol
+/datum/reagent/goonchem/mannitol
name = "Mannitol"
id = "mannitol"
- description = "Heals 3 BRAIN damage."
+ description = "Heals brain damage effectively. Use it in cyro tubes alongside Cryoxadone."
color = "#C8A5DC" // rgb: 200, 165, 220
-/datum/reagent/mutadone/on_mob_life(var/mob/living/carbon/human/M as mob)
+/datum/reagent/goonchem/mutadone/on_mob_life(var/mob/living/carbon/human/M as mob)
M.jitteriness = 0
if(istype(M) && M.dna)
M.dna.remove_all_mutations()
@@ -745,19 +745,19 @@ proc/chemical_mob_spawn(var/datum/reagents/holder, var/amount_to_spawn, var/reac
result_amount = 3
-/datum/reagent/mutadone
+/datum/reagent/goonchem/mutadone
name = "Mutadone"
id = "mutadone"
- description = "Chance to remove genetic disabilities."
+ description = "Heals your genetic defects."
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/antihol
+datum/reagent/goonchem/antihol
name = "Antihol"
id = "antihol"
- description = "A powerful oxidizer that reacts with ethanol."
+ description = "Helps remove Alcohol from someone's body, as well as eliminating its side effects."
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/antihol/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/antihol/on_mob_life(var/mob/living/M as mob)
M.dizziness = 0
M.drowsyness = 0
M.slurring = 0
@@ -780,15 +780,15 @@ datum/reagent/antihol/on_mob_life(var/mob/living/M as mob)
required_reagents = list("stable_plasma" = 1, "acetone" = 1, "mutagen" = 1)
result_amount = 3
-/datum/reagent/stimulants
+/datum/reagent/goonchem/stimulants
name = "Stimulants"
id = "stimulants"
- description = "Sets all stun-related vars to zero, gets you running really fast. Heals 5 OXY, TOX, BRUTE, and BURN damage if health is below 50. Reduces all stuns."
+ description = "Increases run speed and eliminates stuns, can heal minor damage. If overdosed it will deal toxin damage and stun."
color = "#C8A5DC" // rgb: 200, 165, 220
metabolization_rate = 0.4
overdose_threshold = 60
-datum/reagent/stimulants/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/stimulants/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.status_flags |= IGNORESLOWDOWN
if(M.health < 50 && M.health > 0)
@@ -804,7 +804,7 @@ datum/reagent/stimulants/on_mob_life(var/mob/living/M as mob)
M.adjustStaminaLoss(-3*REM)
..()
-datum/reagent/stimulants/overdose_process(var/mob/living/M as mob)
+datum/reagent/goonchem/stimulants/overdose_process(var/mob/living/M as mob)
if(prob(33))
M.adjustStaminaLoss(5*REM)
M.adjustToxLoss(2*REM)
@@ -812,13 +812,13 @@ datum/reagent/stimulants/overdose_process(var/mob/living/M as mob)
..()
return
-datum/reagent/insulin
+datum/reagent/goonchem/insulin
name = "Insulin"
id = "insulin"
description = "Increases sugar depletion rates."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/insulin/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/insulin/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(M.sleeping)
M.sleeping--
diff --git a/code/modules/reagents/Chemistry-Goon-Other.dm b/code/modules/reagents/Chemistry-Goon-Other.dm
index 13bb4cabef6..96a98deb55e 100644
--- a/code/modules/reagents/Chemistry-Goon-Other.dm
+++ b/code/modules/reagents/Chemistry-Goon-Other.dm
@@ -5,74 +5,69 @@
var/list/random_color_list = list("#00aedb","#a200ff","#f47835","#d41243","#d11141","#00b159","#00aedb","#f37735","#ffc425","#008744","#0057e7","#d62d20","#ffa700")
-datum/reagent/oil
+datum/reagent/goonchem
+ three_tick = 1
+
+datum/reagent/goonchem/oil
name = "Oil"
id = "oil"
- description = "A slippery solution."
+ description = "Burns in a small smoky fire, mostly used to get Ash."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/stable_plasma
+datum/reagent/goonchem/stable_plasma
name = "Stable Plasma"
id = "stable_plasma"
description = "Non-flammable plasma locked into a liquid form that cannot ignite or become gaseous/solid."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/iodine
+datum/reagent/goonchem/iodine
name = "Iodine"
id = "iodine"
description = "A slippery solution."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/fluorine
+datum/reagent/goonchem/fluorine
name = "Fluorine"
id = "fluorine"
description = "A slippery solution."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/carpet
+datum/reagent/goonchem/carpet
name = "Carpet"
id = "carpet"
description = "A slippery solution."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-/datum/reagent/carpet/reaction_turf(var/turf/simulated/T, var/volume)
- if(istype(T, /turf/simulated/floor/plating) || istype(T, /turf/simulated/floor/plasteel))
- var/turf/simulated/floor/F = T
- F.visible_message("[T] gets a layer of carpeting applied!")
- F.ChangeTurf(/turf/simulated/floor/fancy/carpet)
- ..()
- return
-
-datum/reagent/bromine
+datum/reagent/goonchem/bromine
name = "Bromine"
id = "bromine"
description = "A slippery solution."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/phenol
+datum/reagent/goonchem/phenol
name = "Phenol"
id = "phenol"
- description = "A slippery solution."
+ description = "Used for certain medical recipes."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/ash
+datum/reagent/goonchem/ash
name = "Ash"
id = "ash"
- description = "A burnt solution."
+ description = "Basic ingredient in a couple of recipes."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/acetone
+datum/reagent/goonchem/acetone
name = "Acetone"
id = "acetone"
- description = "A solution."
+ description = "Common ingredient in other recipes."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
@@ -113,7 +108,7 @@ datum/reagent/acetone
result_amount = 1
required_temp = 480
-datum/reagent/colorful_reagent
+datum/reagent/goonchem/colorful_reagent
name = "Colorful Reagent"
id = "colorful_reagent"
description = "A solution."
@@ -127,30 +122,30 @@ datum/reagent/colorful_reagent
required_reagents = list("stable_plasma" = 1, "radium" = 1, "space_drugs" = 1, "cryoxadone" = 1, "triple_citrus" = 1)
result_amount = 5
-datum/reagent/colorful_reagent/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/colorful_reagent/on_mob_life(var/mob/living/M as mob)
if(M && isliving(M))
M.color = pick(random_color_list)
..()
return
-datum/reagent/colorful_reagent/reaction_mob(var/mob/living/M, var/volume)
+datum/reagent/goonchem/colorful_reagent/reaction_mob(var/mob/living/M, var/volume)
if(M && isliving(M))
M.color = pick(random_color_list)
..()
return
-datum/reagent/colorful_reagent/reaction_obj(var/obj/O, var/volume)
+datum/reagent/goonchem/colorful_reagent/reaction_obj(var/obj/O, var/volume)
if(O)
O.color = pick(random_color_list)
..()
return
-datum/reagent/colorful_reagent/reaction_turf(var/turf/T, var/volume)
+datum/reagent/goonchem/colorful_reagent/reaction_turf(var/turf/T, var/volume)
if(T)
T.color = pick(random_color_list)
..()
return
-datum/reagent/triple_citrus
+datum/reagent/goonchem/triple_citrus
name = "Triple Citrus"
id = "triple_citrus"
description = "A solution."
@@ -164,7 +159,7 @@ datum/reagent/triple_citrus
required_reagents = list("lemonjuice" = 1, "limejuice" = 1, "orangejuice" = 1)
result_amount = 5
-datum/reagent/corn_starch
+datum/reagent/goonchem/corn_starch
name = "Corn Starch"
id = "corn_starch"
description = "A slippery solution."
@@ -179,14 +174,14 @@ datum/reagent/corn_starch
result_amount = 5
required_temp = 374
-datum/reagent/corn_syrup
+datum/reagent/goonchem/corn_syrup
name = "Corn Syrup"
id = "corn_syrup"
description = "Decays into sugar."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/corn_syrup/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/corn_syrup/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.reagents.add_reagent("sugar", 3)
M.reagents.remove_reagent("corn_syrup", 1)
@@ -201,7 +196,7 @@ datum/reagent/corn_syrup/on_mob_life(var/mob/living/M as mob)
result_amount = 3
required_temp = 374
-datum/reagent/corgium
+datum/reagent/goonchem/corgium
name = "Corgium"
id = "corgium"
description = "Creates a corgi at the reaction location."
@@ -214,7 +209,7 @@ datum/reagent/corgium
..()
return
-datum/reagent/hair_dye
+datum/reagent/goonchem/hair_dye
name = "Quantum Hair Dye"
id = "hair_dye"
description = "A solution."
@@ -229,7 +224,7 @@ datum/reagent/hair_dye
required_reagents = list("colorful_reagent" = 1, "radium" = 1, "space_drugs" = 1)
result_amount = 5
-datum/reagent/hair_dye/reaction_mob(var/mob/living/M, var/volume)
+datum/reagent/goonchem/hair_dye/reaction_mob(var/mob/living/M, var/volume)
if(M && ishuman(M))
var/mob/living/carbon/human/H = M
H.hair_color = pick(potential_colors)
@@ -238,7 +233,7 @@ datum/reagent/hair_dye/reaction_mob(var/mob/living/M, var/volume)
..()
return
-datum/reagent/barbers_aid
+datum/reagent/goonchem/barbers_aid
name = "Barber's Aid"
id = "barbers_aid"
description = "A solution to hair loss across the world."
@@ -252,7 +247,7 @@ datum/reagent/barbers_aid
required_reagents = list("carpet" = 1, "radium" = 1, "space_drugs" = 1)
result_amount = 5
-datum/reagent/barbers_aid/reaction_mob(var/mob/living/M, var/volume)
+datum/reagent/goonchem/barbers_aid/reaction_mob(var/mob/living/M, var/volume)
if(M && ishuman(M))
var/mob/living/carbon/human/H = M
var/datum/sprite_accessory/hair/picked_hair = pick(hair_styles_list)
@@ -263,7 +258,7 @@ datum/reagent/barbers_aid/reaction_mob(var/mob/living/M, var/volume)
..()
return
-datum/reagent/concentrated_barbers_aid
+datum/reagent/goonchem/concentrated_barbers_aid
name = "Concentrated Barber's Aid"
id = "concentrated_barbers_aid"
description = "A concentrated solution to hair loss across the world."
@@ -277,7 +272,7 @@ datum/reagent/concentrated_barbers_aid
required_reagents = list("barbers_aid" = 1, "mutagen" = 1)
result_amount = 2
-datum/reagent/concentrated_barbers_aid/reaction_mob(var/mob/living/M, var/volume)
+datum/reagent/goonchem/concentrated_barbers_aid/reaction_mob(var/mob/living/M, var/volume)
if(M && ishuman(M))
var/mob/living/carbon/human/H = M
H.hair_style = "Very Long Hair"
diff --git a/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm b/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm
index 2b1f8d10c35..4c23803e8f6 100644
--- a/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm
+++ b/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm
@@ -4,7 +4,7 @@
#define REM REAGENTS_EFFECT_MULTIPLIER
-/datum/reagent/stabilizing_agent
+/datum/reagent/goonchem/stabilizing_agent
name = "Stabilizing Agent"
id = "stabilizing_agent"
description = "Keeps unstable chemicals stable. This does not work on everything."
@@ -18,7 +18,7 @@
required_reagents = list("iron" = 1, "oxygen" = 1, "hydrogen" = 1)
result_amount = 3
-/datum/reagent/clf3
+/datum/reagent/goonchem/clf3
name = "Chlorine Trifluoride"
id = "clf3"
description = "Makes a temporary 3x3 fireball when it comes into existence, so be careful when mixing. ClF3 applied to a surface burns things that wouldn't otherwise burn, sometimes through the very floors of the station and exposing it to the vacuum of space."
@@ -34,7 +34,7 @@
result_amount = 4
required_temp = 424
-/datum/reagent/clf3/on_mob_life(var/mob/living/M as mob)
+/datum/reagent/goonchem/clf3/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjust_fire_stacks(4)
M.adjustFireLoss(0.35*M.fire_stacks)
@@ -50,7 +50,7 @@
holder.chem_temp = 1000 // hot as shit
return
-/datum/reagent/clf3/reaction_turf(var/turf/simulated/T, var/volume)
+/datum/reagent/goonchem/clf3/reaction_turf(var/turf/simulated/T, var/volume)
if(istype(T, /turf/simulated/floor/plating))
var/turf/simulated/floor/plating/F = T
if(prob(1))
@@ -67,14 +67,14 @@
W.ChangeTurf(/turf/simulated/floor)
return
-/datum/reagent/clf3/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
+/datum/reagent/goonchem/clf3/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
if(method == TOUCH && ishuman(M))
M.adjust_fire_stacks(5)
M.IgniteMob()
new /obj/effect/hotspot(M.loc)
return
-/datum/reagent/sorium
+/datum/reagent/goonchem/sorium
name = "Sorium"
id = "sorium"
description = "Sends everything flying from the detonation point."
@@ -106,7 +106,7 @@
var/turf/simulated/T = get_turf(holder.my_atom)
goonchem_vortex(T, 1, 5, 6)
-/datum/reagent/liquid_dark_matter
+/datum/reagent/goonchem/liquid_dark_matter
name = "Liquid Dark Matter"
id = "liquid_dark_matter"
description = "Sucks everything into the detonation point."
@@ -152,7 +152,7 @@
for(var/i = 0, i < pull_times, i++)
step_towards(X,T)
-/datum/reagent/blackpowder
+/datum/reagent/goonchem/blackpowder
name = "Black Powder"
id = "blackpowder"
description = "Explodes. Violently."
@@ -183,11 +183,10 @@
var/ex_heavy = round(created_volume / 42)
var/ex_light = round(created_volume / 21)
var/ex_flash = round(created_volume / 8)
-<<<<<<< HEAD
explosion(T,ex_severe,ex_heavy,ex_light,ex_flash, 1)
return
-/datum/reagent/flash_powder
+/datum/reagent/goonchem/flash_powder
name = "Flash Powder"
id = "flash_powder"
description = "Makes a very bright flash."
@@ -239,7 +238,7 @@
C.Stun(5)
holder.remove_reagent("flash_powder", created_volume)
-/datum/reagent/smoke_powder
+/datum/reagent/goonchem/smoke_powder
name = "Smoke Powder"
id = "smoke_powder"
description = "Makes a large cloud of smoke that can carry reagents."
@@ -296,7 +295,7 @@
holder.clear_reagents()
return
-/datum/reagent/sonic_powder
+/datum/reagent/goonchem/sonic_powder
name = "Sonic Powder"
id = "sonic_powder"
description = "Makes a deafening noise."
@@ -355,7 +354,7 @@
else if(C.ear_damage >= 5)
C << "Your ears start to ring!"
-/datum/reagent/phlogiston
+/datum/reagent/goonchem/phlogiston
name = "Phlogiston"
id = "phlogiston"
description = "+1 BURN, +1 BURNING and sets you alight. Don't be deceived by that meager +1, having phlogiston in the bloodstream can be very dangerous without a fire extinguisher or firebot. Even then, they can't prevent you from spontaneously igniting every cycle."
@@ -369,7 +368,7 @@
required_reagents = list("phosphorus" = 1, "sacid" = 1, "stable_plasma" = 1)
result_amount = 3
-/datum/reagent/phlogiston/on_mob_life(var/mob/living/M as mob)
+/datum/reagent/goonchem/phlogiston/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjust_fire_stacks(1)
M.IgniteMob()
@@ -377,7 +376,7 @@
..()
return
-datum/reagent/cryostylane
+datum/reagent/goonchem/cryostylane
name = "Cryostylane"
id = "cryostylane"
description = "Comes into existence at 20K. As long as there is sufficient oxygen for it to react with, Cryostylane slowly cools all other reagents in the mob down to 0K."
@@ -395,19 +394,19 @@ datum/reagent/cryostylane
return
-datum/reagent/cryostylane/on_mob_life(var/mob/living/M as mob) //TODO: code freezing into an ice cube
+datum/reagent/goonchem/cryostylane/on_mob_life(var/mob/living/M as mob) //TODO: code freezing into an ice cube
if(M.reagents.has_reagent("oxygen"))
M.reagents.remove_reagent("oxygen", 1)
M.bodytemperature -= 30 * TEMPERATURE_DAMAGE_COEFFICIENT
..()
return
-datum/reagent/cryostylane/reaction_turf(var/turf/simulated/T, var/volume)
+datum/reagent/goonchem/cryostylane/reaction_turf(var/turf/simulated/T, var/volume)
if(volume >= 5)
for(var/mob/living/carbon/slime/M in T)
M.adjustToxLoss(rand(15,30))
-datum/reagent/pyrosium
+datum/reagent/goonchem/pyrosium
name = "Pyrosium"
id = "pyrosium"
description = "Comes into existence at 20K. As long as there is sufficient oxygen for it to react with, Pyrosium slowly cools all other reagents in the mob down to 0K."
@@ -424,14 +423,14 @@ datum/reagent/pyrosium
holder.chem_temp = 20 // also cools the fuck down
return
-datum/reagent/pyrosium/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/pyrosium/on_mob_life(var/mob/living/M as mob)
if(M.reagents.has_reagent("oxygen"))
M.reagents.remove_reagent("oxygen", 1)
M.bodytemperature += 30 * TEMPERATURE_DAMAGE_COEFFICIENT
..()
return
-/datum/reagent/argine
+/datum/reagent/goonchem/argine
name = "Argine"
id = "argine"
description = "Explodes when lowered to freezing temperatures."
diff --git a/code/modules/reagents/Chemistry-Goon-Toxins.dm b/code/modules/reagents/Chemistry-Goon-Toxins.dm
index dd3adf14ba4..00f10a987f7 100644
--- a/code/modules/reagents/Chemistry-Goon-Toxins.dm
+++ b/code/modules/reagents/Chemistry-Goon-Toxins.dm
@@ -4,22 +4,22 @@
#define REM REAGENTS_EFFECT_MULTIPLIER
-datum/reagent/polonium
+datum/reagent/goonchem/polonium
name = "Polonium"
id = "polonium"
- description = "+8 RAD."
+ description = "Cause significant Radiation damage over time."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
metabolization_rate = 0.1
-datum/reagent/polonium/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/polonium/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.radiation += 8
..()
return
-datum/reagent/histamine
+datum/reagent/goonchem/histamine
name = "Histamine"
id = "histamine"
description = "A dose-dependent toxin, ranges from annoying to incredibly lethal."
@@ -28,7 +28,7 @@ datum/reagent/histamine
metabolization_rate = 0.2
overdose_threshold = 30
-datum/reagent/histamine/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/histamine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
switch(pick(1, 2, 3, 4))
if(1)
@@ -44,21 +44,21 @@ datum/reagent/histamine/on_mob_life(var/mob/living/M as mob)
M.adjustBruteLoss(2*REM)
..()
return
-datum/reagent/histamine/overdose_process(var/mob/living/M as mob)
+datum/reagent/goonchem/histamine/overdose_process(var/mob/living/M as mob)
M.adjustOxyLoss(pick(1,3)*REM)
M.adjustBruteLoss(pick(1,3)*REM)
M.adjustToxLoss(pick(1,3)*REM)
..()
return
-datum/reagent/formaldehyde
+datum/reagent/goonchem/formaldehyde
name = "Formaldehyde"
id = "formaldehyde"
- description = "+1 TOX, 10% chance to decay into 5-15 units of histamine."
+ description = "Deals a moderate amount of Toxin damage over time. 10% chance to decay into 10-15 histamine."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
-datum/reagent/formaldehyde/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/formaldehyde/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss(1*REM)
if(prob(10))
@@ -75,14 +75,14 @@ datum/reagent/formaldehyde/on_mob_life(var/mob/living/M as mob)
result_amount = 3
required_temp = 420
-datum/reagent/venom
+datum/reagent/goonchem/venom
name = "Venom"
id = "venom"
- description = "Scaling TOX and BRUTE damage with dose. 25% chance to decay into 5-10 histamine."
+ description = "Will deal scaling amounts of Toxin and Brute damage over time. 25% chance to decay into 5-10 histamine."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
metabolization_rate = 0.2
-datum/reagent/venom/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/venom/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss((0.1*volume)*REM)
M.adjustBruteLoss((0.1*volume)*REM)
@@ -92,16 +92,16 @@ datum/reagent/venom/on_mob_life(var/mob/living/M as mob)
..()
return
-datum/reagent/neurotoxin2
+datum/reagent/goonchem/neurotoxin2
name = "Neurotoxin"
id = "neurotoxin2"
- description = "+1 TOX, +1 BRAIN up to 60 before it slows down, confusion, knockout after 17 elapsed cycles."
+ description = "Deals toxin and brain damage up to 60 before it slows down, causing confusion and a knockout after 17 elapsed cycles."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
var/cycle_count = 0
metabolization_rate = 1
-datum/reagent/neurotoxin2/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/neurotoxin2/on_mob_life(var/mob/living/M as mob)
cycle_count++
if(M.brainloss + M.toxloss <= 60)
M.adjustBrainLoss(1*REM)
@@ -119,15 +119,15 @@ datum/reagent/neurotoxin2/on_mob_life(var/mob/living/M as mob)
result_amount = 1
required_temp = 674
-datum/reagent/cyanide
+datum/reagent/goonchem/cyanide
name = "Cyanide"
id = "cyanide"
- description = "+1.5 TOX, 10% chance of +1 LOSEBREATH, 8% chance of stun and extra +2 TOX."
+ description = "Deals toxin damage, alongside some oxygen loss. 8% chance of stun and some extra toxin damage."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
metabolization_rate = 0.1
-datum/reagent/cyanide/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/cyanide/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss(1.5*REM)
if(prob(10))
@@ -147,7 +147,7 @@ datum/reagent/cyanide/on_mob_life(var/mob/living/M as mob)
result_amount = 3
required_temp = 380
-/datum/reagent/questionmark // food poisoning
+/datum/reagent/goonchem/questionmark // food poisoning
name = "Bad Food"
id = "????"
description = "????"
@@ -155,26 +155,26 @@ datum/reagent/cyanide/on_mob_life(var/mob/living/M as mob)
color = "#CF3600" // rgb: 207, 54, 0
metabolization_rate = 0.2
-datum/reagent/questionmark/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/questionmark/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss(1*REM)
..()
return
-datum/reagent/itching_powder
+datum/reagent/goonchem/itching_powder
name = "Itching Powder"
id = "itching_powder"
- description = "Lots of annoying random effects, chances to do BRUTE damage from scratching. 6% chance to decay into 1-3 units of histamine."
+ description = "Lots of annoying random effects, chances to do some brute damage from scratching. 6% chance to decay into 1-3 units of histamine."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
metabolization_rate = 0.3
-/datum/reagent/itching_powder/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
+/datum/reagent/goonchem/itching_powder/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
if(method == TOUCH)
M.reagents.add_reagent("itching_powder", volume)
return
-datum/reagent/itching_powder/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/itching_powder/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(prob(rand(5,50)))
M << "You scratch at your head."
@@ -206,15 +206,15 @@ datum/reagent/itching_powder/on_mob_life(var/mob/living/M as mob)
result_amount = 4
required_temp = 380
-datum/reagent/initropidril
+datum/reagent/goonchem/initropidril
name = "Initropidril"
id = "initropidril"
- description = "Major stamina regeneration buff. 33% chance to hit with 5-25 TOX. 5-10% chances to stun and cause suffocation or immediate heart failure."
+ description = "Major stamina regeneration buff. 33% chance to hit with a random amount of toxin damage, 5-10% chances to cause stunning, suffocation, or immediate heart failure."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
metabolization_rate = 0.4
-datum/reagent/initropidril/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/initropidril/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustStaminaLoss(-5)
if(prob(33))
@@ -239,15 +239,15 @@ datum/reagent/initropidril/on_mob_life(var/mob/living/M as mob)
..()
return
-datum/reagent/pancuronium
+datum/reagent/goonchem/pancuronium
name = "Pancuronium"
id = "pancuronium"
- description = "10 cycles to paralysis, 7% chance to cause 3-5 LOSEBREATH."
+ description = "Knocks you out after 10 cycles, 7% chance to cause some oxygen loss."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
metabolization_rate = 0.2
-datum/reagent/pancuronium/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/pancuronium/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(current_cycle >= 10)
M.SetParalysis(3)
@@ -256,15 +256,15 @@ datum/reagent/pancuronium/on_mob_life(var/mob/living/M as mob)
..()
return
-datum/reagent/sodium_thiopental
+datum/reagent/goonchem/sodium_thiopental
name = "Sodium Thiopental"
id = "sodium_thiopental"
- description = "KOs in ten cycles. Major total stamina penalty."
+ description = "Puts you to sleep after 10 cycles, along with some major stamina loss."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
metabolization_rate = 0.7
-datum/reagent/sodium_thiopental/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/sodium_thiopental/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(current_cycle >= 10)
M.sleeping += 3
@@ -272,10 +272,10 @@ datum/reagent/sodium_thiopental/on_mob_life(var/mob/living/M as mob)
..()
return
-datum/reagent/sulfonal
+datum/reagent/goonchem/sulfonal
name = "Sulfonal"
id = "sulfonal"
- description = "+1 TOX, KOs in 22 cycles."
+ description = "Deals some toxin damage, and puts you to sleep after 22 cycles."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
metabolization_rate = 0.1
@@ -287,7 +287,7 @@ datum/reagent/sulfonal
required_reagents = list("acetone" = 1, "diethylamine" = 1, "sulfur" = 1)
result_amount = 3
-datum/reagent/sulfonal/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/sulfonal/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(current_cycle >= 22)
M.sleeping += 3
@@ -295,28 +295,28 @@ datum/reagent/sulfonal/on_mob_life(var/mob/living/M as mob)
..()
return
-datum/reagent/amanitin
+datum/reagent/goonchem/amanitin
name = "Amanitin"
id = "amanitin"
- description = "On the last cycle that it's in you, it hits you with a stack of TOX damage based on elapsed cycles * rand(2,4). The more you use, the longer it takes before anything happens, but the harder it hits when it does."
+ description = "On the last cycle that it's in you, it hits you with a stack of toxin damage based on the cycles elapsed. The more you use, the longer it takes before anything happens, but the harder it hits when it does."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
-datum/reagent/amanitin/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/amanitin/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
..()
return
-datum/reagent/amanitin/reagent_deleted(var/mob/living/M as mob)
+datum/reagent/goonchem/amanitin/reagent_deleted(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss(current_cycle*rand(2,4))
..()
return
-datum/reagent/lipolicide
+datum/reagent/goonchem/lipolicide
name = "Lipolicide"
id = "lipolicide"
- description = "+1 TOX unless they keep eating food."
+ description = "Deals some toxin damage unless they keep eating food. Will reduce nutrition values."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
@@ -327,7 +327,7 @@ datum/reagent/lipolicide
required_reagents = list("mercury" = 1, "diethylamine" = 1, "ephedrine" = 1)
result_amount = 3
-datum/reagent/lipolicide/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/lipolicide/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(!holder.has_reagent("nutriment"))
M.adjustToxLoss(1)
@@ -338,30 +338,30 @@ datum/reagent/lipolicide/on_mob_life(var/mob/living/M as mob)
..()
return
-datum/reagent/coniine
+datum/reagent/goonchem/coniine
name = "Coniine"
id = "coniine"
- description = "+2 TOX, +5 LOSEBREATH."
+ description = "Does moderate toxin damage and oxygen loss."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
metabolization_rate = 0.05
-datum/reagent/coniine/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/coniine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.losebreath += 5
M.adjustToxLoss(2)
..()
return
-datum/reagent/curare
+datum/reagent/goonchem/curare
name = "Curare"
id = "curare"
- description = "+1 TOX, +1 OXY, paralyzes after 11 cycles."
+ description = "Does some oxygen and toxin damage, weakens you after 11 cycles.."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
metabolization_rate = 0.1
-datum/reagent/curare/on_mob_life(var/mob/living/M as mob)
+datum/reagent/goonchem/curare/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(current_cycle >= 11)
M.Weaken(3)
diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm
index 8e81916226d..c01f1223126 100644
--- a/code/modules/reagents/Chemistry-Holder.dm
+++ b/code/modules/reagents/Chemistry-Holder.dm
@@ -205,26 +205,43 @@ datum/reagents/proc/metabolize(var/mob/M)
if(M)
chem_temp = M.bodytemperature
handle_reactions()
- if(last_tick == 3)
- last_tick = 1
- for(var/A in reagent_list)
- var/datum/reagent/R = A
- if(M && R)
- if(M.reagent_check(R) != 1)
- if(R.volume >= R.overdose_threshold && !R.overdosed && R.overdose_threshold > 0)
- R.overdosed = 1
- M << "You feel like you took too much of [R.name]!"
- R.overdose_start(M)
- if(R.volume >= R.addiction_threshold && !is_type_in_list(R, addiction_list) && R.addiction_threshold > 0)
- var/datum/reagent/new_reagent = new R.type()
- addiction_list.Add(new_reagent)
- if(R.overdosed)
- R.overdose_process(M)
- if(is_type_in_list(R,addiction_list))
- for(var/datum/reagent/addicted_reagent in addiction_list)
- if(istype(R, addicted_reagent))
- addicted_reagent.addiction_stage = -15 // you're satisfied for a good while.
- R.on_mob_life(M)
+ for(var/reagent in reagent_list)
+ var/datum/reagent/R = reagent
+ if(!R.three_tick)
+ if(M.reagent_check(R) != 1)
+ if(R.volume >= R.overdose_threshold && !R.overdosed && R.overdose_threshold > 0)
+ R.overdosed = 1
+ M << "You feel like you took too much of [R.name]!"
+ R.overdose_start(M)
+ if(R.volume >= R.addiction_threshold && !is_type_in_list(R, addiction_list) && R.addiction_threshold > 0)
+ var/datum/reagent/new_reagent = new R.type()
+ addiction_list.Add(new_reagent)
+ if(R.overdosed)
+ R.overdose_process(M)
+ if(is_type_in_list(R,addiction_list))
+ for(var/datum/reagent/addicted_reagent in addiction_list)
+ if(istype(R, addicted_reagent))
+ addicted_reagent.addiction_stage = -15 // you're satisfied for a good while.
+ R.on_mob_life(M)
+ else
+ if(last_tick == 3)
+ if(M && R)
+ if(M.reagent_check(R) != 1)
+ if(R.volume >= R.overdose_threshold && !R.overdosed && R.overdose_threshold > 0)
+ R.overdosed = 1
+ M << "You feel like you took too much of [R.name]!"
+ R.overdose_start(M)
+ if(R.volume >= R.addiction_threshold && !is_type_in_list(R, addiction_list) && R.addiction_threshold > 0)
+ var/datum/reagent/new_reagent = new R.type()
+ addiction_list.Add(new_reagent)
+ if(R.overdosed)
+ R.overdose_process(M)
+ if(is_type_in_list(R,addiction_list))
+ for(var/datum/reagent/addicted_reagent in addiction_list)
+ if(istype(R, addicted_reagent))
+ addicted_reagent.addiction_stage = -15 // you're satisfied for a good while.
+ R.on_mob_life(M)
+
if(addiction_tick == 6)
addiction_tick = 1
for(var/A in addiction_list)
@@ -247,6 +264,8 @@ datum/reagents/proc/metabolize(var/mob/M)
if(R.addiction_stage > 40)
M << "You feel like you've gotten over your need for [R.name]."
addiction_list.Remove(R)
+ if(last_tick == 3)
+ last_tick = 1
addiction_tick++
last_tick++
update_total()
@@ -383,7 +402,7 @@ datum/reagents/proc/check_ignoreslow(var/mob/M)
datum/reagents/proc/check_gofast(var/mob/M)
if(istype(M, /mob))
- if(M.reagents.has_reagent("unholywater")||M.reagents.has_reagent("nuka_cola")||M.reagents.has_reagent("hotline"))
+ if(M.reagents.has_reagent("unholywater")||M.reagents.has_reagent("nuka_cola")||M.reagents.has_reagent("cocaine"))
return 1
else
M.status_flags &= ~GOTTAGOFAST
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm
index ce3ce0a7ad5..7c6edf65ddb 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm
@@ -30,7 +30,7 @@ datum/reagent
var/addiction_threshold = 0
var/addiction_stage = 0
var/overdosed = 0 // You fucked up and this is now triggering it's overdose effects, purge that shit quick.
-
+ var/three_tick = 0 // set to 1 if you want this reagent to process every 3 ticks instead of every tick
datum/reagent/proc/reaction_mob(var/mob/M, var/method=TOUCH, var/volume, var/show_message = 1) //By default we have a chance to transfer some
if(!istype(M, /mob/living))
return 0