User:DragonTrance
A wannabe Wiki Maintainer for TGMC, also a wannabe xeno main who dies as a queen 2 minutes after shutters open.
I don't keep myself informed on any ideas people get within code or the wiki, so I apologize in advance if I do something that you really wanted to accomplish.
Discord if you wanna talk: Cyanosis#3864
Current Wiki Goals:
- Spruce up the TGMC:Guide_to_chemistry to include relevant reactions and reagents
- Create TGMC:Guide_to_Food and TGMC:Guide_to_Drinks pages
- TGMC:Guide_to_Research
- Create something that discusses minimap icons and what they mean?
- Remake TGMC:Hivemind because it's kinda lackin
- Make templates for xeno abilities. It's a bit annoying having to edit certain abilities that other castes have that are mechanically identical
The Boys
TGMC Roles | ||
TerraGov Marines | Command | Captain, Field Commander, Staff Officer, Pilot Officer, Transport Officer, Mech Pilot |
Vehicle Crew | Assault Crewman, Transport Crewman | |
Engineering and Supply | Chief Ship Engineer, Requisitions Officer, Ship Technician | |
Medical | Chief Medical Officer, Medical Doctor, Researcher | |
Marines | Squad Leader, Squad Smartgunner, Squad Engineer, Squad Corpsman, Squad Marine | |
Civilians | Corporate Liaison | |
Silicon | Combat robots, Synthetic, AI | |
Xenomorphs | Tier 0 | Larva, Minions |
Tier 1 | Drone, Runner, Defender, Sentinel | |
Tier 2 | Hivelord, Carrier, Hunter, Wraith, Bull, Warrior, Puppeteer, Spitter, Pyrogen | |
Tier 3 | Gorger, Defiler, Widow, Ravager, Warlock, Behemoth, Crusher, Praetorian, Boiler | |
Tier 4 | Shrike, Queen, King, Hivemind | |
Others | Zombie, Emergency Response Teams, Sons of Mars, |
Reaction Code
Food
Tofu
/datum/chemical_reaction/tofu name = "Tofu" results = null required_reagents = list(/datum/reagent/consumable/drink/milk/soymilk = 10) required_catalysts = list(/datum/reagent/consumable/enzyme = 5)
/datum/chemical_reaction/tofu/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/reagent_containers/food/snacks/tofu(location)
</syntaxhighlight>Chocolate Bar
/datum/chemical_reaction/chocolate_bar name = "Chocolate Bar" results = null required_reagents = list(/datum/reagent/consumable/drink/milk/soymilk = 2, /datum/reagent/consumable/coco = 2, /datum/reagent/consumable/sugar = 2)
/datum/chemical_reaction/chocolate_bar/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/reagent_containers/food/snacks/chocolatebar(location)
</syntaxhighlight>Chocolate Bar
/datum/chemical_reaction/chocolate_bar2 name = "Chocolate Bar" results = null required_reagents = list(/datum/reagent/consumable/drink/milk = 2, /datum/reagent/consumable/coco = 2, /datum/reagent/consumable/sugar = 2)
/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++) new /obj/item/reagent_containers/food/snacks/chocolatebar(location)
</syntaxhighlight>Soy Sauce
/datum/chemical_reaction/soysauce name = "Soy Sauce" results = list(/datum/reagent/consumable/soysauce = 5) required_reagents = list(/datum/reagent/consumable/drink/milk/soymilk = 4, /datum/reagent/toxin/acid = 1)
</syntaxhighlight>Condensed Capsaicin
/datum/chemical_reaction/condensedcapsaicin name = "Condensed Capsaicin" results = list(/datum/reagent/consumable/capsaicin/condensed = 1) required_reagents = list(/datum/reagent/consumable/capsaicin = 2) required_catalysts = list(/datum/reagent/toxin/phoron = 5)
</syntaxhighlight>Sodium Chloride
/datum/chemical_reaction/sodiumchloride name = "Sodium Chloride" results = list(/datum/reagent/consumable/sodiumchloride = 2) required_reagents = list(/datum/reagent/sodium = 1, /datum/reagent/chlorine = 1)
</syntaxhighlight>Cheesewheel
/datum/chemical_reaction/cheesewheel name = "Cheesewheel" results = null required_reagents = list(/datum/reagent/consumable/drink/milk = 40) required_catalysts = list(/datum/reagent/consumable/enzyme = 5)
/datum/chemical_reaction/cheesewheel/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) new /obj/item/reagent_containers/food/snacks/sliceable/cheesewheel(location)
</syntaxhighlight>Syntiflesh
/datum/chemical_reaction/syntiflesh name = "Syntiflesh" results = null required_reagents = list(/datum/reagent/blood = 5, /datum/reagent/medicine/clonexadone = 1)
/datum/chemical_reaction/syntiflesh/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) new /obj/item/reagent_containers/food/snacks/meat/syntiflesh(location)
</syntaxhighlight>Hot Ramen
/datum/chemical_reaction/hot_ramen name = "Hot Ramen" results = list(/datum/reagent/consumable/hot_ramen = 3) required_reagents = list(/datum/reagent/water = 1, /datum/reagent/consumable/dry_ramen = 3)
</syntaxhighlight>Hell Ramen
/datum/chemical_reaction/hell_ramen name = "Hell Ramen" results = list(/datum/reagent/consumable/hell_ramen = 6) required_reagents = list(/datum/reagent/consumable/capsaicin = 1, /datum/reagent/consumable/hot_ramen = 6)
</syntaxhighlight>Drinks
Hot Coco
/datum/chemical_reaction/hot_coco name = "Hot Coco" results = list(/datum/reagent/consumable/drink/hot_coco = 5) required_reagents = list(/datum/reagent/water = 5, /datum/reagent/consumable/coco = 1)
</syntaxhighlight>Goldschlager
/datum/chemical_reaction/goldschlager name = "Goldschlager" results = list(/datum/reagent/consumable/ethanol/goldschlager = 10) required_reagents = list(/datum/reagent/consumable/ethanol/vodka = 10, /datum/reagent/gold = 1)
</syntaxhighlight>Patron
/datum/chemical_reaction/patron name = "Patron" results = list(/datum/reagent/consumable/ethanol/patron = 10) required_reagents = list(/datum/reagent/consumable/ethanol/tequila = 10, /datum/reagent/silver = 1)
</syntaxhighlight>Bilk
/datum/chemical_reaction/bilk name = "Bilk" results = list(/datum/reagent/consumable/ethanol/bilk = 2) required_reagents = list(/datum/reagent/consumable/drink/milk = 1, /datum/reagent/consumable/ethanol/beer = 1)
</syntaxhighlight>Iced Tea
/datum/chemical_reaction/icetea name = "Iced Tea" results = list(/datum/reagent/consumable/drink/tea/icetea = 4) required_reagents = list(/datum/reagent/consumable/drink/cold/ice = 1, /datum/reagent/consumable/drink/tea = 3)
</syntaxhighlight>Iced Coffee
/datum/chemical_reaction/icecoffee name = "Iced Coffee" results = list(/datum/reagent/consumable/drink/coffee/icecoffee = 4) required_reagents = list(/datum/reagent/consumable/drink/cold/ice = 1, /datum/reagent/consumable/drink/coffee = 3)
</syntaxhighlight>Nuka Cola
/datum/chemical_reaction/nuka_cola name = "Nuka Cola" results = list(/datum/reagent/consumable/drink/cold/nuka_cola = 6) required_reagents = list(/datum/reagent/uranium = 1, /datum/reagent/consumable/drink/cold/space_cola = 6)
</syntaxhighlight>Moonshine
/datum/chemical_reaction/moonshine name = "Moonshine" results = list(/datum/reagent/consumable/ethanol/moonshine = 15) required_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/sugar = 5) required_catalysts = list(/datum/reagent/consumable/enzyme = 5)
</syntaxhighlight>Grenadine Syrup
/datum/chemical_reaction/grenadine name = "Grenadine Syrup" results = list(/datum/reagent/consumable/drink/grenadine = 10) required_reagents = list(/datum/reagent/consumable/drink/berryjuice = 10) required_catalysts = list(/datum/reagent/consumable/enzyme = 5)
</syntaxhighlight>Wine
/datum/chemical_reaction/wine name = "Wine" results = list(/datum/reagent/consumable/ethanol/wine = 10) required_reagents = list(/datum/reagent/consumable/drink/grapejuice = 10) required_catalysts = list(/datum/reagent/consumable/enzyme = 5)
</syntaxhighlight>Poison Wine
/datum/chemical_reaction/pwine name = "Poison Wine" results = list(/datum/reagent/consumable/ethanol/pwine = 10) required_reagents = list(/datum/reagent/consumable/drink/poisonberryjuice = 10) required_catalysts = list(/datum/reagent/consumable/enzyme = 5)
</syntaxhighlight>Melon Liquor
/datum/chemical_reaction/melonliquor name = "Melon Liquor" results = list(/datum/reagent/consumable/ethanol/melonliquor = 10) required_reagents = list(/datum/reagent/consumable/drink/watermelonjuice = 10) required_catalysts = list(/datum/reagent/consumable/enzyme = 5)
</syntaxhighlight>Blue Curacao
/datum/chemical_reaction/bluecuracao name = "Blue Curacao" results = list(/datum/reagent/consumable/ethanol/bluecuracao = 10) required_reagents = list(/datum/reagent/consumable/drink/orangejuice = 10) required_catalysts = list(/datum/reagent/consumable/enzyme = 5)
</syntaxhighlight>Space Beer
/datum/chemical_reaction/spacebeer name = "Space Beer" results = list(/datum/reagent/consumable/ethanol/beer = 10) required_reagents = list(/datum/reagent/consumable/cornoil = 10) required_catalysts = list(/datum/reagent/consumable/enzyme = 5)
</syntaxhighlight>Vodka
/datum/chemical_reaction/vodka name = "Vodka" results = list(/datum/reagent/consumable/ethanol/vodka = 10) required_reagents = list(/datum/reagent/consumable/nutriment = 10) required_catalysts = list(/datum/reagent/consumable/enzyme = 5)
</syntaxhighlight>Sake
/datum/chemical_reaction/sake name = "Sake" results = list(/datum/reagent/consumable/ethanol/sake = 10) required_reagents = list(/datum/reagent/consumable/rice = 10) required_catalysts = list(/datum/reagent/consumable/enzyme = 5)
</syntaxhighlight>Kahlua
/datum/chemical_reaction/kahlua name = "Kahlua" results = list(/datum/reagent/consumable/ethanol/kahlua = 10) required_reagents = list(/datum/reagent/consumable/drink/coffee = 5, /datum/reagent/consumable/sugar = 5) required_catalysts = list(/datum/reagent/consumable/enzyme = 5)
</syntaxhighlight>Gin and Tonic
/datum/chemical_reaction/gin_tonic name = "Gin and Tonic" results = list(/datum/reagent/consumable/ethanol/gintonic = 3) required_reagents = list(/datum/reagent/consumable/ethanol/gin = 2, /datum/reagent/consumable/drink/cold/tonic = 1)
</syntaxhighlight>Cuba Libre
/datum/chemical_reaction/cuba_libre name = "Cuba Libre" results = list(/datum/reagent/consumable/ethanol/cuba_libre = 3) required_reagents = list(/datum/reagent/consumable/ethanol/rum = 2, /datum/reagent/consumable/drink/cold/space_cola = 1)
</syntaxhighlight>Classic Martini
/datum/chemical_reaction/martini name = "Classic Martini" results = list(/datum/reagent/consumable/ethanol/martini = 3) required_reagents = list(/datum/reagent/consumable/ethanol/gin = 2, /datum/reagent/consumable/ethanol/vermouth = 1)
</syntaxhighlight>Vodka Martini
/datum/chemical_reaction/vodkamartini name = "Vodka Martini" results = list(/datum/reagent/consumable/ethanol/vodkamartini = 3) required_reagents = list(/datum/reagent/consumable/ethanol/vodka = 2, /datum/reagent/consumable/ethanol/vermouth = 1)
</syntaxhighlight>White Russian
/datum/chemical_reaction/white_russian name = "White Russian" results = list(/datum/reagent/consumable/ethanol/white_russian = 5) required_reagents = list(/datum/reagent/consumable/ethanol/black_russian = 3, /datum/reagent/consumable/drink/milk/cream = 2)
</syntaxhighlight>Whiskey Cola
/datum/chemical_reaction/whiskey_cola name = "Whiskey Cola" results = list(/datum/reagent/consumable/ethanol/whiskey_cola = 3) required_reagents = list(/datum/reagent/consumable/ethanol/whiskey = 2, /datum/reagent/consumable/drink/cold/space_cola = 1)
</syntaxhighlight>Screwdriver
/datum/chemical_reaction/screwdriver name = "Screwdriver" results = list(/datum/reagent/consumable/ethanol/screwdrivercocktail = 3) required_reagents = list(/datum/reagent/consumable/ethanol/vodka = 2, /datum/reagent/consumable/drink/orangejuice = 1)
</syntaxhighlight>Bloody Mary
/datum/chemical_reaction/bloody_mary name = "Bloody Mary" results = list(/datum/reagent/consumable/ethanol/bloody_mary = 4) required_reagents = list(/datum/reagent/consumable/ethanol/vodka = 1, /datum/reagent/consumable/drink/tomatojuice = 2, /datum/reagent/consumable/drink/limejuice = 1)
</syntaxhighlight>Pan-Galactic Gargle Blaster
/datum/chemical_reaction/gargle_blaster name = "Pan-Galactic Gargle Blaster" results = list(/datum/reagent/consumable/drink/gargle_blaster = 5) required_reagents = list(/datum/reagent/consumable/ethanol/vodka = 1, /datum/reagent/consumable/ethanol/gin = 1, /datum/reagent/consumable/ethanol/whiskey = 1, /datum/reagent/consumable/ethanol/cognac = 1, /datum/reagent/consumable/drink/limejuice = 1)
</syntaxhighlight>Brave Bull
/datum/chemical_reaction/brave_bull name = "Brave Bull" results = list(/datum/reagent/consumable/ethanol/brave_bull = 3) required_reagents = list(/datum/reagent/consumable/ethanol/tequila = 2, /datum/reagent/consumable/ethanol/kahlua = 1)
</syntaxhighlight>Tequila Sunrise
/datum/chemical_reaction/tequila_sunrise name = "Tequila Sunrise" results = list(/datum/reagent/consumable/ethanol/tequila_sunrise = 3) required_reagents = list(/datum/reagent/consumable/ethanol/tequila = 2, /datum/reagent/consumable/drink/orangejuice = 1)
</syntaxhighlight>Toxins Special
/datum/chemical_reaction/phoron_special name = "Toxins Special" results = list(/datum/reagent/consumable/ethanol/toxins_special = 5) required_reagents = list(/datum/reagent/consumable/ethanol/rum = 2, /datum/reagent/consumable/ethanol/vermouth = 1, /datum/reagent/toxin/phoron = 2)
</syntaxhighlight>Beepsky Smash
/datum/chemical_reaction/beepsky_smash name = "Beepksy Smash" results = list(/datum/reagent/consumable/ethanol/beepsky_smash = 4) required_reagents = list(/datum/reagent/consumable/drink/limejuice = 2, /datum/reagent/consumable/ethanol/whiskey = 2, /datum/reagent/iron = 1)
</syntaxhighlight>The Doctor's Delight
/datum/chemical_reaction/doctor_delight name = "The Doctor's Delight" results = list(/datum/reagent/consumable/drink/doctor_delight = 5) required_reagents = list(/datum/reagent/consumable/drink/limejuice = 1, /datum/reagent/consumable/drink/tomatojuice = 1, /datum/reagent/consumable/drink/orangejuice = 1, /datum/reagent/consumable/drink/milk/cream = 1, /datum/reagent/medicine/tricordrazine = 1)
</syntaxhighlight>Irish Cream
/datum/chemical_reaction/irish_cream name = "Irish Cream" results = list(/datum/reagent/consumable/ethanol/irish_cream = 3) required_reagents = list(/datum/reagent/consumable/ethanol/whiskey = 2, /datum/reagent/consumable/drink/milk/cream = 1)
</syntaxhighlight>The Manly Dorf
/datum/chemical_reaction/manly_dorf name = "The Manly Dorf" results = list(/datum/reagent/consumable/ethanol/manly_dorf = 3) required_reagents = list (/datum/reagent/consumable/ethanol/beer = 1, /datum/reagent/consumable/ethanol/ale = 2)
</syntaxhighlight>Hooch
/datum/chemical_reaction/hooch name = "Hooch" results = list(/datum/reagent/consumable/ethanol/hooch = 3) required_reagents = list (/datum/reagent/consumable/sugar = 1, /datum/reagent/consumable/ethanol = 2, /datum/reagent/fuel = 1)
</syntaxhighlight>Irish Coffee
/datum/chemical_reaction/irish_coffee name = "Irish Coffee" results = list(/datum/reagent/consumable/ethanol/irishcoffee = 2) required_reagents = list(/datum/reagent/consumable/ethanol/irish_cream = 1, /datum/reagent/consumable/drink/coffee = 1)
</syntaxhighlight>B-52
/datum/chemical_reaction/b52 name = "B-52" results = list(/datum/reagent/consumable/ethanol/b52 = 3) required_reagents = list(/datum/reagent/consumable/ethanol/irish_cream = 1, /datum/reagent/consumable/ethanol/kahlua = 1, /datum/reagent/consumable/ethanol/cognac = 1)
</syntaxhighlight>Atomic Bomb
/datum/chemical_reaction/atomicbomb name = "Atomic Bomb" results = list(/datum/reagent/consumable/drink/atomicbomb = 10) required_reagents = list(/datum/reagent/consumable/ethanol/b52 = 10, /datum/reagent/uranium = 1)
</syntaxhighlight>Margarita
/datum/chemical_reaction/margarita name = "Margarita" results = list(/datum/reagent/consumable/ethanol/margarita = 3) required_reagents = list(/datum/reagent/consumable/ethanol/tequila = 2, /datum/reagent/consumable/drink/limejuice = 1)
</syntaxhighlight>Long Island Iced Tea
/datum/chemical_reaction/longislandicedtea name = "Long Island Iced Tea" results = list(/datum/reagent/consumable/ethanol/longislandicedtea = 4) required_reagents = list(/datum/reagent/consumable/ethanol/vodka = 1, /datum/reagent/consumable/ethanol/gin = 1, /datum/reagent/consumable/ethanol/tequila = 1, /datum/reagent/consumable/ethanol/cuba_libre = 1)
</syntaxhighlight>Three Mile Island Iced Tea
/datum/chemical_reaction/threemileisland name = "Three Mile Island Iced Tea" results = list(/datum/reagent/consumable/ethanol/threemileisland = 10) required_reagents = list(/datum/reagent/consumable/ethanol/longislandicedtea = 10, /datum/reagent/uranium = 1)
</syntaxhighlight>Whiskey Soda
/datum/chemical_reaction/whiskeysoda name = "Whiskey Soda" results = list(/datum/reagent/consumable/ethanol/whiskeysoda = 10) required_reagents = list(/datum/reagent/consumable/ethanol/whiskey = 2, /datum/reagent/consumable/drink/cold/sodawater = 1)
</syntaxhighlight>Black Russian
/datum/chemical_reaction/black_russian name = "Black Russian" results = list(/datum/reagent/consumable/ethanol/black_russian = 5) required_reagents = list(/datum/reagent/consumable/ethanol/vodka = 3, /datum/reagent/consumable/ethanol/kahlua = 2)
</syntaxhighlight>Manhattan
/datum/chemical_reaction/manhattan name = "Manhattan" results = list(/datum/reagent/consumable/ethanol/manhattan = 3) required_reagents = list(/datum/reagent/consumable/ethanol/whiskey = 2, /datum/reagent/consumable/ethanol/vermouth = 1)
</syntaxhighlight>Manhattan Project
/datum/chemical_reaction/manhattan_proj name = "Manhattan Project" results = list(/datum/reagent/consumable/ethanol/manhattan_proj = 10) required_reagents = list(/datum/reagent/consumable/ethanol/manhattan = 10, /datum/reagent/uranium = 1)
</syntaxhighlight>Vodka and Tonic
/datum/chemical_reaction/vodka_tonic name = "Vodka and Tonic" results = list(/datum/reagent/consumable/ethanol/vodkatonic = 3) required_reagents = list(/datum/reagent/consumable/ethanol/vodka = 2, /datum/reagent/consumable/drink/cold/tonic = 1)
</syntaxhighlight>Gin Fizz
/datum/chemical_reaction/gin_fizz name = "Gin Fizz" results = list(/datum/reagent/consumable/ethanol/ginfizz = 4) required_reagents = list(/datum/reagent/consumable/ethanol/gin = 2, /datum/reagent/consumable/drink/cold/sodawater = 1, /datum/reagent/consumable/drink/limejuice = 1)
</syntaxhighlight>Bahama mama
/datum/chemical_reaction/bahama_mama name = "Bahama mama" results = list(/datum/reagent/consumable/ethanol/bahama_mama = 6) required_reagents = list(/datum/reagent/consumable/ethanol/rum = 2, /datum/reagent/consumable/drink/orangejuice = 2, /datum/reagent/consumable/drink/limejuice = 1, /datum/reagent/consumable/drink/cold/ice = 1)
</syntaxhighlight>Singulo
/datum/chemical_reaction/singulo name = "Singulo" results = list(/datum/reagent/consumable/ethanol/singulo = 10) required_reagents = list(/datum/reagent/consumable/ethanol/vodka = 5, /datum/reagent/radium = 1, /datum/reagent/consumable/ethanol/wine = 5)
</syntaxhighlight>Allies Cocktail
/datum/chemical_reaction/alliescocktail name = "Allies Cocktail" results = list(/datum/reagent/consumable/ethanol/alliescocktail = 2) required_reagents = list(/datum/reagent/consumable/ethanol/martini = 1, /datum/reagent/consumable/ethanol/vodka = 1)
</syntaxhighlight>Demons Blood
/datum/chemical_reaction/demonsblood name = "Demons Blood" results = list(/datum/reagent/consumable/ethanol/demonsblood = 4) required_reagents = list(/datum/reagent/consumable/ethanol/rum = 1, /datum/reagent/consumable/drink/cold/spacemountainwind = 1, /datum/reagent/blood = 1, /datum/reagent/consumable/drink/cold/dr_gibb = 1)
</syntaxhighlight>Booger
/datum/chemical_reaction/booger name = "Booger" results = list(/datum/reagent/consumable/ethanol/booger = 4) required_reagents = list(/datum/reagent/consumable/drink/milk/cream = 1, /datum/reagent/consumable/drink/banana = 1, /datum/reagent/consumable/ethanol/rum = 1, /datum/reagent/consumable/drink/watermelonjuice = 1)
</syntaxhighlight>Anti-freeze
/datum/chemical_reaction/antifreeze name = "Anti-freeze" results = list(/datum/reagent/consumable/ethanol/antifreeze = 4) required_reagents = list(/datum/reagent/consumable/ethanol/vodka = 2, /datum/reagent/consumable/drink/milk/cream = 1, /datum/reagent/consumable/drink/cold/ice = 1)
</syntaxhighlight>Barefoot
/datum/chemical_reaction/barefoot name = "Barefoot" results = list(/datum/reagent/consumable/ethanol/barefoot = 3) required_reagents = list(/datum/reagent/consumable/drink/berryjuice = 1, /datum/reagent/consumable/drink/milk/cream = 1, /datum/reagent/consumable/ethanol/vermouth = 1)
</syntaxhighlight>Grape Soda
/datum/chemical_reaction/grapesoda name = "Grape Soda" results = list(/datum/reagent/consumable/drink/grapesoda = 3) required_reagents = list(/datum/reagent/consumable/drink/grapejuice = 2, /datum/reagent/consumable/drink/cold/space_cola = 1)
</syntaxhighlight>Sbiten
/datum/chemical_reaction/sbiten name = "Sbiten" results = list(/datum/reagent/consumable/ethanol/sbiten = 10) required_reagents = list(/datum/reagent/consumable/ethanol/vodka = 10, /datum/reagent/consumable/capsaicin = 1)
</syntaxhighlight>Red Mead
/datum/chemical_reaction/red_mead name = "Red Mead" results = list(/datum/reagent/consumable/ethanol/red_mead = 2) required_reagents = list(/datum/reagent/blood = 1, /datum/reagent/consumable/ethanol/mead = 1)
</syntaxhighlight>Mead
/datum/chemical_reaction/mead name = "Mead" results = list(/datum/reagent/consumable/ethanol/mead = 2) required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/water = 1) required_catalysts = list(/datum/reagent/consumable/enzyme = 5)
</syntaxhighlight>Iced Beer
/datum/chemical_reaction/iced_beer name = "Iced Beer" results = list(/datum/reagent/consumable/ethanol/iced_beer = 10) required_reagents = list(/datum/reagent/consumable/ethanol/beer = 10, /datum/reagent/consumable/frostoil = 1)
</syntaxhighlight>Iced Beer
/datum/chemical_reaction/iced_beer2 name = "Iced Beer" results = list(/datum/reagent/consumable/ethanol/iced_beer = 6) required_reagents = list(/datum/reagent/consumable/ethanol/beer = 5, /datum/reagent/consumable/drink/cold/ice = 1)
</syntaxhighlight>Grog
/datum/chemical_reaction/grog name = "Grog" results = list(/datum/reagent/consumable/ethanol/grog = 2) required_reagents = list(/datum/reagent/consumable/ethanol/rum = 1, /datum/reagent/water = 1)
</syntaxhighlight>Soy Latte
/datum/chemical_reaction/soy_latte name = "Soy Latte" results = list(/datum/reagent/consumable/drink/coffee/soy_latte = 2) required_reagents = list(/datum/reagent/consumable/drink/coffee = 1, /datum/reagent/consumable/drink/milk/soymilk = 1)
</syntaxhighlight>Cafe Latte
/datum/chemical_reaction/cafe_latte name = "Cafe Latte" results = list(/datum/reagent/consumable/drink/coffee/cafe_latte = 2) required_reagents = list(/datum/reagent/consumable/drink/coffee = 1, /datum/reagent/consumable/drink/milk = 1)
</syntaxhighlight>Acid Spit
/datum/chemical_reaction/acidspit name = "Acid Spit" results = list(/datum/reagent/consumable/ethanol/acid_spit = 6) required_reagents = list(/datum/reagent/toxin/acid = 1, /datum/reagent/consumable/ethanol/wine = 5)
</syntaxhighlight>Amasec
/datum/chemical_reaction/amasec name = "Amasec" results = list(/datum/reagent/consumable/ethanol/amasec = 10) required_reagents = list(/datum/reagent/iron = 1, /datum/reagent/consumable/ethanol/wine = 5, /datum/reagent/consumable/ethanol/vodka = 5)
</syntaxhighlight>Changeling Sting
/datum/chemical_reaction/changelingsting name = "Changeling Sting" results = list(/datum/reagent/consumable/ethanol/changelingsting = 5) required_reagents = list(/datum/reagent/consumable/ethanol/screwdrivercocktail = 1, /datum/reagent/consumable/drink/limejuice = 1, /datum/reagent/consumable/drink/lemonjuice = 1)
</syntaxhighlight>Aloe
/datum/chemical_reaction/aloe name = "Aloe" results = list(/datum/reagent/consumable/ethanol/aloe = 2) required_reagents = list(/datum/reagent/consumable/drink/milk/cream = 1, /datum/reagent/consumable/ethanol/whiskey = 1, /datum/reagent/consumable/drink/watermelonjuice = 1)
</syntaxhighlight>Andalusia
/datum/chemical_reaction/andalusia name = "Andalusia" results = list(/datum/reagent/consumable/ethanol/andalusia = 3) required_reagents = list(/datum/reagent/consumable/ethanol/rum = 1, /datum/reagent/consumable/ethanol/whiskey = 1, /datum/reagent/consumable/drink/lemonjuice = 1)
</syntaxhighlight>Neurotoxin
/datum/chemical_reaction/neurotoxin name = "Neurotoxin" results = list(/datum/reagent/consumable/drink/neurotoxin = 2) required_reagents = list(/datum/reagent/consumable/drink/gargle_blaster = 1, /datum/reagent/toxin/sleeptoxin = 1)
</syntaxhighlight>Snow White
/datum/chemical_reaction/snowwhite name = "Snow White" results = list(/datum/reagent/consumable/ethanol/snowwhite = 2) required_reagents = list(/datum/reagent/consumable/ethanol/beer = 1, /datum/reagent/consumable/drink/cold/lemon_lime = 1)
</syntaxhighlight>Irish Car Bomb
/datum/chemical_reaction/irishcarbomb name = "Irish Car Bomb" results = list(/datum/reagent/consumable/ethanol/irishcarbomb = 2) required_reagents = list(/datum/reagent/consumable/ethanol/ale = 1, /datum/reagent/consumable/ethanol/irish_cream = 1)
</syntaxhighlight>Syndicate Bomb
/datum/chemical_reaction/syndicatebomb name = "Syndicate Bomb" results = list(/datum/reagent/consumable/ethanol/syndicatebomb = 2) required_reagents = list(/datum/reagent/consumable/ethanol/beer = 1, /datum/reagent/consumable/ethanol/whiskey_cola = 1)
</syntaxhighlight>Erika Surprise
/datum/chemical_reaction/erikasurprise name = "Erika Surprise" results = list(/datum/reagent/consumable/ethanol/erikasurprise = 5) required_reagents = list(/datum/reagent/consumable/ethanol/ale = 1, /datum/reagent/consumable/drink/limejuice = 1, /datum/reagent/consumable/ethanol/whiskey = 1, /datum/reagent/consumable/drink/banana = 1, /datum/reagent/consumable/drink/cold/ice = 1)
</syntaxhighlight>Devils Kiss
/datum/chemical_reaction/devilskiss name = "Devils Kiss" results = list(/datum/reagent/consumable/ethanol/devilskiss = 3) required_reagents = list(/datum/reagent/blood = 1, /datum/reagent/consumable/ethanol/kahlua = 1, /datum/reagent/consumable/ethanol/rum = 1)
</syntaxhighlight>Hippies Delight
/datum/chemical_reaction/hippiesdelight name = "Hippies Delight" results = list(/datum/reagent/consumable/drink/hippies_delight = 2) required_reagents = list(/datum/reagent/consumable/psilocybin = 1, /datum/reagent/consumable/drink/gargle_blaster = 1)
</syntaxhighlight>Banana Honk
/datum/chemical_reaction/bananahonk name = "Banana Honk" results = list(/datum/reagent/consumable/ethanol/bananahonk = 3) required_reagents = list(/datum/reagent/consumable/drink/banana = 1, /datum/reagent/consumable/drink/milk/cream = 1, /datum/reagent/consumable/sugar = 1)
</syntaxhighlight>Silencer
/datum/chemical_reaction/silencer name = "Silencer" results = list(/datum/reagent/consumable/ethanol/silencer = 3) required_reagents = list(/datum/reagent/consumable/drink/nothing = 1, /datum/reagent/consumable/drink/milk/cream = 1, /datum/reagent/consumable/sugar = 1)
</syntaxhighlight>Driest Martini
/datum/chemical_reaction/driestmartini name = "Driest Martini" results = list(/datum/reagent/consumable/ethanol/driestmartini = 2) required_reagents = list(/datum/reagent/consumable/drink/nothing = 1, /datum/reagent/consumable/ethanol/gin = 1)
</syntaxhighlight>Lemonade
/datum/chemical_reaction/lemonade name = "Lemonade" results = list(/datum/reagent/consumable/drink/cold/lemonade = 3) required_reagents = list(/datum/reagent/consumable/drink/lemonjuice = 1, /datum/reagent/consumable/sugar = 1, /datum/reagent/water = 1)
</syntaxhighlight>Kira Special
/datum/chemical_reaction/kiraspecial name = "Kira Special" results = list(/datum/reagent/consumable/drink/cold/kiraspecial = 2) required_reagents = list(/datum/reagent/consumable/drink/orangejuice = 1, /datum/reagent/consumable/drink/limejuice = 1, /datum/reagent/consumable/drink/cold/sodawater = 1)
</syntaxhighlight>Brown Star
/datum/chemical_reaction/brownstar name = "Brown Star" results = list(/datum/reagent/consumable/drink/cold/brownstar = 2) required_reagents = list(/datum/reagent/consumable/drink/orangejuice = 2, /datum/reagent/consumable/drink/cold/space_cola = 1)
</syntaxhighlight>Milkshake
/datum/chemical_reaction/milkshake name = "Milkshake" results = list(/datum/reagent/consumable/drink/cold/milkshake = 5) required_reagents = list(/datum/reagent/consumable/drink/milk/cream = 1, /datum/reagent/consumable/drink/cold/ice = 2, /datum/reagent/consumable/drink/milk = 2)
</syntaxhighlight>Rewriter
/datum/chemical_reaction/rewriter name = "Rewriter" results = list(/datum/reagent/consumable/drink/cold/rewriter = 2) required_reagents = list(/datum/reagent/consumable/drink/cold/spacemountainwind = 1, /datum/reagent/consumable/drink/coffee = 1)
</syntaxhighlight>Sui Dream
/datum/chemical_reaction/suidream name = "Sui Dream" results = list(/datum/reagent/consumable/ethanol/suidream = 4) required_reagents = list(/datum/reagent/consumable/drink/cold/space_up = 2, /datum/reagent/consumable/ethanol/bluecuracao = 1, /datum/reagent/consumable/ethanol/melonliquor = 1)
</syntaxhighlight>Medical
Tricordrazine
/datum/chemical_reaction/tricordrazine name = "Tricordrazine" results = list(/datum/reagent/medicine/tricordrazine = 2) required_reagents = list(/datum/reagent/medicine/inaprovaline = 1, /datum/reagent/medicine/dylovene = 1) mob_react = FALSE
</syntaxhighlight>Alkysine
/datum/chemical_reaction/alkysine name = "Alkysine" results = list(/datum/reagent/medicine/alkysine = 2) required_reagents = list(/datum/reagent/chlorine = 1, /datum/reagent/nitrogen = 1, /datum/reagent/medicine/dylovene = 1)
</syntaxhighlight>Dexalin
/datum/chemical_reaction/dexalin name = "Dexalin" results = list(/datum/reagent/medicine/dexalin = 1) required_reagents = list(/datum/reagent/oxygen = 2, /datum/reagent/toxin/phoron = 0.1) required_catalysts = list(/datum/reagent/toxin/phoron = 5)
</syntaxhighlight>Dermaline
/datum/chemical_reaction/dermalime name = "Dermaline" results = list(/datum/reagent/medicine/dermaline = 3) required_reagents = list(/datum/reagent/oxygen = 1, /datum/reagent/phosphorus = 1, /datum/reagent/medicine/kelotane = 1, /datum/reagent/medicine/lemoline = 1)
</syntaxhighlight>Dexalin Plus
/datum/chemical_reaction/dexalinplus name = "Dexalin Plus" results = list(/datum/reagent/medicine/dexalinplus = 3) required_reagents = list(/datum/reagent/medicine/dexalin = 1, /datum/reagent/carbon = 1, /datum/reagent/iron = 1)
</syntaxhighlight>Bicaridine
/datum/chemical_reaction/bicaridine name = "Bicaridine" results = list(/datum/reagent/medicine/bicaridine = 2) required_reagents = list(/datum/reagent/medicine/inaprovaline = 1, /datum/reagent/carbon = 1)
</syntaxhighlight>Meralyne
/datum/chemical_reaction/meralyne name = "Meralyne" results = list(/datum/reagent/medicine/meralyne = 3) required_reagents = list(/datum/reagent/medicine/inaprovaline = 1, /datum/reagent/medicine/bicaridine = 1, /datum/reagent/iron = 1, /datum/reagent/medicine/lemoline = 1)
</syntaxhighlight>Ryetalyn
/datum/chemical_reaction/ryetalyn name = "Ryetalyn" results = list(/datum/reagent/medicine/ryetalyn = 2) required_reagents = list(/datum/reagent/medicine/arithrazine = 1, /datum/reagent/carbon = 1)
</syntaxhighlight>Cryoxadone
/datum/chemical_reaction/cryoxadone name = "Cryoxadone" results = list(/datum/reagent/medicine/cryoxadone = 3) required_reagents = list(/datum/reagent/medicine/dexalin = 1, /datum/reagent/water = 1, /datum/reagent/oxygen = 1)
</syntaxhighlight>Clonexadone
/datum/chemical_reaction/clonexadone name = "Clonexadone" results = list(/datum/reagent/medicine/clonexadone = 2) required_reagents = list(/datum/reagent/medicine/cryoxadone = 1, /datum/reagent/sodium = 1, /datum/reagent/toxin/phoron = 0.1) required_catalysts = list(/datum/reagent/toxin/phoron = 5)
</syntaxhighlight>Spaceacillin
/datum/chemical_reaction/spaceacillin name = "Spaceacillin" results = list(/datum/reagent/medicine/spaceacillin = 2) required_reagents = list(/datum/reagent/cryptobiolin = 1, /datum/reagent/medicine/inaprovaline = 1)
</syntaxhighlight>Polyhexanide
/datum/chemical_reaction/polyhexanide name = "Polyhexanide" results = list(/datum/reagent/medicine/polyhexanide = 3) required_reagents = list(/datum/reagent/cryptobiolin = 1, /datum/reagent/medicine/spaceacillin = 1, /datum/reagent/sterilizine = 1)
</syntaxhighlight>Larvaway
/datum/chemical_reaction/larvaway name = "Larvaway" results = list(/datum/reagent/medicine/larvaway = 3) required_reagents = list(/datum/reagent/medicine/spaceacillin = 1, /datum/reagent/medicine/polyhexanide = 1, /datum/reagent/sterilizine = 1)
</syntaxhighlight>imidazoline
/datum/chemical_reaction/imidazoline name = "imidazoline" results = list(/datum/reagent/medicine/imidazoline = 2) required_reagents = list(/datum/reagent/carbon = 1, /datum/reagent/hydrogen = 1, /datum/reagent/medicine/dylovene = 1)
</syntaxhighlight>Ethylredoxrazine
/datum/chemical_reaction/ethylredoxrazine name = "Ethylredoxrazine" results = list(/datum/reagent/medicine/ethylredoxrazine = 3) required_reagents = list(/datum/reagent/oxygen = 1, /datum/reagent/medicine/dylovene = 1, /datum/reagent/carbon = 1)
</syntaxhighlight>ethanoloxidation
/datum/chemical_reaction/ethanoloxidation name = "ethanoloxidation" //Kind of a placeholder in case someone ever changes it so that chemicals results = list(/datum/reagent/water = 2) //H2O2 doesn't equal water, maybe change it in the future. required_reagents = list(/datum/reagent/medicine/ethylredoxrazine = 1, /datum/reagent/consumable/ethanol = 1)
</syntaxhighlight>Sterilizine
/datum/chemical_reaction/sterilizine name = "Sterilizine" results = list(/datum/reagent/sterilizine = 3) required_reagents = list(/datum/reagent/consumable/ethanol = 1, /datum/reagent/medicine/dylovene = 1, /datum/reagent/chlorine = 1)
</syntaxhighlight>Inaprovaline
/datum/chemical_reaction/inaprovaline name = "Inaprovaline" results = list(/datum/reagent/medicine/inaprovaline = 3) required_reagents = list(/datum/reagent/oxygen = 1, /datum/reagent/carbon = 1, /datum/reagent/consumable/sugar = 1)
</syntaxhighlight>Dylovene
/datum/chemical_reaction/dylovene name = "Dylovene" results = list(/datum/reagent/medicine/dylovene = 3) required_reagents = list(/datum/reagent/silicon = 1, /datum/reagent/potassium = 1, /datum/reagent/nitrogen = 1)
</syntaxhighlight>Tramadol
/datum/chemical_reaction/tramadol name = "Tramadol" results = list(/datum/reagent/medicine/tramadol = 3) required_reagents = list(/datum/reagent/medicine/inaprovaline = 1, /datum/reagent/consumable/ethanol = 1, /datum/reagent/oxygen = 1)
</syntaxhighlight>Paracetamol
/datum/chemical_reaction/paracetamol name = "Paracetamol" results = list(/datum/reagent/medicine/paracetamol = 3) required_reagents = list(/datum/reagent/medicine/tramadol = 1, /datum/reagent/consumable/sugar = 1, /datum/reagent/water = 1)
</syntaxhighlight>Oxycodone
/datum/chemical_reaction/oxycodone name = "Oxycodone" results = list(/datum/reagent/medicine/oxycodone = 1) required_reagents = list(/datum/reagent/consumable/ethanol = 1, /datum/reagent/medicine/tramadol = 1) required_catalysts = list(/datum/reagent/toxin/phoron = 1)
</syntaxhighlight>Synaptizine
/datum/chemical_reaction/synaptizine name = "Synaptizine" results = list(/datum/reagent/medicine/synaptizine = 3) required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/lithium = 1, /datum/reagent/water = 1)
</syntaxhighlight>Leporazine
/datum/chemical_reaction/leporazine name = "Leporazine" results = list(/datum/reagent/medicine/leporazine = 2) required_reagents = list(/datum/reagent/silicon = 1, /datum/reagent/copper = 1) required_catalysts = list(/datum/reagent/toxin/phoron = 5)
</syntaxhighlight>Hyronalin
/datum/chemical_reaction/hyronalin name = "Hyronalin" results = list(/datum/reagent/medicine/hyronalin = 2) required_reagents = list(/datum/reagent/radium = 1, /datum/reagent/medicine/dylovene = 1)
</syntaxhighlight>Arithrazine
/datum/chemical_reaction/arithrazine name = "Arithrazine" results = list(/datum/reagent/medicine/arithrazine = 2) required_reagents = list(/datum/reagent/medicine/hyronalin = 1, /datum/reagent/hydrogen = 1)
</syntaxhighlight>Kelotane
/datum/chemical_reaction/kelotane name = "Kelotane" results = list(/datum/reagent/medicine/kelotane = 2) required_reagents = list(/datum/reagent/silicon = 1, /datum/reagent/carbon = 1)
</syntaxhighlight>Peridaxon
/datum/chemical_reaction/peridaxon name = "Peridaxon" results = list(/datum/reagent/medicine/peridaxon = 2) required_reagents = list(/datum/reagent/medicine/bicaridine = 2, /datum/reagent/medicine/clonexadone = 2) required_catalysts = list(/datum/reagent/toxin/phoron = 5)
</syntaxhighlight>Peridaxon Plus
/datum/chemical_reaction/peridaxon_plus name = "Peridaxon Plus" results = list(/datum/reagent/medicine/peridaxon_plus = 1) required_reagents = list(/datum/reagent/medicine/peridaxon = 5, /datum/reagent/medicine/ryetalyn = 5, /datum/reagent/toxin/phoron = 5)
</syntaxhighlight>Quick-Clot
/datum/chemical_reaction/quickclot name = "Quick-Clot" results = list(/datum/reagent/medicine/quickclot = 1) required_reagents = list(/datum/reagent/medicine/kelotane = 2, /datum/reagent/medicine/clonexadone = 2) required_catalysts = list(/datum/reagent/toxin/phoron = 5)
</syntaxhighlight>Hypervene
/datum/chemical_reaction/hypervene //New purge chem. name = "Hypervene" results = list(/datum/reagent/hypervene = 3) required_reagents = list(/datum/reagent/medicine/arithrazine = 1, /datum/reagent/medicine/dylovene = 1, /datum/reagent/medicine/ethylredoxrazine = 1)
</syntaxhighlight>Neuraline
/datum/chemical_reaction/neuraline name = "Neuraline" results = list(/datum/reagent/medicine/neuraline = 4, /datum/reagent/toxin/huskpowder = 1) required_reagents = list(/datum/reagent/medicine/synaptizine = 1, /datum/reagent/medicine/arithrazine = 1, /datum/reagent/medicine/tricordrazine = 2, /datum/reagent/consumable/larvajellyprepared = 1) required_catalysts = list(/datum/reagent/medicine/lemoline = 5)
</syntaxhighlight>Lemoline catalysis
/datum/chemical_reaction/lemoline name = "Lemoline catalysis" results = list(/datum/reagent/medicine/lemoline = 5) //4 to one multiplication ratio required_reagents = list(/datum/reagent/medicine/lemoline = 1, /datum/reagent/consumable/larvajelly = 1)
</syntaxhighlight>Biomass
/datum/chemical_reaction/expanded_biomass name = "Biomass" results = list(/datum/reagent/medicine/biomass/xeno = 10) required_reagents = list(/datum/reagent/blood/xeno_blood = 10, /datum/reagent/medicine/biomass = 1)
</syntaxhighlight>Duplicate Bicaridine
/datum/chemical_reaction/dupl_bicaridine name = "Duplicate Bicaridine" results = list(/datum/reagent/medicine/bicaridine = 2) required_reagents = list(/datum/reagent/virilyth = 1, /datum/reagent/medicine/bicaridine = 1)
</syntaxhighlight>Duplicate Kelotane
/datum/chemical_reaction/dupl_kelotane name = "Duplicate Kelotane" results = list(/datum/reagent/medicine/kelotane = 2) required_reagents = list(/datum/reagent/virilyth = 1, /datum/reagent/medicine/kelotane = 1)
</syntaxhighlight>Duplicate Tramadol
/datum/chemical_reaction/dupl_tramadol name = "Duplicate Tramadol" results = list(/datum/reagent/medicine/tramadol = 2) required_reagents = list(/datum/reagent/virilyth = 1, /datum/reagent/medicine/tramadol = 1)
</syntaxhighlight>Duplicate Dylovene
/datum/chemical_reaction/dupl_dylovene name = "Duplicate Dylovene" results = list(/datum/reagent/medicine/dylovene = 2) required_reagents = list(/datum/reagent/virilyth = 1, /datum/reagent/medicine/dylovene = 1)
</syntaxhighlight>Bihexajuline
/datum/chemical_reaction/bihexajuline name = "Bihexajuline" results = list(/datum/reagent/medicine/bihexajuline = 5) required_reagents = list(/datum/reagent/medicine/bicaridine = 2, /datum/reagent/consumable/drink/milk = 1, /datum/reagent/iron = 2)
</syntaxhighlight>Quietus
/datum/chemical_reaction/quietus name = "Quietus" results = list(/datum/reagent/medicine/research/quietus = 1) required_reagents = list(/datum/reagent/toxin/chloralhydrate = 3, /datum/reagent/medicine/dylovene = 1, /datum/reagent/medicine/lemoline = 3)
</syntaxhighlight>Somolent
/datum/chemical_reaction/somolent name = "Somolent" results = list(/datum/reagent/medicine/research/somolent = 4) required_reagents = list(/datum/reagent/toxin/sleeptoxin = 1, /datum/reagent/medicine/tricordrazine = 1, /datum/reagent/consumable/drink/doctor_delight = 1, /datum/reagent/medicine/paracetamol = 1) required_catalysts = list(/datum/reagent/medicine/lemoline = 5)
</syntaxhighlight>Medical Nanites
/datum/chemical_reaction/medicalnanites name = "Medical Nanites" results = list(/datum/reagent/medicine/research/medicalnanites = 1) required_reagents = list(/datum/reagent/toxin/nanites = 10, /datum/reagent/radium = 5, /datum/reagent/iron = 100, /datum/reagent/medicine/lemoline = 5)
</syntaxhighlight>Stimulum
/datum/chemical_reaction/stimulum name = "Stimulum" results = list(/datum/reagent/medicine/research/stimulon = 1) required_reagents = list(/datum/reagent/medicine/synaptizine = 10, /datum/reagent/medicine/arithrazine = 20, /datum/reagent/consumable/nutriment = 20, /datum/reagent/medicine/lemoline = 20)
</syntaxhighlight>Pyrotechnics
Chemsmoke
/datum/chemical_reaction/chemsmoke name = "Chemsmoke" required_reagents = list(/datum/reagent/potassium = 1, /datum/reagent/consumable/sugar = 1, /datum/reagent/phosphorus = 1)
/datum/chemical_reaction/chemsmoke/on_reaction(datum/reagents/holder, created_volume) var/smoke_radius = round(sqrt(created_volume * 0.8), 1) var/location = get_turf(holder.my_atom) var/datum/effect_system/smoke_spread/chem/S = new(location) playsound(location, 'sound/effects/smoke.ogg', 50, 1, -3) S?.set_up(holder, smoke_radius, location) S?.start() if(holder?.my_atom) holder.clear_reagents()
</syntaxhighlight>Foam surfactant
/datum/chemical_reaction/surfactant name = "Foam surfactant" results = list(/datum/reagent/fluorosurfactant = 5) required_reagents = list(/datum/reagent/fluorine = 2, /datum/reagent/carbon = 2, /datum/reagent/toxin/acid = 1)
</syntaxhighlight>Foam
/datum/chemical_reaction/foam name = "Foam" required_reagents = list(/datum/reagent/fluorosurfactant = 1, /datum/reagent/water = 1) mob_react = FALSE
/datum/chemical_reaction/foam/on_reaction(datum/reagents/holder, created_volume) var/turf/location = get_turf(holder.my_atom) location.visible_message(span_warning("The solution spews out foam!")) var/datum/effect_system/foam_spread/s = new() s.set_up(created_volume, location, holder, NONE) s.start() holder.clear_reagents()
</syntaxhighlight>Metal Foam
/datum/chemical_reaction/metalfoam name = "Metal Foam" required_reagents = list(/datum/reagent/aluminum = 3, /datum/reagent/foaming_agent = 1, /datum/reagent/toxin/acid/polyacid = 1) mob_react = FALSE
/datum/chemical_reaction/metalfoam/on_reaction(datum/reagents/holder, created_volume) var/turf/location = get_turf(holder.my_atom) location.visible_message(span_warning("The solution spews out a metalic foam!"))
var/datum/effect_system/foam_spread/s = new() s.set_up(created_volume, location, holder, METAL_FOAM) s.start() holder.clear_reagents()
</syntaxhighlight>Iron Foam
/datum/chemical_reaction/ironfoam name = "Iron Foam" required_reagents = list(/datum/reagent/iron = 3, /datum/reagent/foaming_agent = 1, /datum/reagent/toxin/acid = 1) mob_react = FALSE
/datum/chemical_reaction/ironfoam/on_reaction(datum/reagents/holder, created_volume) var/turf/location = get_turf(holder.my_atom) location.visible_message(span_warning("The solution spews out a metallic foam!")) var/datum/effect_system/foam_spread/s = new() s.set_up(created_volume, location, holder, METAL_FOAM) s.start() holder.clear_reagents()
</syntaxhighlight>Razorburn Gas
/datum/chemical_reaction/razorburn name = "Razorburn Gas" required_reagents = list(/datum/reagent/foaming_agent = 1, /datum/reagent/toxin/nanites = 1)
/datum/chemical_reaction/razorburn/on_reaction(datum/reagents/holder, created_volume) var/turf/location = get_turf(holder.my_atom) location.visible_message(span_danger("The solution spews out a dense, ground-hugging gas! Get away!")) var/datum/effect_system/foam_spread/s = new() s.set_up(created_volume, location, holder, RAZOR_FOAM) s.start() holder.clear_reagents()
</syntaxhighlight>Foaming Agent
/datum/chemical_reaction/foaming_agent name = "Foaming Agent" results = list(/datum/reagent/foaming_agent = 1) required_reagents = list(/datum/reagent/lithium = 1, /datum/reagent/hydrogen = 1)
</syntaxhighlight>Flash powder
/datum/chemical_reaction/flash_powder name = "Flash powder" required_reagents = list(/datum/reagent/aluminum = 1, /datum/reagent/potassium = 1, /datum/reagent/sulfur = 1)
/datum/chemical_reaction/flash_powder/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) 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/M in viewers(WORLD_VIEW, location)) switch(get_dist(M, location)) if(0 to 3) if(M.flash_act()) M.Paralyze(30 SECONDS)
if(4 to 5) if(M.flash_act()) M.Stun(10 SECONDS)
</syntaxhighlight>Napalm
/datum/chemical_reaction/napalm name = "Napalm" required_reagents = list(/datum/reagent/aluminum = 1, /datum/reagent/toxin/phoron = 2, /datum/reagent/toxin/acid = 1 )
/datum/chemical_reaction/napalm/on_reaction(datum/reagents/holder, created_volume, radius) radius = round(sqrt(created_volume * 0.15)) //allows a nice, healthy 3-tile fire if using 2 120u beakers fully filled up. flame_radius(radius, get_turf(holder.my_atom))
</syntaxhighlight>White Phosphorous smoke
/datum/chemical_reaction/wpsmoke name = "White Phosphorous smoke" required_reagents = list(/datum/reagent/phosphorus = 2, /datum/reagent/silicon = 1, /datum/reagent/chlorine = 1)
/datum/chemical_reaction/wpsmoke/on_reaction(datum/reagents/holder, created_volume) var/smoke_radius = round(sqrt(created_volume * 0.66), 1) var/datum/effect_system/smoke_spread/phosphorus/smoke = new smoke.set_up(smoke_radius, get_turf(holder.my_atom), 11) smoke.start() playsound(get_turf(holder.my_atom), 'sound/effects/smoke.ogg', 50, 1, -3)
</syntaxhighlight>Tanglefoot smoke
/datum/chemical_reaction/plasmalosssmoke name = "Tanglefoot smoke" required_reagents = list(/datum/reagent/toxin/sleeptoxin = 2, /datum/reagent/medicine/synaptizine = 1, /datum/reagent/sulfur = 1)
/datum/chemical_reaction/plasmalosssmoke/on_reaction(datum/reagents/holder, created_volume) var/smoke_radius = round(sqrt(created_volume), 1) var/datum/effect_system/smoke_spread/plasmaloss/smoke = new smoke.set_up(smoke_radius, get_turf(holder.my_atom), 11) smoke.start() playsound(get_turf(holder.my_atom), 'sound/effects/smoke.ogg', 50, 1, -3)
</syntaxhighlight>Gunpowder
/datum/chemical_reaction/explosive/gunpowder name = "Gunpowder" required_reagents = list(/datum/reagent/potassium = 1, /datum/reagent/oxygen = 3, /datum/reagent/sulfur = 1, /datum/reagent/carbon = 1)
/datum/chemical_reaction/explosive/gunpowder/on_reaction(datum/reagents/holder, created_volume) var/radius = round(sqrt(created_volume* 0.5), 1) // should be about equal to the M15, maybe one tile more var/datum/effect_system/smoke_spread/bad/smoke = new smoke.set_up((radius - 1), get_turf(holder.my_atom), 2) smoke.start() explosion(get_turf(holder.my_atom), light_impact_range = radius, small_animation = TRUE)
</syntaxhighlight>ANFO
/datum/chemical_reaction/explosive/anfo name = "ANFO" required_reagents = list(/datum/reagent/ammonia = 1, /datum/reagent/fuel = 3)
/datum/chemical_reaction/explosive/anfo/on_reaction(datum/reagents/holder, created_volume) var/radius = round(sqrt(created_volume* 0.25), 1) // should be a max of 2 tiles if(radius > 2) radius = 2 //enforced by a hardcap. Sorry! explosion(get_turf(holder.my_atom), heavy_impact_range = radius, small_animation = TRUE)
</syntaxhighlight>Other
Serotrotium
/datum/chemical_reaction/serotrotium name = "Serotrotium" results = list(/datum/reagent/serotrotium = 1) //Weird emotes, chance of minor drowsiness. required_reagents = list(/datum/reagent/medicine/paracetamol = 1, /datum/reagent/medicine/tramadol = 1)
</syntaxhighlight>Toxin
/datum/chemical_reaction/toxin_two //Space Atropine! name = "Toxin" results = list(/datum/reagent/toxin = 3) required_reagents = list(/datum/reagent/medicine/synaptizine = 1, /datum/reagent/toxin/xeno_neurotoxin = 8)
</syntaxhighlight>Toxin
/datum/chemical_reaction/sdtoxin name = "Toxin" results = list(/datum/reagent/toxin/sdtoxin = 2) required_reagents = list(/datum/reagent/medicine/synaptizine = 1, /datum/reagent/medicine/dylovene = 1)
</syntaxhighlight>Soporific
/datum/chemical_reaction/sleeptoxin name = "Soporific" results = list(/datum/reagent/toxin/sleeptoxin = 5) required_reagents = list(/datum/reagent/toxin/chloralhydrate = 1, /datum/reagent/consumable/sugar = 4)
</syntaxhighlight>Unstable mutagen
/datum/chemical_reaction/mutagen name = "Unstable mutagen" results = list(/datum/reagent/toxin/mutagen = 3) required_reagents = list(/datum/reagent/radium = 1, /datum/reagent/phosphorus = 1, /datum/reagent/chlorine = 1)
</syntaxhighlight>Water
/datum/chemical_reaction/water //I can't believe we never had this. name = "Water" results = list(/datum/reagent/water = 1) required_reagents = list(/datum/reagent/oxygen = 1, /datum/reagent/hydrogen = 2)
</syntaxhighlight>Lexorin
/datum/chemical_reaction/lexorin name = "Lexorin" results = list(/datum/reagent/toxin/lexorin = 3) required_reagents = list(/datum/reagent/toxin/phoron = 1, /datum/reagent/hydrogen = 1, /datum/reagent/nitrogen = 1)
</syntaxhighlight>Space Drugs
/datum/chemical_reaction/space_drugs name = "Space Drugs" results = list(/datum/reagent/space_drugs = 3) required_reagents = list(/datum/reagent/mercury = 1, /datum/reagent/consumable/sugar = 1, /datum/reagent/lithium = 1)
</syntaxhighlight>Space Lube
/datum/chemical_reaction/lube name = "Space Lube" results = list(/datum/reagent/lube = 4) required_reagents = list(/datum/reagent/water = 1, /datum/reagent/silicon = 1, /datum/reagent/oxygen = 1)
</syntaxhighlight>Polytrinic acid
/datum/chemical_reaction/pacid name = "Polytrinic acid" results = list(/datum/reagent/toxin/acid/polyacid = 3) required_reagents = list(/datum/reagent/toxin/acid = 1, /datum/reagent/chlorine = 1, /datum/reagent/potassium = 1)
</syntaxhighlight>Impedrezene
/datum/chemical_reaction/impedrezene name = "Impedrezene" results = list(/datum/reagent/impedrezene = 2) required_reagents = list(/datum/reagent/mercury = 1, /datum/reagent/oxygen = 1, /datum/reagent/consumable/sugar = 1)
</syntaxhighlight>Cryptobiolin
/datum/chemical_reaction/cryptobiolin name = "Cryptobiolin" results = list(/datum/reagent/cryptobiolin = 3) required_reagents = list(/datum/reagent/potassium = 1, /datum/reagent/oxygen = 1, /datum/reagent/consumable/sugar = 1)
</syntaxhighlight>Glycerol
/datum/chemical_reaction/glycerol name = "Glycerol" results = list(/datum/reagent/glycerol = 1) required_reagents = list(/datum/reagent/consumable/cornoil = 3, /datum/reagent/toxin/acid = 1)
</syntaxhighlight>Chloral Hydrate
/datum/chemical_reaction/chloralhydrate name = "Chloral Hydrate" results = list(/datum/reagent/toxin/chloralhydrate = 1) required_reagents = list(/datum/reagent/consumable/ethanol = 1, /datum/reagent/chlorine = 3, /datum/reagent/water = 1)
</syntaxhighlight>Potassium Chloride
/datum/chemical_reaction/potassium_chloride name = "Potassium Chloride" results = list(/datum/reagent/toxin/potassium_chloride = 2) required_reagents = list(/datum/reagent/consumable/sodiumchloride = 1, /datum/reagent/potassium = 1)
</syntaxhighlight>Potassium Chlorophoride
/datum/chemical_reaction/potassium_chlorophoride name = "Potassium Chlorophoride" results = list(/datum/reagent/toxin/potassium_chlorophoride = 4) required_reagents = list(/datum/reagent/toxin/potassium_chloride = 1, /datum/reagent/toxin/phoron = 1, /datum/reagent/toxin/chloralhydrate = 1)
</syntaxhighlight>Zombie Powder
/datum/chemical_reaction/huskpowder name = "Zombie Powder" results = list(/datum/reagent/toxin/huskpowder = 2) required_reagents = list(/datum/reagent/toxin/carpotoxin = 5, /datum/reagent/toxin/sleeptoxin = 5, /datum/reagent/copper = 5)
</syntaxhighlight>Rezadone
/datum/chemical_reaction/rezadone name = "Rezadone" results = list(/datum/reagent/medicine/rezadone = 3) required_reagents = list(/datum/reagent/toxin/carpotoxin = 1, /datum/reagent/cryptobiolin = 1, /datum/reagent/copper = 1)
</syntaxhighlight>Mindbreaker Toxin
/datum/chemical_reaction/mindbreaker name = "Mindbreaker Toxin" results = list(/datum/reagent/toxin/mindbreaker = 3) required_reagents = list(/datum/reagent/silicon = 1, /datum/reagent/hydrogen = 1, /datum/reagent/medicine/dylovene = 1)
</syntaxhighlight>Lipozine
/datum/chemical_reaction/lipozine name = "Lipozine" results = list(/datum/reagent/lipozine = 3) required_reagents = list(/datum/reagent/consumable/sodiumchloride = 1, /datum/reagent/consumable/ethanol = 1, /datum/reagent/radium = 1)
</syntaxhighlight>Solid Phoron
/datum/chemical_reaction/phoronsolidification name = "Solid Phoron" required_reagents = list(/datum/reagent/iron = 5, /datum/reagent/consumable/frostoil = 5, /datum/reagent/toxin/phoron = 20)
/datum/chemical_reaction/phoronsolidification/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) new /obj/item/stack/sheet/mineral/phoron(location)
</syntaxhighlight>Plastic
/datum/chemical_reaction/plastication name = "Plastic" required_reagents = list(/datum/reagent/toxin/acid/polyacid = 10, /datum/reagent/toxin/plasticide = 20)
/datum/chemical_reaction/plastication/on_reaction(datum/reagents/holder) new /obj/item/stack/sheet/mineral/plastic(get_turf(holder.my_atom),10)
</syntaxhighlight>Virus Food
/datum/chemical_reaction/virus_food name = "Virus Food" results = list(/datum/reagent/consumable/virus_food = 15) required_reagents = list(/datum/reagent/water = 5, /datum/reagent/consumable/drink/milk = 5, /datum/reagent/oxygen = 5)
</syntaxhighlight>Ammonia
/datum/chemical_reaction/ammonia name = "Ammonia" results = list(/datum/reagent/ammonia = 3) required_reagents = list(/datum/reagent/hydrogen = 3, /datum/reagent/nitrogen = 1)
</syntaxhighlight>Diethylamine
/datum/chemical_reaction/diethylamine name = "Diethylamine" results = list(/datum/reagent/diethylamine = 2) required_reagents = list(/datum/reagent/ammonia = 1, /datum/reagent/consumable/ethanol = 1)
</syntaxhighlight>Space cleaner
/datum/chemical_reaction/space_cleaner name = "Space cleaner" results = list(/datum/reagent/space_cleaner = 2) required_reagents = list(/datum/reagent/ammonia = 1, /datum/reagent/water = 1)
</syntaxhighlight>Plant-B-Gone
/datum/chemical_reaction/plantbgone name = "Plant-B-Gone" results = list(/datum/reagent/toxin/plantbgone = 5) required_reagents = list(/datum/reagent/toxin = 1, /datum/reagent/water = 4)
</syntaxhighlight>laughter
/datum/chemical_reaction/laughter name = "laughter" results = list(/datum/reagent/consumable/laughter = 5) required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/consumable/drink/banana = 1)
</syntaxhighlight>
Various Reagents
Base Reagents
X
Consumables
Consumable
/datum/reagent/consumable name = "Consumable" custom_metabolism = FOOD_METABOLISM taste_description = "generic food" taste_multi = 4 var/nutriment_factor = 1 var/adj_temp = 0 var/targ_temp = BODYTEMP_NORMAL taste_description = "generic food"
/datum/reagent/consumable/on_mob_life(mob/living/L, metabolism) current_cycle++ if(iscarbon(L)) var/mob/living/carbon/C = L C.adjust_nutrition(nutriment_factor*0.5*effect_str) if(adj_temp) L.adjust_bodytemperature(adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT, (adj_temp < 0 ? targ_temp : INFINITY), (adj_temp > 0 ? 0 : targ_temp)) holder.remove_reagent(type, custom_metabolism) return TRUE
</syntaxhighlight>Nutriment
/datum/reagent/consumable/nutriment name = "Nutriment" description = "All the vitamins, minerals, and carbohydrates the body needs in pure form." nutriment_factor = 15 color = "#664330" // rgb: 102, 67, 48
var/brute_heal = 1 var/burn_heal = 0 var/blood_gain = 0.4
/datum/reagent/consumable/nutriment/on_mob_life(mob/living/L, metabolism) if(prob(50)) L.heal_limb_damage(brute_heal, burn_heal) if(iscarbon(L)) var/mob/living/carbon/C = L if(C.blood_volume < BLOOD_VOLUME_NORMAL) C.blood_volume += blood_gain
return ..()
/datum/reagent/consumable/nutriment/on_new(list/supplied_data) // taste data can sometimes be ("salt" = 3, "chips" = 1) // and we want it to be in the form ("salt" = 0.75, "chips" = 0.25) // which is called "normalizing" if(!supplied_data) supplied_data = data
// if data isn't an associative list, this has some WEIRD side effects // TODO probably check for assoc list?
data = counterlist_normalise(supplied_data)
/datum/reagent/consumable/nutriment/on_merge(list/newdata, newvolume) if(!islist(newdata) || !newdata.len) return
// data for nutriment is one or more (flavour -> ratio) // where all the ratio values adds up to 1
var/list/taste_amounts = list() if(data) taste_amounts = data.Copy()
counterlist_scale(taste_amounts, volume)
var/list/other_taste_amounts = newdata.Copy() counterlist_scale(other_taste_amounts, newvolume)
counterlist_combine(taste_amounts, other_taste_amounts)
counterlist_normalise(taste_amounts)
data = taste_amounts
</syntaxhighlight>Sugar
/datum/reagent/consumable/sugar name = "Sugar" description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste." color = "#FFFFFF" // rgb: 255, 255, 255 taste_multi = 1.5 // stop sugar drowning out other flavours nutriment_factor = 10 taste_description = "sweetness"
</syntaxhighlight>Virus Food
/datum/reagent/consumable/virus_food name = "Virus Food" description = "A mixture of water, milk, and oxygen. Virus cells can use this mixture to reproduce." reagent_state = LIQUID nutriment_factor = 2 color = "#899613" // rgb: 137, 150, 19 taste_description = "watery milk"
</syntaxhighlight>Soysauce
/datum/reagent/consumable/soysauce name = "Soysauce" description = "A salty sauce made from the soy plant." reagent_state = LIQUID nutriment_factor = 2 color = "#792300" // rgb: 121, 35, 0 taste_description = "umami"
</syntaxhighlight>Ketchup
/datum/reagent/consumable/ketchup name = "Ketchup" description = "Ketchup, catsup, whatever. It's tomato paste." reagent_state = LIQUID nutriment_factor = 5 color = "#731008" // rgb: 115, 16, 8 taste_description = "ketchup"
</syntaxhighlight>Capsaicin Oil
/datum/reagent/consumable/capsaicin name = "Capsaicin Oil" description = "This is what makes chilis hot." reagent_state = LIQUID color = "#B31008" // rgb: 179, 16, 8 taste_description = "hot peppers" taste_multi = 1.5 targ_temp = BODYTEMP_NORMAL + 15 adj_temp = 5 var/discomfort_message = span_danger("Your insides feel uncomfortably hot!") var/agony_start = 20 var/agony_amount = 2
/datum/reagent/consumable/capsaicin/on_mob_life(mob/living/L, metabolism) if(holder.has_reagent(/datum/reagent/consumable/frostoil)) holder.remove_reagent(/datum/reagent/consumable/frostoil, 5) if(ishuman(L)) var/mob/living/carbon/human/H = L if((H.species.species_flags & NO_PAIN)) return ..() switch(current_cycle) if(1 to agony_start - 1) if(prob(5)) to_chat(L, discomfort_message) if(agony_start to INFINITY) L.apply_effect(agony_amount, AGONY) if(prob(5)) L.emote(pick("dry heaves!", "coughs!", "splutters!")) to_chat(L, discomfort_message) return ..()
</syntaxhighlight>Condensed Capsaicin
/datum/reagent/consumable/capsaicin/condensed name = "Condensed Capsaicin" description = "A chemical agent used for self-defense and in police work." reagent_state = LIQUID color = "#B31008" // rgb: 179, 16, 8 taste_description = "scorching agony" taste_multi = 10 targ_temp = BODYTEMP_HEAT_DAMAGE_LIMIT_ONE + 5 discomfort_message = span_danger("You feel like your insides are burning!") agony_start = 3 agony_amount = 4
/datum/reagent/consumable/capsaicin/condensed/reaction_mob(mob/living/L, method = TOUCH, volume, show_message = TRUE, touch_protection = 0) . = ..() if(!(method in list(TOUCH, VAPOR)) || !ishuman(L)) return var/mob/living/carbon/human/victim = L var/mouth_covered = 0 var/eyes_covered = 0 var/obj/item/safe_thing = null if( victim.wear_mask ) if( victim.wear_mask.flags_inventory & COVEREYES ) eyes_covered = 1 safe_thing = victim.wear_mask if( victim.wear_mask.flags_inventory & COVERMOUTH ) mouth_covered = 1 safe_thing = victim.wear_mask if( victim.head ) if( victim.head.flags_inventory & COVEREYES ) eyes_covered = 1 safe_thing = victim.head if( victim.head.flags_inventory & COVERMOUTH ) mouth_covered = 1 safe_thing = victim.head if(victim.glasses) eyes_covered = 1 if( !safe_thing ) safe_thing = victim.glasses if( eyes_covered && mouth_covered ) if(show_message) to_chat(victim, span_danger("Your [safe_thing.name] protects you from the pepperspray!")) return else if( mouth_covered ) // Reduced effects if partially protected if(show_message) to_chat(victim, span_danger("Your [safe_thing] protect your face from the pepperspray!")) victim.blur_eyes(15) victim.blind_eyes(5) victim.Stun(10 SECONDS) victim.Paralyze(10 SECONDS) //victim.Unconscious(10) //victim.drop_held_item() return else if( eyes_covered ) // Mouth cover is better than eye cover, except it's actually the opposite. if(show_message) to_chat(victim, span_danger("Your [safe_thing] protects you from most of the pepperspray!")) if(!(victim.species && (victim.species.species_flags & NO_PAIN))) if(prob(10)) victim.Stun(20) victim.blur_eyes(5) return else // Oh dear :D if(!(victim.species && (victim.species.species_flags & NO_PAIN))) if(prob(10)) victim.emote("scream") if(show_message) to_chat(victim, span_danger("You're sprayed directly in the eyes with pepperspray!")) victim.blur_eyes(25) victim.blind_eyes(10) victim.Stun(10 SECONDS) victim.Paralyze(10 SECONDS)
</syntaxhighlight>Frost Oil
/datum/reagent/consumable/frostoil name = "Frost Oil" description = "A special oil that noticably chills the body. Extracted from Ice Peppers." reagent_state = LIQUID color = "#B31008" // rgb: 139, 166, 233 taste_description = "mint" targ_temp = - 50 adj_temp = 10
/datum/reagent/consumable/frostoil/on_mob_life(mob/living/L, metabolism) if(prob(1)) L.emote("shiver") if(holder.has_reagent(/datum/reagent/consumable/capsaicin)) holder.remove_reagent(/datum/reagent/consumable/capsaicin, 5) return ..()
</syntaxhighlight>Table Salt
/datum/reagent/consumable/sodiumchloride name = "Table Salt" description = "A salt made of sodium chloride. Commonly used to season food." color = "#FFFFFF" // rgb: 255,255,255 overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL taste_description = "salt"
/datum/reagent/consumable/sodiumchloride/overdose_process(mob/living/L, metabolism) L.Confused(40 SECONDS) if(prob(10)) L.emote(pick("sigh","grumble","frown"))
/datum/reagent/consumable/sodiumchloride/overdose_crit_process(mob/living/L, metabolism) L.jitter(5) //Turn super salty if(prob(10)) L.Paralyze(20 SECONDS) if(prob(10)) L.emote(pick("cry","moan","pain"))
</syntaxhighlight>Black Pepper
/datum/reagent/consumable/blackpepper name = "Black Pepper" description = "A powder ground from peppercorns. *AAAACHOOO*" // no color (ie, black) taste_description = "pepper"
</syntaxhighlight>Coco Powder
/datum/reagent/consumable/coco name = "Coco Powder" description = "A fatty, bitter paste made from coco beans." nutriment_factor = 5 color = "#302000" // rgb: 48, 32, 0 taste_description = "bitterness"
</syntaxhighlight>Hot Chocolate
/datum/reagent/consumable/hot_coco name = "Hot Chocolate" description = "Made with love! And cocoa beans." reagent_state = LIQUID nutriment_factor = 2 color = "#403010" // rgb: 64, 48, 16 taste_description = "creamy chocolate" adj_temp = 5
</syntaxhighlight>Psilocybin
/datum/reagent/consumable/psilocybin name = "Psilocybin" description = "A strong psycotropic derived from certain species of mushroom." color = "#E700E7" // rgb: 231, 0, 231 overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL taste_description = "mushroom"
/datum/reagent/consumable/psilocybin/on_mob_life(mob/living/L, metabolism) L.druggy = max(L.druggy, 30) switch(current_cycle) if(1 to 5) L.stuttering += 1 L.dizzy(5) if(prob(10)) L.emote(pick("twitch","giggle")) if(5 to 10) L.stuttering += 1 L.jitter(10) L.dizzy(10) L.set_drugginess(35) if(prob(20)) L.emote(pick("twitch","giggle")) if(10 to INFINITY) L.stuttering += 1 L.jitter(20) L.dizzy(20) L.set_drugginess(40) if(prob(30)) L.emote(pick("twitch","giggle")) return ..()
/datum/reagent/consumable/psilocybin/overdose_process(mob/living/L, metabolism) L.apply_damage(1, TOX) if(prob(15)) L.Unconscious(10 SECONDS)
/datum/reagent/consumable/psilocybin/overdose_crit_process(mob/living/L, metabolism) L.apply_damage(2, TOX) if(prob(60)) L.Unconscious(60) L.setDrowsyness(max(L.drowsyness, 30))
</syntaxhighlight>Sprinkles
/datum/reagent/consumable/sprinkles name = "Sprinkles" description = "Multi-colored little bits of sugar, commonly found on donuts. Loved by cops." nutriment_factor = 5 color = "#FF00FF" // rgb: 255, 0, 255 taste_description = "childhood whimsy"
</syntaxhighlight>Corn Oil
/datum/reagent/consumable/cornoil name = "Corn Oil" description = "An oil derived from various types of corn." reagent_state = LIQUID nutriment_factor = 20 color = "#302000" // rgb: 48, 32, 0 taste_description = "slime"
/datum/reagent/consumable/cornoil/reaction_turf(turf/T, volume) if(volume >= 3) T.wet_floor(FLOOR_WET_WATER)
</syntaxhighlight>Universal Enzyme
/datum/reagent/consumable/enzyme name = "Universal Enzyme" description = "A universal enzyme used in the preperation of certain chemicals and foods." reagent_state = LIQUID color = "#365E30" // rgb: 54, 94, 48 overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL taste_description = "sweetness"
/datum/reagent/consumable/enzyme/overdose_process(mob/living/L, metabolism) L.apply_damage(1, BURN)
/datum/reagent/consumable/enzyme/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(2, BURN)
</syntaxhighlight>Dry Ramen
/datum/reagent/consumable/dry_ramen name = "Dry Ramen" description = "Space age food, since August 25, 1958. Contains dried noodles, vegetables, and chemicals that boil in contact with water." nutriment_factor = 1 color = "#302000" // rgb: 48, 32, 0 taste_description = "dry and cheap noodles"
</syntaxhighlight>Hot Ramen
/datum/reagent/consumable/hot_ramen name = "Hot Ramen" description = "The noodles are boiled, the flavors are artificial, just like being back in school." reagent_state = LIQUID nutriment_factor = 5 color = "#302000" // rgb: 48, 32, 0 taste_description = "wet and cheap noodles"
adj_temp = 10</syntaxhighlight>Hell Ramen
/datum/reagent/consumable/hell_ramen name = "Hell Ramen" description = "The noodles are boiled, the flavors are artificial, just like being back in school." reagent_state = LIQUID nutriment_factor = 5 color = "#302000" // rgb: 48, 32, 0 taste_description = "wet and cheap noodles on fire" targ_temp = INFINITY adj_temp = 10
</syntaxhighlight>Rice
/datum/reagent/consumable/rice name = "Rice" description = "Enjoy the great taste of nothing." nutriment_factor = 2 color = "#FFFFFF" // rgb: 0, 0, 0 taste_description = "rice"
</syntaxhighlight>Cherry Jelly
/datum/reagent/consumable/cherryjelly name = "Cherry Jelly" description = "Totally the best. Only to be spread on foods with excellent lateral symmetry." reagent_state = LIQUID nutriment_factor = 5 color = "#801E28" // rgb: 128, 30, 40 taste_description = "cherry"
</syntaxhighlight>Honey
/datum/reagent/consumable/honey name = "Honey" description = "A golden yellow syrup, loaded with sugary sweetness." color = "#FFFF00" nutriment_factor = 15 taste_description = "sweetness"
/datum/reagent/consumable/honey/on_mob_life(mob/living/L, metabolism) L.reagents.add_reagent(/datum/reagent/consumable/sugar,3) L.adjustBruteLoss(-0.25*effect_str) L.adjustFireLoss(-0.25*effect_str) L.adjustOxyLoss(-0.25*effect_str) L.adjustToxLoss(-0.25*effect_str) return ..()
</syntaxhighlight>Larva Jelly
/datum/reagent/consumable/larvajelly name = "Larva Jelly" description = "The blood and guts of a xenomorph larva blended into a paste. Drinking this is bad for you." reagent_state = LIQUID nutriment_factor = 0 color = "#66801e" taste_description = "burning"
/datum/reagent/consumable/larvajelly/on_mob_life(mob/living/L, metabolism) L.adjustBruteLoss(-0.5*effect_str) L.adjustFireLoss(effect_str) L.adjustToxLoss(effect_str) return ..()
</syntaxhighlight>Prepared Larva Jelly
/datum/reagent/consumable/larvajellyprepared name = "Prepared Larva Jelly" description = "A delicious blend of xenomorphic entrails and acid, denatured by exposure to high-frequency radiation. Probably has some uses." reagent_state = LIQUID nutriment_factor = 1 color = "#66801e" taste_description = "victory"
/datum/reagent/consumable/larvajellyprepared/on_mob_life(mob/living/L, metabolism) L.adjustBruteLoss(-0.5*effect_str) return ..()
</syntaxhighlight>Drinks
Ethanol
/datum/reagent/consumable/ethanol name = "Ethanol" //Parent class for all alcoholic reagents. description = "A well-known alcohol with a variety of applications." reagent_state = LIQUID nutriment_factor = 0 //So alcohol can fill you up! If they want to. color = "#404030" // rgb: 64, 64, 48 taste_description = "alcohol" var/boozepwr = 65 //Higher numbers equal higher hardness, higher hardness equals more intense alcohol poisoning.
var/druggy = 0 var/halluci = 0
/* Boozepwr Chart Note that all higher effects of alcohol poisoning will inherit effects for smaller amounts (i.e. light poisoning inherts from slight poisoning) In addition, severe effects won't always trigger unless the drink is poisonously strong All effects don't start immediately, but rather get worse over time; the rate is affected by the imbiber's alcohol tolerance 0: Non-alcoholic 1-10: Barely classifiable as alcohol - occassional slurring 11-20: Slight alcohol content - slurring 21-30: Below average - imbiber begins to look slightly drunk 31-40: Just below average - no unique effects 41-50: Average - mild disorientation, imbiber begins to look drunk 51-60: Just above average - disorientation, vomiting, imbiber begins to look heavily drunk 61-70: Above average - small chance of blurry vision, imbiber begins to look smashed 71-80: High alcohol content - blurry vision, imbiber completely shitfaced 81-90: Extremely high alcohol content - toxin damage, passing out 91-100: Dangerously toxic - brain damage, probable liver failure. 101 and beyond: Lethally toxic - Swift death.
- /
/datum/reagent/consumable/ethanol/on_mob_life(mob/living/L, metabolism) if(iscarbon(L)) var/mob/living/carbon/C = L if(C.drunkenness < volume * boozepwr * ALCOHOL_THRESHOLD_MODIFIER) C.drunkenness = max((C.drunkenness + (sqrt(volume) * boozepwr * ALCOHOL_RATE)), 0) //Volume, power, and server alcohol rate effect how quickly one gets drunk. if(ishuman(C)) var/mob/living/carbon/human/H = C var/datum/internal_organ/liver/O = H.internal_organs_by_name["liver"] if (istype(O)) O.take_damage(((max(sqrt(volume) * (boozepwr ** ALCOHOL_EXPONENT) * O.alcohol_tolerance, 0)) * 0.002), TRUE)
if(druggy != 0) L.set_drugginess(druggy)
if(halluci) L.hallucination += halluci
return ..()
/datum/reagent/consumable/ethanol/reaction_obj(obj/O, volume) if(istype(O,/obj/item/paper)) var/obj/item/paper/paperaffected = O paperaffected.clearpaper() to_chat(usr, span_warning("The [name] dissolves the ink on the paper.")) if(istype(O,/obj/item/book)) if(volume > 5) var/obj/item/book/affectedbook = O affectedbook.dat = null to_chat(usr, span_warning("The [name] dissolves the ink on the book.")) else to_chat(usr, span_warning("[O]'s ink is smeared by [name], but doesn't wash away!"))
/datum/reagent/consumable/ethanol/reaction_mob(mob/living/L, method = TOUCH, volume, show_message = TRUE, touch_protection = 0) . = ..() if(method in list(TOUCH, VAPOR, PATCH)) L.adjust_fire_stacks(round(volume * 0.65))
</syntaxhighlight>Beer
/datum/reagent/consumable/ethanol/beer name = "Beer" description = "An alcoholic beverage made from malted grains, hops, yeast, and water." color = "#664300" // rgb: 102, 67, 0 boozepwr = 25 taste_description = "piss water"
</syntaxhighlight>Aspen Beer
/datum/reagent/consumable/ethanol/nt_beer name = "Aspen Beer" description = "Pretty good when you get past the fact that it tastes like piss. Canned by the Nanotrasen Corporation." color = "#ffcc66" boozepwr = 5 //Space Europeans hate it taste_description = "dish water"
</syntaxhighlight>Kahlua
/datum/reagent/consumable/ethanol/kahlua name = "Kahlua" description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!" color = "#664300" // rgb: 102, 67, 0 taste_description = "spiked latte" boozepwr = 45
/datum/reagent/consumable/ethanol/kahlua/on_mob_life(mob/living/L, metabolism) L.dizzy(-4) L.adjustDrowsyness(-2) L.AdjustSleeping(-60) L.jitter(5) return ..()
</syntaxhighlight>Whiskey
/datum/reagent/consumable/ethanol/whiskey name = "Whiskey" description = "A superb and well-aged single-malt whiskey. Damn." color = "#664300" // rgb: 102, 67, taste_description = "molasses" boozepwr = 75
</syntaxhighlight>Special Blend Whiskey
/datum/reagent/consumable/ethanol/specialwhiskey name = "Special Blend Whiskey" description = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything." color = "#664300" // rgb: 102, 67, 0 boozepwr = 80 taste_description = "exquisite amber"
</syntaxhighlight>Sake
/datum/reagent/consumable/ethanol/sake name = "Sake" description = "A potent rice-wine." color = "#0064C8" // rgb: 102, 67, 0 taste_description = "sweet rice wine" boozepwr = 70
</syntaxhighlight>Thirteen Loko
/datum/reagent/consumable/ethanol/thirteenloko name = "Thirteen Loko" description = "A potent mixture of caffeine and alcohol." color = "#102000" // rgb: 16, 32, 0 boozepwr = 80 nutriment_factor = 1 * FOOD_METABOLISM taste_description = "jitters and death" adj_temp = 5 targ_temp = 305 trait_flags = TACHYCARDIC
/datum/reagent/consumable/ethanol/thirteenloko/on_mob_life(mob/living/L, metabolism) L.adjustDrowsyness(-7) L.AdjustSleeping(-80 SECONDS) L.jitter(5) return ..()
</syntaxhighlight>Vodka
/datum/reagent/consumable/ethanol/vodka name = "Vodka" description = "Number one drink AND fueling choice for Russians worldwide." color = "#0064C8" // rgb: 0, 100, 200 taste_description = "grain alcohol" boozepwr = 65
</syntaxhighlight>Bilk
/datum/reagent/consumable/ethanol/bilk name = "Bilk" description = "This appears to be beer mixed with milk. Disgusting." color = "#895C4C" // rgb: 137, 92, 76 boozepwr = 15 nutriment_factor = 2 * FOOD_METABOLISM taste_description = "desperation and lactate"
</syntaxhighlight>Three Mile Island Iced Tea
/datum/reagent/consumable/ethanol/threemileisland name = "Three Mile Island Iced Tea" description = "Made for a woman, strong enough for a man." color = "#666340" // rgb: 102, 99, 64 taste_description = "dryness" boozepwr = 10 druggy = 50
</syntaxhighlight>Gin
/datum/reagent/consumable/ethanol/gin name = "Gin" description = "It's gin. In space. I say, good sir." color = "#664300" // rgb: 102, 67, 0 taste_description = "pine" boozepwr = 45
</syntaxhighlight>Rum
/datum/reagent/consumable/ethanol/rum name = "Rum" description = "Yohoho and all that." color = "#664300" // rgb: 102, 67, 0 taste_description = "spiked butterscotch" boozepwr = 60
</syntaxhighlight>Tequila
/datum/reagent/consumable/ethanol/tequila name = "Tequila" description = "A strong and mildly flavoured, mexican produced spirit. Feeling thirsty hombre?" color = "#FFFF91" // rgb: 255, 255, 145 boozepwr = 70 taste_description = "paint stripper"
</syntaxhighlight>Vermouth
/datum/reagent/consumable/ethanol/vermouth name = "Vermouth" description = "You suddenly feel a craving for a martini..." color = "#91FF91" // rgb: 145, 255, 145 taste_description = "dry alcohol" boozepwr = 45
</syntaxhighlight>Wine
/datum/reagent/consumable/ethanol/wine name = "Wine" description = "An premium alchoholic beverage made from distilled grape juice." color = "#7E4043" // rgb: 126, 64, 67 boozepwr = 35 taste_description = "bitter sweetness"
</syntaxhighlight>Cognac
/datum/reagent/consumable/ethanol/cognac name = "Cognac" description = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. Classy as fornication." color = "#AB3C05" // rgb: 171, 60, 5 taste_description = "angry and irish" boozepwr = 75
</syntaxhighlight>Hooch
/datum/reagent/consumable/ethanol/hooch name = "Hooch" description = "Either someone's failure at cocktail making or attempt in alchohol production. In any case, do you really want to drink that?" color = "#664300" // rgb: 102, 67, 0 taste_description = "pure resignation" boozepwr = 100
</syntaxhighlight>Ale
/datum/reagent/consumable/ethanol/ale name = "Ale" description = "A dark alchoholic beverage made by malted barley and yeast." color = "#664300" // rgb: 102, 67, 0 taste_description = "hearty barley ale" boozepwr = 65
</syntaxhighlight>Absinthe
/datum/reagent/consumable/ethanol/absinthe name = "Absinthe" description = "Watch out that the Green Fairy doesn't come for you!" color = "#33EE00" // rgb: 51, 238, 0 taste_description = "death and licorice" boozepwr = 80
/datum/reagent/consumable/ethanol/absinthe/on_mob_life(mob/living/L, metabolism) if(prob(10)) L.hallucination += 4 //Reference to the urban myth return ..()
</syntaxhighlight>Poison Wine
/datum/reagent/consumable/ethanol/pwine name = "Poison Wine" description = "A potent wine with hallucinogenic properties, popular among high personalities and villains." color = "#000000" // rgb: 0, 0, 0 SHOCKER taste_description = "evil velvet" boozepwr = 40
/datum/reagent/consumable/ethanol/pwine/on_mob_life(mob/living/L, metabolism) switch(current_cycle) if(1 to 19) L.jitter(2) L.hallucination = max(L.hallucination, 3) if(prob(1)) L.emote(pick("twitch","giggle")) if(20 to 59) L.stuttering = max(L.stuttering, 2) L.hallucination = max(L.hallucination, 10) L.jitter(3) L.dizzy(2) L.set_drugginess(10) if(prob(5)) L.emote(pick("twitch","giggle")) if(60 to 119) L.stuttering = max(L.stuttering, 2) L.hallucination = max(L.hallucination, 60) L.jitter(4) L.dizzy(4) L.set_drugginess(30) if(prob(10)) L.emote(pick("twitch","giggle")) if(prob(30)) L.adjustToxLoss(0.5) if(120 to 199) L.stuttering = max(L.stuttering, 2) L.hallucination = max(L.hallucination, 60) L.jitter(4) L.dizzy(4) L.druggy = max(L.druggy, 60) if(prob(10)) L.emote(pick("twitch","giggle")) if(prob(30)) L.adjustToxLoss(1) if(prob(5)) if(ishuman(L)) var/mob/living/carbon/human/H = L var/datum/internal_organ/heart/E = H.internal_organs_by_name["heart"] if(istype(E)) E.take_damage(2) if(200 to INFINITY) L.stuttering += 1 L.adjustToxLoss(1) L.hallucination = max(L.hallucination, 60) L.jitter(4) L.dizzy(4) L.druggy = max(L.druggy, 60) if(ishuman(L) && prob(10)) var/mob/living/carbon/human/H = L var/datum/internal_organ/heart/E = H.internal_organs_by_name["heart"] if(istype(E)) if(H.species.species_flags ~! NO_PAIN) to_chat(H, span_danger("You clutch for a moment as you feel a scorching pain covering your abdomen!")) H.Stun(60) E.take_damage(20) return ..()
</syntaxhighlight>Deadrum
/datum/reagent/consumable/ethanol/deadrum name = "Deadrum" description = "Popular with the sailors. Not very popular with everyone else." color = "#664300" // rgb: 102, 67, 0 boozepwr = 35 taste_description = "salty sea water"
/datum/reagent/consumable/ethanol/deadrum/on_mob_life(mob/living/L, metabolism) L.dizzy(5) return ..()
</syntaxhighlight>Davenport Rye
/datum/reagent/consumable/ethanol/davenport name = "Davenport Rye" description = "An expensive alcohol with a distinct flavor" color = "#ffcc66" taste_description = "oil, whiskey, salt, rosemary mixed togheter" // Insert reference here. boozepwr = 50
</syntaxhighlight>Goldschlager
/datum/reagent/consumable/ethanol/goldschlager name = "Goldschlager" description = "100% proof cinnamon schnapps, made for alcoholic teen girls on spring break." color = "#664300" // rgb: 102, 67, 0 taste_description = "burning cinnamon" boozepwr = 25
</syntaxhighlight>Patron
/datum/reagent/consumable/ethanol/patron name = "Patron" description = "Tequila with silver in it, a favorite of alcoholic women in the club scene." color = "#585840" // rgb: 88, 88, 64 taste_description = "metallic and expensive" boozepwr = 60
</syntaxhighlight>Gin and Tonic
/datum/reagent/consumable/ethanol/gintonic name = "Gin and Tonic" description = "An all time classic, mild cocktail." color = "#664300" // rgb: 102, 67, 0 taste_description = "mild and tart" boozepwr = 25
</syntaxhighlight>Cuba Libre
/datum/reagent/consumable/ethanol/cuba_libre name = "Cuba Libre" description = "Viva la revolucion! Viva Cuba Libre!" color = "#3E1B00" // rgb: 62, 27, 0 taste_description = "a refreshing marriage of citrus and rum" boozepwr = 50
</syntaxhighlight>Whiskey Cola
/datum/reagent/consumable/ethanol/whiskey_cola name = "Whiskey Cola" description = "Whiskey, mixed with cola. Surprisingly refreshing." color = "#3E1B00" // rgb: 62, 27, 0 taste_description = "cola" boozepwr = 70
</syntaxhighlight>Classic Martini
/datum/reagent/consumable/ethanol/martini name = "Classic Martini" description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious." color = "#664300" // rgb: 102, 67, 0 taste_description = "dry class" boozepwr = 60
</syntaxhighlight>Vodka Martini
/datum/reagent/consumable/ethanol/vodkamartini name = "Vodka Martini" description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious." color = "#664300" // rgb: 102, 67, 0 taste_description = "shaken, not stirred" boozepwr = 65
</syntaxhighlight>White Russian
/datum/reagent/consumable/ethanol/white_russian name = "White Russian" description = "That's just, like, your opinion, man..." color = "#A68340" // rgb: 166, 131, 64 taste_description = "bitter cream" boozepwr = 50
</syntaxhighlight>Screwdriver
/datum/reagent/consumable/ethanol/screwdrivercocktail name = "Screwdriver" description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious." color = "#A68310" // rgb: 166, 131, 16 taste_description = "oranges" boozepwr = 55
</syntaxhighlight>Booger
/datum/reagent/consumable/ethanol/booger name = "Booger" description = "Ewww..." color = "#8CFF8C" // rgb: 140, 255, 140 taste_description = "sweet 'n creamy" boozepwr = 45
</syntaxhighlight>Bloody Mary
/datum/reagent/consumable/ethanol/bloody_mary name = "Bloody Mary" description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice." color = "#664300" // rgb: 102, 67, 0 taste_description = "tomatoes with a hint of lime" boozepwr = 55
/datum/reagent/consumable/ethanol/bloody_mary/on_mob_life(mob/living/L, metabolism) if(L.blood_volume < BLOOD_VOLUME_NORMAL) L.blood_volume += 0.3 //Bloody Mary slowly restores blood loss. return ..()
</syntaxhighlight>Brave Bull
/datum/reagent/consumable/ethanol/brave_bull name = "Brave Bull" description = "It's just as effective as Dutch-Courage!" color = "#664300" // rgb: 102, 67, 0 taste_description = "alcoholic bravery" boozepwr = 80
</syntaxhighlight>Tequila Sunrise
/datum/reagent/consumable/ethanol/tequila_sunrise name = "Tequila Sunrise" description = "Tequila and orange juice. Much like a Screwdriver, only Mexican~" color = "#FFE48C" // rgb: 255, 228, 140 taste_description = "oranges with a hint of pomegranate" boozepwr = 45
</syntaxhighlight>Toxins Special
/datum/reagent/consumable/ethanol/toxins_special name = "Toxins Special" description = "This thing is ON FIRE! CALL THE DAMN SHUTTLE!" color = "#664300" // rgb: 102, 67, 0 taste_description = "spicy toxins" boozepwr = 25 targ_temp = 330 adj_temp = 15
</syntaxhighlight>Beepsky Smash
/datum/reagent/consumable/ethanol/beepsky_smash name = "Beepsky Smash" description = "Deny drinking this and prepare for THE LAW." color = "#664300" // rgb: 102, 67, 0 taste_description = "JUSTICE" boozepwr = 90 //THE FIST OF THE LAW IS STRONG AND HARD
/datum/reagent/consumable/ethanol/beepsky_smash/on_mob_life(mob/living/L, metabolism) L.Stun(40) return ..()
</syntaxhighlight>Irish Cream
/datum/reagent/consumable/ethanol/irish_cream name = "Irish Cream" description = "Whiskey-imbued cream, what else would you expect from the Irish." color = "#664300" // rgb: 102, 67, 0 taste_description = "creamy alcohol" boozepwr = 70
</syntaxhighlight>The Manly Dorf
/datum/reagent/consumable/ethanol/manly_dorf name = "The Manly Dorf" description = "Beer and Ale, brought together in a delicious mix. Intended for true men only." color = "#664300" // rgb: 102, 67, 0 taste_description = "hair on your chest and your chin" boozepwr = 100 //For the manly only
</syntaxhighlight>Long Island Iced Tea
/datum/reagent/consumable/ethanol/longislandicedtea name = "Long Island Iced Tea" description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." color = "#664300" // rgb: 102, 67, 0 taste_description = "a mixture of cola and alcohol" boozepwr = 35
</syntaxhighlight>Moonshine
/datum/reagent/consumable/ethanol/moonshine name = "Moonshine" description = "You've really hit rock bottom now... your liver packed its bags and left last night." color = "#664300" // rgb: 102, 67, 0 taste_description = "bitterness" boozepwr = 95
</syntaxhighlight>B-52
/datum/reagent/consumable/ethanol/b52 name = "B-52" description = "Coffee, Irish Cream, and cognac. You will get bombed." color = "#664300" // rgb: 102, 67, 0 taste_description = "angry and irish" boozepwr = 85
</syntaxhighlight>Irish Coffee
/datum/reagent/consumable/ethanol/irishcoffee name = "Irish Coffee" description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning." color = "#664300" // rgb: 102, 67, 0 taste_description = "giving up on the day"
boozepwr = 35</syntaxhighlight>Margarita
/datum/reagent/consumable/ethanol/margarita name = "Margarita" description = "On the rocks with salt on the rim. Arriba~!" color = "#8CFF8C" // rgb: 140, 255, 140 taste_description = "dry and salty" boozepwr = 35
</syntaxhighlight>Black Russian
/datum/reagent/consumable/ethanol/black_russian name = "Black Russian" description = "For the lactose-intolerant. Still as classy as a White Russian." color = "#360000" // rgb: 54, 0, 0 taste_description = "bitterness" boozepwr = 70
</syntaxhighlight>Manhattan
/datum/reagent/consumable/ethanol/manhattan name = "Manhattan" description = "The Detective's undercover drink of choice. He never could stomach gin..." color = "#664300" // rgb: 102, 67, 0 taste_description = "mild dryness" boozepwr = 30
</syntaxhighlight>Manhattan Project
/datum/reagent/consumable/ethanol/manhattan_proj name = "Manhattan Project" description = "A scientist's drink of choice, for pondering ways to blow up the station." color = "#664300" // rgb: 102, 67, 0 taste_description = "death, the destroyer of worlds" boozepwr = 45 druggy = 30
</syntaxhighlight>Whiskey Soda
/datum/reagent/consumable/ethanol/whiskeysoda name = "Whiskey Soda" description = "For the more refined griffon." color = "#664300" // rgb: 102, 67, 0 taste_description = "soda" boozepwr = 70
</syntaxhighlight>Anti-freeze
/datum/reagent/consumable/ethanol/antifreeze name = "Anti-freeze" description = "Ultimate refreshment." color = "#664300" // rgb: 102, 67, 0 taste_description = "Jack Frost's piss" boozepwr = 35 targ_temp = 330 adj_temp = 20
</syntaxhighlight>Barefoot
/datum/reagent/consumable/ethanol/barefoot name = "Barefoot" description = "Barefoot and pregnant" color = "#664300" // rgb: 102, 67, 0 taste_description = "creamy berries" boozepwr = 45
</syntaxhighlight>Snow White
/datum/reagent/consumable/ethanol/snowwhite name = "Snow White" description = "A cold refreshment" color = "#FFFFFF" // rgb: 255, 255, 255 taste_description = "refreshing cold" boozepwr = 35
</syntaxhighlight>Melon Liquor
/datum/reagent/consumable/ethanol/melonliquor name = "Melon Liquor" description = "A relatively sweet and fruity 46 proof liquor." color = "#138808" // rgb: 19, 136, 8 boozepwr = 60 taste_description = "fruity alcohol"
</syntaxhighlight>Blue Curacao
/datum/reagent/consumable/ethanol/bluecuracao name = "Blue Curacao" description = "Exotically blue, fruity drink, distilled from oranges." color = "#0000CD" // rgb: 0, 0, 205 boozepwr = 50 taste_description = "oranges"
</syntaxhighlight>Sui Dream
/datum/reagent/consumable/ethanol/suidream name = "Sui Dream" description = "Comprised of: White soda, blue curacao, melon liquor." color = "#00A86B" // rgb: 0, 168, 107 taste_description = "fruity soda" boozepwr = 10
</syntaxhighlight>Demons Blood
/datum/reagent/consumable/ethanol/demonsblood name = "Demons Blood" description = "AHHHH!!!!" color = "#820000" // rgb: 130, 0, 0 taste_description = "sweet tasting iron" boozepwr = 75
</syntaxhighlight>Vodka and Tonic
/datum/reagent/consumable/ethanol/vodkatonic name = "Vodka and Tonic" description = "For when a gin and tonic isn't russian enough." color = "#0064C8" // rgb: 0, 100, 200 taste_description = "tart bitterness" boozepwr = 70
</syntaxhighlight>Gin Fizz
/datum/reagent/consumable/ethanol/ginfizz name = "Gin Fizz" description = "Refreshingly lemony, deliciously dry." color = "#664300" // rgb: 102, 67, 0 taste_description = "dry, tart lemons" boozepwr = 45
</syntaxhighlight>Bahama mama
/datum/reagent/consumable/ethanol/bahama_mama name = "Bahama mama" description = "Tropical cocktail." color = "#FF7F3B" // rgb: 255, 127, 59 taste_description = "lime and orange" boozepwr = 35
</syntaxhighlight>Singulo
/datum/reagent/consumable/ethanol/singulo name = "Singulo" description = "A blue-space beverage!" color = "#2E6671" // rgb: 46, 102, 113 taste_description = "concentrated matter" boozepwr = 35
</syntaxhighlight>Sbiten
/datum/reagent/consumable/ethanol/sbiten name = "Sbiten" description = "A spicy Vodka! Might be a little hot for the little guys!" color = "#664300" // rgb: 102, 67, 0 taste_description = "hot and spice" boozepwr = 70 targ_temp = 360 adj_temp = 50
</syntaxhighlight>Devils Kiss
/datum/reagent/consumable/ethanol/devilskiss name = "Devils Kiss" description = "Creepy time!" color = "#A68310" // rgb: 166, 131, 16 taste_description = "bitter iron" boozepwr = 70
</syntaxhighlight>Red Mead
/datum/reagent/consumable/ethanol/red_mead name = "Red Mead" description = "The true Viking's drink! Even though it has a strange red color." color = "#C73C00" // rgb: 199, 60, 0 taste_description = "sweet and salty alcohol" boozepwr = 51
</syntaxhighlight>Mead
/datum/reagent/consumable/ethanol/mead name = "Mead" description = "A Viking's drink, though a cheap one." color = "#664300" // rgb: 102, 67, 0 taste_description = "sweet, sweet alcohol" boozepwr = 50 nutriment_factor = 1 * FOOD_METABOLISM
</syntaxhighlight>Iced Beer
/datum/reagent/consumable/ethanol/iced_beer name = "Iced Beer" description = "A beer which is so cold the air around it freezes." color = "#664300" // rgb: 102, 67, 0 taste_description = "refreshingly cold" boozepwr = 15 targ_temp = 270 adj_temp = 20
</syntaxhighlight>Grog
/datum/reagent/consumable/ethanol/grog name = "Grog" description = "Watered down rum, NanoTrasen approves!" color = "#664300" // rgb: 102, 67, 0 taste_description = "a poor excuse for alcohol" boozepwr = 1
</syntaxhighlight>Aloe
/datum/reagent/consumable/ethanol/aloe name = "Aloe" description = "So very, very, very good." color = "#664300" // rgb: 102, 67, 0 taste_description = "sweet 'n creamy" boozepwr = 35
</syntaxhighlight>Andalusia
/datum/reagent/consumable/ethanol/andalusia name = "Andalusia" description = "A nice, strangely named drink." color = "#664300" // rgb: 102, 67, 0 taste_description = "lemons" boozepwr = 40
</syntaxhighlight>Allies Cocktail
/datum/reagent/consumable/ethanol/alliescocktail name = "Allies Cocktail" description = "A drink made from your allies, not as sweet as when made from your enemies." color = "#664300" // rgb: 102, 67, 0 taste_description = "bitter yet free" boozepwr = 45
</syntaxhighlight>Acid Spit
/datum/reagent/consumable/ethanol/acid_spit name = "Acid Spit" description = "A drink for the daring, can be deadly if incorrectly prepared!" color = "#365000" // rgb: 54, 80, 0 taste_description = "stomach acid" boozepwr = 80
</syntaxhighlight>Amasec
/datum/reagent/consumable/ethanol/amasec name = "Amasec" description = "Official drink of the NanoTrasen Gun-Club!" color = "#664300" // rgb: 102, 67, 0 taste_description = "dark and metallic" boozepwr = 35
</syntaxhighlight>Changeling Sting
/datum/reagent/consumable/ethanol/changelingsting name = "Changeling Sting" description = "You take a tiny sip and feel a burning sensation..." color = "#2E6671" // rgb: 46, 102, 113 taste_description = "your brain coming out your nose" boozepwr = 95
</syntaxhighlight>Irish Car Bomb
/datum/reagent/consumable/ethanol/irishcarbomb name = "Irish Car Bomb" description = "Mmm, tastes like chocolate cake..." color = "#2E6671" // rgb: 46, 102, 113 taste_description = "delicious anger" boozepwr = 25
</syntaxhighlight>Syndicate Bomb
/datum/reagent/consumable/ethanol/syndicatebomb name = "Syndicate Bomb" description = "Tastes like terrorism!" color = "#2E6671" // rgb: 46, 102, 113 taste_description = "purified antagonism" boozepwr = 90
</syntaxhighlight>Erika Surprise
/datum/reagent/consumable/ethanol/erikasurprise name = "Erika Surprise" description = "The surprise is it's green!" color = "#2E6671" // rgb: 46, 102, 113 taste_description = "tartness and bananas" boozepwr = 35
</syntaxhighlight>Driest Martini
/datum/reagent/consumable/ethanol/driestmartini name = "Driest Martini" description = "Only for the experienced. You think you see sand floating in the glass." nutriment_factor = 1 * FOOD_METABOLISM color = "#2E6671" // rgb: 46, 102, 113 taste_description = "a beach" boozepwr = 65
</syntaxhighlight>Banana Mama
/datum/reagent/consumable/ethanol/bananahonk name = "Banana Mama" description = "A drink from Clown Heaven." nutriment_factor = 1 * REAGENTS_METABOLISM color = "#FFFF91" // rgb: 255, 255, 140 taste_description = "a bad joke" boozepwr = 60
</syntaxhighlight>Silencer
/datum/reagent/consumable/ethanol/silencer name = "Silencer" description = "A drink from Mime Heaven." nutriment_factor = 1 * FOOD_METABOLISM color = "#664300" // rgb: 102, 67, 0 boozepwr = 59 taste_description = "a pencil eraser"
/datum/reagent/consumable/ethanol/silencer/on_mob_life(mob/living/L, metabolism) switch(current_cycle) if(1 to 50) L.dizzy(5) L.stuttering += 2 if(51 to 100) L.dizzy(5) L.stuttering += 5 if(prob(20)) L.AdjustConfused(60) if(101 to INFINITY) L.dizzy(6) L.stuttering += 5 if(prob(20)) L.AdjustConfused(10 SECONDS) return ..()
</syntaxhighlight>Drink
/datum/reagent/consumable/drink name = "Drink" description = "Uh, some kind of drink." reagent_state = LIQUID nutriment_factor = 1 color = "#E78108" // rgb: 231, 129, 8 var/adj_dizzy = 0 var/adj_drowsy = 0 var/adj_sleepy = 0
/datum/reagent/consumable/drink/on_mob_life(mob/living/L, metabolism) if(adj_dizzy != 0) L.dizzy(adj_dizzy) if(adj_drowsy != 0) L.adjustDrowsyness(adj_drowsy) if(adj_sleepy != 0) L.AdjustSleeping(adj_sleepy) return ..()
</syntaxhighlight>Orange Juice
/datum/reagent/consumable/drink/orangejuice name = "Orange juice" description = "Both delicious AND rich in Vitamin C, what more do you need?" color = "#E78108" // rgb: 231, 129, 8 taste_description = "oranges"
/datum/reagent/consumable/drink/orangejuice/on_mob_life(mob/living/L, metabolism) L.adjustOxyLoss(-0.3) return ..()
</syntaxhighlight>Tomato Juice
/datum/reagent/consumable/drink/tomatojuice name = "Tomato Juice" description = "Tomatoes made into juice. What a waste of big, juicy tomatoes, huh?" color = "#731008" // rgb: 115, 16, 8 taste_description = "tomatoes"
/datum/reagent/consumable/drink/tomatojuice/on_mob_life(mob/living/L, metabolism) L.heal_limb_damage(0, 0.2) return ..()
</syntaxhighlight>Lime Juice
/datum/reagent/consumable/drink/limejuice name = "Lime Juice" description = "The sweet-sour juice of limes." color = "#365E30" // rgb: 54, 94, 48 taste_description = "unbearable sourness"
/datum/reagent/consumable/drink/limejuice/on_mob_life(mob/living/L, metabolism) L.adjustToxLoss(-0.2)
return ..()</syntaxhighlight>Carrot Juice
/datum/reagent/consumable/drink/carrotjuice name = "Carrot juice" description = "It is just like a carrot but without crunching." color = "#973800" // rgb: 151, 56, 0 taste_description = "carrots"
/datum/reagent/consumable/drink/carrotjuice/on_mob_life(mob/living/L, metabolism) L.adjust_blurriness(-1) L.adjust_blindness(-1) switch(current_cycle) if(1 to 20) //nothing if(21 to INFINITY) if(prob(current_cycle-10) && iscarbon(L)) var/mob/living/carbon/C = L C.disabilities &= ~NEARSIGHTED return ..()
</syntaxhighlight>Berry Juice
/datum/reagent/consumable/drink/berryjuice name = "Berry Juice" description = "A delicious blend of several different kinds of berries." color = "#990066" // rgb: 153, 0, 102 taste_description = "berries"
</syntaxhighlight>Grape Juice
/datum/reagent/consumable/drink/grapejuice name = "Grape Juice" description = "It's grrrrrape!" color = "#863333" // rgb: 134, 51, 51 taste_description = "grapes"
</syntaxhighlight>Souto Classic
/datum/reagent/consumable/drink/suoto name = "Souto Classic" description = "A fruit flavored soda canned in Havana" color = "#802b00" taste_description = "sour soda" taste_multi = 2
</syntaxhighlight>Souto Cherry
/datum/reagent/consumable/drink/suoto/cherry name = "Souto Cherry" description = "Now with more artificial flavors! Canned in Havanna" color = "#800000" taste_description = "bittersweet soda"
</syntaxhighlight>Grape Soda
/datum/reagent/consumable/drink/grapesoda name = "Grape Soda" description = "Grapes made into a fine drank." color = "#421C52" // rgb: 98, 57, 53 adj_drowsy = -3 taste_description = "grape soda"
</syntaxhighlight>Poison Berry Juice
/datum/reagent/consumable/drink/poisonberryjuice name = "Poison Berry Juice" description = "A tasty juice blended from various kinds of very deadly and toxic berries." color = "#863353" // rgb: 134, 51, 83 taste_description = "berries"
/datum/reagent/consumable/drink/poisonberryjuice/on_mob_life(mob/living/L, metabolism) L.adjustToxLoss(1) return ..()
</syntaxhighlight>Watermelon Juice
/datum/reagent/consumable/drink/watermelonjuice name = "Watermelon Juice" description = "Delicious juice made from watermelon." color = "#863333" // rgb: 134, 51, 51 taste_description = "juicy watermelon"
</syntaxhighlight>Lemon Juice
/datum/reagent/consumable/drink/lemonjuice name = "Lemon Juice" description = "This juice is VERY sour." color = "#863333" // rgb: 175, 175, 0 taste_description = "sourness"
</syntaxhighlight>Banana Juice
/datum/reagent/consumable/drink/banana name = "Banana Juice" description = "The raw essence of a banana." color = "#863333" // rgb: 175, 175, 0 taste_description = "banana"
</syntaxhighlight>Nothing
/datum/reagent/consumable/drink/nothing name = "Nothing" description = "Absolutely nothing." taste_description = "nothing"
</syntaxhighlight>Laughter
/datum/reagent/consumable/laughter name = "Laughter" description = "Some say that this is the best medicine, but recent studies have proven that to be untrue." custom_metabolism = INFINITY color = "#FF4DD2" taste_description = "laughter"
/datum/reagent/consumable/laughter/on_mob_life(mob/living/carbon/M) M.emote("laugh") return ..()
</syntaxhighlight>Potato Juice
/datum/reagent/consumable/drink/potato_juice name = "Potato Juice" description = "Juice of the potato. Bleh." nutriment_factor = 2 * FOOD_METABOLISM color = "#302000" // rgb: 48, 32, 0 taste_description = "irish sadness"
</syntaxhighlight>Milk
/datum/reagent/consumable/drink/milk name = "Milk" description = "An opaque white liquid produced by the mammary glands of mammals." color = "#DFDFDF" // rgb: 223, 223, 223 taste_description = "milk"
/datum/reagent/consumable/drink/milk/on_mob_life(mob/living/L, metabolism) L.heal_limb_damage(0.2) if(holder.has_reagent(/datum/reagent/consumable/capsaicin)) holder.remove_reagent(/datum/reagent/consumable/capsaicin, 2) return ..()
</syntaxhighlight>Soy Milk
/datum/reagent/consumable/drink/milk/soymilk name = "Soy Milk" description = "An opaque white liquid made from soybeans." color = "#DFDFC7" // rgb: 223, 223, 199 taste_description = "soy milk"
</syntaxhighlight>Cream
/datum/reagent/consumable/drink/milk/cream name = "Cream" description = "The fatty, still liquid part of milk. Why don't you mix this with sum scotch, eh?" color = "#DFD7AF" // rgb: 223, 215, 175 taste_description = "creamy milk"
</syntaxhighlight>Grenadine Syrup
/datum/reagent/consumable/drink/grenadine name = "Grenadine Syrup" description = "Made in the modern day with proper pomegranate substitute. Who uses real fruit, anyways?" color = "#FF004F" // rgb: 255, 0, 79 taste_description = "100% pure pomegranate"
</syntaxhighlight>Hot Chocolate
/datum/reagent/consumable/drink/hot_coco name = "Hot Chocolate" description = "Made with love! And cocoa beans." nutriment_factor = 2 color = "#403010" // rgb: 64, 48, 16 adj_temp = 15 taste_description = "creamy chocolate"
</syntaxhighlight>Coffee
/datum/reagent/consumable/drink/coffee name = "Coffee" description = "Coffee is a brewed drink prepared from roasted seeds, commonly called coffee beans, of the coffee plant." color = "#482000" // rgb: 72, 32, 0 nutriment_factor = 0 overdose_threshold = REAGENTS_OVERDOSE * 2 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL * 3 custom_metabolism = REAGENTS_METABOLISM * 5 //1u/tick adj_dizzy = -5 adj_drowsy = -3 adj_sleepy = -2 adj_temp = 20 taste_description = "bitterness" purge_rate = 2 trait_flags = TACHYCARDIC
/datum/reagent/consumable/drink/coffee/overdose_process(mob/living/L, metabolism)
L.apply_damage(0.2, TOX)
L.jitter(2)
if(prob(5) && ishuman(L))
var/mob/living/carbon/human/H = L
var/datum/internal_organ/heart/E = H.internal_organs_by_name["heart"]
if(E)
E.take_damage(1, TRUE)
L.emote(pick("twitch", "blink_r", "shiver"))
/datum/reagent/consumable/drink/coffee/overdose_crit_process(mob/living/L, metabolism) L.apply_damage(0.5, TOX) L.jitter(5) if(prob(5) && L.stat != UNCONSCIOUS) to_chat(L, span_warning("You spasm and pass out!")) L.Unconscious(10 SECONDS) if(prob(30) && ishuman(L)) var/mob/living/carbon/human/H = L var/datum/internal_organ/heart/E = H.internal_organs_by_name["heart"] if(E) E.take_damage(1, TRUE)
</syntaxhighlight>Atomic Coffee
/datum/reagent/consumable/drink/coffee/atomiccoffee name = "Atomic Coffee" description = "This coffee is a brewed drink prepared from roasted seeds and enriched from use in atomic coffemaker. Consume in moderation" color = "#482000" // rgb: 72, 32, 0 nutriment_factor = 0 overdose_threshold = REAGENTS_OVERDOSE * 2 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL * 3 custom_metabolism = REAGENTS_METABOLISM * 5 //1u/tick adj_dizzy = -5 adj_drowsy = -3 adj_sleepy = -2 adj_temp = 20 taste_description = "bitterness" purge_list = list(/datum/reagent/consumable/frostoil, /datum/reagent/medicine/oxycodone) purge_rate = 2 trait_flags = TACHYCARDIC
/datum/reagent/consumable/drink/atomiccoffee/on_mob_add(mob/living/L, metabolism) . = ..() L.add_movespeed_modifier(type, TRUE, 0, NONE, TRUE, -0.2)
/datum/reagent/consumable/drink/atomiccoffee/on_mob_delete(mob/living/L, metabolism) L.remove_movespeed_modifier(type) var/amount = (current_cycle * 0.5) // 15/cup L.adjustStaminaLoss(amount)
/datum/reagent/consumable/drink/atomiccoffee/on_mob_life(mob/living/L, metabolism) switch(current_cycle) if(1 to 10) L.adjustStaminaLoss(-effect_str) if(11 to 30) L.adjustStaminaLoss(-0.5*effect_str) if(11 to 60) L.adjustStaminaLoss(-0.25*effect_str) L.jitter(1) if(61 to 150) L.adjustStaminaLoss(0.25*effect_str) L.apply_damage(5, TOX) L.jitter(2) if(151 to INFINITY) L.adjustStaminaLoss(2.5*effect_str) L.apply_damage(10, TOX) //You're having a bad day. L.jitter(5) return ..()
</syntaxhighlight>Iced Coffee
/datum/reagent/consumable/drink/coffee/icecoffee name = "Iced Coffee" description = "Coffee and ice, refreshing and cool." color = "#102838" // rgb: 16, 40, 56 taste_description = "bitter coldness" adj_temp = 5 targ_temp = BODYTEMP_NORMAL - 5
</syntaxhighlight>Soy Latte
/datum/reagent/consumable/drink/coffee/soy_latte name = "Soy Latte" description = "A nice and tasty beverage while you are reading your hippie books." color = "#664300" // rgb: 102, 67, 0 taste_description = "creamy coffee" adj_sleepy = 0 adj_temp = 5
/datum/reagent/consumable/drink/coffee/soy_latte/on_mob_life(mob/living/L, metabolism) L.heal_limb_damage(0.2) return ..()
</syntaxhighlight>Cafe Latte
/datum/reagent/consumable/drink/coffee/cafe_latte name = "Cafe Latte" description = "A nice, strong and tasty beverage while you are reading." color = "#664300" // rgb: 102, 67, 0 taste_description = "bitter cream" adj_sleepy = 0 adj_temp = 5
/datum/reagent/consumable/drink/coffee/cafe_latte/on_mob_life(mob/living/L, metabolism) L.heal_limb_damage(0.2) return ..()
</syntaxhighlight>Tea
/datum/reagent/consumable/drink/tea name = "Tea" description = "Tasty black tea, it has antioxidants, it's good for you!" color = "#101000" // rgb: 16, 16, 0 nutriment_factor = 0 taste_description = "tart black tea" adj_dizzy = - 2 adj_drowsy = -1 adj_sleepy = -1 adj_temp = 10
/datum/reagent/consumable/drink/tea/on_mob_life(mob/living/L, metabolism) L.adjustToxLoss(-0.2) return ..()
</syntaxhighlight>Iced Tea
/datum/reagent/consumable/drink/tea/icetea name = "Iced Tea" description = "No relation to a certain rap artist/ actor." color = "#104038" // rgb: 16, 64, 56 taste_description = "sweet tea" adj_temp = - 5 targ_temp = BODYTEMP_NORMAL - 5
</syntaxhighlight>Cold drink
/datum/reagent/consumable/drink/cold name = "Cold drink" adj_temp = - 5 targ_temp = BODYTEMP_NORMAL - 5 taste_description = "refreshment"
</syntaxhighlight>Tonic Water
/datum/reagent/consumable/drink/cold/tonic name = "Tonic Water" description = "It tastes strange but at least the quinine keeps the Space Malaria at bay." color = "#664300" // rgb: 102, 67, 0 taste_description = "tart and fresh" adj_dizzy = - 5 adj_drowsy = -2 adj_sleepy = -1
</syntaxhighlight>Soda Water
/datum/reagent/consumable/drink/cold/sodawater name = "Soda Water" description = "A can of club soda. Why not make a scotch and soda?" color = "#619494" // rgb: 97, 148, 148 taste_description = "carbonated water" adj_dizzy = -5 adj_drowsy = -1
</syntaxhighlight>Ice
/datum/reagent/consumable/drink/cold/ice name = "Ice" description = "Frozen water, your dentist wouldn't like you chewing this." reagent_state = SOLID color = "#619494" // rgb: 97, 148, 148 taste_description = "ice" adj_temp = - 7 targ_temp = BODYTEMP_NORMAL - 15
</syntaxhighlight>Space Cola
/datum/reagent/consumable/drink/cold/space_cola name = "Space Cola" description = "A refreshing beverage." color = "#100800" // rgb: 16, 8, 0 taste_description = "cola" adj_drowsy = -2 adj_sleepy = -1
</syntaxhighlight>Nuka Cola
/datum/reagent/consumable/drink/cold/nuka_cola name = "Nuka Cola" description = "Cola, cola never changes." color = "#100800" // rgb: 16, 8, 0 taste_description = "the future" adj_sleepy = -2 adj_drowsy = -10 adj_dizzy = 5
/datum/reagent/consumable/drink/cold/nuka_cola/on_mob_life(mob/living/L, metabolism) L.jitter(10) L.set_drugginess(30) return ..()
</syntaxhighlight>Mountain Wind
/datum/reagent/consumable/drink/cold/spacemountainwind name = "Mountain Wind" description = "Blows right through you like a space wind." color = "#102000" // rgb: 16, 32, 0 taste_description = "sweet citrus soda" adj_drowsy = -7 adj_sleepy = -1
</syntaxhighlight>Dr. Gibb
/datum/reagent/consumable/drink/cold/dr_gibb name = "Dr. Gibb" description = "A delicious blend of 42 different flavours" color = "#102000" // rgb: 16, 32, 0 taste_description = "cherry soda" // FALSE ADVERTISING adj_drowsy = -6
</syntaxhighlight>Space-Up
/datum/reagent/consumable/drink/cold/space_up name = "Space-Up" description = "Tastes like a hull breach in your mouth." color = "#202800" // rgb: 32, 40, 0 taste_description = "cherry soda" adj_temp = - 8 targ_temp = BODYTEMP_NORMAL - 10
</syntaxhighlight>Lemon Lime
/datum/reagent/consumable/drink/cold/lemon_lime name = "Lemon Lime" description = "A tangy substance made of 0.5% natural citrus!" color = "#878F00" // rgb: 135, 40, 0 taste_description = "tangy lime and lemon soda" adj_temp = - 8 targ_temp = BODYTEMP_NORMAL - 10
</syntaxhighlight>Lemonade
/datum/reagent/consumable/drink/cold/lemonade name = "Lemonade" description = "Oh the nostalgia..." color = "#FFFF00" // rgb: 255, 255, 0 taste_description = "tartness"
</syntaxhighlight>Kira Special
/datum/reagent/consumable/drink/cold/kiraspecial name = "Kira Special" description = "Long live the guy who everyone had mistaken for a girl. Baka!" color = "#CCCC99" // rgb: 204, 204, 153 taste_description = "fruity sweetness"
</syntaxhighlight>Brown Star
/datum/reagent/consumable/drink/cold/brownstar name = "Brown Star" description = "It's not what it sounds like..." color = "#9F3400" // rgb: 159, 052, 000 taste_description = "orange and cola soda" adj_temp = - 2
</syntaxhighlight>Milkshake
/datum/reagent/consumable/drink/cold/milkshake name = "Milkshake" description = "Glorious brainfreezing mixture." color = "#AEE5E4" // rgb" 174, 229, 228 taste_description = "creamy vanilla" adj_temp = - 9 targ_temp = BODYTEMP_NORMAL - 10
/datum/reagent/consumable/drink/cold/milkshake/on_mob_life(mob/living/L, metabolism) if(prob(1)) L.emote("shiver") if(holder.has_reagent(/datum/reagent/consumable/capsaicin)) holder.remove_reagent(/datum/reagent/consumable/capsaicin, 2) return ..()
</syntaxhighlight>Rewriter
/datum/reagent/consumable/drink/cold/rewriter name = "Rewriter" description = "The secret of the sanctuary of the Librarian..." color = "#485000" // rgb:72, 080, 0 taste_description = "a bad night out"
/datum/reagent/consumable/drink/cold/rewriter/on_mob_life(mob/living/L, metabolism) L.jitter(5) return ..()
</syntaxhighlight>The Doctor's Delight
/datum/reagent/consumable/drink/doctor_delight name = "The Doctor's Delight" description = "A gulp a day keeps the MediBot away. That's probably for the best." color = "#FF8CFF" // rgb: 255, 140, 255 taste_description = "homely fruit" nutriment_factor = - 1 custom_metabolism = REAGENTS_METABOLISM * 0.25 //Twice the rate of paracetamol adj_dizzy = - 10
/datum/reagent/consumable/drink/doctor_delight/on_mob_life(mob/living/L, metabolism) L.adjustBruteLoss(-0.5, 0) L.adjustFireLoss(-0.5, 0) L.adjustToxLoss(-0.5, 0) L.adjustOxyLoss(-0.5, 0) L.AdjustConfused(-10 SECONDS) return ..()
</syntaxhighlight>Atomic Bomb
/datum/reagent/consumable/drink/atomicbomb name = "Atomic Bomb" description = "Nuclear proliferation never tasted so good." color = "#666300" // rgb: 102, 99, 0 adj_dizzy = 10 taste_description = "da bomb"
/datum/reagent/consumable/drink/atomicbomb/on_mob_life(mob/living/L, metabolism) L.set_drugginess(50) L.AdjustConfused(40) L.slurring += 2 switch(current_cycle) if(40 to 49) L.adjustDrowsyness(2) if(51 to 200) L.Sleeping(60) if(201 to INFINITY) L.Sleeping(60) L.adjustToxLoss(2) return ..()
</syntaxhighlight>Pan-Galactic Gargle Blaster
/datum/reagent/consumable/drink/gargle_blaster name = "Pan-Galactic Gargle Blaster" description = "Whoah, this stuff looks volatile!" color = "#664300" // rgb: 102, 67, 0 adj_dizzy = 6 taste_description = "your brains smashed out by a lemon wrapped around a gold brick"
/datum/reagent/consumable/drink/gargle_blaster/on_mob_life(mob/living/L, metabolism) switch(current_cycle) if(15 to 45) L.slurring += 2 L.jitter(2) if(46 to 65) L.AdjustConfused(40) L.slurring += 2 L.jitter(3) if(66 to 199) L.set_drugginess(50) if(prob(10)) L.vomit() L.jitter(4) if(prob(5)) L.Sleeping(16 SECONDS) if(200 to INFINITY) L.set_drugginess(50) L.AdjustConfused(40) L.slurring += 2 L.adjustToxLoss(2) L.jitter(5) if(prob(10)) L.vomit() L.Sleeping(60) return ..()
</syntaxhighlight>Neurotoxin
/datum/reagent/consumable/drink/neurotoxin name = "Neurotoxin" description = "A strong neurotoxin that puts the subject into a death-like state." color = "#2E2E61" // rgb: 46, 46, 97 adj_dizzy = 6 taste_description = "a numbing sensation" trait_flags = BRADYCARDICS
/datum/reagent/consumable/drink/neurotoxin/on_mob_life(mob/living/L, metabolism) L.Paralyze(60) switch(current_cycle) if(15 to 35) L.stuttering += 2 if(36 to 55) L.stuttering +=2 L.AdjustConfused(40) if(56 to 200) L.stuttering +=2 L.AdjustConfused(40) L.set_drugginess(30) if(201 to INFINITY) L.set_drugginess(30) L.adjustToxLoss(2) return ..()
</syntaxhighlight>Hippies' Delight
/datum/reagent/consumable/drink/hippies_delight name = "Hippies' Delight" description = "You just don't get it maaaan." color = "#664300" // rgb: 102, 67, 0 taste_description = "giving peace a chance"
/datum/reagent/consumable/drink/hippies_delight/on_mob_life(mob/living/L, metabolism) L.slurring = max(L.slurring, 2) switch(current_cycle) if(1 to 5) L.dizzy(10) L.set_drugginess(30) if(prob(10)) L.emote(pick("twitch","giggle")) if(6 to 10) L.dizzy(20) L.jitter(20) L.set_drugginess(45) if(prob(20)) L.emote(pick("twitch","giggle")) if(11 to 200) L.dizzy(40) L.jitter(40) L.set_drugginess(60) if(prob(30)) L.emote(pick("twitch","giggle")) if(201 to INFINITY) L.stuttering = 1 L.jitter(60) L.dizzy(60) L.set_drugginess(75) if(prob(40)) L.emote(pick("twitch","giggle")) L.adjustToxLoss(0.6) return ..()
</syntaxhighlight>Medicines
Medicine
/datum/reagent/medicine name = "Medicine" taste_description = "bitterness" reagent_state = LIQUID taste_description = "bitterness"
</syntaxhighlight>Inaprovaline
/datum/reagent/medicine/inaprovaline name = "Inaprovaline" description = "Inaprovaline is a synaptic stimulant and cardiostimulant. Commonly used to stabilize patients." color = "#C8A5DC" // rgb: 200, 165, 220 overdose_threshold = REAGENTS_OVERDOSE*2 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL*2 scannable = TRUE trait_flags = TACHYCARDIC
/datum/reagent/medicine/inaprovaline/on_mob_life(mob/living/L, metabolism) L.reagent_shock_modifier += PAIN_REDUCTION_LIGHT if(metabolism & IS_VOX) L.adjustToxLoss(REAGENTS_METABOLISM) else if(iscarbon(L)) var/mob/living/carbon/C = L if(C.losebreath > 10) C.set_Losebreath(10) return ..()
/datum/reagent/medicine/inaprovaline/overdose_process(mob/living/L, metabolism) L.jitter(5) //Overdose causes a spasm L.Unconscious(40 SECONDS)
/datum/reagent/medicine/inaprovaline/overdose_crit_process(mob/living/L, metabolism) L.setDrowsyness(L.drowsyness, 20) if(ishuman(L)) //Critical overdose causes total blackout and heart damage. Too much stimulant var/mob/living/carbon/human/H = L var/datum/internal_organ/heart/E = H.internal_organs_by_name["heart"] E.take_damage(0.5*effect_str, TRUE) if(prob(10)) L.emote(pick("twitch","blink_r","shiver"))
</syntaxhighlight>Ryetalyn
/datum/reagent/medicine/ryetalyn name = "Ryetalyn" description = "Ryetalyn is a long-duration shield against toxic chemicals." reagent_state = SOLID color = "#C8A5DC" // rgb: 200, 165, 220 scannable = TRUE custom_metabolism = REAGENTS_METABOLISM * 0.125 purge_list = list(/datum/reagent/toxin, /datum/reagent/zombium) purge_rate = 5 overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL
/datum/reagent/medicine/ryetalyn/on_mob_life(mob/living/L, metabolism) if(iscarbon(L)) var/mob/living/carbon/C = L C.disabilities = 0 return ..()
/datum/reagent/medicine/ryetalyn/overdose_process(mob/living/L, metabolism) L.Confused(40 SECONDS) L.apply_damage(effect_str, TOX)
/datum/reagent/medicine/ryetalyn/overdose_crit_process(mob/living/L, metabolism) if(prob(15)) L.Unconscious(30 SECONDS) L.apply_damage(3*effect_str, CLONE)
</syntaxhighlight>Paracetamol
/datum/reagent/medicine/paracetamol name = "Paracetamol" description = "Most probably know this as Tylenol, but this chemical is a mild, simple painkiller, good for enduring heavy labor." color = "#C855DC" scannable = TRUE custom_metabolism = REAGENTS_METABOLISM * 0.125 purge_list = list(/datum/reagent/medicine/kelotane, /datum/reagent/medicine/tricordrazine, /datum/reagent/medicine/bicaridine) purge_rate = 1 overdose_threshold = REAGENTS_OVERDOSE*2 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL*2
/datum/reagent/medicine/paracetamol/on_mob_life(mob/living/L, metabolism) L.reagent_pain_modifier += PAIN_REDUCTION_HEAVY L.heal_limb_damage(0.2*effect_str, 0.2*effect_str) L.adjustToxLoss(-0.1*effect_str) L.adjustStaminaLoss(-effect_str) return ..()
/datum/reagent/paracetamol/overdose_process(mob/living/L, metabolism) L.hallucination = max(L.hallucination, 2) L.reagent_pain_modifier += PAIN_REDUCTION_VERY_LIGHT L.apply_damage(0.5*effect_str, TOX)
/datum/reagent/paracetamol/overdose_crit_process(mob/living/L, metabolism) L.apply_damage(3*effect_str, TOX)
</syntaxhighlight>Tramadol
/datum/reagent/medicine/tramadol name = "Tramadol" description = "A simple, yet effective painkiller." color = "#C8A5DC" scannable = TRUE custom_metabolism = REAGENTS_METABOLISM * 0.5 overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL
/datum/reagent/medicine/tramadol/on_mob_life(mob/living/L) L.reagent_pain_modifier += PAIN_REDUCTION_VERY_HEAVY if(volume > 20) L.reagent_pain_modifier += PAIN_REDUCTION_LIGHT L.apply_damage(0.25*effect_str, TOX) return ..()
/datum/reagent/medicine/tramadol/overdose_process(mob/living/L, metabolism) L.hallucination = max(L.hallucination, 2) //Hallucinations and oxy damage L.apply_damage(effect_str, OXY)
/datum/reagent/medicine/tramadol/overdose_crit_process(mob/living/L, metabolism) L.apply_damage(3*effect_str, TOX)
</syntaxhighlight>Oxycodone
/datum/reagent/medicine/oxycodone name = "Oxycodone" description = "An effective and very addictive painkiller." color = "#C805DC" custom_metabolism = REAGENTS_METABOLISM * 1.25 overdose_threshold = REAGENTS_OVERDOSE * 0.5 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL * 0.5 scannable = TRUE
/datum/reagent/medicine/oxycodone/on_mob_add(mob/living/L, metabolism) L.adjustStaminaLoss(-20*effect_str) to_chat(L, span_userdanger("You feel a burst of energy revitalize you all of a sudden! You can do anything!"))
/datum/reagent/medicine/oxycodone/on_mob_life(mob/living/L, metabolism) L.reagent_pain_modifier += PAIN_REDUCTION_VERY_HEAVY L.apply_damage(0.2*effect_str, TOX) if(iscarbon(L)) var/mob/living/carbon/C = L C.setShock_Stage(min(C.shock_stage - 1*effect_str, 150)) //you can still paincrit if under ludicrous situations, but you can't go into deep shock return ..()
/datum/reagent/medicine/oxycodone/overdose_process(mob/living/L, metabolism) L.hallucination = max(L.hallucination, 3) L.set_drugginess(10) L.jitter(3)
/datum/reagent/medicine/oxycodone/overdose_crit_process(mob/living/L, metabolism) L.apply_damage(3*effect_str, TOX) L.reagent_pain_modifier += PAIN_REDUCTION_VERY_HEAVY if(ishuman(L)) var/mob/living/carbon/human/H = L var/datum/internal_organ/heart/E = H.internal_organs_by_name["heart"] if(E) E.take_damage(3*effect_str, TRUE)
/datum/reagent/medicine/oxycodone/on_mob_delete(mob/living/L, metabolism) to_chat(L, span_userdanger("The room spins slightly as you start to come down off your painkillers!")) addtimer(CALLBACK(L, /mob/living.proc/Paralyze, 3), 10 SECONDS)
</syntaxhighlight>Hydrocodone
/datum/reagent/medicine/hydrocodone name = "Hydrocodone" description = "An effective but very short lasting painkiller only made by autodocs." color = "#C805DC" custom_metabolism = REAGENTS_METABOLISM * 2 overdose_threshold = REAGENTS_OVERDOSE*0.6 //You aren't using this out of combat. And only the B18 makes it. overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL*0.5 scannable = TRUE
/datum/reagent/medicine/hydrocodone/on_mob_life(mob/living/L, metabolism) L.reagent_pain_modifier += PAIN_REDUCTION_VERY_HEAVY if(iscarbon(L)) var/mob/living/carbon/C = L C.setShock_Stage(min(C.shock_stage - 1*effect_str, 150)) //you can still paincrit if under ludicrous situations, but you can't go into deep shock return ..()
/datum/reagent/medicine/hydrocodone/overdose_process(mob/living/L, metabolism) L.adjustToxLoss(2.5*effect_str, TRUE)
/datum/reagent/medicine/hydrocodone/overdose_crit_process(mob/living/L, metabolism) L.adjustBrainLoss(1.5*effect_str, TRUE)
</syntaxhighlight>Leporazine
/datum/reagent/medicine/leporazine name = "Leporazine" description = "Leporazine can be use to stabilize an individuals body temperature." color = "#C8A5DC" // rgb: 200, 165, 220 scannable = TRUE overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL
/datum/reagent/medicine/leporazine/on_mob_life(mob/living/L, metabolism) var/target_temp = L.get_standard_bodytemperature() if(L.bodytemperature > target_temp) L.adjust_bodytemperature(-40*TEMPERATURE_DAMAGE_COEFFICIENT*effect_str, target_temp) else if(L.bodytemperature < target_temp + 1) L.adjust_bodytemperature(40*TEMPERATURE_DAMAGE_COEFFICIENT*effect_str, 0, target_temp) return ..()
/datum/reagent/medicine/leporazine/overdose_process(mob/living/L, metabolism) if(prob(10)) L.Unconscious(5 SECONDS)
/datum/reagent/medicine/leporazine/overdose_crit_process(mob/living/L, metabolism) L.drowsyness = max(L.drowsyness, 30)
</syntaxhighlight>Kelotane
/datum/reagent/medicine/kelotane name = "Kelotane" description = "Kelotane is a drug used to treat burns." color = "#D8C58C" scannable = TRUE purge_list = list(/datum/reagent/medicine/ryetalyn) purge_rate = 1 overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL
/datum/reagent/medicine/kelotane/on_mob_life(mob/living/L, metabolism) var/target_temp = L.get_standard_bodytemperature() L.heal_limb_damage(0, effect_str) if(L.bodytemperature > target_temp) L.adjust_bodytemperature(-2.5*TEMPERATURE_DAMAGE_COEFFICIENT*effect_str, target_temp) if(volume > 10) L.reagent_pain_modifier -= PAIN_REDUCTION_VERY_LIGHT if(volume > 20) L.reagent_pain_modifier -= PAIN_REDUCTION_LIGHT L.heal_limb_damage(0, 0.5*effect_str) return ..()
/datum/reagent/medicine/kelotane/overdose_process(mob/living/L, metabolism) L.apply_damages(effect_str, 0, effect_str)
/datum/reagent/medicine/kelotane/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(2*effect_str, 0, 2*effect_str)
</syntaxhighlight>Dermaline
/datum/reagent/medicine/dermaline name = "Dermaline" description = "Dermaline is the next step in burn medication. Works twice as good as kelotane and enables the body to restore even the direst heat-damaged tissue." color = "#F8C57C" overdose_threshold = REAGENTS_OVERDOSE*0.5 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL*0.5 scannable = TRUE purge_list = list(/datum/reagent/medicine/oxycodone) purge_rate = 0.2
/datum/reagent/medicine/dermaline/on_mob_life(mob/living/L, metabolism) var/target_temp = L.get_standard_bodytemperature() L.heal_limb_damage(0, 2*effect_str) if(L.bodytemperature > target_temp) L.adjust_bodytemperature(-5*TEMPERATURE_DAMAGE_COEFFICIENT*effect_str, target_temp) if(volume > 5) L.reagent_pain_modifier -= PAIN_REDUCTION_LIGHT if(volume > 10) L.reagent_pain_modifier -= PAIN_REDUCTION_LIGHT L.heal_limb_damage(0, 1.5*effect_str) return ..()
/datum/reagent/medicine/dermaline/overdose_process(mob/living/L, metabolism) L.apply_damages(effect_str, 0, effect_str)
/datum/reagent/medicine/dermaline/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(3*effect_str, 0, 3*effect_str)
</syntaxhighlight>Dexalin
/datum/reagent/medicine/dexalin name = "Dexalin" description = "Dexalin is used in the treatment of oxygen deprivation." color = "#C865FC" overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL scannable = TRUE
/datum/reagent/medicine/dexalin/on_mob_life(mob/living/L,metabolism) if(metabolism & IS_VOX) L.adjustToxLoss(3*effect_str) else L.adjustOxyLoss(-3*effect_str) holder.remove_reagent("lexorin", effect_str) return ..()
/datum/reagent/medicine/dexalin/overdose_process(mob/living/L, metabolism) L.apply_damage(effect_str, TOX)
/datum/reagent/medicine/dexalin/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(2*effect_str, 0, 2*effect_str)
</syntaxhighlight>Dexalin Plus
/datum/reagent/medicine/dexalinplus name = "Dexalin Plus" description = "Dexalin Plus is used in the treatment of oxygen deprivation. It is highly effective." color = "#C8A5FC" overdose_threshold = REAGENTS_OVERDOSE/2 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL/2 scannable = TRUE
/datum/reagent/medicine/dexalinplus/on_mob_life(mob/living/L,metabolism) if(metabolism & IS_VOX) L.adjustToxLoss(1.5*effect_str) else L.adjustOxyLoss(-L.getOxyLoss()) holder.remove_reagent("lexorin", effect_str) return ..()
/datum/reagent/medicine/dexalinplus/overdose_process(mob/living/L, metabolism) L.apply_damage(effect_str, TOX)
/datum/reagent/medicine/dexalinplus/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(2*effect_str, 0, 3*effect_str)
</syntaxhighlight>Tricordrazine
/datum/reagent/medicine/tricordrazine name = "Tricordrazine" description = "Tricordrazine is a highly potent stimulant, originally derived from cordrazine. Can be used to treat a wide range of injuries." color = "#B865CC" scannable = TRUE purge_list = list(/datum/reagent/medicine/ryetalyn) purge_rate = 1 overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL taste_description = "grossness"
/datum/reagent/medicine/tricordrazine/on_mob_life(mob/living/L, metabolism)
L.adjustOxyLoss(-0.5*effect_str) L.adjustToxLoss(-0.4*effect_str) L.heal_limb_damage(0.8*effect_str, 0.8*effect_str) if(volume > 10) L.reagent_pain_modifier -= PAIN_REDUCTION_VERY_LIGHT if(volume > 20) L.reagent_pain_modifier -= PAIN_REDUCTION_LIGHT return ..()
/datum/reagent/medicine/tricordrazine/overdose_process(mob/living/L, metabolism) L.jitter(5) L.adjustBrainLoss(effect_str, TRUE)
/datum/reagent/medicine/tricordrazine/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(3*effect_str, 3*effect_str, 3*effect_str)
</syntaxhighlight>Dylovene
/datum/reagent/medicine/dylovene name = "Dylovene" description = "Dylovene is a broad-spectrum antitoxin." color = "#A8F59C" scannable = TRUE purge_list = list(/datum/reagent/toxin, /datum/reagent/medicine/research/stimulon, /datum/reagent/consumable/drink/atomiccoffee, /datum/reagent/medicine/paracetamol, /datum/reagent/medicine/larvaway) purge_rate = 1 overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL taste_description = "a roll of gauze"
/datum/reagent/medicine/dylovene/on_mob_life(mob/living/L,metabolism) L.hallucination = max(0, L.hallucination - 2.5*effect_str) L.adjustToxLoss(-effect_str) if(volume > 10) L.adjustStaminaLoss(0.5*effect_str) return ..()
/datum/reagent/medicine/dylovene/overdose_process(mob/living/L, metabolism) if(!ishuman(L)) return var/mob/living/carbon/human/H = L var/datum/internal_organ/eyes/E = H.internal_organs_by_name["eyes"] if(E) E.take_damage(0.5*effect_str, TRUE)
/datum/reagent/medicine/dylovene/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(2*effect_str, 2*effect_str) if(ishuman(L)) var/mob/living/carbon/human/H = L var/datum/internal_organ/eyes/E = H.internal_organs_by_name["eyes"] if(E) E.take_damage(1.5*effect_str, TRUE)
</syntaxhighlight>Adminordrazine
/datum/reagent/medicine/adminordrazine //An OP chemical for admins name = "Adminordrazine" description = "It's magic. We don't have to explain it." color = "#C8A5DC" // rgb: 200, 165, 220 taste_description = "badmins"
/datum/reagent/medicine/adminordrazine/on_mob_life(mob/living/L, metabolism) L.reagents.remove_all_type(/datum/reagent/toxin, 2.5*effect_str, 0, 1) L.setCloneLoss(0) L.setOxyLoss(0) L.heal_limb_damage(5, 5) L.adjustToxLoss(-5) L.hallucination = 0 L.setBrainLoss(0) L.set_blurriness(0, TRUE) L.set_blindness(0, TRUE) L.SetStun(0, FALSE) L.SetUnconscious(0) L.SetParalyzed(0) L.dizziness = 0 L.setDrowsyness(0) L.stuttering = 0 L.SetConfused(0) L.SetSleeping(0) L.jitteriness = 0 if(iscarbon(L)) var/mob/living/carbon/C = L C.drunkenness = 0 C.disabilities = 0 return ..()
</syntaxhighlight>Synaptizine
/datum/reagent/medicine/synaptizine name = "Synaptizine" description = "Synaptizine is a commonly used performance-enhancing drug with minimal side effects." color = "#C8A5DC" // rgb: 200, 165, 220 overdose_threshold = REAGENTS_OVERDOSE/5 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL/5 scannable = TRUE custom_metabolism = REAGENTS_METABOLISM * 0.5 purge_list = list(/datum/reagent/toxin/mindbreaker) purge_rate = 5
/datum/reagent/medicine/synaptizine/on_mob_add(mob/living/L, metabolism) L.adjustStaminaLoss(-30*effect_str) to_chat(L, span_userdanger("You feel a burst of energy as the stimulants course through you! Time to go!"))
/datum/reagent/medicine/synaptizine/on_mob_life(mob/living/L, metabolism) L.reagent_shock_modifier += PAIN_REDUCTION_MEDIUM L.adjustDrowsyness(-5) L.AdjustUnconscious(-20) L.AdjustStun(-20) L.AdjustParalyzed(-20) L.adjustToxLoss(effect_str) L.hallucination = max(0, L.hallucination - 10) switch(current_cycle) if(1 to 10) L.adjustStaminaLoss(-7.5*effect_str) if(11 to 40) L.adjustStaminaLoss((current_cycle*0.75 - 14)*effect_str) if(41 to INFINITY) L.adjustStaminaLoss(15*effect_str) return ..()
/datum/reagent/medicine/synaptizine/overdose_process(mob/living/L, metabolism) L.apply_damage(effect_str, TOX)
/datum/reagent/medicine/synaptizine/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(effect_str, effect_str, effect_str)
/datum/reagent/medicine/synaptizine/on_mob_delete(mob/living/L, metabolism) to_chat(L, span_userdanger("The room spins as you start to come down off your stimulants!")) addtimer(CALLBACK(L, /mob/living.proc/Paralyze, 15), 10 SECONDS)
</syntaxhighlight>Neuraline
/datum/reagent/medicine/neuraline //injected by neurostimulator implant and medic-only injector name = "Neuraline" description = "A chemical cocktail tailored to enhance or dampen specific neural processes." color = "#C8A5DC" // rgb: 200, 165, 220 custom_metabolism = REAGENTS_METABOLISM * 2 overdose_threshold = 5 overdose_crit_threshold = 6 scannable = FALSE
/datum/reagent/medicine/neuraline/on_mob_life(mob/living/L) L.reagent_shock_modifier += (2 * PAIN_REDUCTION_VERY_HEAVY) L.adjustDrowsyness(-5) L.dizzy(-5) L.stuttering = max(L.stuttering-5, 0) if(iscarbon(L)) var/mob/living/carbon/C = L C.drunkenness = max(C.drunkenness-5, 0) L.AdjustConfused(-10 SECONDS) L.adjust_blurriness(-5) L.AdjustUnconscious(-40) L.AdjustStun(-40) L.AdjustParalyzed(-20) L.AdjustSleeping(-40) L.adjustStaminaLoss(-30*effect_str) L.heal_limb_damage(7.5*effect_str, 7.5*effect_str) L.adjustToxLoss(3.75*effect_str) if(iscarbon(L)) var/mob/living/carbon/C = L C.setShock_Stage(min(C.shock_stage - volume*effect_str, 150)) //will pull a target out of deep paincrit instantly, if he's in it return ..()
/datum/reagent/medicine/neuraline/overdose_process(mob/living/L, metabolism) L.adjustToxLoss(2.5*effect_str, TRUE)
/datum/reagent/medicine/neuraline/overdose_crit_process(mob/living/L, metabolism) L.adjustBrainLoss(10*effect_str, TRUE) //if you double inject, you're fucked till surgery. This is the downside of a very strong chem.
</syntaxhighlight>Hyronalin
/datum/reagent/medicine/hyronalin name = "Hyronalin" description = "Hyronalin is a medicinal drug used to counter the effect of toxin poisoning." color = "#C8A5DC" // rgb: 200, 165, 220 custom_metabolism = REAGENTS_METABOLISM overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL scannable = TRUE
/datum/reagent/medicine/hyronalin/on_mob_life(mob/living/L) L.adjustToxLoss(-effect_str) return ..()
/datum/reagent/medicine/hyronalin/overdose_process(mob/living/L, metabolism) L.apply_damage(2*effect_str, TOX)
/datum/reagent/medicine/hyronalin/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(0, effect_str, effect_str)
</syntaxhighlight>Arithrazine
/datum/reagent/medicine/arithrazine name = "Arithrazine" description = "Arithrazine is an unstable medication used for minor cases of toxin poisoning." color = "#C8A5DC" // rgb: 200, 165, 220 custom_metabolism = REAGENTS_METABOLISM overdose_threshold = REAGENTS_OVERDOSE/2 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL/2 scannable = TRUE
/datum/reagent/medicine/arithrazine/on_mob_life(mob/living/L) L.adjustToxLoss(-0.5*effect_str) if(prob(15)) L.take_limb_damage(effect_str, 0) return ..()
/datum/reagent/medicine/arithrazine/overdose_process(mob/living/L, metabolism) L.apply_damage(effect_str, TOX)
/datum/reagent/arithrazine/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(effect_str, effect_str, 2*effect_str)
</syntaxhighlight>Russian Red
/datum/reagent/medicine/russian_red name = "Russian Red" description = "An emergency generic treatment with extreme side effects." color = "#C8A5DC" // rgb: 200, 165, 220 custom_metabolism = REAGENTS_METABOLISM * 5 overdose_threshold = REAGENTS_OVERDOSE/2 //so it makes the OD threshold effectively 15 so two pills is too much but one is fine overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL/2.5 //and this makes the Critical OD 20 scannable = TRUE
/datum/reagent/medicine/russian_red/on_mob_life(mob/living/L, metabolism) L.heal_limb_damage(10*effect_str, 10*effect_str) L.adjustToxLoss(-2.5*effect_str) L.adjustCloneLoss(effect_str) if(iscarbon(L)) var/mob/living/carbon/C = L C.setShock_Stage(min(C.shock_stage - 5*effect_str, 150)) //removes a target from deep paincrit instantly return ..()
/datum/reagent/medicine/russian_red/overdose_process(mob/living/L, metabolism) L.apply_damages(effect_str, 0, 0)
/datum/reagent/medicine/russian_red/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(effect_str, 2*effect_str, effect_str) L.adjustBrainLoss(2*effect_str, TRUE)
</syntaxhighlight>Alkysine
/datum/reagent/medicine/alkysine name = "Alkysine" description = "Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue." color = "#E89599" custom_metabolism = REAGENTS_METABOLISM * 0.25 overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL scannable = TRUE
/datum/reagent/medicine/alkysine/on_mob_life(mob/living/L, metabolism) L.reagent_shock_modifier += PAIN_REDUCTION_VERY_LIGHT L.adjustBrainLoss(-1.5*effect_str) return ..()
/datum/reagent/medicine/alkysine/overdose_process(mob/living/L, metabolism) L.apply_damage(effect_str, TOX)
/datum/reagent/medicine/alkysine/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(0, effect_str, effect_str)
</syntaxhighlight>Imidazoline
/datum/reagent/medicine/imidazoline name = "Imidazoline" description = "Heals eye damage" color = "#C8A5DC" // rgb: 200, 165, 220 overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL scannable = TRUE taste_description = "dull toxin"
/datum/reagent/medicine/imidazoline/on_mob_life(mob/living/L, metabolism) L.adjust_blurriness(-5) L.adjust_blindness(-5) if(ishuman(L)) var/mob/living/carbon/human/H = L var/datum/internal_organ/eyes/E = H.internal_organs_by_name["eyes"] if(E) E.heal_organ_damage(effect_str) return ..()
/datum/reagent/medicine/imidazoline/overdose_process(mob/living/L, metabolism) L.apply_damage(2*effect_str, TOX)
/datum/reagent/medicine/imidazoline/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(0, effect_str, 2*effect_str)
</syntaxhighlight>Peridaxon
/datum/reagent/medicine/peridaxon name = "Peridaxon" description = "Used to stabilize internal organs while waiting for surgery, and fixes organ damage at cryogenic temperatures. Medicate cautiously." color = "#C845DC" overdose_threshold = REAGENTS_OVERDOSE/2 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL/2 custom_metabolism = REAGENTS_METABOLISM * 0.25 scannable = TRUE
/datum/reagent/medicine/peridaxon/on_mob_life(mob/living/L, metabolism) if(!ishuman(L)) return ..() var/mob/living/carbon/human/H = L for(var/datum/internal_organ/I in H.internal_organs) if(I.damage) if(L.bodytemperature > 169 && I.damage > 5) continue I.heal_organ_damage(effect_str) return ..()
/datum/reagent/medicine/peridaxon/overdose_process(mob/living/L, metabolism) L.apply_damage(2*effect_str, BRUTE)
/datum/reagent/peridaxon/overdose_crit_process(mob/living/L, metabolism) //wiki editor's comment: broken type lol L.apply_damages(effect_str, 3*effect_str, 3*effect_str)
</syntaxhighlight>Peridaxon Plus
/datum/reagent/medicine/peridaxon_plus name = "Peridaxon Plus" description = "Used to heal severely damaged internal organs in the field. Moderately toxic. Do not self-administer." color = "#C845DC" overdose_threshold = REAGENTS_OVERDOSE/30 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL/25 custom_metabolism = REAGENTS_METABOLISM * 0.5 scannable = TRUE
/datum/reagent/medicine/peridaxon_plus/on_mob_add(mob/living/L, metabolism) if(TIMER_COOLDOWN_CHECK(L, name)) return L.adjustCloneLoss(5*effect_str)
/datum/reagent/medicine/peridaxon_plus/on_mob_delete(mob/living/L, metabolism) TIMER_COOLDOWN_START(L, name, 30 SECONDS)
/datum/reagent/medicine/peridaxon_plus/on_mob_life(mob/living/L, metabolism) L.reagents.add_reagent(/datum/reagent/toxin,5) L.adjustStaminaLoss(10*effect_str) if(!ishuman(L)) return ..() var/mob/living/carbon/human/H = L for(var/datum/internal_organ/I in H.internal_organs) if(I.damage) I.heal_organ_damage(2*effect_str) return ..()
/datum/reagent/medicine/peridaxon_plus/overdose_process(mob/living/L, metabolism) L.apply_damage(15*effect_str, TOX)
/datum/reagent/peridaxon_plus/overdose_crit_process(mob/living/L, metabolism) //wiki editor sez: fix your type paths what fuck L.apply_damages(15*effect_str, TOX) //Ya triple-clicked. Ya shouldn'ta did that.
</syntaxhighlight>Bicaridine
/datum/reagent/medicine/bicaridine name = "Bicaridine" description = "Bicaridine is an analgesic medication and can be used to treat blunt trauma." color = "#E8756C" purge_list = list(/datum/reagent/medicine/ryetalyn) purge_rate = 1 overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL scannable = TRUE
/datum/reagent/medicine/bicaridine/on_mob_life(mob/living/L, metabolism) L.heal_limb_damage(effect_str, 0) if(volume > 10) L.reagent_pain_modifier -= PAIN_REDUCTION_VERY_LIGHT if(volume > 20) L.reagent_pain_modifier -= PAIN_REDUCTION_LIGHT L.heal_limb_damage(0.5*effect_str, 0) return ..()
/datum/reagent/medicine/bicaridine/overdose_process(mob/living/L, metabolism) L.apply_damage(effect_str, BURN)
/datum/reagent/medicine/bicaridine/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(effect_str, 3*effect_str, 2*effect_str)
</syntaxhighlight>Meralyne
/datum/reagent/medicine/meralyne name = "Meralyne" description = "Meralyne is a concentrated form of bicardine and can be used to treat extensive blunt trauma." color = "#E6666C" overdose_threshold = REAGENTS_OVERDOSE*0.5 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL*0.5 scannable = TRUE purge_list = list(/datum/reagent/medicine/oxycodone) purge_rate = 0.2
/datum/reagent/medicine/meralyne/on_mob_life(mob/living/L, metabolism) L.heal_limb_damage(2*effect_str, 0) if(volume > 5) L.reagent_pain_modifier -= PAIN_REDUCTION_LIGHT if(volume > 10) L.reagent_pain_modifier -= PAIN_REDUCTION_LIGHT L.heal_limb_damage(1.5*effect_str, 0) return ..()
/datum/reagent/medicine/meralyne/overdose_process(mob/living/L, metabolism) L.apply_damage(2*effect_str, BURN)
/datum/reagent/medicine/meralyne/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(2*effect_str, 6*effect_str, 4*effect_str)
</syntaxhighlight>Quick Clot
/datum/reagent/medicine/quickclot name = "Quick Clot" description = "A chemical designed to quickly arrest all sorts of bleeding by encouraging coagulation. Can rectify internal bleeding at cryogenic temperatures." color = "#CC00FF" overdose_threshold = REAGENTS_OVERDOSE/2 //Was 4, now 6 //Now 15 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL/2 scannable = TRUE //scannable now. HUZZAH. custom_metabolism = REAGENTS_METABOLISM * 0.25
/datum/reagent/medicine/quickclot/on_mob_life(mob/living/L, metabolism) L.blood_volume += 0.2 if(!ishuman(L) || L.bodytemperature > 169) //only heals IB at cryogenic temperatures. return ..() var/mob/living/carbon/human/H = L for(var/datum/limb/X in H.limbs) for(var/datum/wound/W in X.wounds) if(W.internal) W.damage = max(0, W.damage - (effect_str)) X.update_damages() if (X.update_icon()) X.owner.UpdateDamageIcon(1) return ..()
/datum/reagent/medicine/quickclot/overdose_process(mob/living/L, metabolism)
L.apply_damage(2*effect_str, BRUTE)
/datum/reagent/medicine/quickclot/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(0, 2*effect_str, 2*effect_str)
</syntaxhighlight>Quick Clot Plus
/datum/reagent/medicine/quickclotplus name = "Quick Clot Plus" description = "A chemical designed to quickly and painfully remove internal bleeding by encouraging coagulation. Should not be self-administered." color = "#CC00FF" overdose_threshold = REAGENTS_OVERDOSE/5 //Was 4, now 6 //Now 15 //Now 6 again, yay oldQC overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL/5 //10u scannable = TRUE custom_metabolism = REAGENTS_METABOLISM * 2.5
/datum/reagent/medicine/quickclotplus/on_mob_add(mob/living/L, metabolism) if(TIMER_COOLDOWN_CHECK(L, name)) return L.adjustCloneLoss(5*effect_str)
/datum/reagent/medicine/quickclotplus/on_mob_delete(mob/living/L, metabolism) TIMER_COOLDOWN_START(L, name, 30 SECONDS)
/datum/reagent/medicine/quickclotplus/on_mob_life(mob/living/L, metabolism) var/mob/living/carbon/human/H = L for(var/datum/limb/X in H.limbs) for(var/datum/wound/W in X.wounds) if(W.internal) W.damage = max(0, W.damage - (2.5*effect_str)) X.update_damages() if (X.update_icon()) X.owner.UpdateDamageIcon(1) L.reagents.add_reagent(/datum/reagent/toxin,5) L.reagent_shock_modifier -= PAIN_REDUCTION_VERY_HEAVY L.adjustStaminaLoss(15*effect_str) return ..()
/datum/reagent/medicine/quickclotplus/overdose_process(mob/living/L, metabolism) L.apply_damage(1.5*effect_str, TOX) L.blood_volume -= 4
/datum/reagent/medicine/quickclotplus/overdose_crit_process(mob/living/L, metabolism) L.blood_volume -= 20
</syntaxhighlight>Nanoblood
/datum/reagent/medicine/nanoblood name = "Nanoblood" description = "A chemical designed to massively boost the body's natural blood restoration rate. Causes fatigue and minor toxic effects." color = "#CC00FF" overdose_threshold = REAGENTS_OVERDOSE/5 //6u overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL/5 //10u scannable = TRUE
/datum/reagent/medicine/nanoblood/on_mob_life(mob/living/L, metabolism) L.blood_volume += 2.4 L.adjustToxLoss(effect_str) L.adjustStaminaLoss(6*effect_str) if(L.blood_volume < BLOOD_VOLUME_OKAY) L.blood_volume += 2.4 if(L.blood_volume < BLOOD_VOLUME_BAD) L.blood_volume = (BLOOD_VOLUME_BAD+1) L.reagents.add_reagent(/datum/reagent/toxin,25) L.AdjustSleeping(100) return ..()
/datum/reagent/medicine/nanoblood/overdose_process(mob/living/L, metabolism) L.apply_damage(1.5*effect_str, TOX)
/datum/reagent/medicine/nanoblood/overdose_crit_process(mob/living/L, metabolism) L.apply_damage(3*effect_str, TOX)
</syntaxhighlight>Hyperzine
/datum/reagent/medicine/hyperzine name = "Hyperzine" description = "Hyperzine is a highly effective, muscle and adrenal stimulant that massively accelerates metabolism. May cause heart damage" color = "#C8A5DC" // rgb: 200, 165, 220 overdose_threshold = REAGENTS_OVERDOSE/5 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL/5 scannable = TRUE purge_list = list(/datum/reagent/medicine/dexalinplus) //Does this purge any specific chems? purge_rate = 15 //rate at which it purges specific chems trait_flags = TACHYCARDIC
/datum/reagent/medicine/hyperzine/on_mob_add(mob/living/L, metabolism) . = ..() L.add_movespeed_modifier(type, TRUE, 0, NONE, TRUE, -1)
/datum/reagent/medicine/hyperzine/on_mob_delete(mob/living/L, metabolism) L.remove_movespeed_modifier(type) var/amount = current_cycle * 2 L.adjustOxyLoss(amount) L.adjustStaminaLoss(amount * 1.5) if(L.stat == DEAD) var/death_message = span_danger("Your body is unable to bear the strain. The last thing you feel, aside from crippling exhaustion, is an explosive pain in your chest as you drop dead. It's a sad thing your adventures have ended here!") if(iscarbon(L)) var/mob/living/carbon/C = L if(C.species.species_flags & NO_PAIN) death_message = span_danger("Your body is unable to bear the strain. The last thing you feel as you drop dead is utterly crippling exhaustion. It's a sad thing your adventures have ended here!")
to_chat(L, "[death_message]") else switch(amount) if(4 to 20) to_chat(L, span_warning("You feel a bit tired.")) if(21 to 50) L.Paralyze(amount * 2) to_chat(L, span_danger("You collapse as a sudden wave of fatigue washes over you.")) if(50 to INFINITY) L.Unconscious(amount * 2) to_chat(L, span_danger("Your world convulses as a wave of extreme fatigue washes over you!")) //when hyperzine is removed from the body, there's a backlash as it struggles to transition and operate without the drug
return ..()
/datum/reagent/medicine/hyperzine/on_mob_life(mob/living/L, metabolism) if(iscarbon(L)) var/mob/living/carbon/C = L C.adjust_nutrition(-volume * 1.5*effect_str) if(prob(1)) L.emote(pick("twitch","blink_r","shiver")) if(ishuman(L)) var/mob/living/carbon/human/H = L var/datum/internal_organ/heart/F = H.internal_organs_by_name["heart"] F.take_damage(effect_str, TRUE) return ..()
/datum/reagent/medicine/hyperzine/overdose_process(mob/living/L, metabolism) if(ishuman(L)) L.jitter(5) var/mob/living/carbon/human/H = L var/datum/internal_organ/heart/E = H.internal_organs_by_name["heart"] if(E) E.take_damage(0.5*effect_str, TRUE) if(prob(10)) L.emote(pick("twitch", "blink_r", "shiver"))
/datum/reagent/medicine/hyperzine/overdose_crit_process(mob/living/L, metabolism) if(ishuman(L)) L.jitter(10) var/mob/living/carbon/human/H = L var/datum/internal_organ/heart/E = H.internal_organs_by_name["heart"] if(E) E.take_damage(2*effect_str, TRUE) if(prob(25)) L.emote(pick("twitch", "blink_r", "shiver"))
</syntaxhighlight>Ultrazine
/datum/reagent/medicine/ultrazine name = "Ultrazine" description = "A highly-potent, long-lasting combination CNS and muscle stimulant. Extremely addictive." color = "#C8A5DC" // rgb: 200, 165, 220 custom_metabolism = REAGENTS_METABOLISM * 0.0835 overdose_threshold = 10 overdose_crit_threshold = 20 addiction_threshold = 0.4 // Adios Addiction Virus taste_multi = 2
/datum/reagent/medicine/ultrazine/on_mob_add(mob/living/L, metabolism) . = ..() L.add_movespeed_modifier(type, TRUE, 0, NONE, TRUE, -1)
/datum/reagent/medicine/ultrazine/on_mob_delete(mob/living/L, metabolism) L.remove_movespeed_modifier(type)
/datum/reagent/medicine/ultrazine/on_mob_life(mob/living/L, metabolism) if(prob(50)) L.AdjustParalyzed(-20) L.AdjustStun(-20) L.AdjustUnconscious(-20) L.adjustStaminaLoss(-2*effect_str) if(prob(2)) L.emote(pick("twitch","blink_r","shiver")) return ..()
/datum/reagent/medicine/ultrazine/addiction_act_stage1(mob/living/L, metabolism) if(prob(10)) to_chat(L, span_notice("[pick("You could use another hit.", "More of that would be nice.", "Another dose would help.", "One more dose wouldn't hurt", "Why not take one more?")]")) if(prob(5)) L.emote(pick("twitch","blink_r","shiver")) L.adjustStaminaLoss(20) if(prob(20)) L.hallucination += 10
/datum/reagent/medicine/ultrazine/addiction_act_stage2(mob/living/L, metabolism) if(prob(10)) to_chat(L, span_warning("[pick("It's just not the same without it.", "You could use another hit.", "You should take another.", "Just one more.", "Looks like you need another one.")]")) if(prob(5)) L.emote("me", EMOTE_VISIBLE, pick("winces slightly.", "grimaces.")) L.adjustStaminaLoss(35) L.Stun(20) if(prob(20)) L.hallucination += 15 L.AdjustConfused(60)
/datum/reagent/medicine/ultrazine/addiction_act_stage3(mob/living/L, metabolism) if(prob(10)) to_chat(L, span_warning("[pick("You need more.", "It's hard to go on like this.", "You want more. You need more.", "Just take another hit. Now.", "One more.")]")) if(prob(5)) L.emote("me", EMOTE_VISIBLE, pick("winces.", "grimaces.", "groans!")) L.Stun(30) if(prob(20)) L.hallucination += 20 L.AdjustConfused(10 SECONDS) L.dizzy(60) L.adjustToxLoss(0.1*effect_str) L.adjustBrainLoss(0.1*effect_str, TRUE)
/datum/reagent/medicine/ultrazine/addiction_act_stage4(mob/living/L, metabolism) if(prob(10)) to_chat(L, span_danger("[pick("You need another dose, now. NOW.", "You can't stand it. You have to go back. You have to go back.", "You need more. YOU NEED MORE.", "MORE", "TAKE MORE.")]")) if(prob(5)) L.emote("me", EMOTE_VISIBLE, pick("groans painfully!", "contorts with pain!")) L.Stun(80) L.do_jitter_animation(200) if(prob(20)) L.hallucination += 30 L.AdjustConfused(14 SECONDS) L.dizzy(80) L.adjustToxLoss(0.3*effect_str) L.adjustBrainLoss(0.1*effect_str, TRUE) if(prob(15) && ishuman(L)) var/mob/living/carbon/human/H = L var/affected_organ = pick("heart","lungs","liver","kidneys") var/datum/internal_organ/I = H.internal_organs_by_name[affected_organ] I.take_damage(5.5*effect_str)
/datum/reagent/medicine/ultrazine/overdose_process(mob/living/L, metabolism) if(ishuman(L)) var/mob/living/carbon/human/H = L var/datum/internal_organ/heart/E = H.internal_organs_by_name["heart"] if(E) E.take_damage(0.5*effect_str, TRUE) else L.adjustToxLoss(0.5*effect_str) if(prob(10)) L.emote(pick("twitch", "blink_r", "shiver"))
/datum/reagent/medicine/ultrazine/overdose_crit_process(mob/living/L, metabolism) if(!ishuman(L)) L.adjustToxLoss(1.5*effect_str) else var/mob/living/carbon/human/H = L var/datum/internal_organ/heart/E = H.internal_organs_by_name["heart"] if(E) E.take_damage(1.5*effect_str, TRUE)
</syntaxhighlight>Cryoxadone
/datum/reagent/medicine/cryoxadone name = "Cryoxadone" description = "A chemical mixture with almost magical healing powers. Its main limitation is that the targets body temperature must be under 170K for it to metabolise correctly." reagent_state = LIQUID color = "#C8A5DC" // rgb: 200, 165, 220 scannable = TRUE taste_description = "sludge" trait_flags = BRADYCARDICS
/datum/reagent/medicine/cryoxadone/on_mob_life(mob/living/L, metabolism) if(L.bodytemperature < 170) L.adjustCloneLoss(-effect_str) L.adjustOxyLoss(-effect_str) L.heal_limb_damage(effect_str,effect_str) L.adjustToxLoss(-effect_str) return ..()
</syntaxhighlight>Clonexadone
/datum/reagent/medicine/clonexadone name = "Clonexadone" description = "A liquid compound similar to that used in the cloning process. Can be used to 'finish' the cloning process when used in conjunction with a cryo tube." color = "#C8A5DC" // rgb: 200, 165, 220 scannable = TRUE taste_description = "muscle" trait_flags = BRADYCARDICS
/datum/reagent/medicine/clonexadone/on_mob_life(mob/living/L, metabolism) if(L.bodytemperature < 170) L.adjustCloneLoss(-3*effect_str) L.adjustOxyLoss(-3*effect_str) L.heal_limb_damage(3*effect_str,3*effect_str) L.adjustToxLoss(-3*effect_str)
return ..()
</syntaxhighlight>Rezadone
/datum/reagent/medicine/rezadone name = "Rezadone" description = "A powder derived from fish toxin, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." reagent_state = SOLID color = "#669900" // rgb: 102, 153, 0 overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL scannable = TRUE taste_description = "fish"
/datum/reagent/medicine/rezadone/on_mob_life(mob/living/L, metabolism) switch(current_cycle) if(1 to 15) L.adjustCloneLoss(-effect_str) L.heal_limb_damage(effect_str,effect_str) if(16 to 35) L.adjustCloneLoss(-2*effect_str) L.heal_limb_damage(2*effect_str,effect_str)
L.status_flags &= ~DISFIGURED if(ishuman(L)) var/mob/living/carbon/human/H = L H.name = H.get_visible_name() if(35 to INFINITY) L.adjustToxLoss(effect_str) L.dizzy(5) L.jitter(5) return ..()
/datum/reagent/medicine/rezadone/overdose_process(mob/living/L, metabolism) L.apply_damage(effect_str, TOX)
/datum/reagent/medicine/rezadone/overdose_crit_process(mob/living/L, metabolism) L.apply_damage(2*effect_str, TOX)
</syntaxhighlight>Spaceacillin
/datum/reagent/medicine/spaceacillin name = "Spaceacillin" description = "An all-purpose antiviral agent." color = "#C8A5DC" // rgb: 200, 165, 220 custom_metabolism = REAGENTS_METABOLISM * 0.05 overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL scannable = TRUE
/datum/reagent/medicine/spaceacillin/overdose_process(mob/living/L, metabolism) L.apply_damage(effect_str, TOX)
/datum/reagent/medicine/spaceacillin/overdose_crit_process(mob/living/L, metabolism) L.apply_damage(2*effect_str, TOX)
</syntaxhighlight>Polyhexanide
/datum/reagent/medicine/polyhexanide name = "Polyhexanide" description = "A sterilizing agent designed for internal use. Powerful, but dangerous." color = "#C8A5DC" // rgb: 200, 165, 220 custom_metabolism = REAGENTS_METABOLISM * 2 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL scannable = TRUE
/datum/reagent/medicine/polyhexanide/on_mob_life(mob/living/L, metabolism) switch(current_cycle) if(1 to 9) L.adjustToxLoss(effect_str) L.adjustDrowsyness(5) if(10 to 50) L.adjustToxLoss(1.25*effect_str) L.Sleeping(10 SECONDS) if(51 to INFINITY) L.adjustToxLoss((current_cycle/10-4.6)*effect_str) //why yes, the sleeping stops after it stops working. Yay screaming patients running off! return ..()
/datum/reagent/medicine/polyhexanide/overdose_crit_process(mob/living/L, metabolism) L.apply_damage(2*effect_str, TOX)
</syntaxhighlight>Larvaway
/datum/reagent/medicine/larvaway name = "Larvaway" description = "A proprietary blend of antibiotics and antifungal agents designed to inhibit the growth of xenomorph embryos. Builds up toxicity over time." color = "#C8A5DC" // rgb: 200, 165, 220 custom_metabolism = REAGENTS_METABOLISM * 0.5 overdose_threshold = REAGENTS_OVERDOSE * 0.5 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL * 0.5 scannable = TRUE
/datum/reagent/medicine/larvaway/on_mob_life(mob/living/L, metabolism) switch(current_cycle) if(1 to 100) L.adjustToxLoss(0.5*effect_str) if(prob(25)) L.adjustStaminaLoss(0.5*effect_str) if(101 to 200) L.adjustToxLoss(effect_str) if(prob(25)) L.adjustStaminaLoss(20*effect_str) if(201 to INFINITY) L.adjustToxLoss(3*effect_str) return ..()
/datum/reagent/medicine/larvaway/overdose_process(mob/living/L, metabolism) L.apply_damage(effect_str, TOX)
/datum/reagent/medicine/larvaway/overdose_crit_process(mob/living/L, metabolism) L.apply_damage(2*effect_str, TOX)
</syntaxhighlight>Ethylredoxrazine
/datum/reagent/medicine/ethylredoxrazine // FUCK YOU, ALCOHOL name = "Ethylredoxrazine" description = "A powerful oxidizer that reacts with ethanol." reagent_state = SOLID color = "#605048" // rgb: 96, 80, 72 overdose_threshold = REAGENTS_OVERDOSE overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL
/datum/reagent/medicine/ethylredoxrazine/on_mob_life(mob/living/L, metabolism) L.dizzy(-1) L.adjustDrowsyness(-1) L.stuttering = max(L.stuttering-1, 0) L.AdjustConfused(-20) var/mob/living/carbon/C = L C.drunkenness = max(C.drunkenness-4, 0) L.reagents.remove_all_type(/datum/reagent/consumable/ethanol, 0.5*effect_str, 0, 1) return ..()
/datum/reagent/medicine/ethylredoxrazine/overdose_process(mob/living/L, metabolism) L.apply_damage(effect_str, TOX)
/datum/reagent/medicine/ethylredoxrazine/overdose_crit_process(mob/living/L, metabolism) L.apply_damage(2*effect_str, TOX)
</syntaxhighlight>Hypervene
/datum/reagent/hypervene // this isn't under /medicine so things that purge /datum/reagent/medicine like neuro/larval don't purge it name = "Hypervene" description = "Quickly purges the body of toxin damage, radiation and all other chemicals. Causes significant pain." color = "#19C832" overdose_threshold = REAGENTS_OVERDOSE * 0.5 overdose_crit_threshold = REAGENTS_OVERDOSE_CRITICAL * 0.5 custom_metabolism = REAGENTS_METABOLISM * 5 purge_list = list(/datum/reagent/medicine, /datum/reagent/toxin, /datum/reagent/zombium) purge_rate = 5 scannable = TRUE taste_description = "punishment" taste_multi = 8
/datum/reagent/hypervene/on_mob_life(mob/living/L, metabolism) L.reagent_shock_modifier -= PAIN_REDUCTION_HEAVY //Significant pain while metabolized. if(prob(5)) //causes vomiting L.vomit() return ..()
/datum/reagent/hypervene/overdose_process(mob/living/L, metabolism) L.apply_damages(effect_str, effect_str) if(prob(10)) //heavy vomiting L.vomit() L.reagent_shock_modifier -= PAIN_REDUCTION_VERY_HEAVY * 1.25//Massive pain.
/datum/reagent/hypervene/overdose_crit_process(mob/living/L, metabolism) L.apply_damages(2*effect_str, 2*effect_str) if(prob(50)) //violent vomiting L.vomit() L.reagent_shock_modifier -= PAIN_REDUCTION_VERY_HEAVY * 4 //Unlimited agony.
</syntaxhighlight>Roulettium
/datum/reagent/medicine/roulettium name = "Roulettium" description = "The concentrated essence of unga. Unsafe to ingest in any quantity" color = "#19C832" custom_metabolism = REAGENTS_METABOLISM * 0.5 taste_description = "Poor life choices"
/datum/reagent/medicine/roulettium/on_mob_life(mob/living/L, metabolism) L.reagent_shock_modifier += PAIN_REDUCTION_VERY_HEAVY * 4 L.adjustToxLoss(-30*effect_str) L.heal_limb_damage(30*effect_str, 30*effect_str) L.adjustStaminaLoss(-30*effect_str) L.AdjustStun(-100) if(prob(5)) L.adjustBruteLoss(1200*effect_str) //the big oof. No, it's not kill or gib, I want them to nugget.
</syntaxhighlight>Lemoline
/datum/reagent/medicine/lemoline name = "Lemoline" description = "A concentrated set of powders used to enhance other medicine in chemical recipes. Has no use on its own." reagent_state = LIQUID color = "#66801e" taste_description = "piss"
</syntaxhighlight>Bihexajuline
/datum/reagent/medicine/bihexajuline name = "Bihexajuline" description = "Accelerates natural bone repair in a low temperature environment. Causes severe pain." color = "#DFDFDF" taste_description = "skim milk" scannable = TRUE overdose_threshold = REAGENTS_OVERDOSE
/datum/reagent/medicine/bihexajuline/on_mob_life(mob/living/L, metabolism) . = ..() if(!ishuman(L)) return var/mob/living/carbon/human/host = L host.reagent_shock_modifier -= PAIN_REDUCTION_VERY_HEAVY //oof ow ouch if(host.bodytemperature < 170) for(var/datum/limb/limb_to_fix AS in host.limbs) if(limb_to_fix.limb_status & (LIMB_BROKEN | LIMB_SPLINTED | LIMB_STABILIZED)) limb_to_fix.remove_limb_flags(LIMB_BROKEN | LIMB_SPLINTED | LIMB_STABILIZED) limb_to_fix.add_limb_flags(LIMB_REPAIRED) break
/datum/reagent/medicine/bihexajuline/overdose_process(mob/living/L, metabolism) if(!ishuman(L)) return var/mob/living/carbon/human/host = L for(var/datum/limb/limb_to_unfix AS in host.limbs) if(limb_to_unfix.limb_status & (LIMB_BROKEN | LIMB_SPLINTED | LIMB_STABILIZED | LIMB_DESTROYED | LIMB_AMPUTATED)) continue limb_to_unfix.fracture() break
</syntaxhighlight>Research-Related
Research precursor
/datum/reagent/medicine/research name = "Research precursor" //nothing with this subtype should be added to vendors taste_description = "bitterness" reagent_state = LIQUID taste_description = "bitterness"
</syntaxhighlight>Quietus
/datum/reagent/medicine/research/quietus name = "Quietus" description = "This is a latent poison, designed to quickly and painlessly kill you in the event that you become unable to fight. Never washes out on it's own, must be purged." color = "#19C832" custom_metabolism = 0 scannable = TRUE taste_description = "Victory"
/datum/reagent/medicine/research/quietus/on_mob_add(mob/living/L, metabolism) to_chat(L, span_userdanger("You feel like this shot will negatively affect your revival prospects."))
/datum/reagent/medicine/research/quietus/on_mob_life(mob/living/L, metabolism) switch(current_cycle) if(1 to 59) L.adjustStaminaLoss(1*effect_str) if(prob(5)) to_chat(L, span_notice("You feel weakened by a poison.")) if(60) to_chat(L, span_warning("You feel the poison settle into your body.")) if(61 to INFINITY) if(L.stat == UNCONSCIOUS) L.adjustOxyLoss(25*effect_str) to_chat(L, span_userdanger("You fade into blackness as your lungs seize up!")) if(prob(5)) L.adjustStaminaLoss(1*effect_str) return ..()
/datum/reagent/medicine/research/quietus/on_mob_delete(mob/living/L, metabolism) to_chat(L, span_danger("You convulse as your body violently rejects the suicide drug!")) L.adjustToxLoss(30*effect_str)
</syntaxhighlight>Somolent
/datum/reagent/medicine/research/somolent name = "Somolent" description = "This is a highly potent regenerative drug, designed to heal critically injured personnel. Only functions on unconscious or sleeping people." color = "#19C832" scannable = TRUE overdose_threshold = REAGENTS_OVERDOSE taste_description = "naptime"
/datum/reagent/medicine/research/somolent/on_mob_life(mob/living/L, metabolism) switch(current_cycle) if(1 to 50) if(L.stat == UNCONSCIOUS) L.heal_limb_damage(0.2*current_cycle*effect_str, 0.2*current_cycle*effect_str) if(prob(20) && L.stat != UNCONSCIOUS) to_chat(L, span_notice("You feel as though you should be sleeping for the medicine to work.")) if(51 to INFINITY) if(L.stat == UNCONSCIOUS) L.heal_limb_damage(10*effect_str, 10*effect_str) L.adjustCloneLoss(-0.1*effect_str-(0.02*(L.maxHealth - L.health))) holder.remove_reagent(/datum/reagent/medicine/research/somolent, 0.6) return ..()
/datum/reagent/medicine/research/somolent/overdose_process(mob/living/L, metabolism) holder.remove_reagent(/datum/reagent/medicine/research/somolent, 1)
</syntaxhighlight>Medical nanites
/datum/reagent/medicine/research/medicalnanites name = "Medical nanites" description = "These are a batch of construction nanites altered for in-vivo replication. They can heal wounds using the iron present in the bloodstream. Medical care is recommended during injection." color = "#19C832" custom_metabolism = 0 scannable = TRUE taste_description = "metal, followed by mild burning" overdose_threshold = REAGENTS_OVERDOSE * 1.2 //slight buffer to keep you safe
/datum/reagent/medicine/research/medicalnanites/on_mob_add(mob/living/L, metabolism) to_chat(L, span_userdanger("You feel like you should stay near medical help until this shot settles in."))
/datum/reagent/medicine/research/medicalnanites/on_mob_life(mob/living/L, metabolism) switch(current_cycle) if(1 to 150) L.take_limb_damage(0.015*current_cycle*effect_str, 0.015*current_cycle*effect_str) L.adjustToxLoss(1*effect_str) L.adjustStaminaLoss((1.5)*effect_str) L.reagents.add_reagent(/datum/reagent/medicine/research/medicalnanites, 0.20) if(prob(5)) to_chat(L, span_notice("You feel intense itching!")) if(151) to_chat(L, span_warning("The pain rapidly subsides. Looks like they've adapted to you.")) if(152 to INFINITY) if(volume < 30) //smol injection will self-replicate up to 30u using 240u of blood. L.reagents.add_reagent(/datum/reagent/medicine/research/medicalnanites, 0.15) L.blood_volume -= 2
if(volume < 35) //allows 10 ticks of healing for 20 points of free heal to lower scratch damage bloodloss amounts. L.reagents.add_reagent(/datum/reagent/medicine/research/medicalnanites, 0.1)
if (volume >5 && L.getBruteLoss()) //Unhealed IB wasting nanites is an INTENTIONAL feature. L.heal_limb_damage(2*effect_str, 0) L.adjustToxLoss(0.1*effect_str) holder.remove_reagent(/datum/reagent/medicine/research/medicalnanites, 0.5) if(prob(40)) to_chat(L, span_notice("Your cuts and bruises begin to scab over rapidly!"))
if (volume > 5 && L.getFireLoss()) L.heal_limb_damage(0, 2*effect_str) L.adjustToxLoss(0.1*effect_str) holder.remove_reagent(/datum/reagent/medicine/research/medicalnanites, 0.5) if(prob(40)) to_chat(L, span_notice("Your burns begin to slough off, revealing healthy tissue!")) return ..()
/datum/reagent/medicine/research/medicalnanites/overdose_process(mob/living/L, metabolism) L.adjustToxLoss(effect_str) //softcap VS injecting massive amounts of medical nanites for the healing factor with no downsides. Still doable if you're clever about it. holder.remove_reagent(/datum/reagent/medicine/research/medicalnanites, 0.25)
/datum/reagent/medicine/research/medicalnanites/on_mob_delete(mob/living/L, metabolism) to_chat(L, span_userdanger("Your nanites have been fully purged! They no longer affect you."))
</syntaxhighlight>Stimulon
/datum/reagent/medicine/research/stimulon name = "Stimulon" description = "A chemical designed to boost running by driving your body beyond it's normal limits. Can have unpredictable side effects, caution recommended." color = "#19C832" custom_metabolism = 0 scannable = TRUE
/datum/reagent/medicine/research/stimulon/on_mob_add(mob/living/L, metabolism) to_chat(L, span_userdanger("You feel jittery and fast! Time to MOVE!")) . = ..() L.add_movespeed_modifier(type, TRUE, 0, NONE, TRUE, -1) L.adjustCloneLoss(10*effect_str)
/datum/reagent/medicine/research/stimulon/on_mob_delete(mob/living/L, metabolism) L.remove_movespeed_modifier(type) L.Paralyze(20) to_chat(L, span_warning("You reel as the stimulant departs your bloodstream!"))
/datum/reagent/medicine/research/stimulon/on_mob_life(mob/living/L, metabolism) L.adjustStaminaLoss(1*effect_str) L.take_limb_damage(rand(0.5*effect_str, 4*effect_str), 0) L.adjustCloneLoss(rand (0, 5) * effect_str * current_cycle * 0.02) if(prob(20)) L.emote(pick("twitch","blink_r","shiver")) if(volume < 100) //THERE IS NO "MINIMUM SAFE DOSE" MUAHAHAHA! L.reagents.add_reagent(/datum/reagent/medicine/research/stimulon, 0.5) switch(current_cycle) if(20)//avg cloneloss of 1/tick and 10 additional units made to_chat(L, span_userdanger("You start to ache and cramp as your muscles wear out. You should probably remove this drug soon.")) if (21 to INFINITY) L.jitter(5) return ..()
</syntaxhighlight>Other
Paint
/datum/reagent/paint name = "Paint" reagent_state = 2 color = "#808080" description = "This paint will only adhere to floor tiles."
/datum/reagent/paint/reaction_turf(turf/T, volume) if(!istype(T) || isspaceturf(T)) return T.color = color
/datum/reagent/paint/reaction_obj(obj/O, volume) . = ..() if(istype(O,/obj/item/light_bulb)) O.color = color
</syntaxhighlight>Red Paint
/datum/reagent/paint/red name = "Red Paint" color = "#FE191A"
</syntaxhighlight>Green Paint
/datum/reagent/paint/green name = "Green Paint" color = "#18A31A"
</syntaxhighlight>Blue Paint
/datum/reagent/paint/blue name = "Blue Paint" color = "#247CFF"
</syntaxhighlight>Yellow Paint
/datum/reagent/paint/yellow name = "Yellow Paint" color = "#FDFE7D"
</syntaxhighlight>Violet Paint
/datum/reagent/paint/violet name = "Violet Paint" color = "#CC0099"
</syntaxhighlight>Black Paint
/datum/reagent/paint/black name = "Black Paint" color = "#333333"
</syntaxhighlight>White Paint
/datum/reagent/paint/white name = "White Paint" color = "#F0F8FF"
</syntaxhighlight>Paint Remover
/datum/reagent/paint/remover name = "Paint Remover" description = "Paint remover is used to remove floor paint from floor tiles." reagent_state = 2 color = "#808080"
/datum/reagent/paint/remover/reaction_turf(turf/T, volume) if(istype(T) && T.icon != initial(T.icon)) T.icon = initial(T.icon)
</syntaxhighlight>