Files
Casper3667andGitHub 2e06b7c45e Prevents psiren omens, beckoners and the matriarch from being summoned (#23055)
Done on behalf of @VMSolidus. The reasoning is that the morale damage of
the omens and beckoners is balanced around there only being a couple,
while the gold slime core and the technomancer could spawn enough to
tank everyones morale damage to the ground. The matriarch was removed
from the gold slime core as an unintended spawn, due to its strength.
2026-08-13 16:20:59 +00:00

4627 lines
177 KiB
Plaintext

//helper that ensures the reaction rate holds after iterating
//Ex. REACTION_RATE(0.3) means that 30% of the reagents will react each chemistry tick (~2 seconds by default).
#define REACTION_RATE(rate) (1.0 - (1.0-rate)**(1.0/PROCESS_REACTION_ITER))
//helper to define reaction rate in terms of half-life
//Ex.
//HALF_LIFE(0) -> Reaction completes immediately (default chems)
//HALF_LIFE(1) -> Half of the reagents react immediately, the rest over the following ticks.
//HALF_LIFE(2) -> Half of the reagents are consumed after 2 chemistry ticks.
//HALF_LIFE(2.2) -> Half of the reagents are consumed after 2.2 chemistry ticks.
#define HALF_LIFE(ticks) (ticks? 1.0 - (0.5)**(1.0/(ticks*PROCESS_REACTION_ITER)) : 1.0)
/datum/chemical_reaction
var/name = null
var/id = null
var/result = null
var/list/required_reagents = list()
var/required_temperature_min // Temperatures must exceed this value to trigger.
var/required_temperature_max // Temperatures must be less than this value to trigger.
var/list/catalysts = list()
var/list/inhibitors = list()
var/result_amount = 0
//how far the reaction proceeds each time it is processed. Used with either REACTION_RATE or HALF_LIFE macros.
var/reaction_rate = HALF_LIFE(0)
//if less than 1, the reaction will be inhibited if the ratio of products/reagents is too high.
//0.5 = 50% yield -> reaction will only proceed halfway until products are removed.
var/yield = 1.0
//If limits on reaction rate would leave less than this amount of any reagent (adjusted by the reaction ratios),
//the reaction goes to completion. This is to prevent reactions from going on forever with tiny reagent amounts.
var/min_reaction = 2
var/mix_message = "The solution begins to bubble."
var/reaction_sound = 'sound/effects/bubbles.ogg'
var/log_is_important = 0 // If this reaction should be considered important for logging. Important recipes message admins when mixed, non-important ones just log to file.
/datum/chemical_reaction/proc/can_happen(var/datum/reagents/holder)
//check that all the required reagents are present
if(!holder.has_all_reagents(required_reagents))
return 0
//check that all the required catalysts are present in the required amount
if(!holder.has_all_reagents(catalysts))
return 0
//check that none of the inhibitors are present in the required amount
if(holder.has_any_reagent(inhibitors))
return 0
var/temp = holder.get_temperature()
if(required_temperature_min && (temp < required_temperature_min))
return 0
if(required_temperature_max && (temp > required_temperature_max))
return 0
return 1
/datum/chemical_reaction/proc/calc_reaction_progress(var/datum/reagents/holder, var/reaction_limit)
var/progress = reaction_limit * reaction_rate //simple exponential progression
//calculate yield
if(1-yield > 0.001) //if yield ratio is big enough just assume it goes to completion
/*
Determine the max amount of product by applying the yield condition:
(max_product/result_amount) / reaction_limit == yield/(1-yield)
We make use of the fact that:
reaction_limit = (REAGENT_VOLUME(holder, reactant) / required_reagents[reactant]) of the limiting reagent.
*/
var/yield_ratio = yield/(1-yield)
var/max_product = yield_ratio * reaction_limit * result_amount //rearrange to obtain max_product
var/yield_limit = max(0, max_product - REAGENT_VOLUME(holder, result))/result_amount
progress = min(progress, yield_limit) //apply yield limit
//apply min reaction progress - wasn't sure if this should go before or after applying yield
//I guess people can just have their miniscule reactions go to completion regardless of yield.
for(var/reactant in required_reagents)
var/remainder = REAGENT_VOLUME(holder, reactant) - progress*required_reagents[reactant]
if(remainder <= min_reaction*required_reagents[reactant])
progress = reaction_limit
break
return progress
/datum/chemical_reaction/process(var/datum/reagents/holder)
//determine how far the reaction can proceed
var/list/reaction_limits = list()
for(var/reactant in required_reagents)
reaction_limits += REAGENT_VOLUME(holder, reactant) / required_reagents[reactant]
//determine how far the reaction proceeds
var/reaction_limit = min(reaction_limits)
var/progress_limit = calc_reaction_progress(holder, reaction_limit)
var/reaction_progress = min(reaction_limit, progress_limit) //no matter what, the reaction progress cannot exceed the stoichiometric limit.
//need to obtain the new reagent's data before anything is altered
var/data = send_data(holder, reaction_progress)
//remove the reactants
var/total_thermal_energy = 0
for(var/reactant in required_reagents)
var/amt_used = required_reagents[reactant] * reaction_progress
var/singleton/reagent/removing_reagent = GET_SINGLETON(reactant)
var/energy_transfered = removing_reagent.get_thermal_energy(holder) * (amt_used / holder.reagent_volumes[reactant])
total_thermal_energy += energy_transfered
holder.remove_reagent(reactant, amt_used, safety = 1)
//add the product
var/amt_produced = result_amount * reaction_progress
if(result)
holder.add_reagent(result, amt_produced, data, safety = 1, new_thermal_energy = total_thermal_energy)
on_reaction(holder, amt_produced, total_thermal_energy)
return reaction_progress
//called when a reaction processes
/datum/chemical_reaction/proc/on_reaction(var/datum/reagents/holder, var/created_volume, var/created_thermal_energy)
return
//called after processing reactions, if they occurred
/datum/chemical_reaction/proc/post_reaction(var/datum/reagents/holder)
var/atom/container = holder.my_atom
if(container && !ismob(container))
var/turf/T = get_turf(container)
if(mix_message)
var/list/seen = viewers(4, T)
for(var/mob/M in seen)
M.show_message(SPAN_NOTICE("[icon2html(container, viewers(get_turf(src)))] [mix_message]"), 1)
if(reaction_sound)
playsound(T, reaction_sound, 80, 1)
//obtains any special data that will be provided to the reaction products
//this is called just before reactants are removed.
/datum/chemical_reaction/proc/send_data(var/datum/reagents/holder, var/reaction_limit)
return null
/* Common reactions */
/datum/chemical_reaction/inaprovaline
name = "Inaprovaline"
id = "inaprovaline"
result = /singleton/reagent/inaprovaline
required_reagents = list(/singleton/reagent/acetone = 1, /singleton/reagent/carbon = 1, /singleton/reagent/sugar = 1)
result_amount = 3
/datum/chemical_reaction/dylovene
name = "Dylovene"
id = "dylovene"
result = /singleton/reagent/dylovene
required_reagents = list(/singleton/reagent/silicon = 1, /singleton/reagent/potassium = 1, /singleton/reagent/ammonia = 1)
result_amount = 3
/datum/chemical_reaction/mortaphenyl
name = "Mortaphenyl"
id = "mortaphenyl"
result = /singleton/reagent/mortaphenyl
required_reagents = list(/singleton/reagent/inaprovaline = 1, /singleton/reagent/alcohol/ethanol = 1, /singleton/reagent/acetone = 1)
result_amount = 3
/datum/chemical_reaction/perconol
name = "Perconol"
id = "perconol"
result = /singleton/reagent/perconol
required_reagents = list(/singleton/reagent/mortaphenyl = 1, /singleton/reagent/sugar = 1, /singleton/reagent/hydrazine = 1)
result_amount = 3
/datum/chemical_reaction/oxycomorphine
name = "Oxycomorphine"
id = "oxycomorphine"
result = /singleton/reagent/oxycomorphine
required_reagents = list(/singleton/reagent/morphine = 1, /singleton/reagent/mortaphenyl = 1)
catalysts = list(/singleton/reagent/toxin/phoron = 5)
result_amount = 2
/datum/chemical_reaction/tramarineoxycomorphine
name = "Oxycomorphine (Artificial)"
id = "oxycomorphineartificial"
result = /singleton/reagent/oxycomorphine
required_reagents = list(/singleton/reagent/tramarine = 1, /singleton/reagent/mortaphenyl = 1)
catalysts = list(/singleton/reagent/toxin/phoron = 5)
result_amount = 1
/datum/chemical_reaction/heroin
name = "Heroin"
id = "heroin"
result = /singleton/reagent/drugs/heroin
required_reagents = list(/singleton/reagent/morphine = 2, /singleton/reagent/acetone = 2)
result_amount = 1
/datum/chemical_reaction/tramarineheroin
name = "Heroin (Artificial)"
id = "heroinartificial"
result = /singleton/reagent/drugs/heroin
required_reagents = list(/singleton/reagent/tramarine = 3, /singleton/reagent/acetone = 2)
result_amount = 1
/datum/chemical_reaction/sterilizine
name = "Sterilizine"
id = "sterilizine"
result = /singleton/reagent/sterilizine
required_reagents = list(/singleton/reagent/alcohol/ethanol = 1, /singleton/reagent/dylovene = 1, /singleton/reagent/acid/hydrochloric = 1)
result_amount = 3
/datum/chemical_reaction/silicate
name = "Silicate"
id = "silicate"
result = /singleton/reagent/silicate
required_reagents = list(/singleton/reagent/aluminum = 1, /singleton/reagent/silicon = 1, /singleton/reagent/acetone = 1)
result_amount = 3
/datum/chemical_reaction/mutagen
name = "Unstable mutagen"
id = "mutagen"
result = /singleton/reagent/mutagen
required_reagents = list(/singleton/reagent/radium = 1, /singleton/reagent/phosphorus = 1, /singleton/reagent/acid/hydrochloric = 1)
result_amount = 3
/datum/chemical_reaction/thermite
name = "Thermite"
id = "thermite"
result = /singleton/reagent/thermite
required_reagents = list(/singleton/reagent/aluminum = 1, /singleton/reagent/iron = 1, /singleton/reagent/acetone = 1)
result_amount = 3
/datum/chemical_reaction/mms
name = "Mercury Monolithium Sucrose"
id = "space_drugs"
result = /singleton/reagent/drugs/mms
required_reagents = list(/singleton/reagent/mercury = 1, /singleton/reagent/sugar = 1, /singleton/reagent/lithium = 1)
result_amount = 3
/datum/chemical_reaction/snowflake
name = "Snowflake"
id = "snowflake"
result = /singleton/reagent/drugs/snowflake
required_reagents = list(/singleton/reagent/frostoil = 1, /singleton/reagent/fuel = 1, /singleton/reagent/sulfur = 1)
result_amount = 1
/datum/chemical_reaction/cocaine
name = "Cocaine"
id = "cocaine"
result = /singleton/reagent/drugs/cocaine
required_reagents = list(/singleton/reagent/nutriment/cocagrounds = 1, /singleton/reagent/acid/hydrochloric = 1)
result_amount = 1
/datum/chemical_reaction/contemplus
name = "Contemplus"
id = "contemplus"
result = /singleton/reagent/drugs/cocaine/contemplus
required_reagents = list(/singleton/reagent/drugs/cocaine = 1, /singleton/reagent/synaptizine = 1, /singleton/reagent/mental/emoxanyl = 1)
result_amount = 2
/datum/chemical_reaction/spotlight
name = "Spotlight"
id = "spotlight"
result = /singleton/reagent/drugs/cocaine/spotlight
required_reagents = list(/singleton/reagent/drugs/cocaine = 1, /singleton/reagent/synaptizine = 1, /singleton/reagent/mental/parvosil = 1)
result_amount = 2
/datum/chemical_reaction/sparkle
name = "Sparkle"
id = "sparkle"
result = /singleton/reagent/drugs/cocaine/sparkle
required_reagents = list(/singleton/reagent/drugs/cocaine = 1, /singleton/reagent/synaptizine = 1, /singleton/reagent/mental/minaphobin = 1)
result_amount = 2
/datum/chemical_reaction/lube
name = "Space Lube"
id = "lube"
result = /singleton/reagent/lube
required_reagents = list(/singleton/reagent/water = 1, /singleton/reagent/silicon = 1, /singleton/reagent/acetone = 1)
result_amount = 4
/datum/chemical_reaction/pacid
name = "Polytrinic acid"
id = "pacid"
result = /singleton/reagent/acid/polyacid
required_reagents = list(/singleton/reagent/acid = 1, /singleton/reagent/acid/hydrochloric = 1, /singleton/reagent/potassium = 1)
result_amount = 3
/datum/chemical_reaction/synaptizine
name = "Synaptizine"
id = "synaptizine"
result = /singleton/reagent/synaptizine
required_reagents = list(/singleton/reagent/sugar = 1, /singleton/reagent/lithium = 1, /singleton/reagent/water = 1)
result_amount = 3
/datum/chemical_reaction/hyronalin
name = "Hyronalin"
id = "hyronalin"
result = /singleton/reagent/hyronalin
required_reagents = list(/singleton/reagent/radium = 1, /singleton/reagent/dylovene = 1)
result_amount = 2
/datum/chemical_reaction/arithrazine
name = "Arithrazine"
id = "arithrazine"
result = /singleton/reagent/arithrazine
required_reagents = list(/singleton/reagent/hyronalin = 1, /singleton/reagent/hydrazine = 1)
result_amount = 2
/datum/chemical_reaction/impedrezene
name = "Impedrezene"
id = "impedrezene"
result = /singleton/reagent/drugs/impedrezene
required_reagents = list(/singleton/reagent/mercury = 1, /singleton/reagent/acetone = 1, /singleton/reagent/sugar = 1)
result_amount = 2
/datum/chemical_reaction/kelotane
name = "Kelotane"
id = "kelotane"
result = /singleton/reagent/kelotane
required_reagents = list(/singleton/reagent/silicon = 1, /singleton/reagent/carbon = 1)
result_amount = 2
log_is_important = 1
/datum/chemical_reaction/peridaxon
name = "Peridaxon"
id = "peridaxon"
result = /singleton/reagent/peridaxon
required_reagents = list(/singleton/reagent/bicaridine = 1, /singleton/reagent/clonexadone = 1)
catalysts = list(/singleton/reagent/toxin/phoron = 5)
result_amount = 1
/datum/chemical_reaction/virus_food
name = "Virus Food"
id = "virusfood"
result = /singleton/reagent/nutriment/virusfood
required_reagents = list(/singleton/reagent/water = 1, /singleton/reagent/drink/milk = 1, /singleton/reagent/sugar = 1)
result_amount = 6
/datum/chemical_reaction/leporazine
name = "Leporazine"
id = "leporazine"
result = /singleton/reagent/leporazine
required_reagents = list(/singleton/reagent/silicon = 1, /singleton/reagent/copper = 1)
catalysts = list(/singleton/reagent/toxin/phoron = 5)
result_amount = 2
/datum/chemical_reaction/cryptobiolin
name = "Cryptobiolin"
id = "cryptobiolin"
result = /singleton/reagent/drugs/cryptobiolin
required_reagents = list(/singleton/reagent/potassium = 1, /singleton/reagent/acetone = 1, /singleton/reagent/sugar = 1)
result_amount = 3
/datum/chemical_reaction/tricordrazine
name = "Tricordrazine"
id = "tricordrazine"
result = /singleton/reagent/tricordrazine
required_reagents = list(/singleton/reagent/water = 1, /singleton/reagent/inaprovaline = 1, /singleton/reagent/dylovene = 1)
result_amount = 3
/datum/chemical_reaction/alkysine
name = "Alkysine"
id = "alkysine"
result = /singleton/reagent/alkysine
required_reagents = list(/singleton/reagent/acid/hydrochloric = 1, /singleton/reagent/ammonia = 1, /singleton/reagent/dylovene = 1)
result_amount = 2
/datum/chemical_reaction/dexalin
name = "Dexalin"
id = "dexalin"
result = /singleton/reagent/dexalin
required_reagents = list(/singleton/reagent/acetone = 2, /singleton/reagent/toxin/phoron = 0.1)
catalysts = list(/singleton/reagent/toxin/phoron = 1)
inhibitors = list(/singleton/reagent/water = 1) // Messes with cryox
result_amount = 1
/datum/chemical_reaction/dermaline
name = "Dermaline"
id = "dermaline"
result = /singleton/reagent/dermaline
required_reagents = list(/singleton/reagent/acetone = 1, /singleton/reagent/phosphorus = 1, /singleton/reagent/kelotane = 1)
result_amount = 3
/datum/chemical_reaction/dexalinp
name = "Dexalin Plus"
id = "dexalinp"
result = /singleton/reagent/dexalin/plus
required_reagents = list(/singleton/reagent/dexalin = 1, /singleton/reagent/carbon = 1, /singleton/reagent/iron = 1)
result_amount = 3
/datum/chemical_reaction/butazoline
name = "Butazoline"
id = "butazoline"
result = /singleton/reagent/butazoline
required_reagents = list(/singleton/reagent/bicaridine = 1, /singleton/reagent/aluminum = 1, /singleton/reagent/acid/hydrochloric = 1)
result_amount = 3
/datum/chemical_reaction/bicaridine
name = "Bicaridine"
id = "bicaridine"
result = /singleton/reagent/bicaridine
required_reagents = list(/singleton/reagent/inaprovaline = 1, /singleton/reagent/carbon = 1)
inhibitors = list(/singleton/reagent/sugar = 1) //Messes with inaprovaline
result_amount = 2
/datum/chemical_reaction/hyperzine
name = "Hyperzine"
id = "hyperzine"
result = /singleton/reagent/hyperzine
required_reagents = list(/singleton/reagent/sugar = 1, /singleton/reagent/phosphorus = 1, /singleton/reagent/sulfur = 1)
result_amount = 3
/datum/chemical_reaction/ryetalyn
name = "Ryetalyn"
id = "ryetalyn"
result = /singleton/reagent/ryetalyn
required_reagents = list(/singleton/reagent/arithrazine = 1, /singleton/reagent/carbon = 1)
result_amount = 2
/datum/chemical_reaction/cryoxadone
name = "Cryoxadone"
id = "cryoxadone"
result = /singleton/reagent/cryoxadone
required_reagents = list(/singleton/reagent/dexalin = 1, /singleton/reagent/water = 1, /singleton/reagent/acetone = 1)
result_amount = 3
/datum/chemical_reaction/clonexadone
name = "Clonexadone"
id = "clonexadone"
result = /singleton/reagent/clonexadone
required_reagents = list(/singleton/reagent/cryoxadone = 1, /singleton/reagent/sodium = 1, /singleton/reagent/toxin/phoron = 0.1)
catalysts = list(/singleton/reagent/toxin/phoron = 5)
result_amount = 2
/datum/chemical_reaction/thetamycin
name = "Thetamycin"
id = "thetamycin"
result = /singleton/reagent/thetamycin
required_reagents = list(/singleton/reagent/drugs/cryptobiolin = 1, /singleton/reagent/dylovene = 1)
result_amount = 2
/datum/chemical_reaction/steramycin
name = "Steramycin"
id = "steramycin"
result = /singleton/reagent/steramycin
required_reagents = list(/singleton/reagent/thetamycin = 2, /singleton/reagent/sterilizine = 1, /singleton/reagent/radium = 1)
result_amount = 2
/datum/chemical_reaction/cytophenolate
name = "Cytophenolate"
id = "cytophenolate"
result = /singleton/reagent/cytophenolate
required_reagents = list(/singleton/reagent/fluvectionem = 1, /singleton/reagent/alcohol/ethanol = 1, /singleton/reagent/sugar = 1)
result_amount = 3
/datum/chemical_reaction/antiparasitic
name = "Helmizole"
id = "helmizole"
result = /singleton/reagent/antiparasitic
required_reagents = list(/singleton/reagent/dylovene = 1, /singleton/reagent/fluvectionem = 1, /singleton/reagent/leporazine = 1)
result_amount = 2
/datum/chemical_reaction/cetahydramine
name = "Cetahydramine"
id = "cetahydramine"
result = /singleton/reagent/cetahydramine
required_reagents = list(/singleton/reagent/drugs/cryptobiolin = 1, /singleton/reagent/inaprovaline = 1)
result_amount = 2
/datum/chemical_reaction/asinodryl
name = "Asinodryl"
id = "asinodryl"
result = /singleton/reagent/asinodryl
required_reagents = list(/singleton/reagent/cetahydramine = 1, /singleton/reagent/synaptizine = 1, /singleton/reagent/water = 3)
catalysts = list(/singleton/reagent/tungsten = 5)
result_amount = 3
/datum/chemical_reaction/oculine
name = "oculine"
id = "oculine"
result = /singleton/reagent/oculine
required_reagents = list(/singleton/reagent/carbon = 1, /singleton/reagent/hydrazine = 1, /singleton/reagent/dylovene = 1)
result_amount = 2
/datum/chemical_reaction/ethylredoxrazine
name = "Ethylredoxrazine"
id = "ethylredoxrazine"
result = /singleton/reagent/ethylredoxrazine
required_reagents = list(/singleton/reagent/acetone = 1, /singleton/reagent/dylovene = 1, /singleton/reagent/carbon = 1)
result_amount = 3
/datum/chemical_reaction/verunol
name = "Verunol Syrup"
id = "verunol"
result = /singleton/reagent/verunol
required_reagents = list(/singleton/reagent/hydrazine = 1, /singleton/reagent/dylovene = 1, /singleton/reagent/alcohol/ethanol = 1)
result_amount = 3
/datum/chemical_reaction/adipemcina
name = "Adipemcina"
id = "adipemcina"
result = /singleton/reagent/adipemcina
required_reagents = list(/singleton/reagent/lithium = 1, /singleton/reagent/dylovene = 1, /singleton/reagent/potassium = 1)
result_amount = 3
/datum/chemical_reaction/soporific
name = "Soporific"
id = "stoxin"
result = /singleton/reagent/soporific
required_reagents = list(/singleton/reagent/polysomnine = 1, /singleton/reagent/sugar = 4)
inhibitors = list(/singleton/reagent/phosphorus) // Messes with the smoke
result_amount = 5
/datum/chemical_reaction/polysomnine
name = "Polysomnine"
id = "polysomnine"
result = /singleton/reagent/polysomnine
required_reagents = list(/singleton/reagent/alcohol/ethanol = 1, /singleton/reagent/acid/hydrochloric = 3, /singleton/reagent/water = 1)
result_amount = 1
/datum/chemical_reaction/potassium_chloride
name = "Potassium Chloride"
id = "potassium_chloride"
result = /singleton/reagent/toxin/potassium_chloride
required_reagents = list(/singleton/reagent/sodiumchloride = 1, /singleton/reagent/potassium = 1)
result_amount = 2
/datum/chemical_reaction/potassium_chlorophoride
name = "Potassium Chlorophoride"
id = "potassium_chlorophoride"
result = /singleton/reagent/toxin/potassium_chlorophoride
required_reagents = list(/singleton/reagent/toxin/potassium_chloride = 1, /singleton/reagent/toxin/phoron = 1, /singleton/reagent/polysomnine = 1)
result_amount = 4
/datum/chemical_reaction/zombiepowder
name = "Zombie Powder"
id = "zombiepowder"
result = /singleton/reagent/toxin/zombiepowder
required_reagents = list(/singleton/reagent/toxin/carpotoxin = 5, /singleton/reagent/soporific = 5, /singleton/reagent/copper = 5)
result_amount = 2
/datum/chemical_reaction/dextrotoxin
name = "Dextrotoxin"
id = "dextrotoxin"
result = /singleton/reagent/toxin/dextrotoxin
required_reagents = list(/singleton/reagent/toxin/carpotoxin = 3, /singleton/reagent/soporific = 10, /singleton/reagent/toxin/phoron = 5)
result_amount = 5
/datum/chemical_reaction/mindbreaker
name = "Mindbreaker Toxin"
id = "mindbreaker"
result = /singleton/reagent/drugs/mindbreaker
required_reagents = list(/singleton/reagent/silicon = 1, /singleton/reagent/hydrazine = 1, /singleton/reagent/dylovene = 1)
result_amount = 3
/datum/chemical_reaction/lipozine
name = "Lipozine"
id = "Lipozine"
result = /singleton/reagent/lipozine
required_reagents = list(/singleton/reagent/sodiumchloride = 1, /singleton/reagent/alcohol/ethanol = 1, /singleton/reagent/radium = 1)
result_amount = 3
/datum/chemical_reaction/coagzolug
name = "Coagzolug"
id = "coagzolug"
result = /singleton/reagent/coagzolug
required_reagents = list(/singleton/reagent/tricordrazine = 1, /singleton/reagent/antidexafen = 1)
result_amount = 1 // result is 1. i imagine it's because of some whacky reaction
/datum/chemical_reaction/surfactant
name = "Azosurfactant"
id = "surfactant"
result = /singleton/reagent/surfactant
required_reagents = list(/singleton/reagent/hydrazine = 2, /singleton/reagent/carbon = 2, /singleton/reagent/acid = 1)
result_amount = 5
/datum/chemical_reaction/diethylamine
name = "Diethylamine"
id = "diethylamine"
result = /singleton/reagent/diethylamine
required_reagents = list(/singleton/reagent/ammonia = 1, /singleton/reagent/alcohol/ethanol = 1)
result_amount = 2
/datum/chemical_reaction/space_cleaner
name = "Space cleaner"
id = "cleaner"
result = /singleton/reagent/spacecleaner
required_reagents = list(/singleton/reagent/ammonia = 1, /singleton/reagent/water = 1)
result_amount = 2
/datum/chemical_reaction/antifuel
name = "Antifuel"
id = "antifuel"
result = /singleton/reagent/antifuel
required_reagents = list(/singleton/reagent/spacecleaner = 1, /singleton/reagent/sodium = 1)
result_amount = 2
/datum/chemical_reaction/plantbgone
name = "Plant-B-Gone"
id = "plantbgone"
result = /singleton/reagent/toxin/plantbgone
required_reagents = list(/singleton/reagent/toxin = 1, /singleton/reagent/water = 4)
result_amount = 5
/datum/chemical_reaction/foaming_agent
name = "Foaming Agent"
id = "foaming_agent"
result = /singleton/reagent/foaming_agent
required_reagents = list(/singleton/reagent/lithium = 1, /singleton/reagent/hydrazine = 1)
result_amount = 1
/datum/chemical_reaction/glycerol
name = "Glycerol"
id = "glycerol"
result = /singleton/reagent/glycerol
required_reagents = list(/singleton/reagent/nutriment/triglyceride = 1, /singleton/reagent/alcohol/ethanol = 2) // transesterification of triglycerides into butanol and glycerol
catalysts = list(/singleton/reagent/acid = 5) // using acid as a catalyst
result_amount = 3 //each triglyceride has 3 glycerin chains.
/datum/chemical_reaction/glycerol/butanol
name = "Glycerol"
id = "glycerol-butane"
result = /singleton/reagent/glycerol
required_reagents = list(/singleton/reagent/nutriment/triglyceride = 1, /singleton/reagent/alcohol/butanol = 2)
/datum/chemical_reaction/glycerol/on_reaction(var/datum/reagents/holder, var/created_volume)
holder.add_reagent(/singleton/reagent/acetone, 2 * created_volume / 3) // closest we can get to biofuel, sorry
/datum/chemical_reaction/glucose
name = "Glucose"
id = "glucose"
result = /singleton/reagent/nutriment/glucose
required_reagents = list(/singleton/reagent/nutriment = 5) // thank you, Gottlieb Kirchhoff
catalysts = list(/singleton/reagent/acid = 5 )//starch into sugar with sulfuric acid catalyst
/datum/chemical_reaction/sodiumchloride
name = "Sodium Chloride"
id = "sodiumchloride"
result = /singleton/reagent/sodiumchloride
required_reagents = list(/singleton/reagent/sodium = 1, /singleton/reagent/acid/hydrochloric = 1)
result_amount = 2
/datum/chemical_reaction/condensedcapsaicin
name = "Condensed Capsaicin"
id = "condensedcapsaicin"
result = /singleton/reagent/capsaicin/condensed
required_reagents = list(/singleton/reagent/capsaicin = 2)
catalysts = list(/singleton/reagent/toxin/phoron = 5)
result_amount = 1
/datum/chemical_reaction/coolant
name = "Coolant"
id = "coolant"
result = /singleton/reagent/coolant
required_reagents = list(/singleton/reagent/tungsten = 1, /singleton/reagent/acetone = 1, /singleton/reagent/water = 1)
result_amount = 3
log_is_important = 1
/datum/chemical_reaction/rezadone
name = "Rezadone"
id = "rezadone"
result = /singleton/reagent/rezadone
required_reagents = list(/singleton/reagent/toxin/carpotoxin = 1, /singleton/reagent/drugs/cryptobiolin = 1, /singleton/reagent/copper = 1)
result_amount = 3
/datum/chemical_reaction/lexorin
name = "Lexorin"
id = "lexorin"
result = /singleton/reagent/lexorin
required_reagents = list(/singleton/reagent/tungsten = 1, /singleton/reagent/hydrazine = 1, /singleton/reagent/ammonia = 1)
catalysts = list(/singleton/reagent/toxin/phoron = 5)
result_amount = 3
/datum/chemical_reaction/fluvectionem
name = "Fluvectionem"
id = "fluvectionem"
result = /singleton/reagent/fluvectionem
required_reagents = list(/singleton/reagent/mercury = 1, /singleton/reagent/sodiumchloride = 1, /singleton/reagent/ammonia = 1)
result_amount = 3
/datum/chemical_reaction/cardox
name = "Cardox"
id = "cardox"
result = /singleton/reagent/toxin/cardox
required_reagents = list(/singleton/reagent/platinum = 1, /singleton/reagent/carbon = 1, /singleton/reagent/sterilizine = 1)
result_amount = 3
/datum/chemical_reaction/cardox_removal
name = "Cardox Removal"
id = "cardox_removal"
result = /singleton/reagent/carbon
required_reagents = list(/singleton/reagent/toxin/cardox = 0.1, /singleton/reagent/toxin/phoron = 1)
result_amount = 0
/datum/chemical_reaction/monoammoniumphosphate
name = "Monoammoniumphosphate"
id = "monoammoniumphosphate"
result = /singleton/reagent/toxin/fertilizer/monoammoniumphosphate
required_reagents = list(/singleton/reagent/ammonia = 1, /singleton/reagent/acid = 1, /singleton/reagent/sodium = 1, /singleton/reagent/phosphorus = 1)
result_amount = 4
/datum/chemical_reaction/koispasteclean
name = "Filtered K'ois"
id = "koispasteclean"
result = /singleton/reagent/kois/clean
required_reagents = list(/singleton/reagent/kois = 2,/singleton/reagent/toxin/cardox = 0.1)
catalysts = list(/singleton/reagent/toxin/cardox = 5)
result_amount = 1
/datum/chemical_reaction/pulmodeiectionem
name = "Pulmodeiectionem"
id = "pulmodeiectionem"
result = /singleton/reagent/pulmodeiectionem
required_reagents = list(/singleton/reagent/fluvectionem = 1, /singleton/reagent/lexorin = 1)
result_amount = 2
/datum/chemical_reaction/pneumalin
name = "Pneumalin"
id = "pneumalin"
result = /singleton/reagent/pneumalin
required_reagents = list(/singleton/reagent/antidexafen = 1, /singleton/reagent/copper = 1, /singleton/reagent/pulmodeiectionem = 1)
result_amount = 2
/datum/chemical_reaction/saline
name = "Saline Plus"
id = "saline"
result = /singleton/reagent/saline
required_reagents = list(/singleton/reagent/water = 2, /singleton/reagent/sugar = 0.5, /singleton/reagent/sodiumchloride = 1)
catalysts = list(/singleton/reagent/toxin/phoron = 5)
result_amount = 2
/datum/chemical_reaction/cataleptinol
name = "Cataleptinol"
id = "cataleptinol"
result = /singleton/reagent/cataleptinol
required_reagents = list(/singleton/reagent/toxin/phoron = 0.5, /singleton/reagent/alkysine = 2, /singleton/reagent/clonexadone = 1)
catalysts = list(/singleton/reagent/cryosilicate = 5)
result_amount = 1
/datum/chemical_reaction/coughsyrup
name = "Cough Syrup"
id = "coughsyrup"
result = /singleton/reagent/antidexafen
required_reagents = list(/singleton/reagent/carbon = 1, /singleton/reagent/tungsten = 1, /singleton/reagent/water = 1)
result_amount = 3
/datum/chemical_reaction/inacusiate
name = "Inacusiate"
id = "inacusiate"
result = /singleton/reagent/inacusiate
required_reagents = list(/singleton/reagent/dylovene = 1, /singleton/reagent/carbon = 1, /singleton/reagent/sulfur = 1)
result_amount = 2
/datum/chemical_reaction/tramarine
name = "Tramarine"
id = "tramarine"
result = /singleton/reagent/tramarine
required_reagents = list(/singleton/reagent/toxin/potassium_chloride = 1, /singleton/reagent/polysomnine = 1)
catalysts = list(/singleton/reagent/sodium = 5)
result_amount = 1
//Mental Medication
/datum/chemical_reaction/corophenidate
name = "Corophenidate"
id = "corophenidate"
result = /singleton/reagent/mental/corophenidate
required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/hydrazine = 1)
result_amount = 2
/datum/chemical_reaction/minaphobin
name = "Minaphobin"
id = "minaphobin"
result = /singleton/reagent/mental/minaphobin
required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/carbon = 1)
result_amount = 2
/datum/chemical_reaction/adrenaline
name = "Adrenaline"
result = /singleton/reagent/adrenaline
required_reagents = list(/singleton/reagent/inaprovaline = 1, /singleton/reagent/hyperzine = 1, /singleton/reagent/dexalin/plus = 1)
result_amount = 3
/datum/chemical_reaction/neurostabin
name = "Neurostabin"
id = "neurostabin"
result = /singleton/reagent/mental/neurostabin
required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/iron = 1, /singleton/reagent/potassium = 1)
result_amount = 3
/datum/chemical_reaction/parvosil
name = "Parvosil"
id = "parvosil"
result = /singleton/reagent/mental/parvosil
required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/aluminum = 1, /singleton/reagent/potassium = 1)
result_amount = 3
/datum/chemical_reaction/emoxanyl
name = "Emoxanyl"
id = "emoxanyl"
result = /singleton/reagent/mental/emoxanyl
required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/silicon = 1, /singleton/reagent/alcohol/ethanol = 1)
result_amount = 3
/datum/chemical_reaction/orastabin
name = "Orastabin"
id = "orastabin"
result = /singleton/reagent/mental/orastabin
required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/sodium = 1, /singleton/reagent/tungsten = 1)
result_amount = 3
/datum/chemical_reaction/neurapan
name = "Neurapan"
id = "neurapan"
result = /singleton/reagent/mental/neurapan
required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/drugs/mms = 1, /singleton/reagent/alcohol/ethanol = 1)
result_amount = 3
/datum/chemical_reaction/nerospectan
name = "Nerospectan"
id = "nerospectan"
result = /singleton/reagent/mental/nerospectan
required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/drugs/mms = 1, /singleton/reagent/silicon = 1)
result_amount = 3
/datum/chemical_reaction/truthserum
name = "Truthserum"
id = "truthserum"
result = /singleton/reagent/mental/truthserum
required_reagents = list(/singleton/reagent/drugs/mindbreaker = 1, /singleton/reagent/synaptizine = 1, /singleton/reagent/toxin/phoron = 0.1)
result_amount = 2
/datum/chemical_reaction/pacifier
name = "Paxazide"
id = "paxazide"
result = /singleton/reagent/pacifier
required_reagents = list(/singleton/reagent/mental/truthserum = 1, /singleton/reagent/mental/parvosil = 1)
result_amount = 1
/datum/chemical_reaction/berserk
name = "Red Nightshade"
id = "berserk"
result = /singleton/reagent/toxin/berserk
required_reagents = list(/singleton/reagent/toxin/stimm = 1, /singleton/reagent/synaptizine = 1, /singleton/reagent/toxin/phoron = 0.1)
result_amount = 1
/datum/chemical_reaction/joy
name = "Joy"
id = "joy"
result = /singleton/reagent/drugs/joy
required_reagents = list(/singleton/reagent/mental/neurapan = 1, /singleton/reagent/drugs/heroin = 2)
result_amount = 1
/datum/chemical_reaction/xuxigas
name = "Xu'Xi Gas"
id = "xuxigas"
result = /singleton/reagent/drugs/xuxigas
required_reagents = list(/singleton/reagent/dexalin = 2, /singleton/reagent/drugs/mms = 2, /singleton/reagent/mental/truthserum = 1)
required_temperature_min = T0C + 134
result_amount = 5
/datum/chemical_reaction/skrell_nootropic
name = "Co'qnixq Wuxi"
id = "skrell_nootropic"
result = /singleton/reagent/drugs/skrell_nootropic
required_reagents = list(/singleton/reagent/wulumunusha = 1, /singleton/reagent/synaptizine = 1, /singleton/reagent/mental/emoxanyl = 1)
result_amount = 3
/* Makeshift Chemicals and Drugs */
/datum/chemical_reaction/stimm
name = "Stimm"
id = "stimm"
result = /singleton/reagent/toxin/stimm
required_reagents = list(/singleton/reagent/fuel = 1, /singleton/reagent/drink/rewriter = 5)
result_amount = 6
/datum/chemical_reaction/krokjuice
name = "Krok Juice"
id = "krok"
result = /singleton/reagent/toxin/krok
required_reagents = list(/singleton/reagent/drink/orangejuice = 2, /singleton/reagent/fuel = 1, /singleton/reagent/iron = 1)
result_amount = 4
/datum/chemical_reaction/raskara_dust
name = "Raskara Dust"
id = "raskara_dust"
result = /singleton/reagent/drugs/raskara_dust
required_reagents = list(/singleton/reagent/toxin/fertilizer/monoammoniumphosphate = 1, /singleton/reagent/spacecleaner = 1, /singleton/reagent/sodiumchloride = 2) // extinguisher, cleaner, salt
required_temperature_min = T0C + 127 // barely over boiling point of water, 400C
result_amount = 2
/datum/chemical_reaction/nightjuice
name = "Nightlife"
id = "night_juice"
result = /singleton/reagent/drugs/night_juice
required_reagents = list(/singleton/reagent/mental/corophenidate = 1, /singleton/reagent/synaptizine = 1, /singleton/reagent/nitroglycerin = 1)
required_temperature_min = T0C + 200
result_amount = 3
/datum/chemical_reaction/dionae_stimulant
name = "Diesel"
id = "dionae_stimulant"
result = /singleton/reagent/drugs/dionae_stimulant
required_reagents = list(/singleton/reagent/uranium = 2, /singleton/reagent/toxin/fertilizer/robustharvest = 2, /singleton/reagent/nutriment/caramel = 3, /singleton/reagent/fuel = 1)
required_temperature_min = T0C + 621 //Mix reactants with 10u salt, then pour 30u of solution in one go into 30u of pyrosilicate. Pyrosilicate will be consumed; salt must be separated.
result_amount = 3
/datum/chemical_reaction/colorspace
name = "Colorspace"
id = "colorspace"
result = /singleton/reagent/drugs/colorspace
required_reagents = list(/singleton/reagent/hydrazine = 1, /singleton/reagent/alcohol/ethanol = 1, /singleton/reagent/silicon = 1)
result_amount = 1
/* Solidification */
/datum/chemical_reaction/phoronsolidification
name = "Solid Phoron"
id = "solidphoron"
result = null
required_reagents = list(/singleton/reagent/iron = 5, /singleton/reagent/frostoil = 5, /singleton/reagent/toxin/phoron = 20)
result_amount = 1
/datum/chemical_reaction/phoronsolidification/on_reaction(var/datum/reagents/holder, var/created_volume)
new /obj/item/stack/material/phoron(get_turf(holder.my_atom), created_volume)
return
/datum/chemical_reaction/plastication
name = "Plastic"
id = "solidplastic"
result = null
required_reagents = list(/singleton/reagent/acid/polyacid = 1, /singleton/reagent/toxin/plasticide = 2)
result_amount = 1
/datum/chemical_reaction/plastication/on_reaction(var/datum/reagents/holder, var/created_volume)
new /obj/item/stack/material/plastic(get_turf(holder.my_atom), created_volume)
return
/datum/chemical_reaction/uraniumsolidification
name = "Uranium"
id = "soliduranium"
result = null
required_reagents = list(/singleton/reagent/potassium = 5, /singleton/reagent/frostoil = 5, /singleton/reagent/uranium = 20)
result_amount = 1
/datum/chemical_reaction/uraniumsolidification/on_reaction(var/datum/reagents/holder, var/created_volume)
new /obj/item/stack/material/uranium(get_turf(holder.my_atom), created_volume)
return
/* Grenade reactions */
/datum/chemical_reaction/explosion_potassium
name = "Explosion"
id = "explosion_potassium"
result = null
required_reagents = list(/singleton/reagent/water = 1, /singleton/reagent/potassium = 1)
result_amount = 2
mix_message = null
/datum/chemical_reaction/explosion_potassium/on_reaction(var/datum/reagents/holder, var/created_volume)
var/datum/effect/effect/system/reagents_explosion/e = new()
var/turf/location = get_turf(holder.my_atom)
e.set_up(round (created_volume/10, 1), location, 0, 0)
if(isliving(holder.my_atom))
e.amount *= 0.5
var/mob/living/L = holder.my_atom
if(L.stat != DEAD)
e.amount *= 0.5
e.start()
holder.clear_reagents()
return
/datum/chemical_reaction/flash_powder
name = "Flash powder"
id = "flash_powder"
result = null
required_reagents = list(/singleton/reagent/aluminum = 1, /singleton/reagent/potassium = 1, /singleton/reagent/sulfur = 1 )
result_amount = null
/datum/chemical_reaction/flash_powder/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
spark(location, 2, GLOB.alldirs)
for(var/mob/living/M in viewers(world.view, location))
if(!M.flash_act())
continue
switch(get_dist(M, location))
if(0 to 3)
M.Weaken(15)
if(4 to 5)
M.Stun(5)
/datum/chemical_reaction/emp_pulse
name = "EMP Pulse"
id = "emp_pulse"
result = null
required_reagents = list(/singleton/reagent/uranium = 1, /singleton/reagent/iron = 1) // Yes, laugh, it's the best recipe I could think of that makes a little bit of sense
result_amount = 2
/datum/chemical_reaction/emp_pulse/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
// 100 created volume = ~1 heavy range & ~2 light range.
// 200 created volume = ~2 heavy range & ~4 light range.
empulse(location, round(created_volume / 6), round(created_volume / 3), 1)
holder.clear_reagents()
return
/datum/chemical_reaction/nitroglycerin
name = "Nitroglycerin"
id = "nitroglycerin"
result = /singleton/reagent/nitroglycerin
required_reagents = list(/singleton/reagent/glycerol = 1, /singleton/reagent/acid/polyacid = 1, /singleton/reagent/acid = 1)
result_amount = 2
/datum/chemical_reaction/napalm
name = "Napalm"
id = "napalm"
result = null
required_reagents = list(/singleton/reagent/aluminum = 1, /singleton/reagent/fuel = 1, /singleton/reagent/acid = 1 )
result_amount = 1
log_is_important = TRUE
/datum/chemical_reaction/zoragel
name = "Inert Gel"
id = "zoragel"
result = /singleton/reagent/fuel/zoragel
required_reagents = list(/singleton/reagent/acid = 1, /singleton/reagent/aluminum = 1, /singleton/reagent/sugar = 1, /singleton/reagent/surfactant = 3)
result_amount = 1
/datum/chemical_reaction/zorafire
name = "Zo'rane Fire"
id = "greekfire"
result = /singleton/reagent/fuel/zorane_fire
required_reagents = list(/singleton/reagent/nitroglycerin = 2, /singleton/reagent/pyrosilicate = 2, /singleton/reagent/toxin/phoron = 3, /singleton/reagent/fuel/zoragel = 3)
result_amount = 1
log_is_important = TRUE
/datum/chemical_reaction/chemsmoke
name = "Chemsmoke"
id = "chemsmoke"
result = null
required_reagents = list(/singleton/reagent/potassium = 1, /singleton/reagent/sugar = 1, /singleton/reagent/phosphorus = 1)
result_amount = 0.4
/datum/chemical_reaction/chemsmoke/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
var/datum/effect/effect/system/smoke_spread/chem/S = new /datum/effect/effect/system/smoke_spread/chem
S.attach(location)
S.set_up(holder, created_volume, 0, location, 80)
playsound(location, 'sound/effects/smoke.ogg', 50, 1, -3)
S.start()
holder.clear_reagents()
return
/datum/chemical_reaction/foam
name = "Foam"
id = "foam"
result = null
required_reagents = list(/singleton/reagent/surfactant = 1, /singleton/reagent/water = 1)
result_amount = 2
mix_message = "The solution violently bubbles!"
/datum/chemical_reaction/foam/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/mob/M in viewers(5, location))
to_chat(M, SPAN_WARNING("The solution spews out foam!"))
var/datum/effect/effect/system/foam_spread/s = new()
s.set_up(created_volume, location, holder, 0)
s.start()
holder.clear_reagents()
return
/datum/chemical_reaction/metalfoam
name = "Metal Foam"
id = "metalfoam"
result = null
required_reagents = list(/singleton/reagent/aluminum = 3, /singleton/reagent/foaming_agent = 1, /singleton/reagent/acid/polyacid = 1)
result_amount = 5
/datum/chemical_reaction/metalfoam/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/mob/M in viewers(5, location))
to_chat(M, SPAN_WARNING("The solution spews out a metalic foam!"))
var/datum/effect/effect/system/foam_spread/s = new()
s.set_up(created_volume, location, holder, 1)
s.start()
return
/datum/chemical_reaction/ironfoam
name = "Iron Foam"
id = "ironlfoam"
result = null
required_reagents = list(/singleton/reagent/iron = 3, /singleton/reagent/foaming_agent = 1, /singleton/reagent/acid/polyacid = 1)
result_amount = 5
/datum/chemical_reaction/ironfoam/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/mob/M in viewers(5, location))
to_chat(M, SPAN_WARNING("The solution spews out a metalic foam!"))
var/datum/effect/effect/system/foam_spread/s = new()
s.set_up(created_volume, location, holder, 2)
s.start()
return
/datum/chemical_reaction/luminol
name = "Luminol"
id = "luminol"
result = /singleton/reagent/luminol
required_reagents = list(/singleton/reagent/hydrazine = 2, /singleton/reagent/carbon = 2, /singleton/reagent/ammonia = 2)
result_amount = 6
/* Paint */
/datum/chemical_reaction/paint
name = "Paint"
id = "paint"
result = /singleton/reagent/paint
required_reagents = list(/singleton/reagent/toxin/plasticide = 1, /singleton/reagent/water = 3)
result_amount = 4
/* Slime cores */
/datum/chemical_reaction/slime
var/required = null
/datum/chemical_reaction/slime/can_happen(var/datum/reagents/holder)
if(holder.my_atom && istype(holder.my_atom, required))
var/obj/item/slime_extract/T = holder.my_atom
if(T.uses > 0)
return ..()
return FALSE
/datum/chemical_reaction/slime/on_reaction(var/datum/reagents/holder)
var/obj/item/slime_extract/T = holder.my_atom
T.uses--
if(T.uses <= 0)
T.visible_message("[icon2html(T, viewers(get_turf(src)))]<span class='notice'>\The [T]'s power is consumed in the reaction.</span>")
T.name = "used slime extract"
T.desc = "This extract has been used up."
if(istype(T.loc, /obj/item/storage))
var/obj/item/storage/storage = T.loc
storage.update_storage_ui()
//Grey
/datum/chemical_reaction/slime/spawn
name = "Slime Spawn"
id = "m_spawn"
result = null
required_reagents = list(/singleton/reagent/toxin/phoron = 1)
result_amount = 1
required = /obj/item/slime_extract/grey
/datum/chemical_reaction/slime/spawn/on_reaction(var/datum/reagents/holder)
holder.my_atom.visible_message(SPAN_WARNING("Infused with phoron, the core begins to quiver and grow, and soon a new baby slime emerges from it!"))
new /mob/living/carbon/slime(get_turf(holder.my_atom))
..()
/datum/chemical_reaction/slime/monkey
name = "Slime Monkey"
id = "m_monkey"
result = null
required_reagents = list(/singleton/reagent/blood = 1)
result_amount = 1
required = /obj/item/slime_extract/grey
/datum/chemical_reaction/slime/monkey/on_reaction(var/datum/reagents/holder)
new /obj/effect/portal/spawner/monkey_cube(get_turf(holder.my_atom))
..()
//Green
/datum/chemical_reaction/slime/teleportation
name = "Slime Teleportation"
id = "slimeteleportation"
required_reagents = list(/singleton/reagent/toxin/phoron = 5)
result_amount = 1
required = /obj/item/slime_extract/green
/datum/chemical_reaction/slime/teleportation/on_reaction(var/datum/reagents/holder)
..()
addtimer(CALLBACK(src, PROC_REF(do_reaction), holder), 50)
/datum/chemical_reaction/slime/teleportation/proc/do_reaction(var/datum/reagents/holder)
for(var/atom/movable/AM in circle_range(get_turf(holder.my_atom),7))
if(AM.anchored)
continue
var/area/A = random_station_area()
var/turf/target = A.random_space()
to_chat(AM, SPAN_WARNING("Bluespace energy teleports you somewhere else!"))
do_teleport(AM, target)
AM.visible_message("\The [AM] phases in!")
/datum/chemical_reaction/slime/bluespace_crystal
name = "Slime Bluespace Crystal"
id = "slime_bscrystal"
required_reagents = list(/singleton/reagent/carbon = 10, /singleton/reagent/silver = 10)
result_amount = 1
required = /obj/item/slime_extract/green
/datum/chemical_reaction/slime/bluespace_crystal/on_reaction(var/datum/reagents/holder)
var/turf/location = get_turf(holder.my_atom)
playsound(location, 'sound/effects/phasein.ogg', 100, 1)
for(var/mob/living/M in viewers(world.view, location))
M.flash_act()
new /obj/item/bluespace_crystal(get_turf(holder.my_atom))
..()
//Metal
/datum/chemical_reaction/slime/metal
name = "Slime Metal"
id = "m_metal"
result = null
required_reagents = list(/singleton/reagent/toxin/phoron = 1)
result_amount = 1
required = /obj/item/slime_extract/metal
/datum/chemical_reaction/slime/metal/on_reaction(var/datum/reagents/holder)
new /obj/effect/portal/spawner/metal(get_turf(holder.my_atom))
..()
//Gold - added back in
/datum/chemical_reaction/slime/crit
name = "Slime Crit"
id = "m_tele"
result = null
required_reagents = list(/singleton/reagent/toxin/phoron = 10)
result_amount = 1
required = /obj/item/slime_extract/gold
/datum/chemical_reaction/slime/crit/on_reaction(var/datum/reagents/holder)
//exclusion list for things you don't want the reaction to create
var/blocked = list(
/mob/living/simple_animal/hostile,
/mob/living/simple_animal/hostile/pirate,
/mob/living/simple_animal/hostile/pirate/ranged,
/mob/living/simple_animal/hostile/russian,
/mob/living/simple_animal/hostile/russian/ranged,
/mob/living/simple_animal/hostile/syndicate,
/mob/living/simple_animal/hostile/syndicate/melee,
/mob/living/simple_animal/hostile/syndicate/melee/space,
/mob/living/simple_animal/hostile/syndicate/ranged,
/mob/living/simple_animal/hostile/syndicate/ranged/space,
/mob/living/simple_animal/hostile/faithless,
/mob/living/simple_animal/hostile/retaliate/clown,
/mob/living/simple_animal/hostile/true_changeling,
/mob/living/simple_animal/hostile/commanded/dog,
/mob/living/simple_animal/hostile/commanded/dog/amaskan,
/mob/living/simple_animal/hostile/commanded/dog/columbo,
/mob/living/simple_animal/hostile/commanded/dog/pug,
/mob/living/simple_animal/hostile/commanded/bear,
/mob/living/simple_animal/hostile/commanded/baby_harvester,
/mob/living/simple_animal/hostile/greatworm,
/mob/living/simple_animal/hostile/lesserworm,
/mob/living/simple_animal/hostile/greatwormking,
/mob/living/simple_animal/hostile/krampus,
/mob/living/simple_animal/hostile/gift,
/mob/living/simple_animal/hostile/hivebotbeacon,
/mob/living/simple_animal/hostile/hivebotbeacon/incendiary,
/mob/living/simple_animal/hostile/hivebotbeacon/weakened,
/mob/living/simple_animal/hostile/republicon,
/mob/living/simple_animal/hostile/republicon/ranged,
/mob/living/simple_animal/hostile/giant_spider/nurse/spider_queen,
/mob/living/simple_animal/hostile/tree,
/mob/living/simple_animal/hostile/mimic,
/mob/living/simple_animal/hostile/cavern_geist,
/mob/living/simple_animal/hostile/cavern_geist/augmented,
/mob/living/simple_animal/hostile/retaliate/pra_exploration_drone,
/mob/living/simple_animal/hostile/psiren/omen,
/mob/living/simple_animal/hostile/psiren/omen/beckoner,
/mob/living/simple_animal/hostile/psiren/matriarch
)
var/list/critters = typesof(/mob/living/simple_animal/hostile) - blocked // list of possible hostile mobs
var/turf/location = get_turf(holder.my_atom)
playsound(location, 'sound/effects/phasein.ogg', 100, 1)
for(var/mob/living/M in viewers(world.view, location))
M.flash_act(ignore_inherent = TRUE)
for(var/i = 1, i <= 5, i++)
var/chosen = pick(critters)
//No abstract mobs
while(is_abstract(chosen))
critters -= chosen
if(!length(critters))
crash_with("No critters left to pick from!")
return
chosen = pick(critters)
var/mob/living/simple_animal/hostile/C = new chosen
C.faction = "slimesummon"
C.forceMove(location)
if(prob(50))
for(var/j = 1, j <= rand(1, 3), j++)
step(C, pick(NORTH,SOUTH,EAST,WEST))
..()
//Silver
/datum/chemical_reaction/slime/bork
name = "Slime Bork"
id = "m_tele2"
result = null
required_reagents = list(/singleton/reagent/toxin/phoron = 1)
result_amount = 1
required = /obj/item/slime_extract/silver
/datum/chemical_reaction/slime/bork/on_reaction(var/datum/reagents/holder)
var/list/blocked = list(
/obj/item/reagent_containers/food/snacks,
/obj/item/reagent_containers/food/snacks/meat/undead,
/obj/item/reagent_containers/food/snacks/meatbreadslice,
/obj/item/reagent_containers/food/snacks/xenomeatbreadslice,
/obj/item/reagent_containers/food/snacks/bananabreadslice,
/obj/item/reagent_containers/food/snacks/tofubreadslice,
/obj/item/reagent_containers/food/snacks/cakeslice/carrot,
/obj/item/reagent_containers/food/snacks/cakeslice/cheese,
/obj/item/reagent_containers/food/snacks/cakeslice/plain,
/obj/item/reagent_containers/food/snacks/cakeslice/orange,
/obj/item/reagent_containers/food/snacks/cakeslice/lime,
/obj/item/reagent_containers/food/snacks/cakeslice/lemon,
/obj/item/reagent_containers/food/snacks/cakeslice/chocolate,
/obj/item/reagent_containers/food/snacks/cheesewedge,
/obj/item/reagent_containers/food/snacks/cakeslice/birthday,
/obj/item/reagent_containers/food/snacks/sliceable/bread,
/obj/item/reagent_containers/food/snacks/breadslice,
/obj/item/reagent_containers/food/snacks/sliceable/creamcheesebread,
/obj/item/reagent_containers/food/snacks/creamcheesebreadslice,
/obj/item/reagent_containers/food/snacks/watermelonslice,
/obj/item/reagent_containers/food/snacks/cakeslice/apple,
/obj/item/reagent_containers/food/snacks/pumpkinpieslice,
/obj/item/reagent_containers/food/snacks/keylimepieslice,
/obj/item/reagent_containers/food/snacks/quicheslice,
/obj/item/reagent_containers/food/snacks/browniesslice,
/obj/item/reagent_containers/food/snacks/cosmicbrowniesslice,
/obj/item/reagent_containers/food/snacks/margheritaslice,
/obj/item/reagent_containers/food/snacks/meatpizzaslice,
/obj/item/reagent_containers/food/snacks/mushroompizzaslice,
/obj/item/reagent_containers/food/snacks/vegetablepizzaslice,
/obj/item/reagent_containers/food/snacks/pineappleslice
)
var/list/borks = typesof(/obj/item/reagent_containers/food/snacks) - blocked
var/turf/location = get_turf(holder.my_atom)
playsound(location, 'sound/effects/phasein.ogg', 100, 1)
for(var/mob/living/M in viewers(world.view, location))
M.flash_act(ignore_inherent = TRUE)
for(var/i = 1, i <= 4 + rand(1,2), i++)
var/chosen = pick(borks)
var/obj/B = new chosen
if(B)
B.forceMove(get_turf(holder.my_atom))
if(prob(50))
for(var/j = 1, j <= rand(1, 3), j++)
step(B, pick(NORTH, SOUTH, EAST, WEST))
..()
//Blue
/datum/chemical_reaction/slime/frost
name = "Slime Frost Oil"
id = "m_frostoil"
result = /singleton/reagent/frostoil
required_reagents = list(/singleton/reagent/water = 1)
result_amount = 10
required = /obj/item/slime_extract/blue
//Dark Blue
/datum/chemical_reaction/slime/freeze
name = "Slime Freeze"
id = "m_freeze"
result = null
required_reagents = list(/singleton/reagent/water = 1)
result_amount = 1
required = /obj/item/slime_extract/darkblue
mix_message = "The slime extract begins to vibrate violently!"
/datum/chemical_reaction/slime/freeze/on_reaction(var/datum/reagents/holder)
..()
addtimer(CALLBACK(src, PROC_REF(do_reaction), holder), 50)
/datum/chemical_reaction/slime/freeze/proc/do_reaction(var/datum/reagents/holder)
playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1)
for(var/mob/living/M in range(7, get_turf(holder.my_atom)))
M.bodytemperature -= 140
to_chat(M, SPAN_WARNING("You feel a cold chill!"))
//Orange
/datum/chemical_reaction/slime/casp
name = "Slime Capsaicin Oil"
id = "m_capsaicinoil"
result = /singleton/reagent/capsaicin
required_reagents = list(/singleton/reagent/blood = 1)
result_amount = 10
required = /obj/item/slime_extract/orange
/datum/chemical_reaction/slime/fire
name = "Slime fire"
id = "m_fire"
result = null
required_reagents = list(/singleton/reagent/toxin/phoron = 1)
result_amount = 1
required = /obj/item/slime_extract/orange
mix_message = "The slime extract begins to vibrate violently!"
/datum/chemical_reaction/slime/fire/on_reaction(var/datum/reagents/holder)
..()
addtimer(CALLBACK(src, PROC_REF(do_reaction), holder), 50)
/datum/chemical_reaction/slime/fire/proc/do_reaction(var/datum/reagents/holder)
var/turf/location = get_turf(holder.my_atom)
for(var/turf/simulated/floor/target_tile in range(1, location))
target_tile.assume_gas(GAS_PHORON, 25, 1400)
target_tile.hotspot_expose(700, 400)
//Yellow
/datum/chemical_reaction/slime/overload
name = "Slime EMP"
id = "m_emp"
result = null
required_reagents = list(/singleton/reagent/blood = 1)
result_amount = 1
required = /obj/item/slime_extract/yellow
mix_message = "The slime extract begins to vibrate violently!"
/datum/chemical_reaction/slime/overload/on_reaction(var/datum/reagents/holder, var/created_volume)
..()
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(empulse), get_turf(holder.my_atom), 3, 7), 50)
/datum/chemical_reaction/slime/cell
name = "Slime Powercell"
id = "m_cell"
result = null
required_reagents = list(/singleton/reagent/toxin/phoron = 1)
result_amount = 1
required = /obj/item/slime_extract/yellow
mix_message = "A small sparking part of the extract core falls onto the floor."
/datum/chemical_reaction/slime/cell/on_reaction(var/datum/reagents/holder, var/created_volume)
new /obj/item/cell/slime(get_turf(holder.my_atom))
..()
/datum/chemical_reaction/slime/glow
name = "Slime Glow"
id = "m_glow"
result = null
required_reagents = list(/singleton/reagent/water = 1)
result_amount = 1
required = /obj/item/slime_extract/yellow
mix_message = "The contents of the slime core harden and begin to emit a warm, bright light."
/datum/chemical_reaction/slime/glow/on_reaction(var/datum/reagents/holder, var/created_volume)
..()
new /obj/item/flashlight/slime(get_turf(holder.my_atom))
//Purple
/datum/chemical_reaction/slime/psteroid
name = "Slime Steroid"
id = "m_steroid"
result = null
required_reagents = list(/singleton/reagent/toxin/phoron = 1)
result_amount = 1
required = /obj/item/slime_extract/purple
/datum/chemical_reaction/slime/psteroid/on_reaction(var/datum/reagents/holder, var/created_volume)
..()
new /obj/item/slimesteroid(get_turf(holder.my_atom))
/datum/chemical_reaction/slime/jam
name = "Slime Jam"
id = "m_jam"
result = /singleton/reagent/slimejelly
required_reagents = list(/singleton/reagent/sugar = 1)
result_amount = 10
required = /obj/item/slime_extract/purple
//Dark Purple
/datum/chemical_reaction/slime/rare_metal
name = "Slime Rare Metal"
id = "rm_metal"
result = null
required_reagents = list(/singleton/reagent/toxin/phoron = 1)
result_amount = 1
required = /obj/item/slime_extract/darkpurple
/datum/chemical_reaction/slime/rare_metal/on_reaction(var/datum/reagents/holder)
..()
new /obj/effect/portal/spawner/rare_metal(get_turf(holder.my_atom))
//Red
/datum/chemical_reaction/slime/glycerol
name = "Slime Glycerol"
id = "m_glycerol"
result = /singleton/reagent/glycerol
required_reagents = list(/singleton/reagent/sugar = 1)
result_amount = 8
required = /obj/item/slime_extract/red
/datum/chemical_reaction/slime/bloodlust
name = "Bloodlust"
id = "m_bloodlust"
result = null
required_reagents = list(/singleton/reagent/blood = 1)
result_amount = 1
required = /obj/item/slime_extract/red
/datum/chemical_reaction/slime/bloodlust/on_reaction(var/datum/reagents/holder)
..()
for(var/mob/living/carbon/slime/slime in viewers(get_turf(holder.my_atom), null))
slime.rabid = TRUE
slime.visible_message(SPAN_WARNING("[icon2html(slime, viewers(get_turf(slime)))] \The [slime] is driven into a frenzy!"))
/datum/chemical_reaction/slime/nightshade
name = "Slime Nightshade"
id = "slime_nightshade"
result = /singleton/reagent/toxin/berserk
required_reagents = list(/singleton/reagent/toxin/phoron = 10)
result_amount = 1
required = /obj/item/slime_extract/red
//Pink
/datum/chemical_reaction/slime/docility_serum
name = "Docility Serum"
id = "docility_serum"
result = null
required_reagents = list(/singleton/reagent/toxin/phoron = 1)
result_amount = 1
required = /obj/item/slime_extract/pink
/datum/chemical_reaction/slime/docility_serum/on_reaction(var/datum/reagents/holder)
..()
new /obj/item/docility_serum(get_turf(holder.my_atom))
/datum/chemical_reaction/slime/paxazide
name = "Slime Paxazide"
id = "slime_paxazide"
result = /singleton/reagent/pacifier
required_reagents = list(/singleton/reagent/water = 1)
result_amount = 5
required = /obj/item/slime_extract/pink
//Black
/datum/chemical_reaction/slime/mutate2
name = "Advanced Mutation Toxin"
id = "mutationtoxin2"
result = /singleton/reagent/aslimetoxin
required_reagents = list(/singleton/reagent/toxin/phoron = 5)
result_amount = 1
required = /obj/item/slime_extract/black
//Oil
/datum/chemical_reaction/slime/explosion
name = "Slime Explosion"
id = "m_explosion"
result = null
required_reagents = list(/singleton/reagent/toxin/phoron = 1)
result_amount = 1
required = /obj/item/slime_extract/oil
mix_message = "The slime extract begins to vibrate violently!"
/datum/chemical_reaction/slime/explosion/on_reaction(var/datum/reagents/holder)
..()
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(explosion), get_turf(holder.my_atom), 1, 3, 6), 50)
/datum/chemical_reaction/slime/plasticglass
name = "Slime Plastic & Glass"
id = "slime_plasticglass"
result = null
required_reagents = list(/singleton/reagent/water = 1)
result_amount = 1
required = /obj/item/slime_extract/oil
/datum/chemical_reaction/slime/plasticglass/on_reaction(var/datum/reagents/holder)
..()
new /obj/effect/portal/spawner/plasticglass(get_turf(holder.my_atom))
//Light Pink
/datum/chemical_reaction/slime/advanced_docility_serum
name = "Advanced Docility Serum"
id = "advanced_docility_serum"
result = null
result_amount = 1
required = /obj/item/slime_extract/lightpink
required_reagents = list(/singleton/reagent/toxin/phoron = 5)
/datum/chemical_reaction/slime/advanced_docility_serum/on_reaction(var/datum/reagents/holder)
..()
new /obj/item/advanced_docility_serum(get_turf(holder.my_atom))
//Adamantine
/datum/chemical_reaction/slime/golem
name = "Slime Golem"
id = "m_golem"
result = null
required_reagents = list(/singleton/reagent/toxin/phoron = 5)
result_amount = 1
required = /obj/item/slime_extract/adamantine
mix_message = "A soft fizzle is heard within the slime extract, and mystic runes suddenly appear on the floor beneath it!"
/datum/chemical_reaction/slime/golem/on_reaction(var/datum/reagents/holder)
..()
new /obj/effect/golemrune(get_turf(holder.my_atom))
//Sepia
/datum/chemical_reaction/slime/wood
name = "Slime Wood"
id = "slime_wood"
result = null
required_reagents = list(/singleton/reagent/water = 1)
result_amount = 1
required = /obj/item/slime_extract/sepia
/datum/chemical_reaction/slime/wood/on_reaction(var/datum/reagents/holder)
..()
new /obj/effect/portal/spawner/wood(get_turf(holder.my_atom))
/datum/chemical_reaction/slime/hide
name = "Slime Hides"
id = "slime_hide"
result = null
required_reagents = list(/singleton/reagent/blood = 1)
result_amount = 1
required = /obj/item/slime_extract/sepia
/datum/chemical_reaction/slime/hide/on_reaction(var/datum/reagents/holder)
..()
new /obj/effect/portal/spawner/hide(get_turf(holder.my_atom))
//Pyrite
/datum/chemical_reaction/slime/pyrite/cryo_to_clonex
name = "Pyrite Transmutation: Cryoxadone to Clonexadone"
id = "cryo_to_clonex"
result = /singleton/reagent/clonexadone
required_reagents = list(/singleton/reagent/cryoxadone = 5)
result_amount = 5
required = /obj/item/slime_extract/pyrite
/datum/chemical_reaction/slime/pyrite/inap_to_coag
name = "Pyrite Transmutation: Inaprovaline to Coagzolug"
id = "inap_to_coag"
result = /singleton/reagent/coagzolug
required_reagents = list(/singleton/reagent/inaprovaline = 5)
result_amount = 10
required = /obj/item/slime_extract/pyrite
/datum/chemical_reaction/slime/pyrite/kelo_to_derm
name = "Pyrite Transmutation: Kelotane to Dermaline"
id = "kelo_to_derm"
result = /singleton/reagent/dermaline
required_reagents = list(/singleton/reagent/kelotane = 5)
result_amount = 10
required = /obj/item/slime_extract/pyrite
/datum/chemical_reaction/slime/pyrite/bica_to_buta
name = "Pyrite Transmutation: Bicaridine_to_Butazoline"
id = "bica_to_buta"
result = /singleton/reagent/butazoline
required_reagents = list(/singleton/reagent/bicaridine = 5)
result_amount = 10
required = /obj/item/slime_extract/pyrite
/datum/chemical_reaction/slime/pyrite/dex_to_plus
name = "Pyrite Transmutation: Dexalin to Dexalin Plus"
id = "dex_to_plus"
result = /singleton/reagent/dexalin/plus
required_reagents = list(/singleton/reagent/dexalin = 5)
result_amount = 10
required = /obj/item/slime_extract/pyrite
/datum/chemical_reaction/slime/pyrite/merc_to_dextro
name = "Pyrite Transmutation: Mercury to Dextrotoxin"
id = "merc_to_dextro"
result = /singleton/reagent/toxin/dextrotoxin
required_reagents = list(/singleton/reagent/mercury = 5)
result_amount = 1
required = /obj/item/slime_extract/pyrite
/datum/chemical_reaction/slime/pyrite/ez_to_diethyl
name = "Pyrite Transmutation: EZ Nutrient to Diethylamine"
id = "ez_to_diethyl"
result = /singleton/reagent/diethylamine
required_reagents = list(/singleton/reagent/toxin/fertilizer/eznutrient = 5)
result_amount = 10
required = /obj/item/slime_extract/pyrite
/datum/chemical_reaction/slime/pyrite/radium_to_mutagen
name = "Pyrite Transmutation: Radium to Mutagen"
id = "radium_to_mutagen"
result = /singleton/reagent/mutagen
required_reagents = list(/singleton/reagent/radium = 5)
result_amount = 10
required = /obj/item/slime_extract/pyrite
/datum/chemical_reaction/slime/pyrite/sugar_to_hyperzine
name = "Pyrite Transmutation: Sugar to Hyperzine"
id = "sugar_to_hyper"
result = /singleton/reagent/hyperzine
required_reagents = list(/singleton/reagent/sugar = 5)
result_amount = 10
required = /obj/item/slime_extract/pyrite
/datum/chemical_reaction/soap_key
name = "Soap Key"
id = "skey"
result = null
required_reagents = list(/singleton/reagent/nutriment/triglyceride = 2, /singleton/reagent/water = 2, /singleton/reagent/spacecleaner = 3)
var/strength = 3
/datum/chemical_reaction/soap_key/can_happen(var/datum/reagents/holder)
if(holder.my_atom && istype(holder.my_atom, /obj/item/soap))
return ..()
return 0
/datum/chemical_reaction/soap_key/on_reaction(var/datum/reagents/holder)
var/obj/item/soap/S = holder.my_atom
if(S.key_data)
var/obj/item/key/soap/key = new(get_turf(holder.my_atom), S.key_data)
key.uses = strength
..()
//Cerulean
/datum/chemical_reaction/slime/extract_enhancer
name = "Extract Enhancer"
id = "extract_enhancer"
result = null
required_reagents = list(/singleton/reagent/toxin/phoron = 1)
result_amount = 1
required = /obj/item/slime_extract/cerulean
/datum/chemical_reaction/slime/extract_enhancer/on_reaction(var/datum/reagents/holder, var/created_volume)
..()
new /obj/item/extract_enhancer(get_turf(holder.my_atom))
/*
====================
Food
====================
*/
/datum/chemical_reaction/tofu
name = "Tofu"
id = "tofu"
result = null
required_reagents = list(/singleton/reagent/drink/milk/soymilk = 10)
catalysts = list(/singleton/reagent/enzyme = 5)
inhibitors = list(/singleton/reagent/sodiumchloride = 1) // To prevent conflict with Soy Sauce recipe.
result_amount = 1
/datum/chemical_reaction/tofu/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/reagent_containers/food/snacks/tofu(location)
return
/datum/chemical_reaction/chocolate_bar
name = "Chocolate Bar"
id = "chocolate_bar"
result = null
required_reagents = list(/singleton/reagent/drink/milk/soymilk = 2, /singleton/reagent/nutriment/coco = 2, /singleton/reagent/sugar = 2)
result_amount = 1
/datum/chemical_reaction/chocolate_bar/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/reagent_containers/food/snacks/chocolatebar(location)
return
/datum/chemical_reaction/chocolate_bar2
name = "Chocolate Bar"
id = "chocolate_bar"
result = null
required_reagents = list(/singleton/reagent/drink/milk = 2, /singleton/reagent/nutriment/coco = 2, /singleton/reagent/sugar = 2)
result_amount = 1
/datum/chemical_reaction/chocolate_bar2/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/reagent_containers/food/snacks/chocolatebar(location)
return
/datum/chemical_reaction/hot_coco
name = "Hot Coco"
id = "hot_coco"
result = /singleton/reagent/drink/hot_coco
required_reagents = list(/singleton/reagent/water = 5, /singleton/reagent/nutriment/coco = 1)
result_amount = 5
/datum/chemical_reaction/grapejuice
name = "Grape Juice"
result = /singleton/reagent/drink/grapejuice
required_reagents = list(/singleton/reagent/water = 3, /singleton/reagent/nutriment/instantjuice/grape = 1)
result_amount = 3
mix_message = "The solution settles into a purplish-red beverage."
/datum/chemical_reaction/orangejuice
name = "Orange Juice"
result = /singleton/reagent/drink/orangejuice
required_reagents = list(/singleton/reagent/water = 3, /singleton/reagent/nutriment/instantjuice/orange = 1)
result_amount = 3
mix_message = "The solution settles into an orange beverage."
/datum/chemical_reaction/watermelonjuice
name = "Watermelon Juice"
result = /singleton/reagent/drink/watermelonjuice
required_reagents = list(/singleton/reagent/water = 3, /singleton/reagent/nutriment/instantjuice/watermelon = 1)
result_amount = 3
mix_message = "The solution settles into a red beverage."
/datum/chemical_reaction/applejuice
name = "Apple Juice"
result = /singleton/reagent/drink/applejuice
required_reagents = list(/singleton/reagent/water = 3, /singleton/reagent/nutriment/instantjuice/apple = 1)
result_amount = 3
mix_message = "The solution settles into a clear brown beverage."
/datum/chemical_reaction/soysauce
name = "Soy Sauce"
id = "soysauce"
result = /singleton/reagent/nutriment/soysauce
required_reagents = list(/singleton/reagent/drink/milk/soymilk = 4, /singleton/reagent/sodiumchloride = 1)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 5
/datum/chemical_reaction/ketchup
name = "Ketchup"
id = "ketchup"
result = /singleton/reagent/nutriment/ketchup
required_reagents = list(/singleton/reagent/drink/tomatojuice = 2, /singleton/reagent/water = 1, /singleton/reagent/sugar = 1)
result_amount = 4
/datum/chemical_reaction/barbecue
name = "Barbecue Sauce"
id = "barbecue"
result = /singleton/reagent/nutriment/barbecue
required_reagents = list(/singleton/reagent/nutriment/ketchup = 2, /singleton/reagent/nutriment/garlicsauce = 1, /singleton/reagent/sugar = 1)
result_amount = 4
/datum/chemical_reaction/garlicsauce
name = "Garlic Sauce"
id = "garlicsauce"
result = /singleton/reagent/nutriment/garlicsauce
required_reagents = list(/singleton/reagent/drink/garlicjuice = 1, /singleton/reagent/nutriment/triglyceride/oil/corn = 1)
result_amount = 2
/datum/chemical_reaction/sweet_chili
name = "Sweet Chili Sauce"
id = "sweet_chili"
result = /singleton/reagent/nutriment/sweet_chili
required_reagents = list(/singleton/reagent/sugar = 1, /singleton/reagent/capsaicin = 1)
result_amount = 2
/datum/chemical_reaction/peanutbutter // Yes, this doesn't make sense. No, I don't know how to do this better
name = "Peanut Butter"
id = "peanutbutter"
result = /singleton/reagent/nutriment/peanutbutter
required_reagents = list(/singleton/reagent/nutriment/groundpeanuts = 5, /singleton/reagent/sugar = 1, /singleton/reagent/sodiumchloride = 1)
result_amount = 5
/datum/chemical_reaction/choconutspread //Nutella? I hardly know 'er! Seriously though if hazelnuts or ground agghrash are ever added to the game please update this. peanuts are a placeholder.
name = "Choco-Nut Spread"
id = "choconutspread"
result = /singleton/reagent/nutriment/choconutspread
required_reagents = list(/singleton/reagent/nutriment/groundpeanuts = 1, /singleton/reagent/sugar = 2, /singleton/reagent/nutriment/coco = 1, /singleton/reagent/drink/milk/soymilk = 1)
result_amount = 5
/datum/chemical_reaction/mayonnaise
name = "Mayonnaise"
id = "mayonnaise"
result = /singleton/reagent/nutriment/mayonnaise
required_reagents = list(/singleton/reagent/nutriment/protein/egg = 3, /singleton/reagent/drink/lemonjuice = 2, /singleton/reagent/nutriment/triglyceride/oil/corn = 10)
result_amount = 15
/datum/chemical_reaction/cheesewheel
name = "Cheesewheel"
id = "cheesewheel"
result = null
required_reagents = list(/singleton/reagent/drink/milk = 40)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 1
/datum/chemical_reaction/cheesewheel/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/reagent_containers/food/snacks/sliceable/cheesewheel(location)
return
/datum/chemical_reaction/adhomian_cheesewheel
name = "Adhomian Cheese"
id = "adhomian cheese"
result = null
required_reagents = list(/singleton/reagent/drink/milk/adhomai/fermented = 40)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 1
/datum/chemical_reaction/adhomian_cheesewheel/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/reagent_containers/food/snacks/sliceable/adhomian_cheese(location)
return
/datum/chemical_reaction/nakarka
name = "Nakarka Cheese"
id = "nakarka"
result = null
required_reagents = list(/singleton/reagent/drink/milk/nemiik = 40)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 1
/datum/chemical_reaction/nakarka/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/reagent_containers/food/snacks/sliceable/nakarka(location)
return
/datum/chemical_reaction/meatball
name = "Meatball"
id = "meatball"
result = null
required_reagents = list(/singleton/reagent/nutriment/protein = 3, /singleton/reagent/nutriment/flour = 5)
result_amount = 3
/datum/chemical_reaction/meatball/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/reagent_containers/food/snacks/rawmeatball(location)
return
/datum/chemical_reaction/dough
name = "Dough"
id = "dough"
result = null
required_reagents = list(/singleton/reagent/nutriment/protein/egg = 3, /singleton/reagent/nutriment/flour = 10)
inhibitors = list(/singleton/reagent/water = 1, /singleton/reagent/alcohol/beer = 1, /singleton/reagent/sugar = 1) //To prevent it messing with batter and pie recipes
result_amount = 1
/datum/chemical_reaction/dough/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/reagent_containers/food/snacks/dough(location)
return
/datum/chemical_reaction/syntiflesh
name = "Syntiflesh"
id = "syntiflesh"
result = null
required_reagents = list(/singleton/reagent/blood = 5, /singleton/reagent/clonexadone = 1)
result_amount = 1
/datum/chemical_reaction/syntiflesh/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/reagent_containers/food/snacks/meat/syntiflesh(location)
return
/datum/chemical_reaction/hot_ramen
name = "Hot Ramen"
id = "hot_ramen"
result = /singleton/reagent/drink/hot_ramen
required_reagents = list(/singleton/reagent/water = 1, /singleton/reagent/drink/dry_ramen = 3)
result_amount = 3
/datum/chemical_reaction/hell_ramen
name = "Hell Ramen"
id = "hell_ramen"
result = /singleton/reagent/drink/hell_ramen
required_reagents = list(/singleton/reagent/capsaicin = 1, /singleton/reagent/drink/hot_ramen = 6)
result_amount = 6
/datum/chemical_reaction/coating/batter
name = "Batter"
id = "batter"
result = /singleton/reagent/nutriment/coating/batter
required_reagents = list(/singleton/reagent/nutriment/protein/egg = 3, /singleton/reagent/nutriment/flour = 10, /singleton/reagent/water = 5, /singleton/reagent/sodiumchloride = 2)
result_amount = 20
/datum/chemical_reaction/coating/beerbatter
name = "Beer Batter"
id = "beerbatter"
result = /singleton/reagent/nutriment/coating/beerbatter
required_reagents = list(/singleton/reagent/nutriment/protein/egg = 3, /singleton/reagent/nutriment/flour = 10, /singleton/reagent/alcohol/beer = 5, /singleton/reagent/sodiumchloride = 2)
result_amount = 20
/datum/chemical_reaction/browniemix
name = "Brownie Mix"
id = "browniemix"
result = /singleton/reagent/browniemix
required_reagents = list(/singleton/reagent/nutriment/flour = 5, /singleton/reagent/nutriment/coco = 5, /singleton/reagent/sugar = 5)
result_amount = 15
/datum/chemical_reaction/butter
name = "Butter"
id = "butter"
result = null
required_reagents = list(/singleton/reagent/drink/milk/cream = 20, /singleton/reagent/sodiumchloride = 1)
result_amount = 1
/datum/chemical_reaction/butter/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/reagent_containers/food/snacks/spreads/butter(location)
return
/datum/chemical_reaction/cream_cheese
name = "Cream Cheese"
id = "creamcheese"
result = /singleton/reagent/nutriment/protein/cream_cheese
required_reagents = list(/singleton/reagent/drink/milk = 5, /singleton/reagent/drink/milk/cream = 5)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 10
/*
Todo in future:
Cornmeal batter for corndogs
KFC style coating for chicken
breadcrumbs
*/
/*
Food: Coatings
========================
*/
/*
====================
Alcohol
====================
*/
/datum/chemical_reaction/drink
name = "Goldschlager"
id = "goldschlager"
result = /singleton/reagent/alcohol/goldschlager
required_reagents = list(/singleton/reagent/alcohol/vodka = 10, /singleton/reagent/gold = 1)
mix_message = null
reaction_sound = SFX_POUR
result_amount = 10
/datum/chemical_reaction/drink/patron
name = "Patron"
id = "patron"
result = /singleton/reagent/alcohol/patron
required_reagents = list(/singleton/reagent/alcohol/tequila = 10, /singleton/reagent/silver = 1)
result_amount = 10
/datum/chemical_reaction/drink/bilk
name = "Bilk"
id = "bilk"
result = /singleton/reagent/alcohol/bilk
required_reagents = list(/singleton/reagent/drink/milk = 1, /singleton/reagent/alcohol/beer = 1)
result_amount = 2
/datum/chemical_reaction/drink/tea
name = "Tea"
id = "tea"
result = /singleton/reagent/drink/tea
required_reagents = list(/singleton/reagent/nutriment/teagrounds = 1, /singleton/reagent/water = 5)
result_amount = 6
/datum/chemical_reaction/drink/sencha
name = "Sencha"
id = "sencha"
result = /singleton/reagent/drink/tea/sencha
required_reagents = list(/singleton/reagent/nutriment/teagrounds/sencha = 1, /singleton/reagent/water = 5)
result_amount = 6
/datum/chemical_reaction/drink/tieguanyin
name = "Tieguanyin"
id = "tieguanyin"
result = /singleton/reagent/drink/tea/tieguanyin
required_reagents = list(/singleton/reagent/nutriment/teagrounds/tieguanyin = 1, /singleton/reagent/water = 5)
result_amount = 6
/datum/chemical_reaction/drink/jaekseol
name = "jaekseol"
id = "jaekseol"
result = /singleton/reagent/drink/tea/jaekseol
required_reagents = list(/singleton/reagent/nutriment/teagrounds/jaekseol = 1, /singleton/reagent/water = 5)
result_amount = 6
/datum/chemical_reaction/drink/cocatea
name = "Mate de Coca"
id = "cocatea"
result = /singleton/reagent/drink/tea/cocatea
required_reagents = list(/singleton/reagent/nutriment/cocagrounds = 1, /singleton/reagent/water = 5)
result_amount = 5
/datum/chemical_reaction/drink/greentea
name = "Green Tea"
id = "greentea"
result = /singleton/reagent/drink/tea/greentea
required_reagents = list(/singleton/reagent/drink/tea = 5, /singleton/reagent/nutriment/mint = 2)
result_amount = 5
/datum/chemical_reaction/drink/icetea
name = "Iced Tea"
id = "icetea"
result = /singleton/reagent/drink/icetea
required_reagents = list(/singleton/reagent/drink/ice = 1, /singleton/reagent/drink/tea = 2)
result_amount = 3
/datum/chemical_reaction/drink/icecoffee
name = "Iced Coffee"
id = "icecoffee"
result = /singleton/reagent/drink/coffee/icecoffee
required_reagents = list(/singleton/reagent/drink/ice = 1, /singleton/reagent/drink/coffee = 2)
result_amount = 3
/datum/chemical_reaction/drink/nuka_cola
name = "Nuka Cola"
id = "nuka_cola"
result = /singleton/reagent/drink/nuka_cola
required_reagents = list(/singleton/reagent/uranium = 1, /singleton/reagent/drink/space_cola = 5)
result_amount = 5
/datum/chemical_reaction/drink/coca_cola
name = "Coca Cola"
id = "coca_cola"
result = /singleton/reagent/drink/coca_cola
required_reagents = list(/singleton/reagent/nutriment/cocagrounds = 1, /singleton/reagent/drink/space_cola = 5)
result_amount = 5
/datum/chemical_reaction/moonshine
name = "Moonshine"
id = "moonshine"
result = /singleton/reagent/alcohol/moonshine
required_reagents = list(/singleton/reagent/nutriment = 10)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/butanol
name = "Butanol"
id = "butanol"
result = /singleton/reagent/alcohol/butanol
required_reagents = list(/singleton/reagent/nutriment/triglyceride/oil/corn = 10, /singleton/reagent/sugar = 10)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 5
/datum/chemical_reaction/grenadine
name = "Grenadine Syrup"
id = "grenadine"
result = /singleton/reagent/drink/grenadine
required_reagents = list(/singleton/reagent/drink/berryjuice = 10)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/wine
name = "Wine"
id = "wine"
result = /singleton/reagent/alcohol/wine
required_reagents = list(/singleton/reagent/drink/grapejuice = 10)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/whitewine
name = "White Wine"
id = "whitewine"
result = /singleton/reagent/alcohol/whitewine
required_reagents = list(/singleton/reagent/drink/whitegrapejuice = 5)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 5
/datum/chemical_reaction/blushwine
name = "Blush Wine"
id = "blushwine"
result = /singleton/reagent/alcohol/blushwine
required_reagents = list(/singleton/reagent/alcohol/whitewine = 1, /singleton/reagent/alcohol/wine = 1)
result_amount = 2
/datum/chemical_reaction/melonwine
name = "Melon Wine"
id = "melonwine"
result = /singleton/reagent/alcohol/melonwine
required_reagents = list(/singleton/reagent/alcohol/wine = 1, /singleton/reagent/alcohol/melonliquor = 1)
result_amount = 2
/datum/chemical_reaction/pwine
name = "Poison Wine"
id = "pwine"
result = /singleton/reagent/alcohol/pwine
required_reagents = list(/singleton/reagent/toxin/poisonberryjuice = 10)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/limoncello
name = "Limoncello"
id = "limoncello"
result = /singleton/reagent/alcohol/limoncello
required_reagents = list(/singleton/reagent/drink/lemonjuice = 1, /singleton/reagent/condiment/syrup_simple = 1)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 2
/datum/chemical_reaction/bon_bon
name = "Bon Bon"
id = "bonbon"
result = /singleton/reagent/alcohol/bon_bon
required_reagents = list(/singleton/reagent/alcohol/limoncello = 1, /singleton/reagent/drink/lemonjuice = 1, /singleton/reagent/condiment/syrup_vanilla = 1, /singleton/reagent/alcohol/vodka = 3)
result_amount = 6
/datum/chemical_reaction/melonliquor
name = "Melon Liquor"
id = "melonliquor"
result = /singleton/reagent/alcohol/melonliquor
required_reagents = list(/singleton/reagent/drink/watermelonjuice = 10)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/bluecuracao
name = "Blue Curacao"
id = "bluecuracao"
result = /singleton/reagent/alcohol/bluecuracao
required_reagents = list(/singleton/reagent/drink/orangejuice = 10)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/spacebeer
name = "Space Beer"
id = "spacebeer"
result = /singleton/reagent/alcohol/beer
required_reagents = list(/singleton/reagent/nutriment/flour = 10)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/snakebite
name = "Snakebite"
id = "snakebite"
result = /singleton/reagent/alcohol/snakebite
required_reagents = list(/singleton/reagent/alcohol/beer = 5, /singleton/reagent/alcohol/applejack = 5)
result_amount = 10
/datum/chemical_reaction/light_beer
name = "Light Beer"
id = "spacebeer"
result = /singleton/reagent/alcohol/beer
required_reagents = list(/singleton/reagent/alcohol/beer = 5, /singleton/reagent/water = 5)
result_amount = 10
/datum/chemical_reaction/rice_beer
name = "Rice Beer"
id = "rice_beer"
result = /singleton/reagent/alcohol/rice_beer
required_reagents = list(/singleton/reagent/nutriment/rice = 10)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/vodka
name = "Vodka"
id = "vodka"
result = /singleton/reagent/alcohol/vodka
required_reagents = list(/singleton/reagent/drink/potatojuice = 10)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/sake
name = "Sake"
id = "sake"
result = /singleton/reagent/alcohol/sake
required_reagents = list(/singleton/reagent/alcohol/rice_beer = 5, /singleton/reagent/nutriment/moss = 5) // sake and shochu are characterized by the addition of koji, a cultivated mold that is used in the brewing process.
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/kahlua
name = "Kahlua"
id = "kahlua"
result = /singleton/reagent/alcohol/coffee/kahlua
required_reagents = list(/singleton/reagent/drink/coffee = 5, /singleton/reagent/sugar = 5)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 5
/datum/chemical_reaction/drink/gin_tonic
name = "Gin and Tonic"
id = "gintonic"
result = /singleton/reagent/alcohol/gintonic
required_reagents = list(/singleton/reagent/alcohol/gin = 2, /singleton/reagent/drink/tonic = 1)
result_amount = 3
/datum/chemical_reaction/drink/rumandcola
name = "Rum and Cola"
id = "rumandcola"
result = /singleton/reagent/alcohol/rumandcola
required_reagents = list(/singleton/reagent/alcohol/rum = 2, /singleton/reagent/drink/space_cola = 1)
result_amount = 3
/datum/chemical_reaction/drink/martini
name = "Classic Martini"
id = "martini"
result = /singleton/reagent/alcohol/martini
required_reagents = list(/singleton/reagent/alcohol/gin = 2, /singleton/reagent/alcohol/vermouth = 1)
result_amount = 3
/datum/chemical_reaction/drink/vodkamartini
name = "Vodka Martini"
id = "vodkamartini"
result = /singleton/reagent/alcohol/vodkamartini
required_reagents = list(/singleton/reagent/alcohol/vodka = 2, /singleton/reagent/alcohol/vermouth = 1)
result_amount = 3
/datum/chemical_reaction/drink/white_russian
name = "White Russian"
id = "whiterussian"
result = /singleton/reagent/alcohol/white_russian
required_reagents = list(/singleton/reagent/alcohol/blackrussian = 2, /singleton/reagent/drink/milk/cream = 1)
result_amount = 3
/datum/chemical_reaction/drink/whiskey_cola
name = "Whiskey Cola"
id = "whiskeycola"
result = /singleton/reagent/alcohol/whiskeycola
required_reagents = list(/singleton/reagent/alcohol/whiskey = 2, /singleton/reagent/drink/space_cola = 1)
result_amount = 3
/datum/chemical_reaction/drink/screwdriver
name = "Screwdriver"
id = "screwdrivercocktail"
result = /singleton/reagent/alcohol/screwdrivercocktail
required_reagents = list(/singleton/reagent/alcohol/vodka = 2, /singleton/reagent/drink/orangejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/sidewinderfang
name = "Sidewinder Fang"
id = "sidewinderfang"
result = /singleton/reagent/alcohol/sidewinderfang
required_reagents = list(/singleton/reagent/alcohol/rum = 2, /singleton/reagent/drink/sodawater = 2, /singleton/reagent/drink/orangejuice = 1, /singleton/reagent/drink/limejuice = 1)
/datum/chemical_reaction/drink/bloody_mary
name = "Bloody Mary"
id = "bloodymary"
result = /singleton/reagent/alcohol/bloodymary
required_reagents = list(/singleton/reagent/alcohol/vodka = 2, /singleton/reagent/drink/tomatojuice = 3, /singleton/reagent/drink/limejuice = 1)
result_amount = 6
/datum/chemical_reaction/drink/gargle_blaster
name = "Pan-Galactic Gargle Blaster"
id = "gargleblaster"
result = /singleton/reagent/alcohol/gargleblaster
required_reagents = list(/singleton/reagent/alcohol/vodka = 2, /singleton/reagent/alcohol/gin = 1, /singleton/reagent/alcohol/whiskey = 1, /singleton/reagent/alcohol/cognac = 1, /singleton/reagent/drink/limejuice = 1)
result_amount = 6
/datum/chemical_reaction/drink/brave_bull
name = "Brave Bull"
id = "bravebull"
result = /singleton/reagent/alcohol/coffee/brave_bull
required_reagents = list(/singleton/reagent/alcohol/tequila = 2, /singleton/reagent/alcohol/coffee/kahlua = 1)
result_amount = 3
/datum/chemical_reaction/drink/tequila_sunrise
name = "Tequila Sunrise"
id = "tequilasunrise"
result = /singleton/reagent/alcohol/tequila_sunrise
required_reagents = list(/singleton/reagent/alcohol/tequila = 2, /singleton/reagent/drink/orangejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/phoron_special
name = "Toxins Special"
id = "phoronspecial"
result = /singleton/reagent/alcohol/toxins_special
required_reagents = list(/singleton/reagent/alcohol/rum = 2, /singleton/reagent/alcohol/vermouth = 2, /singleton/reagent/toxin/phoron = 2)
result_amount = 6
/datum/chemical_reaction/drink/beepsky_smash
name = "Beepsky Smash"
id = "beepksysmash"
result = /singleton/reagent/alcohol/beepsky_smash
required_reagents = list(/singleton/reagent/drink/limejuice = 1, /singleton/reagent/alcohol/whiskey = 1, /singleton/reagent/iron = 1)
result_amount = 2
/datum/chemical_reaction/drink/doctor_delight
name = "The Doctor's Delight"
id = "doctordelight"
result = /singleton/reagent/drink/doctorsdelight
required_reagents = list(/singleton/reagent/drink/limejuice = 1, /singleton/reagent/drink/tomatojuice = 1, /singleton/reagent/drink/orangejuice = 1, /singleton/reagent/drink/milk/cream = 2, /singleton/reagent/tricordrazine = 1)
result_amount = 6
/datum/chemical_reaction/drink/irish_cream
name = "Irish Cream"
id = "irishcream"
result = /singleton/reagent/alcohol/irishcream
required_reagents = list(/singleton/reagent/alcohol/whiskey = 2, /singleton/reagent/drink/milk/cream = 1)
result_amount = 3
/datum/chemical_reaction/drink/manly_dorf
name = "The Manly Dorf"
id = "manlydorf"
result = /singleton/reagent/alcohol/manly_dorf
required_reagents = list(/singleton/reagent/alcohol/beer = 1, /singleton/reagent/alcohol/ale = 2)
result_amount = 3
/datum/chemical_reaction/drink/hooch
name = "Hooch"
id = "hooch"
result = /singleton/reagent/alcohol/hooch
required_reagents = list(/singleton/reagent/sugar = 1, /singleton/reagent/alcohol/moonshine = 1, /singleton/reagent/fuel = 1)
result_amount = 3
/datum/chemical_reaction/drink/irish_coffee
name = "Irish Coffee"
id = "irishcoffee"
result = /singleton/reagent/alcohol/coffee/irishcoffee
required_reagents = list(/singleton/reagent/alcohol/irishcream = 1, /singleton/reagent/drink/coffee = 1)
result_amount = 2
/datum/chemical_reaction/drink/b52
name = "B-52"
id = "b52"
result = /singleton/reagent/alcohol/coffee/b52
required_reagents = list(/singleton/reagent/alcohol/irishcream = 1, /singleton/reagent/alcohol/coffee/kahlua = 1, /singleton/reagent/alcohol/cognac = 1)
result_amount = 3
/datum/chemical_reaction/drink/atomicbomb
name = "Atomic Bomb"
id = "atomicbomb"
result = /singleton/reagent/alcohol/atomicbomb
required_reagents = list(/singleton/reagent/alcohol/coffee/b52 = 10, /singleton/reagent/uranium = 1)
result_amount = 10
/datum/chemical_reaction/drink/margarita
name = "Margarita"
id = "margarita"
result = /singleton/reagent/alcohol/margarita
required_reagents = list(/singleton/reagent/alcohol/tequila = 1, /singleton/reagent/alcohol/triplesec = 1, /singleton/reagent/drink/limejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/longislandicedtea
name = "Long Island Iced Tea"
id = "longislandicedtea"
result = /singleton/reagent/alcohol/longislandicedtea
required_reagents = list(/singleton/reagent/alcohol/vodka = 1, /singleton/reagent/alcohol/gin = 1, /singleton/reagent/alcohol/tequila = 1, /singleton/reagent/alcohol/cubalibre = 3)
result_amount = 6
/datum/chemical_reaction/drink/icedtea
name = "Long Island Iced Tea"
id = "longislandicedtea"
result = /singleton/reagent/alcohol/longislandicedtea
required_reagents = list(/singleton/reagent/alcohol/vodka = 1, /singleton/reagent/alcohol/gin = 1, /singleton/reagent/alcohol/tequila = 1, /singleton/reagent/alcohol/cubalibre = 3)
result_amount = 6
/datum/chemical_reaction/drink/threemileisland
name = "Three Mile Island Iced Tea"
id = "threemileisland"
result = /singleton/reagent/alcohol/threemileisland
required_reagents = list(/singleton/reagent/alcohol/longislandicedtea = 10, /singleton/reagent/uranium = 1)
result_amount = 10
/datum/chemical_reaction/drink/whiskeysoda
name = "Whiskey Soda"
id = "whiskeysoda"
result = /singleton/reagent/alcohol/whiskeysoda
required_reagents = list(/singleton/reagent/alcohol/whiskey = 2, /singleton/reagent/drink/sodawater = 1)
result_amount = 3
/datum/chemical_reaction/drink/black_russian
name = "Black Russian"
id = "blackrussian"
result = /singleton/reagent/alcohol/blackrussian
required_reagents = list(/singleton/reagent/alcohol/vodka = 2, /singleton/reagent/alcohol/coffee/kahlua = 1)
result_amount = 3
/datum/chemical_reaction/drink/manhattan
name = "Manhattan"
id = "manhattan"
result = /singleton/reagent/alcohol/manhattan
required_reagents = list(/singleton/reagent/alcohol/whiskey = 2, /singleton/reagent/alcohol/vermouth = 1)
result_amount = 3
/datum/chemical_reaction/drink/manhattan_proj
name = "Manhattan Project"
id = "manhattan_proj"
result = /singleton/reagent/alcohol/manhattan_proj
required_reagents = list(/singleton/reagent/alcohol/manhattan = 10, /singleton/reagent/uranium = 1)
result_amount = 10
/datum/chemical_reaction/drink/vodka_tonic
name = "Vodka and Tonic"
id = "vodkatonic"
result = /singleton/reagent/alcohol/vodkatonic
required_reagents = list(/singleton/reagent/alcohol/vodka = 2, /singleton/reagent/drink/tonic = 1)
result_amount = 3
/datum/chemical_reaction/drink/gin_fizz
name = "Gin Fizz"
id = "ginfizz"
result = /singleton/reagent/alcohol/ginfizz
required_reagents = list(/singleton/reagent/alcohol/gin = 1, /singleton/reagent/drink/sodawater = 1, /singleton/reagent/drink/limejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/bahama_mama
name = "Bahama mama"
id = "bahama_mama"
result = /singleton/reagent/alcohol/bahama_mama
required_reagents = list(/singleton/reagent/alcohol/rum = 2, /singleton/reagent/drink/orangejuice = 2, /singleton/reagent/drink/limejuice = 1, /singleton/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/singulo
name = "Singulo"
id = "singulo"
result = /singleton/reagent/alcohol/singulo
required_reagents = list(/singleton/reagent/alcohol/vodka = 5, /singleton/reagent/radium = 1, /singleton/reagent/alcohol/wine = 5)
result_amount = 10
/datum/chemical_reaction/drink/alliescocktail
name = "Allies Cocktail"
id = "alliescocktail"
result = /singleton/reagent/alcohol/alliescocktail
required_reagents = list(/singleton/reagent/alcohol/martini = 1, /singleton/reagent/alcohol/vodka = 1)
result_amount = 2
/datum/chemical_reaction/drink/demonsblood
name = "Demons Blood"
id = "demonsblood"
result = /singleton/reagent/alcohol/demonsblood
required_reagents = list(/singleton/reagent/alcohol/rum = 3, /singleton/reagent/drink/spacemountainwind = 1, /singleton/reagent/blood = 1, /singleton/reagent/drink/dr_gibb = 1)
result_amount = 6
/datum/chemical_reaction/drink/booger
name = "Booger"
id = "booger"
result = /singleton/reagent/alcohol/booger
required_reagents = list(/singleton/reagent/drink/milk/cream = 2, /singleton/reagent/drink/banana = 1, /singleton/reagent/alcohol/rum = 1, /singleton/reagent/drink/watermelonjuice = 1)
result_amount = 5
/datum/chemical_reaction/drink/antifreeze
name = "Anti-freeze"
id = "antifreeze"
result = /singleton/reagent/alcohol/antifreeze
required_reagents = list(/singleton/reagent/alcohol/vodka = 1, /singleton/reagent/drink/milk/cream = 1, /singleton/reagent/drink/ice = 1)
result_amount = 3
/datum/chemical_reaction/drink/barefoot
name = "Barefoot"
id = "barefoot"
result = /singleton/reagent/alcohol/barefoot
required_reagents = list(/singleton/reagent/drink/berryjuice = 1, /singleton/reagent/drink/milk/cream = 1, /singleton/reagent/alcohol/vermouth = 1)
result_amount = 3
/datum/chemical_reaction/drink/grapesoda
name = "Grape Soda"
id = "grapesoda"
result = /singleton/reagent/drink/grapesoda
required_reagents = list(/singleton/reagent/drink/grapejuice = 2, /singleton/reagent/drink/space_cola = 1)
result_amount = 3
/datum/chemical_reaction/drink/sbiten
name = "Sbiten"
id = "sbiten"
result = /singleton/reagent/alcohol/sbiten
required_reagents = list(/singleton/reagent/alcohol/mead = 10, /singleton/reagent/capsaicin = 1)
result_amount = 10
/datum/chemical_reaction/drink/red_mead
name = "Red Mead"
id = "red_mead"
result = /singleton/reagent/alcohol/red_mead
required_reagents = list(/singleton/reagent/blood = 1, /singleton/reagent/alcohol/mead = 1)
result_amount = 2
/datum/chemical_reaction/drink/mead
name = "Mead"
id = "mead"
result = /singleton/reagent/alcohol/mead
required_reagents = list(/singleton/reagent/sugar = 1, /singleton/reagent/water = 1)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 2
/datum/chemical_reaction/drink/iced_beer
name = "Iced Beer"
id = "frosted_beer"
result = /singleton/reagent/alcohol/iced_beer
required_reagents = list(/singleton/reagent/alcohol/beer = 10, /singleton/reagent/frostoil = 1)
result_amount = 10
/datum/chemical_reaction/drink/iced_beer2
name = "Iced Beer"
id = "iced_beer"
result = /singleton/reagent/alcohol/iced_beer
required_reagents = list(/singleton/reagent/alcohol/beer = 5, /singleton/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/grog
name = "Grog"
id = "grog"
result = /singleton/reagent/alcohol/grog
required_reagents = list(/singleton/reagent/alcohol/rum = 1, /singleton/reagent/water = 1)
result_amount = 2
/datum/chemical_reaction/drink/ration_coffee
name = "Ration Coffee"
id = "ration_coffee"
result = /singleton/reagent/drink/coffee/ration
required_reagents = list(/singleton/reagent/drink/coffee = 2, /singleton/reagent/water = 1)
result_amount = 3
/datum/chemical_reaction/drink/soy_latte
name = "Soy Latte"
id = "soy_latte"
result = /singleton/reagent/drink/coffee/soy_latte
required_reagents = list(/singleton/reagent/drink/coffee/espresso = 1, /singleton/reagent/drink/milk/soymilk = 1)
result_amount = 2
/datum/chemical_reaction/drink/steamed_milk
name = "Steamed Milk"
id = "steamed_milk"
result = /singleton/reagent/drink/milk/steamed_milk
required_temperature_min = T0C + 66
required_reagents = list(/singleton/reagent/drink/milk = 1)
result_amount = 1
/datum/chemical_reaction/drink/milk/strawberry
name = "Strawberry milk"
id = "steamed_milk"
result = /singleton/reagent/drink/milk/strawberry
required_reagents = list(/singleton/reagent/drink/milk = 1, /singleton/reagent/drink/strawberryjuice = 1)
result_amount = 2
/datum/chemical_reaction/drink/flat_white
name = "Flat White"
id = "flat_white"
result = /singleton/reagent/drink/coffee/flat_white
required_reagents = list(/singleton/reagent/drink/coffee/espresso = 1, /singleton/reagent/drink/milk = 1)
result_amount = 2
/datum/chemical_reaction/drink/caffe_misto
name = "Caffe Misto"
id = "caffe_misto"
result = /singleton/reagent/drink/coffee/caffe_misto
required_reagents = list(/singleton/reagent/drink/coffee = 1, /singleton/reagent/drink/milk/steamed_milk = 1)
result_amount = 2
/datum/chemical_reaction/drink/freddo_espresso
name = "Freddo Espresso"
id = "freddo_espresso"
result = /singleton/reagent/drink/coffee/freddo_espresso
required_reagents = list(/singleton/reagent/drink/coffee/espresso = 1, /singleton/reagent/drink/ice = 1)
result_amount = 2
/datum/chemical_reaction/drink/caffe_americano
name = "Caffe Americano"
id = "caffe_americano"
result = /singleton/reagent/drink/coffee/caffe_americano
required_reagents = list(/singleton/reagent/drink/coffee/espresso = 1, /singleton/reagent/water = 1)
result_amount = 2
/datum/chemical_reaction/drink/caffe_latte
name = "Caffe Latte"
id = "caffe_latte"
result = /singleton/reagent/drink/coffee/latte
required_reagents = list(/singleton/reagent/drink/coffee/flat_white = 1, /singleton/reagent/drink/milk/steamed_milk = 1)
result_amount = 2
/datum/chemical_reaction/drink/cappuccino
name = "Cappuccino"
id = "cappuccino"
result = /singleton/reagent/drink/coffee/cappuccino
required_reagents = list(/singleton/reagent/drink/coffee/macchiato = 1, /singleton/reagent/drink/milk/steamed_milk = 1)
result_amount = 2
/datum/chemical_reaction/drink/freddo_cappuccino
name = "Freddo Cappuccino"
id = "freddo_cappuccino"
result = /singleton/reagent/drink/coffee/freddo_cappuccino
required_reagents = list(/singleton/reagent/drink/coffee/cappuccino = 1, /singleton/reagent/drink/ice = 1)
result_amount = 2
/datum/chemical_reaction/drink/macchiato
name = "Macchiato"
id = "macchiato"
result = /singleton/reagent/drink/coffee/macchiato
required_reagents = list(/singleton/reagent/drink/coffee/espresso = 1, /singleton/reagent/drink/milk/steamed_milk = 1)
result_amount = 2
/datum/chemical_reaction/pumpkinspice
name = "Pumpkin Spice"
id = "pumpkinspce"
result = /singleton/reagent/spacespice/pumpkinspice
mix_message = "The spice brightens up."
required_reagents = list(/singleton/reagent/spacespice = 4, /singleton/reagent/nutriment/pumpkinpulp = 1)
result_amount = 5
/datum/chemical_reaction/drink/psfrappe
name = "Pumpkin Spice Frappe"
id = "psfrappe"
result = /singleton/reagent/drink/coffee/icecoffee/psfrappe
required_reagents = list(/singleton/reagent/drink/coffee/icecoffee = 4, /singleton/reagent/condiment/syrup_pumpkin = 1)
result_amount = 5
/datum/chemical_reaction/drink/pslatte
name = "Pumpkin Spice Latte"
id = "pslatte"
result = /singleton/reagent/drink/coffee/latte/pumpkinspice
required_reagents = list(/singleton/reagent/drink/coffee/latte = 4, /singleton/reagent/condiment/syrup_pumpkin = 1)
result_amount = 5
/datum/chemical_reaction/drink/caramel_latte
name = "Caramel latte"
id = "caramellatte"
result = /singleton/reagent/drink/coffee/latte/caramel
required_reagents = list(/singleton/reagent/drink/coffee/latte = 4, /singleton/reagent/condiment/syrup_caramel = 1)
result_amount = 5
/datum/chemical_reaction/drink/mocha_latte
name = "Mocha latte"
id = "mochalatte"
result = /singleton/reagent/drink/coffee/latte/mocha
required_reagents = list(/singleton/reagent/drink/coffee/latte = 4, /singleton/reagent/condiment/syrup_chocolate = 1)
result_amount = 5
/datum/chemical_reaction/drink/vanilla_latte
name = "Vanilla latte"
id = "vanillalatte"
result = /singleton/reagent/drink/coffee/latte/vanilla
required_reagents = list(/singleton/reagent/drink/coffee/latte = 4, /singleton/reagent/condiment/syrup_vanilla = 1)
result_amount = 5
/datum/chemical_reaction/drink/acidspit
name = "Acid Spit"
id = "acidspit"
result = /singleton/reagent/alcohol/acid_spit
required_reagents = list(/singleton/reagent/acid = 1, /singleton/reagent/alcohol/wine = 5)
result_amount = 6
/datum/chemical_reaction/drink/amasec
name = "Amasec"
id = "amasec"
result = /singleton/reagent/alcohol/amasec
required_reagents = list(/singleton/reagent/iron = 1, /singleton/reagent/alcohol/wine = 5, /singleton/reagent/alcohol/vodka = 5)
result_amount = 10
/datum/chemical_reaction/drink/gibsonpunch
name = "Gibson Punch"
id = "gibsonpunch"
result = /singleton/reagent/alcohol/gibsonpunch
required_reagents = list(/singleton/reagent/alcohol/screwdrivercocktail = 1, /singleton/reagent/drink/limejuice = 1, /singleton/reagent/drink/lemonjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/aloe
name = "Aloe"
id = "aloe"
result = /singleton/reagent/alcohol/aloe
required_reagents = list(/singleton/reagent/drink/milk/cream = 1, /singleton/reagent/alcohol/whiskey = 1, /singleton/reagent/drink/watermelonjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/andalusia
name = "Andalusia"
id = "andalusia"
result = /singleton/reagent/alcohol/andalusia
required_reagents = list(/singleton/reagent/alcohol/rum = 1, /singleton/reagent/alcohol/whiskey = 1, /singleton/reagent/drink/lemonjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/neurotoxin
name = "Neurotoxin"
id = "neurotoxin"
result = /singleton/reagent/alcohol/neurotoxin
required_reagents = list(/singleton/reagent/alcohol/gargleblaster = 1, /singleton/reagent/soporific = 1)
result_amount = 2
/datum/chemical_reaction/drink/snowwhite
name = "Snow White"
id = "snowwhite"
result = /singleton/reagent/alcohol/snowwhite
required_reagents = list(/singleton/reagent/alcohol/beer = 1, /singleton/reagent/drink/lemon_lime = 1)
result_amount = 2
/datum/chemical_reaction/drink/irishcarbomb
name = "Irish Car Bomb"
id = "irishcarbomb"
result = /singleton/reagent/alcohol/irishcarbomb
required_reagents = list(/singleton/reagent/alcohol/ale = 1, /singleton/reagent/alcohol/irishcream = 1)
result_amount = 2
/datum/chemical_reaction/drink/gibsonhooch
name = "Gibson Hooch"
id = "gibsonhooch"
result = /singleton/reagent/alcohol/gibsonhooch
required_reagents = list(/singleton/reagent/alcohol/beer = 1, /singleton/reagent/alcohol/whiskeycola = 1)
result_amount = 2
/datum/chemical_reaction/drink/erikasurprise
name = "Erika Surprise"
id = "erikasurprise"
result = /singleton/reagent/alcohol/erikasurprise
required_reagents = list(/singleton/reagent/alcohol/ale = 2, /singleton/reagent/drink/limejuice = 1, /singleton/reagent/alcohol/whiskey = 1, /singleton/reagent/drink/banana = 1, /singleton/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/devilskiss
name = "Devils Kiss"
id = "devilskiss"
result = /singleton/reagent/alcohol/devilskiss
required_reagents = list(/singleton/reagent/blood = 1, /singleton/reagent/alcohol/coffee/kahlua = 1, /singleton/reagent/alcohol/rum = 1)
result_amount = 3
/datum/chemical_reaction/drink/hippiesdelight
name = "Hippies Delight"
id = "hippiesdelight"
result = /singleton/reagent/alcohol/hippiesdelight
required_reagents = list(/singleton/reagent/drugs/psilocybin = 1, /singleton/reagent/alcohol/gargleblaster = 1)
result_amount = 2
/datum/chemical_reaction/drink/bananahonk
name = "Banana Honk"
id = "bananahonk"
result = /singleton/reagent/alcohol/bananahonk
required_reagents = list(/singleton/reagent/drink/banana = 1, /singleton/reagent/drink/milk/cream = 1, /singleton/reagent/sugar = 1)
result_amount = 3
/datum/chemical_reaction/drink/silencer
name = "Silencer"
id = "silencer"
result = /singleton/reagent/alcohol/silencer
required_reagents = list(/singleton/reagent/drink/nothing = 1, /singleton/reagent/drink/milk/cream = 1, /singleton/reagent/sugar = 1)
result_amount = 3
/datum/chemical_reaction/drink/driestmartini
name = "Driest Martini"
id = "driestmartini"
result = /singleton/reagent/alcohol/driestmartini
required_reagents = list(/singleton/reagent/drink/nothing = 1, /singleton/reagent/alcohol/gin = 1)
result_amount = 2
/datum/chemical_reaction/drink/lemonade
name = "Lemonade"
id = "lemonade"
result = /singleton/reagent/drink/lemonade
required_reagents = list(/singleton/reagent/drink/lemonjuice = 1, /singleton/reagent/sugar = 1, /singleton/reagent/water = 1)
result_amount = 3
/datum/chemical_reaction/drink/lemonade/pink
name = "Pink Lemonade"
id = "pinklemonade"
result = /singleton/reagent/drink/lemonade/pink
required_reagents = list(/singleton/reagent/drink/lemonade = 8, /singleton/reagent/drink/grenadine = 2)
result_amount = 10
/datum/chemical_reaction/drink/kiraspecial
name = "Kira Special"
id = "kiraspecial"
result = /singleton/reagent/drink/kiraspecial
required_reagents = list(/singleton/reagent/drink/orangejuice = 1, /singleton/reagent/drink/limejuice = 1, /singleton/reagent/drink/sodawater = 1)
result_amount = 3
/datum/chemical_reaction/drink/brownstar
name = "Brown Star"
id = "brownstar"
result = /singleton/reagent/drink/brownstar
required_reagents = list(/singleton/reagent/drink/orangejuice = 2, /singleton/reagent/drink/space_cola = 1)
result_amount = 3
/datum/chemical_reaction/drink/milkshake
name = "Milkshake"
id = "milkshake"
result = /singleton/reagent/drink/milkshake
required_reagents = list(/singleton/reagent/drink/milk/cream = 1, /singleton/reagent/drink/ice = 2, /singleton/reagent/drink/milk = 2)
result_amount = 5
/datum/chemical_reaction/drink/cmojito
name = "Champagne Mojito"
id = "cmojito"
result = /singleton/reagent/alcohol/cmojito
required_reagents = list(/singleton/reagent/drink/mintsyrup = 1, /singleton/reagent/alcohol/champagne = 1, /singleton/reagent/alcohol/rum = 1)
result_amount = 3
/datum/chemical_reaction/drink/classic
name = "The Classic"
id = "classic"
result = /singleton/reagent/alcohol/classic
required_reagents = list(/singleton/reagent/alcohol/champagne = 2, /singleton/reagent/alcohol/bitters = 1, /singleton/reagent/drink/lemonjuice = 1)
result_amount = 4
/datum/chemical_reaction/drink/corkpopper
name = "Cork Popper"
id = "corkpopper"
result = /singleton/reagent/alcohol/corkpopper
required_reagents = list(/singleton/reagent/alcohol/whiskey = 1, /singleton/reagent/alcohol/champagne = 1, /singleton/reagent/drink/lemonjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/french75
name = "French 75"
id = "french75"
result = /singleton/reagent/alcohol/french75
required_reagents = list(/singleton/reagent/alcohol/champagne = 2, /singleton/reagent/alcohol/gin = 1, /singleton/reagent/drink/lemonjuice = 1)
result_amount = 4
/datum/chemical_reaction/drink/muscmule
name = "Muscovite Mule"
id = "muscmule"
result = /singleton/reagent/alcohol/muscmule
required_reagents = list(/singleton/reagent/alcohol/vodka = 1, /singleton/reagent/drink/limejuice = 1, /singleton/reagent/drink/mintsyrup = 1)
result_amount = 3
/datum/chemical_reaction/drink/omimosa
name = "Orange Mimosa"
id = "omimosa"
result = /singleton/reagent/alcohol/omimosa
required_reagents = list(/singleton/reagent/drink/orangejuice = 1, /singleton/reagent/alcohol/champagne = 1)
result_amount = 2
/datum/chemical_reaction/drink/pinkgin
name = "Pink Gin"
id = "pinkgin"
result = /singleton/reagent/alcohol/pinkgin
required_reagents = list(/singleton/reagent/alcohol/gin = 2, /singleton/reagent/alcohol/bitters = 1)
result_amount = 3
/datum/chemical_reaction/drink/pinkgintonic
name = "Pink Gin and Tonic"
id = "pinkgintonic"
result = /singleton/reagent/alcohol/pinkgintonic
required_reagents = list(/singleton/reagent/alcohol/pinkgin = 2, /singleton/reagent/drink/tonic = 1)
result_amount = 3
/datum/chemical_reaction/drink/piratepunch
name = "Pirate's Punch"
id = "piratepunch"
result = /singleton/reagent/alcohol/piratepunch
required_reagents = list(/singleton/reagent/alcohol/rum = 1, /singleton/reagent/drink/lemonjuice = 1, /singleton/reagent/drink/mintsyrup = 1, /singleton/reagent/drink/grenadine = 1, /singleton/reagent/alcohol/bitters = 1)
result_amount = 5
/datum/chemical_reaction/drink/planterpunch
name = "Planter's Punch"
id = "planterpunch"
result = /singleton/reagent/alcohol/planterpunch
required_reagents = list(/singleton/reagent/alcohol/rum = 2, /singleton/reagent/drink/orangejuice = 1, /singleton/reagent/drink/grenadine = 1)
result_amount = 4
/datum/chemical_reaction/drink/ssroyale
name = "Southside Royale"
id = "ssroyale"
result = /singleton/reagent/alcohol/ssroyale
required_reagents = list(/singleton/reagent/drink/mintsyrup = 1, /singleton/reagent/alcohol/gin = 1, /singleton/reagent/drink/limejuice = 1, /singleton/reagent/alcohol/champagne = 1)
result_amount = 4
/datum/chemical_reaction/drink/rewriter
name = "Rewriter"
id = "rewriter"
result = /singleton/reagent/drink/rewriter
required_reagents = list(/singleton/reagent/drink/spacemountainwind = 1, /singleton/reagent/drink/coffee = 1)
result_amount = 2
/datum/chemical_reaction/drink/suidream
name = "Sui Dream"
id = "suidream"
result = /singleton/reagent/alcohol/suidream
required_reagents = list(/singleton/reagent/drink/spaceup = 1, /singleton/reagent/alcohol/bluecuracao = 1, /singleton/reagent/alcohol/melonliquor = 1)
result_amount = 3
//aurora's drinks
/datum/chemical_reaction/drink/daiquiri
name = "Daiquiri"
id = "daiquiri"
result = /singleton/reagent/alcohol/daiquiri
required_reagents = list(/singleton/reagent/drink/limejuice = 1, /singleton/reagent/alcohol/rum = 1)
result_amount = 2
/datum/chemical_reaction/drink/icepick
name = "Ice Pick"
id = "icepick"
result = /singleton/reagent/alcohol/icepick
required_reagents = list(/singleton/reagent/drink/icetea = 1, /singleton/reagent/alcohol/vodka = 1)
result_amount = 2
/datum/chemical_reaction/drink/poussecafe
name = "Pousse-Cafe"
id = "poussecafe"
result = /singleton/reagent/alcohol/poussecafe
required_reagents = list(/singleton/reagent/alcohol/brandy = 1, /singleton/reagent/alcohol/chartreusegreen = 1, /singleton/reagent/alcohol/chartreuseyellow = 1, /singleton/reagent/alcohol/cremewhite = 1, /singleton/reagent/drink/grenadine = 1)
result_amount = 5
/datum/chemical_reaction/drink/mintjulep
name = "Mint Julep"
id = "mintjulep"
result = /singleton/reagent/alcohol/mintjulep
required_reagents = list(/singleton/reagent/water = 1, /singleton/reagent/alcohol/whiskey = 1, /singleton/reagent/drink/ice = 1)
result_amount = 2
/datum/chemical_reaction/drink/johncollins
name = "John Collins"
id = "johncollins"
result = /singleton/reagent/alcohol/johncollins
required_reagents = list(/singleton/reagent/alcohol/whiskeysoda = 2, /singleton/reagent/drink/lemonjuice = 1, /singleton/reagent/drink/grenadine = 1, /singleton/reagent/drink/ice = 1)
result_amount = 5
/datum/chemical_reaction/drink/gimlet
name = "Gimlet"
id = "gimlet"
result = /singleton/reagent/alcohol/gimlet
required_reagents = list(/singleton/reagent/drink/limejuice = 1, /singleton/reagent/alcohol/gin = 1, /singleton/reagent/drink/grenadine = 1)
result_amount = 3
/datum/chemical_reaction/drink/starsandstripes
name = "Stars and Stripes"
id = "starsandstripes"
result = /singleton/reagent/alcohol/starsandstripes
required_reagents = list(/singleton/reagent/drink/milk/cream = 1, /singleton/reagent/alcohol/cremeyvette = 1, /singleton/reagent/drink/grenadine = 1)
result_amount = 3
/datum/chemical_reaction/drink/cosmopolitan
name = "Cosmopolitan"
id = "cosmopolitan"
result = /singleton/reagent/alcohol/cosmopolitan
required_reagents = list(/singleton/reagent/alcohol/triplesec = 1, /singleton/reagent/drink/limejuice = 1, /singleton/reagent/drink/cranberryjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/mendellian
name = "Mendellian"
id = "mendellian"
result = /singleton/reagent/alcohol/mendellian
required_reagents = list(/singleton/reagent/alcohol/bluecuracao = 1, /singleton/reagent/alcohol/triplesec = 1, /singleton/reagent/drink/limejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/metropolitan
name = "Metropolitan"
id = "metropolitan"
result = /singleton/reagent/alcohol/metropolitan
required_reagents = list(/singleton/reagent/alcohol/brandy = 1, /singleton/reagent/alcohol/vermouth = 1, /singleton/reagent/drink/grenadine = 1)
result_amount = 3
/datum/chemical_reaction/drink/red_dwarf_sangria
name = "Red Dwarf Sangria"
id = "reddwarfsangria"
result = /singleton/reagent/alcohol/red_dwarf_sangria
required_reagents = list(/singleton/reagent/alcohol/wine/assunzione = 1, /singleton/reagent/alcohol/applejack = 1, /singleton/reagent/drink/orangejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/forbidden_apple
name = "Forbidden Apple"
id = "forbiddenapple"
result = /singleton/reagent/alcohol/forbidden_apple
required_reagents = list(/singleton/reagent/alcohol/champagne = 1, /singleton/reagent/alcohol/triplesec = 1, /singleton/reagent/alcohol/applejack = 1)
result_amount = 3
/datum/chemical_reaction/drink/caruso
name = "Caruso"
id = "caruso"
result = /singleton/reagent/alcohol/caruso
required_reagents = list(/singleton/reagent/alcohol/martini = 2, /singleton/reagent/alcohol/cremewhite = 1)
result_amount = 3
/datum/chemical_reaction/drink/aprilshower
name = "April Shower"
id = "aprilshower"
result = /singleton/reagent/alcohol/aprilshower
required_reagents = list(/singleton/reagent/alcohol/brandy = 1, /singleton/reagent/alcohol/chartreuseyellow = 1, /singleton/reagent/drink/orangejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/carthusiansazerac
name = "Carthusian Sazerac"
id = "carthusiansazerac"
result = /singleton/reagent/alcohol/carthusiansazerac
required_reagents = list(/singleton/reagent/alcohol/whiskey = 1, /singleton/reagent/alcohol/chartreusegreen = 1, /singleton/reagent/drink/grenadine = 1, /singleton/reagent/alcohol/absinthe = 1)
result_amount = 4
/datum/chemical_reaction/drink/deweycocktail
name = "Dewey Cocktail"
id = "deweycocktail"
result = /singleton/reagent/alcohol/deweycocktail
required_reagents = list(/singleton/reagent/alcohol/cremeyvette = 1, /singleton/reagent/alcohol/gin = 1, /singleton/reagent/drink/grenadine = 1)
result_amount = 3
/datum/chemical_reaction/drink/rustynail
name = "Rusty Nail"
id = "rustynail"
result = /singleton/reagent/alcohol/rustynail
required_reagents = list(/singleton/reagent/alcohol/whiskey = 1, /singleton/reagent/alcohol/drambuie = 1)
result_amount = 2
/datum/chemical_reaction/drink/oldfashioned
name = "Old Fashioned"
id = "oldfashioned"
result = /singleton/reagent/alcohol/oldfashioned
required_reagents = list(/singleton/reagent/alcohol/whiskeysoda = 3, /singleton/reagent/alcohol/bitters = 1, /singleton/reagent/sugar = 1)
result_amount = 5
/datum/chemical_reaction/drink/blindrussian
name = "Blind Russian"
id = "blindrussian"
result = /singleton/reagent/alcohol/blindrussian
required_reagents = list(/singleton/reagent/alcohol/coffee/kahlua = 1, /singleton/reagent/alcohol/irishcream = 1, /singleton/reagent/drink/milk/cream = 1)
result_amount = 3
/datum/chemical_reaction/drink/tallrussian
name = "Tall Black Russian"
id = "tallrussian"
result = /singleton/reagent/alcohol/tallrussian
required_reagents = list(/singleton/reagent/alcohol/blackrussian = 1, /singleton/reagent/drink/space_cola = 1)
result_amount = 2
/datum/chemical_reaction/drink/cold_gate
name = "Cold Gate"
id = "cold_gate"
result = /singleton/reagent/drink/toothpaste/cold_gate
result_amount = 3
required_reagents = list(/singleton/reagent/drink/mintsyrup = 1, /singleton/reagent/drink/ice = 1, /singleton/reagent/drink/toothpaste = 1)
/datum/chemical_reaction/drink/waterfresh
name = "Waterfresh"
id = "waterfresh"
result = /singleton/reagent/drink/toothpaste/waterfresh
result_amount = 3
required_reagents = list(/singleton/reagent/drink/tonic = 1, /singleton/reagent/drink/sodawater = 1, /singleton/reagent/drink/toothpaste = 1)
/datum/chemical_reaction/drink/sedantian_firestorm
name = "Sedantian Firestorm"
id = "sedantian_firestorm"
result = /singleton/reagent/drink/toothpaste/sedantian_firestorm
result_amount = 2
required_reagents = list(/singleton/reagent/toxin/phoron = 1, /singleton/reagent/drink/toothpaste = 1)
/datum/chemical_reaction/drink/kois_odyne
name = "Kois Odyne"
id = "kois_odyne"
result = /singleton/reagent/drink/toothpaste/kois_odyne
result_amount = 3
required_reagents = list(/singleton/reagent/drink/tonic = 1, /singleton/reagent/kois = 1, /singleton/reagent/drink/toothpaste = 1)
/datum/chemical_reaction/adhomai_milk
name = "Fermented Fatshouters Milk"
id = "adhomai_milk"
result = /singleton/reagent/drink/milk/adhomai/fermented
required_reagents = list(/singleton/reagent/drink/milk/adhomai = 1)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 1
/datum/chemical_reaction/drink/ntella_shake
name = "NTella milkshake"
id = "NTellamilkshake"
result = /singleton/reagent/drink/ntella_milkshake
required_reagents = list(/singleton/reagent/drink/milkshake = 5, /singleton/reagent/nutriment/choconutspread = 1)
result_amount = 6
/datum/chemical_reaction/drink/caramelshake
name = "Caramel Milkshake"
id = "shake_caramel"
result = /singleton/reagent/drink/shake_caramel
required_reagents = list(/singleton/reagent/drink/milkshake = 5, /singleton/reagent/condiment/syrup_caramel = 1)
result_amount = 6
/datum/chemical_reaction/drink/strawberryshake
name = "Strawberry Milkshake"
id = "shake_strawberry"
result = /singleton/reagent/drink/shake_strawberry
required_reagents = list(/singleton/reagent/drink/milkshake = 5, /singleton/reagent/condiment/syrup_strawberry = 1)
result_amount = 6
/datum/chemical_reaction/drink/dirtberryshake
name = "Dirtberry Milkshake"
id = "shake_dirtberry"
result = /singleton/reagent/drink/shake_dirtberry
required_reagents = list(/singleton/reagent/drink/milkshake = 5, /singleton/reagent/condiment/syrup_dirtberry = 1)
result_amount = 6
/datum/chemical_reaction/drink/blueberry_shake
name = "Blueberry Milkshake"
id = "shake_blueberry"
result = /singleton/reagent/drink/shake_blueberry
required_reagents = list(/singleton/reagent/drink/milkshake = 5, /singleton/reagent/condiment/syrup_blueberry = 1)
result_amount = 6
/datum/chemical_reaction/drink/chocolate_shake
name = "Chocolate Milkshake"
id = "shake_chocolate"
result = /singleton/reagent/drink/shake_chocolate
required_reagents = list(/singleton/reagent/drink/milkshake = 5, /singleton/reagent/condiment/syrup_chocolate = 1)
result_amount = 6
/datum/chemical_reaction/drink/blue_raspberry_shake
name = "Blue Raspberry Milkshake"
id = "shake_blue_raspberry"
result = /singleton/reagent/drink/shake_blue_raspberry
required_reagents = list(/singleton/reagent/drink/milkshake = 5, /singleton/reagent/condiment/syrup_blueraspberry = 1)
result_amount = 6
/datum/chemical_reaction/drink/raspberry_shake
name = "Raspberry Milkshake"
id = "shake_raspberry"
result = /singleton/reagent/drink/shake_raspberry
required_reagents = list(/singleton/reagent/drink/milkshake = 5, /singleton/reagent/condiment/syrup_raspberry = 1)
result_amount = 6
/datum/chemical_reaction/drink/ylpha_shake
name = "Ylpha Berry Milkshake"
id = "shake_ylpha"
result = /singleton/reagent/drink/shake_ylpha
required_reagents = list(/singleton/reagent/drink/milkshake = 5, /singleton/reagent/condiment/syrup_ylphaberry = 1)
result_amount = 6
/datum/chemical_reaction/drink/berry_shake
name = "Berry Milkshake"
id = "shake_berry"
result = /singleton/reagent/drink/shake_berry
required_reagents = list(/singleton/reagent/drink/milkshake = 5, /singleton/reagent/condiment/syrup_berry = 1)
result_amount = 6
/datum/chemical_reaction/drink/choco_mint_shake
name = "Choco-Mint Milkshake"
id = "shake_choco_mint"
result = /singleton/reagent/drink/shake_choco_mint
required_reagents = list(/singleton/reagent/drink/milkshake = 5, /singleton/reagent/drink/mintsyrup = 1)
result_amount = 6
/datum/chemical_reaction/drink/ntella_hot_chocolate
name = "NTella hot chocolate"
id = "NTellahotchocolate"
result = /singleton/reagent/drink/ntella_hot_chocolate
required_reagents = list(/singleton/reagent/drink/milk = 1, /singleton/reagent/nutriment/choconutspread = 1, /singleton/reagent/drink/milk/cream = 1)
result_amount = 3
/datum/chemical_reaction/drink/lights_edge
name = "Light's Edge"
id = "lights_edge"
result = /singleton/reagent/alcohol/lights_edge
required_reagents = list(/singleton/reagent/alcohol/wine/assunzione = 1, /singleton/reagent/alcohol/gin = 1, /singleton/reagent/drink/lemonjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/rose_tinted_glasses
name = "Rose Tinted Glasses"
id = "rose_tinted_glasses"
result = /singleton/reagent/alcohol/rose_tinted_glasses
required_reagents = list(/singleton/reagent/alcohol/wine/rose = 1, /singleton/reagent/drink/sodawater = 1, /singleton/reagent/drink/lemonjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/twisted_lime
name = "Twisted Lime"
id = "twisted_lime"
result = /singleton/reagent/alcohol/twisted_lime
required_reagents = list(/singleton/reagent/alcohol/fernet = 1, /singleton/reagent/alcohol/ale = 1, /singleton/reagent/drink/limejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/cinnamon_orchard
name = "Cinnamon Orchard"
id = "cinnamon_orchard"
result = /singleton/reagent/alcohol/cinnamon_orchard
required_reagents = list(/singleton/reagent/alcohol/fireball = 1, /singleton/reagent/alcohol/applejack = 1, /singleton/reagent/drink/lemonjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/harvest_moon
name = "Harvest Moon"
id = "harvest_moon"
result = /singleton/reagent/alcohol/harvest_moon
required_reagents = list(/singleton/reagent/alcohol/applejack = 1, /singleton/reagent/condiment/syrup_pumpkin = 0.5, /singleton/reagent/drink/sodawater = 1)
result_amount = 3
/datum/chemical_reaction/drink/new_horizons
name = "New Horizons"
id = "new_horizons"
result = /singleton/reagent/alcohol/new_horizons
required_reagents = list(/singleton/reagent/alcohol/patron = 1, /singleton/reagent/alcohol/cremeyvette = 1, /singleton/reagent/drink/limejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/espratini
name = "Espratini"
id = "espratini"
result = /singleton/reagent/alcohol/espratini
required_reagents = list(/singleton/reagent/alcohol/coffee/kahlua = 1, /singleton/reagent/drink/coffee/espresso = 1, /singleton/reagent/alcohol/vodka = 1)
result_amount = 3
/datum/chemical_reaction/drink/pretty_in_pink
name = "Pretty in Pink"
id = "pretty_in_pink"
result = /singleton/reagent/alcohol/pretty_in_pink
required_reagents = list(/singleton/reagent/alcohol/wine/rose = 1, /singleton/reagent/drink/lemonade/pink = 1)
result_amount = 2
/datum/chemical_reaction/drink/weeping_stars
name = "Weeping Stars"
id = "weeping_stars"
result = /singleton/reagent/alcohol/weeping_stars
required_reagents = list(/singleton/reagent/alcohol/cremeyvette = 1, /singleton/reagent/drink/cranberryjuice = 1, /singleton/reagent/alcohol/champagne = 1)
result_amount = 3
/datum/chemical_reaction/drink/verdant
name = "Verdant Green"
id = "verdant"
result = /singleton/reagent/alcohol/verdant
required_reagents = list(/singleton/reagent/alcohol/soju = 1, /singleton/reagent/drink/tea/greentea = 1, /singleton/reagent/drink/mintsyrup = 1)
result_amount = 3
/datum/chemical_reaction/drink/lemonlimebitters
name = "Lemon Lime & Bitters"
id = "lemonlimebitters"
result = /singleton/reagent/drink/lemonlimebitters
required_reagents = list(/singleton/reagent/drink/lemonade = 1, /singleton/reagent/drink/limejuice = 1, /singleton/reagent/alcohol/bitters = 1)
result_amount = 3
// Synnono Meme Drinks
//==============================
// Organized here because why not.
/datum/chemical_reaction/drink/badtouch
name = "Bad Touch"
id = "badtouch"
result = /singleton/reagent/alcohol/badtouch
required_reagents = list(/singleton/reagent/alcohol/vodka = 2, /singleton/reagent/alcohol/rum = 2, /singleton/reagent/alcohol/absinthe = 1, /singleton/reagent/drink/lemon_lime = 1)
result_amount = 6
/datum/chemical_reaction/drink/bluelagoon
name = "Blue Lagoon"
id = "bluelagooon"
result = /singleton/reagent/alcohol/bluelagoon
required_reagents = list(/singleton/reagent/drink/lemonade = 3, /singleton/reagent/alcohol/vodka = 1, /singleton/reagent/alcohol/bluecuracao = 1, /singleton/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/cherrytreefireball
name = "Cherry Tree Fireball"
id = "cherrytreefireball"
result = /singleton/reagent/alcohol/cherrytreefireball
required_reagents = list(/singleton/reagent/drink/lemonade = 3, /singleton/reagent/alcohol/fireball = 1, /singleton/reagent/nutriment/cherryjelly = 1, /singleton/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/cobaltvelvet
name = "Cobalt Velvet"
id = "cobaltvelvet"
result = /singleton/reagent/alcohol/cobaltvelvet
required_reagents = list(/singleton/reagent/alcohol/champagne = 3, /singleton/reagent/alcohol/bluecuracao = 2, /singleton/reagent/drink/space_cola = 1)
result_amount = 6
/datum/chemical_reaction/drink/fringeweaver
name = "Fringe Weaver"
id = "fringeweaver"
result = /singleton/reagent/alcohol/fringeweaver
required_reagents = list(/singleton/reagent/alcohol/ethanol = 2, /singleton/reagent/sugar = 1)
result_amount = 3
/datum/chemical_reaction/drink/junglejuice
name = "Jungle Juice"
id = "junglejuice"
result = /singleton/reagent/alcohol/junglejuice
required_reagents = list(/singleton/reagent/drink/lemonjuice = 1, /singleton/reagent/drink/orangejuice = 1, /singleton/reagent/drink/lemon_lime = 1, /singleton/reagent/alcohol/vodka = 1, /singleton/reagent/alcohol/rum = 1)
result_amount = 5
/datum/chemical_reaction/drink/marsarita
name = "Marsarita"
id = "marsarita"
result = /singleton/reagent/alcohol/marsarita
required_reagents = list(/singleton/reagent/alcohol/margarita = 4, /singleton/reagent/alcohol/bluecuracao = 1, /singleton/reagent/capsaicin = 1)
result_amount = 6
/datum/chemical_reaction/drink/meloncooler
name = "Melon Cooler"
id = "meloncooler"
result = /singleton/reagent/drink/meloncooler
required_reagents = list(/singleton/reagent/drink/watermelonjuice = 2, /singleton/reagent/drink/sodawater = 2, /singleton/reagent/drink/mintsyrup = 1, /singleton/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/midnightkiss
name = "Midnight Kiss"
id = "midnightkiss"
result = /singleton/reagent/alcohol/midnightkiss
required_reagents = list(/singleton/reagent/alcohol/champagne = 3, /singleton/reagent/alcohol/vodka = 1, /singleton/reagent/alcohol/bluecuracao = 1)
result_amount = 5
/datum/chemical_reaction/drink/millionairesour
name = "Millionaire Sour"
id = "millionairesour"
result = /singleton/reagent/drink/millionairesour
required_reagents = list(/singleton/reagent/drink/spacemountainwind = 3, /singleton/reagent/drink/grenadine = 1, /singleton/reagent/drink/limejuice = 1)
result_amount = 5
/datum/chemical_reaction/drink/olympusmons
name = "Olympus Mons"
id = "olympusmons"
result = /singleton/reagent/alcohol/olympusmons
required_reagents = list(/singleton/reagent/alcohol/blackrussian = 1, /singleton/reagent/alcohol/whiskey = 1, /singleton/reagent/alcohol/rum = 1)
result_amount = 3
/datum/chemical_reaction/drink/europanail
name = "Europa Nail"
id = "europanail"
result = /singleton/reagent/alcohol/europanail
required_reagents = list(/singleton/reagent/alcohol/rustynail = 2, /singleton/reagent/alcohol/coffee/kahlua = 2, /singleton/reagent/drink/milk/cream = 2)
result_amount = 6
/datum/chemical_reaction/drink/portsvilleminttea
name = "Portsville Mint Tea"
id = "portsvilleminttea"
result = /singleton/reagent/drink/tea/portsvilleminttea
required_reagents = list(/singleton/reagent/drink/icetea = 3, /singleton/reagent/drink/berryjuice = 1, /singleton/reagent/drink/mintsyrup = 1, /singleton/reagent/sugar = 1)
result_amount = 6
/datum/chemical_reaction/drink/shirleytemple
name = "Shirley Temple"
id = "shirleytemple"
result = /singleton/reagent/drink/shirleytemple
required_reagents = list(/singleton/reagent/drink/spaceup = 4, /singleton/reagent/drink/grenadine = 2)
result_amount = 6
/datum/chemical_reaction/drink/sugarrush
name = "Sugar Rush"
id = "sugarrush"
result = /singleton/reagent/alcohol/sugarrush
required_reagents = list(/singleton/reagent/drink/brownstar = 4, /singleton/reagent/drink/grenadine = 1, /singleton/reagent/alcohol/vodka = 1)
result_amount = 6
/datum/chemical_reaction/drink/sangria
name = "Sangria"
id = "sangria"
result = /singleton/reagent/alcohol/sangria
required_reagents = list(/singleton/reagent/alcohol/wine = 3, /singleton/reagent/drink/orangejuice = 1, /singleton/reagent/drink/lemonjuice = 1, /singleton/reagent/alcohol/brandy = 1)
result_amount = 6
/datum/chemical_reaction/drink/bassline
name = "Bassline"
id = "bassline"
result = /singleton/reagent/alcohol/bassline
required_reagents = list(/singleton/reagent/alcohol/vodka = 2, /singleton/reagent/alcohol/bluecuracao = 1, /singleton/reagent/drink/limejuice = 1, /singleton/reagent/drink/grapejuice = 2)
result_amount = 6
/datum/chemical_reaction/drink/bluebird
name = "Bluebird"
id = "bluebird"
result = /singleton/reagent/alcohol/bluebird
required_reagents = list(/singleton/reagent/alcohol/gintonic = 3, /singleton/reagent/alcohol/bluecuracao = 1)
result_amount = 4
//Snowflake drinks
/datum/chemical_reaction/drink/dr_gibb_diet
name = "Diet Dr. Gibb"
id = "dr_gibb_diet"
result = /singleton/reagent/drink/dr_gibb_diet
required_reagents = list(/singleton/reagent/drink/dr_gibb = 1, /singleton/reagent/water = 1)
result_amount = 2
/datum/chemical_reaction/drink/dr_daniels
name = "Dr. Daniels"
id = "dr_daniels"
result = /singleton/reagent/alcohol/drdaniels
required_reagents = list(/singleton/reagent/drink/dr_gibb_diet = 3, /singleton/reagent/alcohol/whiskey = 1, /singleton/reagent/nutriment/honey = 1)
result_amount = 5
/datum/chemical_reaction/drink/meatshake
name = "Meatshake"
id = "meatshake"
result = /singleton/reagent/drink/meatshake
required_reagents = list(/singleton/reagent/drink/milk/cream = 1, /singleton/reagent/nutriment/protein = 1,/singleton/reagent/water = 1)
result_amount = 3
/datum/chemical_reaction/drink/eszkazalsbite
name = "Eszkazal's Bite"
id = "eszkazalsbite"
result = /singleton/reagent/alcohol/butanol/eszkazalsbite
required_reagents = list(/singleton/reagent/alcohol/butanol/sarezhiwine = 5, /singleton/reagent/toxin = 1)
result_amount = 6
/datum/chemical_reaction/drink/messa_mead
name = "Messa's Mead"
id = "messa_mead"
result = /singleton/reagent/alcohol/messa_mead
required_reagents = list(/singleton/reagent/nutriment/honey = 1, /singleton/reagent/drink/earthenrootjuice = 1)
result_amount = 2
/datum/chemical_reaction/drink/winter_offensive
name = "Winter Offensive"
id = "winter_offensive"
result = /singleton/reagent/alcohol/winter_offensive
required_reagents = list(/singleton/reagent/drink/ice = 1, /singleton/reagent/alcohol/victorygin = 1)
result_amount = 2
/datum/chemical_reaction/drink/mars_coffee
name = "Martian Special"
id = "mars_coffee"
result = /singleton/reagent/drink/coffee/mars
required_reagents = list(/singleton/reagent/drink/coffee = 4, /singleton/reagent/blackpepper = 1)
result_amount = 5
/datum/chemical_reaction/drink/mountain_marauder
name = "Mountain Marauder"
id = "mountain_marauder"
result = /singleton/reagent/alcohol/mountain_marauder
required_reagents = list(/singleton/reagent/drink/milk/adhomai/fermented = 1, /singleton/reagent/alcohol/victorygin = 1)
result_amount = 2
//Unathi cocktails
//========
/datum/chemical_reaction/drink/healerspride
name = "Healer's Pride"
id = "healerspride"
result = /singleton/reagent/alcohol/butanol/healerspride
required_reagents = list(/singleton/reagent/alcohol/butanol/xuizijuice = 2, /singleton/reagent/drink/limejuice = 3)
result_amount = 5
/datum/chemical_reaction/drink/forestsbounty
name = "Forest's Bounty"
id = "forestsbounty"
result = /singleton/reagent/alcohol/butanol/forestsbounty
required_reagents = list(/singleton/reagent/alcohol/butanol/xuizijuice = 2, /singleton/reagent/drink/lemonjuice = 2, /singleton/reagent/drink/milk/cream = 1, /singleton/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/palacedelight
name = "Palace Delight"
id = "palacedelight"
result = /singleton/reagent/alcohol/butanol/palacedelight
required_reagents = list(/singleton/reagent/drink/berryjuice = 2, /singleton/reagent/drink/milk/cream = 1, /singleton/reagent/alcohol/butanol/xuizijuice = 2)
result_amount = 5
/datum/chemical_reaction/drink/senssecret
name = "Sens Secret"
id = "senssecret"
result = /singleton/reagent/alcohol/butanol/senssecret
required_reagents = list(/singleton/reagent/drink/milk/cream = 2, /singleton/reagent/drink/banana = 1, /singleton/reagent/alcohol/butanol/xuizijuice = 1, /singleton/reagent/drink/watermelonjuice = 1)
result_amount = 5
/datum/chemical_reaction/drink/fishersreward
name = "Fisher's Reward"
id = "fishersreward"
result = /singleton/reagent/alcohol/butanol/fishersreward
required_reagents = list(/singleton/reagent/drink/icetea = 1, /singleton/reagent/alcohol/butanol/xuizijuice = 1)
result_amount = 2
/datum/chemical_reaction/drink/queensgift
name = "Queen's Gift"
id = "queensgift"
result = /singleton/reagent/alcohol/butanol/queensgift
required_reagents = list(/singleton/reagent/alcohol/butanol/sarezhiwine = 2, /singleton/reagent/alcohol/butanol/xuizijuice = 1, /singleton/reagent/drink/grenadine = 5)
result_amount = 5
/datum/chemical_reaction/drink/janviriheat
name = "Janviri Heat"
id = "janviriheat"
result = /singleton/reagent/alcohol/butanol/janviriheat
required_reagents = list(/singleton/reagent/alcohol/butanol/xuizijuice = 10, /singleton/reagent/capsaicin = 3)
result_amount = 10
/datum/chemical_reaction/drink/tasteofvictory
name = "tasteofvictory"
id = "tasteofvictory"
result = /singleton/reagent/alcohol/butanol/tasteofvictory
required_reagents = list(/singleton/reagent/alcohol/butanol/sarezhiwine = 3, /singleton/reagent/drink/orangejuice = 1, /singleton/reagent/drink/lemonjuice = 1, /singleton/reagent/alcohol/butanol/xuizijuice = 1)
result_amount = 6
/datum/chemical_reaction/drink/contactwine
name = "Contact Wine"
id = "contactwine"
result = /singleton/reagent/alcohol/butanol/contactwine
required_reagents = list(/singleton/reagent/alcohol/butanol/xuizijuice = 5, /singleton/reagent/radium = 1, /singleton/reagent/alcohol/butanol/sarezhiwine = 5)
result_amount = 10
/datum/chemical_reaction/drink/smokescalesblood
name = "Smokescale's Blood"
id = "smokescalesblood"
result = /singleton/reagent/alcohol/butanol/smokescalesblood
required_reagents = list(/singleton/reagent/alcohol/butanol/xuizijuice = 3, /singleton/reagent/drink/spacemountainwind = 1, /singleton/reagent/blood = 1, /singleton/reagent/drink/dr_gibb = 1)
result_amount = 6
/datum/chemical_reaction/drink/templetreasure
name = "Temple Treasure"
id = "templetreasure"
result = /singleton/reagent/alcohol/butanol/templetreasure
required_reagents = list(/singleton/reagent/alcohol/butanol/xuizijuice = 2, /singleton/reagent/drink/orangejuice = 2)
result_amount = 4
/datum/chemical_reaction/drink/cactuscola
name = "Cactus Cola"
id = "cactuscola"
result = /singleton/reagent/alcohol/butanol/cactuscola
required_reagents = list(/singleton/reagent/alcohol/butanol/xuizijuice = 2, /singleton/reagent/drink/space_cola = 2, /singleton/reagent/drink/ice = 1)
result_amount = 5
/datum/chemical_reaction/drink/bloodwine
name = "Bloodwine"
id = "bloodwine"
result = /singleton/reagent/alcohol/butanol/bloodwine
required_reagents = list(/singleton/reagent/blood = 2, /singleton/reagent/alcohol/butanol/sarezhiwine = 3)
result_amount = 5
/datum/chemical_reaction/drink/balefire
name = "Balefire"
id = "balefire"
result = /singleton/reagent/alcohol/butanol/balefire
required_reagents = list(/singleton/reagent/alcohol/butanol/redstaff = 1, /singleton/reagent/drink/mintsyrup = 4, /singleton/reagent/drink/ice = 1)
result_amount = 5
/datum/chemical_reaction/drink/liarshandshake
name = "Liar's Handshake"
id = "liarshandshake"
result = /singleton/reagent/alcohol/butanol/liarshandshake
required_reagents = list(/singleton/reagent/alcohol/butanol/redstaff = 5, /singleton/reagent/gunpowder = 1)
result_amount = 5
/datum/chemical_reaction/drink/sarikshand
name = "Sarik's Hand"
id = "sarikshand"
result = /singleton/reagent/alcohol/butanol/sarikshand
required_reagents = list(/singleton/reagent/alcohol/butanol/sarezhiwine = 1, /singleton/reagent/drink/cranberryjuice = 1, /singleton/reagent/alcohol/butanol/redstaff = 1)
result_amount = 3
//Skrell drinks. Bring forth the culture.
//===========================================
/datum/chemical_reaction/drink/thirdincident
name = "The Third Incident"
id = "thirdincident"
result = /singleton/reagent/alcohol/thirdincident
required_reagents = list(/singleton/reagent/nutriment/protein/egg = 3, /singleton/reagent/alcohol/bluecuracao = 10, /singleton/reagent/drink/grapejuice = 10)
result_amount = 20
/datum/chemical_reaction/drink/upsidedowncup
name = "Upside-Down Cup"
id = "upsidedowncup"
result = /singleton/reagent/drink/upsidedowncup
required_reagents = list(/singleton/reagent/drink/dr_gibb = 3, /singleton/reagent/drink/ice = 1, /singleton/reagent/drink/lemonjuice = 1)
result_amount = 5
/datum/chemical_reaction/drink/cigarettelizard
name = "Cigarette Lizard"
id = "cigarettelizard"
result = /singleton/reagent/drink/smokinglizard
required_reagents = list(/singleton/reagent/drink/limejuice = 2, /singleton/reagent/drink/sodawater = 2, /singleton/reagent/drink/mintsyrup = 1, /singleton/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/sromshine
name = "Sromshine"
id = "sromshine"
result = /singleton/reagent/drink/coffee/sromshine
required_reagents = list(/singleton/reagent/drink/coffee = 2, /singleton/reagent/drink/orangejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/cbsc
name = "Complex Bluespace Calculation"
id = "cbsc"
result = /singleton/reagent/alcohol/cbsc
required_reagents = list(/singleton/reagent/alcohol/wine = 4, /singleton/reagent/alcohol/vodka = 2, /singleton/reagent/drink/sodawater = 3, /singleton/reagent/radium = 1 )
result_amount = 10
/datum/chemical_reaction/drink/dynhot
name = "Dyn Tea"
id = "dynhot"
result = /singleton/reagent/drink/dynjuice/hot
required_reagents = list(/singleton/reagent/drink/dynjuice = 1, /singleton/reagent/water = 4)
result_amount = 5
/datum/chemical_reaction/drink/dyncold
name = "Dyn Ice Tea"
id = "dyncold"
result = /singleton/reagent/drink/dynjuice/cold
required_reagents = list(/singleton/reagent/drink/dynjuice = 1, /singleton/reagent/drink/ice = 2, /singleton/reagent/drink/sodawater = 2)
result_amount = 5
/datum/chemical_reaction/drink/algaesuprise
name = "Pl'iuop Algae Surprise"
id = "algaesuprise"
result = /singleton/reagent/drink/algaesuprise
required_reagents = list(/singleton/reagent/nutriment/virusfood = 2, /singleton/reagent/drink/banana = 1)
result_amount = 3
/datum/chemical_reaction/drink/xrim
name = "Xrim Garden"
id = "xrim"
result = /singleton/reagent/drink/xrim
required_reagents = list(/singleton/reagent/nutriment/virusfood = 2, /singleton/reagent/drink/watermelonjuice = 1, /singleton/reagent/drink/orangejuice = 1, /singleton/reagent/drink/limejuice = 1, /singleton/reagent/drink/zorasoda/cthur = 1)
result_amount = 6
/datum/chemical_reaction/drink/rixulin_sundae
name = "Rixulin Sundae"
id = "rixulin_sundae"
result = /singleton/reagent/alcohol/rixulin_sundae
required_reagents = list(/singleton/reagent/nutriment/virusfood = 3, /singleton/reagent/wulumunusha = 1, /singleton/reagent/alcohol/whitewine = 2)
result_amount = 6
//Tea and cider
//=======================
/datum/chemical_reaction/drink/cidercheap
name = "Apple Cider Juice"
id = "cidercheap"
result = /singleton/reagent/drink/cidercheap
required_reagents = list(/singleton/reagent/drink/applejuice = 2, /singleton/reagent/sugar = 1, /singleton/reagent/spacespice = 1)
result_amount = 4
/datum/chemical_reaction/cinnamonapplewhiskey
name = "Cinnamon Apple Whiskey"
id = "cinnamonapplewhiskey"
result = /singleton/reagent/alcohol/cinnamonapplewhiskey
required_reagents = list(/singleton/reagent/drink/ciderhot = 3, /singleton/reagent/alcohol/fireball = 1)
result_amount = 4
/datum/chemical_reaction/drink/chailatte
name = "Chai Latte"
id = "chailatte"
result = /singleton/reagent/drink/tea/chaitealatte
required_reagents = list(/singleton/reagent/drink/tea/chaitea = 1, /singleton/reagent/drink/milk = 1)
result_amount = 2
/datum/chemical_reaction/drink/chailatte/soy
id = "chailattesoy"
required_reagents = list(/singleton/reagent/drink/tea/chaitea = 1, /singleton/reagent/drink/milk/soymilk = 1)
/datum/chemical_reaction/drink/coco_chaitea
name = "Chocolate Chai"
id = "coco_chaitea"
result = /singleton/reagent/drink/tea/coco_chaitea
required_reagents = list(/singleton/reagent/drink/tea/chaitea = 2, /singleton/reagent/nutriment/coco = 1)
result_amount = 3
/datum/chemical_reaction/drink/coco_chailatte
name = "Chocolate Chai Latte"
id = "coco_chailatte"
result = /singleton/reagent/drink/tea/coco_chailatte
required_reagents = list(/singleton/reagent/drink/tea/coco_chaitea = 1, /singleton/reagent/drink/milk = 1)
result_amount = 2
/datum/chemical_reaction/drink/coco_chailatte/soy
id = "coco_chailatte_soy"
required_reagents = list(/singleton/reagent/drink/tea/coco_chaitea = 1, /singleton/reagent/drink/milk/soymilk = 1)
/datum/chemical_reaction/drink/cofftea
name = "Cofftea"
id = "cofftea"
result = /singleton/reagent/drink/tea/cofftea
required_reagents = list(/singleton/reagent/drink/tea = 1, /singleton/reagent/drink/coffee = 1)
result_amount = 2
/datum/chemical_reaction/drink/bureacratea
name = "Bureacratea"
id = "bureacratea"
result = /singleton/reagent/drink/tea/bureacratea
required_reagents = list(/singleton/reagent/drink/tea = 1, /singleton/reagent/drink/coffee/espresso = 1)
result_amount = 2
/datum/chemical_reaction/drink/desert_tea
name = "Desert Blossom Tea"
id = "desert_tea"
result = /singleton/reagent/drink/tea/desert_tea
required_reagents = list(/singleton/reagent/drink/tea/greentea = 2, /singleton/reagent/alcohol/butanol/xuizijuice = 1, /singleton/reagent/sugar = 1)
result_amount = 4
/datum/chemical_reaction/drink/halfandhalf
name = "Half and Half"
id = "halfandhalf"
result = /singleton/reagent/drink/tea/halfandhalf
required_reagents = list(/singleton/reagent/drink/icetea = 1, /singleton/reagent/drink/lemonade = 1)
result_amount = 2
/datum/chemical_reaction/drink/heretic_tea
name = "Heretics Tea"
id = "heretic_tea"
result = /singleton/reagent/drink/tea/heretic_tea
required_reagents = list(/singleton/reagent/drink/icetea = 3, /singleton/reagent/blood = 1, /singleton/reagent/drink/spacemountainwind = 1, /singleton/reagent/drink/dr_gibb = 1)
result_amount = 6
/datum/chemical_reaction/drink/kira_tea
name = "Kira tea"
id = "kira_tea"
result = /singleton/reagent/drink/tea/kira_tea
required_reagents = list(/singleton/reagent/drink/icetea = 1, /singleton/reagent/drink/kiraspecial = 1)
result_amount = 2
/datum/chemical_reaction/drink/librarian_special
name = "Librarian Special"
id = "librarian_special"
result = /singleton/reagent/drink/tea/librarian_special
required_reagents = list(/singleton/reagent/drink/tea = 2, /singleton/reagent/drink/nothing = 1)
result_amount = 3
/datum/chemical_reaction/drink/mars_tea
name = "Martian Tea"
id = "mars_tea"
result = /singleton/reagent/drink/tea/mars_tea
required_reagents = list(/singleton/reagent/drink/tea = 4, /singleton/reagent/blackpepper = 1)
result_amount = 5
/datum/chemical_reaction/drink/mars_tea/green
required_reagents = list(/singleton/reagent/drink/tea/greentea = 4, /singleton/reagent/blackpepper = 1)
/datum/chemical_reaction/drink/mendell_tea
name = "Mendell Afternoon Tea"
id = "mendell_tea"
result = /singleton/reagent/drink/tea/mendell_tea
required_reagents = list(/singleton/reagent/drink/tea/greentea = 4, /singleton/reagent/drink/mintsyrup = 1, /singleton/reagent/drink/lemonjuice = 1)
result_amount = 6
/datum/chemical_reaction/drink/berry_tea
name = "Mixed Berry Tea"
id = "berry_tea"
result = /singleton/reagent/drink/tea/berry_tea
required_reagents = list(/singleton/reagent/drink/tea = 2, /singleton/reagent/drink/berryjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/berry_tea/green
required_reagents = list(/singleton/reagent/drink/tea/greentea = 2, /singleton/reagent/drink/berryjuice = 1)
/datum/chemical_reaction/drink/pomegranate_icetea
name = "Pomegranate Iced Tea"
id = "pomegranate_icetea"
result = /singleton/reagent/drink/tea/pomegranate_icetea
required_reagents = list(/singleton/reagent/drink/icetea = 1, /singleton/reagent/drink/grenadine = 1)
result_amount = 2
/datum/chemical_reaction/drink/potatea
name = "Potatea"
id = "potatea"
result = /singleton/reagent/drink/tea/potatea
required_reagents = list(/singleton/reagent/drink/tea = 2, /singleton/reagent/drink/potatojuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/securitea
name = "Securitea"
id = "securitea"
result = /singleton/reagent/drink/tea/securitea
required_reagents = list(/singleton/reagent/drink/tea = 2, /singleton/reagent/crayon_dust = 1)
result_amount = 3
/datum/chemical_reaction/drink/securitea/red
id = "securitea_red"
required_reagents = list(/singleton/reagent/drink/tea = 2, /singleton/reagent/crayon_dust/red = 1)
/datum/chemical_reaction/drink/securitea/orange
id = "securitea_orange"
required_reagents = list(/singleton/reagent/drink/tea = 2, /singleton/reagent/crayon_dust/orange = 1)
/datum/chemical_reaction/drink/securitea/yellow
id = "securitea_yellow"
required_reagents = list(/singleton/reagent/drink/tea = 2, /singleton/reagent/crayon_dust/yellow = 1)
/datum/chemical_reaction/drink/securitea/green
id = "securitea_green"
required_reagents = list(/singleton/reagent/drink/tea = 2, /singleton/reagent/crayon_dust/green = 1)
/datum/chemical_reaction/drink/securitea/blue
id = "securitea_blue"
required_reagents = list(/singleton/reagent/drink/tea = 2, /singleton/reagent/crayon_dust/blue = 1)
/datum/chemical_reaction/drink/securitea/purple
id = "securitea_purple"
required_reagents = list(/singleton/reagent/drink/tea = 2, /singleton/reagent/crayon_dust/purple = 1)
/datum/chemical_reaction/drink/securitea/grey
id = "securitea_grey"
required_reagents = list(/singleton/reagent/drink/tea = 2, /singleton/reagent/crayon_dust/grey = 1)
/datum/chemical_reaction/drink/securitea/brown
id = "securitea_brown"
required_reagents = list(/singleton/reagent/drink/tea = 2, /singleton/reagent/crayon_dust/brown = 1)
/datum/chemical_reaction/drink/sleepytime_tea
name = "Sleepytime Tea"
id = "sleepytime_tea"
result = /singleton/reagent/drink/tea/sleepytime_tea
required_reagents = list(/singleton/reagent/drink/tea = 5, /singleton/reagent/soporific = 1)
result_amount = 6
/datum/chemical_reaction/drink/sleepytime_tea/green
id = "sleepytime_greentea"
required_reagents = list(/singleton/reagent/drink/tea/greentea = 5, /singleton/reagent/soporific = 1)
/datum/chemical_reaction/drink/hakhma_tea
name = "Spiced Hakhma Tea"
id = "hakhma_tea"
result = /singleton/reagent/drink/tea/hakhma_tea
required_reagents = list(/singleton/reagent/drink/tea = 2, /singleton/reagent/drink/milk/beetle = 2, /singleton/reagent/spacespice = 1)
result_amount = 5
/datum/chemical_reaction/drink/sweet_tea
name = "Sweet Tea"
id = "sweet_tea"
result = /singleton/reagent/drink/tea/sweet_tea
required_reagents = list(/singleton/reagent/drink/icetea = 1, /singleton/reagent/sugar = 1)
result_amount = 2
/datum/chemical_reaction/drink/teathpaste
name = "Teathpaste"
id = "teathpaste"
result = /singleton/reagent/drink/toothpaste/teathpaste
required_reagents = list(/singleton/reagent/drink/tea = 2, /singleton/reagent/drink/toothpaste = 1)
result_amount = 3
/datum/chemical_reaction/drink/mouthgarita
name = "Mouthgarita"
id = "mouthgarita"
result = /singleton/reagent/drink/toothpaste/mouthwash/mouthgarita
required_reagents = list(/singleton/reagent/drink/toothpaste/mouthwash = 2, /singleton/reagent/drink/limejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/caprician_sunrise
name = "Caprician Sunrise"
id = "caprician_sunrise"
result = /singleton/reagent/drink/toothpaste/mouthwash/caprician_sunrise
required_reagents = list(/singleton/reagent/drink/toothpaste/mouthwash = 2, /singleton/reagent/drink/orangejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/flagsdale_mule
name = "Flagsdale Mule"
id = "flagsdale_mule"
result = /singleton/reagent/drink/toothpaste/mouthwash/flagsdale_mule
required_reagents = list(/singleton/reagent/drink/toothpaste/mouthwash = 1, /singleton/reagent/drink/toothpaste = 1, /singleton/reagent/drink/mintsyrup = 1)
result_amount = 3
/datum/chemical_reaction/drink/thewake
name = "The Wake"
id = "thewake"
result = /singleton/reagent/drink/dynjuice/thewake
required_reagents = list(/singleton/reagent/drink/dynjuice = 1, /singleton/reagent/drink/orangejuice = 1, /singleton/reagent/drink/tea = 1)
result_amount = 3
/datum/chemical_reaction/drink/tomatea
name = "Tomatea"
id = "tomatea"
result = /singleton/reagent/drink/tea/tomatea
required_reagents = list(/singleton/reagent/drink/tea = 2, /singleton/reagent/drink/tomatojuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/trizkizki_tea
name = "Trizkizki Tea"
id = "trizkizki_tea"
result = /singleton/reagent/alcohol/butanol/trizkizki_tea
required_reagents = list(/singleton/reagent/drink/tea/greentea = 1, /singleton/reagent/alcohol/butanol/sarezhiwine = 1, /singleton/reagent/drink/grenadine = 1)
result_amount = 3
/datum/chemical_reaction/drink/tropical_icetea
name = "Tropical Iced Tea"
id = "tropical_icetea"
result = /singleton/reagent/drink/tea/tropical_icetea
required_reagents = list(/singleton/reagent/drink/icetea = 3, /singleton/reagent/drink/limejuice = 1, /singleton/reagent/drink/orangejuice = 1, /singleton/reagent/drink/watermelonjuice = 1)
result_amount = 6
/datum/chemical_reaction/drink/messas_tear_tea
name = "Messa's Tear Tea"
id = "messas_tear_tea"
result = /singleton/reagent/drink/tea/messa
required_reagents = list(/singleton/reagent/nutriment/teagrounds/messa = 1, /singleton/reagent/water = 5)
result_amount = 6
/datum/chemical_reaction/drink/rasnif
name = "Ras'nif Tea"
id = "rasnif_tea"
result = /singleton/reagent/drink/tea/rasnif
required_reagents = list(/singleton/reagent/nutriment/teagrounds/rasnif = 1, /singleton/reagent/water = 5)
result_amount = 6
//transmutation
/datum/chemical_reaction/transmutation_silver
name = "Transmutation: Silver"
id = "transmutation_silver"
result = null
required_reagents = list(/singleton/reagent/iron = 5, /singleton/reagent/copper = 5)
catalysts = list(/singleton/reagent/philosopher_stone = 1)
result_amount = 1
/datum/chemical_reaction/transmutation_silver/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/stack/material/silver(location)
return
/datum/chemical_reaction/transmutation_gold
name = "Transmutation: Gold"
id = "transmutation_gold"
result = null
required_reagents = list(/singleton/reagent/aluminum = 5, /singleton/reagent/silver = 5)
catalysts = list(/singleton/reagent/philosopher_stone = 1)
result_amount = 1
/datum/chemical_reaction/transmutation_gold/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/stack/material/gold(location)
return
/datum/chemical_reaction/transmutation_diamond
name = "Transmutation: Diamond"
id = "transmutation_diamond"
result = null
required_reagents = list(/singleton/reagent/carbon = 5, /singleton/reagent/gold = 5)
catalysts = list(/singleton/reagent/philosopher_stone = 1)
result_amount = 1
/datum/chemical_reaction/transmutation_diamond/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/stack/material/diamond(location)
return
//Temperature Additions
/datum/chemical_reaction/water_to_ice
name = "Water to Ice"
id = "water_to_ice"
result = /singleton/reagent/drink/ice
required_reagents = list(/singleton/reagent/water = 1)
required_temperature_max = T0C
result_amount = 1
mix_message = "The water freezes."
reaction_sound = ""
/datum/chemical_reaction/ice_to_water
name = "Ice to Water"
id = "ice_to_water"
result = /singleton/reagent/water
required_reagents = list(/singleton/reagent/drink/ice = 1)
required_temperature_min = T0C + 25 // stop-gap fix to allow recipes requiring ice to be made without breaking the server with HALF_LIFE
result_amount = 1
mix_message = "The ice melts."
reaction_sound = ""
/datum/chemical_reaction/pyrosilicate
name = "Pyrosilicate"
id = "pyrosilicate"
result = /singleton/reagent/pyrosilicate
result_amount = 4
required_reagents = list(/singleton/reagent/silicate = 1, /singleton/reagent/acid = 1, /singleton/reagent/hydrazine = 1, /singleton/reagent/iron = 1)
/datum/chemical_reaction/cryosilicate
name = "Cryosilicate"
id = "cryosilicate"
result = /singleton/reagent/cryosilicate
result_amount = 3
required_reagents = list(/singleton/reagent/silicate = 1, /singleton/reagent/drink/ice = 1, /singleton/reagent/sodium = 1)
//WATER
/datum/chemical_reaction/cryosilicate_cooling_water
name = "Cryosilicate Cooling Water"
id = "cryosilicate_cooling_water"
result = null
result_amount = 1
required_reagents = list(/singleton/reagent/cryosilicate = 1)
inhibitors = list(/singleton/reagent/pyrosilicate = 1)
catalysts = list(/singleton/reagent/water = 1)
mix_message = "The solution begins to freeze."
/datum/chemical_reaction/cryosilicate_cooling_water/on_reaction(var/datum/reagents/holder, var/created_volume, var/created_thermal_energy)
holder.del_reagent(/singleton/reagent/cryosilicate)
holder.add_thermal_energy(-created_volume*500)
//ICE
/datum/chemical_reaction/cryosilicate_cooling_ice
name = "Cryosilicate Cooling Ice"
id = "cryosilicate_cooling_ice"
result = null
result_amount = 1
required_reagents = list(/singleton/reagent/cryosilicate = 1)
inhibitors = list(/singleton/reagent/pyrosilicate = 1)
catalysts = list(/singleton/reagent/drink/ice = 1)
mix_message = "The solution begins to freeze."
/datum/chemical_reaction/cryosilicate_cooling_ice/on_reaction(var/datum/reagents/holder, var/created_volume, var/created_thermal_energy)
holder.del_reagent(/singleton/reagent/cryosilicate)
holder.add_thermal_energy(-created_volume*500)
/datum/chemical_reaction/pyrosilicate_heating
name = "Pyrosilicate Heating"
id = "pyrosilicate_heating"
result = null
result_amount = 1
required_reagents = list(/singleton/reagent/pyrosilicate = 1)
inhibitors = list(/singleton/reagent/cryosilicate = 1)
catalysts = list(/singleton/reagent/sodiumchloride = 1)
/datum/chemical_reaction/pyrosilicate_heating/on_reaction(var/datum/reagents/holder, var/created_volume)
holder.del_reagent(/singleton/reagent/pyrosilicate)
holder.add_thermal_energy(created_volume*1000)
/datum/chemical_reaction/pyrosilicate_cryosilicate
name = "Pyrosilicate Cryosilicate Reaction"
id = "pyrosilicate_cryosilicate"
result = null
required_reagents = list(/singleton/reagent/pyrosilicate = 1, /singleton/reagent/cryosilicate = 1)
required_temperature_min = T0C //Does not react when below these temperatures.
result_amount = 1
/datum/chemical_reaction/pyrosilicate_cryosilicate/on_reaction(var/datum/reagents/holder, var/created_volume, var/created_thermal_energy)
if(created_volume)
var/turf/simulated/floor/T = get_turf(holder.my_atom.loc)
if(istype(T))
T.assume_gas(GAS_OXYGEN, created_volume*10, (created_thermal_energy/created_volume) )
/datum/chemical_reaction/rmt
name = "RMT"
id = "rmt"
result = /singleton/reagent/rmt
result_amount = 2
required_reagents = list(/singleton/reagent/potassium = 1, /singleton/reagent/inaprovaline = 1)
/datum/chemical_reaction/gunpowder
name = "Gunpowder"
id = "gunpowder"
result = /singleton/reagent/gunpowder
result_amount = 1
required_reagents = list(/singleton/reagent/sulfur = 1, /singleton/reagent/carbon = 1, /singleton/reagent/potassium = 1)
//Coffee expansion
//=======================
/datum/chemical_reaction/drink/coffee
name = "Coffee"
id = "coffee"
result = /singleton/reagent/drink/coffee
required_reagents = list(/singleton/reagent/nutriment/coffeegrounds = 1, /singleton/reagent/water = 5)
result_amount = 5
/datum/chemical_reaction/drink/espresso
name = "Espresso"
id = "espresso"
result = /singleton/reagent/drink/coffee/espresso
required_reagents = list(/singleton/reagent/nutriment/darkcoffeegrounds = 1, /singleton/reagent/water = 5)
result_amount = 5
/datum/chemical_reaction/nutriment/darkcoffeegrounds
name = "Rich Coffee Grounds"
id = "rich_coffee_grounds"
result = /singleton/reagent/nutriment/darkcoffeegrounds
required_reagents = list(/singleton/reagent/nutriment/coffeegrounds = 1)
required_temperature_min = T0C + 210
result_amount = 1
/datum/chemical_reaction/caramelisation
name = "Caramelised Sugar"
result = /singleton/reagent/nutriment/caramel
required_reagents = list(/singleton/reagent/sugar = 1)
result_amount = 1
required_temperature_min = T0C + 82 // no maximum! i mean technically it should burn at some point but ehh
mix_message = "The sugar melts into a sticky, brown liquid."
/datum/chemical_reaction/caramelsauce
name = "Caramel Sauce"
id = "caramelsauce"
result = /singleton/reagent/drink/caramel
required_reagents = list(/singleton/reagent/nutriment/caramel = 2, /singleton/reagent/drink/milk/cream = 1, /singleton/reagent/condiment/syrup_simple = 2)
result_amount = 5
mix_message = "The solution thickens into a glossy, brown sauce."
required_temperature_max = T0C + 82 // You don't want the syrup to crystallise/caramelise; that'd just make more caramel...
/datum/chemical_reaction/simplesyrup
name = "Simple Syrup"
id = "simplesyrup"
result = /singleton/reagent/condiment/syrup_simple
required_reagents = list(/singleton/reagent/sugar = 2, /singleton/reagent/water = 2) // simple syrup, the sugar dissolves and doesn't change the volume too much
result_amount = 2
required_temperature_min = T0C + 30
required_temperature_max = T0C + 100 // Sugar caramelises after 82C, water boils at 100C.
mix_message = "The sugar dissolves into the solution."
/datum/chemical_reaction/vanillasyrup
name = "Vanilla Syrup"
id = "vanillasyrup"
result = /singleton/reagent/condiment/syrup_vanilla
required_reagents = list(/singleton/reagent/nutriment/vanilla = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
mix_message = "The solution takes on a pale yellow hue and the aroma of vanilla."
/datum/chemical_reaction/caramelsyrup
name = "Caramel Syrup"
id = "caramelsyrup"
result = /singleton/reagent/condiment/syrup_caramel
required_reagents = list(/singleton/reagent/nutriment/caramel = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
mix_message = "The solution takes on a light brown hue and the aroma of caramel."
/datum/chemical_reaction/chocosyrup
name = "Chocolate Syrup"
id = "chocolatesyrup"
result = /singleton/reagent/condiment/syrup_chocolate
required_reagents = list(/singleton/reagent/nutriment/coco = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
mix_message = "The solution takes on a brown hue and the aroma of chocolate."
/datum/chemical_reaction/pumpkinsyrup
name = "Pumpkin Spice Syrup"
id = "pumpkinsyrup"
result = /singleton/reagent/condiment/syrup_pumpkin
required_reagents = list(/singleton/reagent/spacespice/pumpkinspice = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
mix_message = "The solution takes on an orange hue and the aroma of pumpkin spice."
/datum/chemical_reaction/mintsyrup
name = "Mint Syrup"
id = "mintsyrup"
result = /singleton/reagent/drink/mintsyrup
required_reagents = list(/singleton/reagent/nutriment/mint = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
//
/datum/chemical_reaction/berrysyrup
name = "Berry Syrup"
id = "berrysyrup"
result = /singleton/reagent/condiment/syrup_berry
required_reagents = list(/singleton/reagent/drink/berryjuice = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
/datum/chemical_reaction/strawberrysyrup
name = "Strawberry Syrup"
id = "strawberrysyrup"
result = /singleton/reagent/condiment/syrup_strawberry
required_reagents = list(/singleton/reagent/drink/strawberryjuice = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
/datum/chemical_reaction/blueberrysyrup
name = "Blueberry Syrup"
id = "blueberrysyrup"
result = /singleton/reagent/condiment/syrup_blueberry
required_reagents = list(/singleton/reagent/drink/blueberryjuice = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
/datum/chemical_reaction/raspberrysyrup
name = "Raspberry Syrup"
id = "raspberrysyrup"
result = /singleton/reagent/condiment/syrup_raspberry
required_reagents = list(/singleton/reagent/drink/raspberryjuice = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
/datum/chemical_reaction/blueraspberrysyrup
name = "Blue Raspberry Syrup"
id = "blueraspberrysyrup"
result = /singleton/reagent/condiment/syrup_blueraspberry
required_reagents = list(/singleton/reagent/drink/blueraspberryjuice = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
/datum/chemical_reaction/blackraspberrysyrup
name = "Black Raspberry Syrup"
id = "blackraspberrysyrup"
result = /singleton/reagent/condiment/syrup_blackraspberry
required_reagents = list(/singleton/reagent/drink/blackraspberryjuice = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
/datum/chemical_reaction/poisonberrysyrup
name = "Poison Berry Syrup"
id = "poisonberrysyrup"
result = /singleton/reagent/condiment/syrup_poisonberry
required_reagents = list(/singleton/reagent/toxin/poisonberryjuice = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
/datum/chemical_reaction/deathberrysyrup
name = "Death Berry Syrup"
id = "deathberrysyrup"
result = /singleton/reagent/condiment/syrup_deathberry
required_reagents = list(/singleton/reagent/toxin/deathberryjuice = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
/datum/chemical_reaction/glowberrysyrup
name = "Glowberry Syrup"
id = "glowberrysyrup"
result = /singleton/reagent/condiment/syrup_glowberry
required_reagents = list(/singleton/reagent/drink/glowberryjuice = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
/datum/chemical_reaction/ylphaberrysyrup
name = "Ylpha Berry Syrup"
id = "ylphaberrysyrup"
result = /singleton/reagent/condiment/syrup_ylphaberry
required_reagents = list(/singleton/reagent/drink/ylphaberryjuice = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
/datum/chemical_reaction/dirtberrysyrup
name = "Dirt Berry Syrup"
id = "dirtberrysyrup"
result = /singleton/reagent/condiment/syrup_dirtberry
required_reagents = list(/singleton/reagent/drink/dirtberryjuice = 2, /singleton/reagent/condiment/syrup_simple = 3)
result_amount = 5
//
/datum/chemical_reaction/drink/cuba_libre
name = "Cuba Libre"
id = "cubalibre"
result = /singleton/reagent/alcohol/cubalibre
required_reagents = list(/singleton/reagent/alcohol/rumandcola = 2, /singleton/reagent/drink/limejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/fernet_con_coca
name = "Fernet con Coca"
id = "fernetconcoca"
result = /singleton/reagent/alcohol/fernet_con_coca
required_reagents = list(/singleton/reagent/drink/space_cola = 2, /singleton/reagent/alcohol/fernet = 1)
result_amount = 2
/datum/chemical_reaction/drink/solarian_white
name = "Solarian White"
id = "solarian_white"
result = /singleton/reagent/alcohol/solarian_white
required_reagents = list(/singleton/reagent/alcohol/vodka = 1, /singleton/reagent/drink/milk/cream = 1, /singleton/reagent/drink/limejuice =1)
result_amount = 3
/datum/chemical_reaction/drink/solarian_marine
name = "Solarian Marine"
id = "solarian_marine"
result = /singleton/reagent/alcohol/solarian_marine
required_reagents = list(/singleton/reagent/drink/tea/securitea = 1, /singleton/reagent/alcohol/whiskey = 1)
result_amount = 2
/datum/chemical_reaction/drink/cloudyeridani
name = "Cloudy Eridani"
id = "cloudyeridani"
result = /singleton/reagent/alcohol/cloudyeridani
required_reagents = list(/singleton/reagent/alcohol/sake = 1, /singleton/reagent/drink/tea/greentea = 1, /singleton/reagent/drink/milk/soymilk = 1)
result_amount = 3
/datum/chemical_reaction/drink/djinntea
name = "Djinn Tea"
id = "djinntea"
result = /singleton/reagent/alcohol/djinntea
required_reagents = list(/singleton/reagent/drink/dynjuice/cold = 1, /singleton/reagent/alcohol/gin = 1)
result_amount = 2
/datum/chemical_reaction/drink/permanent_revolution
name = "Permanent Revolution"
id = "permanent_revolution"
result = /singleton/reagent/alcohol/permanent_revolution
required_reagents = list(/singleton/reagent/alcohol/absinthe = 1, /singleton/reagent/alcohol/vodka/mushroom = 1)
result_amount = 2
/datum/chemical_reaction/drink/staghunt
name = "Stag Hunt"
result = /singleton/reagent/alcohol/staghunt
required_reagents = list(/singleton/reagent/drink/icetea = 2, /singleton/reagent/alcohol/twentytwo = 2, /singleton/reagent/drink/lemonjuice = 1)
result_amount = 5
/datum/chemical_reaction/drink/internationale
name = "Internationale"
id = "internationale"
result = /singleton/reagent/alcohol/internationale
required_reagents = list(/singleton/reagent/alcohol/victorygin = 1, /singleton/reagent/alcohol/vodka/mushroom = 1)
result_amount = 2
/datum/chemical_reaction/drink/diona_mama
name = "Diona Mama"
id = "diona_mama"
result = /singleton/reagent/alcohol/diona_mama
required_reagents = list(/singleton/reagent/alcohol/absinthe = 2, /singleton/reagent/drink/limejuice = 2, /singleton/reagent/radium = 1, /singleton/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/jovian_storm
name = "Jovian Storm"
id = "jovian_storm"
result = /singleton/reagent/alcohol/jovian_storm
required_reagents = list(/singleton/reagent/alcohol/rum = 2, /singleton/reagent/drink/grenadine = 2, /singleton/reagent/drink/lemonjuice = 1, /singleton/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/primeminister
name = "Prime Minister"
id = "primeminister"
result = /singleton/reagent/alcohol/primeminister
required_reagents = list(/singleton/reagent/alcohol/rum = 4, /singleton/reagent/alcohol/vermouth = 1, /singleton/reagent/drink/grenadine = 1)
result_amount = 6
/datum/chemical_reaction/drink/peacetreaty
name = "Peace Treaty"
id = "peacetreaty"
result = /singleton/reagent/alcohol/peacetreaty
required_reagents = list(/singleton/reagent/alcohol/victorygin = 1, /singleton/reagent/alcohol/messa_mead = 1, /singleton/reagent/drink/lemonjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/fiscream
name = "Fisanduhian Cream"
id = "fiscream"
result = /singleton/reagent/alcohol/fiscream
required_reagents = list(/singleton/reagent/alcohol/fireball = 2, /singleton/reagent/drink/milk/cream = 1)
result_amount = 3
/datum/chemical_reaction/drink/fiscoffee
name = "Fisanduhian Coffee"
id = "fiscoffee"
result = /singleton/reagent/alcohol/coffee/fiscoffee
required_reagents = list(/singleton/reagent/alcohol/fiscream = 1, /singleton/reagent/drink/coffee = 1)
result_amount = 2
/datum/chemical_reaction/drink/fisfirebomb
name = "Fisanduhian Firebomb"
id = "fiscarbomb"
result = /singleton/reagent/alcohol/fisfirebomb
required_reagents = list(/singleton/reagent/alcohol/ale = 1, /singleton/reagent/alcohol/fiscream = 1)
result_amount = 2
/datum/chemical_reaction/drink/veterans_choice
name = "Veteran's Choice"
id = "veterans_choice"
result = /singleton/reagent/alcohol/veterans_choice
required_reagents = list(/singleton/reagent/alcohol/messa_mead = 1, /singleton/reagent/gunpowder = 1)
result_amount = 2
/datum/chemical_reaction/drink/mutthir
name = "Mutthir"
id = "mutthir"
result = /singleton/reagent/drink/milk/adhomai/mutthir
required_reagents = list(/singleton/reagent/drink/milk/adhomai = 1, /singleton/reagent/sugar = 1)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 2
/datum/chemical_reaction/drink/treebark_firewater
name = "Tree-Bark Firewater"
id = "treebark_firewater"
result = /singleton/reagent/alcohol/treebark_firewater
required_reagents = list(/singleton/reagent/drink/earthenrootjuice = 1, /singleton/reagent/sugar = 1, /singleton/reagent/woodpulp = 1)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 3
/datum/chemical_reaction/drink/caprician_coffee
name = "Caprician Coffee"
id = "caprician_coffee"
result = /singleton/reagent/drink/toothpaste/caprician_coffee
required_reagents = list(/singleton/reagent/drink/toothpaste = 1, /singleton/reagent/drink/coffee = 2)
result_amount = 3
/datum/chemical_reaction/drink/mojito
name = "Mojito"
id = "mojito"
result = /singleton/reagent/alcohol/mojito
required_reagents = list(/singleton/reagent/drink/mintsyrup = 1, /singleton/reagent/drink/limejuice = 1, /singleton/reagent/alcohol/rum = 1)
result_amount = 3
/datum/chemical_reaction/drink/zavodskoi_mule
name = "Zavodskoi Mule"
id = "zavodskoi_mule"
result = /singleton/reagent/alcohol/zavdoskoi_mule
required_reagents = list(/singleton/reagent/alcohol/vodka = 2, /singleton/reagent/drink/lemonjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/pina_colada
name = "Pina Colada"
id = "pina_colada"
result = /singleton/reagent/alcohol/pina_colada
required_reagents = list(/singleton/reagent/drink/pineapplejuice = 1, /singleton/reagent/alcohol/rum = 2)
result_amount = 3
/datum/chemical_reaction/drink/gibbfloats
name = "Gibb Floats"
id = "gibbfloats"
result = /singleton/reagent/drink/gibbfloats
required_reagents = list(/singleton/reagent/drink/dr_gibb = 1, /singleton/reagent/drink/ice = 1, /singleton/reagent/drink/milk/cream = 1)
result_amount = 3
/datum/chemical_reaction/drink/pulque_dyn
name = "dyn pulque"
id = "pulque_dyn"
result = /singleton/reagent/alcohol/pulque/dyn
required_reagents = list(/singleton/reagent/alcohol/pulque = 1, /singleton/reagent/drink/dynjuice = 1)
result_amount = 2
/datum/chemical_reaction/drink/pulque_banana
name = "banana pulque"
id = "pulque_banana"
result = /singleton/reagent/alcohol/pulque/banana
required_reagents = list(/singleton/reagent/alcohol/pulque = 1, /singleton/reagent/drink/banana = 1)
result_amount = 2
/datum/chemical_reaction/drink/pulque_berry
name = "berry pulque"
id = "pulque_berry"
result = /singleton/reagent/alcohol/pulque/berry
required_reagents = list(/singleton/reagent/alcohol/pulque = 1, /singleton/reagent/drink/berryjuice = 1)
result_amount = 2
/datum/chemical_reaction/drink/pulque_coffee
name = "coffee pulque"
id = "pulque_coffee"
result = /singleton/reagent/alcohol/pulque/coffee
required_reagents = list(/singleton/reagent/alcohol/pulque = 1, /singleton/reagent/drink/coffee = 1)
result_amount = 2
/datum/chemical_reaction/drink/pulque_butanol
name = "xuizi pulque"
id = "pulque_butanol"
result = /singleton/reagent/alcohol/butanol/pulque
required_reagents = list(/singleton/reagent/alcohol/pulque = 1, /singleton/reagent/alcohol/butanol/xuizijuice = 1)
result_amount = 2
/datum/chemical_reaction/drink/ichor
name = "xsain ichor"
id = "ichor"
result = /singleton/reagent/drink/toothpaste/ichor
required_reagents = list(/singleton/reagent/alcohol/butanol/xuizijuice = 1, /singleton/reagent/kois/clean = 1, /singleton/reagent/drink/toothpaste = 1)
result_amount = 3
// dominian cocktails - Glory to Her name! Glory to Her liquor!
/datum/chemical_reaction/drink/universalist
name = "the universalist"
id = "universalist"
result = /singleton/reagent/alcohol/universalist
required_reagents = list(/singleton/reagent/alcohol/wine/dominian = 1, /singleton/reagent/alcohol/beepsky_smash = 1)
result_amount = 2
/datum/chemical_reaction/drink/martyrgarita
name = "martyrgarita"
id = "martyrgarita"
result = /singleton/reagent/alcohol/martyrgarita
required_reagents = list(/singleton/reagent/alcohol/wine/dominian = 1, /singleton/reagent/drink/limejuice = 1, /singleton/reagent/water/holywater = 1)
result_amount = 3
/datum/chemical_reaction/drink/ceasefire
name = "ceasefire"
id = "ceasefire"
result = /singleton/reagent/alcohol/ceasefire
required_reagents = list(/singleton/reagent/alcohol/wine/dominian = 1, /singleton/reagent/alcohol/kvass = 1, /singleton/reagent/drink/sodawater = 1)
result_amount = 3
/datum/chemical_reaction/drink/scramegg
name = "scramegg"
id = "scramegg"
result = /singleton/reagent/alcohol/scramegg
required_reagents = list(/singleton/reagent/alcohol/kvass = 25, /singleton/reagent/nutriment/protein/egg = 3)
result_amount = 25
/datum/chemical_reaction/drink/govinexile
name = "government in exile"
id = "governmentinexile"
result = /singleton/reagent/alcohol/governmentinexile
required_reagents = list(/singleton/reagent/alcohol/kvass = 1, /singleton/reagent/alcohol/permanent_revolution = 1)
result_amount = 2
/datum/chemical_reaction/drink/instrument
name = "instrument of surrender"
id = "instrumentofsurrender"
result = /singleton/reagent/alcohol/instrument
required_reagents = list(/singleton/reagent/alcohol/wine/algae = 1, /singleton/reagent/alcohol/kvass = 1, /singleton/reagent/alcohol/tarasun = 1)
result_amount = 3
/datum/chemical_reaction/drink/armsalchemy
name = "armsman's alchemy"
id = "armsalchemy"
result = /singleton/reagent/alcohol/armsalchemy
required_reagents = list(/singleton/reagent/alcohol/wine/algae = 1, /singleton/reagent/drink/zorasoda/klax = 1)
result_amount = 2
/datum/chemical_reaction/drink/inquisitrix
name = "inquisitrix"
id = "inquisitrix"
result = /singleton/reagent/alcohol/inquisitrix
required_reagents = list(/singleton/reagent/alcohol/wine/algae = 1, /singleton/reagent/alcohol/tarasun = 1, /singleton/reagent/drink/dr_gibb = 1)
result_amount = 3
/datum/chemical_reaction/drink/songwater
name = "songwater"
id = "songwater"
result = /singleton/reagent/alcohol/songwater
required_reagents = list(/singleton/reagent/alcohol/tarasun = 5, /singleton/reagent/spacespice = 1, /singleton/reagent/blackpepper = 1)
result_amount = 5
/datum/chemical_reaction/drink/threefold
name = "threefold"
id = "threefold"
result = /singleton/reagent/alcohol/threefold
required_reagents = list(/singleton/reagent/alcohol/wine/algae = 1, /singleton/reagent/alcohol/wine/valokki = 1, /singleton/reagent/alcohol/wine/dominian =1)
result_amount = 3
/datum/chemical_reaction/drink/godhead
name = "godhead"
id = "godhead"
result = /singleton/reagent/alcohol/godhead
required_reagents = list(/singleton/reagent/alcohol/wine/dominian = 1, /singleton/reagent/alcohol/kvass = 1, /singleton/reagent/alcohol/tarasun = 1)
result_amount = 3
/datum/chemical_reaction/drink/tribunal
name = "tribunal"
id = "tribunal"
result = /singleton/reagent/alcohol/tribunal
required_reagents = list(/singleton/reagent/alcohol/threefold = 1, /singleton/reagent/alcohol/godhead = 1, /singleton/reagent/water/holywater = 1)
result_amount = 3
/datum/chemical_reaction/drink/witchspirit
name = "witch-spirit"
id = "witchspirit"
result = /singleton/reagent/alcohol/witchspirit
required_reagents = list(/singleton/reagent/alcohol/wine/algae = 1, /singleton/reagent/alcohol/gin = 1, /singleton/reagent/alcohol/limoncello = 1, /singleton/reagent/alcohol/melonliquor = 1)
result_amount = 4
//boba drinks
/datum/chemical_reaction/drink/boba_tea
name = "boba tea"
id = "bobatea"
result = /singleton/reagent/drink/boba_tea
required_reagents = list(/singleton/reagent/drink/icetea = 3, /singleton/reagent/drink/milk/soymilk = 1, /singleton/reagent/drink/ice = 1, /singleton/reagent/drink/boba = 1)
result_amount = 6
/datum/chemical_reaction/drink/boba_tea_alt
name = "boba tea"
id = "bobatea"
result = /singleton/reagent/drink/boba_tea
required_reagents = list(/singleton/reagent/drink/icetea = 3, /singleton/reagent/drink/milk = 1, /singleton/reagent/drink/ice = 1, /singleton/reagent/drink/boba = 1)
result_amount = 6
/datum/chemical_reaction/drink/lemon_lime_boba
name = "lemon lime boba"
id = "boba_lemonlime"
result = /singleton/reagent/drink/lemon_lime_boba
required_reagents = list(/singleton/reagent/drink/icetea = 3, /singleton/reagent/drink/lemonjuice = 1, /singleton/reagent/drink/limejuice = 1, /singleton/reagent/drink/boba = 1)
result_amount = 6
/datum/chemical_reaction/drink/boba_strawberry
name = "strawberry boba"
id = "boba_strawberry"
result = /singleton/reagent/drink/boba_strawberry
required_reagents = list(/singleton/reagent/drink/icetea = 3, /singleton/reagent/drink/milk/strawberry = 2, /singleton/reagent/drink/boba = 1)
result_amount = 6
/datum/chemical_reaction/drink/boba_banana
name = "banana boba"
id = "boba_banana"
result = /singleton/reagent/drink/boba_banana
required_reagents = list(/singleton/reagent/drink/icetea = 3, /singleton/reagent/drink/banana = 1, /singleton/reagent/drink/milk = 1, /singleton/reagent/drink/boba = 1)
result_amount = 6
/datum/chemical_reaction/drink/summertime_boba
name = "summertime boba"
id = "boba_melonlime"
result = /singleton/reagent/drink/summertime_boba
required_reagents = list(/singleton/reagent/drink/icetea = 3, /singleton/reagent/drink/watermelonjuice = 1, /singleton/reagent/drink/limejuice = 1, /singleton/reagent/drink/boba = 1)
result_amount = 6
/datum/chemical_reaction/drink/lovebug_boba
name = "lovebug boba"
id = "boba_lovebug"
result = /singleton/reagent/drink/lovebug_boba
required_reagents = list(/singleton/reagent/drink/icetea = 3, /singleton/reagent/nutriment/cherryjelly = 1, /singleton/reagent/drink/strawberryjuice = 1, /singleton/reagent/drink/boba = 1)
result_amount = 6
/datum/chemical_reaction/drink/dyn_boba
name = "dyn boba"
id = "boba_dyn"
result = /singleton/reagent/drink/dyn_boba
required_reagents = list(/singleton/reagent/drink/dynjuice/cold = 5, /singleton/reagent/drink/boba = 1)
result_amount = 6
// Other
/datum/chemical_reaction/gravy
name = "gravy"
id = "gravy"
result = /singleton/reagent/condiment/gravy
required_reagents = list(/singleton/reagent/nutriment/triglyceride = 2, /singleton/reagent/water = 5, /singleton/reagent/sodiumchloride = 1, /singleton/reagent/blackpepper = 1, /singleton/reagent/nutriment/flour = 5)
result_amount = 10
/datum/chemical_reaction/drink/chocolate_soda
name = "Chocolate Soda"
id = "chocolate_soda"
result = /singleton/reagent/drink/chocolate_soda
required_reagents = list(/singleton/reagent/nutriment/coco = 1, /singleton/reagent/drink/space_cola = 1, /singleton/reagent/drink/sodawater = 3)
result_amount = 5