Files
Aurora.3/code/modules/reagents/Chemistry-Recipes.dm
2021-08-12 13:41:45 -03:00

3549 lines
128 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/decl/reagent/removing_reagent = decls_repository.get_decl(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 class='notice'>[icon2html(container, viewers(get_turf(src)))] [mix_message]</span>", 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 = /decl/reagent/inaprovaline
required_reagents = list(/decl/reagent/acetone = 1, /decl/reagent/carbon = 1, /decl/reagent/sugar = 1)
result_amount = 3
/datum/chemical_reaction/dylovene
name = "Dylovene"
id = "dylovene"
result = /decl/reagent/dylovene
required_reagents = list(/decl/reagent/silicon = 1, /decl/reagent/potassium = 1, /decl/reagent/ammonia = 1)
result_amount = 3
/datum/chemical_reaction/mortaphenyl
name = "Mortaphenyl"
id = "mortaphenyl"
result = /decl/reagent/mortaphenyl
required_reagents = list(/decl/reagent/inaprovaline = 1, /decl/reagent/alcohol = 1, /decl/reagent/acetone = 1)
result_amount = 3
/datum/chemical_reaction/perconol
name = "Perconol"
id = "perconol"
result = /decl/reagent/perconol
required_reagents = list(/decl/reagent/mortaphenyl = 1, /decl/reagent/sugar = 1, /decl/reagent/water = 1)
result_amount = 3
/datum/chemical_reaction/oxycomorphine
name = "Oxycomorphine"
id = "oxycomorphine"
result = /decl/reagent/oxycomorphine
required_reagents = list(/decl/reagent/alcohol = 1, /decl/reagent/mortaphenyl = 1)
catalysts = list(/decl/reagent/toxin/phoron = 5)
result_amount = 1
/datum/chemical_reaction/sterilizine
name = "Sterilizine"
id = "sterilizine"
result = /decl/reagent/sterilizine
required_reagents = list(/decl/reagent/alcohol = 1, /decl/reagent/dylovene = 1, /decl/reagent/acid/hydrochloric = 1)
result_amount = 3
/datum/chemical_reaction/silicate
name = "Silicate"
id = "silicate"
result = /decl/reagent/silicate
required_reagents = list(/decl/reagent/aluminum = 1, /decl/reagent/silicon = 1, /decl/reagent/acetone = 1)
result_amount = 3
/datum/chemical_reaction/mutagen
name = "Unstable mutagen"
id = "mutagen"
result = /decl/reagent/mutagen
required_reagents = list(/decl/reagent/radium = 1, /decl/reagent/phosphorus = 1, /decl/reagent/acid/hydrochloric = 1)
result_amount = 3
/datum/chemical_reaction/thermite
name = "Thermite"
id = "thermite"
result = /decl/reagent/thermite
required_reagents = list(/decl/reagent/aluminum = 1, /decl/reagent/iron = 1, /decl/reagent/acetone = 1)
result_amount = 3
/datum/chemical_reaction/space_drugs
name = "Space Drugs"
id = "space_drugs"
result = /decl/reagent/space_drugs
required_reagents = list(/decl/reagent/mercury = 1, /decl/reagent/sugar = 1, /decl/reagent/lithium = 1)
result_amount = 3
/datum/chemical_reaction/lube
name = "Space Lube"
id = "lube"
result = /decl/reagent/lube
required_reagents = list(/decl/reagent/water = 1, /decl/reagent/silicon = 1, /decl/reagent/acetone = 1)
result_amount = 4
/datum/chemical_reaction/pacid
name = "Polytrinic acid"
id = "pacid"
result = /decl/reagent/acid/polyacid
required_reagents = list(/decl/reagent/acid = 1, /decl/reagent/acid/hydrochloric = 1, /decl/reagent/potassium = 1)
result_amount = 3
/datum/chemical_reaction/synaptizine
name = "Synaptizine"
id = "synaptizine"
result = /decl/reagent/synaptizine
required_reagents = list(/decl/reagent/sugar = 1, /decl/reagent/lithium = 1, /decl/reagent/water = 1)
result_amount = 3
/datum/chemical_reaction/hyronalin
name = "Hyronalin"
id = "hyronalin"
result = /decl/reagent/hyronalin
required_reagents = list(/decl/reagent/radium = 1, /decl/reagent/dylovene = 1)
result_amount = 2
/datum/chemical_reaction/arithrazine
name = "Arithrazine"
id = "arithrazine"
result = /decl/reagent/arithrazine
required_reagents = list(/decl/reagent/hyronalin = 1, /decl/reagent/hydrazine = 1)
result_amount = 2
/datum/chemical_reaction/impedrezene
name = "Impedrezene"
id = "impedrezene"
result = /decl/reagent/impedrezene
required_reagents = list(/decl/reagent/mercury = 1, /decl/reagent/acetone = 1, /decl/reagent/sugar = 1)
result_amount = 2
/datum/chemical_reaction/kelotane
name = "Kelotane"
id = "kelotane"
result = /decl/reagent/kelotane
required_reagents = list(/decl/reagent/silicon = 1, /decl/reagent/carbon = 1)
result_amount = 2
log_is_important = 1
/datum/chemical_reaction/peridaxon
name = "Peridaxon"
id = "peridaxon"
result = /decl/reagent/peridaxon
required_reagents = list(/decl/reagent/bicaridine = 1, /decl/reagent/clonexadone = 1)
catalysts = list(/decl/reagent/toxin/phoron = 5)
result_amount = 1
/datum/chemical_reaction/virus_food
name = "Virus Food"
id = "virusfood"
result = /decl/reagent/nutriment/virusfood
required_reagents = list(/decl/reagent/water = 1, /decl/reagent/drink/milk = 1, /decl/reagent/sugar = 1)
result_amount = 6
/datum/chemical_reaction/leporazine
name = "Leporazine"
id = "leporazine"
result = /decl/reagent/leporazine
required_reagents = list(/decl/reagent/silicon = 1, /decl/reagent/copper = 1)
catalysts = list(/decl/reagent/toxin/phoron = 5)
result_amount = 2
/datum/chemical_reaction/cryptobiolin
name = "Cryptobiolin"
id = "cryptobiolin"
result = /decl/reagent/cryptobiolin
required_reagents = list(/decl/reagent/potassium = 1, /decl/reagent/acetone = 1, /decl/reagent/sugar = 1)
result_amount = 3
/datum/chemical_reaction/tricordrazine
name = "Tricordrazine"
id = "tricordrazine"
result = /decl/reagent/tricordrazine
required_reagents = list(/decl/reagent/inaprovaline = 1, /decl/reagent/dylovene = 1)
result_amount = 2
/datum/chemical_reaction/alkysine
name = "Alkysine"
id = "alkysine"
result = /decl/reagent/alkysine
required_reagents = list(/decl/reagent/acid/hydrochloric = 1, /decl/reagent/ammonia = 1, /decl/reagent/dylovene = 1)
result_amount = 2
/datum/chemical_reaction/dexalin
name = "Dexalin"
id = "dexalin"
result = /decl/reagent/dexalin
required_reagents = list(/decl/reagent/acetone = 2, /decl/reagent/toxin/phoron = 0.1)
catalysts = list(/decl/reagent/toxin/phoron = 1)
inhibitors = list(/decl/reagent/water = 1) // Messes with cryox
result_amount = 1
/datum/chemical_reaction/dermaline
name = "Dermaline"
id = "dermaline"
result = /decl/reagent/dermaline
required_reagents = list(/decl/reagent/acetone = 1, /decl/reagent/phosphorus = 1, /decl/reagent/kelotane = 1)
result_amount = 3
/datum/chemical_reaction/dexalinp
name = "Dexalin Plus"
id = "dexalinp"
result = /decl/reagent/dexalin/plus
required_reagents = list(/decl/reagent/dexalin = 1, /decl/reagent/carbon = 1, /decl/reagent/iron = 1)
result_amount = 3
/datum/chemical_reaction/butazoline
name = "Butazoline"
id = "butazoline"
result = /decl/reagent/butazoline
required_reagents = list(/decl/reagent/bicaridine = 1, /decl/reagent/aluminum = 1, /decl/reagent/acid/hydrochloric = 1)
result_amount = 3
/datum/chemical_reaction/bicaridine
name = "Bicaridine"
id = "bicaridine"
result = /decl/reagent/bicaridine
required_reagents = list(/decl/reagent/inaprovaline = 1, /decl/reagent/carbon = 1)
inhibitors = list(/decl/reagent/sugar = 1) //Messes with inaprovaline
result_amount = 2
/datum/chemical_reaction/hyperzine
name = "Hyperzine"
id = "hyperzine"
result = /decl/reagent/hyperzine
required_reagents = list(/decl/reagent/sugar = 1, /decl/reagent/phosphorus = 1, /decl/reagent/sulfur = 1)
result_amount = 3
/datum/chemical_reaction/ryetalyn
name = "Ryetalyn"
id = "ryetalyn"
result = /decl/reagent/ryetalyn
required_reagents = list(/decl/reagent/arithrazine = 1, /decl/reagent/carbon = 1)
result_amount = 2
/datum/chemical_reaction/cryoxadone
name = "Cryoxadone"
id = "cryoxadone"
result = /decl/reagent/cryoxadone
required_reagents = list(/decl/reagent/dexalin = 1, /decl/reagent/water = 1, /decl/reagent/acetone = 1)
result_amount = 3
/datum/chemical_reaction/clonexadone
name = "Clonexadone"
id = "clonexadone"
result = /decl/reagent/clonexadone
required_reagents = list(/decl/reagent/cryoxadone = 1, /decl/reagent/sodium = 1, /decl/reagent/toxin/phoron = 0.1)
catalysts = list(/decl/reagent/toxin/phoron = 5)
result_amount = 2
/datum/chemical_reaction/thetamycin
name = "Thetamycin"
id = "thetamycin"
result = /decl/reagent/thetamycin
required_reagents = list(/decl/reagent/cryptobiolin = 1, /decl/reagent/dylovene = 1)
result_amount = 2
/datum/chemical_reaction/steramycin
name = "Steramycin"
id = "steramycin"
result = /decl/reagent/steramycin
required_reagents = list(/decl/reagent/thetamycin = 2, /decl/reagent/sterilizine = 1, /decl/reagent/radium = 1)
result_amount = 2
/datum/chemical_reaction/cetahydramine
name = "Cetahydramine"
id = "cetahydramine"
result = /decl/reagent/cetahydramine
required_reagents = list(/decl/reagent/cryptobiolin = 1, /decl/reagent/inaprovaline = 1)
result_amount = 2
/datum/chemical_reaction/asinodryl
name = "Asinodryl"
id = "asinodryl"
result = /decl/reagent/asinodryl
required_reagents = list(/decl/reagent/cetahydramine = 1, /decl/reagent/synaptizine = 1, /decl/reagent/water = 3)
catalysts = list(/decl/reagent/tungsten = 5)
result_amount = 3
/datum/chemical_reaction/oculine
name = "oculine"
id = "oculine"
result = /decl/reagent/oculine
required_reagents = list(/decl/reagent/carbon = 1, /decl/reagent/hydrazine = 1, /decl/reagent/dylovene = 1)
result_amount = 2
/datum/chemical_reaction/ethylredoxrazine
name = "Ethylredoxrazine"
id = "ethylredoxrazine"
result = /decl/reagent/ethylredoxrazine
required_reagents = list(/decl/reagent/acetone = 1, /decl/reagent/dylovene = 1, /decl/reagent/carbon = 1)
result_amount = 3
/datum/chemical_reaction/verunol
name = "Verunol Syrup"
id = "verunol"
result = /decl/reagent/verunol
required_reagents = list(/decl/reagent/hydrazine = 1, /decl/reagent/dylovene = 1, /decl/reagent/alcohol = 1)
result_amount = 3
/datum/chemical_reaction/adipemcina
name = "Adipemcina"
id = "adipemcina"
result = /decl/reagent/adipemcina
required_reagents = list(/decl/reagent/lithium = 1, /decl/reagent/dylovene = 1, /decl/reagent/potassium = 1)
result_amount = 3
/datum/chemical_reaction/soporific
name = "Soporific"
id = "stoxin"
result = /decl/reagent/soporific
required_reagents = list(/decl/reagent/polysomnine = 1, /decl/reagent/sugar = 4)
inhibitors = list(/decl/reagent/phosphorus) // Messes with the smoke
result_amount = 5
/datum/chemical_reaction/polysomnine
name = "Polysomnine"
id = "polysomnine"
result = /decl/reagent/polysomnine
required_reagents = list(/decl/reagent/alcohol = 1, /decl/reagent/acid/hydrochloric = 3, /decl/reagent/water = 1)
result_amount = 1
/datum/chemical_reaction/potassium_chloride
name = "Potassium Chloride"
id = "potassium_chloride"
result = /decl/reagent/toxin/potassium_chloride
required_reagents = list(/decl/reagent/sodiumchloride = 1, /decl/reagent/potassium = 1)
result_amount = 2
/datum/chemical_reaction/potassium_chlorophoride
name = "Potassium Chlorophoride"
id = "potassium_chlorophoride"
result = /decl/reagent/toxin/potassium_chlorophoride
required_reagents = list(/decl/reagent/toxin/potassium_chloride = 1, /decl/reagent/toxin/phoron = 1, /decl/reagent/polysomnine = 1)
result_amount = 4
/datum/chemical_reaction/zombiepowder
name = "Zombie Powder"
id = "zombiepowder"
result = /decl/reagent/toxin/zombiepowder
required_reagents = list(/decl/reagent/toxin/carpotoxin = 5, /decl/reagent/soporific = 5, /decl/reagent/copper = 5)
result_amount = 2
/datum/chemical_reaction/dextrotoxin
name = "Dextrotoxin"
id = "dextrotoxin"
result = /decl/reagent/toxin/dextrotoxin
required_reagents = list(/decl/reagent/toxin/carpotoxin = 3, /decl/reagent/soporific = 10, /decl/reagent/toxin/phoron = 5)
result_amount = 5
/datum/chemical_reaction/mindbreaker
name = "Mindbreaker Toxin"
id = "mindbreaker"
result = /decl/reagent/mindbreaker
required_reagents = list(/decl/reagent/silicon = 1, /decl/reagent/hydrazine = 1, /decl/reagent/dylovene = 1)
result_amount = 3
/datum/chemical_reaction/lipozine
name = "Lipozine"
id = "Lipozine"
result = /decl/reagent/lipozine
required_reagents = list(/decl/reagent/sodiumchloride = 1, /decl/reagent/alcohol = 1, /decl/reagent/radium = 1)
result_amount = 3
/datum/chemical_reaction/coagzolug
name = "Coagzolug"
id = "coagzolug"
result = /decl/reagent/coagzolug
required_reagents = list(/decl/reagent/tricordrazine = 1, /decl/reagent/coughsyrup = 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 = /decl/reagent/surfactant
required_reagents = list(/decl/reagent/hydrazine = 2, /decl/reagent/carbon = 2, /decl/reagent/acid = 1)
result_amount = 5
/datum/chemical_reaction/diethylamine
name = "Diethylamine"
id = "diethylamine"
result = /decl/reagent/diethylamine
required_reagents = list(/decl/reagent/ammonia = 1, /decl/reagent/alcohol = 1)
result_amount = 2
/datum/chemical_reaction/space_cleaner
name = "Space cleaner"
id = "cleaner"
result = /decl/reagent/spacecleaner
required_reagents = list(/decl/reagent/ammonia = 1, /decl/reagent/water = 1)
result_amount = 2
/datum/chemical_reaction/plantbgone
name = "Plant-B-Gone"
id = "plantbgone"
result = /decl/reagent/toxin/plantbgone
required_reagents = list(/decl/reagent/toxin = 1, /decl/reagent/water = 4)
result_amount = 5
/datum/chemical_reaction/foaming_agent
name = "Foaming Agent"
id = "foaming_agent"
result = /decl/reagent/foaming_agent
required_reagents = list(/decl/reagent/lithium = 1, /decl/reagent/hydrazine = 1)
result_amount = 1
/datum/chemical_reaction/glycerol
name = "Glycerol"
id = "glycerol"
result = /decl/reagent/glycerol
required_reagents = list(/decl/reagent/nutriment/triglyceride = 1, /decl/reagent/alcohol = 2) // transesterification of triglycerides into butanol and glycerol
catalysts = list(/decl/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 = /decl/reagent/glycerol
required_reagents = list(/decl/reagent/nutriment/triglyceride = 1, /decl/reagent/alcohol/butanol = 2)
/datum/chemical_reaction/glycerol/on_reaction(var/datum/reagents/holder, var/created_volume)
holder.add_reagent(/decl/reagent/acetone, 2 * created_volume / 3) // closest we can get to biofuel, sorry
/datum/chemical_reaction/glucose
name = "Glucose"
id = "glucose"
result = /decl/reagent/nutriment/glucose
required_reagents = list(/decl/reagent/nutriment = 5) // thank you, Gottlieb Kirchhoff
catalysts = list(/decl/reagent/acid = 5 )//starch into sugar with sulfuric acid catalyst
/datum/chemical_reaction/sodiumchloride
name = "Sodium Chloride"
id = "sodiumchloride"
result = /decl/reagent/sodiumchloride
required_reagents = list(/decl/reagent/sodium = 1, /decl/reagent/acid/hydrochloric = 1)
result_amount = 2
/datum/chemical_reaction/condensedcapsaicin
name = "Condensed Capsaicin"
id = "condensedcapsaicin"
result = /decl/reagent/capsaicin/condensed
required_reagents = list(/decl/reagent/capsaicin = 2)
catalysts = list(/decl/reagent/toxin/phoron = 5)
result_amount = 1
/datum/chemical_reaction/coolant
name = "Coolant"
id = "coolant"
result = /decl/reagent/coolant
required_reagents = list(/decl/reagent/tungsten = 1, /decl/reagent/acetone = 1, /decl/reagent/water = 1)
result_amount = 3
log_is_important = 1
/datum/chemical_reaction/rezadone
name = "Rezadone"
id = "rezadone"
result = /decl/reagent/rezadone
required_reagents = list(/decl/reagent/toxin/carpotoxin = 1, /decl/reagent/cryptobiolin = 1, /decl/reagent/copper = 1)
result_amount = 3
/datum/chemical_reaction/lexorin
name = "Lexorin"
id = "lexorin"
result = /decl/reagent/lexorin
required_reagents = list(/decl/reagent/tungsten = 1, /decl/reagent/hydrazine = 1, /decl/reagent/ammonia = 1)
catalysts = list(/decl/reagent/toxin/phoron = 5)
result_amount = 3
/datum/chemical_reaction/fluvectionem
name = "Fluvectionem"
id = "fluvectionem"
result = /decl/reagent/fluvectionem
required_reagents = list(/decl/reagent/mercury = 1, /decl/reagent/sodiumchloride = 1, /decl/reagent/ammonia = 1)
result_amount = 3
/datum/chemical_reaction/cardox
name = "Cardox"
id = "cardox"
result = /decl/reagent/toxin/cardox
required_reagents = list(/decl/reagent/platinum = 1, /decl/reagent/carbon = 1, /decl/reagent/sterilizine = 1)
result_amount = 3
/datum/chemical_reaction/cardox_removal
name = "Cardox Removal"
id = "cardox_removal"
result = /decl/reagent/carbon
required_reagents = list(/decl/reagent/toxin/cardox = 0.1, /decl/reagent/toxin/phoron = 1)
result_amount = 0
/datum/chemical_reaction/monoammoniumphosphate
name = "Monoammoniumphosphate"
id = "monoammoniumphosphate"
result = /decl/reagent/toxin/fertilizer/monoammoniumphosphate
required_reagents = list(/decl/reagent/ammonia = 1, /decl/reagent/acid = 1, /decl/reagent/sodium = 1, /decl/reagent/phosphorus = 1)
result_amount = 4
/datum/chemical_reaction/koispasteclean
name = "Filtered K'ois"
id = "koispasteclean"
result = /decl/reagent/kois/clean
required_reagents = list(/decl/reagent/kois = 2,/decl/reagent/toxin/cardox = 0.1)
catalysts = list(/decl/reagent/toxin/cardox = 5)
result_amount = 1
/datum/chemical_reaction/pulmodeiectionem
name = "Pulmodeiectionem"
id = "pulmodeiectionem"
result = /decl/reagent/pulmodeiectionem
required_reagents = list(/decl/reagent/fluvectionem = 1, /decl/reagent/lexorin = 1)
result_amount = 2
/datum/chemical_reaction/pneumalin
name = "Pneumalin"
id = "pneumalin"
result = /decl/reagent/pneumalin
required_reagents = list(/decl/reagent/coughsyrup = 1, /decl/reagent/copper = 1, /decl/reagent/pulmodeiectionem = 1)
result_amount = 2
/datum/chemical_reaction/saline
name = "Saline Plus"
id = "saline"
result = /decl/reagent/saline
required_reagents = list(/decl/reagent/water = 2, /decl/reagent/sugar = 0.5, /decl/reagent/sodiumchloride = 1)
catalysts = list(/decl/reagent/toxin/phoron = 5)
result_amount = 2
/datum/chemical_reaction/cataleptinol
name = "Cataleptinol"
id = "cataleptinol"
result = /decl/reagent/cataleptinol
required_reagents = list(/decl/reagent/toxin/phoron = 0.1, /decl/reagent/alkysine = 1, /decl/reagent/cryoxadone = 0.1)
result_amount = 1
/datum/chemical_reaction/coughsyrup
name = "Cough Syrup"
id = "coughsyrup"
result = /decl/reagent/coughsyrup
required_reagents = list(/decl/reagent/carbon = 1, /decl/reagent/tungsten = 1, /decl/reagent/water = 1)
result_amount = 3
//Mental Medication
/datum/chemical_reaction/corophenidate
name = "Corophenidate"
id = "corophenidate"
result = /decl/reagent/mental/corophenidate
required_reagents = list(/decl/reagent/mindbreaker = 1, /decl/reagent/hydrazine = 1)
result_amount = 2
/datum/chemical_reaction/minaphobin
name = "Minaphobin"
id = "minaphobin"
result = /decl/reagent/mental/minaphobin
required_reagents = list(/decl/reagent/mindbreaker = 1, /decl/reagent/carbon = 1)
result_amount = 2
/datum/chemical_reaction/adrenaline
name = "Adrenaline"
result = /decl/reagent/adrenaline
required_reagents = list(/decl/reagent/inaprovaline = 1, /decl/reagent/hyperzine = 1, /decl/reagent/dexalin/plus = 1)
result_amount = 3
/datum/chemical_reaction/neurostabin
name = "Neurostabin"
id = "neurostabin"
result = /decl/reagent/mental/neurostabin
required_reagents = list(/decl/reagent/mindbreaker = 1, /decl/reagent/iron = 1, /decl/reagent/potassium = 1)
result_amount = 3
/datum/chemical_reaction/parvosil
name = "Parvosil"
id = "parvosil"
result = /decl/reagent/mental/parvosil
required_reagents = list(/decl/reagent/mindbreaker = 1, /decl/reagent/aluminum = 1, /decl/reagent/potassium = 1)
result_amount = 3
/datum/chemical_reaction/emoxanyl
name = "Emoxanyl"
id = "emoxanyl"
result = /decl/reagent/mental/emoxanyl
required_reagents = list(/decl/reagent/mindbreaker = 1, /decl/reagent/silicon = 1, /decl/reagent/alcohol = 1)
result_amount = 3
/datum/chemical_reaction/orastabin
name = "Orastabin"
id = "orastabin"
result = /decl/reagent/mental/orastabin
required_reagents = list(/decl/reagent/mindbreaker = 1, /decl/reagent/sodium = 1, /decl/reagent/tungsten = 1)
result_amount = 3
/datum/chemical_reaction/neurapan
name = "Neurapan"
id = "neurapan"
result = /decl/reagent/mental/neurapan
required_reagents = list(/decl/reagent/mindbreaker = 1, /decl/reagent/space_drugs = 1, /decl/reagent/alcohol = 1)
result_amount = 3
/datum/chemical_reaction/nerospectan
name = "Nerospectan"
id = "nerospectan"
result = /decl/reagent/mental/nerospectan
required_reagents = list(/decl/reagent/mindbreaker = 1, /decl/reagent/space_drugs = 1, /decl/reagent/silicon = 1)
result_amount = 3
/datum/chemical_reaction/truthserum
name = "Truthserum"
id = "truthserum"
result = /decl/reagent/mental/truthserum
required_reagents = list(/decl/reagent/mindbreaker = 1, /decl/reagent/synaptizine = 1, /decl/reagent/toxin/phoron = 0.1)
result_amount = 2
/datum/chemical_reaction/pacifier
name = "Paxazide"
id = "paxazide"
result = /decl/reagent/pacifier
required_reagents = list(/decl/reagent/mental/truthserum = 1, /decl/reagent/mental/parvosil = 1)
result_amount = 1
/datum/chemical_reaction/berserk
name = "Red Nightshade"
id = "berserk"
result = /decl/reagent/toxin/berserk
required_reagents = list(/decl/reagent/psilocybin = 1, /decl/reagent/alcohol/moonshine = 1)
result_amount = 1
/* Makeshift Chemicals and Drugs */
/datum/chemical_reaction/stimm
name = "Stimm"
id = "stimm"
result = /decl/reagent/toxin/stimm
required_reagents = list(/decl/reagent/fuel = 1, /decl/reagent/drink/rewriter = 5)
result_amount = 6
/datum/chemical_reaction/lean
name = "Lean"
id = "lean"
result = /decl/reagent/toxin/lean
required_reagents = list(/decl/reagent/drink/spaceup = 2, /decl/reagent/coughsyrup = 2, /decl/reagent/sugar = 1)
result_amount = 5
/datum/chemical_reaction/krokjuice
name = "Krok Juice"
id = "krok"
result = /decl/reagent/toxin/krok
required_reagents = list(/decl/reagent/drink/orangejuice = 2, /decl/reagent/fuel = 1, /decl/reagent/iron = 1)
result_amount = 4
/datum/chemical_reaction/raskara_dust
name = "Raskara Dust"
id = "raskara_dust"
result = /decl/reagent/raskara_dust
required_reagents = list(/decl/reagent/toxin/fertilizer/monoammoniumphosphate = 1, /decl/reagent/spacecleaner = 1, /decl/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 = /decl/reagent/night_juice
required_reagents = list(/decl/reagent/mental/corophenidate = 1, /decl/reagent/synaptizine = 1, /decl/reagent/nitroglycerin = 1)
required_temperature_min = T0C + 200
result_amount = 3
/* Solidification */
/datum/chemical_reaction/phoronsolidification
name = "Solid Phoron"
id = "solidphoron"
result = null
required_reagents = list(/decl/reagent/iron = 5, /decl/reagent/frostoil = 5, /decl/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(/decl/reagent/acid/polyacid = 1, /decl/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(/decl/reagent/potassium = 5, /decl/reagent/frostoil = 5, /decl/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(/decl/reagent/water = 1, /decl/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(/decl/reagent/aluminum = 1, /decl/reagent/potassium = 1, /decl/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, alldirs)
for(var/mob/living/carbon/M in viewers(world.view, location))
switch(get_dist(M, location))
if(0 to 3)
if(hasvar(M, "glasses"))
if(istype(M:glasses, /obj/item/clothing/glasses/sunglasses))
continue
M.flash_eyes()
M.Weaken(15)
if(4 to 5)
if(hasvar(M, "glasses"))
if(istype(M:glasses, /obj/item/clothing/glasses/sunglasses))
continue
M.flash_eyes()
M.Stun(5)
/datum/chemical_reaction/emp_pulse
name = "EMP Pulse"
id = "emp_pulse"
result = null
required_reagents = list(/decl/reagent/uranium = 1, /decl/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 = /decl/reagent/nitroglycerin
required_reagents = list(/decl/reagent/glycerol = 1, /decl/reagent/acid/polyacid = 1, /decl/reagent/acid = 1)
result_amount = 2
/datum/chemical_reaction/napalm
name = "Napalm"
id = "napalm"
result = null
required_reagents = list(/decl/reagent/aluminum = 1, /decl/reagent/toxin/phoron = 1, /decl/reagent/acid = 1 )
result_amount = 1
/datum/chemical_reaction/napalm/on_reaction(var/datum/reagents/holder, var/created_volume)
var/turf/location = get_turf(holder.my_atom.loc)
for(var/turf/simulated/floor/target_tile in range(0,location))
target_tile.assume_gas(GAS_PHORON, created_volume, 400+T0C)
spawn (0) target_tile.hotspot_expose(700, 400)
holder.del_reagent(/decl/reagent/fuel/napalm)
return
/datum/chemical_reaction/zoragel
name = "Inert Gel"
id = "zoragel"
result = /decl/reagent/fuel/zoragel
required_reagents = list(/decl/reagent/acid = 1, /decl/reagent/aluminum = 1, /decl/reagent/sugar = 1, /decl/reagent/surfactant = 3)
result_amount = 1
/datum/chemical_reaction/zorafire
name = "Zo'rane Fire"
id = "greekfire"
result = /decl/reagent/fuel/napalm
required_reagents = list(/decl/reagent/nitroglycerin = 2, /decl/reagent/pyrosilicate = 2, /decl/reagent/toxin/phoron = 3, /decl/reagent/fuel/zoragel = 3)
result_amount = 1
log_is_important = 1
/datum/chemical_reaction/chemsmoke
name = "Chemsmoke"
id = "chemsmoke"
result = null
required_reagents = list(/decl/reagent/potassium = 1, /decl/reagent/sugar = 1, /decl/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)
spawn(0)
S.start()
holder.clear_reagents()
return
/datum/chemical_reaction/foam
name = "Foam"
id = "foam"
result = null
required_reagents = list(/decl/reagent/surfactant = 1, /decl/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 class='warning'>The solution spews out foam!</span>")
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(/decl/reagent/aluminum = 3, /decl/reagent/foaming_agent = 1, /decl/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 class='warning'>The solution spews out a metalic foam!</span>")
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(/decl/reagent/iron = 3, /decl/reagent/foaming_agent = 1, /decl/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 class='warning'>The solution spews out a metalic foam!</span>")
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 = /decl/reagent/luminol
required_reagents = list(/decl/reagent/hydrazine = 2, /decl/reagent/carbon = 2, /decl/reagent/ammonia = 2)
result_amount = 6
/* Paint */
/datum/chemical_reaction/paint
name = "Paint"
id = "paint"
result = /decl/reagent/paint
required_reagents = list(/decl/reagent/toxin/plasticide = 1, /decl/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."
//Grey
/datum/chemical_reaction/slime/spawn
name = "Slime Spawn"
id = "m_spawn"
result = null
required_reagents = list(/decl/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(/decl/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(/decl/reagent/toxin/phoron = 1)
result_amount = 1
required = /obj/item/slime_extract/green
/datum/chemical_reaction/slime/teleportation/on_reaction(var/datum/reagents/holder)
..()
addtimer(CALLBACK(src, .proc/do_reaction, holder), 50)
/datum/chemical_reaction/slime/teleportation/proc/do_reaction(var/datum/reagents/holder)
for(var/atom/movable/AM in circlerange(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!")
//Metal
/datum/chemical_reaction/slime/metal
name = "Slime Metal"
id = "m_metal"
result = null
required_reagents = list(/decl/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(/decl/reagent/toxin/phoron = 5)
result_amount = 1
required = /obj/item/slime_extract/gold
/datum/chemical_reaction/slime/crit/on_reaction(var/datum/reagents/holder)
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/alien/queen/large,
/mob/living/simple_animal/hostile/faithless,
/mob/living/simple_animal/hostile/retaliate,
/mob/living/simple_animal/hostile/retaliate/clown,
/mob/living/simple_animal/hostile/alien,
/mob/living/simple_animal/hostile/alien/drone,
/mob/living/simple_animal/hostile/alien/sentinel,
/mob/living/simple_animal/hostile/alien/queen,
/mob/living/simple_animal/hostile/alien/queen/large,
/mob/living/simple_animal/hostile/true_changeling,
/mob/living/simple_animal/hostile/commanded,
/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/republicon,
/mob/living/simple_animal/hostile/republicon/ranged,
/mob/living/simple_animal/hostile/spider_queen
)
//exclusion list for things you don't want the reaction to create.
var/list/critters = typesof(/mob/living/simple_animal/hostile) - blocked // list of possible hostile mobs
playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1)
for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null))
if(M.eyecheck(TRUE) <= 0)
M.flash_eyes()
for(var/i = 1, i <= 5, i++)
var/chosen = pick(critters)
var/mob/living/simple_animal/hostile/C = new chosen
C.faction = "slimesummon"
C.forceMove(get_turf(holder.my_atom))
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(/decl/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/brain,
/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
playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1)
for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null))
if(M.eyecheck(TRUE) < FLASH_PROTECTION_MODERATE)
M.flash_eyes()
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 = /decl/reagent/frostoil
required_reagents = list(/decl/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(/decl/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/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 = /decl/reagent/capsaicin
required_reagents = list(/decl/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(/decl/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/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(/decl/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, .proc/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(/decl/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(/decl/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/device/flashlight/slime(get_turf(holder.my_atom))
//Purple
/datum/chemical_reaction/slime/psteroid
name = "Slime Steroid"
id = "m_steroid"
result = null
required_reagents = list(/decl/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 = /decl/reagent/slimejelly
required_reagents = list(/decl/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(/decl/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 = /decl/reagent/glycerol
required_reagents = list(/decl/reagent/toxin/phoron = 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(/decl/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!"))
//Pink
/datum/chemical_reaction/slime/ppotion
name = "Slime Potion"
id = "m_potion"
result = null
required_reagents = list(/decl/reagent/blood = 1)
result_amount = 1
required = /obj/item/slime_extract/pink
/datum/chemical_reaction/slime/ppotion/on_reaction(var/datum/reagents/holder)
..()
new /obj/item/slimepotion(get_turf(holder.my_atom))
//Black
/datum/chemical_reaction/slime/mutate2
name = "Advanced Mutation Toxin"
id = "mutationtoxin2"
result = /decl/reagent/aslimetoxin
required_reagents = list(/decl/reagent/toxin/phoron = 1)
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(/decl/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, .proc/explosion, get_turf(holder.my_atom), 1, 3, 6), 50)
//Light Pink
/datum/chemical_reaction/slime/potion2
name = "Slime Potion 2"
id = "m_potion2"
result = null
result_amount = 1
required = /obj/item/slime_extract/lightpink
required_reagents = list(/decl/reagent/blood = 1)
/datum/chemical_reaction/slime/potion2/on_reaction(var/datum/reagents/holder)
..()
new /obj/item/slimepotion2(get_turf(holder.my_atom))
//Adamantine
/datum/chemical_reaction/slime/golem
name = "Slime Golem"
id = "m_golem"
result = null
required_reagents = list(/decl/reagent/toxin/phoron = 1)
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))
/datum/chemical_reaction/soap_key
name = "Soap Key"
id = "skey"
result = null
required_reagents = list(/decl/reagent/nutriment/triglyceride = 2, /decl/reagent/water = 2, /decl/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
..()
/*
====================
Food
====================
*/
/datum/chemical_reaction/tofu
name = "Tofu"
id = "tofu"
result = null
required_reagents = list(/decl/reagent/drink/milk/soymilk = 10)
catalysts = list(/decl/reagent/enzyme = 5)
inhibitors = list(/decl/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(/decl/reagent/drink/milk/soymilk = 2, /decl/reagent/nutriment/coco = 2, /decl/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(/decl/reagent/drink/milk = 2, /decl/reagent/nutriment/coco = 2, /decl/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 = /decl/reagent/drink/hot_coco
required_reagents = list(/decl/reagent/water = 5, /decl/reagent/nutriment/coco = 1)
result_amount = 5
/datum/chemical_reaction/soysauce
name = "Soy Sauce"
id = "soysauce"
result = /decl/reagent/nutriment/soysauce
required_reagents = list(/decl/reagent/drink/milk/soymilk = 4, /decl/reagent/sodiumchloride = 1)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 5
/datum/chemical_reaction/ketchup
name = "Ketchup"
id = "ketchup"
result = /decl/reagent/nutriment/ketchup
required_reagents = list(/decl/reagent/drink/tomatojuice = 2, /decl/reagent/water = 1, /decl/reagent/sugar = 1)
result_amount = 4
/datum/chemical_reaction/barbecue
name = "Barbecue Sauce"
id = "barbecue"
result = /decl/reagent/nutriment/barbecue
required_reagents = list(/decl/reagent/nutriment/ketchup = 2, /decl/reagent/nutriment/garlicsauce = 1, /decl/reagent/sugar = 1)
result_amount = 4
/datum/chemical_reaction/garlicsauce
name = "Garlic Sauce"
id = "garlicsauce"
result = /decl/reagent/nutriment/garlicsauce
required_reagents = list(/decl/reagent/drink/garlicjuice = 1, /decl/reagent/nutriment/triglyceride/oil/corn = 1)
result_amount = 2
/datum/chemical_reaction/cheesewheel
name = "Cheesewheel"
id = "cheesewheel"
result = null
required_reagents = list(/decl/reagent/drink/milk = 40)
catalysts = list(/decl/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/meatball
name = "Meatball"
id = "meatball"
result = null
required_reagents = list(/decl/reagent/nutriment/protein = 3, /decl/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(/decl/reagent/nutriment/protein/egg = 3, /decl/reagent/nutriment/flour = 10)
inhibitors = list(/decl/reagent/water = 1, /decl/reagent/alcohol/beer = 1, /decl/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(/decl/reagent/blood = 5, /decl/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 = /decl/reagent/drink/hot_ramen
required_reagents = list(/decl/reagent/water = 1, /decl/reagent/drink/dry_ramen = 3)
result_amount = 3
/datum/chemical_reaction/hell_ramen
name = "Hell Ramen"
id = "hell_ramen"
result = /decl/reagent/drink/hell_ramen
required_reagents = list(/decl/reagent/capsaicin = 1, /decl/reagent/drink/hot_ramen = 6)
result_amount = 6
/datum/chemical_reaction/coating/batter
name = "Batter"
id = "batter"
result = /decl/reagent/nutriment/coating/batter
required_reagents = list(/decl/reagent/nutriment/protein/egg = 3, /decl/reagent/nutriment/flour = 10, /decl/reagent/water = 5, /decl/reagent/sodiumchloride = 2)
result_amount = 20
/datum/chemical_reaction/coating/beerbatter
name = "Beer Batter"
id = "beerbatter"
result = /decl/reagent/nutriment/coating/beerbatter
required_reagents = list(/decl/reagent/nutriment/protein/egg = 3, /decl/reagent/nutriment/flour = 10, /decl/reagent/alcohol/beer = 5, /decl/reagent/sodiumchloride = 2)
result_amount = 20
/datum/chemical_reaction/browniemix
name = "Brownie Mix"
id = "browniemix"
result = /decl/reagent/browniemix
required_reagents = list(/decl/reagent/nutriment/flour = 5, /decl/reagent/nutriment/coco = 5, /decl/reagent/sugar = 5)
result_amount = 15
/datum/chemical_reaction/butter
name = "Butter"
id = "butter"
result = null
required_reagents = list(/decl/reagent/drink/milk/cream = 20, /decl/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
/*
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 = /decl/reagent/alcohol/goldschlager
required_reagents = list(/decl/reagent/alcohol/vodka = 10, /decl/reagent/gold = 1)
mix_message = null
reaction_sound = 'sound/effects/pour.ogg'
result_amount = 10
/datum/chemical_reaction/drink/patron
name = "Patron"
id = "patron"
result = /decl/reagent/alcohol/patron
required_reagents = list(/decl/reagent/alcohol/tequila = 10, /decl/reagent/silver = 1)
result_amount = 10
/datum/chemical_reaction/drink/bilk
name = "Bilk"
id = "bilk"
result = /decl/reagent/alcohol/bilk
required_reagents = list(/decl/reagent/drink/milk = 1, /decl/reagent/alcohol/beer = 1)
result_amount = 2
/datum/chemical_reaction/drink/icetea
name = "Iced Tea"
id = "icetea"
result = /decl/reagent/drink/icetea
required_reagents = list(/decl/reagent/drink/ice = 1, /decl/reagent/drink/tea = 2)
result_amount = 3
/datum/chemical_reaction/drink/icecoffee
name = "Iced Coffee"
id = "icecoffee"
result = /decl/reagent/drink/coffee/icecoffee
required_reagents = list(/decl/reagent/drink/ice = 1, /decl/reagent/drink/coffee = 2)
result_amount = 3
/datum/chemical_reaction/drink/nuka_cola
name = "Nuka Cola"
id = "nuka_cola"
result = /decl/reagent/drink/nuka_cola
required_reagents = list(/decl/reagent/uranium = 1, /decl/reagent/drink/space_cola = 5)
result_amount = 5
/datum/chemical_reaction/moonshine
name = "Moonshine"
id = "moonshine"
result = /decl/reagent/alcohol/moonshine
required_reagents = list(/decl/reagent/nutriment = 10)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/butanol
name = "Butanol"
id = "butanol"
result = /decl/reagent/alcohol/butanol
required_reagents = list(/decl/reagent/nutriment/triglyceride/oil/corn = 10, /decl/reagent/sugar = 10)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 5
/datum/chemical_reaction/grenadine
name = "Grenadine Syrup"
id = "grenadine"
result = /decl/reagent/drink/grenadine
required_reagents = list(/decl/reagent/drink/berryjuice = 10)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/wine
name = "Wine"
id = "wine"
result = /decl/reagent/alcohol/wine
required_reagents = list(/decl/reagent/drink/grapejuice = 10)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/pwine
name = "Poison Wine"
id = "pwine"
result = /decl/reagent/alcohol/pwine
required_reagents = list(/decl/reagent/toxin/poisonberryjuice = 10)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/melonliquor
name = "Melon Liquor"
id = "melonliquor"
result = /decl/reagent/alcohol/melonliquor
required_reagents = list(/decl/reagent/drink/watermelonjuice = 10)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/bluecuracao
name = "Blue Curacao"
id = "bluecuracao"
result = /decl/reagent/alcohol/bluecuracao
required_reagents = list(/decl/reagent/drink/orangejuice = 10)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/spacebeer
name = "Space Beer"
id = "spacebeer"
result = /decl/reagent/alcohol/beer
required_reagents = list(/decl/reagent/nutriment/triglyceride/oil/corn = 10)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/vodka
name = "Vodka"
id = "vodka"
result = /decl/reagent/alcohol/vodka
required_reagents = list(/decl/reagent/drink/potatojuice = 10)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/sake
name = "Sake"
id = "sake"
result = /decl/reagent/alcohol/sake
required_reagents = list(/decl/reagent/nutriment/rice = 10)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/kahlua
name = "Kahlua"
id = "kahlua"
result = /decl/reagent/alcohol/coffee/kahlua
required_reagents = list(/decl/reagent/drink/coffee = 5, /decl/reagent/sugar = 5)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 5
/datum/chemical_reaction/drink/gin_tonic
name = "Gin and Tonic"
id = "gintonic"
result = /decl/reagent/alcohol/gintonic
required_reagents = list(/decl/reagent/alcohol/gin = 2, /decl/reagent/drink/tonic = 1)
result_amount = 3
/datum/chemical_reaction/drink/rumandcola
name = "Rum and Cola"
id = "rumandcola"
result = /decl/reagent/alcohol/rumandcola
required_reagents = list(/decl/reagent/alcohol/rum = 2, /decl/reagent/drink/space_cola = 1)
result_amount = 3
/datum/chemical_reaction/drink/martini
name = "Classic Martini"
id = "martini"
result = /decl/reagent/alcohol/martini
required_reagents = list(/decl/reagent/alcohol/gin = 2, /decl/reagent/alcohol/vermouth = 1)
result_amount = 3
/datum/chemical_reaction/drink/vodkamartini
name = "Vodka Martini"
id = "vodkamartini"
result = /decl/reagent/alcohol/vodkamartini
required_reagents = list(/decl/reagent/alcohol/vodka = 2, /decl/reagent/alcohol/vermouth = 1)
result_amount = 3
/datum/chemical_reaction/drink/white_russian
name = "White Russian"
id = "whiterussian"
result = /decl/reagent/alcohol/white_russian
required_reagents = list(/decl/reagent/alcohol/blackrussian = 2, /decl/reagent/drink/milk/cream = 1)
result_amount = 3
/datum/chemical_reaction/drink/whiskey_cola
name = "Whiskey Cola"
id = "whiskeycola"
result = /decl/reagent/alcohol/whiskeycola
required_reagents = list(/decl/reagent/alcohol/whiskey = 2, /decl/reagent/drink/space_cola = 1)
result_amount = 3
/datum/chemical_reaction/drink/screwdriver
name = "Screwdriver"
id = "screwdrivercocktail"
result = /decl/reagent/alcohol/screwdrivercocktail
required_reagents = list(/decl/reagent/alcohol/vodka = 2, /decl/reagent/drink/orangejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/bloody_mary
name = "Bloody Mary"
id = "bloodymary"
result = /decl/reagent/alcohol/bloodymary
required_reagents = list(/decl/reagent/alcohol/vodka = 2, /decl/reagent/drink/tomatojuice = 3, /decl/reagent/drink/limejuice = 1)
result_amount = 6
/datum/chemical_reaction/drink/gargle_blaster
name = "Pan-Galactic Gargle Blaster"
id = "gargleblaster"
result = /decl/reagent/alcohol/gargleblaster
required_reagents = list(/decl/reagent/alcohol/vodka = 2, /decl/reagent/alcohol/gin = 1, /decl/reagent/alcohol/whiskey = 1, /decl/reagent/alcohol/cognac = 1, /decl/reagent/drink/limejuice = 1)
result_amount = 6
/datum/chemical_reaction/drink/brave_bull
name = "Brave Bull"
id = "bravebull"
result = /decl/reagent/alcohol/coffee/brave_bull
required_reagents = list(/decl/reagent/alcohol/tequila = 2, /decl/reagent/alcohol/coffee/kahlua = 1)
result_amount = 3
/datum/chemical_reaction/drink/tequila_sunrise
name = "Tequila Sunrise"
id = "tequilasunrise"
result = /decl/reagent/alcohol/tequila_sunrise
required_reagents = list(/decl/reagent/alcohol/tequila = 2, /decl/reagent/drink/orangejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/phoron_special
name = "Toxins Special"
id = "phoronspecial"
result = /decl/reagent/alcohol/toxins_special
required_reagents = list(/decl/reagent/alcohol/rum = 2, /decl/reagent/alcohol/vermouth = 2, /decl/reagent/toxin/phoron = 2)
result_amount = 6
/datum/chemical_reaction/drink/beepsky_smash
name = "Beepsky Smash"
id = "beepksysmash"
result = /decl/reagent/alcohol/beepsky_smash
required_reagents = list(/decl/reagent/drink/limejuice = 1, /decl/reagent/alcohol/whiskey = 1, /decl/reagent/iron = 1)
result_amount = 2
/datum/chemical_reaction/drink/doctor_delight
name = "The Doctor's Delight"
id = "doctordelight"
result = /decl/reagent/drink/doctorsdelight
required_reagents = list(/decl/reagent/drink/limejuice = 1, /decl/reagent/drink/tomatojuice = 1, /decl/reagent/drink/orangejuice = 1, /decl/reagent/drink/milk/cream = 2, /decl/reagent/tricordrazine = 1)
result_amount = 6
/datum/chemical_reaction/drink/irish_cream
name = "Irish Cream"
id = "irishcream"
result = /decl/reagent/alcohol/irishcream
required_reagents = list(/decl/reagent/alcohol/whiskey = 2, /decl/reagent/drink/milk/cream = 1)
result_amount = 3
/datum/chemical_reaction/drink/manly_dorf
name = "The Manly Dorf"
id = "manlydorf"
result = /decl/reagent/alcohol/manly_dorf
required_reagents = list(/decl/reagent/alcohol/beer = 1, /decl/reagent/alcohol/ale = 2)
result_amount = 3
/datum/chemical_reaction/drink/hooch
name = "Hooch"
id = "hooch"
result = /decl/reagent/alcohol/hooch
required_reagents = list(/decl/reagent/sugar = 1, /decl/reagent/alcohol/moonshine = 1, /decl/reagent/fuel = 1)
result_amount = 3
/datum/chemical_reaction/drink/irish_coffee
name = "Irish Coffee"
id = "irishcoffee"
result = /decl/reagent/alcohol/coffee/irishcoffee
required_reagents = list(/decl/reagent/alcohol/irishcream = 1, /decl/reagent/drink/coffee = 1)
result_amount = 2
/datum/chemical_reaction/drink/b52
name = "B-52"
id = "b52"
result = /decl/reagent/alcohol/coffee/b52
required_reagents = list(/decl/reagent/alcohol/irishcream = 1, /decl/reagent/alcohol/coffee/kahlua = 1, /decl/reagent/alcohol/cognac = 1)
result_amount = 3
/datum/chemical_reaction/drink/atomicbomb
name = "Atomic Bomb"
id = "atomicbomb"
result = /decl/reagent/alcohol/atomicbomb
required_reagents = list(/decl/reagent/alcohol/coffee/b52 = 10, /decl/reagent/uranium = 1)
result_amount = 10
/datum/chemical_reaction/drink/margarita
name = "Margarita"
id = "margarita"
result = /decl/reagent/alcohol/margarita
required_reagents = list(/decl/reagent/alcohol/tequila = 2, /decl/reagent/drink/limejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/longislandicedtea
name = "Long Island Iced Tea"
id = "longislandicedtea"
result = /decl/reagent/alcohol/longislandicedtea
required_reagents = list(/decl/reagent/alcohol/vodka = 1, /decl/reagent/alcohol/gin = 1, /decl/reagent/alcohol/tequila = 1, /decl/reagent/alcohol/cubalibre = 3)
result_amount = 6
/datum/chemical_reaction/drink/icedtea
name = "Long Island Iced Tea"
id = "longislandicedtea"
result = /decl/reagent/alcohol/longislandicedtea
required_reagents = list(/decl/reagent/alcohol/vodka = 1, /decl/reagent/alcohol/gin = 1, /decl/reagent/alcohol/tequila = 1, /decl/reagent/alcohol/cubalibre = 3)
result_amount = 6
/datum/chemical_reaction/drink/threemileisland
name = "Three Mile Island Iced Tea"
id = "threemileisland"
result = /decl/reagent/alcohol/threemileisland
required_reagents = list(/decl/reagent/alcohol/longislandicedtea = 10, /decl/reagent/uranium = 1)
result_amount = 10
/datum/chemical_reaction/drink/whiskeysoda
name = "Whiskey Soda"
id = "whiskeysoda"
result = /decl/reagent/alcohol/whiskeysoda
required_reagents = list(/decl/reagent/alcohol/whiskey = 2, /decl/reagent/drink/sodawater = 1)
result_amount = 3
/datum/chemical_reaction/drink/black_russian
name = "Black Russian"
id = "blackrussian"
result = /decl/reagent/alcohol/blackrussian
required_reagents = list(/decl/reagent/alcohol/vodka = 2, /decl/reagent/alcohol/coffee/kahlua = 1)
result_amount = 3
/datum/chemical_reaction/drink/manhattan
name = "Manhattan"
id = "manhattan"
result = /decl/reagent/alcohol/manhattan
required_reagents = list(/decl/reagent/alcohol/whiskey = 2, /decl/reagent/alcohol/vermouth = 1)
result_amount = 3
/datum/chemical_reaction/drink/manhattan_proj
name = "Manhattan Project"
id = "manhattan_proj"
result = /decl/reagent/alcohol/manhattan_proj
required_reagents = list(/decl/reagent/alcohol/manhattan = 10, /decl/reagent/uranium = 1)
result_amount = 10
/datum/chemical_reaction/drink/vodka_tonic
name = "Vodka and Tonic"
id = "vodkatonic"
result = /decl/reagent/alcohol/vodkatonic
required_reagents = list(/decl/reagent/alcohol/vodka = 2, /decl/reagent/drink/tonic = 1)
result_amount = 3
/datum/chemical_reaction/drink/gin_fizz
name = "Gin Fizz"
id = "ginfizz"
result = /decl/reagent/alcohol/ginfizz
required_reagents = list(/decl/reagent/alcohol/gin = 1, /decl/reagent/drink/sodawater = 1, /decl/reagent/drink/limejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/bahama_mama
name = "Bahama mama"
id = "bahama_mama"
result = /decl/reagent/alcohol/bahama_mama
required_reagents = list(/decl/reagent/alcohol/rum = 2, /decl/reagent/drink/orangejuice = 2, /decl/reagent/drink/limejuice = 1, /decl/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/singulo
name = "Singulo"
id = "singulo"
result = /decl/reagent/alcohol/singulo
required_reagents = list(/decl/reagent/alcohol/vodka = 5, /decl/reagent/radium = 1, /decl/reagent/alcohol/wine = 5)
result_amount = 10
/datum/chemical_reaction/drink/alliescocktail
name = "Allies Cocktail"
id = "alliescocktail"
result = /decl/reagent/alcohol/alliescocktail
required_reagents = list(/decl/reagent/alcohol/martini = 1, /decl/reagent/alcohol/vodka = 1)
result_amount = 2
/datum/chemical_reaction/drink/demonsblood
name = "Demons Blood"
id = "demonsblood"
result = /decl/reagent/alcohol/demonsblood
required_reagents = list(/decl/reagent/alcohol/rum = 3, /decl/reagent/drink/spacemountainwind = 1, /decl/reagent/blood = 1, /decl/reagent/drink/dr_gibb = 1)
result_amount = 6
/datum/chemical_reaction/drink/booger
name = "Booger"
id = "booger"
result = /decl/reagent/alcohol/booger
required_reagents = list(/decl/reagent/drink/milk/cream = 2, /decl/reagent/drink/banana = 1, /decl/reagent/alcohol/rum = 1, /decl/reagent/drink/watermelonjuice = 1)
result_amount = 5
/datum/chemical_reaction/drink/antifreeze
name = "Anti-freeze"
id = "antifreeze"
result = /decl/reagent/alcohol/antifreeze
required_reagents = list(/decl/reagent/alcohol/vodka = 1, /decl/reagent/drink/milk/cream = 1, /decl/reagent/drink/ice = 1)
result_amount = 3
/datum/chemical_reaction/drink/barefoot
name = "Barefoot"
id = "barefoot"
result = /decl/reagent/alcohol/barefoot
required_reagents = list(/decl/reagent/drink/berryjuice = 1, /decl/reagent/drink/milk/cream = 1, /decl/reagent/alcohol/vermouth = 1)
result_amount = 3
/datum/chemical_reaction/drink/grapesoda
name = "Grape Soda"
id = "grapesoda"
result = /decl/reagent/drink/grapesoda
required_reagents = list(/decl/reagent/drink/grapejuice = 2, /decl/reagent/drink/space_cola = 1)
result_amount = 3
/datum/chemical_reaction/drink/sbiten
name = "Sbiten"
id = "sbiten"
result = /decl/reagent/alcohol/sbiten
required_reagents = list(/decl/reagent/alcohol/mead = 10, /decl/reagent/capsaicin = 1)
result_amount = 10
/datum/chemical_reaction/drink/red_mead
name = "Red Mead"
id = "red_mead"
result = /decl/reagent/alcohol/red_mead
required_reagents = list(/decl/reagent/blood = 1, /decl/reagent/alcohol/mead = 1)
result_amount = 2
/datum/chemical_reaction/drink/mead
name = "Mead"
id = "mead"
result = /decl/reagent/alcohol/mead
required_reagents = list(/decl/reagent/sugar = 1, /decl/reagent/water = 1)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 2
/datum/chemical_reaction/drink/iced_beer
name = "Iced Beer"
id = "frosted_beer"
result = /decl/reagent/alcohol/iced_beer
required_reagents = list(/decl/reagent/alcohol/beer = 10, /decl/reagent/frostoil = 1)
result_amount = 10
/datum/chemical_reaction/drink/iced_beer2
name = "Iced Beer"
id = "iced_beer"
result = /decl/reagent/alcohol/iced_beer
required_reagents = list(/decl/reagent/alcohol/beer = 5, /decl/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/grog
name = "Grog"
id = "grog"
result = /decl/reagent/alcohol/grog
required_reagents = list(/decl/reagent/alcohol/rum = 1, /decl/reagent/water = 1)
result_amount = 2
/datum/chemical_reaction/drink/soy_latte
name = "Soy Latte"
id = "soy_latte"
result = /decl/reagent/drink/coffee/soy_latte
required_reagents = list(/decl/reagent/drink/coffee = 1, /decl/reagent/drink/milk/soymilk = 1)
result_amount = 2
/datum/chemical_reaction/drink/cafe_latte
name = "Cafe Latte"
id = "cafe_latte"
result = /decl/reagent/drink/coffee/cafe_latte
required_reagents = list(/decl/reagent/drink/coffee = 1, /decl/reagent/drink/milk = 1)
result_amount = 2
/datum/chemical_reaction/drink/freddo_espresso
name = "Freddo Espresso"
id = "freddo_espresso"
result = /decl/reagent/drink/coffee/freddo_espresso
required_reagents = list(/decl/reagent/drink/coffee/espresso = 1, /decl/reagent/drink/ice = 1)
result_amount = 2
/datum/chemical_reaction/drink/caffe_americano
name = "Caffe Americano"
id = "caffe_americano"
result = /decl/reagent/drink/coffee/caffe_americano
required_reagents = list(/decl/reagent/drink/coffee/espresso = 1, /decl/reagent/water = 1)
result_amount = 2
/datum/chemical_reaction/drink/flat_white
name = "Flat White"
id = "flat_white"
result = /decl/reagent/drink/coffee/flat_white
required_reagents = list(/decl/reagent/drink/coffee/espresso = 1, /decl/reagent/drink/milk = 1)
result_amount = 2
/datum/chemical_reaction/drink/latte
name = "Latte"
id = "latte"
result = /decl/reagent/drink/coffee/latte
required_reagents = list(/decl/reagent/drink/coffee/flat_white = 1, /decl/reagent/drink/milk = 1)
result_amount = 2
/datum/chemical_reaction/drink/cappuccino
name = "Cappuccino"
id = "cappuccino"
result = /decl/reagent/drink/coffee/cappuccino
required_reagents = list(/decl/reagent/drink/coffee/espresso = 1, /decl/reagent/drink/milk/cream = 1)
result_amount = 2
/datum/chemical_reaction/drink/freddo_cappuccino
name = "Freddo cappuccino"
id = "freddo_cappuccino"
result = /decl/reagent/drink/coffee/freddo_cappuccino
required_reagents = list(/decl/reagent/drink/coffee/cappuccino = 1, /decl/reagent/drink/ice = 1)
result_amount = 2
/datum/chemical_reaction/drink/macchiato
name = "Macchiato"
id = "macchiato"
result = /decl/reagent/drink/coffee/macchiato
required_reagents = list(/decl/reagent/drink/coffee/cappuccino = 1, /decl/reagent/drink/coffee/espresso = 1)
result_amount = 2
/datum/chemical_reaction/drink/mocacchino
name = "Mocacchino"
id = "mocacchino"
result = /decl/reagent/drink/coffee/mocacchino
required_reagents = list(/decl/reagent/drink/coffee/flat_white = 1, /decl/reagent/drink/syrup_chocolate = 1)
result_amount = 2
/datum/chemical_reaction/drink/acidspit
name = "Acid Spit"
id = "acidspit"
result = /decl/reagent/alcohol/acid_spit
required_reagents = list(/decl/reagent/acid = 1, /decl/reagent/alcohol/wine = 5)
result_amount = 6
/datum/chemical_reaction/drink/amasec
name = "Amasec"
id = "amasec"
result = /decl/reagent/alcohol/amasec
required_reagents = list(/decl/reagent/iron = 1, /decl/reagent/alcohol/wine = 5, /decl/reagent/alcohol/vodka = 5)
result_amount = 10
/datum/chemical_reaction/drink/gibsonpunch
name = "Gibson Punch"
id = "gibsonpunch"
result = /decl/reagent/alcohol/gibsonpunch
required_reagents = list(/decl/reagent/alcohol/screwdrivercocktail = 1, /decl/reagent/drink/limejuice = 1, /decl/reagent/drink/lemonjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/aloe
name = "Aloe"
id = "aloe"
result = /decl/reagent/alcohol/aloe
required_reagents = list(/decl/reagent/drink/milk/cream = 1, /decl/reagent/alcohol/whiskey = 1, /decl/reagent/drink/watermelonjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/andalusia
name = "Andalusia"
id = "andalusia"
result = /decl/reagent/alcohol/andalusia
required_reagents = list(/decl/reagent/alcohol/rum = 1, /decl/reagent/alcohol/whiskey = 1, /decl/reagent/drink/lemonjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/neurotoxin
name = "Neurotoxin"
id = "neurotoxin"
result = /decl/reagent/alcohol/neurotoxin
required_reagents = list(/decl/reagent/alcohol/gargleblaster = 1, /decl/reagent/soporific = 1)
result_amount = 2
/datum/chemical_reaction/drink/snowwhite
name = "Snow White"
id = "snowwhite"
result = /decl/reagent/alcohol/snowwhite
required_reagents = list(/decl/reagent/alcohol/beer = 1, /decl/reagent/drink/lemon_lime = 1)
result_amount = 2
/datum/chemical_reaction/drink/irishcarbomb
name = "Irish Car Bomb"
id = "irishcarbomb"
result = /decl/reagent/alcohol/irishcarbomb
required_reagents = list(/decl/reagent/alcohol/ale = 1, /decl/reagent/alcohol/irishcream = 1)
result_amount = 2
/datum/chemical_reaction/drink/gibsonhooch
name = "Gibson Hooch"
id = "gibsonhooch"
result = /decl/reagent/alcohol/gibsonhooch
required_reagents = list(/decl/reagent/alcohol/beer = 1, /decl/reagent/alcohol/whiskeycola = 1)
result_amount = 2
/datum/chemical_reaction/drink/erikasurprise
name = "Erika Surprise"
id = "erikasurprise"
result = /decl/reagent/alcohol/erikasurprise
required_reagents = list(/decl/reagent/alcohol/ale = 2, /decl/reagent/drink/limejuice = 1, /decl/reagent/alcohol/whiskey = 1, /decl/reagent/drink/banana = 1, /decl/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/devilskiss
name = "Devils Kiss"
id = "devilskiss"
result = /decl/reagent/alcohol/devilskiss
required_reagents = list(/decl/reagent/blood = 1, /decl/reagent/alcohol/coffee/kahlua = 1, /decl/reagent/alcohol/rum = 1)
result_amount = 3
/datum/chemical_reaction/drink/hippiesdelight
name = "Hippies Delight"
id = "hippiesdelight"
result = /decl/reagent/alcohol/hippiesdelight
required_reagents = list(/decl/reagent/psilocybin = 1, /decl/reagent/alcohol/gargleblaster = 1)
result_amount = 2
/datum/chemical_reaction/drink/bananahonk
name = "Banana Honk"
id = "bananahonk"
result = /decl/reagent/alcohol/bananahonk
required_reagents = list(/decl/reagent/drink/banana = 1, /decl/reagent/drink/milk/cream = 1, /decl/reagent/sugar = 1)
result_amount = 3
/datum/chemical_reaction/drink/silencer
name = "Silencer"
id = "silencer"
result = /decl/reagent/alcohol/silencer
required_reagents = list(/decl/reagent/drink/nothing = 1, /decl/reagent/drink/milk/cream = 1, /decl/reagent/sugar = 1)
result_amount = 3
/datum/chemical_reaction/drink/driestmartini
name = "Driest Martini"
id = "driestmartini"
result = /decl/reagent/alcohol/driestmartini
required_reagents = list(/decl/reagent/drink/nothing = 1, /decl/reagent/alcohol/gin = 1)
result_amount = 2
/datum/chemical_reaction/drink/lemonade
name = "Lemonade"
id = "lemonade"
result = /decl/reagent/drink/lemonade
required_reagents = list(/decl/reagent/drink/lemonjuice = 1, /decl/reagent/sugar = 1, /decl/reagent/water = 1)
result_amount = 3
/datum/chemical_reaction/drink/lemonade/pink
name = "Pink Lemonade"
id = "pinklemonade"
result = /decl/reagent/drink/lemonade/pink
required_reagents = list(/decl/reagent/drink/lemonade = 8, /decl/reagent/drink/grenadine = 2)
result_amount = 10
/datum/chemical_reaction/drink/kiraspecial
name = "Kira Special"
id = "kiraspecial"
result = /decl/reagent/drink/kiraspecial
required_reagents = list(/decl/reagent/drink/orangejuice = 1, /decl/reagent/drink/limejuice = 1, /decl/reagent/drink/sodawater = 1)
result_amount = 3
/datum/chemical_reaction/drink/brownstar
name = "Brown Star"
id = "brownstar"
result = /decl/reagent/drink/brownstar
required_reagents = list(/decl/reagent/drink/orangejuice = 2, /decl/reagent/drink/space_cola = 1)
result_amount = 3
/datum/chemical_reaction/drink/milkshake
name = "Milkshake"
id = "milkshake"
result = /decl/reagent/drink/milkshake
required_reagents = list(/decl/reagent/drink/milk/cream = 1, /decl/reagent/drink/ice = 2, /decl/reagent/drink/milk = 2)
result_amount = 5
/datum/chemical_reaction/drink/cmojito
name = "Champagne Mojito"
id = "cmojito"
result = /decl/reagent/alcohol/cmojito
required_reagents = list(/decl/reagent/drink/mintsyrup = 1, /decl/reagent/alcohol/champagne = 1, /decl/reagent/alcohol/rum = 1)
result_amount = 3
/datum/chemical_reaction/drink/classic
name = "The Classic"
id = "classic"
result = /decl/reagent/alcohol/classic
required_reagents = list(/decl/reagent/alcohol/champagne = 2, /decl/reagent/alcohol/bitters = 1, /decl/reagent/drink/lemonjuice = 1)
result_amount = 4
/datum/chemical_reaction/drink/corkpopper
name = "Cork Popper"
id = "corkpopper"
result = /decl/reagent/alcohol/corkpopper
required_reagents = list(/decl/reagent/alcohol/whiskey = 1, /decl/reagent/alcohol/champagne = 1, /decl/reagent/drink/lemonjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/french75
name = "French 75"
id = "french75"
result = /decl/reagent/alcohol/french75
required_reagents = list(/decl/reagent/alcohol/champagne = 2, /decl/reagent/alcohol/gin = 1, /decl/reagent/drink/lemonjuice = 1)
result_amount = 4
/datum/chemical_reaction/drink/muscmule
name = "Muscovite Mule"
id = "muscmule"
result = /decl/reagent/alcohol/muscmule
required_reagents = list(/decl/reagent/alcohol/vodka = 1, /decl/reagent/drink/limejuice = 1, /decl/reagent/drink/mintsyrup = 1)
result_amount = 3
/datum/chemical_reaction/drink/omimosa
name = "Orange Mimosa"
id = "omimosa"
result = /decl/reagent/alcohol/omimosa
required_reagents = list(/decl/reagent/drink/orangejuice = 1, /decl/reagent/alcohol/champagne = 1)
result_amount = 2
/datum/chemical_reaction/drink/pinkgin
name = "Pink Gin"
id = "pinkgin"
result = /decl/reagent/alcohol/pinkgin
required_reagents = list(/decl/reagent/alcohol/gin = 2, /decl/reagent/alcohol/bitters = 1)
result_amount = 3
/datum/chemical_reaction/drink/pinkgintonic
name = "Pink Gin and Tonic"
id = "pinkgintonic"
result = /decl/reagent/alcohol/pinkgintonic
required_reagents = list(/decl/reagent/alcohol/pinkgin = 2, /decl/reagent/drink/tonic = 1)
result_amount = 3
/datum/chemical_reaction/drink/piratepunch
name = "Pirate's Punch"
id = "piratepunch"
result = /decl/reagent/alcohol/piratepunch
required_reagents = list(/decl/reagent/alcohol/rum = 1, /decl/reagent/drink/lemonjuice = 1, /decl/reagent/drink/mintsyrup = 1, /decl/reagent/drink/grenadine = 1, /decl/reagent/alcohol/bitters = 1)
result_amount = 5
/datum/chemical_reaction/drink/planterpunch
name = "Planter's Punch"
id = "planterpunch"
result = /decl/reagent/alcohol/planterpunch
required_reagents = list(/decl/reagent/alcohol/rum = 2, /decl/reagent/drink/orangejuice = 1, /decl/reagent/drink/grenadine = 1)
result_amount = 4
/datum/chemical_reaction/drink/ssroyale
name = "Southside Royale"
id = "ssroyale"
result = /decl/reagent/alcohol/ssroyale
required_reagents = list(/decl/reagent/drink/mintsyrup = 1, /decl/reagent/alcohol/gin = 1, /decl/reagent/drink/limejuice = 1, /decl/reagent/alcohol/champagne = 1)
result_amount = 4
/datum/chemical_reaction/drink/rewriter
name = "Rewriter"
id = "rewriter"
result = /decl/reagent/drink/rewriter
required_reagents = list(/decl/reagent/drink/spacemountainwind = 1, /decl/reagent/drink/coffee = 1)
result_amount = 2
/datum/chemical_reaction/drink/suidream
name = "Sui Dream"
id = "suidream"
result = /decl/reagent/alcohol/suidream
required_reagents = list(/decl/reagent/drink/spaceup = 1, /decl/reagent/alcohol/bluecuracao = 1, /decl/reagent/alcohol/melonliquor = 1)
result_amount = 3
//aurora's drinks
/datum/chemical_reaction/drink/daiquiri
name = "Daiquiri"
id = "daiquiri"
result = /decl/reagent/alcohol/daiquiri
required_reagents = list(/decl/reagent/drink/limejuice = 1, /decl/reagent/alcohol/rum = 1)
result_amount = 2
/datum/chemical_reaction/drink/icepick
name = "Ice Pick"
id = "icepick"
result = /decl/reagent/alcohol/icepick
required_reagents = list(/decl/reagent/drink/icetea = 1, /decl/reagent/alcohol/vodka = 1)
result_amount = 2
/datum/chemical_reaction/drink/poussecafe
name = "Pousse-Cafe"
id = "poussecafe"
result = /decl/reagent/alcohol/poussecafe
required_reagents = list(/decl/reagent/alcohol/brandy = 1, /decl/reagent/alcohol/chartreusegreen = 1, /decl/reagent/alcohol/chartreuseyellow = 1, /decl/reagent/alcohol/cremewhite = 1, /decl/reagent/drink/grenadine = 1)
result_amount = 5
/datum/chemical_reaction/drink/mintjulep
name = "Mint Julep"
id = "mintjulep"
result = /decl/reagent/alcohol/mintjulep
required_reagents = list(/decl/reagent/water = 1, /decl/reagent/alcohol/whiskey = 1, /decl/reagent/drink/ice = 1)
result_amount = 2
/datum/chemical_reaction/drink/johncollins
name = "John Collins"
id = "johncollins"
result = /decl/reagent/alcohol/johncollins
required_reagents = list(/decl/reagent/alcohol/whiskeysoda = 2, /decl/reagent/drink/lemonjuice = 1, /decl/reagent/drink/grenadine = 1, /decl/reagent/drink/ice = 1)
result_amount = 5
/datum/chemical_reaction/drink/gimlet
name = "Gimlet"
id = "gimlet"
result = /decl/reagent/alcohol/gimlet
required_reagents = list(/decl/reagent/drink/limejuice = 1, /decl/reagent/alcohol/gin = 1, /decl/reagent/drink/grenadine = 1)
result_amount = 3
/datum/chemical_reaction/drink/starsandstripes
name = "Stars and Stripes"
id = "starsandstripes"
result = /decl/reagent/alcohol/starsandstripes
required_reagents = list(/decl/reagent/drink/milk/cream = 1, /decl/reagent/alcohol/cremeyvette = 1, /decl/reagent/drink/grenadine = 1)
result_amount = 3
/datum/chemical_reaction/drink/metropolitan
name = "Metropolitan"
id = "metropolitan"
result = /decl/reagent/alcohol/metropolitan
required_reagents = list(/decl/reagent/alcohol/brandy = 1, /decl/reagent/alcohol/vermouth = 1, /decl/reagent/drink/grenadine = 1)
result_amount = 3
/datum/chemical_reaction/drink/caruso
name = "Caruso"
id = "caruso"
result = /decl/reagent/alcohol/caruso
required_reagents = list(/decl/reagent/alcohol/martini = 2, /decl/reagent/alcohol/cremewhite = 1)
result_amount = 3
/datum/chemical_reaction/drink/aprilshower
name = "April Shower"
id = "aprilshower"
result = /decl/reagent/alcohol/aprilshower
required_reagents = list(/decl/reagent/alcohol/brandy = 1, /decl/reagent/alcohol/chartreuseyellow = 1, /decl/reagent/drink/orangejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/carthusiansazerac
name = "Carthusian Sazerac"
id = "carthusiansazerac"
result = /decl/reagent/alcohol/carthusiansazerac
required_reagents = list(/decl/reagent/alcohol/whiskey = 1, /decl/reagent/alcohol/chartreusegreen = 1, /decl/reagent/drink/grenadine = 1, /decl/reagent/alcohol/absinthe = 1)
result_amount = 4
/datum/chemical_reaction/drink/deweycocktail
name = "Dewey Cocktail"
id = "deweycocktail"
result = /decl/reagent/alcohol/deweycocktail
required_reagents = list(/decl/reagent/alcohol/cremeyvette = 1, /decl/reagent/alcohol/gin = 1, /decl/reagent/drink/grenadine = 1)
result_amount = 3
/datum/chemical_reaction/drink/rustynail
name = "Rusty Nail"
id = "rustynail"
result = /decl/reagent/alcohol/rustynail
required_reagents = list(/decl/reagent/alcohol/whiskey = 1, /decl/reagent/alcohol/drambuie = 1)
result_amount = 2
/datum/chemical_reaction/drink/oldfashioned
name = "Old Fashioned"
id = "oldfashioned"
result = /decl/reagent/alcohol/oldfashioned
required_reagents = list(/decl/reagent/alcohol/whiskeysoda = 3, /decl/reagent/alcohol/bitters = 1, /decl/reagent/sugar = 1)
result_amount = 5
/datum/chemical_reaction/drink/blindrussian
name = "Blind Russian"
id = "blindrussian"
result = /decl/reagent/alcohol/blindrussian
required_reagents = list(/decl/reagent/alcohol/coffee/kahlua = 1, /decl/reagent/alcohol/irishcream = 1, /decl/reagent/drink/milk/cream = 1)
result_amount = 3
/datum/chemical_reaction/drink/tallrussian
name = "Tall Black Russian"
id = "tallrussian"
result = /decl/reagent/alcohol/tallrussian
required_reagents = list(/decl/reagent/alcohol/blackrussian = 1, /decl/reagent/drink/space_cola = 1)
result_amount = 2
/datum/chemical_reaction/drink/cold_gate
name = "Cold Gate"
id = "cold_gate"
result = /decl/reagent/drink/toothpaste/cold_gate
result_amount = 3
required_reagents = list(/decl/reagent/drink/mintsyrup = 1, /decl/reagent/drink/ice = 1, /decl/reagent/drink/toothpaste = 1)
/datum/chemical_reaction/drink/waterfresh
name = "Waterfresh"
id = "waterfresh"
result = /decl/reagent/drink/toothpaste/waterfresh
result_amount = 3
required_reagents = list(/decl/reagent/drink/tonic = 1, /decl/reagent/drink/sodawater = 1, /decl/reagent/drink/toothpaste = 1)
/datum/chemical_reaction/drink/sedantian_firestorm
name = "Sedantian Firestorm"
id = "sedantian_firestorm"
result = /decl/reagent/drink/toothpaste/sedantian_firestorm
result_amount = 2
required_reagents = list(/decl/reagent/toxin/phoron = 1, /decl/reagent/drink/toothpaste = 1)
/datum/chemical_reaction/drink/kois_odyne
name = "Kois Odyne"
id = "kois_odyne"
result = /decl/reagent/drink/toothpaste/kois_odyne
result_amount = 3
required_reagents = list(/decl/reagent/drink/tonic = 1, /decl/reagent/kois = 1, /decl/reagent/drink/toothpaste = 1)
/datum/chemical_reaction/adhomai_milk
name = "Fermented Fatshouters Milk"
id = "adhomai_milk"
result = /decl/reagent/drink/milk/adhomai/fermented
required_reagents = list(/decl/reagent/drink/milk/adhomai = 1)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 1
// Synnono Meme Drinks
//==============================
// Organized here because why not.
/datum/chemical_reaction/drink/badtouch
name = "Bad Touch"
id = "badtouch"
result = /decl/reagent/alcohol/badtouch
required_reagents = list(/decl/reagent/alcohol/vodka = 2, /decl/reagent/alcohol/rum = 2, /decl/reagent/alcohol/absinthe = 1, /decl/reagent/drink/lemon_lime = 1)
result_amount = 6
/datum/chemical_reaction/drink/bluelagoon
name = "Blue Lagoon"
id = "bluelagooon"
result = /decl/reagent/alcohol/bluelagoon
required_reagents = list(/decl/reagent/drink/lemonade = 3, /decl/reagent/alcohol/vodka = 1, /decl/reagent/alcohol/bluecuracao = 1, /decl/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/cherrytreefireball
name = "Cherry Tree Fireball"
id = "cherrytreefireball"
result = /decl/reagent/alcohol/cherrytreefireball
required_reagents = list(/decl/reagent/drink/lemonade = 3, /decl/reagent/alcohol/fireball = 1, /decl/reagent/nutriment/cherryjelly = 1, /decl/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/cobaltvelvet
name = "Cobalt Velvet"
id = "cobaltvelvet"
result = /decl/reagent/alcohol/cobaltvelvet
required_reagents = list(/decl/reagent/alcohol/champagne = 3, /decl/reagent/alcohol/bluecuracao = 2, /decl/reagent/drink/space_cola = 1)
result_amount = 6
/datum/chemical_reaction/drink/fringeweaver
name = "Fringe Weaver"
id = "fringeweaver"
result = /decl/reagent/alcohol/fringeweaver
required_reagents = list(/decl/reagent/alcohol = 2, /decl/reagent/sugar = 1)
result_amount = 3
/datum/chemical_reaction/drink/junglejuice
name = "Jungle Juice"
id = "junglejuice"
result = /decl/reagent/alcohol/junglejuice
required_reagents = list(/decl/reagent/drink/lemonjuice = 1, /decl/reagent/drink/orangejuice = 1, /decl/reagent/drink/lemon_lime = 1, /decl/reagent/alcohol/vodka = 1, /decl/reagent/alcohol/rum = 1)
result_amount = 5
/datum/chemical_reaction/drink/marsarita
name = "Marsarita"
id = "marsarita"
result = /decl/reagent/alcohol/marsarita
required_reagents = list(/decl/reagent/alcohol/margarita = 4, /decl/reagent/alcohol/bluecuracao = 1, /decl/reagent/capsaicin = 1)
result_amount = 6
/datum/chemical_reaction/drink/meloncooler
name = "Melon Cooler"
id = "meloncooler"
result = /decl/reagent/drink/meloncooler
required_reagents = list(/decl/reagent/drink/watermelonjuice = 2, /decl/reagent/drink/sodawater = 2, /decl/reagent/drink/mintsyrup = 1, /decl/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/midnightkiss
name = "Midnight Kiss"
id = "midnightkiss"
result = /decl/reagent/alcohol/midnightkiss
required_reagents = list(/decl/reagent/alcohol/champagne = 3, /decl/reagent/alcohol/vodka = 1, /decl/reagent/alcohol/bluecuracao = 1)
result_amount = 5
/datum/chemical_reaction/drink/millionairesour
name = "Millionaire Sour"
id = "millionairesour"
result = /decl/reagent/drink/millionairesour
required_reagents = list(/decl/reagent/drink/spacemountainwind = 3, /decl/reagent/drink/grenadine = 1, /decl/reagent/drink/limejuice = 1)
result_amount = 5
/datum/chemical_reaction/drink/olympusmons
name = "Olympus Mons"
id = "olympusmons"
result = /decl/reagent/alcohol/olympusmons
required_reagents = list(/decl/reagent/alcohol/blackrussian = 1, /decl/reagent/alcohol/whiskey = 1, /decl/reagent/alcohol/rum = 1)
result_amount = 3
/datum/chemical_reaction/drink/europanail
name = "Europa Nail"
id = "europanail"
result = /decl/reagent/alcohol/europanail
required_reagents = list(/decl/reagent/alcohol/rustynail = 2, /decl/reagent/alcohol/coffee/kahlua = 2, /decl/reagent/drink/milk/cream = 2)
result_amount = 6
/datum/chemical_reaction/drink/portsvilleminttea
name = "Portsville Mint Tea"
id = "portsvilleminttea"
result = /decl/reagent/drink/tea/portsvilleminttea
required_reagents = list(/decl/reagent/drink/icetea = 3, /decl/reagent/drink/berryjuice = 1, /decl/reagent/drink/mintsyrup = 1, /decl/reagent/sugar = 1)
result_amount = 6
/datum/chemical_reaction/drink/shirleytemple
name = "Shirley Temple"
id = "shirleytemple"
result = /decl/reagent/drink/shirleytemple
required_reagents = list(/decl/reagent/drink/spaceup = 4, /decl/reagent/drink/grenadine = 2)
result_amount = 6
/datum/chemical_reaction/drink/sugarrush
name = "Sugar Rush"
id = "sugarrush"
result = /decl/reagent/alcohol/sugarrush
required_reagents = list(/decl/reagent/drink/brownstar = 4, /decl/reagent/drink/grenadine = 1, /decl/reagent/alcohol/vodka = 1)
result_amount = 6
/datum/chemical_reaction/drink/sangria
name = "Sangria"
id = "sangria"
result = /decl/reagent/alcohol/sangria
required_reagents = list(/decl/reagent/alcohol/wine = 3, /decl/reagent/drink/orangejuice = 1, /decl/reagent/drink/lemonjuice = 1, /decl/reagent/alcohol/brandy = 1)
result_amount = 6
/datum/chemical_reaction/drink/bassline
name = "Bassline"
id = "bassline"
result = /decl/reagent/alcohol/bassline
required_reagents = list(/decl/reagent/alcohol/vodka = 2, /decl/reagent/alcohol/bluecuracao = 1, /decl/reagent/drink/limejuice = 1, /decl/reagent/drink/grapejuice = 2)
result_amount = 6
/datum/chemical_reaction/drink/bluebird
name = "Bluebird"
id = "bluebird"
result = /decl/reagent/alcohol/bluebird
required_reagents = list(/decl/reagent/alcohol/gintonic = 3, /decl/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 = /decl/reagent/drink/dr_gibb_diet
required_reagents = list(/decl/reagent/drink/dr_gibb = 1, /decl/reagent/water = 1)
result_amount = 2
/datum/chemical_reaction/drink/dr_daniels
name = "Dr. Daniels"
id = "dr_daniels"
result = /decl/reagent/alcohol/drdaniels
required_reagents = list(/decl/reagent/drink/dr_gibb_diet = 3, /decl/reagent/alcohol/whiskey = 1, /decl/reagent/nutriment/honey = 1)
result_amount = 5
/datum/chemical_reaction/drink/meatshake
name = "Meatshake"
id = "meatshake"
result = /decl/reagent/drink/meatshake
required_reagents = list(/decl/reagent/drink/milk/cream = 1, /decl/reagent/nutriment/protein = 1,/decl/reagent/water = 1)
result_amount = 3
/datum/chemical_reaction/drink/crocodile_booze
name = "Crocodile Guwan"
id = "crocodile_booze"
result = /decl/reagent/alcohol/butanol/crocodile_booze
required_reagents = list(/decl/reagent/alcohol/butanol/sarezhiwine = 5, /decl/reagent/toxin = 1)
result_amount = 6
/datum/chemical_reaction/drink/messa_mead
name = "Messa's Mead"
id = "messa_mead"
result = /decl/reagent/alcohol/messa_mead
required_reagents = list(/decl/reagent/nutriment/honey = 1, /decl/reagent/drink/earthenrootjuice = 1)
result_amount = 2
/datum/chemical_reaction/drink/winter_offensive
name = "Winter Offensive"
id = "winter_offensive"
result = /decl/reagent/alcohol/winter_offensive
required_reagents = list(/decl/reagent/drink/ice = 1, /decl/reagent/alcohol/victorygin = 1)
result_amount = 2
/datum/chemical_reaction/drink/mars_coffee
name = "Martian Special"
id = "mars_coffee"
result = /decl/reagent/drink/coffee/mars
required_reagents = list(/decl/reagent/drink/coffee = 4, /decl/reagent/blackpepper = 1)
result_amount = 5
/datum/chemical_reaction/drink/mountain_marauder
name = "Mountain Marauder"
id = "mountain_marauder"
result = /decl/reagent/alcohol/mountain_marauder
required_reagents = list(/decl/reagent/drink/milk/adhomai/fermented = 1, /decl/reagent/alcohol/victorygin = 1)
result_amount = 2
//Kaed's Unathi cocktails
//========
/datum/chemical_reaction/drink/moghesmargarita
name = "Moghes Margarita"
id = "moghesmargarita"
result = /decl/reagent/alcohol/butanol/moghesmargarita
required_reagents = list(/decl/reagent/alcohol/butanol/xuizijuice = 2, /decl/reagent/drink/limejuice = 3)
result_amount = 5
/datum/chemical_reaction/drink/bahamalizard
name = "Bahama Lizard"
id = "bahamalizard"
result = /decl/reagent/alcohol/butanol/bahamalizard
required_reagents = list(/decl/reagent/alcohol/butanol/xuizijuice = 2, /decl/reagent/drink/lemonjuice = 2, /decl/reagent/drink/milk/cream = 1, /decl/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/cactuscreme
name = "Cactus Creme"
id = "cactuscreme"
result = /decl/reagent/alcohol/butanol/cactuscreme
required_reagents = list(/decl/reagent/drink/berryjuice = 2, /decl/reagent/drink/milk/cream = 1, /decl/reagent/alcohol/butanol/xuizijuice = 2)
result_amount = 5
/datum/chemical_reaction/drink/lizardplegm
name = "Lizard Phlegm"
id = "lizardphlegm"
result = /decl/reagent/alcohol/butanol/lizardphlegm
required_reagents = list(/decl/reagent/drink/milk/cream = 2, /decl/reagent/drink/banana = 1, /decl/reagent/alcohol/butanol/xuizijuice = 1, /decl/reagent/drink/watermelonjuice = 1)
result_amount = 5
/datum/chemical_reaction/drink/cactustea
name = "Cactus Tea"
id = "cactustea"
result = /decl/reagent/alcohol/butanol/cactustea
required_reagents = list(/decl/reagent/drink/icetea = 1, /decl/reagent/alcohol/butanol/xuizijuice = 1)
result_amount = 2
/datum/chemical_reaction/drink/moghespolitan
name = "Moghespolitan"
id = "moghespolitan"
result = /decl/reagent/alcohol/butanol/moghespolitan
required_reagents = list(/decl/reagent/alcohol/butanol/sarezhiwine = 2, /decl/reagent/alcohol/butanol/xuizijuice = 1, /decl/reagent/drink/grenadine = 5)
result_amount = 5
/datum/chemical_reaction/drink/wastelandheat
name = "Wasteland Heat"
id = "wastelandheat"
result = /decl/reagent/alcohol/butanol/wastelandheat
required_reagents = list(/decl/reagent/alcohol/butanol/xuizijuice = 10, /decl/reagent/capsaicin = 3)
result_amount = 10
/datum/chemical_reaction/drink/sandgria
name = "Sandgria"
id = "sandgria"
result = /decl/reagent/alcohol/butanol/sandgria
required_reagents = list(/decl/reagent/alcohol/butanol/sarezhiwine = 3, /decl/reagent/drink/orangejuice = 1, /decl/reagent/drink/lemonjuice = 1, /decl/reagent/alcohol/butanol/xuizijuice = 1)
result_amount = 6
/datum/chemical_reaction/drink/contactwine
name = "Contact Wine"
id = "contactwine"
result = /decl/reagent/alcohol/butanol/contactwine
required_reagents = list(/decl/reagent/alcohol/butanol/xuizijuice = 5, /decl/reagent/radium = 1, /decl/reagent/alcohol/butanol/sarezhiwine = 5)
result_amount = 10
/datum/chemical_reaction/drink/hereticblood
name = "Heretics' Blood"
id = "hereticblood"
result = /decl/reagent/alcohol/butanol/hereticblood
required_reagents = list(/decl/reagent/alcohol/butanol/xuizijuice = 3, /decl/reagent/drink/spacemountainwind = 1, /decl/reagent/blood = 1, /decl/reagent/drink/dr_gibb = 1)
result_amount = 6
/datum/chemical_reaction/drink/sandpit
name = "Sandpit"
id = "sandpit"
result = /decl/reagent/alcohol/butanol/sandpit
required_reagents = list(/decl/reagent/alcohol/butanol/xuizijuice = 2, /decl/reagent/drink/orangejuice = 2)
result_amount = 4
/datum/chemical_reaction/drink/cactuscola
name = "Cactus Cola"
id = "cactuscola"
result = /decl/reagent/alcohol/butanol/cactuscola
required_reagents = list(/decl/reagent/alcohol/butanol/xuizijuice = 2, /decl/reagent/drink/space_cola = 2, /decl/reagent/drink/ice = 1)
result_amount = 5
/datum/chemical_reaction/drink/bloodwine
name = "Bloodwine"
id = "bloodwine"
result = /decl/reagent/alcohol/butanol/bloodwine
required_reagents = list(/decl/reagent/blood = 2, /decl/reagent/alcohol/butanol/sarezhiwine = 3)
result_amount = 5
/datum/chemical_reaction/pumpkinspice
name = "Pumpkin Spice"
id = "pumpkinspce"
result = /decl/reagent/spacespice/pumpkinspice
mix_message = "The spice brightens up."
required_reagents = list(/decl/reagent/spacespice = 8, /decl/reagent/nutriment/pumpkinpulp = 2)
result_amount = 10
/datum/chemical_reaction/drink/psfrappe
name = "Pumpkin Spice Frappe"
id = "psfrappe"
result = /decl/reagent/drink/coffee/icecoffee/psfrappe
required_reagents = list(/decl/reagent/drink/coffee/icecoffee = 6, /decl/reagent/drink/syrup_pumpkin = 2, /decl/reagent/drink/milk/cream = 2)
result_amount = 10
/datum/chemical_reaction/drink/pslatte
name = "Pumpkin Spice Latte"
id = "pslatte"
result = /decl/reagent/drink/coffee/latte/pumpkinspice
required_reagents = list(/decl/reagent/drink/coffee = 6, /decl/reagent/drink/syrup_pumpkin = 2, /decl/reagent/drink/milk/cream = 2)
result_amount = 10
/datum/chemical_reaction/drink/caramel_latte
name = "Caramel latte"
id = "caramellatte"
result = /decl/reagent/drink/coffee/latte/caramel
required_reagents = list(/decl/reagent/drink/coffee/latte = 4, /decl/reagent/drink/syrup_caramel = 1)
result_amount = 5
/datum/chemical_reaction/drink/mocha_latte
name = "Mocha latte"
id = "mochalatte"
result = /decl/reagent/drink/coffee/latte/mocha
required_reagents = list(/decl/reagent/drink/coffee/latte = 4, /decl/reagent/drink/syrup_chocolate = 1)
result_amount = 5
/datum/chemical_reaction/drink/vanilla_latte
name = "Vanilla latte"
id = "vanillalatte"
result = /decl/reagent/drink/coffee/latte/vanilla
required_reagents = list(/decl/reagent/drink/coffee/latte = 4, /decl/reagent/drink/syrup_vanilla = 1)
result_amount = 5
//Skrell drinks. Bring forth the culture.
//===========================================
/datum/chemical_reaction/drink/thirdincident
name = "The Third Incident"
id = "thirdincident"
result = /decl/reagent/alcohol/thirdincident
required_reagents = list(/decl/reagent/nutriment/protein/egg = 3, /decl/reagent/alcohol/bluecuracao = 10, /decl/reagent/drink/grapejuice = 10)
result_amount = 20
/datum/chemical_reaction/drink/upsidedowncup
name = "Upside-Down Cup"
id = "upsidedowncup"
result = /decl/reagent/drink/upsidedowncup
required_reagents = list(/decl/reagent/drink/dr_gibb = 3, /decl/reagent/drink/ice = 1, /decl/reagent/drink/lemonjuice = 1)
result_amount = 5
/datum/chemical_reaction/drink/cigarettelizard
name = "Cigarette Lizard"
id = "cigarettelizard"
result = /decl/reagent/drink/smokinglizard
required_reagents = list(/decl/reagent/drink/limejuice = 2, /decl/reagent/drink/sodawater = 2, /decl/reagent/drink/mintsyrup = 1, /decl/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/sromshine
name = "Sromshine"
id = "sromshine"
result = /decl/reagent/drink/coffee/sromshine
required_reagents = list(/decl/reagent/drink/coffee = 2, /decl/reagent/drink/orangejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/cbsc
name = "Complex Bluespace Calculation"
id = "cbsc"
result = /decl/reagent/alcohol/cbsc
required_reagents = list(/decl/reagent/alcohol/wine = 4, /decl/reagent/alcohol/vodka = 2, /decl/reagent/drink/sodawater = 3, /decl/reagent/radium = 1 )
result_amount = 10
/datum/chemical_reaction/drink/dynhot
name = "Dyn Tea"
id = "dynhot"
result = /decl/reagent/drink/dynjuice/hot
required_reagents = list(/decl/reagent/drink/dynjuice = 1, /decl/reagent/water = 4)
result_amount = 5
/datum/chemical_reaction/drink/dyncold
name = "Dyn Ice Tea"
id = "dyncold"
result = /decl/reagent/drink/dynjuice/cold
required_reagents = list(/decl/reagent/drink/dynjuice = 1, /decl/reagent/drink/ice = 2, /decl/reagent/drink/sodawater = 2)
result_amount = 5
/datum/chemical_reaction/drink/algaesuprise
name = "Pl'iuop Algae Surprise"
id = "algaesuprise"
result = /decl/reagent/drink/algaesuprise
required_reagents = list(/decl/reagent/nutriment/virusfood = 2, /decl/reagent/drink/banana = 1)
result_amount = 3
/datum/chemical_reaction/drink/xrim
name = "Xrim Garden"
id = "xrim"
result = /decl/reagent/drink/xrim
required_reagents = list(/decl/reagent/nutriment/virusfood = 2, /decl/reagent/drink/watermelonjuice = 1, /decl/reagent/drink/orangejuice = 1, /decl/reagent/drink/limejuice = 1, /decl/reagent/drink/zorasoda/cthur = 1)
result_amount = 6
/datum/chemical_reaction/drink/rixulin_sundae
name = "Rixulin Sundae"
id = "rixulin_sundae"
result = /decl/reagent/alcohol/rixulin_sundae
required_reagents = list(/decl/reagent/nutriment/virusfood = 3, /decl/reagent/wulumunusha = 1, /decl/reagent/alcohol/whitewine = 2)
result_amount = 6
//Tea and cider
//=======================
/datum/chemical_reaction/drink/cidercheap
name = "Apple Cider Juice"
id = "cidercheap"
result = /decl/reagent/drink/cidercheap
required_reagents = list(/decl/reagent/drink/applejuice = 2, /decl/reagent/sugar = 1, /decl/reagent/spacespice = 1)
result_amount = 4
/datum/chemical_reaction/cinnamonapplewhiskey
name = "Cinnamon Apple Whiskey"
id = "cinnamonapplewhiskey"
result = /decl/reagent/alcohol/cinnamonapplewhiskey
required_reagents = list(/decl/reagent/drink/ciderhot = 3, /decl/reagent/alcohol/fireball = 1)
result_amount = 4
/datum/chemical_reaction/drink/chailatte
name = "Chai Latte"
id = "chailatte"
result = /decl/reagent/drink/tea/chaitealatte
required_reagents = list(/decl/reagent/drink/tea/chaitea = 1, /decl/reagent/drink/milk = 1)
result_amount = 2
/datum/chemical_reaction/drink/chailatte/soy
id = "chailattesoy"
required_reagents = list(/decl/reagent/drink/tea/chaitea = 1, /decl/reagent/drink/milk/soymilk = 1)
/datum/chemical_reaction/drink/coco_chaitea
name = "Chocolate Chai"
id = "coco_chaitea"
result = /decl/reagent/drink/tea/coco_chaitea
required_reagents = list(/decl/reagent/drink/tea/chaitea = 2, /decl/reagent/nutriment/coco = 1)
result_amount = 3
/datum/chemical_reaction/drink/coco_chailatte
name = "Chocolate Chai Latte"
id = "coco_chailatte"
result = /decl/reagent/drink/tea/coco_chailatte
required_reagents = list(/decl/reagent/drink/tea/coco_chaitea = 1, /decl/reagent/drink/milk = 1)
result_amount = 2
/datum/chemical_reaction/drink/coco_chailatte/soy
id = "coco_chailatte_soy"
required_reagents = list(/decl/reagent/drink/tea/coco_chaitea = 1, /decl/reagent/drink/milk/soymilk = 1)
/datum/chemical_reaction/drink/cofftea
name = "Cofftea"
id = "cofftea"
result = /decl/reagent/drink/tea/cofftea
required_reagents = list(/decl/reagent/drink/tea = 1, /decl/reagent/drink/coffee = 1)
result_amount = 2
/datum/chemical_reaction/drink/bureacratea
name = "Bureacratea"
id = "bureacratea"
result = /decl/reagent/drink/tea/bureacratea
required_reagents = list(/decl/reagent/drink/tea = 1, /decl/reagent/drink/coffee/espresso = 1)
result_amount = 2
/datum/chemical_reaction/drink/desert_tea
name = "Desert Blossom Tea"
id = "desert_tea"
result = /decl/reagent/drink/tea/desert_tea
required_reagents = list(/decl/reagent/drink/tea/greentea = 2, /decl/reagent/alcohol/butanol/xuizijuice = 1, /decl/reagent/sugar = 1)
result_amount = 4
/datum/chemical_reaction/drink/halfandhalf
name = "Half and Half"
id = "halfandhalf"
result = /decl/reagent/drink/tea/halfandhalf
required_reagents = list(/decl/reagent/drink/icetea = 1, /decl/reagent/drink/lemonade = 1)
result_amount = 2
/datum/chemical_reaction/drink/heretic_tea
name = "Heretics Tea"
id = "heretic_tea"
result = /decl/reagent/drink/tea/heretic_tea
required_reagents = list(/decl/reagent/drink/icetea = 3, /decl/reagent/blood = 1, /decl/reagent/drink/spacemountainwind = 1, /decl/reagent/drink/dr_gibb = 1)
result_amount = 6
/datum/chemical_reaction/drink/kira_tea
name = "Kira tea"
id = "kira_tea"
result = /decl/reagent/drink/tea/kira_tea
required_reagents = list(/decl/reagent/drink/icetea = 1, /decl/reagent/drink/kiraspecial = 1)
result_amount = 2
/datum/chemical_reaction/drink/librarian_special
name = "Librarian Special"
id = "librarian_special"
result = /decl/reagent/drink/tea/librarian_special
required_reagents = list(/decl/reagent/drink/tea = 2, /decl/reagent/drink/nothing = 1)
result_amount = 3
/datum/chemical_reaction/drink/mars_tea
name = "Martian Tea"
id = "mars_tea"
result = /decl/reagent/drink/tea/mars_tea
required_reagents = list(/decl/reagent/drink/tea = 4, /decl/reagent/blackpepper = 1)
result_amount = 5
/datum/chemical_reaction/drink/mars_tea/green
required_reagents = list(/decl/reagent/drink/tea/greentea = 4, /decl/reagent/blackpepper = 1)
/datum/chemical_reaction/drink/mendell_tea
name = "Mendell Afternoon Tea"
id = "mendell_tea"
result = /decl/reagent/drink/tea/mendell_tea
required_reagents = list(/decl/reagent/drink/tea/greentea = 4, /decl/reagent/drink/mintsyrup = 1, /decl/reagent/drink/lemonjuice = 1)
result_amount = 6
/datum/chemical_reaction/drink/berry_tea
name = "Mixed Berry Tea"
id = "berry_tea"
result = /decl/reagent/drink/tea/berry_tea
required_reagents = list(/decl/reagent/drink/tea = 2, /decl/reagent/drink/berryjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/berry_tea/green
required_reagents = list(/decl/reagent/drink/tea/greentea = 2, /decl/reagent/drink/berryjuice = 1)
/datum/chemical_reaction/drink/pomegranate_icetea
name = "Pomegranate Iced Tea"
id = "pomegranate_icetea"
result = /decl/reagent/drink/tea/pomegranate_icetea
required_reagents = list(/decl/reagent/drink/icetea = 1, /decl/reagent/drink/grenadine = 1)
result_amount = 2
/datum/chemical_reaction/drink/potatea
name = "Potatea"
id = "potatea"
result = /decl/reagent/drink/tea/potatea
required_reagents = list(/decl/reagent/drink/tea = 2, /decl/reagent/drink/potatojuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/securitea
name = "Securitea"
id = "securitea"
result = /decl/reagent/drink/tea/securitea
required_reagents = list(/decl/reagent/drink/tea = 2, /decl/reagent/crayon_dust = 1)
result_amount = 3
/datum/chemical_reaction/drink/securitea/red
id = "securitea_red"
required_reagents = list(/decl/reagent/drink/tea = 2, /decl/reagent/crayon_dust/red = 1)
/datum/chemical_reaction/drink/securitea/orange
id = "securitea_orange"
required_reagents = list(/decl/reagent/drink/tea = 2, /decl/reagent/crayon_dust/orange = 1)
/datum/chemical_reaction/drink/securitea/yellow
id = "securitea_yellow"
required_reagents = list(/decl/reagent/drink/tea = 2, /decl/reagent/crayon_dust/yellow = 1)
/datum/chemical_reaction/drink/securitea/green
id = "securitea_green"
required_reagents = list(/decl/reagent/drink/tea = 2, /decl/reagent/crayon_dust/green = 1)
/datum/chemical_reaction/drink/securitea/blue
id = "securitea_blue"
required_reagents = list(/decl/reagent/drink/tea = 2, /decl/reagent/crayon_dust/blue = 1)
/datum/chemical_reaction/drink/securitea/purple
id = "securitea_purple"
required_reagents = list(/decl/reagent/drink/tea = 2, /decl/reagent/crayon_dust/purple = 1)
/datum/chemical_reaction/drink/securitea/grey
id = "securitea_grey"
required_reagents = list(/decl/reagent/drink/tea = 2, /decl/reagent/crayon_dust/grey = 1)
/datum/chemical_reaction/drink/securitea/brown
id = "securitea_brown"
required_reagents = list(/decl/reagent/drink/tea = 2, /decl/reagent/crayon_dust/brown = 1)
/datum/chemical_reaction/drink/sleepytime_tea
name = "Sleepytime Tea"
id = "sleepytime_tea"
result = /decl/reagent/drink/tea/sleepytime_tea
required_reagents = list(/decl/reagent/drink/tea = 5, /decl/reagent/soporific = 1)
result_amount = 6
/datum/chemical_reaction/drink/sleepytime_tea/green
id = "sleepytime_greentea"
required_reagents = list(/decl/reagent/drink/tea/greentea = 5, /decl/reagent/soporific = 1)
/datum/chemical_reaction/drink/hakhma_tea
name = "Spiced Hakhma Tea"
id = "hakhma_tea"
result = /decl/reagent/drink/tea/hakhma_tea
required_reagents = list(/decl/reagent/drink/tea = 2, /decl/reagent/drink/milk/beetle = 2, /decl/reagent/spacespice = 1)
result_amount = 5
/datum/chemical_reaction/drink/sweet_tea
name = "Sweet Tea"
id = "sweet_tea"
result = /decl/reagent/drink/tea/sweet_tea
required_reagents = list(/decl/reagent/drink/icetea = 1, /decl/reagent/sugar = 1)
result_amount = 2
/datum/chemical_reaction/drink/teathpaste
name = "Teathpaste"
id = "teathpaste"
result = /decl/reagent/drink/toothpaste/teathpaste
required_reagents = list(/decl/reagent/drink/tea = 2, /decl/reagent/drink/toothpaste = 1)
result_amount = 3
/datum/chemical_reaction/drink/thewake
name = "The Wake"
id = "thewake"
result = /decl/reagent/drink/dynjuice/thewake
required_reagents = list(/decl/reagent/drink/dynjuice = 1, /decl/reagent/drink/orangejuice = 1, /decl/reagent/drink/tea = 1)
result_amount = 3
/datum/chemical_reaction/drink/tomatea
name = "Tomatea"
id = "tomatea"
result = /decl/reagent/drink/tea/tomatea
required_reagents = list(/decl/reagent/drink/tea = 2, /decl/reagent/drink/tomatojuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/trizkizki_tea
name = "Trizkizki Tea"
id = "trizkizki_tea"
result = /decl/reagent/alcohol/butanol/trizkizki_tea
required_reagents = list(/decl/reagent/drink/tea/greentea = 1, /decl/reagent/alcohol/butanol/sarezhiwine = 1, /decl/reagent/drink/grenadine = 1)
result_amount = 3
/datum/chemical_reaction/drink/tropical_icetea
name = "Tropical Iced Tea"
id = "tropical_icetea"
result = /decl/reagent/drink/tea/tropical_icetea
required_reagents = list(/decl/reagent/drink/icetea = 3, /decl/reagent/drink/limejuice = 1, /decl/reagent/drink/orangejuice = 1, /decl/reagent/drink/watermelonjuice = 1)
result_amount = 6
//transmutation
/datum/chemical_reaction/transmutation_silver
name = "Transmutation: Silver"
id = "transmutation_silver"
result = null
required_reagents = list(/decl/reagent/iron = 5, /decl/reagent/copper = 5)
catalysts = list(/decl/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(/decl/reagent/aluminum = 5, /decl/reagent/silver = 5)
catalysts = list(/decl/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(/decl/reagent/carbon = 5, /decl/reagent/gold = 5)
catalysts = list(/decl/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 = /decl/reagent/drink/ice
required_reagents = list(/decl/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 = /decl/reagent/water
required_reagents = list(/decl/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 = /decl/reagent/pyrosilicate
result_amount = 4
required_reagents = list(/decl/reagent/silicate = 1, /decl/reagent/acid = 1, /decl/reagent/hydrazine = 1, /decl/reagent/iron = 1)
/datum/chemical_reaction/cryosurfactant
name = "Cryosurfactant"
id = "cryosurfactant"
result = /decl/reagent/cryosurfactant
result_amount = 3
required_reagents = list(/decl/reagent/surfactant = 1, /decl/reagent/drink/ice = 1, /decl/reagent/sodium = 1)
//WATER
/datum/chemical_reaction/cryosurfactant_cooling_water
name = "Cryosurfactant Cooling Water"
id = "cryosurfactant_cooling_water"
result = null
result_amount = 1
required_reagents = list(/decl/reagent/cryosurfactant = 1)
inhibitors = list(/decl/reagent/pyrosilicate = 1)
catalysts = list(/decl/reagent/water = 1)
mix_message = "The solution begins to freeze."
/datum/chemical_reaction/cryosurfactant_cooling_water/on_reaction(var/datum/reagents/holder, var/created_volume, var/created_thermal_energy)
holder.del_reagent(/decl/reagent/cryosurfactant)
holder.add_thermal_energy(-created_volume*500)
//ICE
/datum/chemical_reaction/cryosurfactant_cooling_ice
name = "Cryosurfactant Cooling Ice"
id = "cryosurfactant_cooling_ice"
result = null
result_amount = 1
required_reagents = list(/decl/reagent/cryosurfactant = 1)
inhibitors = list(/decl/reagent/pyrosilicate = 1)
catalysts = list(/decl/reagent/drink/ice = 1)
mix_message = "The solution begins to freeze."
/datum/chemical_reaction/cryosurfactant_cooling_ice/on_reaction(var/datum/reagents/holder, var/created_volume, var/created_thermal_energy)
holder.del_reagent(/decl/reagent/cryosurfactant)
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(/decl/reagent/pyrosilicate = 1)
inhibitors = list(/decl/reagent/cryosurfactant = 1)
catalysts = list(/decl/reagent/sodiumchloride = 1)
/datum/chemical_reaction/pyrosilicate_heating/on_reaction(var/datum/reagents/holder, var/created_volume)
holder.del_reagent(/decl/reagent/pyrosilicate)
holder.add_thermal_energy(created_volume*1000)
/datum/chemical_reaction/pyrosilicate_cryosurfactant
name = "Pyrosilicate Cryosurfactant Reaction"
id = "pyrosilicate_cryosurfactant"
result = null
required_reagents = list(/decl/reagent/pyrosilicate = 1, /decl/reagent/cryosurfactant = 1)
required_temperature_min = T0C //Does not react when below these temperatures.
result_amount = 1
/datum/chemical_reaction/pyrosilicate_cryosurfactant/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 = /decl/reagent/rmt
result_amount = 2
required_reagents = list(/decl/reagent/potassium = 1, /decl/reagent/inaprovaline = 1)
/datum/chemical_reaction/gunpowder
name = "Gunpowder"
id = "gunpowder"
result = /decl/reagent/gunpowder
result_amount = 1
required_reagents = list(/decl/reagent/sulfur = 1, /decl/reagent/carbon = 1, /decl/reagent/potassium = 1)
//Coffee expansion
//=======================
/datum/chemical_reaction/caramelisation
name = "Caramelised Sugar"
result = /decl/reagent/nutriment/caramel
required_reagents = list(/decl/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 = /decl/reagent/drink/caramel
required_reagents = list(/decl/reagent/nutriment/caramel = 2, /decl/reagent/drink/milk/cream = 1, /decl/reagent/drink/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 = /decl/reagent/drink/syrup_simple
required_reagents = list(/decl/reagent/sugar = 2, /decl/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/caramelsyrup
name = "Caramel Syrup"
id = "caramelsyrup"
result = /decl/reagent/drink/syrup_caramel
required_reagents = list(/decl/reagent/nutriment/caramel = 2, /decl/reagent/drink/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 = /decl/reagent/drink/syrup_chocolate
required_reagents = list(/decl/reagent/nutriment/coco = 2, /decl/reagent/drink/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 = /decl/reagent/drink/syrup_pumpkin
required_reagents = list(/decl/reagent/spacespice/pumpkinspice = 2, /decl/reagent/drink/syrup_simple = 3)
result_amount = 5
mix_message = "The solution takes on an orange hue and the aroma of pumpkin spice."
/datum/chemical_reaction/drink/cuba_libre
name = "Cuba Libre"
id = "cubalibre"
result = /decl/reagent/alcohol/cubalibre
required_reagents = list(/decl/reagent/alcohol/rumandcola = 2, /decl/reagent/drink/limejuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/solarian_white
name = "Solarian White"
id = "solarian_white"
result = /decl/reagent/alcohol/solarian_white
required_reagents = list(/decl/reagent/alcohol/vodka = 1, /decl/reagent/drink/milk/cream = 1, /decl/reagent/drink/limejuice =1)
result_amount = 3
/datum/chemical_reaction/drink/solarian_marine
name = "Solarian Marine"
id = "solarian_marine"
result = /decl/reagent/alcohol/solarian_marine
required_reagents = list(/decl/reagent/drink/tea/securitea = 1, /decl/reagent/alcohol/whiskey = 1)
result_amount = 2
/datum/chemical_reaction/drink/cloudyoran
name = "Cloudy Oran"
id = "cloudyoran"
result = /decl/reagent/alcohol/cloudyoran
required_reagents = list(/decl/reagent/alcohol/sake = 1, /decl/reagent/drink/tea/greentea = 1, /decl/reagent/drink/milk/soymilk = 1)
result_amount = 3
/datum/chemical_reaction/drink/djinntea
name = "Djinn Tea"
id = "djinntea"
result = /decl/reagent/alcohol/djinntea
required_reagents = list(/decl/reagent/drink/dynjuice/cold = 1, /decl/reagent/alcohol/gin = 1)
result_amount = 2
/datum/chemical_reaction/drink/permanent_revolution
name = "Permanent Revolution"
id = "permanent_revolution"
result = /decl/reagent/alcohol/permanent_revolution
required_reagents = list(/decl/reagent/alcohol/absinthe = 1, /decl/reagent/alcohol/vodka/mushroom = 1)
result_amount = 2
/datum/chemical_reaction/drink/internationale
name = "Internationale"
id = "internationale"
result = /decl/reagent/alcohol/internationale
required_reagents = list(/decl/reagent/alcohol/victorygin = 1, /decl/reagent/alcohol/vodka/mushroom = 1)
result_amount = 2
/datum/chemical_reaction/drink/diona_mama
name = "Diona Mama"
id = "diona_mama"
result = /decl/reagent/alcohol/diona_mama
required_reagents = list(/decl/reagent/alcohol/absinthe = 2, /decl/reagent/drink/limejuice = 2, /decl/reagent/radium = 1, /decl/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/jovian_storm
name = "Jovian Storm"
id = "jovian_storm"
result = /decl/reagent/alcohol/jovian_storm
required_reagents = list(/decl/reagent/alcohol/rum = 2, /decl/reagent/drink/grenadine = 2, /decl/reagent/drink/lemonjuice = 1, /decl/reagent/drink/ice = 1)
result_amount = 6
/datum/chemical_reaction/drink/primeminister
name = "Prime Minister"
id = "primeminister"
result = /decl/reagent/alcohol/primeminister
required_reagents = list(/decl/reagent/alcohol/rum = 4, /decl/reagent/alcohol/vermouth = 1, /decl/reagent/drink/grenadine = 1)
result_amount = 6
/datum/chemical_reaction/drink/peacetreaty
name = "Peace Treaty"
id = "peacetreaty"
result = /decl/reagent/alcohol/peacetreaty
required_reagents = list(/decl/reagent/alcohol/victorygin = 1, /decl/reagent/alcohol/messa_mead = 1, /decl/reagent/drink/lemonjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/fiscream
name = "Fisanduhian Cream"
id = "fiscream"
result = /decl/reagent/alcohol/fiscream
required_reagents = list(/decl/reagent/alcohol/fireball = 2, /decl/reagent/drink/milk/cream = 1)
result_amount = 3
/datum/chemical_reaction/drink/fiscoffee
name = "Fisanduhian Coffee"
id = "fiscoffee"
result = /decl/reagent/alcohol/coffee/fiscoffee
required_reagents = list(/decl/reagent/alcohol/fiscream = 1, /decl/reagent/drink/coffee = 1)
result_amount = 2
/datum/chemical_reaction/drink/fisfirebomb
name = "Fisanduhian Firebomb"
id = "fiscarbomb"
result = /decl/reagent/alcohol/fisfirebomb
required_reagents = list(/decl/reagent/alcohol/ale = 1, /decl/reagent/alcohol/fiscream = 1)
result_amount = 2
/datum/chemical_reaction/drink/veterans_choice
name = "Veteran's Choice"
id = "veterans_choice"
result = /decl/reagent/alcohol/veterans_choice
required_reagents = list(/decl/reagent/alcohol/messa_mead = 1, /decl/reagent/gunpowder = 1)
result_amount = 2
/datum/chemical_reaction/drink/mutthir
name = "Mutthir"
id = "mutthir"
result = /decl/reagent/drink/milk/adhomai/mutthir
required_reagents = list(/decl/reagent/drink/milk/adhomai = 1, /decl/reagent/sugar = 1)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 2
/datum/chemical_reaction/drink/treebark_firewater
name = "Tree-Bark Firewater"
id = "treebark_firewater"
result = /decl/reagent/alcohol/treebark_firewater
required_reagents = list(/decl/reagent/drink/earthenrootjuice = 1, /decl/reagent/sugar = 1, /decl/reagent/woodpulp = 1)
catalysts = list(/decl/reagent/enzyme = 5)
result_amount = 3
/datum/chemical_reaction/drink/caprician_coffee
name = "Caprician Coffee"
id = "caprician_coffee"
result = /decl/reagent/drink/toothpaste/caprician_coffee
required_reagents = list(/decl/reagent/drink/toothpaste = 1, /decl/reagent/drink/coffee = 2)
result_amount = 3
/datum/chemical_reaction/drink/mojito
name = "Mojito"
id = "mojito"
result = /decl/reagent/alcohol/mojito
required_reagents = list(/decl/reagent/drink/mintsyrup = 1, /decl/reagent/drink/limejuice = 1, /decl/reagent/alcohol/rum = 1)
result_amount = 3
/datum/chemical_reaction/drink/zavodskoi_mule
name = "Zavodskoi Mule"
id = "zavodskoi_mule"
result = /decl/reagent/alcohol/zavdoskoi_mule
required_reagents = list(/decl/reagent/alcohol/vodka = 2, /decl/reagent/drink/lemonjuice = 1)
result_amount = 3
/datum/chemical_reaction/drink/pina_colada
name = "Pina Colada"
id = "pina_colada"
result = /decl/reagent/alcohol/pina_colada
required_reagents = list(/decl/reagent/drink/pineapplejuice = 1, /decl/reagent/alcohol/rum = 2)
result_amount = 3
/datum/chemical_reaction/drink/gibbfloats
name = "Gibb Floats"
id = "gibbfloats"
result = /decl/reagent/drink/gibbfloats
required_reagents = list(/decl/reagent/drink/dr_gibb = 1, /decl/reagent/drink/ice = 1, /decl/reagent/drink/milk/cream = 1)
result_amount = 3