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