diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 51ab031bdfb..91a1cc97a96 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -87,11 +87,6 @@
else
user << "You need a tighter grip."
- if(istype(I,/obj/item/weapon/reagent_containers/glass/beaker))
- user << "It looks like a botanist dumped some compost in [src] during a previous shift. You scoop it up with [I]."
- reagents.add_reagent("compost", 15)
- return
-
if(cistern)
if(I.w_class > 3)
user << "[I] does not fit."
@@ -133,10 +128,6 @@
GM.adjustBruteLoss(8)
else
user << "You need a tighter grip."
- if(istype(I,/obj/item/weapon/reagent_containers/glass/beaker))
- user << "You scoop up the contained reagents with [I]."
- reagents.add_reagent("sewage", 15)
- return
/obj/machinery/shower
diff --git a/code/modules/reagents/Chemistry-Goon-420BlazeIt.dm b/code/modules/reagents/Chemistry-Goon-420BlazeIt.dm
index 543afc07c26..5d03c9d63db 100644
--- a/code/modules/reagents/Chemistry-Goon-420BlazeIt.dm
+++ b/code/modules/reagents/Chemistry-Goon-420BlazeIt.dm
@@ -21,33 +21,9 @@ datum/reagent/nicotine/on_mob_life(var/mob/living/M as mob)
if(volume > 35)
M << "You feel like you smoked too much."
M.adjustToxLoss(1*REM)
+ ..()
return
-datum/reagent/jenkem
- name = "Jenkem"
- id = "jenkem"
- description = "A legal chemical compound used as a drug."
- reagent_state = LIQUID
- color = "#60A584" // rgb: 96, 165, 132
-
-datum/reagent/jenkem/on_mob_life(var/mob/living/carbon/M as mob)
- if(!M) M = holder.my_atom
- var/high_message = pick("You wonder why the hell you just ingested that.", "You realize you are high as fuck.", "You feel the color blue.", "You ponder the meaning of red.", "You think deeply on the color green.", "You taste a horrible mixture, and you want to throw up, but you hold it back.")
- if(prob(30))
- M << high_message
- if(prob(25))
- M.adjustToxLoss(1*REM)
- M.dizziness += 1
- return
-
-/datum/chemical_reaction/jenkem
- name = "Jenkem"
- id = "jenkem"
- result = "jenkem"
- required_reagents = list("sewage" = 1, "compost" = 1)
- result_amount = 2
- mix_message = "The mixture ferments into a filthy morass."
-
datum/reagent/crank
name = "Crank"
id = "crank"
@@ -67,6 +43,7 @@ datum/reagent/crank/on_mob_life(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/chemical_reaction/crank
@@ -109,6 +86,7 @@ datum/reagent/crank/on_mob_life(var/mob/living/M as mob)
overdosed = 1
if(overdosed)
cycle_count++
+ ..()
return
/datum/chemical_reaction/krokodil
diff --git a/code/modules/reagents/Chemistry-Goon-Medicine.dm b/code/modules/reagents/Chemistry-Goon-Medicine.dm
index f5421ab4698..ea8b46c4f3c 100644
--- a/code/modules/reagents/Chemistry-Goon-Medicine.dm
+++ b/code/modules/reagents/Chemistry-Goon-Medicine.dm
@@ -10,7 +10,7 @@ datum/reagent/silver_sulfadiazine
description = "100% chance per cycle of healing 2 points of BURN damage."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
- metabolize_rate = 2
+ metabolization_rate = 2
datum/reagent/silver_sulfadiazine/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
if(method == TOUCH)
@@ -19,7 +19,7 @@ datum/reagent/silver_sulfadiazine/reaction_mob(var/mob/living/M as mob, var/meth
M.emote("scream")
if(method == INGEST)
M.adjustToxLoss(0.5*volume)
- M << "You probably shouldn't of eaten that. Maybe you should of splashed it on, or used a patch?"
+ M << "You probably shouldn't of eaten that. Maybe you should of splashed it on?"
..()
return
@@ -29,7 +29,7 @@ datum/reagent/styptic_powder
description = "100% chance per cycle of healing 2 points of BRUTE damage."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
- metabolize_rate = 2
+ metabolization_rate = 2
datum/reagent/styptic_powder/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
if(method == TOUCH)
@@ -38,7 +38,7 @@ datum/reagent/styptic_powder/reaction_mob(var/mob/living/M as mob, var/method=TO
M.emote("scream")
if(method == INGEST)
M.adjustToxLoss(0.5*volume)
- M << "You probably shouldn't of eaten that. Maybe you should of splashed it on, or used a patch?"
+ M << "You probably shouldn't of eaten that. Maybe you should of splashed it on?"
..()
return
@@ -80,40 +80,13 @@ datum/reagent/charcoal
description = "Heals 2 TOX damage per cycle."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
- overrides_metab = 1
- new_metabolize_rate = 0.5
+
datum/reagent/charcoal/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss(-2*REM)
..()
return
-datum/reagent/calomel
- name = "Calomel"
- id = "calomel"
- description = "Increases all depletion rates by 5. +5 TOX damage while health > 20."
- reagent_state = LIQUID
- color = "#C8A5DC" // rgb: 200, 165, 220
- overrides_metab = 1
- new_metabolize_rate = 5
- metabolize_rate = 2
-
-datum/reagent/calomel/on_mob_life(var/mob/living/M as mob)
- if(!M) M = holder.my_atom
- if(M.getTotalLoss() < 80)
- M.adjustToxLoss(5*REM)
- ..()
- return
-
-/datum/chemical_reaction/calomel
- name = "Calomel"
- id = "calomel"
- result = "calomel"
- required_reagents = list("mercury" = 1, "chlorine" = 1)
- result_amount = 2
- mix_message = "Stinging vapors rise from the solution."
- required_temp = 380
-
/datum/chemical_reaction/charcoal
name = "Charcoal"
id = "charcoal"
@@ -158,7 +131,7 @@ datum/reagent/omnizine
description = "Heals one each of OXY, TOX, BRUTE and BURN per cycle."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
- metabolize_rate = 0.2
+ metabolization_rate = 0.2
datum/reagent/omnizine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -199,8 +172,6 @@ datum/reagent/pen_acid
description = "80% chance of removing 1 RAD. Radiation is cumulative and causes tox+burn."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
- overrides_metab = 1
- new_metabolize_rate = 4
datum/reagent/pen_acid/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -249,7 +220,7 @@ datum/reagent/salbutamol
description = "Heals 6 OXY damage, reduces LOSEBREATH by 4."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
- metabolize_rate = 0.2
+ metabolization_rate = 0.2
datum/reagent/salbutamol/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -272,7 +243,7 @@ datum/reagent/perfluorodecalin
description = "Heals 25 OXY damage, but you can't talk. 33% chance of healing 1 BRUTE and 1 BURN."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
- metabolize_rate = 0.2
+ metabolization_rate = 0.2
datum/reagent/perfluorodecalin/on_mob_life(var/mob/living/carbon/human/M as mob)
if(!M) M = holder.my_atom
@@ -299,7 +270,7 @@ datum/reagent/ephedrine
description = "Stun reduction per cycle, increases run speed slightly, minor stamina regeneration buff, stabilizes crit."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
- metabolize_rate = 0.3
+ metabolization_rate = 0.3
datum/reagent/ephedrine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -327,8 +298,6 @@ datum/reagent/diphenhydramine
description = "Stun reduction per cycle, increases run speed slightly, minor stamina regeneration buff, stabilizes crit."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
- overrides_metab = 1
- new_metabolize_rate = 3
datum/reagent/diphenhydramine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.drowsyness -= 1
diff --git a/code/modules/reagents/Chemistry-Goon-Other.dm b/code/modules/reagents/Chemistry-Goon-Other.dm
index afb91ef9636..33752902ea8 100644
--- a/code/modules/reagents/Chemistry-Goon-Other.dm
+++ b/code/modules/reagents/Chemistry-Goon-Other.dm
@@ -11,17 +11,10 @@ datum/reagent/oil
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
-datum/reagent/compost
- name = "Compost"
- id = "compost"
- description = "A slippery solution."
- reagent_state = LIQUID
- color = "#C8A5DC" // rgb: 200, 165, 220
-
-datum/reagent/sewage
- name = "Sewage"
- id = "sewage"
- description = "A slippery solution."
+datum/reagent/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
diff --git a/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm b/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm
new file mode 100644
index 00000000000..9f734b0b4bb
--- /dev/null
+++ b/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm
@@ -0,0 +1,213 @@
+#define SOLID 1
+#define LIQUID 2
+#define GAS 3
+
+#define REM REAGENTS_EFFECT_MULTIPLIER
+
+/datum/reagent/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."
+ reagent_state = LIQUID
+ color = "#60A584" // rgb: 96, 165, 132
+
+
+/datum/reagent/clf3/on_mob_life(var/mob/living/M as mob)
+ if(!M) M = holder.my_atom
+ ..()
+ return
+
+/datum/chemical_reaction/clf3
+ name = "Chlorine Trifluoride"
+ id = "clf3"
+ result = "clf3"
+ required_reagents = list("chlorine" = 1, "fluorine" = 3)
+ result_amount = 4
+ required_temp = 424
+
+/datum/chemical_reaction/clf3/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/turf/simulated/T = get_turf(holder.my_atom)
+ if(istype(T))
+ T.atmos_spawn_air(SPAWN_HEAT | SPAWN_TOXINS, created_volume)
+ return
+
+/datum/reagent/clf3/reaction_turf(var/turf/simulated/T, var/volume)
+ if(istype(T, /turf/simulated/floor/))
+ var/turf/simulated/floor/F = T
+ if(prob(66))
+ F.make_plating()
+ if(prob(11))
+ F.ChangeTurf(/turf/space)
+ return
+
+/datum/reagent/clf3/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
+ if(!istype(M, /mob/living))
+ return
+ if(method == TOUCH)
+ M.adjust_fire_stacks(20)
+ return
+
+/datum/reagent/sorium
+ name = "Sorium"
+ id = "sorium"
+ description = "Sends everything flying from the detonation point."
+ reagent_state = LIQUID
+ color = "#60A584" // rgb: 96, 165, 132
+
+/datum/chemical_reaction/sorium
+ name = "Sorium"
+ id = "sorium"
+ result = "sorium"
+ required_reagents = list("mercury" = 1, "oxygen" = 1, "nitrogen" = 1, "carbon" = 1)
+ result_amount = 4
+ required_temp = 474
+
+/datum/reagent/sorium/reaction_turf(var/turf/simulated/T, var/volume)
+ if(istype(T, /turf/simulated/floor/))
+ for(var/atom/X in orange(5,T))
+ if(istype(X, /atom/movable))
+ if((X) &&(!X:anchored) && (!istype(X,/mob/living/carbon/human)))
+ step_away(X,T)
+ step_away(X,T)
+ step_away(X,T)
+ else if(istype(X,/mob/living/carbon/human))
+ var/mob/living/carbon/human/H = X
+ if(istype(H.shoes,/obj/item/clothing/shoes/magboots))
+ var/obj/item/clothing/shoes/magboots/M = H.shoes
+ if(M.magpulse)
+ continue
+ H.apply_effect(1, WEAKEN, 0)
+ step_away(H,T)
+ step_away(H,T)
+ step_away(H,T)
+ return
+/datum/reagent/sorium/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
+ if(!istype(M, /mob/living))
+ return
+ if(method == TOUCH)
+ var/turf/simulated/T = get_turf(M)
+ for(var/atom/X in orange(5,T))
+ if(istype(X, /atom/movable))
+ if((X) &&(!X:anchored) && (!istype(X,/mob/living/carbon/human)))
+ step_away(X,T)
+ step_away(X,T)
+ step_away(X,T)
+ else if(istype(X,/mob/living/carbon/human))
+ var/mob/living/carbon/human/H = X
+ if(istype(H.shoes,/obj/item/clothing/shoes/magboots))
+ var/obj/item/clothing/shoes/magboots/S = H.shoes
+ if(S.magpulse)
+ continue
+ H.apply_effect(1, WEAKEN, 0)
+ step_away(H,T)
+ step_away(H,T)
+ step_away(H,T)
+ return
+
+/datum/chemical_reaction/sorium/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/turf/simulated/T = get_turf(holder.my_atom)
+ for(var/atom/X in orange(5,T))
+ if(istype(X, /atom/movable))
+ if((X) &&(!X:anchored) && (!istype(X,/mob/living/carbon/human)))
+ step_away(X,T)
+ step_away(X,T)
+ step_away(X,T)
+ step_away(X,T)
+ step_away(X,T)
+ step_away(X,T)
+ else if(istype(X,/mob/living/carbon/human))
+ var/mob/living/carbon/human/H = X
+ if(istype(H.shoes,/obj/item/clothing/shoes/magboots))
+ var/obj/item/clothing/shoes/magboots/M = H.shoes
+ if(M.magpulse)
+ continue
+ H.apply_effect(1, WEAKEN, 0)
+ step_away(H,T)
+ step_away(H,T)
+ step_away(H,T)
+ step_away(H,T)
+ step_away(H,T)
+ step_away(H,T)
+ return
+
+/datum/reagent/liquid_dark_matter
+ name = "Liquid Dark Matter"
+ id = "liquid_dark_matter"
+ description = "Sucks everything into the detonation point."
+ reagent_state = LIQUID
+ color = "#60A584" // rgb: 96, 165, 132
+
+/datum/chemical_reaction/liquid_dark_matter
+ name = "Liquid Dark Matter"
+ id = "liquid_dark_matter"
+ result = "liquid_dark_matter"
+ required_reagents = list("stable_plasma" = 1, "radium" = 1, "carbon" = 1)
+ result_amount = 3
+ required_temp = 474
+
+/datum/reagent/liquid_dark_matter/reaction_turf(var/turf/simulated/T, var/volume)
+ if(istype(T, /turf/simulated/floor/))
+ for(var/atom/X in orange(5,T))
+ if(istype(X, /atom/movable))
+ if((X) &&(!X:anchored) && (!istype(X,/mob/living/carbon/human)))
+ step_towards(X,T)
+ step_towards(X,T)
+ step_towards(X,T)
+ else if(istype(X,/mob/living/carbon/human))
+ var/mob/living/carbon/human/H = X
+ if(istype(H.shoes,/obj/item/clothing/shoes/magboots))
+ var/obj/item/clothing/shoes/magboots/M = H.shoes
+ if(M.magpulse)
+ continue
+ H.apply_effect(1, WEAKEN, 0)
+ step_towards(H,T)
+ step_towards(H,T)
+ step_towards(H,T)
+ return
+/datum/reagent/liquid_dark_matter/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
+ if(!istype(M, /mob/living))
+ return
+ if(method == TOUCH)
+ var/turf/simulated/T = get_turf(M)
+ for(var/atom/X in orange(5,T))
+ if(istype(X, /atom/movable))
+ if((X) &&(!X:anchored) && (!istype(X,/mob/living/carbon/human)))
+ step_towards(X,T)
+ step_towards(X,T)
+ step_towards(X,T)
+ else if(istype(X,/mob/living/carbon/human))
+ var/mob/living/carbon/human/H = X
+ if(istype(H.shoes,/obj/item/clothing/shoes/magboots))
+ var/obj/item/clothing/shoes/magboots/S = H.shoes
+ if(S.magpulse)
+ continue
+ H.apply_effect(1, WEAKEN, 0)
+ step_towards(H,T)
+ step_towards(H,T)
+ step_towards(H,T)
+ return
+/datum/chemical_reaction/liquid_dark_matter/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/turf/simulated/T = get_turf(holder.my_atom)
+ for(var/atom/X in orange(5,T))
+ if(istype(X, /atom/movable))
+ if((X) &&(!X:anchored) && (!istype(X,/mob/living/carbon/human)))
+ step_towards(X,T)
+ step_towards(X,T)
+ step_towards(X,T)
+ step_towards(X,T)
+ step_towards(X,T)
+ step_towards(X,T)
+ else if(istype(X,/mob/living/carbon/human))
+ var/mob/living/carbon/human/H = X
+ if(istype(H.shoes,/obj/item/clothing/shoes/magboots))
+ var/obj/item/clothing/shoes/magboots/M = H.shoes
+ if(M.magpulse)
+ continue
+ H.apply_effect(1, WEAKEN, 0)
+ step_towards(H,T)
+ step_towards(H,T)
+ step_towards(H,T)
+ step_towards(H,T)
+ step_towards(H,T)
+ step_towards(H,T)
+ return
\ No newline at end of file
diff --git a/code/modules/reagents/Chemistry-Goon-Readme.dm b/code/modules/reagents/Chemistry-Goon-Readme.dm
index 48dfd2c50f7..0731e28ba93 100644
--- a/code/modules/reagents/Chemistry-Goon-Readme.dm
+++ b/code/modules/reagents/Chemistry-Goon-Readme.dm
@@ -5,4 +5,30 @@
THE REQUESTED DON'T PORT LIST: IF YOU PORT THESE THE GOONS WILL MURDER US IN OUR SLEEP SO PLEASE DON'T KTHX - Iamgoofball
Any of the Secret Chems
Goon in-joke chems (Eg. Cat Drugs, Hairgrownium)
+ Liquid Electricity
+ Rajajajah
+
+
+/datum/reagent/blankgoonchembase
+ name = "blank goonchem base"
+ id = "blankgoonchembase"
+ description = "A blank chem"
+ reagent_state = LIQUID
+ color = "#60A584" // rgb: 96, 165, 132
+
+
+/datum/reagent/blankgoonchembase/on_mob_life(var/mob/living/M as mob)
+ if(!M) M = holder.my_atom
+ ..()
+ return
+
+/datum/chemical_reaction/blankgoonchembase
+ name = "blank goonchem base"
+ id = "blankgoonchembase"
+ result = "blankgoonchembase"
+ required_reagents = list("diphenhydramine" = 1, "morphine" = 1, "cleaner" = 1)
+ result_amount = 3
+ mix_message = "The mixture dries into a pale blue powder."
+ required_temp = 420
+
*/
\ No newline at end of file
diff --git a/code/modules/reagents/Chemistry-Goon-Toxins.dm b/code/modules/reagents/Chemistry-Goon-Toxins.dm
index 90aeb08900a..6179a1a7edd 100644
--- a/code/modules/reagents/Chemistry-Goon-Toxins.dm
+++ b/code/modules/reagents/Chemistry-Goon-Toxins.dm
@@ -10,7 +10,7 @@ datum/reagent/polonium
description = "A toxic chemical."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
- metabolize_rate = 0.1
+ metabolization_rate = 0.1
datum/reagent/polonium/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -25,7 +25,7 @@ datum/reagent/histamine
description = "A toxic chemical."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
- metabolize_rate = 0.2
+ metabolization_rate = 0.2
datum/reagent/histamine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -78,7 +78,7 @@ datum/reagent/venom
description = "A toxic chemical."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
- metabolize_rate = 0.2
+ metabolization_rate = 0.2
datum/reagent/venom/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss((0.1*volume)*REM)
@@ -96,7 +96,7 @@ datum/reagent/neurotoxin2
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
var/cycle_count = 0
- metabolize_rate = 1
+ metabolization_rate = 1
datum/reagent/neurotoxin2/on_mob_life(var/mob/living/M as mob)
cycle_count++
@@ -123,7 +123,7 @@ datum/reagent/cyanide
description = "A highly toxic chemical."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
- metabolize_rate = 0.1
+ metabolization_rate = 0.1
datum/reagent/cyanide/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -145,12 +145,12 @@ datum/reagent/cyanide/on_mob_life(var/mob/living/M as mob)
required_temp = 380
/datum/reagent/questionmark // food poisoning
- name = "????"
+ name = "Bad Food"
id = "????"
description = "????"
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
- metabolize_rate = 0.2
+ metabolization_rate = 0.2
datum/reagent/questionmark/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index 0e1caeae7ac..842616eeb59 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -11,15 +11,15 @@
icon_state = "dispenser"
use_power = 1
idle_power_usage = 40
- var/energy = 50
- var/max_energy = 50
+ var/energy = 100
+ var/max_energy = 100
var/amount = 30
var/beaker = null
var/recharged = 0
- var/recharge_delay = 15 //Time it game ticks between recharges
+ var/recharge_delay = 5 //Time it game ticks between recharges
var/list/dispensable_reagents = list("hydrogen","lithium","carbon","nitrogen","oxygen","fluorine",
"sodium","aluminium","silicon","phosphorus","sulfur","chlorine","potassium","iron",
- "copper","mercury","radium","water","ethanol","sugar","sacid","fuel","silver","iodine","bromine","fluorine")
+ "copper","mercury","radium","water","ethanol","sugar","sacid","fuel","silver","iodine","bromine","fluorine","stable_plasma")
/obj/machinery/chem_dispenser/proc/recharge()
if(stat & (BROKEN|NOPOWER)) return
@@ -1267,8 +1267,8 @@ obj/machinery/computer/pandemic/proc/replicator_cooldown(var/waittime)
if(!beaker)
user << "Please insert a beaker."
return
- var/temperature = input("Please input desired temperature between 1 and 1000.", name, set_temp) as num
- if(temperature > 1000 || temperature < 1)
+ var/temperature = input("Please input desired temperature between 1 and 3000.", name, set_temp) as num
+ if(temperature > 3000 || temperature < 1)
user << "Invalid temperature."
return
user << "Adjusting chemical temperature..."
@@ -1279,4 +1279,4 @@ obj/machinery/computer/pandemic/proc/replicator_cooldown(var/waittime)
B.loc = get_turf(src)
beaker = null
icon_state = "mixer0b"
- B.reagents.handle_reactions()
+ B.reagents.handle_reactions()
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm
index 2151bbec53f..daa8f92ccd9 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm
@@ -23,6 +23,7 @@ datum/reagent
//var/list/viruses = list()
var/color = "#000000" // rgb: 0, 0, 0 (does not support alpha channels - yet!)
var/metabolization_rate = REAGENTS_METABOLISM
+ var/overrides_metab = 0
datum/reagent/proc/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) //By default we have a chance to transfer some
if(!istype(M, /mob/living))
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index ab30aa772f6..7b7f6481c90 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -15,6 +15,7 @@
var/list/can_be_placed_into = list(
/obj/machinery/chem_master/,
/obj/machinery/chem_dispenser/,
+ /obj/machinery/chem_heater/,
/obj/machinery/reagentgrinder,
/obj/structure/table,
/obj/structure/closet,
diff --git a/tgstation.dme b/tgstation.dme
index 871d19aeab2..e06505910d0 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1255,6 +1255,7 @@
#include "code\modules\reagents\Chemistry-Goon-420BlazeIt.dm"
#include "code\modules\reagents\Chemistry-Goon-Medicine.dm"
#include "code\modules\reagents\Chemistry-Goon-Other.dm"
+#include "code\modules\reagents\Chemistry-Goon-Pyrotechnics.dm"
#include "code\modules\reagents\Chemistry-Goon-Readme.dm"
#include "code\modules\reagents\Chemistry-Goon-Toxins.dm"
#include "code\modules\reagents\Chemistry-Holder.dm"