diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index d32e6e64618..a90137ef624 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -4,296 +4,344 @@ /datum/chemical_reaction/goldschlager name = "Goldschlager" id = "goldschlager" - results = list("goldschlager" = 10) + result = "goldschlager" required_reagents = list("vodka" = 10, "gold" = 1) + result_amount = 10 /datum/chemical_reaction/patron name = "Patron" id = "patron" - results = list("patron" = 10) + result = "patron" required_reagents = list("tequila" = 10, "silver" = 1) + result_amount = 10 /datum/chemical_reaction/bilk name = "Bilk" id = "bilk" - results = list("bilk" = 2) + result = "bilk" required_reagents = list("milk" = 1, "beer" = 1) + result_amount = 2 /datum/chemical_reaction/icetea name = "Iced Tea" id = "icetea" - results = list("icetea" = 4) + result = "icetea" required_reagents = list("ice" = 1, "tea" = 3) + result_amount = 4 /datum/chemical_reaction/icecoffee name = "Iced Coffee" id = "icecoffee" - results = list("icecoffee" = 4) + result = "icecoffee" required_reagents = list("ice" = 1, "coffee" = 3) + result_amount = 4 /datum/chemical_reaction/nuka_cola name = "Nuka Cola" id = "nuka_cola" - results = list("nuka_cola" = 6) + result = "nuka_cola" required_reagents = list("uranium" = 1, "cola" = 6) + result_amount = 6 /datum/chemical_reaction/moonshine name = "Moonshine" id = "moonshine" - results = list("moonshine" = 10) + result = "moonshine" required_reagents = list("nutriment" = 10) required_catalysts = list("enzyme" = 5) + result_amount = 10 /datum/chemical_reaction/wine name = "Wine" id = "wine" - results = list("wine" = 10) + result = "wine" required_reagents = list("grapejuice" = 10) required_catalysts = list("enzyme" = 5) + result_amount = 10 /datum/chemical_reaction/spacebeer name = "Space Beer" id = "spacebeer" - results = list("beer" = 10) + result = "beer" required_reagents = list("flour" = 10) required_catalysts = list("enzyme" = 5) + result_amount = 10 /datum/chemical_reaction/vodka name = "Vodka" id = "vodka" - results = list("vodka" = 10) + result = "vodka" required_reagents = list("potato" = 10) required_catalysts = list("enzyme" = 5) + result_amount = 10 /datum/chemical_reaction/kahlua name = "Kahlua" id = "kahlua" - results = list("kahlua" = 5) + result = "kahlua" 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" - results = list("gintonic" = 3) + result = "gintonic" required_reagents = list("gin" = 2, "tonic" = 1) + result_amount = 3 /datum/chemical_reaction/cuba_libre name = "Cuba Libre" id = "cubalibre" - results = list("cubalibre" = 3) + result = "cubalibre" required_reagents = list("rum" = 2, "cola" = 1) + result_amount = 3 /datum/chemical_reaction/martini name = "Classic Martini" id = "martini" - results = list("martini" = 3) + result = "martini" required_reagents = list("gin" = 2, "vermouth" = 1) + result_amount = 3 /datum/chemical_reaction/vodkamartini name = "Vodka Martini" id = "vodkamartini" - results = list("vodkamartini" = 3) + result = "vodkamartini" required_reagents = list("vodka" = 2, "vermouth" = 1) + result_amount = 3 /datum/chemical_reaction/white_russian name = "White Russian" id = "whiterussian" - results = list("whiterussian" = 5) + result = "whiterussian" required_reagents = list("blackrussian" = 3, "cream" = 2) + result_amount = 5 /datum/chemical_reaction/whiskey_cola name = "Whiskey Cola" id = "whiskeycola" - results = list("whiskeycola" = 3) + result = "whiskeycola" required_reagents = list("whiskey" = 2, "cola" = 1) + result_amount = 3 /datum/chemical_reaction/screwdriver name = "Screwdriver" id = "screwdrivercocktail" - results = list("screwdrivercocktail" = 3) + result = "screwdrivercocktail" required_reagents = list("vodka" = 2, "orangejuice" = 1) + result_amount = 3 /datum/chemical_reaction/bloody_mary name = "Bloody Mary" id = "bloodymary" - results = list("bloodymary" = 4) + result = "bloodymary" required_reagents = list("vodka" = 1, "tomatojuice" = 2, "limejuice" = 1) + result_amount = 4 /datum/chemical_reaction/gargle_blaster name = "Pan-Galactic Gargle Blaster" id = "gargleblaster" - results = list("gargleblaster" = 5) + result = "gargleblaster" 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" - results = list("bravebull" = 3) + result = "bravebull" required_reagents = list("tequila" = 2, "kahlua" = 1) + result_amount = 3 /datum/chemical_reaction/tequila_sunrise name = "tequila Sunrise" id = "tequilasunrise" - results = list("tequilasunrise" = 3) + result = "tequilasunrise" required_reagents = list("tequila" = 2, "orangejuice" = 1) + result_amount = 3 /datum/chemical_reaction/toxins_special name = "Toxins Special" id = "toxinsspecial" - results = list("toxinsspecial" = 5) + result = "toxinsspecial" required_reagents = list("rum" = 2, "vermouth" = 1, "plasma" = 2) + result_amount = 5 /datum/chemical_reaction/beepsky_smash name = "Beepksy Smash" id = "beepksysmash" - results = list("beepskysmash" = 4) + result = "beepskysmash" required_reagents = list("limejuice" = 2, "whiskey" = 2, "iron" = 1) + result_amount = 4 /datum/chemical_reaction/doctor_delight name = "The Doctor's Delight" id = "doctordelight" - results = list("doctorsdelight" = 5) + result = "doctorsdelight" 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" - results = list("irishcream" = 3) + result = "irishcream" required_reagents = list("whiskey" = 2, "cream" = 1) + result_amount = 3 /datum/chemical_reaction/manly_dorf name = "The Manly Dorf" id = "manlydorf" - results = list("manlydorf" = 3) + result = "manlydorf" required_reagents = list ("beer" = 1, "ale" = 2) + result_amount = 3 /datum/chemical_reaction/greenbeer name = "Green Beer" id = "greenbeer" - results = list("greenbeer" = 10) + result = "greenbeer" required_reagents = list("greencrayonpowder" = 1, "beer" = 10) + result_amount = 10 /datum/chemical_reaction/hooch name = "Hooch" id = "hooch" - results = list("hooch" = 3) + result = "hooch" 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" - results = list("irishcoffee" = 2) + result = "irishcoffee" required_reagents = list("irishcream" = 1, "coffee" = 1) + result_amount = 2 /datum/chemical_reaction/b52 name = "B-52" id = "b52" - results = list("b52" = 3) + result = "b52" required_reagents = list("irishcream" = 1, "kahlua" = 1, "cognac" = 1) + result_amount = 3 /datum/chemical_reaction/atomicbomb name = "Atomic Bomb" id = "atomicbomb" - results = list("atomicbomb" = 10) + result = "atomicbomb" required_reagents = list("b52" = 10, "uranium" = 1) + result_amount = 10 /datum/chemical_reaction/margarita name = "Margarita" id = "margarita" - results = list("margarita" = 3) + result = "margarita" required_reagents = list("tequila" = 2, "limejuice" = 1) + result_amount = 3 /datum/chemical_reaction/longislandicedtea name = "Long Island Iced Tea" id = "longislandicedtea" - results = list("longislandicedtea" = 4) + result = "longislandicedtea" 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" - results = list("threemileisland" = 10) + result = "threemileisland" required_reagents = list("longislandicedtea" = 10, "uranium" = 1) + result_amount = 10 /datum/chemical_reaction/whiskeysoda name = "Whiskey Soda" id = "whiskeysoda" - results = list("whiskeysoda" = 3) + result = "whiskeysoda" required_reagents = list("whiskey" = 2, "sodawater" = 1) + result_amount = 3 /datum/chemical_reaction/black_russian name = "Black Russian" id = "blackrussian" - results = list("blackrussian" = 5) + result = "blackrussian" required_reagents = list("vodka" = 3, "kahlua" = 2) + result_amount = 5 /datum/chemical_reaction/manhattan name = "Manhattan" id = "manhattan" - results = list("manhattan" = 3) + result = "manhattan" required_reagents = list("whiskey" = 2, "vermouth" = 1) + result_amount = 3 /datum/chemical_reaction/manhattan_proj name = "Manhattan Project" id = "manhattan_proj" - results = list("manhattan_proj" = 10) + result = "manhattan_proj" required_reagents = list("manhattan" = 10, "uranium" = 1) + result_amount = 10 /datum/chemical_reaction/vodka_tonic name = "Vodka and Tonic" id = "vodkatonic" - results = list("vodkatonic" = 3) + result = "vodkatonic" required_reagents = list("vodka" = 2, "tonic" = 1) + result_amount = 3 /datum/chemical_reaction/gin_fizz name = "Gin Fizz" id = "ginfizz" - results = list("ginfizz" = 4) + result = "ginfizz" required_reagents = list("gin" = 2, "sodawater" = 1, "limejuice" = 1) + result_amount = 4 /datum/chemical_reaction/bahama_mama name = "Bahama mama" id = "bahama_mama" - results = list("bahama_mama" = 6) + result = "bahama_mama" required_reagents = list("rum" = 2, "orangejuice" = 2, "limejuice" = 1, "ice" = 1) + result_amount = 6 /datum/chemical_reaction/singulo name = "Singulo" id = "singulo" - results = list("singulo" = 10) + result = "singulo" required_reagents = list("vodka" = 5, "radium" = 1, "wine" = 5) + result_amount = 10 /datum/chemical_reaction/alliescocktail name = "Allies Cocktail" id = "alliescocktail" - results = list("alliescocktail" = 2) + result = "alliescocktail" required_reagents = list("martini" = 1, "vodka" = 1) + result_amount = 2 /datum/chemical_reaction/demonsblood name = "Demons Blood" id = "demonsblood" - results = list("demonsblood" = 4) + result = "demonsblood" required_reagents = list("rum" = 1, "spacemountainwind" = 1, "blood" = 1, "dr_gibb" = 1) + result_amount = 4 /datum/chemical_reaction/booger name = "Booger" id = "booger" - results = list("booger" = 4) + result = "booger" required_reagents = list("cream" = 1, "banana" = 1, "rum" = 1, "watermelonjuice" = 1) + result_amount = 4 /datum/chemical_reaction/antifreeze name = "Anti-freeze" id = "antifreeze" - results = list("antifreeze" = 4) + result = "antifreeze" required_reagents = list("vodka" = 2, "cream" = 1, "ice" = 1) + result_amount = 4 /datum/chemical_reaction/barefoot name = "Barefoot" id = "barefoot" - results = list("barefoot" = 3) + result = "barefoot" required_reagents = list("berryjuice" = 1, "cream" = 1, "vermouth" = 1) + result_amount = 3 ////DRINKS THAT REQUIRED IMPROVED SPRITES BELOW:: -Agouri///// @@ -301,223 +349,259 @@ /datum/chemical_reaction/sbiten name = "Sbiten" id = "sbiten" - results = list("sbiten" = 10) + result = "sbiten" required_reagents = list("vodka" = 10, "capsaicin" = 1) + result_amount = 10 /datum/chemical_reaction/red_mead name = "Red Mead" id = "red_mead" - results = list("red_mead" = 2) + result = "red_mead" required_reagents = list("blood" = 1, "mead" = 1) + result_amount = 2 /datum/chemical_reaction/mead name = "Mead" id = "mead" - results = list("mead" = 2) + result = "mead" required_reagents = list("honey" = 2) required_catalysts = list("enzyme" = 5) + result_amount = 2 /datum/chemical_reaction/iced_beer name = "Iced Beer" id = "iced_beer" - results = list("iced_beer" = 6) + result = "iced_beer" required_reagents = list("beer" = 5, "ice" = 1) + result_amount = 6 /datum/chemical_reaction/grog name = "Grog" id = "grog" - results = list("grog" = 2) + result = "grog" required_reagents = list("rum" = 1, "water" = 1) + result_amount = 2 /datum/chemical_reaction/soy_latte name = "Soy Latte" id = "soy_latte" - results = list("soy_latte" = 2) + result = "soy_latte" required_reagents = list("coffee" = 1, "soymilk" = 1) + result_amount = 2 /datum/chemical_reaction/cafe_latte name = "Cafe Latte" id = "cafe_latte" - results = list("cafe_latte" = 2) + result = "cafe_latte" required_reagents = list("coffee" = 1, "milk" = 1) + result_amount = 2 /datum/chemical_reaction/acidspit name = "Acid Spit" id = "acidspit" - results = list("acidspit" = 6) + result = "acidspit" required_reagents = list("sacid" = 1, "wine" = 5) + result_amount = 6 /datum/chemical_reaction/amasec name = "Amasec" id = "amasec" - results = list("amasec" = 10) + result = "amasec" required_reagents = list("iron" = 1, "wine" = 5, "vodka" = 5) + result_amount = 10 /datum/chemical_reaction/changelingsting name = "Changeling Sting" id = "changelingsting" - results = list("changelingsting" = 5) + result = "changelingsting" required_reagents = list("screwdrivercocktail" = 1, "limejuice" = 1, "lemonjuice" = 1) + result_amount = 5 /datum/chemical_reaction/aloe name = "Aloe" id = "aloe" - results = list("aloe" = 2) + result = "aloe" required_reagents = list("irishcream" = 1, "watermelonjuice" = 1) + result_amount = 2 /datum/chemical_reaction/andalusia name = "Andalusia" id = "andalusia" - results = list("andalusia" = 3) + result = "andalusia" required_reagents = list("rum" = 1, "whiskey" = 1, "lemonjuice" = 1) + result_amount = 3 /datum/chemical_reaction/neurotoxin name = "Neurotoxin" id = "neurotoxin" - results = list("neurotoxin" = 2) + result = "neurotoxin" required_reagents = list("gargleblaster" = 1, "morphine" = 1) + result_amount = 2 /datum/chemical_reaction/snowwhite name = "Snow White" id = "snowwhite" - results = list("snowwhite" = 2) + result = "snowwhite" required_reagents = list("beer" = 1, "lemon_lime" = 1) + result_amount = 2 /datum/chemical_reaction/irishcarbomb name = "Irish Car Bomb" id = "irishcarbomb" - results = list("irishcarbomb" = 2) + result = "irishcarbomb" required_reagents = list("ale" = 1, "irishcream" = 1) + result_amount = 2 /datum/chemical_reaction/syndicatebomb name = "Syndicate Bomb" id = "syndicatebomb" - results = list("syndicatebomb" = 2) + result = "syndicatebomb" required_reagents = list("beer" = 1, "whiskeycola" = 1) + result_amount = 2 /datum/chemical_reaction/erikasurprise name = "Erika Surprise" id = "erikasurprise" - results = list("erikasurprise" = 5) + result = "erikasurprise" 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" - results = list("devilskiss" = 3) + result = "devilskiss" required_reagents = list("blood" = 1, "kahlua" = 1, "rum" = 1) + result_amount = 3 /datum/chemical_reaction/hippiesdelight name = "Hippies Delight" id = "hippiesdelight" - results = list("hippiesdelight" = 2) + result = "hippiesdelight" required_reagents = list("mushroomhallucinogen" = 1, "gargleblaster" = 1) + result_amount = 2 /datum/chemical_reaction/bananahonk name = "Banana Honk" id = "bananahonk" - results = list("bananahonk" = 3) + result = "bananahonk" required_reagents = list("banana" = 1, "cream" = 1, "sugar" = 1) + result_amount = 3 /datum/chemical_reaction/silencer name = "Silencer" id = "silencer" - results = list("silencer" = 3) + result = "silencer" required_reagents = list("nothing" = 1, "cream" = 1, "sugar" = 1) + result_amount = 3 /datum/chemical_reaction/driestmartini name = "Driest Martini" id = "driestmartini" - results = list("driestmartini" = 2) + result = "driestmartini" required_reagents = list("nothing" = 1, "gin" = 1) + result_amount = 2 /datum/chemical_reaction/thirteenloko name = "Thirteen Loko" id = "thirteenloko" - results = list("thirteenloko" = 3) + result = "thirteenloko" required_reagents = list("vodka" = 1, "coffee" = 1, "limejuice" = 1) + result_amount = 3 /datum/chemical_reaction/chocolatepudding name = "Chocolate Pudding" id = "chocolatepudding" - results = list("chocolatepudding" = 20) + result = "chocolatepudding" required_reagents = list("cocoa" = 5, "milk" = 5, "eggyolk" = 5) + result_amount = 20 /datum/chemical_reaction/vanillapudding name = "Vanilla Pudding" id = "vanillapudding" - results = list("vanillapudding" = 20) + result = "vanillapudding" required_reagents = list("vanilla" = 5, "milk" = 5, "eggyolk" = 5) + result_amount = 20 /datum/chemical_reaction/cherryshake name = "Cherry Shake" id = "cherryshake" - results = list("cherryshake" = 3) + result = "cherryshake" required_reagents = list("cherryjelly" = 1, "ice" = 1, "cream" = 1) + result_amount = 3 /datum/chemical_reaction/bluecherryshake name = "Blue Cherry Shake" id = "bluecherryshake" - results = list("bluecherryshake" = 3) + result = "bluecherryshake" required_reagents = list("bluecherryjelly" = 1, "ice" = 1, "cream" = 1) + result_amount = 3 /datum/chemical_reaction/drunkenblumpkin name = "Drunken Blumpkin" id = "drunkenblumpkin" - results = list("drunkenblumpkin" = 4) + result = "drunkenblumpkin" required_reagents = list("blumpkinjuice" = 1, "irishcream" = 2, "ice" = 1) + result_amount = 4 /datum/chemical_reaction/pumpkin_latte name = "Pumpkin space latte" id = "pumpkin_latte" - results = list("pumpkin_latte" = 15) + result = "pumpkin_latte" required_reagents = list("pumpkinjuice" = 5, "coffee" = 5, "cream" = 5) + result_amount = 15 /datum/chemical_reaction/gibbfloats name = "Gibb Floats" id = "gibbfloats" - results = list("gibbfloats" = 15) + result = "gibbfloats" required_reagents = list("dr_gibb" = 5, "ice" = 5, "cream" = 5) + result_amount = 15 /datum/chemical_reaction/triple_citrus name = "triple_citrus" id = "triple_citrus" - results = list("triple_citrus" = 5) + result = "triple_citrus" required_reagents = list("lemonjuice" = 1, "limejuice" = 1, "orangejuice" = 1) + result_amount = 5 /datum/chemical_reaction/grape_soda name = "grape soda" id = "grapesoda" - results = list("grape_soda" = 2) + result = "grape_soda" required_reagents = list("grapejuice" = 1, "sodawater" = 1) + result_amount = 2 /datum/chemical_reaction/grappa name = "grappa" id = "grappa" - results = list("grappa" = 10) + result = "grappa" required_reagents = list ("wine" = 10) required_catalysts = list ("enzyme" = 5) + result_amount = 10 /datum/chemical_reaction/whiskey_sour name = "Whiskey Sour" id = "whiskey_sour" - results = list("whiskey_sour" = 3) + result = "whiskey_sour" 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" - results = list("fetching_fizz" = 3) + result = "fetching_fizz" 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" - results = list("hearty_punch" = 1) //Very little, for balance reasons + result = "hearty_punch" 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! @@ -525,13 +609,15 @@ /datum/chemical_reaction/bacchus_blessing name = "Bacchus' Blessing" id = "bacchus_blessing" - results = list("bacchus_blessing" = 4) + result = "bacchus_blessing" 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" - results = list("arnold_palmer" = 2) + result = "arnold_palmer" 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 c8362a14ad7..bfb9dcbaf4e 100644 --- a/code/modules/food_and_drinks/recipes/food_mixtures.dm +++ b/code/modules/food_and_drinks/recipes/food_mixtures.dm @@ -6,8 +6,10 @@ /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) @@ -19,7 +21,9 @@ /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) @@ -31,9 +35,10 @@ /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++) @@ -43,85 +48,101 @@ /datum/chemical_reaction/hot_coco name = "Hot Coco" id = "hot_coco" - results = list("hot_coco" = 5) + result = "hot_coco" required_reagents = list("water" = 5, "cocoa" = 1) + result_amount = 5 /datum/chemical_reaction/coffee name = "Coffee" id = "coffee" - results = list("coffee" = 5) + result = "coffee" required_reagents = list("coffeepowder" = 1, "water" = 5) + result_amount = 5 /datum/chemical_reaction/tea name = "Tea" id = "tea" - results = list("tea" = 5) + result = "tea" required_reagents = list("teapowder" = 1, "water" = 5) + result_amount = 5 /datum/chemical_reaction/soysauce name = "Soy Sauce" id = "soysauce" - results = list("soysauce" = 5) + result = "soysauce" required_reagents = list("soymilk" = 4, "sacid" = 1) + result_amount = 5 /datum/chemical_reaction/corn_syrup name = "corn_syrup" id = "corn_syrup" - results = list("corn_syrup" = 5) + result = "corn_syrup" 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) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/store/cheesewheel(location) + new /obj/item/weapon/reagent_containers/food/snacks/store/cheesewheel(location) + return /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) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/synthmeat(location) + new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/synthmeat(location) + return /datum/chemical_reaction/hot_ramen name = "Hot Ramen" id = "hot_ramen" - results = list("hot_ramen" = 3) + result = "hot_ramen" required_reagents = list("water" = 1, "dry_ramen" = 3) + result_amount = 3 /datum/chemical_reaction/hell_ramen name = "Hell Ramen" id = "hell_ramen" - results = list("hell_ramen" = 6) + result = "hell_ramen" 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/location = get_turf(holder.my_atom) - new /obj/item/weapon/reagent_containers/food/snacks/carpmeat/imitation(location) + 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) 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) @@ -132,7 +153,9 @@ /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) @@ -147,12 +170,14 @@ /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/location = get_turf(holder.my_atom) - new /obj/item/weapon/reagent_containers/food/snacks/salad/ricebowl(location) + 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) 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 62f8a1ceec0..543bbd95463 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -344,8 +344,6 @@ 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])) @@ -375,18 +373,20 @@ 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 || (is_cold_recipe && chem_temp <= required_temp) || (!is_cold_recipe && chem_temp >= required_temp)) - meets_temp_requirement = 1 + if(required_temp == 0) + required_temp = chem_temp - if(total_matching_reagents == total_required_reagents && total_matching_catalysts == total_required_catalysts && matching_container && matching_other && meets_temp_requirement) + + if(total_matching_reagents == total_required_reagents && total_matching_catalysts == total_required_catalysts && matching_container && matching_other && chem_temp >= required_temp) var/multiplier = min(multipliers) for(var/B in C.required_reagents) remove_reagent(B, (multiplier * C.required_reagents[B]), safety = 1) - for(var/P in C.results) - feedback_add_details("chemical_reaction", "[P]|[C.results[P]*multiplier]") + var/created_volume = C.result_amount*multiplier + if(C.result) + feedback_add_details("chemical_reaction","[C.result]|[C.result_amount*multiplier]") multiplier = max(multiplier, 1) //this shouldnt happen ... - add_reagent(P, C.results[P]*multiplier, null, chem_temp) + add_reagent(C.result, C.result_amount*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, multiplier) + C.on_reaction(src, created_volume) 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 93aff6f1466..b2759dbe7af 100644 --- a/code/modules/reagents/chemistry/readme.dm +++ b/code/modules/reagents/chemistry/readme.dm @@ -193,9 +193,8 @@ About Recipes: name & id Should be pretty obvious. - 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. + result + This var contains the id of the resulting reagent. required_reagents This is a list of ids of the required reagents. @@ -209,6 +208,10 @@ 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 5943577d59c..f841370c08b 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/list/results = new/list() + var/result = null 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 f9d9b24ac54..5d2c6cf3bc7 100644 --- a/code/modules/reagents/chemistry/recipes/drugs.dm +++ b/code/modules/reagents/chemistry/recipes/drugs.dm @@ -1,14 +1,16 @@ /datum/chemical_reaction/space_drugs name = "Space Drugs" id = "space_drugs" - results = list("space_drugs" = 3) + result = "space_drugs" required_reagents = list("mercury" = 1, "sugar" = 1, "lithium" = 1) + result_amount = 3 /datum/chemical_reaction/crank name = "Crank" id = "crank" - results = list("crank" = 5) + result = "crank" 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 @@ -16,27 +18,31 @@ /datum/chemical_reaction/krokodil name = "Krokodil" id = "krokodil" - results = list("krokodil" = 6) + result = "krokodil" 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" - results = list("methamphetamine" = 4) + result = "methamphetamine" 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" - results = list("bath_salts" = 7) + result = "bath_salts" 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" - results = list("aranesp" = 3) + result = "aranesp" 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 e446ab9736b..184e3fd0359 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -2,214 +2,249 @@ /datum/chemical_reaction/leporazine name = "Leporazine" id = "leporazine" - results = list("leporazine" = 2) + result = "leporazine" required_reagents = list("silicon" = 1, "copper" = 1) required_catalysts = list("plasma" = 5) + result_amount = 2 /datum/chemical_reaction/rezadone name = "Rezadone" id = "rezadone" - results = list("rezadone" = 3) + result = "rezadone" required_reagents = list("carpotoxin" = 1, "cryptobiolin" = 1, "copper" = 1) + result_amount = 3 /datum/chemical_reaction/spaceacillin name = "Spaceacillin" id = "spaceacillin" - results = list("spaceacillin" = 2) + result = "spaceacillin" required_reagents = list("cryptobiolin" = 1, "epinephrine" = 1) + result_amount = 2 /datum/chemical_reaction/inacusiate name = "inacusiate" id = "inacusiate" - results = list("inacusiate" = 2) + result = "inacusiate" required_reagents = list("water" = 1, "carbon" = 1, "charcoal" = 1) + result_amount = 2 /datum/chemical_reaction/synaptizine name = "Synaptizine" id = "synaptizine" - results = list("synaptizine" = 3) + result = "synaptizine" required_reagents = list("sugar" = 1, "lithium" = 1, "water" = 1) + result_amount = 3 /datum/chemical_reaction/charcoal name = "Charcoal" id = "charcoal" - results = list("charcoal" = 2) + result = "charcoal" 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" - results = list("silver_sulfadiazine" = 5) + result = "silver_sulfadiazine" 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" - results = list("salglu_solution" = 3) + result = "salglu_solution" required_reagents = list("sodiumchloride" = 1, "water" = 1, "sugar" = 1) + result_amount = 3 /datum/chemical_reaction/mine_salve name = "Miner's Salve" id = "mine_salve" - results = list("mine_salve" = 3) + result = "mine_salve" required_reagents = list("oil" = 1, "water" = 1, "iron" = 1) + result_amount = 3 /datum/chemical_reaction/mine_salve2 name = "Miner's Salve" id = "mine_salve" - results = list("mine_salve" = 15) + result = "mine_salve" 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" - results = list("synthflesh" = 3) + result = "synthflesh" required_reagents = list("blood" = 1, "carbon" = 1, "styptic_powder" = 1) + result_amount = 3 /datum/chemical_reaction/styptic_powder name = "Styptic Powder" id = "styptic_powder" - results = list("styptic_powder" = 4) + result = "styptic_powder" 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" - results = list("calomel" = 2) + result = "calomel" required_reagents = list("mercury" = 1, "chlorine" = 1) + result_amount = 2 required_temp = 374 /datum/chemical_reaction/potass_iodide name = "Potassium Iodide" id = "potass_iodide" - results = list("potass_iodide" = 2) + result = "potass_iodide" required_reagents = list("potassium" = 1, "iodine" = 1) + result_amount = 2 /datum/chemical_reaction/pen_acid name = "Pentetic Acid" id = "pen_acid" - results = list("pen_acid" = 6) + result = "pen_acid" 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" - results = list("sal_acid" = 5) + result = "sal_acid" required_reagents = list("sodium" = 1, "phenol" = 1, "carbon" = 1, "oxygen" = 1, "sacid" = 1) + result_amount = 5 /datum/chemical_reaction/oxandrolone name = "Oxandrolone" id = "oxandrolone" - results = list("oxandrolone" = 6) + result = "oxandrolone" required_reagents = list("carbon" = 3, "phenol" = 1, "hydrogen" = 1, "oxygen" = 1) + result_amount = 6 /datum/chemical_reaction/salbutamol name = "Salbutamol" id = "salbutamol" - results = list("salbutamol" = 5) + result = "salbutamol" 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" - results = list("perfluorodecalin" = 3) + result = "perfluorodecalin" 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" - results = list("ephedrine" = 4) + result = "ephedrine" 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" - results = list("diphenhydramine" = 4) + result = "diphenhydramine" 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" - results = list("oculine" = 3) + result = "oculine" 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" - results = list("atropine" = 5) + result = "atropine" required_reagents = list("ethanol" = 1, "acetone" = 1, "diethylamine" = 1, "phenol" = 1, "sacid" = 1) + result_amount = 5 /datum/chemical_reaction/epinephrine name = "Epinephrine" id = "epinephrine" - results = list("epinephrine" = 6) + result = "epinephrine" 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" - results = list("strange_reagent" = 3) + result = "strange_reagent" required_reagents = list("omnizine" = 1, "holywater" = 1, "mutagen" = 1) + result_amount = 3 /datum/chemical_reaction/mannitol name = "Mannitol" id = "mannitol" - results = list("mannitol" = 3) + result = "mannitol" 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" - results = list("mutadone" = 3) + result = "mutadone" required_reagents = list("mutagen" = 1, "acetone" = 1, "bromine" = 1) + result_amount = 3 /datum/chemical_reaction/antihol name = "antihol" id = "antihol" - results = list("antihol" = 3) + result = "antihol" required_reagents = list("ethanol" = 1, "charcoal" = 1, "copper" = 1) + result_amount = 3 /datum/chemical_reaction/cryoxadone name = "Cryoxadone" id = "cryoxadone" - results = list("cryoxadone" = 3) + result = "cryoxadone" required_reagents = list("stable_plasma" = 1, "acetone" = 1, "mutagen" = 1) + result_amount = 3 /datum/chemical_reaction/haloperidol name = "Haloperidol" id = "haloperidol" - results = list("haloperidol" = 5) + result = "haloperidol" 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" - results = list("bicaridine" = 3) + result = "bicaridine" required_reagents = list("carbon" = 1, "oxygen" = 1, "sugar" = 1) + result_amount = 3 /datum/chemical_reaction/kelotane name = "Kelotane" id = "kelotane" - results = list("kelotane" = 2) + result = "kelotane" required_reagents = list("carbon" = 1, "silicon" = 1) + result_amount = 2 + /datum/chemical_reaction/antitoxin name = "Antitoxin" id = "antitoxin" - results = list("antitoxin" = 3) + result = "antitoxin" required_reagents = list("nitrogen" = 1, "silicon" = 1, "potassium" = 1) + result_amount = 3 /datum/chemical_reaction/tricordrazine name = "Tricordrazine" id = "tricordrazine" - results = list("tricordrazine" = 3) - required_reagents = list("bicaridine" = 1, "kelotane" = 1, "antitoxin" = 1) \ No newline at end of file + result = "tricordrazine" + required_reagents = list("bicaridine" = 1, "kelotane" = 1, "antitoxin" = 1) + result_amount = 3 \ 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 ee027a5d23b..9aabf7b8aae 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -2,183 +2,211 @@ /datum/chemical_reaction/sterilizine name = "Sterilizine" id = "sterilizine" - results = list("sterilizine" = 3) + result = "sterilizine" required_reagents = list("ethanol" = 1, "charcoal" = 1, "chlorine" = 1) + result_amount = 3 /datum/chemical_reaction/lube name = "Space Lube" id = "lube" - results = list("lube" = 4) + result = "lube" required_reagents = list("water" = 1, "silicon" = 1, "oxygen" = 1) + result_amount = 4 /datum/chemical_reaction/spraytan name = "Spray Tan" id = "spraytan" - results = list("spraytan" = 2) + result = "spraytan" required_reagents = list("orangejuice" = 1, "oil" = 1) + result_amount = 2 /datum/chemical_reaction/spraytan2 name = "Spray Tan" id = "spraytan" - results = list("spraytan" = 2) + result = "spraytan" required_reagents = list("orangejuice" = 1, "cornoil" = 1) + result_amount = 2 /datum/chemical_reaction/impedrezene name = "Impedrezene" id = "impedrezene" - results = list("impedrezene" = 2) + result = "impedrezene" required_reagents = list("mercury" = 1, "oxygen" = 1, "sugar" = 1) + result_amount = 2 /datum/chemical_reaction/cryptobiolin name = "Cryptobiolin" id = "cryptobiolin" - results = list("cryptobiolin" = 3) + result = "cryptobiolin" required_reagents = list("potassium" = 1, "oxygen" = 1, "sugar" = 1) + result_amount = 3 /datum/chemical_reaction/glycerol name = "Glycerol" id = "glycerol" - results = list("glycerol" = 1) + result = "glycerol" required_reagents = list("cornoil" = 3, "sacid" = 1) + result_amount = 1 /datum/chemical_reaction/sodiumchloride name = "Sodium Chloride" id = "sodiumchloride" - results = list("sodiumchloride" = 3) + result = "sodiumchloride" 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) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/stack/sheet/mineral/plasma(location) + new /obj/item/stack/sheet/mineral/plasma(location) + return /datum/chemical_reaction/capsaicincondensation name = "Capsaicincondensation" id = "capsaicincondensation" - results = list("condensedcapsaicin" = 5) + result = "condensedcapsaicin" 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) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/soap/homemade(location) + new /obj/item/weapon/soap/homemade(location) + return /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) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/candle(location) + new /obj/item/candle(location) + return /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) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/meatproduct(location) + new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/meatproduct(location) return /datum/chemical_reaction/carbondioxide name = "Direct Carbon Oxidation" id = "burningcarbon" - results = list("co2" = 3) + result = "co2" 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" - results = list("virusfood" = 15) + result = "virusfood" required_reagents = list("water" = 5, "milk" = 5) + result_amount = 15 /datum/chemical_reaction/virus_food_mutagen name = "mutagenic agar" id = "mutagenvirusfood" - results = list("mutagenvirusfood" = 1) + result = "mutagenvirusfood" required_reagents = list("mutagen" = 1, "virusfood" = 1) + result_amount = 1 /datum/chemical_reaction/virus_food_synaptizine name = "virus rations" id = "synaptizinevirusfood" - results = list("synaptizinevirusfood" = 1) + result = "synaptizinevirusfood" required_reagents = list("synaptizine" = 1, "virusfood" = 1) + result_amount = 1 /datum/chemical_reaction/virus_food_plasma name = "virus plasma" id = "plasmavirusfood" - results = list("plasmavirusfood" = 1) + result = "plasmavirusfood" required_reagents = list("plasma" = 1, "virusfood" = 1) + result_amount = 1 /datum/chemical_reaction/virus_food_plasma_synaptizine name = "weakened virus plasma" id = "weakplasmavirusfood" - results = list("weakplasmavirusfood" = 2) + result = "weakplasmavirusfood" required_reagents = list("synaptizine" = 1, "plasmavirusfood" = 1) + result_amount = 2 /datum/chemical_reaction/virus_food_mutagen_sugar name = "sucrose agar" id = "sugarvirusfood" - results = list("sugarvirusfood" = 2) + result = "sugarvirusfood" required_reagents = list("sugar" = 1, "mutagenvirusfood" = 1) + result_amount = 2 /datum/chemical_reaction/virus_food_mutagen_salineglucose name = "sucrose agar" id = "salineglucosevirusfood" - results = list("sugarvirusfood" = 2) + result = "sugarvirusfood" required_reagents = list("salglu_solution" = 1, "mutagenvirusfood" = 1) + result_amount = 2 /datum/chemical_reaction/virus_food_uranium name = "Decaying uranium gel" id = "uraniumvirusfood" - results = list("uraniumvirusfood" = 1) + result = "uraniumvirusfood" required_reagents = list("uranium" = 1, "virusfood" = 1) + result_amount = 1 /datum/chemical_reaction/virus_food_uranium_plasma name = "Unstable uranium gel" id = "uraniumvirusfood_plasma" - results = list("uraniumplasmavirusfood_unstable" = 1) + result = "uraniumplasmavirusfood_unstable" 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" - results = list("uraniumplasmavirusfood_stable" = 1) + result = "uraniumplasmavirusfood_stable" 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" - results = list("uraniumplasmavirusfood_stable" = 1) + result = "uraniumplasmavirusfood_stable" required_reagents = list("uranium" = 10, "silver" = 10, "plasma" = 1) + result_amount = 1 /datum/chemical_reaction/mix_virus name = "Mix Virus" id = "mixvirus" - results = list("blood" = 1) + result = "blood" required_reagents = list("virusfood" = 1) required_catalysts = list("blood" = 1) var/level_min = 0 @@ -304,13 +332,17 @@ /datum/chemical_reaction/surfactant name = "Foam surfactant" id = "foam surfactant" - results = list("fluorosurfactant" = 5) + result = "fluorosurfactant" 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) @@ -318,7 +350,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*2, location, holder) + s.set_up(created_volume, location, holder) s.start() holder.clear_reagents() return @@ -327,7 +359,9 @@ /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) @@ -337,14 +371,16 @@ M << "The solution spews out a metallic foam!" var/datum/effect_system/foam_spread/metal/s = new() - s.set_up(created_volume*5, location, holder, 1) + s.set_up(created_volume, 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) @@ -352,15 +388,16 @@ 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*5, location, holder, 2) + s.set_up(created_volume, location, holder, 2) s.start() holder.clear_reagents() /datum/chemical_reaction/foaming_agent name = "Foaming Agent" id = "foaming_agent" - results = list("foaming_agent" = 1) + result = "foaming_agent" required_reagents = list("lithium" = 1, "hydrogen" = 1) + result_amount = 1 /////////////////////////////// Cleaning and hydroponics ///////////////////////////////////////////////// @@ -368,149 +405,174 @@ /datum/chemical_reaction/ammonia name = "Ammonia" id = "ammonia" - results = list("ammonia" = 3) + result = "ammonia" required_reagents = list("hydrogen" = 3, "nitrogen" = 1) + result_amount = 3 /datum/chemical_reaction/diethylamine name = "Diethylamine" id = "diethylamine" - results = list("diethylamine" = 2) + result = "diethylamine" required_reagents = list ("ammonia" = 1, "ethanol" = 1) + result_amount = 2 /datum/chemical_reaction/space_cleaner name = "Space cleaner" id = "cleaner" - results = list("cleaner" = 2) + result = "cleaner" required_reagents = list("ammonia" = 1, "water" = 1) + result_amount = 2 /datum/chemical_reaction/plantbgone name = "Plant-B-Gone" id = "plantbgone" - results = list("plantbgone" = 5) + result = "plantbgone" required_reagents = list("toxin" = 1, "water" = 4) + result_amount = 5 /datum/chemical_reaction/weedkiller name = "Weed Killer" id = "weedkiller" - results = list("weedkiller" = 5) + result = "weedkiller" required_reagents = list("toxin" = 1, "ammonia" = 4) + result_amount = 5 /datum/chemical_reaction/pestkiller name = "Pest Killer" id = "pestkiller" - results = list("pestkiller" = 5) + result = "pestkiller" required_reagents = list("toxin" = 1, "ethanol" = 4) + result_amount = 5 /datum/chemical_reaction/drying_agent name = "Drying agent" id = "drying_agent" - results = list("drying_agent" = 3) + result = "drying_agent" required_reagents = list("stable_plasma" = 2, "ethanol" = 1, "sodium" = 1) + result_amount = 3 //////////////////////////////////// Other goon stuff /////////////////////////////////////////// /datum/chemical_reaction/acetone name = "acetone" id = "acetone" - results = list("acetone" = 3) + result = "acetone" required_reagents = list("oil" = 1, "welding_fuel" = 1, "oxygen" = 1) + result_amount = 3 /datum/chemical_reaction/carpet name = "carpet" id = "carpet" - results = list("carpet" = 2) + result = "carpet" required_reagents = list("space_drugs" = 1, "blood" = 1) + result_amount = 2 + /datum/chemical_reaction/oil name = "Oil" id = "oil" - results = list("oil" = 3) + result = "oil" required_reagents = list("welding_fuel" = 1, "carbon" = 1, "hydrogen" = 1) + result_amount = 3 /datum/chemical_reaction/phenol name = "phenol" id = "phenol" - results = list("phenol" = 3) + result = "phenol" required_reagents = list("water" = 1, "chlorine" = 1, "oil" = 1) + result_amount = 3 /datum/chemical_reaction/ash name = "Ash" id = "ash" - results = list("ash" = 1) + result = "ash" required_reagents = list("oil" = 1) + result_amount = 1 required_temp = 480 /datum/chemical_reaction/colorful_reagent name = "colorful_reagent" id = "colorful_reagent" - results = list("colorful_reagent" = 5) + result = "colorful_reagent" 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, rand(1, round(created_volume, 1)), "Life") // Lol. + chemical_mob_spawn(holder, 1, "Life") /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) - for(var/i = rand(1, created_volume), i <= created_volume, i++) // More lulz. - new /mob/living/simple_animal/pet/dog/corgi(location) + new /mob/living/simple_animal/pet/dog/corgi(location) ..() /datum/chemical_reaction/hair_dye name = "hair_dye" id = "hair_dye" - results = list("hair_dye" = 5) + result = "hair_dye" 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" - results = list("barbers_aid" = 5) + result = "barbers_aid" 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" - results = list("concentrated_barbers_aid" = 2) + result = "concentrated_barbers_aid" required_reagents = list("barbers_aid" = 1, "mutagen" = 1) + result_amount = 2 /datum/chemical_reaction/saltpetre name = "saltpetre" id = "saltpetre" - results = list("saltpetre" = 3) + result = "saltpetre" required_reagents = list("potassium" = 1, "nitrogen" = 1, "oxygen" = 3) + result_amount = 3 /datum/chemical_reaction/lye name = "lye" id = "lye" - results = list("lye" = 3) + result = "lye" required_reagents = list("sodium" = 1, "hydrogen" = 1, "oxygen" = 1) + result_amount = 3 /datum/chemical_reaction/lye2 name = "lye" id = "lye" - results = list("lye" = 2) + result = "lye" required_reagents = list("ash" = 1, "water" = 1) + result_amount = 2 /datum/chemical_reaction/royal_bee_jelly name = "royal bee jelly" id = "royal_bee_jelly" - results = list("royal_bee_jelly" = 5) + result = "royal_bee_jelly" required_reagents = list("mutagen" = 10, "honey" = 40) + result_amount = 5 /datum/chemical_reaction/laughter name = "laughter" id = "laughter" - results = list("laughter" = 10) // Fuck it. I'm not touching this one. + result = "laughter" 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 38e316be26b..af70d5ddb6a 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -1,6 +1,7 @@ /datum/chemical_reaction/reagent_explosion name = "Generic explosive" id = "reagent_explosion" + result = null var/strengthdiv = 10 var/modifier = 0 @@ -26,20 +27,22 @@ /datum/chemical_reaction/reagent_explosion/nitroglycerin name = "Nitroglycerin" id = "nitroglycerin" - results = list("nitroglycerin" = 2) + result = "nitroglycerin" 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*2) + holder.remove_reagent("nitroglycerin", created_volume) ..() /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 @@ -48,6 +51,7 @@ 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 @@ -80,13 +84,15 @@ /datum/chemical_reaction/blackpowder name = "Black Powder" id = "blackpowder" - results = list("blackpowder" = 3) + result = "blackpowder" 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 @@ -99,32 +105,38 @@ /datum/chemical_reaction/thermite name = "Thermite" id = "thermite" - results = list("thermite" = 3) + result = "thermite" 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 / 12), round(created_volume / 7), 1) + empulse(location, round(created_volume / 24), round(created_volume / 14), 1) holder.clear_reagents() /datum/chemical_reaction/stabilizing_agent name = "stabilizing_agent" id = "stabilizing_agent" - results = list("stabilizing_agent" = 3) + result = "stabilizing_agent" required_reagents = list("iron" = 1, "oxygen" = 1, "hydrogen" = 1) + result_amount = 3 + /datum/chemical_reaction/clf3 name = "Chlorine Trifluoride" id = "clf3" - results = list("clf3" = 4) + result = "clf3" required_reagents = list("chlorine" = 1, "fluorine" = 3) + result_amount = 4 required_temp = 424 /datum/chemical_reaction/clf3/on_reaction(datum/reagents/holder, created_volume) @@ -133,10 +145,12 @@ PoolOrNew(/obj/effect/hotspot, turf) holder.chem_temp = 1000 // hot as shit + /datum/chemical_reaction/reagent_explosion/methsplosion/ name = "Meth explosion" id = "methboom1" - results = list("methboom1" = 1) + result = "methboom1" + result_amount = 1 required_temp = 380 //slightly above the meth mix time. required_reagents = list("methamphetamine" = 1) strengthdiv = 6 @@ -152,25 +166,28 @@ /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 - results = list("methboom1" = 4) // this is ugly. Sorry goof. + result_amount = 4 /datum/chemical_reaction/sorium name = "Sorium" id = "sorium" - results = list("sorium" = 4) + result = "sorium" 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*4) + holder.remove_reagent("sorium", created_volume) var/turf/T = get_turf(holder.my_atom) - var/range = Clamp(sqrt(created_volume*4), 1, 6) + var/range = Clamp(sqrt(created_volume), 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 @@ -179,23 +196,27 @@ 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" - results = list("liquid_dark_matter" = 3) + result = "liquid_dark_matter" 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*3) + holder.remove_reagent("liquid_dark_matter", created_volume) var/turf/T = get_turf(holder.my_atom) - var/range = Clamp(sqrt(created_volume*3), 1, 6) + var/range = Clamp(sqrt(created_volume), 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 @@ -207,8 +228,9 @@ /datum/chemical_reaction/flash_powder name = "Flash powder" id = "flash_powder" - results = list("flash_powder" = 3) + result = "flash_powder" 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")) @@ -217,18 +239,20 @@ 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/3, location)) + for(var/mob/living/carbon/C in get_hearers_in_view(created_volume/10, 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*3) + holder.remove_reagent("flash_powder", created_volume) /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) @@ -246,14 +270,15 @@ /datum/chemical_reaction/smoke_powder name = "smoke_powder" id = "smoke_powder" - results = list("smoke_powder" = 3) + result = "smoke_powder" 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*3) - var/smoke_radius = round(sqrt(created_volume * 1.5), 1) + holder.remove_reagent("smoke_powder", created_volume) + var/smoke_radius = round(sqrt(created_volume / 2), 1) var/location = get_turf(holder.my_atom) var/datum/effect_system/smoke_spread/chem/S = new S.attach(location) @@ -267,8 +292,10 @@ /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 @@ -284,19 +311,22 @@ if(holder && holder.my_atom) holder.clear_reagents() + + /datum/chemical_reaction/sonic_powder name = "sonic_powder" id = "sonic_powder" - results = list("sonic_powder" = 3) + result = "sonic_powder" 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*3) + holder.remove_reagent("sonic_powder", created_volume) 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/3, location)) + for(var/mob/living/carbon/C in get_hearers_in_view(created_volume/10, location)) if(C.check_ear_prot()) continue C.show_message("BANG", 2) @@ -311,8 +341,10 @@ /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) @@ -333,8 +365,9 @@ /datum/chemical_reaction/phlogiston name = "phlogiston" id = "phlogiston" - results = list("phlogiston" = 3) + result = "phlogiston" 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")) @@ -345,17 +378,21 @@ holder.clear_reagents() return + /datum/chemical_reaction/napalm name = "Napalm" id = "napalm" - results = list("napalm" = 3) + result = "napalm" required_reagents = list("oil" = 1, "welding_fuel" = 1, "ethanol" = 1 ) + result_amount = 3 + /datum/chemical_reaction/cryostylane name = "cryostylane" id = "cryostylane" - results = list("cryostylane" = 3) + result = "cryostylane" 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 @@ -365,8 +402,9 @@ /datum/chemical_reaction/pyrosium name = "pyrosium" id = "pyrosium" - results = list("pyrosium" = 3) + result = "pyrosium" 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 2ffb86885f9..e8a1778ae68 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -3,7 +3,9 @@ /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 @@ -18,8 +20,9 @@ /datum/chemical_reaction/slimeinaprov name = "Slime epinephrine" id = "m_inaprov" - results = list("epinephrine" = 3) + result = "epinephrine" required_reagents = list("water" = 5) + result_amount = 3 required_other = 1 required_container = /obj/item/slime_extract/grey @@ -29,7 +32,9 @@ /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 @@ -43,8 +48,9 @@ /datum/chemical_reaction/slimemutate name = "Mutation Toxin" id = "mutationtoxin" - results = list("mutationtoxin" = 1) + result = "mutationtoxin" required_reagents = list("plasma" = 1) + result_amount = 1 required_other = 1 required_container = /obj/item/slime_extract/green @@ -55,8 +61,9 @@ /datum/chemical_reaction/slimemutate_unstable name = "Unstable Mutation Toxin" id = "unstablemutationtoxin" - results = list("unstablemutationtoxin" = 1) + result = "unstablemutationtoxin" 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." @@ -68,7 +75,9 @@ /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 @@ -97,7 +106,9 @@ /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 @@ -110,7 +121,9 @@ /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 @@ -123,7 +136,9 @@ /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 @@ -137,7 +152,9 @@ /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 @@ -184,7 +201,9 @@ /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 @@ -213,8 +232,9 @@ /datum/chemical_reaction/slimefrost name = "Slime Frost Oil" id = "m_frostoil" - results = list("frostoil" = 10) + result = "frostoil" required_reagents = list("plasma" = 1) + result_amount = 10 required_container = /obj/item/slime_extract/blue required_other = 1 @@ -225,7 +245,9 @@ /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 @@ -240,7 +262,9 @@ /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 @@ -261,7 +285,9 @@ /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 @@ -274,8 +300,9 @@ /datum/chemical_reaction/slimecasp name = "Slime Capsaicin Oil" id = "m_capsaicinoil" - results = list("capsaicin" = 10) + result = "capsaicin" required_reagents = list("blood" = 1) + result_amount = 10 required_container = /obj/item/slime_extract/orange required_other = 1 @@ -285,7 +312,9 @@ /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 @@ -307,7 +336,9 @@ /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 @@ -319,7 +350,9 @@ /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 @@ -331,7 +364,9 @@ /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 @@ -347,7 +382,9 @@ /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 @@ -359,8 +396,9 @@ /datum/chemical_reaction/slimejam name = "Slime Jam" id = "m_jam" - results = list("slimejelly" = 10) + result = "slimejelly" required_reagents = list("sugar" = 1) + result_amount = 10 required_container = /obj/item/slime_extract/purple required_other = 1 @@ -372,7 +410,9 @@ /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 @@ -386,7 +426,9 @@ /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 @@ -398,7 +440,9 @@ /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 @@ -412,7 +456,9 @@ /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 @@ -426,7 +472,9 @@ /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 @@ -438,7 +486,9 @@ /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 @@ -451,8 +501,9 @@ /datum/chemical_reaction/slimemutate2 name = "Advanced Mutation Toxin" id = "mutationtoxin2" - results = list("amutationtoxin" = 1) + result = "amutationtoxin" required_reagents = list("plasma" = 1) + result_amount = 1 required_other = 1 required_container = /obj/item/slime_extract/black @@ -463,7 +514,9 @@ /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 @@ -488,6 +541,8 @@ /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 @@ -501,7 +556,9 @@ /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 @@ -515,7 +572,9 @@ /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 @@ -529,7 +588,9 @@ /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 @@ -543,7 +604,9 @@ /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 @@ -557,7 +620,9 @@ /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 @@ -570,7 +635,9 @@ /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 @@ -586,7 +653,9 @@ /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 @@ -600,7 +669,9 @@ /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 @@ -617,7 +688,9 @@ /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 @@ -633,7 +706,9 @@ /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 @@ -648,7 +723,9 @@ /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 5d4fd3ba501..c83fa4176bf 100644 --- a/code/modules/reagents/chemistry/recipes/toxins.dm +++ b/code/modules/reagents/chemistry/recipes/toxins.dm @@ -2,96 +2,111 @@ /datum/chemical_reaction/formaldehyde name = "formaldehyde" id = "Formaldehyde" - results = list("formaldehyde" = 3) + result = "formaldehyde" required_reagents = list("ethanol" = 1, "oxygen" = 1, "silver" = 1) + result_amount = 3 required_temp = 420 /datum/chemical_reaction/neurotoxin2 name = "neurotoxin2" id = "neurotoxin2" - results = list("neurotoxin2" = 1) + result = "neurotoxin2" required_reagents = list("space_drugs" = 1) + result_amount = 1 required_temp = 674 /datum/chemical_reaction/cyanide name = "Cyanide" id = "cyanide" - results = list("cyanide" = 3) + result = "cyanide" 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" - results = list("itching_powder" = 3) + result = "itching_powder" required_reagents = list("welding_fuel" = 1, "ammonia" = 1, "charcoal" = 1) + result_amount = 3 /datum/chemical_reaction/facid name = "Fluorosulfuric acid" id = "facid" - results = list("facid" = 4) + result = "facid" 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" - results = list("sulfonal" = 3) + result = "sulfonal" required_reagents = list("acetone" = 1, "diethylamine" = 1, "sulfur" = 1) + result_amount = 3 /datum/chemical_reaction/lipolicide name = "lipolicide" id = "lipolicide" - results = list("lipolicide" = 3) + result = "lipolicide" required_reagents = list("mercury" = 1, "diethylamine" = 1, "ephedrine" = 1) + result_amount = 3 /datum/chemical_reaction/mutagen name = "Unstable mutagen" id = "mutagen" - results = list("mutagen" = 3) + result = "mutagen" required_reagents = list("radium" = 1, "phosphorus" = 1, "chlorine" = 1) + result_amount = 3 /datum/chemical_reaction/lexorin name = "Lexorin" id = "lexorin" - results = list("lexorin" = 3) + result = "lexorin" required_reagents = list("plasma" = 1, "hydrogen" = 1, "nitrogen" = 1) + result_amount = 3 /datum/chemical_reaction/chloralhydrate name = "Chloral Hydrate" id = "chloralhydrate" - results = list("chloralhydrate" = 1) + result = "chloralhydrate" 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" - results = list("mutetoxin" = 2) + result = "mutetoxin" required_reagents = list("uranium" = 2, "water" = 1, "carbon" = 1) + result_amount = 2 /datum/chemical_reaction/zombiepowder name = "Zombie Powder" id = "zombiepowder" - results = list("zombiepowder" = 2) + result = "zombiepowder" required_reagents = list("carpotoxin" = 5, "morphine" = 5, "copper" = 5) + result_amount = 2 /datum/chemical_reaction/mindbreaker name = "Mindbreaker Toxin" id = "mindbreaker" - results = list("mindbreaker" = 5) + result = "mindbreaker" required_reagents = list("silicon" = 1, "hydrogen" = 1, "charcoal" = 1) + result_amount = 5 /datum/chemical_reaction/teslium name = "Teslium" id = "teslium" - results = list("teslium" = 3) + result = "teslium" 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" - results = list("heparin" = 4) + result = "heparin" 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 38c47790fc1..eaa9285a954 100644 Binary files a/icons/obj/reagentfillings.dmi and b/icons/obj/reagentfillings.dmi differ