diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm
index a90137ef624..d32e6e64618 100644
--- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm
+++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm
@@ -4,344 +4,296 @@
/datum/chemical_reaction/goldschlager
name = "Goldschlager"
id = "goldschlager"
- result = "goldschlager"
+ results = list("goldschlager" = 10)
required_reagents = list("vodka" = 10, "gold" = 1)
- result_amount = 10
/datum/chemical_reaction/patron
name = "Patron"
id = "patron"
- result = "patron"
+ results = list("patron" = 10)
required_reagents = list("tequila" = 10, "silver" = 1)
- result_amount = 10
/datum/chemical_reaction/bilk
name = "Bilk"
id = "bilk"
- result = "bilk"
+ results = list("bilk" = 2)
required_reagents = list("milk" = 1, "beer" = 1)
- result_amount = 2
/datum/chemical_reaction/icetea
name = "Iced Tea"
id = "icetea"
- result = "icetea"
+ results = list("icetea" = 4)
required_reagents = list("ice" = 1, "tea" = 3)
- result_amount = 4
/datum/chemical_reaction/icecoffee
name = "Iced Coffee"
id = "icecoffee"
- result = "icecoffee"
+ results = list("icecoffee" = 4)
required_reagents = list("ice" = 1, "coffee" = 3)
- result_amount = 4
/datum/chemical_reaction/nuka_cola
name = "Nuka Cola"
id = "nuka_cola"
- result = "nuka_cola"
+ results = list("nuka_cola" = 6)
required_reagents = list("uranium" = 1, "cola" = 6)
- result_amount = 6
/datum/chemical_reaction/moonshine
name = "Moonshine"
id = "moonshine"
- result = "moonshine"
+ results = list("moonshine" = 10)
required_reagents = list("nutriment" = 10)
required_catalysts = list("enzyme" = 5)
- result_amount = 10
/datum/chemical_reaction/wine
name = "Wine"
id = "wine"
- result = "wine"
+ results = list("wine" = 10)
required_reagents = list("grapejuice" = 10)
required_catalysts = list("enzyme" = 5)
- result_amount = 10
/datum/chemical_reaction/spacebeer
name = "Space Beer"
id = "spacebeer"
- result = "beer"
+ results = list("beer" = 10)
required_reagents = list("flour" = 10)
required_catalysts = list("enzyme" = 5)
- result_amount = 10
/datum/chemical_reaction/vodka
name = "Vodka"
id = "vodka"
- result = "vodka"
+ results = list("vodka" = 10)
required_reagents = list("potato" = 10)
required_catalysts = list("enzyme" = 5)
- result_amount = 10
/datum/chemical_reaction/kahlua
name = "Kahlua"
id = "kahlua"
- result = "kahlua"
+ results = list("kahlua" = 5)
required_reagents = list("coffee" = 5, "sugar" = 5)
required_catalysts = list("enzyme" = 5)
- result_amount = 5
/datum/chemical_reaction/gin_tonic
name = "Gin and Tonic"
id = "gintonic"
- result = "gintonic"
+ results = list("gintonic" = 3)
required_reagents = list("gin" = 2, "tonic" = 1)
- result_amount = 3
/datum/chemical_reaction/cuba_libre
name = "Cuba Libre"
id = "cubalibre"
- result = "cubalibre"
+ results = list("cubalibre" = 3)
required_reagents = list("rum" = 2, "cola" = 1)
- result_amount = 3
/datum/chemical_reaction/martini
name = "Classic Martini"
id = "martini"
- result = "martini"
+ results = list("martini" = 3)
required_reagents = list("gin" = 2, "vermouth" = 1)
- result_amount = 3
/datum/chemical_reaction/vodkamartini
name = "Vodka Martini"
id = "vodkamartini"
- result = "vodkamartini"
+ results = list("vodkamartini" = 3)
required_reagents = list("vodka" = 2, "vermouth" = 1)
- result_amount = 3
/datum/chemical_reaction/white_russian
name = "White Russian"
id = "whiterussian"
- result = "whiterussian"
+ results = list("whiterussian" = 5)
required_reagents = list("blackrussian" = 3, "cream" = 2)
- result_amount = 5
/datum/chemical_reaction/whiskey_cola
name = "Whiskey Cola"
id = "whiskeycola"
- result = "whiskeycola"
+ results = list("whiskeycola" = 3)
required_reagents = list("whiskey" = 2, "cola" = 1)
- result_amount = 3
/datum/chemical_reaction/screwdriver
name = "Screwdriver"
id = "screwdrivercocktail"
- result = "screwdrivercocktail"
+ results = list("screwdrivercocktail" = 3)
required_reagents = list("vodka" = 2, "orangejuice" = 1)
- result_amount = 3
/datum/chemical_reaction/bloody_mary
name = "Bloody Mary"
id = "bloodymary"
- result = "bloodymary"
+ results = list("bloodymary" = 4)
required_reagents = list("vodka" = 1, "tomatojuice" = 2, "limejuice" = 1)
- result_amount = 4
/datum/chemical_reaction/gargle_blaster
name = "Pan-Galactic Gargle Blaster"
id = "gargleblaster"
- result = "gargleblaster"
+ results = list("gargleblaster" = 5)
required_reagents = list("vodka" = 1, "gin" = 1, "whiskey" = 1, "cognac" = 1, "limejuice" = 1)
- result_amount = 5
/datum/chemical_reaction/brave_bull
name = "Brave Bull"
id = "bravebull"
- result = "bravebull"
+ results = list("bravebull" = 3)
required_reagents = list("tequila" = 2, "kahlua" = 1)
- result_amount = 3
/datum/chemical_reaction/tequila_sunrise
name = "tequila Sunrise"
id = "tequilasunrise"
- result = "tequilasunrise"
+ results = list("tequilasunrise" = 3)
required_reagents = list("tequila" = 2, "orangejuice" = 1)
- result_amount = 3
/datum/chemical_reaction/toxins_special
name = "Toxins Special"
id = "toxinsspecial"
- result = "toxinsspecial"
+ results = list("toxinsspecial" = 5)
required_reagents = list("rum" = 2, "vermouth" = 1, "plasma" = 2)
- result_amount = 5
/datum/chemical_reaction/beepsky_smash
name = "Beepksy Smash"
id = "beepksysmash"
- result = "beepskysmash"
+ results = list("beepskysmash" = 4)
required_reagents = list("limejuice" = 2, "whiskey" = 2, "iron" = 1)
- result_amount = 4
/datum/chemical_reaction/doctor_delight
name = "The Doctor's Delight"
id = "doctordelight"
- result = "doctorsdelight"
+ results = list("doctorsdelight" = 5)
required_reagents = list("limejuice" = 1, "tomatojuice" = 1, "orangejuice" = 1, "cream" = 1, "cryoxadone" = 1)
- result_amount = 5
/datum/chemical_reaction/irish_cream
name = "Irish Cream"
id = "irishcream"
- result = "irishcream"
+ results = list("irishcream" = 3)
required_reagents = list("whiskey" = 2, "cream" = 1)
- result_amount = 3
/datum/chemical_reaction/manly_dorf
name = "The Manly Dorf"
id = "manlydorf"
- result = "manlydorf"
+ results = list("manlydorf" = 3)
required_reagents = list ("beer" = 1, "ale" = 2)
- result_amount = 3
/datum/chemical_reaction/greenbeer
name = "Green Beer"
id = "greenbeer"
- result = "greenbeer"
+ results = list("greenbeer" = 10)
required_reagents = list("greencrayonpowder" = 1, "beer" = 10)
- result_amount = 10
/datum/chemical_reaction/hooch
name = "Hooch"
id = "hooch"
- result = "hooch"
+ results = list("hooch" = 3)
required_reagents = list ("ethanol" = 2, "welding_fuel" = 1)
required_catalysts = list("enzyme" = 1)
- result_amount = 3
/datum/chemical_reaction/irish_coffee
name = "Irish Coffee"
id = "irishcoffee"
- result = "irishcoffee"
+ results = list("irishcoffee" = 2)
required_reagents = list("irishcream" = 1, "coffee" = 1)
- result_amount = 2
/datum/chemical_reaction/b52
name = "B-52"
id = "b52"
- result = "b52"
+ results = list("b52" = 3)
required_reagents = list("irishcream" = 1, "kahlua" = 1, "cognac" = 1)
- result_amount = 3
/datum/chemical_reaction/atomicbomb
name = "Atomic Bomb"
id = "atomicbomb"
- result = "atomicbomb"
+ results = list("atomicbomb" = 10)
required_reagents = list("b52" = 10, "uranium" = 1)
- result_amount = 10
/datum/chemical_reaction/margarita
name = "Margarita"
id = "margarita"
- result = "margarita"
+ results = list("margarita" = 3)
required_reagents = list("tequila" = 2, "limejuice" = 1)
- result_amount = 3
/datum/chemical_reaction/longislandicedtea
name = "Long Island Iced Tea"
id = "longislandicedtea"
- result = "longislandicedtea"
+ results = list("longislandicedtea" = 4)
required_reagents = list("vodka" = 1, "gin" = 1, "tequila" = 1, "cubalibre" = 1)
- result_amount = 4
/datum/chemical_reaction/threemileisland
name = "Three Mile Island Iced Tea"
id = "threemileisland"
- result = "threemileisland"
+ results = list("threemileisland" = 10)
required_reagents = list("longislandicedtea" = 10, "uranium" = 1)
- result_amount = 10
/datum/chemical_reaction/whiskeysoda
name = "Whiskey Soda"
id = "whiskeysoda"
- result = "whiskeysoda"
+ results = list("whiskeysoda" = 3)
required_reagents = list("whiskey" = 2, "sodawater" = 1)
- result_amount = 3
/datum/chemical_reaction/black_russian
name = "Black Russian"
id = "blackrussian"
- result = "blackrussian"
+ results = list("blackrussian" = 5)
required_reagents = list("vodka" = 3, "kahlua" = 2)
- result_amount = 5
/datum/chemical_reaction/manhattan
name = "Manhattan"
id = "manhattan"
- result = "manhattan"
+ results = list("manhattan" = 3)
required_reagents = list("whiskey" = 2, "vermouth" = 1)
- result_amount = 3
/datum/chemical_reaction/manhattan_proj
name = "Manhattan Project"
id = "manhattan_proj"
- result = "manhattan_proj"
+ results = list("manhattan_proj" = 10)
required_reagents = list("manhattan" = 10, "uranium" = 1)
- result_amount = 10
/datum/chemical_reaction/vodka_tonic
name = "Vodka and Tonic"
id = "vodkatonic"
- result = "vodkatonic"
+ results = list("vodkatonic" = 3)
required_reagents = list("vodka" = 2, "tonic" = 1)
- result_amount = 3
/datum/chemical_reaction/gin_fizz
name = "Gin Fizz"
id = "ginfizz"
- result = "ginfizz"
+ results = list("ginfizz" = 4)
required_reagents = list("gin" = 2, "sodawater" = 1, "limejuice" = 1)
- result_amount = 4
/datum/chemical_reaction/bahama_mama
name = "Bahama mama"
id = "bahama_mama"
- result = "bahama_mama"
+ results = list("bahama_mama" = 6)
required_reagents = list("rum" = 2, "orangejuice" = 2, "limejuice" = 1, "ice" = 1)
- result_amount = 6
/datum/chemical_reaction/singulo
name = "Singulo"
id = "singulo"
- result = "singulo"
+ results = list("singulo" = 10)
required_reagents = list("vodka" = 5, "radium" = 1, "wine" = 5)
- result_amount = 10
/datum/chemical_reaction/alliescocktail
name = "Allies Cocktail"
id = "alliescocktail"
- result = "alliescocktail"
+ results = list("alliescocktail" = 2)
required_reagents = list("martini" = 1, "vodka" = 1)
- result_amount = 2
/datum/chemical_reaction/demonsblood
name = "Demons Blood"
id = "demonsblood"
- result = "demonsblood"
+ results = list("demonsblood" = 4)
required_reagents = list("rum" = 1, "spacemountainwind" = 1, "blood" = 1, "dr_gibb" = 1)
- result_amount = 4
/datum/chemical_reaction/booger
name = "Booger"
id = "booger"
- result = "booger"
+ results = list("booger" = 4)
required_reagents = list("cream" = 1, "banana" = 1, "rum" = 1, "watermelonjuice" = 1)
- result_amount = 4
/datum/chemical_reaction/antifreeze
name = "Anti-freeze"
id = "antifreeze"
- result = "antifreeze"
+ results = list("antifreeze" = 4)
required_reagents = list("vodka" = 2, "cream" = 1, "ice" = 1)
- result_amount = 4
/datum/chemical_reaction/barefoot
name = "Barefoot"
id = "barefoot"
- result = "barefoot"
+ results = list("barefoot" = 3)
required_reagents = list("berryjuice" = 1, "cream" = 1, "vermouth" = 1)
- result_amount = 3
////DRINKS THAT REQUIRED IMPROVED SPRITES BELOW:: -Agouri/////
@@ -349,259 +301,223 @@
/datum/chemical_reaction/sbiten
name = "Sbiten"
id = "sbiten"
- result = "sbiten"
+ results = list("sbiten" = 10)
required_reagents = list("vodka" = 10, "capsaicin" = 1)
- result_amount = 10
/datum/chemical_reaction/red_mead
name = "Red Mead"
id = "red_mead"
- result = "red_mead"
+ results = list("red_mead" = 2)
required_reagents = list("blood" = 1, "mead" = 1)
- result_amount = 2
/datum/chemical_reaction/mead
name = "Mead"
id = "mead"
- result = "mead"
+ results = list("mead" = 2)
required_reagents = list("honey" = 2)
required_catalysts = list("enzyme" = 5)
- result_amount = 2
/datum/chemical_reaction/iced_beer
name = "Iced Beer"
id = "iced_beer"
- result = "iced_beer"
+ results = list("iced_beer" = 6)
required_reagents = list("beer" = 5, "ice" = 1)
- result_amount = 6
/datum/chemical_reaction/grog
name = "Grog"
id = "grog"
- result = "grog"
+ results = list("grog" = 2)
required_reagents = list("rum" = 1, "water" = 1)
- result_amount = 2
/datum/chemical_reaction/soy_latte
name = "Soy Latte"
id = "soy_latte"
- result = "soy_latte"
+ results = list("soy_latte" = 2)
required_reagents = list("coffee" = 1, "soymilk" = 1)
- result_amount = 2
/datum/chemical_reaction/cafe_latte
name = "Cafe Latte"
id = "cafe_latte"
- result = "cafe_latte"
+ results = list("cafe_latte" = 2)
required_reagents = list("coffee" = 1, "milk" = 1)
- result_amount = 2
/datum/chemical_reaction/acidspit
name = "Acid Spit"
id = "acidspit"
- result = "acidspit"
+ results = list("acidspit" = 6)
required_reagents = list("sacid" = 1, "wine" = 5)
- result_amount = 6
/datum/chemical_reaction/amasec
name = "Amasec"
id = "amasec"
- result = "amasec"
+ results = list("amasec" = 10)
required_reagents = list("iron" = 1, "wine" = 5, "vodka" = 5)
- result_amount = 10
/datum/chemical_reaction/changelingsting
name = "Changeling Sting"
id = "changelingsting"
- result = "changelingsting"
+ results = list("changelingsting" = 5)
required_reagents = list("screwdrivercocktail" = 1, "limejuice" = 1, "lemonjuice" = 1)
- result_amount = 5
/datum/chemical_reaction/aloe
name = "Aloe"
id = "aloe"
- result = "aloe"
+ results = list("aloe" = 2)
required_reagents = list("irishcream" = 1, "watermelonjuice" = 1)
- result_amount = 2
/datum/chemical_reaction/andalusia
name = "Andalusia"
id = "andalusia"
- result = "andalusia"
+ results = list("andalusia" = 3)
required_reagents = list("rum" = 1, "whiskey" = 1, "lemonjuice" = 1)
- result_amount = 3
/datum/chemical_reaction/neurotoxin
name = "Neurotoxin"
id = "neurotoxin"
- result = "neurotoxin"
+ results = list("neurotoxin" = 2)
required_reagents = list("gargleblaster" = 1, "morphine" = 1)
- result_amount = 2
/datum/chemical_reaction/snowwhite
name = "Snow White"
id = "snowwhite"
- result = "snowwhite"
+ results = list("snowwhite" = 2)
required_reagents = list("beer" = 1, "lemon_lime" = 1)
- result_amount = 2
/datum/chemical_reaction/irishcarbomb
name = "Irish Car Bomb"
id = "irishcarbomb"
- result = "irishcarbomb"
+ results = list("irishcarbomb" = 2)
required_reagents = list("ale" = 1, "irishcream" = 1)
- result_amount = 2
/datum/chemical_reaction/syndicatebomb
name = "Syndicate Bomb"
id = "syndicatebomb"
- result = "syndicatebomb"
+ results = list("syndicatebomb" = 2)
required_reagents = list("beer" = 1, "whiskeycola" = 1)
- result_amount = 2
/datum/chemical_reaction/erikasurprise
name = "Erika Surprise"
id = "erikasurprise"
- result = "erikasurprise"
+ results = list("erikasurprise" = 5)
required_reagents = list("ale" = 1, "limejuice" = 1, "whiskey" = 1, "banana" = 1, "ice" = 1)
- result_amount = 5
/datum/chemical_reaction/devilskiss
name = "Devils Kiss"
id = "devilskiss"
- result = "devilskiss"
+ results = list("devilskiss" = 3)
required_reagents = list("blood" = 1, "kahlua" = 1, "rum" = 1)
- result_amount = 3
/datum/chemical_reaction/hippiesdelight
name = "Hippies Delight"
id = "hippiesdelight"
- result = "hippiesdelight"
+ results = list("hippiesdelight" = 2)
required_reagents = list("mushroomhallucinogen" = 1, "gargleblaster" = 1)
- result_amount = 2
/datum/chemical_reaction/bananahonk
name = "Banana Honk"
id = "bananahonk"
- result = "bananahonk"
+ results = list("bananahonk" = 3)
required_reagents = list("banana" = 1, "cream" = 1, "sugar" = 1)
- result_amount = 3
/datum/chemical_reaction/silencer
name = "Silencer"
id = "silencer"
- result = "silencer"
+ results = list("silencer" = 3)
required_reagents = list("nothing" = 1, "cream" = 1, "sugar" = 1)
- result_amount = 3
/datum/chemical_reaction/driestmartini
name = "Driest Martini"
id = "driestmartini"
- result = "driestmartini"
+ results = list("driestmartini" = 2)
required_reagents = list("nothing" = 1, "gin" = 1)
- result_amount = 2
/datum/chemical_reaction/thirteenloko
name = "Thirteen Loko"
id = "thirteenloko"
- result = "thirteenloko"
+ results = list("thirteenloko" = 3)
required_reagents = list("vodka" = 1, "coffee" = 1, "limejuice" = 1)
- result_amount = 3
/datum/chemical_reaction/chocolatepudding
name = "Chocolate Pudding"
id = "chocolatepudding"
- result = "chocolatepudding"
+ results = list("chocolatepudding" = 20)
required_reagents = list("cocoa" = 5, "milk" = 5, "eggyolk" = 5)
- result_amount = 20
/datum/chemical_reaction/vanillapudding
name = "Vanilla Pudding"
id = "vanillapudding"
- result = "vanillapudding"
+ results = list("vanillapudding" = 20)
required_reagents = list("vanilla" = 5, "milk" = 5, "eggyolk" = 5)
- result_amount = 20
/datum/chemical_reaction/cherryshake
name = "Cherry Shake"
id = "cherryshake"
- result = "cherryshake"
+ results = list("cherryshake" = 3)
required_reagents = list("cherryjelly" = 1, "ice" = 1, "cream" = 1)
- result_amount = 3
/datum/chemical_reaction/bluecherryshake
name = "Blue Cherry Shake"
id = "bluecherryshake"
- result = "bluecherryshake"
+ results = list("bluecherryshake" = 3)
required_reagents = list("bluecherryjelly" = 1, "ice" = 1, "cream" = 1)
- result_amount = 3
/datum/chemical_reaction/drunkenblumpkin
name = "Drunken Blumpkin"
id = "drunkenblumpkin"
- result = "drunkenblumpkin"
+ results = list("drunkenblumpkin" = 4)
required_reagents = list("blumpkinjuice" = 1, "irishcream" = 2, "ice" = 1)
- result_amount = 4
/datum/chemical_reaction/pumpkin_latte
name = "Pumpkin space latte"
id = "pumpkin_latte"
- result = "pumpkin_latte"
+ results = list("pumpkin_latte" = 15)
required_reagents = list("pumpkinjuice" = 5, "coffee" = 5, "cream" = 5)
- result_amount = 15
/datum/chemical_reaction/gibbfloats
name = "Gibb Floats"
id = "gibbfloats"
- result = "gibbfloats"
+ results = list("gibbfloats" = 15)
required_reagents = list("dr_gibb" = 5, "ice" = 5, "cream" = 5)
- result_amount = 15
/datum/chemical_reaction/triple_citrus
name = "triple_citrus"
id = "triple_citrus"
- result = "triple_citrus"
+ results = list("triple_citrus" = 5)
required_reagents = list("lemonjuice" = 1, "limejuice" = 1, "orangejuice" = 1)
- result_amount = 5
/datum/chemical_reaction/grape_soda
name = "grape soda"
id = "grapesoda"
- result = "grape_soda"
+ results = list("grape_soda" = 2)
required_reagents = list("grapejuice" = 1, "sodawater" = 1)
- result_amount = 2
/datum/chemical_reaction/grappa
name = "grappa"
id = "grappa"
- result = "grappa"
+ results = list("grappa" = 10)
required_reagents = list ("wine" = 10)
required_catalysts = list ("enzyme" = 5)
- result_amount = 10
/datum/chemical_reaction/whiskey_sour
name = "Whiskey Sour"
id = "whiskey_sour"
- result = "whiskey_sour"
+ results = list("whiskey_sour" = 3)
required_reagents = list("whiskey" = 1, "lemonjuice" = 1, "sugar" = 1)
- result_amount = 3
mix_message = "The mixture darkens to a rich gold hue."
mix_sound = null
/datum/chemical_reaction/fetching_fizz
name = "Fetching Fizz"
id = "fetching_fizz"
- result = "fetching_fizz"
+ results = list("fetching_fizz" = 3)
required_reagents = list("nuka_cola" = 1, "iron" = 1) //Manufacturable from only the mining station
- result_amount = 3
mix_message = "The mixture slightly vibrates before settling."
/datum/chemical_reaction/hearty_punch
name = "Hearty Punch"
id = "hearty_punch"
- result = "hearty_punch"
+ results = list("hearty_punch" = 1) //Very little, for balance reasons
required_reagents = list("bravebull" = 5, "syndicatebomb" = 5, "absinthe" = 5)
- result_amount = 1 //Very little, for balance reasons
mix_message = "The mixture darkens to a healthy crimson."
mix_sound = null
required_temp = 315 //Piping hot!
@@ -609,15 +525,13 @@
/datum/chemical_reaction/bacchus_blessing
name = "Bacchus' Blessing"
id = "bacchus_blessing"
- result = "bacchus_blessing"
+ results = list("bacchus_blessing" = 4)
required_reagents = list("hooch" = 1, "absinthe" = 1, "manlydorf" = 1, "syndicatebomb" = 1)
- result_amount = 4
mix_message = "The mixture turns to a sickening froth."
/datum/chemical_reaction/arnold_palmer
name = "Arnold Palmer"
id = "arnold_palmer"
- result = "arnold_palmer"
+ results = list("arnold_palmer" = 2)
required_reagents = list("tea" = 1, "lemonjuice" = 1)
- result_amount = 2
mix_message = "The smells of fresh green grass and sand traps waft through the air as the mixture turns a friendly yellow-orange."
diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.dm b/code/modules/food_and_drinks/recipes/food_mixtures.dm
index bfb9dcbaf4e..c8362a14ad7 100644
--- a/code/modules/food_and_drinks/recipes/food_mixtures.dm
+++ b/code/modules/food_and_drinks/recipes/food_mixtures.dm
@@ -6,10 +6,8 @@
/datum/chemical_reaction/tofu
name = "Tofu"
id = "tofu"
- result = null
required_reagents = list("soymilk" = 10)
required_catalysts = list("enzyme" = 5)
- result_amount = 1
mob_react=1
/datum/chemical_reaction/tofu/on_reaction(datum/reagents/holder, created_volume)
@@ -21,9 +19,7 @@
/datum/chemical_reaction/chocolate_bar
name = "Chocolate Bar"
id = "chocolate_bar"
- result = null
required_reagents = list("soymilk" = 2, "cocoa" = 2, "sugar" = 2)
- result_amount = 1
/datum/chemical_reaction/chocolate_bar/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
@@ -35,10 +31,9 @@
/datum/chemical_reaction/chocolate_bar2
name = "Chocolate Bar"
id = "chocolate_bar"
- result = null
required_reagents = list("milk" = 2, "cocoa" = 2, "sugar" = 2)
- result_amount = 1
mob_react = 1
+
/datum/chemical_reaction/chocolate_bar2/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
@@ -48,101 +43,85 @@
/datum/chemical_reaction/hot_coco
name = "Hot Coco"
id = "hot_coco"
- result = "hot_coco"
+ results = list("hot_coco" = 5)
required_reagents = list("water" = 5, "cocoa" = 1)
- result_amount = 5
/datum/chemical_reaction/coffee
name = "Coffee"
id = "coffee"
- result = "coffee"
+ results = list("coffee" = 5)
required_reagents = list("coffeepowder" = 1, "water" = 5)
- result_amount = 5
/datum/chemical_reaction/tea
name = "Tea"
id = "tea"
- result = "tea"
+ results = list("tea" = 5)
required_reagents = list("teapowder" = 1, "water" = 5)
- result_amount = 5
/datum/chemical_reaction/soysauce
name = "Soy Sauce"
id = "soysauce"
- result = "soysauce"
+ results = list("soysauce" = 5)
required_reagents = list("soymilk" = 4, "sacid" = 1)
- result_amount = 5
/datum/chemical_reaction/corn_syrup
name = "corn_syrup"
id = "corn_syrup"
- result = "corn_syrup"
+ results = list("corn_syrup" = 5)
required_reagents = list("corn_starch" = 1, "sacid" = 1)
- result_amount = 5
required_temp = 374
/datum/chemical_reaction/cheesewheel
name = "Cheesewheel"
id = "cheesewheel"
- result = null
required_reagents = list("milk" = 40)
required_catalysts = list("enzyme" = 5)
- result_amount = 1
/datum/chemical_reaction/cheesewheel/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
- new /obj/item/weapon/reagent_containers/food/snacks/store/cheesewheel(location)
- return
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/weapon/reagent_containers/food/snacks/store/cheesewheel(location)
/datum/chemical_reaction/synthmeat
name = "synthmeat"
id = "synthmeat"
- result = null
required_reagents = list("blood" = 5, "cryoxadone" = 1)
- result_amount = 1
mob_react = 1
/datum/chemical_reaction/synthmeat/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
- new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/synthmeat(location)
- return
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/synthmeat(location)
/datum/chemical_reaction/hot_ramen
name = "Hot Ramen"
id = "hot_ramen"
- result = "hot_ramen"
+ results = list("hot_ramen" = 3)
required_reagents = list("water" = 1, "dry_ramen" = 3)
- result_amount = 3
/datum/chemical_reaction/hell_ramen
name = "Hell Ramen"
id = "hell_ramen"
- result = "hell_ramen"
+ results = list("hell_ramen" = 6)
required_reagents = list("capsaicin" = 1, "hot_ramen" = 6)
- result_amount = 6
-
/datum/chemical_reaction/imitationcarpmeat
name = "Imitation Carpmeat"
id = "imitationcarpmeat"
- result = null
required_reagents = list("carpotoxin" = 5)
- result_amount = 1
required_container = /obj/item/weapon/reagent_containers/food/snacks/tofu
mix_message = "The mixture becomes similar to carp meat."
/datum/chemical_reaction/imitationcarpmeat/on_reaction(datum/reagents/holder)
- var/obj/item/weapon/reagent_containers/food/snacks/S = new /obj/item/weapon/reagent_containers/food/snacks/carpmeat/imitation
- S.loc = get_turf(holder.my_atom)
+ var/location = get_turf(holder.my_atom)
+ new /obj/item/weapon/reagent_containers/food/snacks/carpmeat/imitation(location)
if(holder && holder.my_atom)
qdel(holder.my_atom)
/datum/chemical_reaction/dough
name = "Dough"
id = "dough"
- result = null
required_reagents = list("water" = 10, "flour" = 15)
- result_amount = 1
mix_message = "The ingredients form a dough."
/datum/chemical_reaction/dough/on_reaction(datum/reagents/holder, created_volume)
@@ -153,9 +132,7 @@
/datum/chemical_reaction/cakebatter
name = "Cake Batter"
id = "cakebatter"
- result = null
required_reagents = list("eggyolk" = 15, "flour" = 15, "sugar" = 5)
- result_amount = 1
mix_message = "The ingredients form a cake batter."
/datum/chemical_reaction/cakebatter/on_reaction(datum/reagents/holder, created_volume)
@@ -170,14 +147,12 @@
/datum/chemical_reaction/ricebowl
name = "Rice Bowl"
id = "ricebowl"
- result = null
required_reagents = list("rice" = 10, "water" = 10)
- result_amount = 1
required_container = /obj/item/weapon/reagent_containers/glass/bowl
mix_message = "The rice absorbs the water."
/datum/chemical_reaction/ricebowl/on_reaction(datum/reagents/holder)
- var/obj/item/weapon/reagent_containers/food/snacks/S = new /obj/item/weapon/reagent_containers/food/snacks/salad/ricebowl
- S.loc = get_turf(holder.my_atom)
+ var/location = get_turf(holder.my_atom)
+ new /obj/item/weapon/reagent_containers/food/snacks/salad/ricebowl(location)
if(holder && holder.my_atom)
qdel(holder.my_atom)
diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm
index 543bbd95463..62f8a1ceec0 100644
--- a/code/modules/reagents/chemistry/holder.dm
+++ b/code/modules/reagents/chemistry/holder.dm
@@ -344,6 +344,8 @@ var/const/INJECT = 5 //injection
var/matching_other = 0
var/list/multipliers = new/list()
var/required_temp = C.required_temp
+ var/is_cold_recipe = C.is_cold_recipe
+ var/meets_temp_requirement = 0
for(var/B in C.required_reagents)
if(!has_reagent(B, C.required_reagents[B]))
@@ -373,20 +375,18 @@ var/const/INJECT = 5 //injection
if(M.Uses > 0) // added a limit to slime cores -- Muskets requested this
matching_other = 1
- if(required_temp == 0)
- required_temp = chem_temp
+ if(required_temp == 0 || (is_cold_recipe && chem_temp <= required_temp) || (!is_cold_recipe && chem_temp >= required_temp))
+ meets_temp_requirement = 1
-
- if(total_matching_reagents == total_required_reagents && total_matching_catalysts == total_required_catalysts && matching_container && matching_other && chem_temp >= required_temp)
+ if(total_matching_reagents == total_required_reagents && total_matching_catalysts == total_required_catalysts && matching_container && matching_other && meets_temp_requirement)
var/multiplier = min(multipliers)
for(var/B in C.required_reagents)
remove_reagent(B, (multiplier * C.required_reagents[B]), safety = 1)
- var/created_volume = C.result_amount*multiplier
- if(C.result)
- feedback_add_details("chemical_reaction","[C.result]|[C.result_amount*multiplier]")
+ for(var/P in C.results)
+ feedback_add_details("chemical_reaction", "[P]|[C.results[P]*multiplier]")
multiplier = max(multiplier, 1) //this shouldnt happen ...
- add_reagent(C.result, C.result_amount*multiplier, null, chem_temp)
+ add_reagent(P, C.results[P]*multiplier, null, chem_temp)
var/list/seen = viewers(4, get_turf(my_atom))
@@ -405,7 +405,7 @@ var/const/INJECT = 5 //injection
ME2.name = "used slime extract"
ME2.desc = "This extract has been used up."
- C.on_reaction(src, created_volume)
+ C.on_reaction(src, multiplier)
reaction_occured = 1
break
@@ -542,10 +542,10 @@ var/const/INJECT = 5 //injection
add_reagent(r_id, amt, data)
/datum/reagents/proc/remove_reagent(reagent, amount, safety)//Added a safety check for the trans_id_to
-
+
if(isnull(amount))
amount = INFINITY
-
+
if(!isnum(amount))
return 1
diff --git a/code/modules/reagents/chemistry/readme.dm b/code/modules/reagents/chemistry/readme.dm
index b2759dbe7af..93aff6f1466 100644
--- a/code/modules/reagents/chemistry/readme.dm
+++ b/code/modules/reagents/chemistry/readme.dm
@@ -193,8 +193,9 @@ About Recipes:
name & id
Should be pretty obvious.
- result
- This var contains the id of the resulting reagent.
+ results
+ This var contains a list of the id(s) of the resulting reagents and their result amounts.
+ I recommend you set this to the total volume of all required reagent.
required_reagents
This is a list of ids of the required reagents.
@@ -208,10 +209,6 @@ About Recipes:
for the reaction. However, unlike required_reagents, catalysts are NOT consumed.
They mearly have to be present in the container.
- result_amount
- This is the amount of the resulting reagent this recipe will produce.
- I recommend you set this to the total volume of all required reagent.
-
required_container
The container the recipe has to take place in in order to happen. Leave this blank/null
if you want the reaction to happen anywhere.
diff --git a/code/modules/reagents/chemistry/recipes.dm b/code/modules/reagents/chemistry/recipes.dm
index f841370c08b..5943577d59c 100644
--- a/code/modules/reagents/chemistry/recipes.dm
+++ b/code/modules/reagents/chemistry/recipes.dm
@@ -1,7 +1,7 @@
/datum/chemical_reaction
var/name = null
var/id = null
- var/result = null
+ var/list/results = new/list()
var/list/required_reagents = new/list()
var/list/required_catalysts = new/list()
@@ -9,11 +9,11 @@
var/atom/required_container = null // the container required for the reaction to happen
var/required_other = 0 // an integer required for the reaction to happen
- var/result_amount = 0
var/secondary = 0 // set to nonzero if secondary reaction
var/mob_react = 0 //Determines if a chemical reaction can occur inside a mob
var/required_temp = 0
+ var/is_cold_recipe = 0 // Set to 1 if you want the recipe to only react when it's BELOW the required temp.
var/mix_message = "The solution begins to bubble." //The message shown to nearby people upon mixing, if applicable
var/mix_sound = 'sound/effects/bubbles.ogg' //The sound played upon mixing, if applicable
diff --git a/code/modules/reagents/chemistry/recipes/drugs.dm b/code/modules/reagents/chemistry/recipes/drugs.dm
index 5d2c6cf3bc7..f9d9b24ac54 100644
--- a/code/modules/reagents/chemistry/recipes/drugs.dm
+++ b/code/modules/reagents/chemistry/recipes/drugs.dm
@@ -1,16 +1,14 @@
/datum/chemical_reaction/space_drugs
name = "Space Drugs"
id = "space_drugs"
- result = "space_drugs"
+ results = list("space_drugs" = 3)
required_reagents = list("mercury" = 1, "sugar" = 1, "lithium" = 1)
- result_amount = 3
/datum/chemical_reaction/crank
name = "Crank"
id = "crank"
- result = "crank"
+ results = list("crank" = 5)
required_reagents = list("diphenhydramine" = 1, "ammonia" = 1, "lithium" = 1, "sacid" = 1, "welding_fuel" = 1)
- result_amount = 5
mix_message = "The mixture violently reacts, leaving behind a few crystalline shards."
required_temp = 390
@@ -18,31 +16,27 @@
/datum/chemical_reaction/krokodil
name = "Krokodil"
id = "krokodil"
- result = "krokodil"
+ results = list("krokodil" = 6)
required_reagents = list("diphenhydramine" = 1, "morphine" = 1, "cleaner" = 1, "potassium" = 1, "phosphorus" = 1, "welding_fuel" = 1)
- result_amount = 6
mix_message = "The mixture dries into a pale blue powder."
required_temp = 380
/datum/chemical_reaction/methamphetamine
name = "methamphetamine"
id = "methamphetamine"
- result = "methamphetamine"
+ results = list("methamphetamine" = 4)
required_reagents = list("ephedrine" = 1, "iodine" = 1, "phosphorus" = 1, "hydrogen" = 1)
- result_amount = 4
required_temp = 374
/datum/chemical_reaction/bath_salts
name = "bath_salts"
id = "bath_salts"
- result = "bath_salts"
+ results = list("bath_salts" = 7)
required_reagents = list("????" = 1, "saltpetre" = 1, "nutriment" = 1, "cleaner" = 1, "enzyme" = 1, "tea" = 1, "mercury" = 1)
- result_amount = 7
required_temp = 374
/datum/chemical_reaction/aranesp
name = "aranesp"
id = "aranesp"
- result = "aranesp"
+ results = list("aranesp" = 3)
required_reagents = list("epinephrine" = 1, "atropine" = 1, "morphine" = 1)
- result_amount = 3
diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm
index 184e3fd0359..e446ab9736b 100644
--- a/code/modules/reagents/chemistry/recipes/medicine.dm
+++ b/code/modules/reagents/chemistry/recipes/medicine.dm
@@ -2,249 +2,214 @@
/datum/chemical_reaction/leporazine
name = "Leporazine"
id = "leporazine"
- result = "leporazine"
+ results = list("leporazine" = 2)
required_reagents = list("silicon" = 1, "copper" = 1)
required_catalysts = list("plasma" = 5)
- result_amount = 2
/datum/chemical_reaction/rezadone
name = "Rezadone"
id = "rezadone"
- result = "rezadone"
+ results = list("rezadone" = 3)
required_reagents = list("carpotoxin" = 1, "cryptobiolin" = 1, "copper" = 1)
- result_amount = 3
/datum/chemical_reaction/spaceacillin
name = "Spaceacillin"
id = "spaceacillin"
- result = "spaceacillin"
+ results = list("spaceacillin" = 2)
required_reagents = list("cryptobiolin" = 1, "epinephrine" = 1)
- result_amount = 2
/datum/chemical_reaction/inacusiate
name = "inacusiate"
id = "inacusiate"
- result = "inacusiate"
+ results = list("inacusiate" = 2)
required_reagents = list("water" = 1, "carbon" = 1, "charcoal" = 1)
- result_amount = 2
/datum/chemical_reaction/synaptizine
name = "Synaptizine"
id = "synaptizine"
- result = "synaptizine"
+ results = list("synaptizine" = 3)
required_reagents = list("sugar" = 1, "lithium" = 1, "water" = 1)
- result_amount = 3
/datum/chemical_reaction/charcoal
name = "Charcoal"
id = "charcoal"
- result = "charcoal"
+ results = list("charcoal" = 2)
required_reagents = list("ash" = 1, "sodiumchloride" = 1)
- result_amount = 2
mix_message = "The mixture yields a fine black powder."
required_temp = 380
/datum/chemical_reaction/silver_sulfadiazine
name = "Silver Sulfadiazine"
id = "silver_sulfadiazine"
- result = "silver_sulfadiazine"
+ results = list("silver_sulfadiazine" = 5)
required_reagents = list("ammonia" = 1, "silver" = 1, "sulfur" = 1, "oxygen" = 1, "chlorine" = 1)
- result_amount = 5
/datum/chemical_reaction/salglu_solution
name = "Saline-Glucose Solution"
id = "salglu_solution"
- result = "salglu_solution"
+ results = list("salglu_solution" = 3)
required_reagents = list("sodiumchloride" = 1, "water" = 1, "sugar" = 1)
- result_amount = 3
/datum/chemical_reaction/mine_salve
name = "Miner's Salve"
id = "mine_salve"
- result = "mine_salve"
+ results = list("mine_salve" = 3)
required_reagents = list("oil" = 1, "water" = 1, "iron" = 1)
- result_amount = 3
/datum/chemical_reaction/mine_salve2
name = "Miner's Salve"
id = "mine_salve"
- result = "mine_salve"
+ results = list("mine_salve" = 15)
required_reagents = list("plasma" = 5, "iron" = 5, "sugar" = 1) // A sheet of plasma, a twinkie and a sheet of metal makes four of these
- result_amount = 15
/datum/chemical_reaction/synthflesh
name = "Synthflesh"
id = "synthflesh"
- result = "synthflesh"
+ results = list("synthflesh" = 3)
required_reagents = list("blood" = 1, "carbon" = 1, "styptic_powder" = 1)
- result_amount = 3
/datum/chemical_reaction/styptic_powder
name = "Styptic Powder"
id = "styptic_powder"
- result = "styptic_powder"
+ results = list("styptic_powder" = 4)
required_reagents = list("aluminium" = 1, "hydrogen" = 1, "oxygen" = 1, "sacid" = 1)
- result_amount = 4
mix_message = "The solution yields an astringent powder."
/datum/chemical_reaction/calomel
name = "Calomel"
id = "calomel"
- result = "calomel"
+ results = list("calomel" = 2)
required_reagents = list("mercury" = 1, "chlorine" = 1)
- result_amount = 2
required_temp = 374
/datum/chemical_reaction/potass_iodide
name = "Potassium Iodide"
id = "potass_iodide"
- result = "potass_iodide"
+ results = list("potass_iodide" = 2)
required_reagents = list("potassium" = 1, "iodine" = 1)
- result_amount = 2
/datum/chemical_reaction/pen_acid
name = "Pentetic Acid"
id = "pen_acid"
- result = "pen_acid"
+ results = list("pen_acid" = 6)
required_reagents = list("welding_fuel" = 1, "chlorine" = 1, "ammonia" = 1, "formaldehyde" = 1, "sodium" = 1, "cyanide" = 1)
- result_amount = 6
/datum/chemical_reaction/sal_acid
name = "Salicyclic Acid"
id = "sal_acid"
- result = "sal_acid"
+ results = list("sal_acid" = 5)
required_reagents = list("sodium" = 1, "phenol" = 1, "carbon" = 1, "oxygen" = 1, "sacid" = 1)
- result_amount = 5
/datum/chemical_reaction/oxandrolone
name = "Oxandrolone"
id = "oxandrolone"
- result = "oxandrolone"
+ results = list("oxandrolone" = 6)
required_reagents = list("carbon" = 3, "phenol" = 1, "hydrogen" = 1, "oxygen" = 1)
- result_amount = 6
/datum/chemical_reaction/salbutamol
name = "Salbutamol"
id = "salbutamol"
- result = "salbutamol"
+ results = list("salbutamol" = 5)
required_reagents = list("sal_acid" = 1, "lithium" = 1, "aluminium" = 1, "bromine" = 1, "ammonia" = 1)
- result_amount = 5
/datum/chemical_reaction/perfluorodecalin
name = "Perfluorodecalin"
id = "perfluorodecalin"
- result = "perfluorodecalin"
+ results = list("perfluorodecalin" = 3)
required_reagents = list("hydrogen" = 1, "fluorine" = 1, "oil" = 1)
- result_amount = 3
required_temp = 370
mix_message = "The mixture rapidly turns into a dense pink liquid."
/datum/chemical_reaction/ephedrine
name = "Ephedrine"
id = "ephedrine"
- result = "ephedrine"
+ results = list("ephedrine" = 4)
required_reagents = list("sugar" = 1, "oil" = 1, "hydrogen" = 1, "diethylamine" = 1)
- result_amount = 4
mix_message = "The solution fizzes and gives off toxic fumes."
/datum/chemical_reaction/diphenhydramine
name = "Diphenhydramine"
id = "diphenhydramine"
- result = "diphenhydramine"
+ results = list("diphenhydramine" = 4)
required_reagents = list("oil" = 1, "carbon" = 1, "bromine" = 1, "diethylamine" = 1, "ethanol" = 1)
- result_amount = 4
mix_message = "The mixture dries into a pale blue powder."
/datum/chemical_reaction/oculine
name = "Oculine"
id = "oculine"
- result = "oculine"
+ results = list("oculine" = 3)
required_reagents = list("charcoal" = 1, "carbon" = 1, "hydrogen" = 1)
- result_amount = 3
mix_message = "The mixture sputters loudly and becomes a pale pink color."
/datum/chemical_reaction/atropine
name = "Atropine"
id = "atropine"
- result = "atropine"
+ results = list("atropine" = 5)
required_reagents = list("ethanol" = 1, "acetone" = 1, "diethylamine" = 1, "phenol" = 1, "sacid" = 1)
- result_amount = 5
/datum/chemical_reaction/epinephrine
name = "Epinephrine"
id = "epinephrine"
- result = "epinephrine"
+ results = list("epinephrine" = 6)
required_reagents = list("phenol" = 1, "acetone" = 1, "diethylamine" = 1, "oxygen" = 1, "chlorine" = 1, "hydrogen" = 1)
- result_amount = 6
/datum/chemical_reaction/strange_reagent
name = "Strange Reagent"
id = "strange_reagent"
- result = "strange_reagent"
+ results = list("strange_reagent" = 3)
required_reagents = list("omnizine" = 1, "holywater" = 1, "mutagen" = 1)
- result_amount = 3
/datum/chemical_reaction/mannitol
name = "Mannitol"
id = "mannitol"
- result = "mannitol"
+ results = list("mannitol" = 3)
required_reagents = list("sugar" = 1, "hydrogen" = 1, "water" = 1)
- result_amount = 3
mix_message = "The solution slightly bubbles, becoming thicker."
/datum/chemical_reaction/mutadone
name = "Mutadone"
id = "mutadone"
- result = "mutadone"
+ results = list("mutadone" = 3)
required_reagents = list("mutagen" = 1, "acetone" = 1, "bromine" = 1)
- result_amount = 3
/datum/chemical_reaction/antihol
name = "antihol"
id = "antihol"
- result = "antihol"
+ results = list("antihol" = 3)
required_reagents = list("ethanol" = 1, "charcoal" = 1, "copper" = 1)
- result_amount = 3
/datum/chemical_reaction/cryoxadone
name = "Cryoxadone"
id = "cryoxadone"
- result = "cryoxadone"
+ results = list("cryoxadone" = 3)
required_reagents = list("stable_plasma" = 1, "acetone" = 1, "mutagen" = 1)
- result_amount = 3
/datum/chemical_reaction/haloperidol
name = "Haloperidol"
id = "haloperidol"
- result = "haloperidol"
+ results = list("haloperidol" = 5)
required_reagents = list("chlorine" = 1, "fluorine" = 1, "aluminium" = 1, "potass_iodide" = 1, "oil" = 1)
- result_amount = 5
/datum/chemical_reaction/bicaridine
name = "Bicaridine"
id = "bicaridine"
- result = "bicaridine"
+ results = list("bicaridine" = 3)
required_reagents = list("carbon" = 1, "oxygen" = 1, "sugar" = 1)
- result_amount = 3
/datum/chemical_reaction/kelotane
name = "Kelotane"
id = "kelotane"
- result = "kelotane"
+ results = list("kelotane" = 2)
required_reagents = list("carbon" = 1, "silicon" = 1)
- result_amount = 2
-
/datum/chemical_reaction/antitoxin
name = "Antitoxin"
id = "antitoxin"
- result = "antitoxin"
+ results = list("antitoxin" = 3)
required_reagents = list("nitrogen" = 1, "silicon" = 1, "potassium" = 1)
- result_amount = 3
/datum/chemical_reaction/tricordrazine
name = "Tricordrazine"
id = "tricordrazine"
- result = "tricordrazine"
- required_reagents = list("bicaridine" = 1, "kelotane" = 1, "antitoxin" = 1)
- result_amount = 3
\ No newline at end of file
+ results = list("tricordrazine" = 3)
+ required_reagents = list("bicaridine" = 1, "kelotane" = 1, "antitoxin" = 1)
\ No newline at end of file
diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm
index 9aabf7b8aae..ee027a5d23b 100644
--- a/code/modules/reagents/chemistry/recipes/others.dm
+++ b/code/modules/reagents/chemistry/recipes/others.dm
@@ -2,211 +2,183 @@
/datum/chemical_reaction/sterilizine
name = "Sterilizine"
id = "sterilizine"
- result = "sterilizine"
+ results = list("sterilizine" = 3)
required_reagents = list("ethanol" = 1, "charcoal" = 1, "chlorine" = 1)
- result_amount = 3
/datum/chemical_reaction/lube
name = "Space Lube"
id = "lube"
- result = "lube"
+ results = list("lube" = 4)
required_reagents = list("water" = 1, "silicon" = 1, "oxygen" = 1)
- result_amount = 4
/datum/chemical_reaction/spraytan
name = "Spray Tan"
id = "spraytan"
- result = "spraytan"
+ results = list("spraytan" = 2)
required_reagents = list("orangejuice" = 1, "oil" = 1)
- result_amount = 2
/datum/chemical_reaction/spraytan2
name = "Spray Tan"
id = "spraytan"
- result = "spraytan"
+ results = list("spraytan" = 2)
required_reagents = list("orangejuice" = 1, "cornoil" = 1)
- result_amount = 2
/datum/chemical_reaction/impedrezene
name = "Impedrezene"
id = "impedrezene"
- result = "impedrezene"
+ results = list("impedrezene" = 2)
required_reagents = list("mercury" = 1, "oxygen" = 1, "sugar" = 1)
- result_amount = 2
/datum/chemical_reaction/cryptobiolin
name = "Cryptobiolin"
id = "cryptobiolin"
- result = "cryptobiolin"
+ results = list("cryptobiolin" = 3)
required_reagents = list("potassium" = 1, "oxygen" = 1, "sugar" = 1)
- result_amount = 3
/datum/chemical_reaction/glycerol
name = "Glycerol"
id = "glycerol"
- result = "glycerol"
+ results = list("glycerol" = 1)
required_reagents = list("cornoil" = 3, "sacid" = 1)
- result_amount = 1
/datum/chemical_reaction/sodiumchloride
name = "Sodium Chloride"
id = "sodiumchloride"
- result = "sodiumchloride"
+ results = list("sodiumchloride" = 3)
required_reagents = list("water" = 1, "sodium" = 1, "chlorine" = 1)
- result_amount = 3
/datum/chemical_reaction/plasmasolidification
name = "Solid Plasma"
id = "solidplasma"
- result = null
required_reagents = list("iron" = 5, "frostoil" = 5, "plasma" = 20)
- result_amount = 1
mob_react = 1
/datum/chemical_reaction/plasmasolidification/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
- new /obj/item/stack/sheet/mineral/plasma(location)
- return
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/stack/sheet/mineral/plasma(location)
/datum/chemical_reaction/capsaicincondensation
name = "Capsaicincondensation"
id = "capsaicincondensation"
- result = "condensedcapsaicin"
+ results = list("condensedcapsaicin" = 5)
required_reagents = list("capsaicin" = 1, "ethanol" = 5)
- result_amount = 5
/datum/chemical_reaction/soapification
name = "Soapification"
id = "soapification"
- result = null
required_reagents = list("liquidgibs" = 10, "lye" = 10) // requires two scooped gib tiles
required_temp = 374
- result_amount = 1
mob_react = 1
/datum/chemical_reaction/soapification/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
- new /obj/item/weapon/soap/homemade(location)
- return
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/weapon/soap/homemade(location)
/datum/chemical_reaction/candlefication
name = "Candlefication"
id = "candlefication"
- result = null
required_reagents = list("liquidgibs" = 5, "oxygen" = 5) //
required_temp = 374
- result_amount = 1
mob_react = 1
/datum/chemical_reaction/candlefication/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
- new /obj/item/candle(location)
- return
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/candle(location)
/datum/chemical_reaction/meatification
name = "Meatification"
id = "meatification"
- result = null
required_reagents = list("liquidgibs" = 10, "nutriment" = 10, "carbon" = 10)
- result_amount = 1
mob_react = 1
/datum/chemical_reaction/meatification/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
- new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/meatproduct(location)
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/meatproduct(location)
return
/datum/chemical_reaction/carbondioxide
name = "Direct Carbon Oxidation"
id = "burningcarbon"
- result = "co2"
+ results = list("co2" = 3)
required_reagents = list("carbon" = 1, "oxygen" = 2)
required_temp = 777 // pure carbon isn't especially reactive.
- result_amount = 3
////////////////////////////////// VIROLOGY //////////////////////////////////////////
/datum/chemical_reaction/virus_food
name = "Virus Food"
id = "virusfood"
- result = "virusfood"
+ results = list("virusfood" = 15)
required_reagents = list("water" = 5, "milk" = 5)
- result_amount = 15
/datum/chemical_reaction/virus_food_mutagen
name = "mutagenic agar"
id = "mutagenvirusfood"
- result = "mutagenvirusfood"
+ results = list("mutagenvirusfood" = 1)
required_reagents = list("mutagen" = 1, "virusfood" = 1)
- result_amount = 1
/datum/chemical_reaction/virus_food_synaptizine
name = "virus rations"
id = "synaptizinevirusfood"
- result = "synaptizinevirusfood"
+ results = list("synaptizinevirusfood" = 1)
required_reagents = list("synaptizine" = 1, "virusfood" = 1)
- result_amount = 1
/datum/chemical_reaction/virus_food_plasma
name = "virus plasma"
id = "plasmavirusfood"
- result = "plasmavirusfood"
+ results = list("plasmavirusfood" = 1)
required_reagents = list("plasma" = 1, "virusfood" = 1)
- result_amount = 1
/datum/chemical_reaction/virus_food_plasma_synaptizine
name = "weakened virus plasma"
id = "weakplasmavirusfood"
- result = "weakplasmavirusfood"
+ results = list("weakplasmavirusfood" = 2)
required_reagents = list("synaptizine" = 1, "plasmavirusfood" = 1)
- result_amount = 2
/datum/chemical_reaction/virus_food_mutagen_sugar
name = "sucrose agar"
id = "sugarvirusfood"
- result = "sugarvirusfood"
+ results = list("sugarvirusfood" = 2)
required_reagents = list("sugar" = 1, "mutagenvirusfood" = 1)
- result_amount = 2
/datum/chemical_reaction/virus_food_mutagen_salineglucose
name = "sucrose agar"
id = "salineglucosevirusfood"
- result = "sugarvirusfood"
+ results = list("sugarvirusfood" = 2)
required_reagents = list("salglu_solution" = 1, "mutagenvirusfood" = 1)
- result_amount = 2
/datum/chemical_reaction/virus_food_uranium
name = "Decaying uranium gel"
id = "uraniumvirusfood"
- result = "uraniumvirusfood"
+ results = list("uraniumvirusfood" = 1)
required_reagents = list("uranium" = 1, "virusfood" = 1)
- result_amount = 1
/datum/chemical_reaction/virus_food_uranium_plasma
name = "Unstable uranium gel"
id = "uraniumvirusfood_plasma"
- result = "uraniumplasmavirusfood_unstable"
+ results = list("uraniumplasmavirusfood_unstable" = 1)
required_reagents = list("uranium" = 5, "plasmavirusfood" = 1)
- result_amount = 1
/datum/chemical_reaction/virus_food_uranium_plasma_gold
name = "Stable uranium gel"
id = "uraniumvirusfood_gold"
- result = "uraniumplasmavirusfood_stable"
+ results = list("uraniumplasmavirusfood_stable" = 1)
required_reagents = list("uranium" = 10, "gold" = 10, "plasma" = 1)
- result_amount = 1
/datum/chemical_reaction/virus_food_uranium_plasma_silver
name = "Stable uranium gel"
id = "uraniumvirusfood_silver"
- result = "uraniumplasmavirusfood_stable"
+ results = list("uraniumplasmavirusfood_stable" = 1)
required_reagents = list("uranium" = 10, "silver" = 10, "plasma" = 1)
- result_amount = 1
/datum/chemical_reaction/mix_virus
name = "Mix Virus"
id = "mixvirus"
- result = "blood"
+ results = list("blood" = 1)
required_reagents = list("virusfood" = 1)
required_catalysts = list("blood" = 1)
var/level_min = 0
@@ -332,17 +304,13 @@
/datum/chemical_reaction/surfactant
name = "Foam surfactant"
id = "foam surfactant"
- result = "fluorosurfactant"
+ results = list("fluorosurfactant" = 5)
required_reagents = list("fluorine" = 2, "carbon" = 2, "sacid" = 1)
- result_amount = 5
-
/datum/chemical_reaction/foam
name = "Foam"
id = "foam"
- result = null
required_reagents = list("fluorosurfactant" = 1, "water" = 1)
- result_amount = 2
mob_react = 1
/datum/chemical_reaction/foam/on_reaction(datum/reagents/holder, created_volume)
@@ -350,7 +318,7 @@
for(var/mob/M in viewers(5, location))
M << "The solution spews out foam!"
var/datum/effect_system/foam_spread/s = new()
- s.set_up(created_volume, location, holder)
+ s.set_up(created_volume*2, location, holder)
s.start()
holder.clear_reagents()
return
@@ -359,9 +327,7 @@
/datum/chemical_reaction/metalfoam
name = "Metal Foam"
id = "metalfoam"
- result = null
required_reagents = list("aluminium" = 3, "foaming_agent" = 1, "facid" = 1)
- result_amount = 5
mob_react = 1
/datum/chemical_reaction/metalfoam/on_reaction(datum/reagents/holder, created_volume)
@@ -371,16 +337,14 @@
M << "The solution spews out a metallic foam!"
var/datum/effect_system/foam_spread/metal/s = new()
- s.set_up(created_volume, location, holder, 1)
+ s.set_up(created_volume*5, location, holder, 1)
s.start()
holder.clear_reagents()
/datum/chemical_reaction/ironfoam
name = "Iron Foam"
id = "ironlfoam"
- result = null
required_reagents = list("iron" = 3, "foaming_agent" = 1, "facid" = 1)
- result_amount = 5
mob_react = 1
/datum/chemical_reaction/ironfoam/on_reaction(datum/reagents/holder, created_volume)
@@ -388,16 +352,15 @@
for(var/mob/M in viewers(5, location))
M << "The solution spews out a metallic foam!"
var/datum/effect_system/foam_spread/metal/s = new()
- s.set_up(created_volume, location, holder, 2)
+ s.set_up(created_volume*5, location, holder, 2)
s.start()
holder.clear_reagents()
/datum/chemical_reaction/foaming_agent
name = "Foaming Agent"
id = "foaming_agent"
- result = "foaming_agent"
+ results = list("foaming_agent" = 1)
required_reagents = list("lithium" = 1, "hydrogen" = 1)
- result_amount = 1
/////////////////////////////// Cleaning and hydroponics /////////////////////////////////////////////////
@@ -405,174 +368,149 @@
/datum/chemical_reaction/ammonia
name = "Ammonia"
id = "ammonia"
- result = "ammonia"
+ results = list("ammonia" = 3)
required_reagents = list("hydrogen" = 3, "nitrogen" = 1)
- result_amount = 3
/datum/chemical_reaction/diethylamine
name = "Diethylamine"
id = "diethylamine"
- result = "diethylamine"
+ results = list("diethylamine" = 2)
required_reagents = list ("ammonia" = 1, "ethanol" = 1)
- result_amount = 2
/datum/chemical_reaction/space_cleaner
name = "Space cleaner"
id = "cleaner"
- result = "cleaner"
+ results = list("cleaner" = 2)
required_reagents = list("ammonia" = 1, "water" = 1)
- result_amount = 2
/datum/chemical_reaction/plantbgone
name = "Plant-B-Gone"
id = "plantbgone"
- result = "plantbgone"
+ results = list("plantbgone" = 5)
required_reagents = list("toxin" = 1, "water" = 4)
- result_amount = 5
/datum/chemical_reaction/weedkiller
name = "Weed Killer"
id = "weedkiller"
- result = "weedkiller"
+ results = list("weedkiller" = 5)
required_reagents = list("toxin" = 1, "ammonia" = 4)
- result_amount = 5
/datum/chemical_reaction/pestkiller
name = "Pest Killer"
id = "pestkiller"
- result = "pestkiller"
+ results = list("pestkiller" = 5)
required_reagents = list("toxin" = 1, "ethanol" = 4)
- result_amount = 5
/datum/chemical_reaction/drying_agent
name = "Drying agent"
id = "drying_agent"
- result = "drying_agent"
+ results = list("drying_agent" = 3)
required_reagents = list("stable_plasma" = 2, "ethanol" = 1, "sodium" = 1)
- result_amount = 3
//////////////////////////////////// Other goon stuff ///////////////////////////////////////////
/datum/chemical_reaction/acetone
name = "acetone"
id = "acetone"
- result = "acetone"
+ results = list("acetone" = 3)
required_reagents = list("oil" = 1, "welding_fuel" = 1, "oxygen" = 1)
- result_amount = 3
/datum/chemical_reaction/carpet
name = "carpet"
id = "carpet"
- result = "carpet"
+ results = list("carpet" = 2)
required_reagents = list("space_drugs" = 1, "blood" = 1)
- result_amount = 2
-
/datum/chemical_reaction/oil
name = "Oil"
id = "oil"
- result = "oil"
+ results = list("oil" = 3)
required_reagents = list("welding_fuel" = 1, "carbon" = 1, "hydrogen" = 1)
- result_amount = 3
/datum/chemical_reaction/phenol
name = "phenol"
id = "phenol"
- result = "phenol"
+ results = list("phenol" = 3)
required_reagents = list("water" = 1, "chlorine" = 1, "oil" = 1)
- result_amount = 3
/datum/chemical_reaction/ash
name = "Ash"
id = "ash"
- result = "ash"
+ results = list("ash" = 1)
required_reagents = list("oil" = 1)
- result_amount = 1
required_temp = 480
/datum/chemical_reaction/colorful_reagent
name = "colorful_reagent"
id = "colorful_reagent"
- result = "colorful_reagent"
+ results = list("colorful_reagent" = 5)
required_reagents = list("stable_plasma" = 1, "radium" = 1, "space_drugs" = 1, "cryoxadone" = 1, "triple_citrus" = 1)
- result_amount = 5
/datum/chemical_reaction/life
name = "Life"
id = "life"
- result = null
required_reagents = list("strange_reagent" = 1, "synthflesh" = 1, "blood" = 1)
- result_amount = 1
required_temp = 374
/datum/chemical_reaction/life/on_reaction(datum/reagents/holder, created_volume)
- chemical_mob_spawn(holder, 1, "Life")
+ chemical_mob_spawn(holder, rand(1, round(created_volume, 1)), "Life") // Lol.
/datum/chemical_reaction/corgium
name = "corgium"
id = "corgium"
- result = null
required_reagents = list("nutriment" = 1, "colorful_reagent" = 1, "strange_reagent" = 1, "blood" = 1)
- result_amount = 1
required_temp = 374
/datum/chemical_reaction/corgium/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
- new /mob/living/simple_animal/pet/dog/corgi(location)
+ for(var/i = rand(1, created_volume), i <= created_volume, i++) // More lulz.
+ new /mob/living/simple_animal/pet/dog/corgi(location)
..()
/datum/chemical_reaction/hair_dye
name = "hair_dye"
id = "hair_dye"
- result = "hair_dye"
+ results = list("hair_dye" = 5)
required_reagents = list("colorful_reagent" = 1, "radium" = 1, "space_drugs" = 1)
- result_amount = 5
/datum/chemical_reaction/barbers_aid
name = "barbers_aid"
id = "barbers_aid"
- result = "barbers_aid"
+ results = list("barbers_aid" = 5)
required_reagents = list("carpet" = 1, "radium" = 1, "space_drugs" = 1)
- result_amount = 5
/datum/chemical_reaction/concentrated_barbers_aid
name = "concentrated_barbers_aid"
id = "concentrated_barbers_aid"
- result = "concentrated_barbers_aid"
+ results = list("concentrated_barbers_aid" = 2)
required_reagents = list("barbers_aid" = 1, "mutagen" = 1)
- result_amount = 2
/datum/chemical_reaction/saltpetre
name = "saltpetre"
id = "saltpetre"
- result = "saltpetre"
+ results = list("saltpetre" = 3)
required_reagents = list("potassium" = 1, "nitrogen" = 1, "oxygen" = 3)
- result_amount = 3
/datum/chemical_reaction/lye
name = "lye"
id = "lye"
- result = "lye"
+ results = list("lye" = 3)
required_reagents = list("sodium" = 1, "hydrogen" = 1, "oxygen" = 1)
- result_amount = 3
/datum/chemical_reaction/lye2
name = "lye"
id = "lye"
- result = "lye"
+ results = list("lye" = 2)
required_reagents = list("ash" = 1, "water" = 1)
- result_amount = 2
/datum/chemical_reaction/royal_bee_jelly
name = "royal bee jelly"
id = "royal_bee_jelly"
- result = "royal_bee_jelly"
+ results = list("royal_bee_jelly" = 5)
required_reagents = list("mutagen" = 10, "honey" = 40)
- result_amount = 5
/datum/chemical_reaction/laughter
name = "laughter"
id = "laughter"
- result = "laughter"
+ results = list("laughter" = 10) // Fuck it. I'm not touching this one.
required_reagents = list("sugar" = 1, "banana" = 1)
- result_amount = 10
diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
index af70d5ddb6a..38e316be26b 100644
--- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
+++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
@@ -1,7 +1,6 @@
/datum/chemical_reaction/reagent_explosion
name = "Generic explosive"
id = "reagent_explosion"
- result = null
var/strengthdiv = 10
var/modifier = 0
@@ -27,22 +26,20 @@
/datum/chemical_reaction/reagent_explosion/nitroglycerin
name = "Nitroglycerin"
id = "nitroglycerin"
- result = "nitroglycerin"
+ results = list("nitroglycerin" = 2)
required_reagents = list("glycerol" = 1, "facid" = 1, "sacid" = 1)
- result_amount = 2
strengthdiv = 2
/datum/chemical_reaction/reagent_explosion/nitroglycerin/on_reaction(datum/reagents/holder, created_volume)
if(holder.has_reagent("stabilizing_agent"))
return
- holder.remove_reagent("nitroglycerin", created_volume)
+ holder.remove_reagent("nitroglycerin", created_volume*2)
..()
/datum/chemical_reaction/reagent_explosion/nitroglycerin_explosion
name = "Nitroglycerin explosion"
id = "nitroglycerin_explosion"
required_reagents = list("nitroglycerin" = 1)
- result_amount = 1
required_temp = 474
strengthdiv = 2
@@ -51,7 +48,6 @@
name = "Explosion"
id = "potassium_explosion"
required_reagents = list("water" = 1, "potassium" = 1)
- result_amount = 2
strengthdiv = 10
/datum/chemical_reaction/reagent_explosion/potassium_explosion/holyboom
@@ -84,15 +80,13 @@
/datum/chemical_reaction/blackpowder
name = "Black Powder"
id = "blackpowder"
- result = "blackpowder"
+ results = list("blackpowder" = 3)
required_reagents = list("saltpetre" = 1, "charcoal" = 1, "sulfur" = 1)
- result_amount = 3
/datum/chemical_reaction/reagent_explosion/blackpowder_explosion
name = "Black Powder Kaboom"
id = "blackpowder_explosion"
required_reagents = list("blackpowder" = 1)
- result_amount = 1
required_temp = 474
strengthdiv = 6
modifier = 1
@@ -105,38 +99,32 @@
/datum/chemical_reaction/thermite
name = "Thermite"
id = "thermite"
- result = "thermite"
+ results = list("thermite" = 3)
required_reagents = list("aluminium" = 1, "iron" = 1, "oxygen" = 1)
- result_amount = 3
/datum/chemical_reaction/emp_pulse
name = "EMP Pulse"
id = "emp_pulse"
- result = null
required_reagents = list("uranium" = 1, "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(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
// 100 created volume = 4 heavy range & 7 light range. A few tiles smaller than traitor EMP grandes.
// 200 created volume = 8 heavy range & 14 light range. 4 tiles larger than traitor EMP grenades.
- empulse(location, round(created_volume / 24), round(created_volume / 14), 1)
+ empulse(location, round(created_volume / 12), round(created_volume / 7), 1)
holder.clear_reagents()
/datum/chemical_reaction/stabilizing_agent
name = "stabilizing_agent"
id = "stabilizing_agent"
- result = "stabilizing_agent"
+ results = list("stabilizing_agent" = 3)
required_reagents = list("iron" = 1, "oxygen" = 1, "hydrogen" = 1)
- result_amount = 3
-
/datum/chemical_reaction/clf3
name = "Chlorine Trifluoride"
id = "clf3"
- result = "clf3"
+ results = list("clf3" = 4)
required_reagents = list("chlorine" = 1, "fluorine" = 3)
- result_amount = 4
required_temp = 424
/datum/chemical_reaction/clf3/on_reaction(datum/reagents/holder, created_volume)
@@ -145,12 +133,10 @@
PoolOrNew(/obj/effect/hotspot, turf)
holder.chem_temp = 1000 // hot as shit
-
/datum/chemical_reaction/reagent_explosion/methsplosion/
name = "Meth explosion"
id = "methboom1"
- result = "methboom1"
- result_amount = 1
+ results = list("methboom1" = 1)
required_temp = 380 //slightly above the meth mix time.
required_reagents = list("methamphetamine" = 1)
strengthdiv = 6
@@ -166,28 +152,25 @@
/datum/chemical_reaction/reagent_explosion/methsplosion/methboom2
required_reagents = list("diethylamine" = 1, "iodine" = 1, "phosphorus" = 1, "hydrogen" = 1) //diethylamine is often left over from mixing the ephedrine.
required_temp = 300 //room temperature, chilling it even a little will prevent the explosion
- result_amount = 4
+ results = list("methboom1" = 4) // this is ugly. Sorry goof.
/datum/chemical_reaction/sorium
name = "Sorium"
id = "sorium"
- result = "sorium"
+ results = list("sorium" = 4)
required_reagents = list("mercury" = 1, "oxygen" = 1, "nitrogen" = 1, "carbon" = 1)
- result_amount = 4
/datum/chemical_reaction/sorium/on_reaction(datum/reagents/holder, created_volume)
if(holder.has_reagent("stabilizing_agent"))
return
- holder.remove_reagent("sorium", created_volume)
+ holder.remove_reagent("sorium", created_volume*4)
var/turf/T = get_turf(holder.my_atom)
- var/range = Clamp(sqrt(created_volume), 1, 6)
+ var/range = Clamp(sqrt(created_volume*4), 1, 6)
goonchem_vortex(T, 1, range)
/datum/chemical_reaction/sorium_vortex
name = "sorium_vortex"
id = "sorium_vortex"
- result = null
- result_amount = 1
required_reagents = list("sorium" = 1)
required_temp = 474
@@ -196,27 +179,23 @@
var/range = Clamp(sqrt(created_volume), 1, 6)
goonchem_vortex(T, 1, range)
-
/datum/chemical_reaction/liquid_dark_matter
name = "Liquid Dark Matter"
id = "liquid_dark_matter"
- result = "liquid_dark_matter"
+ results = list("liquid_dark_matter" = 3)
required_reagents = list("stable_plasma" = 1, "radium" = 1, "carbon" = 1)
- result_amount = 3
/datum/chemical_reaction/liquid_dark_matter/on_reaction(datum/reagents/holder, created_volume)
if(holder.has_reagent("stabilizing_agent"))
return
- holder.remove_reagent("liquid_dark_matter", created_volume)
+ holder.remove_reagent("liquid_dark_matter", created_volume*3)
var/turf/T = get_turf(holder.my_atom)
- var/range = Clamp(sqrt(created_volume), 1, 6)
+ var/range = Clamp(sqrt(created_volume*3), 1, 6)
goonchem_vortex(T, 0, range)
/datum/chemical_reaction/ldm_vortex
name = "LDM Vortex"
id = "ldm_vortex"
- result = null
- result_amount = 1
required_reagents = list("liquid_dark_matter" = 1)
required_temp = 474
@@ -228,9 +207,8 @@
/datum/chemical_reaction/flash_powder
name = "Flash powder"
id = "flash_powder"
- result = "flash_powder"
+ results = list("flash_powder" = 3)
required_reagents = list("aluminium" = 1, "potassium" = 1, "sulfur" = 1 )
- result_amount = 3
/datum/chemical_reaction/flash_powder/on_reaction(datum/reagents/holder, created_volume)
if(holder.has_reagent("stabilizing_agent"))
@@ -239,20 +217,18 @@
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(2, 1, location)
s.start()
- for(var/mob/living/carbon/C in get_hearers_in_view(created_volume/10, location))
+ for(var/mob/living/carbon/C in get_hearers_in_view(created_volume/3, location))
if(C.flash_eyes())
if(get_dist(C, location) < 4)
C.Weaken(5)
else
C.Stun(5)
- holder.remove_reagent("flash_powder", created_volume)
+ holder.remove_reagent("flash_powder", created_volume*3)
/datum/chemical_reaction/flash_powder_flash
name = "Flash powder activation"
id = "flash_powder_flash"
- result = null
required_reagents = list("flash_powder" = 1)
- result_amount = 1
required_temp = 374
/datum/chemical_reaction/flash_powder_flash/on_reaction(datum/reagents/holder, created_volume)
@@ -270,15 +246,14 @@
/datum/chemical_reaction/smoke_powder
name = "smoke_powder"
id = "smoke_powder"
- result = "smoke_powder"
+ results = list("smoke_powder" = 3)
required_reagents = list("potassium" = 1, "sugar" = 1, "phosphorus" = 1)
- result_amount = 3
/datum/chemical_reaction/smoke_powder/on_reaction(datum/reagents/holder, created_volume)
if(holder.has_reagent("stabilizing_agent"))
return
- holder.remove_reagent("smoke_powder", created_volume)
- var/smoke_radius = round(sqrt(created_volume / 2), 1)
+ holder.remove_reagent("smoke_powder", created_volume*3)
+ var/smoke_radius = round(sqrt(created_volume * 1.5), 1)
var/location = get_turf(holder.my_atom)
var/datum/effect_system/smoke_spread/chem/S = new
S.attach(location)
@@ -292,10 +267,8 @@
/datum/chemical_reaction/smoke_powder_smoke
name = "smoke_powder_smoke"
id = "smoke_powder_smoke"
- result = null
required_reagents = list("smoke_powder" = 1)
required_temp = 374
- result_amount = 1
secondary = 1
mob_react = 1
@@ -311,22 +284,19 @@
if(holder && holder.my_atom)
holder.clear_reagents()
-
-
/datum/chemical_reaction/sonic_powder
name = "sonic_powder"
id = "sonic_powder"
- result = "sonic_powder"
+ results = list("sonic_powder" = 3)
required_reagents = list("oxygen" = 1, "cola" = 1, "phosphorus" = 1)
- result_amount = 3
/datum/chemical_reaction/sonic_powder/on_reaction(datum/reagents/holder, created_volume)
if(holder.has_reagent("stabilizing_agent"))
return
- holder.remove_reagent("sonic_powder", created_volume)
+ holder.remove_reagent("sonic_powder", created_volume*3)
var/location = get_turf(holder.my_atom)
playsound(location, 'sound/effects/bang.ogg', 25, 1)
- for(var/mob/living/carbon/C in get_hearers_in_view(created_volume/10, location))
+ for(var/mob/living/carbon/C in get_hearers_in_view(created_volume/3, location))
if(C.check_ear_prot())
continue
C.show_message("BANG", 2)
@@ -341,10 +311,8 @@
/datum/chemical_reaction/sonic_powder_deafen
name = "sonic_powder_deafen"
id = "sonic_powder_deafen"
- result = null
required_reagents = list("sonic_powder" = 1)
required_temp = 374
- result_amount = 1
/datum/chemical_reaction/sonic_powder_deafen/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
@@ -365,9 +333,8 @@
/datum/chemical_reaction/phlogiston
name = "phlogiston"
id = "phlogiston"
- result = "phlogiston"
+ results = list("phlogiston" = 3)
required_reagents = list("phosphorus" = 1, "sacid" = 1, "stable_plasma" = 1)
- result_amount = 3
/datum/chemical_reaction/phlogiston/on_reaction(datum/reagents/holder, created_volume)
if(holder.has_reagent("stabilizing_agent"))
@@ -378,21 +345,17 @@
holder.clear_reagents()
return
-
/datum/chemical_reaction/napalm
name = "Napalm"
id = "napalm"
- result = "napalm"
+ results = list("napalm" = 3)
required_reagents = list("oil" = 1, "welding_fuel" = 1, "ethanol" = 1 )
- result_amount = 3
-
/datum/chemical_reaction/cryostylane
name = "cryostylane"
id = "cryostylane"
- result = "cryostylane"
+ results = list("cryostylane" = 3)
required_reagents = list("water" = 1, "stable_plasma" = 1, "nitrogen" = 1)
- result_amount = 3
/datum/chemical_reaction/cryostylane/on_reaction(datum/reagents/holder, created_volume)
holder.chem_temp = 20 // cools the fuck down
@@ -402,9 +365,8 @@
/datum/chemical_reaction/pyrosium
name = "pyrosium"
id = "pyrosium"
- result = "pyrosium"
+ results = list("pyrosium" = 3)
required_reagents = list("stable_plasma" = 1, "radium" = 1, "phosphorus" = 1)
- result_amount = 3
/datum/chemical_reaction/pyrosium/on_reaction(datum/reagents/holder, created_volume)
holder.chem_temp = 20 // also cools the fuck down
diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm
index e8a1778ae68..2ffb86885f9 100644
--- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm
+++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm
@@ -3,9 +3,7 @@
/datum/chemical_reaction/slimespawn
name = "Slime Spawn"
id = "m_spawn"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/grey
required_other = 1
@@ -20,9 +18,8 @@
/datum/chemical_reaction/slimeinaprov
name = "Slime epinephrine"
id = "m_inaprov"
- result = "epinephrine"
+ results = list("epinephrine" = 3)
required_reagents = list("water" = 5)
- result_amount = 3
required_other = 1
required_container = /obj/item/slime_extract/grey
@@ -32,9 +29,7 @@
/datum/chemical_reaction/slimemonkey
name = "Slime Monkey"
id = "m_monkey"
- result = null
required_reagents = list("blood" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/grey
required_other = 1
@@ -48,9 +43,8 @@
/datum/chemical_reaction/slimemutate
name = "Mutation Toxin"
id = "mutationtoxin"
- result = "mutationtoxin"
+ results = list("mutationtoxin" = 1)
required_reagents = list("plasma" = 1)
- result_amount = 1
required_other = 1
required_container = /obj/item/slime_extract/green
@@ -61,9 +55,8 @@
/datum/chemical_reaction/slimemutate_unstable
name = "Unstable Mutation Toxin"
id = "unstablemutationtoxin"
- result = "unstablemutationtoxin"
+ results = list("unstablemutationtoxin" = 1)
required_reagents = list("radium" = 1)
- result_amount = 1
required_other = 1
required_container = /obj/item/slime_extract/green
mix_message = "The mixture rapidly expands and contracts, its appearance shifting into a sickening green."
@@ -75,9 +68,7 @@
/datum/chemical_reaction/slimemetal
name = "Slime Metal"
id = "m_metal"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/metal
required_other = 1
@@ -106,9 +97,7 @@
/datum/chemical_reaction/slimecrit
name = "Slime Crit"
id = "m_tele"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/gold
required_other = 1
@@ -121,9 +110,7 @@
/datum/chemical_reaction/slimecritlesser
name = "Slime Crit Lesser"
id = "m_tele3"
- result = null
required_reagents = list("blood" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/gold
required_other = 1
@@ -136,9 +123,7 @@
/datum/chemical_reaction/slimecritfriendly
name = "Slime Crit Friendly"
id = "m_tele5"
- result = null
required_reagents = list("water" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/gold
required_other = 1
@@ -152,9 +137,7 @@
/datum/chemical_reaction/slimebork
name = "Slime Bork"
id = "m_tele2"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/silver
required_other = 1
@@ -201,9 +184,7 @@
/datum/chemical_reaction/slimebork2
name = "Slime Bork 2"
id = "m_tele4"
- result = null
required_reagents = list("water" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/silver
required_other = 1
@@ -232,9 +213,8 @@
/datum/chemical_reaction/slimefrost
name = "Slime Frost Oil"
id = "m_frostoil"
- result = "frostoil"
+ results = list("frostoil" = 10)
required_reagents = list("plasma" = 1)
- result_amount = 10
required_container = /obj/item/slime_extract/blue
required_other = 1
@@ -245,9 +225,7 @@
/datum/chemical_reaction/slimestabilizer
name = "Slime Stabilizer"
id = "m_slimestabilizer"
- result = null
required_reagents = list("blood" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/blue
required_other = 1
@@ -262,9 +240,7 @@
/datum/chemical_reaction/slimefreeze
name = "Slime Freeze"
id = "m_freeze"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/darkblue
required_other = 1
@@ -285,9 +261,7 @@
/datum/chemical_reaction/slimefireproof
name = "Slime Fireproof"
id = "m_fireproof"
- result = null
required_reagents = list("water" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/darkblue
required_other = 1
@@ -300,9 +274,8 @@
/datum/chemical_reaction/slimecasp
name = "Slime Capsaicin Oil"
id = "m_capsaicinoil"
- result = "capsaicin"
+ results = list("capsaicin" = 10)
required_reagents = list("blood" = 1)
- result_amount = 10
required_container = /obj/item/slime_extract/orange
required_other = 1
@@ -312,9 +285,7 @@
/datum/chemical_reaction/slimefire
name = "Slime fire"
id = "m_fire"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/orange
required_other = 1
@@ -336,9 +307,7 @@
/datum/chemical_reaction/slimeoverload
name = "Slime EMP"
id = "m_emp"
- result = null
required_reagents = list("blood" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/yellow
required_other = 1
@@ -350,9 +319,7 @@
/datum/chemical_reaction/slimecell
name = "Slime Powercell"
id = "m_cell"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/yellow
required_other = 1
@@ -364,9 +331,7 @@
/datum/chemical_reaction/slimeglow
name = "Slime Glow"
id = "m_glow"
- result = null
required_reagents = list("water" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/yellow
required_other = 1
@@ -382,9 +347,7 @@
/datum/chemical_reaction/slimepsteroid
name = "Slime Steroid"
id = "m_steroid"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/purple
required_other = 1
@@ -396,9 +359,8 @@
/datum/chemical_reaction/slimejam
name = "Slime Jam"
id = "m_jam"
- result = "slimejelly"
+ results = list("slimejelly" = 10)
required_reagents = list("sugar" = 1)
- result_amount = 10
required_container = /obj/item/slime_extract/purple
required_other = 1
@@ -410,9 +372,7 @@
/datum/chemical_reaction/slimeplasma
name = "Slime Plasma"
id = "m_plasma"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/darkpurple
required_other = 1
@@ -426,9 +386,7 @@
/datum/chemical_reaction/slimemutator
name = "Slime Mutator"
id = "m_slimemutator"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/red
required_other = 1
@@ -440,9 +398,7 @@
/datum/chemical_reaction/slimebloodlust
name = "Bloodlust"
id = "m_bloodlust"
- result = null
required_reagents = list("blood" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/red
required_other = 1
@@ -456,9 +412,7 @@
/datum/chemical_reaction/slimespeed
name = "Slime Speed"
id = "m_speed"
- result = null
required_reagents = list("water" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/red
required_other = 1
@@ -472,9 +426,7 @@
/datum/chemical_reaction/docility
name = "Docility Potion"
id = "m_potion"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/pink
required_other = 1
@@ -486,9 +438,7 @@
/datum/chemical_reaction/gender
name = "Gender Potion"
id = "m_gender"
- result = null
required_reagents = list("blood" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/pink
required_other = 1
@@ -501,9 +451,8 @@
/datum/chemical_reaction/slimemutate2
name = "Advanced Mutation Toxin"
id = "mutationtoxin2"
- result = "amutationtoxin"
+ results = list("amutationtoxin" = 1)
required_reagents = list("plasma" = 1)
- result_amount = 1
required_other = 1
required_container = /obj/item/slime_extract/black
@@ -514,9 +463,7 @@
/datum/chemical_reaction/slimeexplosion
name = "Slime Explosion"
id = "m_explosion"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/oil
required_other = 1
@@ -541,8 +488,6 @@
/datum/chemical_reaction/slimepotion2
name = "Slime Potion 2"
id = "m_potion2"
- result = null
- result_amount = 1
required_container = /obj/item/slime_extract/lightpink
required_reagents = list("plasma" = 1)
required_other = 1
@@ -556,9 +501,7 @@
/datum/chemical_reaction/slimegolem
name = "Slime Golem"
id = "m_golem"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/adamantine
required_other = 1
@@ -572,9 +515,7 @@
/datum/chemical_reaction/slimefloor2
name = "Bluespace Floor"
id = "m_floor2"
- result = null
required_reagents = list("blood" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/bluespace
required_other = 1
@@ -588,9 +529,7 @@
/datum/chemical_reaction/slimecrystal
name = "Slime Crystal"
id = "m_crystal"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/bluespace
required_other = 1
@@ -604,9 +543,7 @@
/datum/chemical_reaction/slimepsteroid2
name = "Slime Steroid 2"
id = "m_steroid2"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/cerulean
required_other = 1
@@ -620,9 +557,7 @@
/datum/chemical_reaction/slime_territory
name = "Slime Territory"
id = "s_territory"
- result = null
required_reagents = list("blood" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/cerulean
required_other = 1
@@ -635,9 +570,7 @@
/datum/chemical_reaction/slimestop
name = "Slime Stop"
id = "m_stop"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/sepia
required_other = 1
@@ -653,9 +586,7 @@
/datum/chemical_reaction/slimecamera
name = "Slime Camera"
id = "m_camera"
- result = null
required_reagents = list("water" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/sepia
required_other = 1
@@ -669,9 +600,7 @@
/datum/chemical_reaction/slimefloor
name = "Sepia Floor"
id = "m_floor"
- result = null
required_reagents = list("blood" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/sepia
required_other = 1
@@ -688,9 +617,7 @@
/datum/chemical_reaction/slimepaint
name = "Slime Paint"
id = "s_paint"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_container = /obj/item/slime_extract/pyrite
required_other = 1
@@ -706,9 +633,7 @@
/datum/chemical_reaction/slimeRNG
name = "Random Core"
id = "slimerng"
- result = null
required_reagents = list("plasma" = 1)
- result_amount = 1
required_other = 1
required_container = /obj/item/slime_extract/rainbow
@@ -723,9 +648,7 @@
/datum/chemical_reaction/slime_transfer
name = "Transfer Potion"
id = "slimetransfer"
- result = null
required_reagents = list("blood" = 1)
- result_amount = 1
required_other = 1
required_container = /obj/item/slime_extract/rainbow
diff --git a/code/modules/reagents/chemistry/recipes/toxins.dm b/code/modules/reagents/chemistry/recipes/toxins.dm
index c83fa4176bf..5d4fd3ba501 100644
--- a/code/modules/reagents/chemistry/recipes/toxins.dm
+++ b/code/modules/reagents/chemistry/recipes/toxins.dm
@@ -2,111 +2,96 @@
/datum/chemical_reaction/formaldehyde
name = "formaldehyde"
id = "Formaldehyde"
- result = "formaldehyde"
+ results = list("formaldehyde" = 3)
required_reagents = list("ethanol" = 1, "oxygen" = 1, "silver" = 1)
- result_amount = 3
required_temp = 420
/datum/chemical_reaction/neurotoxin2
name = "neurotoxin2"
id = "neurotoxin2"
- result = "neurotoxin2"
+ results = list("neurotoxin2" = 1)
required_reagents = list("space_drugs" = 1)
- result_amount = 1
required_temp = 674
/datum/chemical_reaction/cyanide
name = "Cyanide"
id = "cyanide"
- result = "cyanide"
+ results = list("cyanide" = 3)
required_reagents = list("oil" = 1, "ammonia" = 1, "oxygen" = 1)
- result_amount = 3
required_temp = 380
/datum/chemical_reaction/itching_powder
name = "Itching Powder"
id = "itching_powder"
- result = "itching_powder"
+ results = list("itching_powder" = 3)
required_reagents = list("welding_fuel" = 1, "ammonia" = 1, "charcoal" = 1)
- result_amount = 3
/datum/chemical_reaction/facid
name = "Fluorosulfuric acid"
id = "facid"
- result = "facid"
+ results = list("facid" = 4)
required_reagents = list("sacid" = 1, "fluorine" = 1, "hydrogen" = 1, "potassium" = 1)
- result_amount = 4
required_temp = 380
/datum/chemical_reaction/sulfonal
name = "sulfonal"
id = "sulfonal"
- result = "sulfonal"
+ results = list("sulfonal" = 3)
required_reagents = list("acetone" = 1, "diethylamine" = 1, "sulfur" = 1)
- result_amount = 3
/datum/chemical_reaction/lipolicide
name = "lipolicide"
id = "lipolicide"
- result = "lipolicide"
+ results = list("lipolicide" = 3)
required_reagents = list("mercury" = 1, "diethylamine" = 1, "ephedrine" = 1)
- result_amount = 3
/datum/chemical_reaction/mutagen
name = "Unstable mutagen"
id = "mutagen"
- result = "mutagen"
+ results = list("mutagen" = 3)
required_reagents = list("radium" = 1, "phosphorus" = 1, "chlorine" = 1)
- result_amount = 3
/datum/chemical_reaction/lexorin
name = "Lexorin"
id = "lexorin"
- result = "lexorin"
+ results = list("lexorin" = 3)
required_reagents = list("plasma" = 1, "hydrogen" = 1, "nitrogen" = 1)
- result_amount = 3
/datum/chemical_reaction/chloralhydrate
name = "Chloral Hydrate"
id = "chloralhydrate"
- result = "chloralhydrate"
+ results = list("chloralhydrate" = 1)
required_reagents = list("ethanol" = 1, "chlorine" = 3, "water" = 1)
- result_amount = 1
/datum/chemical_reaction/mutetoxin //i'll just fit this in here snugly between other unfun chemicals :v
name = "Mute toxin"
id = "mutetoxin"
- result = "mutetoxin"
+ results = list("mutetoxin" = 2)
required_reagents = list("uranium" = 2, "water" = 1, "carbon" = 1)
- result_amount = 2
/datum/chemical_reaction/zombiepowder
name = "Zombie Powder"
id = "zombiepowder"
- result = "zombiepowder"
+ results = list("zombiepowder" = 2)
required_reagents = list("carpotoxin" = 5, "morphine" = 5, "copper" = 5)
- result_amount = 2
/datum/chemical_reaction/mindbreaker
name = "Mindbreaker Toxin"
id = "mindbreaker"
- result = "mindbreaker"
+ results = list("mindbreaker" = 5)
required_reagents = list("silicon" = 1, "hydrogen" = 1, "charcoal" = 1)
- result_amount = 5
/datum/chemical_reaction/teslium
name = "Teslium"
id = "teslium"
- result = "teslium"
+ results = list("teslium" = 3)
required_reagents = list("plasma" = 1, "silver" = 1, "blackpowder" = 1)
- result_amount = 3
mix_message = "A jet of sparks flies from the mixture as it merges into a flickering slurry."
required_temp = 400
/datum/chemical_reaction/heparin
name = "Heparin"
id = "Heparin"
- result = "heparin"
+ results = list("heparin" = 4)
required_reagents = list("formaldehyde" = 1, "sodium" = 1, "chlorine" = 1, "lithium" = 1)
- result_amount = 4
mix_message = "The mixture thins and loses all color."
diff --git a/icons/obj/reagentfillings.dmi b/icons/obj/reagentfillings.dmi
index eaa9285a954..38c47790fc1 100644
Binary files a/icons/obj/reagentfillings.dmi and b/icons/obj/reagentfillings.dmi differ