diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
index 7ee7509d8f1..53130d972f4 100644
--- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
@@ -284,7 +284,7 @@
desc = "A throwing weapon used to ignite things, typically filled with an accelerant. Recommended highly by rioters and revolutionaries. Light and toss."
icon_state = "vodkabottle"
list_reagents = list()
- var/list/accelerants = list(/datum/reagent/ethanol,/datum/reagent/fuel,/datum/reagent/clf3,/datum/reagent/phlogiston,
+ var/list/accelerants = list(/datum/reagent/consumable/ethanol,/datum/reagent/fuel,/datum/reagent/clf3,/datum/reagent/phlogiston,
/datum/reagent/napalm,/datum/reagent/hellwater,/datum/reagent/plasma,/datum/reagent/plasma_dust)
var/active = 0
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm
index 005be6c1f7e..b6c943dbdab 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm
@@ -31,7 +31,7 @@
/datum/crafting_recipe/cherrysandwich
name = "Cherry Jelly Sandwich"
reqs = list(
- /datum/reagent/cherryjelly = 5,
+ /datum/reagent/consumable/cherryjelly = 5,
/obj/item/weapon/reagent_containers/food/snacks/breadslice = 2,
)
result = /obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry
@@ -49,7 +49,7 @@
/datum/crafting_recipe/jellyburger
name = "Cherry Jelly Burger"
reqs = list(
- /datum/reagent/cherryjelly = 5,
+ /datum/reagent/consumable/cherryjelly = 5,
/obj/item/weapon/reagent_containers/food/snacks/bun = 1,
)
result = /obj/item/weapon/reagent_containers/food/snacks/jellyburger/cherry
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 471cb6bbf69..4685b3b3113 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -787,7 +787,7 @@
/mob/living/carbon/human/proc/has_booze() //checks if the human has ethanol or its subtypes inside
for(var/A in reagents.reagent_list)
var/datum/reagent/R = A
- if(istype(R, /datum/reagent/ethanol))
+ if(istype(R, /datum/reagent/consumable/ethanol))
return 1
return 0
diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm
index 275e2ec94e5..9c3475d2141 100644
--- a/code/modules/projectiles/projectile/bullets.dm
+++ b/code/modules/projectiles/projectile/bullets.dm
@@ -28,7 +28,7 @@
M.AdjustConfused(20)
M.AdjustEyeBlurry(20)
M.AdjustDrowsy(20)
- for(var/datum/reagent/ethanol/A in M.reagents.reagent_list)
+ for(var/datum/reagent/consumable/ethanol/A in M.reagents.reagent_list)
M.AdjustParalysis(2)
M.AdjustDizzy(10)
M.AdjustSlur(10)
diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm
index 8077b248587..1b6e2e08854 100644
--- a/code/modules/reagents/chemistry/reagents.dm
+++ b/code/modules/reagents/chemistry/reagents.dm
@@ -1,7 +1,6 @@
#define SOLID 1
#define LIQUID 2
#define GAS 3
-#define FOOD_METABOLISM 0.4
#define REM REAGENTS_EFFECT_MULTIPLIER
/datum/reagent
@@ -12,7 +11,6 @@
var/reagent_state = SOLID
var/list/data = null
var/volume = 0
- var/nutriment_factor = 0
var/metabolization_rate = REAGENTS_METABOLISM
//var/list/viruses = list()
var/color = "#000000" // rgb: 0, 0, 0 (does not support alpha channels - yet!)
diff --git a/code/modules/reagents/chemistry/reagents/alcohol.dm b/code/modules/reagents/chemistry/reagents/alcohol.dm
index 59313654d35..adebb394fc0 100644
--- a/code/modules/reagents/chemistry/reagents/alcohol.dm
+++ b/code/modules/reagents/chemistry/reagents/alcohol.dm
@@ -1,5 +1,5 @@
//ALCOHOL WOO
-/datum/reagent/ethanol
+/datum/reagent/consumable/ethanol
name = "Ethanol" //Parent class for all alcoholic reagents.
id = "ethanol"
description = "A well-known alcohol with a variety of applications."
@@ -10,14 +10,13 @@
var/dizzy_adj = 3
var/alcohol_perc = 1 //percentage of ethanol in a beverage 0.0 - 1.0
-/datum/reagent/ethanol/on_mob_life(mob/living/M)
- M.nutrition += nutriment_factor
+/datum/reagent/consumable/ethanol/on_mob_life(mob/living/M)
M.AdjustDrunk(alcohol_perc)
M.AdjustDizzy(dizzy_adj)
..()
-/datum/reagent/ethanol/reaction_obj(obj/O, volume)
+/datum/reagent/consumable/ethanol/reaction_obj(obj/O, volume)
if(istype(O,/obj/item/weapon/paper))
var/obj/item/weapon/paper/paperaffected = O
paperaffected.clearpaper()
@@ -30,23 +29,23 @@
else
to_chat(usr, "It wasn't enough...")
-/datum/reagent/ethanol/reaction_mob(mob/living/M, method=TOUCH, volume)//Splashing people with ethanol isn't quite as good as fuel.
+/datum/reagent/consumable/ethanol/reaction_mob(mob/living/M, method=TOUCH, volume)//Splashing people with ethanol isn't quite as good as fuel.
if(method == TOUCH)
M.adjust_fire_stacks(volume / 15)
-/datum/reagent/ethanol/beer
+/datum/reagent/consumable/ethanol/beer
name = "Beer"
id = "beer"
description = "An alcoholic beverage made from malted grains, hops, yeast, and water."
- nutriment_factor = 2 * FOOD_METABOLISM
+ nutriment_factor = 2 * REAGENTS_METABOLISM
color = "#664300" // rgb: 102, 67, 0
alcohol_perc = 0.2
drink_icon ="beerglass"
drink_name = "Beer glass"
drink_desc = "A freezing pint of beer"
-/datum/reagent/ethanol/cider
+/datum/reagent/consumable/ethanol/cider
name = "Cider"
id = "cider"
description = "An alcoholic beverage derived from apples."
@@ -56,7 +55,7 @@
drink_name = "Cider"
drink_desc = "a refreshing glass of traditional cider"
-/datum/reagent/ethanol/whiskey
+/datum/reagent/consumable/ethanol/whiskey
name = "Whiskey"
id = "whiskey"
description = "A superb and well-aged single-malt whiskey. Damn."
@@ -67,14 +66,14 @@
drink_name = "Glass of whiskey"
drink_desc = "The silky, smokey whiskey goodness inside the glass makes the drink look very classy."
-/datum/reagent/ethanol/specialwhiskey
+/datum/reagent/consumable/ethanol/specialwhiskey
name = "Special Blend Whiskey"
id = "specialwhiskey"
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
alcohol_perc = 0.5
-/datum/reagent/ethanol/gin
+/datum/reagent/consumable/ethanol/gin
name = "Gin"
id = "gin"
description = "It's gin. In space. I say, good sir."
@@ -85,7 +84,7 @@
drink_name = "Glass of gin"
drink_desc = "A crystal clear glass of Griffeater gin."
-/datum/reagent/ethanol/absinthe
+/datum/reagent/consumable/ethanol/absinthe
name = "Absinthe"
id = "absinthe"
description = "Watch out that the Green Fairy doesn't come for you!"
@@ -98,14 +97,14 @@
drink_desc = "The green fairy is going to get you now!"
//copy paste from LSD... shoot me
-/datum/reagent/ethanol/absinthe/on_mob_life(mob/living/M)
+/datum/reagent/consumable/ethanol/absinthe/on_mob_life(mob/living/M)
M.AdjustHallucinate(5)
..()
-/datum/reagent/ethanol/absinthe/overdose_process(mob/living/M, severity)
+/datum/reagent/consumable/ethanol/absinthe/overdose_process(mob/living/M, severity)
M.adjustToxLoss(1)
-/datum/reagent/ethanol/rum
+/datum/reagent/consumable/ethanol/rum
name = "Rum"
id = "rum"
description = "Popular with the sailors. Not very popular with everyone else."
@@ -117,10 +116,10 @@
drink_name = "Glass of Rum"
drink_desc = "Now you want to Pray for a pirate suit, don't you?"
-/datum/reagent/ethanol/rum/overdose_process(mob/living/M, severity)
+/datum/reagent/consumable/ethanol/rum/overdose_process(mob/living/M, severity)
M.adjustToxLoss(1)
-/datum/reagent/ethanol/mojito
+/datum/reagent/consumable/ethanol/mojito
name = "Mojito"
id = "mojito"
description = "If it's good enough for Spesscuba, it's good enough for you."
@@ -130,7 +129,7 @@
drink_name = "Glass of Mojito"
drink_desc = "Fresh from Spesscuba."
-/datum/reagent/ethanol/vodka
+/datum/reagent/consumable/ethanol/vodka
name = "Vodka"
id = "vodka"
description = "Number one drink AND fueling choice for Russians worldwide."
@@ -140,7 +139,7 @@
drink_name = "Glass of vodka"
drink_desc = "The glass contain wodka. Xynta."
-/datum/reagent/ethanol/sake
+/datum/reagent/consumable/ethanol/sake
name = "Sake"
id = "sake"
description = "Anime's favorite drink."
@@ -150,7 +149,7 @@
drink_name = "Glass of Sake"
drink_desc = "A glass of Sake."
-/datum/reagent/ethanol/tequila
+/datum/reagent/consumable/ethanol/tequila
name = "Tequila"
id = "tequila"
description = "A strong and mildly flavoured, mexican produced spirit. Feeling thirsty hombre?"
@@ -160,7 +159,7 @@
drink_name = "Glass of Tequila"
drink_desc = "Now all that's missing is the weird colored shades!"
-/datum/reagent/ethanol/vermouth
+/datum/reagent/consumable/ethanol/vermouth
name = "Vermouth"
id = "vermouth"
description = "You suddenly feel a craving for a martini..."
@@ -170,7 +169,7 @@
drink_name = "Glass of Vermouth"
drink_desc = "You wonder why you're even drinking this straight."
-/datum/reagent/ethanol/wine
+/datum/reagent/consumable/ethanol/wine
name = "Wine"
id = "wine"
description = "An premium alchoholic beverage made from distilled grape juice."
@@ -181,7 +180,7 @@
drink_name = "Glass of wine"
drink_desc = "A very classy looking drink."
-/datum/reagent/ethanol/cognac
+/datum/reagent/consumable/ethanol/cognac
name = "Cognac"
id = "cognac"
description = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. Classy as fornication."
@@ -192,7 +191,7 @@
drink_name = "Glass of cognac"
drink_desc = "Damn, you feel like some kind of French aristocrat just by holding this."
-/datum/reagent/ethanol/suicider //otherwise known as "I want to get so smashed my liver gives out and I die from alcohol poisoning".
+/datum/reagent/consumable/ethanol/suicider //otherwise known as "I want to get so smashed my liver gives out and I die from alcohol poisoning".
name = "Suicider"
id = "suicider"
description = "An unbelievably strong and potent variety of Cider."
@@ -203,7 +202,7 @@
drink_name = "Suicider"
drink_desc = "You've really hit rock bottom now... your liver packed its bags and left last night."
-/datum/reagent/ethanol/ale
+/datum/reagent/consumable/ethanol/ale
name = "Ale"
id = "ale"
description = "A dark alchoholic beverage made by malted barley and yeast."
@@ -213,7 +212,7 @@
drink_name = "Ale glass"
drink_desc = "A freezing pint of delicious Ale"
-/datum/reagent/ethanol/thirteenloko
+/datum/reagent/consumable/ethanol/thirteenloko
name = "Thirteen Loko"
id = "thirteenloko"
description = "A potent mixture of caffeine and alcohol."
@@ -225,7 +224,7 @@
drink_name = "Glass of Thirteen Loko"
drink_desc = "This is a glass of Thirteen Loko, it appears to be of the highest quality. The drink, not the glass"
-/datum/reagent/ethanol/thirteenloko/on_mob_life(mob/living/M)
+/datum/reagent/consumable/ethanol/thirteenloko/on_mob_life(mob/living/M)
M.AdjustDrowsy(-7)
M.AdjustSleeping(-2)
if(M.bodytemperature > 310)
@@ -236,7 +235,7 @@
/////////////////////////////////////////////////////////////////cocktail entities//////////////////////////////////////////////
-/datum/reagent/ethanol/bilk
+/datum/reagent/consumable/ethanol/bilk
name = "Bilk"
id = "bilk"
description = "This appears to be beer mixed with milk. Disgusting."
@@ -247,7 +246,7 @@
drink_name = "Glass of bilk"
drink_desc = "A brew of milk and beer. For those alcoholics who fear osteoporosis."
-/datum/reagent/ethanol/atomicbomb
+/datum/reagent/consumable/ethanol/atomicbomb
name = "Atomic Bomb"
id = "atomicbomb"
description = "Nuclear proliferation never tasted so good."
@@ -258,7 +257,7 @@
drink_name = "Atomic Bomb"
drink_desc = "Nanotrasen cannot take legal responsibility for your actions after imbibing."
-/datum/reagent/ethanol/threemileisland
+/datum/reagent/consumable/ethanol/threemileisland
name = "THree Mile Island Iced Tea"
id = "threemileisland"
description = "Made for a woman, strong enough for a man."
@@ -269,7 +268,7 @@
drink_name = "Three Mile Island Ice Tea"
drink_desc = "A glass of this is sure to prevent a meltdown."
-/datum/reagent/ethanol/goldschlager
+/datum/reagent/consumable/ethanol/goldschlager
name = "Goldschlager"
id = "goldschlager"
description = "100 proof cinnamon schnapps, made for alcoholic teen girls on spring break."
@@ -280,7 +279,7 @@
drink_name = "Glass of goldschlager"
drink_desc = "100 proof that teen girls will drink anything with gold in it."
-/datum/reagent/ethanol/patron
+/datum/reagent/consumable/ethanol/patron
name = "Patron"
id = "patron"
description = "Tequila with silver in it, a favorite of alcoholic women in the club scene."
@@ -291,7 +290,7 @@
drink_name = "Glass of Patron"
drink_desc = "Drinking patron in the bar, with all the subpar ladies."
-/datum/reagent/ethanol/gintonic
+/datum/reagent/consumable/ethanol/gintonic
name = "Gin and Tonic"
id = "gintonic"
description = "An all time classic, mild cocktail."
@@ -302,7 +301,7 @@
drink_name = "Gin and Tonic"
drink_desc = "A mild but still great cocktail. Drink up, like a true Englishman."
-/datum/reagent/ethanol/cuba_libre
+/datum/reagent/consumable/ethanol/cuba_libre
name = "Cuba Libre"
id = "cubalibre"
description = "Rum, mixed with cola. Viva la revolution."
@@ -313,7 +312,7 @@
drink_name = "Cuba Libre"
drink_desc = "A classic mix of rum and cola."
-/datum/reagent/ethanol/whiskey_cola
+/datum/reagent/consumable/ethanol/whiskey_cola
name = "Whiskey Cola"
id = "whiskeycola"
description = "Whiskey, mixed with cola. Surprisingly refreshing."
@@ -324,7 +323,7 @@
drink_name = "Whiskey Cola"
drink_desc = "An innocent-looking mixture of cola and Whiskey. Delicious."
-/datum/reagent/ethanol/martini
+/datum/reagent/consumable/ethanol/martini
name = "Classic Martini"
id = "martini"
description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious."
@@ -335,7 +334,7 @@
drink_name = "Classic Martini"
drink_desc = "Damn, the bartender even stirred it, not shook it."
-/datum/reagent/ethanol/vodkamartini
+/datum/reagent/consumable/ethanol/vodkamartini
name = "Vodka Martini"
id = "vodkamartini"
description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious."
@@ -346,7 +345,7 @@
drink_name = "Vodka martini"
drink_desc ="A bastardisation of the classic martini. Still great."
-/datum/reagent/ethanol/white_russian
+/datum/reagent/consumable/ethanol/white_russian
name = "White Russian"
id = "whiterussian"
description = "That's just, like, your opinion, man..."
@@ -357,7 +356,7 @@
drink_name = "White Russian"
drink_desc = "A very nice looking drink. But that's just, like, your opinion, man."
-/datum/reagent/ethanol/screwdrivercocktail
+/datum/reagent/consumable/ethanol/screwdrivercocktail
name = "Screwdriver"
id = "screwdrivercocktail"
description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious."
@@ -368,7 +367,7 @@
drink_name = "Screwdriver"
drink_desc = "A simple, yet superb mixture of Vodka and orange juice. Just the thing for the tired engineer."
-/datum/reagent/ethanol/booger
+/datum/reagent/consumable/ethanol/booger
name = "Booger"
id = "booger"
description = "Ewww..."
@@ -379,7 +378,7 @@
drink_name = "Booger"
drink_desc = "Ewww..."
-/datum/reagent/ethanol/bloody_mary
+/datum/reagent/consumable/ethanol/bloody_mary
name = "Bloody Mary"
id = "bloodymary"
description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice."
@@ -390,7 +389,7 @@
drink_name = "Bloody Mary"
drink_desc = "Tomato juice, mixed with Vodka and a lil' bit of lime. Tastes like liquid murder."
-/datum/reagent/ethanol/gargle_blaster
+/datum/reagent/consumable/ethanol/gargle_blaster
name = "Pan-Galactic Gargle Blaster"
id = "gargleblaster"
description = "Whoah, this stuff looks volatile!"
@@ -401,7 +400,7 @@
drink_name = "Pan-Galactic Gargle Blaster"
drink_desc = "Does... does this mean that Arthur and Ford are on the station? Oh joy."
-/datum/reagent/ethanol/brave_bull
+/datum/reagent/consumable/ethanol/brave_bull
name = "Brave Bull"
id = "bravebull"
description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice."
@@ -412,7 +411,7 @@
drink_name = "Brave Bull"
drink_desc = "Tequila and Coffee liquor, brought together in a mouthwatering mixture. Drink up."
-/datum/reagent/ethanol/tequila_sunrise
+/datum/reagent/consumable/ethanol/tequila_sunrise
name = "Tequila Sunrise"
id = "tequilasunrise"
description = "Tequila and orange juice. Much like a Screwdriver, only Mexican~"
@@ -423,7 +422,7 @@
drink_name = "Tequila Sunrise"
drink_desc = "Oh great, now you feel nostalgic about sunrises back on Terra..."
-/datum/reagent/ethanol/toxins_special
+/datum/reagent/consumable/ethanol/toxins_special
name = "Toxins Special"
id = "toxinsspecial"
description = "This thing is FLAMING!. CALL THE DAMN SHUTTLE!"
@@ -434,12 +433,12 @@
drink_name = "Toxins Special"
drink_desc = "Whoah, this thing is on FIRE"
-/datum/reagent/ethanol/toxins_special/on_mob_life(mob/living/M)
+/datum/reagent/consumable/ethanol/toxins_special/on_mob_life(mob/living/M)
if(M.bodytemperature < 330)
M.bodytemperature = min(330, M.bodytemperature + (15 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
..()
-/datum/reagent/ethanol/beepsky_smash
+/datum/reagent/consumable/ethanol/beepsky_smash
name = "Beepsky Smash"
id = "beepskysmash"
description = "Deny drinking this and prepare for THE LAW."
@@ -450,11 +449,11 @@
drink_name = "Beepsky Smash"
drink_desc = "Heavy, hot and strong. Just like the Iron fist of the LAW."
-/datum/reagent/ethanol/beepsky_smash/on_mob_life(mob/living/M)
+/datum/reagent/consumable/ethanol/beepsky_smash/on_mob_life(mob/living/M)
M.Stun(1)
..()
-/datum/reagent/ethanol/irish_cream
+/datum/reagent/consumable/ethanol/irish_cream
name = "Irish Cream"
id = "irishcream"
description = "Whiskey-imbued cream, what else would you expect from the Irish."
@@ -465,7 +464,7 @@
drink_name = "Irish Cream"
drink_desc = "It's cream, mixed with whiskey. What else would you expect from the Irish?"
-/datum/reagent/ethanol/manly_dorf
+/datum/reagent/consumable/ethanol/manly_dorf
name = "The Manly Dorf"
id = "manlydorf"
description = "Beer and Ale, brought together in a delicious mix. Intended for true men only."
@@ -476,7 +475,7 @@
drink_name = "The Manly Dorf"
drink_desc = "A manly concotion made from Ale and Beer. Intended for true men only."
-/datum/reagent/ethanol/longislandicedtea
+/datum/reagent/consumable/ethanol/longislandicedtea
name = "Long Island Iced Tea"
id = "longislandicedtea"
description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only."
@@ -487,7 +486,7 @@
drink_name = "Long Island Iced Tea"
drink_desc = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only."
-/datum/reagent/ethanol/moonshine
+/datum/reagent/consumable/ethanol/moonshine
name = "Moonshine"
id = "moonshine"
description = "You've really hit rock bottom now... your liver packed its bags and left last night."
@@ -498,7 +497,7 @@
drink_name = "Moonshine"
drink_desc = "You've really hit rock bottom now... your liver packed its bags and left last night."
-/datum/reagent/ethanol/b52
+/datum/reagent/consumable/ethanol/b52
name = "B-52"
id = "b52"
description = "Coffee, Irish Cream, and congac. You will get bombed."
@@ -509,7 +508,7 @@
drink_name = "B-52"
drink_desc = "Kahlua, Irish Cream, and congac. You will get bombed."
-/datum/reagent/ethanol/irishcoffee
+/datum/reagent/consumable/ethanol/irishcoffee
name = "Irish Coffee"
id = "irishcoffee"
description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning."
@@ -520,7 +519,7 @@
drink_name = "Irish Coffee"
drink_desc = "Coffee and alcohol. More fun than a Mimosa to drink in the morning."
-/datum/reagent/ethanol/margarita
+/datum/reagent/consumable/ethanol/margarita
name = "Margarita"
id = "margarita"
description = "On the rocks with salt on the rim. Arriba~!"
@@ -531,7 +530,7 @@
drink_name = "Margarita"
drink_desc = "On the rocks with salt on the rim. Arriba~!"
-/datum/reagent/ethanol/black_russian
+/datum/reagent/consumable/ethanol/black_russian
name = "Black Russian"
id = "blackrussian"
description = "For the lactose-intolerant. Still as classy as a White Russian."
@@ -542,7 +541,7 @@
drink_name = "Black Russian"
drink_desc = "For the lactose-intolerant. Still as classy as a White Russian."
-/datum/reagent/ethanol/manhattan
+/datum/reagent/consumable/ethanol/manhattan
name = "Manhattan"
id = "manhattan"
description = "The Detective's undercover drink of choice. He never could stomach gin..."
@@ -553,7 +552,7 @@
drink_name = "Manhattan"
drink_desc = "The Detective's undercover drink of choice. He never could stomach gin..."
-/datum/reagent/ethanol/manhattan_proj
+/datum/reagent/consumable/ethanol/manhattan_proj
name = "Manhattan Project"
id = "manhattan_proj"
description = "A scienitst's drink of choice, for pondering ways to blow up the station."
@@ -564,7 +563,7 @@
drink_name = "Manhattan Project"
drink_desc = "A scienitst drink of choice, for thinking how to blow up the station."
-/datum/reagent/ethanol/whiskeysoda
+/datum/reagent/consumable/ethanol/whiskeysoda
name = "Whiskey Soda"
id = "whiskeysoda"
description = "Ultimate refreshment."
@@ -575,7 +574,7 @@
drink_name = "Whiskey Soda"
drink_desc = "Ultimate refreshment."
-/datum/reagent/ethanol/antifreeze
+/datum/reagent/consumable/ethanol/antifreeze
name = "Anti-freeze"
id = "antifreeze"
description = "Ultimate refreshment."
@@ -586,12 +585,12 @@
drink_name = "Anti-freeze"
drink_desc = "The ultimate refreshment."
-/datum/reagent/ethanol/antifreeze/on_mob_life(mob/living/M)
+/datum/reagent/consumable/ethanol/antifreeze/on_mob_life(mob/living/M)
if(M.bodytemperature < 330)
M.bodytemperature = min(330, M.bodytemperature + (20 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
..()
-/datum/reagent/ethanol/barefoot
+/datum/reagent/consumable/ethanol/barefoot
name = "Barefoot"
id = "barefoot"
description = "Barefoot and pregnant"
@@ -602,7 +601,7 @@
drink_name = "Barefoot"
drink_desc = "Barefoot and pregnant"
-/datum/reagent/ethanol/snowwhite
+/datum/reagent/consumable/ethanol/snowwhite
name = "Snow White"
id = "snowwhite"
description = "A cold refreshment"
@@ -613,7 +612,7 @@
drink_name = "Snow White"
drink_desc = "A cold refreshment."
-/datum/reagent/ethanol/demonsblood
+/datum/reagent/consumable/ethanol/demonsblood
name = "Demons Blood"
id = "demonsblood"
description = "AHHHH!!!!"
@@ -625,7 +624,7 @@
drink_name = "Demons Blood"
drink_desc = "Just looking at this thing makes the hair at the back of your neck stand up."
-/datum/reagent/ethanol/vodkatonic
+/datum/reagent/consumable/ethanol/vodkatonic
name = "Vodka and Tonic"
id = "vodkatonic"
description = "For when a gin and tonic isn't russian enough."
@@ -637,7 +636,7 @@
drink_name = "Vodka and Tonic"
drink_desc = "For when a gin and tonic isn't russian enough."
-/datum/reagent/ethanol/ginfizz
+/datum/reagent/consumable/ethanol/ginfizz
name = "Gin Fizz"
id = "ginfizz"
description = "Refreshingly lemony, deliciously dry."
@@ -649,7 +648,7 @@
drink_name = "Gin Fizz"
drink_desc = "Refreshingly lemony, deliciously dry."
-/datum/reagent/ethanol/bahama_mama
+/datum/reagent/consumable/ethanol/bahama_mama
name = "Bahama mama"
id = "bahama_mama"
description = "Tropic cocktail."
@@ -660,7 +659,7 @@
drink_name = "Bahama Mama"
drink_desc = "Tropic cocktail"
-/datum/reagent/ethanol/singulo
+/datum/reagent/consumable/ethanol/singulo
name = "Singulo"
id = "singulo"
description = "A blue-space beverage!"
@@ -672,7 +671,7 @@
drink_name = "Singulo"
drink_desc = "A blue-space beverage."
-/datum/reagent/ethanol/sbiten
+/datum/reagent/consumable/ethanol/sbiten
name = "Sbiten"
id = "sbiten"
description = "A spicy Vodka! Might be a little hot for the little guys!"
@@ -683,12 +682,12 @@
drink_name = "Sbiten"
drink_desc = "A spicy mix of Vodka and Spice. Very hot."
-/datum/reagent/ethanol/sbiten/on_mob_life(mob/living/M)
+/datum/reagent/consumable/ethanol/sbiten/on_mob_life(mob/living/M)
if(M.bodytemperature < 360)
M.bodytemperature = min(360, M.bodytemperature + (50 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
..()
-/datum/reagent/ethanol/devilskiss
+/datum/reagent/consumable/ethanol/devilskiss
name = "Devils Kiss"
id = "devilskiss"
description = "Creepy time!"
@@ -699,7 +698,7 @@
drink_name = "Devils Kiss"
drink_desc = "Creepy time!"
-/datum/reagent/ethanol/red_mead
+/datum/reagent/consumable/ethanol/red_mead
name = "Red Mead"
id = "red_mead"
description = "The true Viking drink! Even though it has a strange red color."
@@ -710,7 +709,7 @@
drink_name = "Red Mead"
drink_desc = "A True Vikings Beverage, though its color is strange."
-/datum/reagent/ethanol/mead
+/datum/reagent/consumable/ethanol/mead
name = "Mead"
id = "mead"
description = "A Vikings drink, though a cheap one."
@@ -721,7 +720,7 @@
drink_name = "Mead"
drink_desc = "A Vikings Beverage, though a cheap one."
-/datum/reagent/ethanol/iced_beer
+/datum/reagent/consumable/ethanol/iced_beer
name = "Iced Beer"
id = "iced_beer"
description = "A beer which is so cold the air around it freezes."
@@ -732,12 +731,12 @@
drink_name = "Iced Beer"
drink_desc = "A beer so frosty, the air around it freezes."
-/datum/reagent/ethanol/iced_beer/on_mob_life(mob/living/M)
+/datum/reagent/consumable/ethanol/iced_beer/on_mob_life(mob/living/M)
if(M.bodytemperature > 270)
M.bodytemperature = max(270, M.bodytemperature - (20 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
..()
-/datum/reagent/ethanol/grog
+/datum/reagent/consumable/ethanol/grog
name = "Grog"
id = "grog"
description = "Watered down rum, Nanotrasen approves!"
@@ -748,7 +747,7 @@
drink_name = "Grog"
drink_desc = "A fine and cepa drink for Space."
-/datum/reagent/ethanol/aloe
+/datum/reagent/consumable/ethanol/aloe
name = "Aloe"
id = "aloe"
description = "So very, very, very good."
@@ -759,7 +758,7 @@
drink_name = "Aloe"
drink_desc = "Very, very, very good."
-/datum/reagent/ethanol/andalusia
+/datum/reagent/consumable/ethanol/andalusia
name = "Andalusia"
id = "andalusia"
description = "A nice, strange named drink."
@@ -770,7 +769,7 @@
drink_name = "Andalusia"
drink_desc = "A nice, strange named drink."
-/datum/reagent/ethanol/alliescocktail
+/datum/reagent/consumable/ethanol/alliescocktail
name = "Allies Cocktail"
id = "alliescocktail"
description = "A drink made from your allies."
@@ -781,7 +780,7 @@
drink_name = "Allies cocktail"
drink_desc = "A drink made from your allies."
-/datum/reagent/ethanol/acid_spit
+/datum/reagent/consumable/ethanol/acid_spit
name = "Acid Spit"
id = "acidspit"
description = "A drink by Nanotrasen. Made from live aliens."
@@ -792,7 +791,7 @@
drink_name = "Acid Spit"
drink_desc = "A drink from Nanotrasen. Made from live aliens."
-/datum/reagent/ethanol/amasec
+/datum/reagent/consumable/ethanol/amasec
name = "Amasec"
id = "amasec"
description = "Official drink of the Imperium."
@@ -803,7 +802,7 @@
drink_name = "Amasec"
drink_desc = "Always handy before COMBAT!!!"
-/datum/reagent/ethanol/neurotoxin
+/datum/reagent/consumable/ethanol/neurotoxin
name = "Neuro-toxin"
id = "neurotoxin"
description = "A strong neurotoxin that puts the subject into a death-like state."
@@ -816,7 +815,7 @@
drink_name = "Neurotoxin"
drink_desc = "A drink that is guaranteed to knock you silly."
-/datum/reagent/ethanol/neurotoxin/on_mob_life(mob/living/M)
+/datum/reagent/consumable/ethanol/neurotoxin/on_mob_life(mob/living/M)
M.weakened = max(M.weakened, 3)
if(current_cycle >=55)
M.Druggy(55)
@@ -824,7 +823,7 @@
M.adjustToxLoss(2)
..()
-/datum/reagent/ethanol/hippies_delight
+/datum/reagent/consumable/ethanol/hippies_delight
name = "Hippie's Delight"
id = "hippiesdelight"
description = "You just don't get it maaaan."
@@ -835,7 +834,7 @@
drink_name = "Hippie's Delight"
drink_desc = "A drink enjoyed by people during the 1960's."
-/datum/reagent/ethanol/hippies_delight/on_mob_life(mob/living/M)
+/datum/reagent/consumable/ethanol/hippies_delight/on_mob_life(mob/living/M)
M.Druggy(50)
switch(current_cycle)
if(1 to 5)
@@ -856,7 +855,7 @@
if(prob(30)) M.emote(pick("twitch","giggle"))
..()
-/datum/reagent/ethanol/changelingsting
+/datum/reagent/consumable/ethanol/changelingsting
name = "Changeling Sting"
id = "changelingsting"
description = "A stingy drink."
@@ -868,7 +867,7 @@
drink_name = "Changeling Sting"
drink_desc = "A stingy drink."
-/datum/reagent/ethanol/irishcarbomb
+/datum/reagent/consumable/ethanol/irishcarbomb
name = "Irish Car Bomb"
id = "irishcarbomb"
description = "Mmm, tastes like chocolate cake..."
@@ -880,7 +879,7 @@
drink_name = "Irish Car Bomb"
drink_desc = "An irish car bomb."
-/datum/reagent/ethanol/syndicatebomb
+/datum/reagent/consumable/ethanol/syndicatebomb
name = "Syndicate Bomb"
id = "syndicatebomb"
description = "A Syndicate bomb"
@@ -891,7 +890,7 @@
drink_name = "Syndicate Bomb"
drink_desc = "A syndicate bomb."
-/datum/reagent/ethanol/erikasurprise
+/datum/reagent/consumable/ethanol/erikasurprise
name = "Erika Surprise"
id = "erikasurprise"
description = "The surprise is, it's green!"
@@ -902,11 +901,11 @@
name = "Erika Surprise"
drink_desc = "The surprise is, it's green!"
-/datum/reagent/ethanol/driestmartini
+/datum/reagent/consumable/ethanol/driestmartini
name = "Driest Martini"
id = "driestmartini"
description = "Only for the experienced. You think you see sand floating in the glass."
- nutriment_factor = 1 * FOOD_METABOLISM
+ nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#2E6671" // rgb: 46, 102, 113
alcohol_perc = 0.5
dizzy_adj = 10
@@ -914,12 +913,12 @@
drink_name = "Driest Martini"
drink_desc = "Only for the experienced. You think you see sand floating in the glass."
-/datum/reagent/ethanol/driestmartini/on_mob_life(mob/living/M)
+/datum/reagent/consumable/ethanol/driestmartini/on_mob_life(mob/living/M)
if(current_cycle >= 55 && current_cycle < 115)
M.stuttering += 10
..()
-/datum/reagent/ethanol/kahlua
+/datum/reagent/consumable/ethanol/kahlua
name = "Kahlua"
id = "kahlua"
description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!"
@@ -929,7 +928,7 @@
drink_name = "Glass of RR coffee Liquor"
drink_desc = "DAMN, THIS THING LOOKS ROBUST"
-/datum/reagent/ethanol/kahlua/on_mob_life(mob/living/M)
+/datum/reagent/consumable/ethanol/kahlua/on_mob_life(mob/living/M)
M.AdjustDizzy(-5)
M.AdjustDrowsy(-3)
M.AdjustSleeping(-2)
@@ -961,7 +960,7 @@
to_chat(M, "[sonic_message ]")
..()
-/datum/reagent/ethanol/applejack
+/datum/reagent/consumable/ethanol/applejack
name = "Applejack"
id = "applejack"
description = "A highly concentrated alcoholic beverage made by repeatedly freezing cider and removing the ice."
@@ -971,7 +970,7 @@
drink_name = "Glass of applejack"
drink_desc = "When cider isn't strong enough, you gotta jack it."
-/datum/reagent/ethanol/jackrose
+/datum/reagent/consumable/ethanol/jackrose
name = "Jack Rose"
id = "jackrose"
description = "A classic cocktail that had fallen out of fashion, but never out of taste,"
@@ -981,7 +980,7 @@
drink_name = "Jack Rose"
drink_desc = "Drinking this makes you feel like you belong in a luxury hotel bar during the 1920s."
-/datum/reagent/ethanol/dragons_breath //inaccessible to players, but here for admin shennanigans
+/datum/reagent/consumable/ethanol/dragons_breath //inaccessible to players, but here for admin shennanigans
name = "Dragon's Breath"
id = "dragonsbreath"
description = "Possessing this stuff probably breaks the Geneva convention."
@@ -989,12 +988,12 @@
color = "#DC0000"
alcohol_perc = 1
-/datum/reagent/ethanol/dragons_breath/reaction_mob(mob/living/M, method=TOUCH, volume)
+/datum/reagent/consumable/ethanol/dragons_breath/reaction_mob(mob/living/M, method=TOUCH, volume)
if(method == INGEST && prob(20))
if(M.on_fire)
M.adjust_fire_stacks(3)
-/datum/reagent/ethanol/dragons_breath/on_mob_life(mob/living/M)
+/datum/reagent/consumable/ethanol/dragons_breath/on_mob_life(mob/living/M)
if(M.reagents.has_reagent("milk"))
to_chat(M, "The milk stops the burning. Ahhh.")
M.reagents.del_reagent("milk")
@@ -1024,7 +1023,7 @@
// ROBOT ALCOHOL PAST THIS POINT
// WOOO!
-/datum/reagent/ethanol/synthanol
+/datum/reagent/consumable/ethanol/synthanol
name = "Synthanol"
id = "synthanol"
description = "A runny liquid with conductive capacities. Its effects on synthetics are similar to those of alcohol on organics."
@@ -1037,7 +1036,7 @@
drink_name = "Glass of Synthanol"
drink_desc = "The equivalent of alcohol for synthetic crewmembers. They'd find it awful if they had tastebuds too."
-/datum/reagent/ethanol/synthanol/on_mob_life(mob/living/M)
+/datum/reagent/consumable/ethanol/synthanol/on_mob_life(mob/living/M)
if(!M.isSynthetic())
holder.remove_reagent(id, 3.6) //gets removed from organics very fast
if(prob(25))
@@ -1045,13 +1044,13 @@
M.fakevomit()
..()
-/datum/reagent/ethanol/synthanol/reaction_mob(mob/living/M, method=TOUCH, volume)
+/datum/reagent/consumable/ethanol/synthanol/reaction_mob(mob/living/M, method=TOUCH, volume)
if(M.isSynthetic())
return
if(method == INGEST)
to_chat(M, pick("That was awful!", "Yuck!"))
-/datum/reagent/ethanol/synthanol/robottears
+/datum/reagent/consumable/ethanol/synthanol/robottears
name = "Robot Tears"
id = "robottears"
description = "An oily substance that an IPC could technically consider a 'drink'."
@@ -1062,7 +1061,7 @@
drink_name = "Glass of Robot Tears"
drink_desc = "No robots were hurt in the making of this drink."
-/datum/reagent/ethanol/synthanol/trinary
+/datum/reagent/consumable/ethanol/synthanol/trinary
name = "Trinary"
id = "trinary"
description = "A fruit drink meant only for synthetics, however that works."
@@ -1073,7 +1072,7 @@
drink_name = "Glass of Trinary"
drink_desc = "Colorful drink made for synthetic crewmembers. It doesn't seem like it would taste well."
-/datum/reagent/ethanol/synthanol/servo
+/datum/reagent/consumable/ethanol/synthanol/servo
name = "Servo"
id = "servo"
description = "A drink containing some organic ingredients, but meant only for synthetics."
@@ -1084,7 +1083,7 @@
drink_name = "Glass of Servo"
drink_desc = "Chocolate - based drink made for IPCs. Not sure if anyone's actually tried out the recipe."
-/datum/reagent/ethanol/synthanol/uplink
+/datum/reagent/consumable/ethanol/synthanol/uplink
name = "Uplink"
id = "uplink"
description = "A potent mix of alcohol and synthanol. Will only work on synthetics."
@@ -1095,7 +1094,7 @@
drink_name = "Glass of Uplink"
drink_desc = "An exquisite mix of the finest liquoirs and synthanol. Meant only for synthetics."
-/datum/reagent/ethanol/synthanol/synthnsoda
+/datum/reagent/consumable/ethanol/synthanol/synthnsoda
name = "Synth 'n Soda"
id = "synthnsoda"
description = "The classic drink adjusted for a robot's tastes."
@@ -1106,7 +1105,7 @@
drink_name = "Glass of Synth 'n Soda"
drink_desc = "Classic drink altered to fit the tastes of a robot. Bad idea to drink if you're made of carbon."
-/datum/reagent/ethanol/synthanol/synthignon
+/datum/reagent/consumable/ethanol/synthanol/synthignon
name = "Synthignon"
id = "synthignon"
description = "Someone mixed wine and alcohol for robots. Hope you're proud of yourself."
diff --git a/code/modules/reagents/chemistry/reagents/disease.dm b/code/modules/reagents/chemistry/reagents/disease.dm
index 56493362f7c..cfebcfd4b7c 100644
--- a/code/modules/reagents/chemistry/reagents/disease.dm
+++ b/code/modules/reagents/chemistry/reagents/disease.dm
@@ -139,7 +139,7 @@
//virus foods
-/datum/reagent/virus_food
+/datum/reagent/consumable/virus_food
name = "Virus Food"
id = "virusfood"
description = "A mixture of water, milk, and oxygen. Virus cells can use this mixture to reproduce."
@@ -147,10 +147,6 @@
nutriment_factor = 2 * REAGENTS_METABOLISM
color = "#899613" // rgb: 137, 150, 19
-/datum/reagent/virus_food/on_mob_life(mob/living/M)
- M.nutrition += nutriment_factor * REAGENTS_EFFECT_MULTIPLIER
- ..()
-
/datum/reagent/mutagen/mutagenvirusfood
name = "mutagenic agar"
id = "mutagenvirusfood"
diff --git a/code/modules/reagents/chemistry/reagents/drink_base.dm b/code/modules/reagents/chemistry/reagents/drink_base.dm
index 884451c2dd0..25484983a4f 100644
--- a/code/modules/reagents/chemistry/reagents/drink_base.dm
+++ b/code/modules/reagents/chemistry/reagents/drink_base.dm
@@ -1,9 +1,8 @@
-/datum/reagent/drink
+/datum/reagent/consumable/drink
name = "Drink"
id = "drink"
description = "Uh, some kind of drink."
reagent_state = LIQUID
- nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#E78108" // rgb: 231, 129, 8
var/adj_dizzy = 0
var/adj_drowsy = 0
@@ -11,8 +10,7 @@
var/adj_temp_hot = 0
var/adj_temp_cool = 0
-/datum/reagent/drink/on_mob_life(mob/living/M)
- M.nutrition += nutriment_factor
+/datum/reagent/consumable/drink/on_mob_life(mob/living/M)
if(adj_dizzy)
M.AdjustDizzy(adj_dizzy)
if(adj_drowsy)
diff --git a/code/modules/reagents/chemistry/reagents/drink_cold.dm b/code/modules/reagents/chemistry/reagents/drink_cold.dm
index 56e399373e4..ffd43a81840 100644
--- a/code/modules/reagents/chemistry/reagents/drink_cold.dm
+++ b/code/modules/reagents/chemistry/reagents/drink_cold.dm
@@ -1,8 +1,8 @@
-/datum/reagent/drink/cold
+/datum/reagent/consumable/drink/cold
name = "Cold drink"
adj_temp_cool = 5
-/datum/reagent/drink/cold/tonic
+/datum/reagent/consumable/drink/cold/tonic
name = "Tonic Water"
id = "tonic"
description = "It tastes strange but at least the quinine keeps the Space Malaria at bay."
@@ -14,7 +14,7 @@
drink_name = "Glass of Tonic Water"
drink_desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away."
-/datum/reagent/drink/cold/sodawater
+/datum/reagent/consumable/drink/cold/sodawater
name = "Soda Water"
id = "sodawater"
description = "A can of club soda. Why not make a scotch and soda?"
@@ -25,7 +25,7 @@
drink_name = "Glass of Soda Water"
drink_desc = "Soda water. Why not make a scotch and soda?"
-/datum/reagent/drink/cold/ice
+/datum/reagent/consumable/drink/cold/ice
name = "Ice"
id = "ice"
description = "Frozen water, your dentist wouldn't like you chewing this."
@@ -36,11 +36,11 @@
drink_name = "Glass of ice"
drink_desc = "Generally, you're supposed to put something else in there too..."
-/datum/reagent/drink/cold/ice/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/cold/ice/on_mob_life(mob/living/M)
M.bodytemperature = max(M.bodytemperature - 5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0)
..()
-/datum/reagent/drink/cold/space_cola
+/datum/reagent/consumable/drink/cold/space_cola
name = "Cola"
id = "cola"
description = "A refreshing beverage."
@@ -51,7 +51,7 @@
drink_name = "Glass of Space Cola"
drink_desc = "A glass of refreshing Space Cola"
-/datum/reagent/drink/cold/nuka_cola
+/datum/reagent/consumable/drink/cold/nuka_cola
name = "Nuka Cola"
id = "nuka_cola"
description = "Cola, cola never changes."
@@ -61,7 +61,7 @@
drink_name = "Nuka Cola"
drink_desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland"
-/datum/reagent/drink/cold/nuka_cola/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/cold/nuka_cola/on_mob_life(mob/living/M)
M.Jitter(20)
M.Druggy(30)
M.AdjustDizzy(5)
@@ -69,11 +69,11 @@
M.status_flags |= GOTTAGOFAST
..()
-/datum/reagent/drink/cold/nuka_cola/on_mob_delete(mob/living/M)
+/datum/reagent/consumable/drink/cold/nuka_cola/on_mob_delete(mob/living/M)
M.status_flags &= ~GOTTAGOFAST
..()
-/datum/reagent/drink/cold/spacemountainwind
+/datum/reagent/consumable/drink/cold/spacemountainwind
name = "Space Mountain Wind"
id = "spacemountainwind"
description = "Blows right through you like a space wind."
@@ -84,7 +84,7 @@
drink_name = "Glass of Space Mountain Wind"
drink_desc = "Space Mountain Wind. As you know, there are no mountains in space, only wind."
-/datum/reagent/drink/cold/dr_gibb
+/datum/reagent/consumable/drink/cold/dr_gibb
name = "Dr. Gibb"
id = "dr_gibb"
description = "A delicious blend of 42 different flavours"
@@ -94,7 +94,7 @@
drink_name = "Glass of Dr. Gibb"
drink_desc = "Dr. Gibb. Not as dangerous as the name might imply."
-/datum/reagent/drink/cold/space_up
+/datum/reagent/consumable/drink/cold/space_up
name = "Space-Up"
id = "space_up"
description = "Tastes like a hull breach in your mouth."
@@ -104,14 +104,14 @@
drink_name = "Glass of Space-up"
drink_desc = "Space-up. It helps keep your cool."
-/datum/reagent/drink/cold/lemon_lime
+/datum/reagent/consumable/drink/cold/lemon_lime
name = "Lemon Lime"
description = "A tangy substance made of 0.5% natural citrus!"
id = "lemon_lime"
color = "#878F00" // rgb: 135, 40, 0
adj_temp_cool = 8
-/datum/reagent/drink/cold/lemonade
+/datum/reagent/consumable/drink/cold/lemonade
name = "Lemonade"
description = "Oh the nostalgia..."
id = "lemonade"
@@ -120,7 +120,7 @@
drink_name = "Lemonade"
drink_desc = "Oh the nostalgia..."
-/datum/reagent/drink/cold/kiraspecial
+/datum/reagent/consumable/drink/cold/kiraspecial
name = "Kira Special"
description = "Long live the guy who everyone had mistaken for a girl. Baka!"
id = "kiraspecial"
@@ -129,7 +129,7 @@
drink_name = "Kira Special"
drink_desc = "Long live the guy who everyone had mistaken for a girl. Baka!"
-/datum/reagent/drink/cold/brownstar
+/datum/reagent/consumable/drink/cold/brownstar
name = "Brown Star"
description = "It's not what it sounds like..."
id = "brownstar"
@@ -139,7 +139,7 @@
drink_name = "Brown Star"
drink_desc = "Its not what it sounds like..."
-/datum/reagent/drink/cold/milkshake
+/datum/reagent/consumable/drink/cold/milkshake
name = "Milkshake"
description = "Glorious brainfreezing mixture."
id = "milkshake"
@@ -149,7 +149,7 @@
drink_name = "Milkshake"
drink_desc = "Glorious brainfreezing mixture."
-/datum/reagent/drink/cold/rewriter
+/datum/reagent/consumable/drink/cold/rewriter
name = "Rewriter"
description = "The secert of the sanctuary of the Libarian..."
id = "rewriter"
@@ -158,6 +158,6 @@
drink_name = "Rewriter"
drink_desc = "The secert of the sanctuary of the Libarian..."
-/datum/reagent/drink/cold/rewriter/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/cold/rewriter/on_mob_life(mob/living/M)
M.Jitter(5)
..()
\ No newline at end of file
diff --git a/code/modules/reagents/chemistry/reagents/drinks.dm b/code/modules/reagents/chemistry/reagents/drinks.dm
index 58574701a40..eb1c4f5ee68 100644
--- a/code/modules/reagents/chemistry/reagents/drinks.dm
+++ b/code/modules/reagents/chemistry/reagents/drinks.dm
@@ -1,4 +1,4 @@
-/datum/reagent/drink/orangejuice
+/datum/reagent/consumable/drink/orangejuice
name = "Orange juice"
id = "orangejuice"
description = "Both delicious AND rich in Vitamin C, what more do you need?"
@@ -7,12 +7,12 @@
drink_name = "Glass of Orange juice"
drink_desc = "Vitamins! Yay!"
-/datum/reagent/drink/orangejuicde/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/orangejuicde/on_mob_life(mob/living/M)
if(M.getOxyLoss() && prob(30))
M.adjustOxyLoss(-1*REM)
..()
-/datum/reagent/drink/tomatojuice
+/datum/reagent/consumable/drink/tomatojuice
name = "Tomato Juice"
id = "tomatojuice"
description = "Tomatoes made into juice. What a waste of big, juicy tomatoes, huh?"
@@ -21,12 +21,12 @@
drink_name = "Glass of Tomato juice"
drink_desc = "Are you sure this is tomato juice?"
-/datum/reagent/drink/tomatojuice/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/tomatojuice/on_mob_life(mob/living/M)
if(M.getFireLoss() && prob(20))
M.adjustFireLoss(-1)
..()
-/datum/reagent/drink/limejuice
+/datum/reagent/consumable/drink/limejuice
name = "Lime Juice"
id = "limejuice"
description = "The sweet-sour juice of limes."
@@ -35,12 +35,12 @@
drink_name = "Glass of Lime juice"
drink_desc = "A glass of sweet-sour lime juice."
-/datum/reagent/drink/limejuice/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/limejuice/on_mob_life(mob/living/M)
if(M.getToxLoss() && prob(20))
M.adjustToxLoss(-1)
..()
-/datum/reagent/drink/carrotjuice
+/datum/reagent/consumable/drink/carrotjuice
name = "Carrot juice"
id = "carrotjuice"
description = "It is just like a carrot but without crunching."
@@ -49,7 +49,7 @@
drink_name = "Glass of carrot juice"
drink_desc = "It is just like a carrot but without crunching."
-/datum/reagent/drink/carrotjuicde/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/carrotjuicde/on_mob_life(mob/living/M)
M.AdjustEyeBlurry(-1)
M.AdjustEyeBlind(-1)
switch(current_cycle)
@@ -60,7 +60,7 @@
M.disabilities &= ~NEARSIGHTED
..()
-/datum/reagent/drink/doctor_delight
+/datum/reagent/consumable/drink/doctor_delight
name = "The Doctor's Delight"
id = "doctorsdelight"
description = "A gulp a day keeps the MediBot away. That's probably for the best."
@@ -70,12 +70,26 @@
drink_name = "Doctor's Delight"
drink_desc = "A healthy mixture of juices, guaranteed to keep you healthy until the next toolboxing takes place."
-/datum/reagent/drink/doctors_delight/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/doctors_delight/on_mob_life(mob/living/M)
if(M.getToxLoss() && prob(20))
M.adjustToxLoss(-1)
..()
-/datum/reagent/drink/berryjuice
+/datum/reagent/consumable/drink/triple_citrus
+ name = "Triple Citrus"
+ id = "triple_citrus"
+ description = "A refreshing mixed drink of orange, lemon and lime juice."
+ reagent_state = LIQUID
+ color = "#23A046"
+ drink_icon = "triplecitrus"
+ drink_name = "Glass of Triplecitrus Juice"
+ drink_desc = "As colorful and healthy as it is delicious."
+
+/datum/reagent/consumable/drink/triple_citrus/reaction_mob(mob/living/M, method=TOUCH, volume)
+ if(method == INGEST)
+ M.adjustToxLoss(-rand(1,2))
+
+/datum/reagent/consumable/drink/berryjuice
name = "Berry Juice"
id = "berryjuice"
description = "A delicious blend of several different kinds of berries."
@@ -84,7 +98,7 @@
drink_name = "Glass of berry juice"
drink_desc = "Berry juice. Or maybe its jam. Who cares?"
-/datum/reagent/drink/poisonberryjuice
+/datum/reagent/consumable/drink/poisonberryjuice
name = "Poison Berry Juice"
id = "poisonberryjuice"
description = "A tasty juice blended from various kinds of very deadly and toxic berries."
@@ -93,17 +107,17 @@
drink_name = "Glass of poison berry juice"
drink_desc = "A glass of deadly juice."
-/datum/reagent/drink/poisonberryjuice/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/poisonberryjuice/on_mob_life(mob/living/M)
M.adjustToxLoss(1)
..()
-/datum/reagent/drink/watermelonjuice
+/datum/reagent/consumable/drink/watermelonjuice
name = "Watermelon Juice"
id = "watermelonjuice"
description = "Delicious juice made from watermelon."
color = "#863333" // rgb: 134, 51, 51
-/datum/reagent/drink/lemonjuice
+/datum/reagent/consumable/drink/lemonjuice
name = "Lemon Juice"
id = "lemonjuice"
description = "This juice is VERY sour."
@@ -112,13 +126,13 @@
drink_name = "Glass of lemonjuice"
drink_desc = "Sour..."
-/datum/reagent/drink/grapejuice
+/datum/reagent/consumable/drink/grapejuice
name = "Grape Juice"
id = "grapejuice"
description = "This juice is known to stain shirts."
color = "#993399" // rgb: 153, 51, 153
-/datum/reagent/drink/banana
+/datum/reagent/consumable/drink/banana
name = "Banana Juice"
id = "banana"
description = "The raw essence of a banana."
@@ -127,13 +141,13 @@
drink_name = "Glass of banana juice"
drink_desc = "The raw essence of a banana. HONK"
-/datum/reagent/drink/banana/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/banana/on_mob_life(mob/living/M)
if((ishuman(M) && M.job in list("Clown") ) || issmall(M))
M.adjustBruteLoss(-1)
M.adjustFireLoss(-1)
..()
-/datum/reagent/drink/nothing
+/datum/reagent/consumable/drink/nothing
name = "Nothing"
id = "nothing"
description = "Absolutely nothing."
@@ -141,23 +155,23 @@
drink_name = "Nothing"
drink_desc = "Absolutely nothing."
-/datum/reagent/drink/nothing/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/nothing/on_mob_life(mob/living/M)
if(ishuman(M) && M.job in list("Mime"))
M.adjustBruteLoss(-1)
M.adjustFireLoss(-1)
..()
-/datum/reagent/drink/potato_juice
+/datum/reagent/consumable/drink/potato_juice
name = "Potato Juice"
id = "potato"
description = "Juice of the potato. Bleh."
- nutriment_factor = 2 * FOOD_METABOLISM
+ nutriment_factor = 2 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
drink_icon = "glass_brown"
drink_name = "Glass of potato juice"
drink_desc = "Who in the hell requests this? Gross!"
-/datum/reagent/drink/milk
+/datum/reagent/consumable/drink/milk
name = "Milk"
id = "milk"
description = "An opaque white liquid produced by the mammary glands of mammals."
@@ -166,14 +180,14 @@
drink_name = "Glass of milk"
drink_desc = "White and nutritious goodness!"
-/datum/reagent/drink/milk/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/milk/on_mob_life(mob/living/M)
if(M.getBruteLoss() && prob(20))
M.adjustBruteLoss(-1)
if(holder.has_reagent("capsaicin"))
holder.remove_reagent("capsaicin", 2)
..()
-/datum/reagent/drink/milk/soymilk
+/datum/reagent/consumable/drink/milk/soymilk
name = "Soy Milk"
id = "soymilk"
description = "An opaque white liquid made from soybeans."
@@ -181,7 +195,7 @@
drink_name = "Glass of soy milk"
drink_desc = "White and nutritious soy goodness!"
-/datum/reagent/drink/milk/cream
+/datum/reagent/consumable/drink/milk/cream
name = "Cream"
id = "cream"
description = "The fatty, still liquid part of milk. Why don't you mix this with sum scotch, eh?"
@@ -189,24 +203,24 @@
drink_name = "Glass of cream"
drink_desc = "Ewwww..."
-/datum/reagent/drink/milk/chocolate_milk
+/datum/reagent/consumable/drink/milk/chocolate_milk
name = "Chocolate milk"
id ="chocolate_milk"
description = "Chocolate-flavored milk, tastes like being a kid again."
color = "#85432C"
-/datum/reagent/drink/hot_coco
+/datum/reagent/consumable/drink/hot_coco
name = "Hot Chocolate"
id = "hot_coco"
description = "Made with love! And coco beans."
- nutriment_factor = 2 * FOOD_METABOLISM
+ nutriment_factor = 2 * REAGENTS_METABOLISM
color = "#403010" // rgb: 64, 48, 16
adj_temp_hot = 5
drink_icon = "hot_coco"
drink_name = "Glass of hot coco"
drink_desc = "Delicious and cozy"
-/datum/reagent/drink/coffee
+/datum/reagent/consumable/drink/coffee
name = "Coffee"
id = "coffee"
description = "Coffee is a brewed drink prepared from roasted seeds, commonly called coffee beans, of the coffee plant."
@@ -222,7 +236,7 @@
drink_name = "Glass of coffee"
drink_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere."
-/datum/reagent/drink/coffee/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/coffee/on_mob_life(mob/living/M)
if(holder.has_reagent("frostoil"))
holder.remove_reagent("frostoil", 5)
if(prob(50))
@@ -231,11 +245,11 @@
M.AdjustWeakened(-1)
..()
-/datum/reagent/drink/coffee/overdose_process(mob/living/M, severity)
+/datum/reagent/consumable/drink/coffee/overdose_process(mob/living/M, severity)
if(volume > 45)
M.Jitter(5)
-/datum/reagent/drink/coffee/icecoffee
+/datum/reagent/consumable/drink/coffee/icecoffee
name = "Iced Coffee"
id = "icecoffee"
description = "Coffee and ice, refreshing and cool."
@@ -246,7 +260,7 @@
drink_name = "Iced Coffee"
drink_desc = "A drink to perk you up and refresh you!"
-/datum/reagent/drink/coffee/soy_latte
+/datum/reagent/consumable/drink/coffee/soy_latte
name = "Soy Latte"
id = "soy_latte"
description = "A nice and tasty beverage while you are reading your hippie books."
@@ -257,13 +271,13 @@
drink_name = "Soy Latte"
drink_desc = "A nice and refrshing beverage while you are reading."
-/datum/reagent/drink/coffee/soy_latte/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/coffee/soy_latte/on_mob_life(mob/living/M)
..()
M.SetSleeping(0)
if(M.getBruteLoss() && prob(20))
M.adjustBruteLoss(-1)
-/datum/reagent/drink/coffee/cafe_latte
+/datum/reagent/consumable/drink/coffee/cafe_latte
name = "Cafe Latte"
id = "cafe_latte"
description = "A nice, strong and tasty beverage while you are reading."
@@ -274,13 +288,13 @@
drink_name = "Cafe Latte"
drink_desc = "A nice, strong and refreshing beverage while you are reading."
-/datum/reagent/drink/coffee/cafe_latte/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/coffee/cafe_latte/on_mob_life(mob/living/M)
..()
M.SetSleeping(0)
if(M.getBruteLoss() && prob(20))
M.adjustBruteLoss(-1)
-/datum/reagent/drink/coffee/cafe_latte/cafe_mocha
+/datum/reagent/consumable/drink/coffee/cafe_latte/cafe_mocha
name = "Cafe Mocha"
id = "cafe_mocha"
description = "The perfect blend of coffe, milk, and chocolate."
@@ -288,7 +302,7 @@
drink_name = "Cafe Mocha"
drink_desc = "The perfect blend of coffe, milk, and chocolate."
-/datum/reagent/drink/tea
+/datum/reagent/consumable/drink/tea
name = "Tea"
id = "tea"
description = "Tasty black tea: It has antioxidants. It's good for you!"
@@ -301,12 +315,12 @@
drink_name = "Glass of Tea"
drink_desc = "A glass of hot tea. Perhaps a cup with a handle would have been smarter?"
-/datum/reagent/drink/tea/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/tea/on_mob_life(mob/living/M)
if(M.getToxLoss() && prob(20))
M.adjustToxLoss(-1)
..()
-/datum/reagent/drink/tea/icetea
+/datum/reagent/consumable/drink/tea/icetea
name = "Iced Tea"
id = "icetea"
description = "No relation to a certain rap artist/ actor."
@@ -317,33 +331,31 @@
drink_name = "Iced Tea"
drink_desc = "No relation to a certain rap artist/ actor."
-/datum/reagent/drink/bananahonk
+/datum/reagent/consumable/drink/bananahonk
name = "Banana Mama"
id = "bananahonk"
description = "A drink from Clown Heaven."
- nutriment_factor = 1 * FOOD_METABOLISM
color = "#664300" // rgb: 102, 67, 0
drink_icon = "bananahonkglass"
drink_name = "Banana Honk"
drink_desc = "A drink from Banana Heaven."
-/datum/reagent/drink/bananahonk/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/bananahonk/on_mob_life(mob/living/M)
if((ishuman(M) && M.job in list("Clown") ) || issmall(M))
M.adjustBruteLoss(-1)
M.adjustFireLoss(-1)
..()
-/datum/reagent/drink/silencer
+/datum/reagent/consumable/drink/silencer
name = "Silencer"
id = "silencer"
description = "A drink from Mime Heaven."
- nutriment_factor = 1 * FOOD_METABOLISM
color = "#664300" // rgb: 102, 67, 0
drink_icon = "silencerglass"
drink_name = "Silencer"
drink_desc = "A drink from mime Heaven."
-/datum/reagent/drink/silencer/on_mob_life(mob/living/M)
+/datum/reagent/consumable/drink/silencer/on_mob_life(mob/living/M)
if(ishuman(M) && M.job in list("Mime"))
M.adjustBruteLoss(-1)
M.adjustFireLoss(-1)
diff --git a/code/modules/reagents/chemistry/reagents/food.dm b/code/modules/reagents/chemistry/reagents/food.dm
index 69864d487a6..f502f697505 100644
--- a/code/modules/reagents/chemistry/reagents/food.dm
+++ b/code/modules/reagents/chemistry/reagents/food.dm
@@ -1,21 +1,34 @@
/////////////////////////Food Reagents////////////////////////////
// Part of the food code. Nutriment is used instead of the old "heal_amt" code. Also is where all the food
// condiments, additives, and such go.
-/datum/reagent/nutriment // Pure nutriment, universally digestable and thus slightly less effective
+
+/datum/reagent/consumable
+ name = "Consumable"
+ id = "consumable"
+ var/nutriment_factor = 1 * REAGENTS_METABOLISM
+ var/diet_flags = DIET_OMNI | DIET_HERB | DIET_CARN
+
+/datum/reagent/consumable/on_mob_life(mob/living/M)
+ if(!(M.mind in ticker.mode.vampires))
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ if(H.can_eat(diet_flags)) //Make sure the species has it's dietflag set, otherwise it can't digest any nutrients
+ H.nutrition += nutriment_factor // For hunger and fatness
+ ..()
+
+/datum/reagent/consumable/nutriment // Pure nutriment, universally digestable and thus slightly less effective
name = "Nutriment"
id = "nutriment"
description = "A questionable mixture of various pure nutrients commonly found in processed foods."
reagent_state = SOLID
nutriment_factor = 12 * REAGENTS_METABOLISM
color = "#664330" // rgb: 102, 67, 48
- var/diet_flags = DIET_OMNI | DIET_HERB | DIET_CARN
-/datum/reagent/nutriment/on_mob_life(mob/living/M)
+/datum/reagent/consumable/nutriment/on_mob_life(mob/living/M)
if(!(M.mind in ticker.mode.vampires))
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.can_eat(diet_flags)) //Make sure the species has it's dietflag set, otherwise it can't digest any nutrients
- H.nutrition += nutriment_factor // For hunger and fatness
if(prob(50))
M.adjustBruteLoss(-1)
if(H.species.exotic_blood)
@@ -25,31 +38,28 @@
H.vessel.add_reagent("blood", 0.4)
..()
-/datum/reagent/nutriment/protein // Meat-based protein, digestable by carnivores and omnivores, worthless to herbivores
+/datum/reagent/consumable/nutriment/protein // Meat-based protein, digestable by carnivores and omnivores, worthless to herbivores
name = "Protein"
id = "protein"
description = "Various essential proteins and fats commonly found in animal flesh and blood."
nutriment_factor = 15 * REAGENTS_METABOLISM
diet_flags = DIET_CARN | DIET_OMNI
-/datum/reagent/nutriment/plantmatter // Plant-based biomatter, digestable by herbivores and omnivores, worthless to carnivores
+/datum/reagent/consumable/nutriment/plantmatter // Plant-based biomatter, digestable by herbivores and omnivores, worthless to carnivores
name = "Plant-matter"
id = "plantmatter"
description = "Vitamin-rich fibers and natural sugars commonly found in fresh produce."
nutriment_factor = 15 * REAGENTS_METABOLISM
diet_flags = DIET_HERB | DIET_OMNI
-
-/datum/reagent/vitamin
+/datum/reagent/consumable/vitamin
name = "Vitamin"
id = "vitamin"
description = "All the best vitamins, minerals, and carbohydrates the body needs in pure form."
reagent_state = SOLID
- nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#664330" // rgb: 102, 67, 48
-/datum/reagent/vitamin/on_mob_life(mob/living/M) //everyone needs vitamins, so this works on everyone, regardless of diet or if they're a vampire.
- M.nutrition += nutriment_factor
+/datum/reagent/consumable/vitamin/on_mob_life(mob/living/M)
if(prob(50))
M.adjustBruteLoss(-1)
M.adjustFireLoss(-1)
@@ -62,7 +72,7 @@
H.vessel.add_reagent("blood", 0.5)
..()
-/datum/reagent/soysauce
+/datum/reagent/consumable/soysauce
name = "Soysauce"
id = "soysauce"
description = "A salty sauce made from the soy plant."
@@ -70,7 +80,7 @@
nutriment_factor = 2 * REAGENTS_METABOLISM
color = "#792300" // rgb: 121, 35, 0
-/datum/reagent/ketchup
+/datum/reagent/consumable/ketchup
name = "Ketchup"
id = "ketchup"
description = "Ketchup, catsup, whatever. It's tomato paste."
@@ -78,15 +88,14 @@
nutriment_factor = 5 * REAGENTS_METABOLISM
color = "#731008" // rgb: 115, 16, 8
-
-/datum/reagent/capsaicin
+/datum/reagent/consumable/capsaicin
name = "Capsaicin Oil"
id = "capsaicin"
description = "This is what makes chilis hot."
reagent_state = LIQUID
color = "#B31008" // rgb: 179, 16, 8
-/datum/reagent/capsaicin/on_mob_life(mob/living/M)
+/datum/reagent/consumable/capsaicin/on_mob_life(mob/living/M)
switch(current_cycle)
if(1 to 15)
M.bodytemperature += 5 * TEMPERATURE_DAMAGE_COEFFICIENT
@@ -108,7 +117,74 @@
M.bodytemperature += rand(20,25)
..()
-/datum/reagent/frostoil
+/datum/reagent/consumable/condensedcapsaicin
+ name = "Condensed Capsaicin"
+ id = "condensedcapsaicin"
+ description = "This shit goes in pepperspray."
+ reagent_state = LIQUID
+ color = "#B31008" // rgb: 179, 16, 8
+
+/datum/reagent/consumable/condensedcapsaicin/reaction_mob(mob/living/M, method=TOUCH, volume)
+ if(method == TOUCH)
+ if(ishuman(M))
+ var/mob/living/carbon/human/victim = M
+ var/mouth_covered = 0
+ var/eyes_covered = 0
+ var/obj/item/safe_thing = null
+ if( victim.wear_mask )
+ if( victim.wear_mask.flags & MASKCOVERSEYES )
+ eyes_covered = 1
+ safe_thing = victim.wear_mask
+ if( victim.wear_mask.flags & MASKCOVERSMOUTH )
+ mouth_covered = 1
+ safe_thing = victim.wear_mask
+ if( victim.head )
+ if( victim.head.flags & MASKCOVERSEYES )
+ eyes_covered = 1
+ safe_thing = victim.head
+ if( victim.head.flags & MASKCOVERSMOUTH )
+ 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 )
+ to_chat(victim, "Your [safe_thing] protects you from the pepperspray!")
+ return
+ else if( mouth_covered ) // Reduced effects if partially protected
+ to_chat(victim, "Your [safe_thing] protect you from most of the pepperspray!")
+ if(prob(5))
+ victim.emote("scream")
+ victim.EyeBlurry(3)
+ victim.EyeBlind(1)
+ victim.Confused(3)
+ victim.damageoverlaytemp = 60
+ victim.Weaken(3)
+ victim.drop_item()
+ return
+ else if( eyes_covered ) // Eye cover is better than mouth cover
+ to_chat(victim, "Your [safe_thing] protects your eyes from the pepperspray!")
+ victim.EyeBlurry(3)
+ victim.damageoverlaytemp = 30
+ return
+ else // Oh dear :D
+ if(prob(5))
+ victim.emote("scream")
+ to_chat(victim, "You're sprayed directly in the eyes with pepperspray!")
+ victim.EyeBlurry(5)
+ victim.EyeBlind(2)
+ victim.Confused(6)
+ victim.damageoverlaytemp = 75
+ victim.Weaken(5)
+ victim.drop_item()
+
+/datum/reagent/consumable/condensedcapsaicin/on_mob_life(mob/living/M)
+ if(prob(5))
+ M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]")
+ ..()
+
+/datum/reagent/consumable/frostoil
name = "Frost Oil"
id = "frostoil"
description = "A special oil that noticably chills the body. Extraced from Icepeppers."
@@ -116,7 +192,7 @@
color = "#8BA6E9" // rgb: 139, 166, 233
process_flags = ORGANIC | SYNTHETIC
-/datum/reagent/frostoil/on_mob_life(mob/living/M)
+/datum/reagent/consumable/frostoil/on_mob_life(mob/living/M)
switch(current_cycle)
if(1 to 15)
M.bodytemperature -= 10 * TEMPERATURE_DAMAGE_COEFFICIENT
@@ -142,13 +218,12 @@
M.bodytemperature -= rand(20,25)
..()
-/datum/reagent/frostoil/reaction_turf(turf/T, volume)
+/datum/reagent/consumable/frostoil/reaction_turf(turf/T, volume)
if(volume >= 5)
for(var/mob/living/carbon/slime/M in T)
M.adjustToxLoss(rand(15,30))
-
-/datum/reagent/sodiumchloride
+/datum/reagent/consumable/sodiumchloride
name = "Salt"
id = "sodiumchloride"
description = "Sodium chloride, common table salt."
@@ -156,18 +231,18 @@
color = "#B1B0B0"
overdose_threshold = 100
-/datum/reagent/sodiumchloride/overdose_process(mob/living/M, severity)
+/datum/reagent/consumable/sodiumchloride/overdose_process(mob/living/M, severity)
if(prob(70))
M.adjustBrainLoss(1)
..()
-/datum/reagent/blackpepper
+/datum/reagent/consumable/blackpepper
name = "Black Pepper"
id = "blackpepper"
description = "A powder ground from peppercorns. *AAAACHOOO*"
reagent_state = SOLID
-/datum/reagent/cocoa
+/datum/reagent/consumable/cocoa
name = "Cocoa Powder"
id = "cocoa"
description = "A fatty, bitter paste made from cocoa beans."
@@ -175,11 +250,7 @@
nutriment_factor = 5 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
-/datum/reagent/cocoa/on_mob_life(mob/living/M)
- M.nutrition += nutriment_factor
- ..()
-
-/datum/reagent/hot_coco
+/datum/reagent/consumable/hot_coco
name = "Hot Chocolate"
id = "hot_coco"
description = "Made with love! And cocoa beans."
@@ -187,28 +258,24 @@
nutriment_factor = 2 * REAGENTS_METABOLISM
color = "#403010" // rgb: 64, 48, 16
-/datum/reagent/hot_coco/on_mob_life(mob/living/M)
+/datum/reagent/consumable/hot_coco/on_mob_life(mob/living/M)
if(M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
M.bodytemperature = min(310, M.bodytemperature + (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
- M.nutrition += nutriment_factor
..()
-/datum/reagent/sprinkles
+/datum/reagent/consumable/sprinkles
name = "Sprinkles"
id = "sprinkles"
description = "Multi-colored little bits of sugar, commonly found on donuts. Loved by cops."
- nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#FF00FF" // rgb: 255, 0, 255
-/datum/reagent/sprinkles/on_mob_life(mob/living/M)
- M.nutrition += nutriment_factor
+/datum/reagent/consumable/sprinkles/on_mob_life(mob/living/M)
if(ishuman(M) && M.job in list("Security Officer", "Security Pod Pilot", "Detective", "Warden", "Head of Security", "Brig Physician", "Internal Affairs Agent", "Magistrate"))
M.adjustBruteLoss(-1)
M.adjustFireLoss(-1)
..()
-
-/datum/reagent/cornoil
+/datum/reagent/consumable/cornoil
name = "Corn Oil"
id = "cornoil"
description = "An oil derived from various types of corn."
@@ -216,11 +283,7 @@
nutriment_factor = 20 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
-/datum/reagent/cornoil/on_mob_life(mob/living/M)
- M.nutrition += nutriment_factor
- ..()
-
-/datum/reagent/cornoil/reaction_turf(turf/simulated/T, volume)
+/datum/reagent/consumable/cornoil/reaction_turf(turf/simulated/T, volume)
if(!istype(T))
return
if(volume >= 3)
@@ -233,29 +296,21 @@
T.assume_air(lowertemp)
qdel(hotspot)
-
-/datum/reagent/enzyme
+/datum/reagent/consumable/enzyme
name = "Denatured Enzyme"
id = "enzyme"
description = "Heated beyond usefulness, this enzyme is now worthless."
reagent_state = LIQUID
color = "#282314" // rgb: 54, 94, 48
-
-/datum/reagent/dry_ramen
+/datum/reagent/consumable/dry_ramen
name = "Dry Ramen"
id = "dry_ramen"
description = "Space age food, since August 25, 1958. Contains dried noodles, vegetables, and chemicals that boil in contact with water."
reagent_state = SOLID
- nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
-/datum/reagent/dry_ramen/on_mob_life(mob/living/M)
- M.nutrition += nutriment_factor
- ..()
-
-
-/datum/reagent/hot_ramen
+/datum/reagent/consumable/hot_ramen
name = "Hot Ramen"
id = "hot_ramen"
description = "The noodles are boiled, the flavors are artificial, just like being back in school."
@@ -263,14 +318,12 @@
nutriment_factor = 5 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
-/datum/reagent/hot_ramen/on_mob_life(mob/living/M)
- M.nutrition += nutriment_factor
+/datum/reagent/consumable/hot_ramen/on_mob_life(mob/living/M)
if(M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
M.bodytemperature = min(310, M.bodytemperature + (10 * TEMPERATURE_DAMAGE_COEFFICIENT))
..()
-
-/datum/reagent/hell_ramen
+/datum/reagent/consumable/hell_ramen
name = "Hell Ramen"
id = "hell_ramen"
description = "The noodles are boiled, the flavors are artificial, just like being back in school."
@@ -278,88 +331,345 @@
nutriment_factor = 5 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
-/datum/reagent/hell_ramen/on_mob_life(mob/living/M)
- M.nutrition += nutriment_factor
+/datum/reagent/consumable/hell_ramen/on_mob_life(mob/living/M)
M.bodytemperature += 10 * TEMPERATURE_DAMAGE_COEFFICIENT
..()
-
-/datum/reagent/flour
+/datum/reagent/consumable/flour
name = "flour"
id = "flour"
description = "This is what you rub all over yourself to pretend to be a ghost."
reagent_state = SOLID
- nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#FFFFFF" // rgb: 0, 0, 0
-/datum/reagent/flour/on_mob_life(mob/living/M)
- M.nutrition += nutriment_factor
- ..()
-
-/datum/reagent/flour/reaction_turf(turf/T, volume)
+/datum/reagent/consumable/flour/reaction_turf(turf/T, volume)
if(!istype(T, /turf/space))
new /obj/effect/decal/cleanable/flour(T)
-
-/datum/reagent/rice
+/datum/reagent/consumable/rice
name = "Rice"
id = "rice"
description = "Enjoy the great taste of nothing."
reagent_state = SOLID
- nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#FFFFFF" // rgb: 0, 0, 0
-/datum/reagent/rice/on_mob_life(mob/living/M)
- M.nutrition += nutriment_factor
- ..()
-
-
-/datum/reagent/cherryjelly
+/datum/reagent/consumable/cherryjelly
name = "Cherry Jelly"
id = "cherryjelly"
description = "Totally the best. Only to be spread on foods with excellent lateral symmetry."
reagent_state = LIQUID
- nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#801E28" // rgb: 128, 30, 40
-/datum/reagent/cherryjelly/on_mob_life(mob/living/M)
- M.nutrition += nutriment_factor
+/datum/reagent/consumable/egg
+ name = "Egg"
+ id = "egg"
+ description = "A runny and viscous mixture of clear and yellow fluids."
+ reagent_state = LIQUID
+ color = "#F0C814"
+
+/datum/reagent/consumable/egg/on_mob_life(mob/living/M)
+ if(prob(8))
+ M.emote("fart")
+ if(prob(3))
+ M.reagents.add_reagent("cholesterol", rand(1,2))
..()
-/datum/reagent/toxin/coffeepowder
- name = "Coffee Grounds"
- id = "coffeepowder"
- description = "Finely ground Coffee beans, used to make coffee."
- reagent_state = SOLID
- color = "#5B2E0D" // rgb: 91, 46, 13
-
-/datum/reagent/toxin/teapowder
- name = "Ground Tea Leaves"
- id = "teapowder"
- description = "Finely shredded Tea leaves, used for making tea."
- reagent_state = SOLID
- color = "#7F8400" // rgb: 127, 132, 0
-
-//Reagents used for plant fertilizers.
-/datum/reagent/toxin/fertilizer
- name = "fertilizer"
- id = "fertilizer"
- description = "A chemical mix good for growing plants with."
+/datum/reagent/consumable/corn_starch
+ name = "Corn Starch"
+ id = "corn_starch"
+ description = "The powdered starch of maize, derived from the kernel's endosperm. Used as a thickener for gravies and puddings."
reagent_state = LIQUID
- color = "#664330" // rgb: 102, 67, 48
+ color = "#C8A5DC"
-/datum/reagent/toxin/fertilizer/eznutrient
- name = "EZ Nutrient"
- id = "eznutrient"
+/datum/reagent/consumable/corn_syrup
+ name = "Corn Syrup"
+ id = "corn_syrup"
+ description = "A sweet syrup derived from corn starch that has had its starches converted into maltose and other sugars."
+ reagent_state = LIQUID
+ color = "#C8A5DC"
-/datum/reagent/toxin/fertilizer/left4zed
- name = "Left-4-Zed"
- id = "left4zed"
+/datum/reagent/consumable/corn_syrup/on_mob_life(mob/living/M)
+ M.reagents.add_reagent("sugar", 1.2)
+ ..()
-/datum/reagent/toxin/fertilizer/robustharvest
- name = "Robust Harvest"
- id = "robustharvest"
+/datum/reagent/consumable/vhfcs
+ name = "Very-high-fructose corn syrup"
+ id = "vhfcs"
+ description = "An incredibly sweet syrup, created from corn syrup treated with enzymes to convert its sugars into fructose."
+ reagent_state = LIQUID
+ color = "#C8A5DC"
+/datum/reagent/consumable/vhfcs/on_mob_life(mob/living/M)
+ M.reagents.add_reagent("sugar", 2.4)
+ ..()
+
+/datum/reagent/consumable/honey
+ name = "Honey"
+ id = "honey"
+ description = "A sweet substance produced by bees through partial digestion. Bee barf."
+ reagent_state = LIQUID
+ color = "#d3a308"
+
+/datum/reagent/consumable/honey/on_mob_life(mob/living/M)
+ M.reagents.add_reagent("sugar", 0.4)
+ if(prob(20))
+ M.adjustBruteLoss(-3)
+ M.adjustFireLoss(-1)
+ ..()
+
+/datum/reagent/consumable/chocolate
+ name = "Chocolate"
+ id = "chocolate"
+ description = "Chocolate is a delightful product derived from the seeds of the theobroma cacao tree."
+ reagent_state = LIQUID
+ nutriment_factor = 5 * REAGENTS_METABOLISM //same as pure cocoa powder, because it makes no sense that chocolate won't fill you up and make you fat
+ color = "#2E2418"
+ drink_icon = "chocolateglass"
+ drink_name = "Glass of chocolate"
+ drink_desc = "Tasty"
+
+/datum/reagent/consumable/chocolate/on_mob_life(mob/living/M)
+ M.reagents.add_reagent("sugar", 0.8)
+ ..()
+
+/datum/reagent/consumable/chocolate/reaction_turf(turf/T, volume)
+ if(volume >= 5 && !istype(T, /turf/space))
+ new /obj/item/weapon/reagent_containers/food/snacks/choc_pile(T)
+
+/datum/reagent/consumable/mugwort
+ name = "Mugwort"
+ id = "mugwort"
+ description = "A rather bitter herb once thought to hold magical protective properties."
+ reagent_state = LIQUID
+ color = "#21170E"
+
+/datum/reagent/consumable/mugwort/on_mob_life(mob/living/M)
+ if(ishuman(M) && M.mind)
+ if(M.mind.special_role == SPECIAL_ROLE_WIZARD)
+ M.adjustToxLoss(-1*REM)
+ M.adjustOxyLoss(-1*REM)
+ M.adjustBruteLoss(-1*REM)
+ M.adjustFireLoss(-1*REM)
+ ..()
+
+/datum/reagent/consumable/porktonium
+ name = "Porktonium"
+ id = "porktonium"
+ description = "A highly-radioactive pork byproduct first discovered in hotdogs."
+ reagent_state = LIQUID
+ color = "#AB5D5D"
+ metabolization_rate = 0.2
+ overdose_threshold = 133
+
+/datum/reagent/consumable/porktonium/overdose_process(mob/living/M, severity)
+ if(prob(15))
+ M.reagents.add_reagent("cholesterol", rand(1,3))
+ if(prob(8))
+ M.reagents.add_reagent("radium", 15)
+ M.reagents.add_reagent("cyanide", 10)
+
+/datum/reagent/consumable/chicken_soup
+ name = "Chicken soup"
+ id = "chicken_soup"
+ description = "An old household remedy for mild illnesses."
+ reagent_state = LIQUID
+ color = "#B4B400"
+ metabolization_rate = 0.2
+ nutriment_factor = 2
+
+/datum/reagent/consumable/cheese
+ name = "Cheese"
+ id = "cheese"
+ description = "Some cheese. Pour it out to make it solid."
+ reagent_state = SOLID
+ color = "#FFFF00"
+ metabolization_rate = 0 //heheheh
+ nutriment_factor = 0
+
+/datum/reagent/consumable/cheese/on_mob_life(mob/living/M)
+ if(prob(3))
+ M.reagents.add_reagent("cholesterol", rand(1,2))
+ ..()
+
+/datum/reagent/consumable/cheese/reaction_turf(turf/T, volume)
+ if(volume >= 5 && !istype(T, /turf/space))
+ new /obj/item/weapon/reagent_containers/food/snacks/cheesewedge(T)
+
+/datum/reagent/consumable/fake_cheese
+ name = "Cheese substitute"
+ id = "fake_cheese"
+ description = "A cheese-like substance derived loosely from actual cheese."
+ reagent_state = LIQUID
+ color = "#B2B139"
+ overdose_threshold = 50
+
+/datum/reagent/consumable/fake_cheese/overdose_process(mob/living/M, severity)
+ if(prob(8))
+ to_chat(M, "You feel something squirming in your stomach. Your thoughts turn to cheese and you begin to sweat.")
+ M.adjustToxLoss(rand(1,2))
+
+/datum/reagent/consumable/weird_cheese
+ name = "Weird cheese"
+ id = "weird_cheese"
+ description = "Hell, I don't even know if this IS cheese. Whatever it is, it ain't normal. If you want to, pour it out to make it solid."
+ reagent_state = SOLID
+ color = "#50FF00"
+ metabolization_rate = 0 //heheheh
+ addiction_chance = 5
+ nutriment_factor = 0
+
+/datum/reagent/consumable/weird_cheese/on_mob_life(mob/living/M)
+ if(prob(5))
+ M.reagents.add_reagent("cholesterol", rand(1,3))
+ ..()
+
+/datum/reagent/consumable/weird_cheese/reaction_turf(turf/T, volume)
+ if(volume >= 5 && !istype(T, /turf/space))
+ new /obj/item/weapon/reagent_containers/food/snacks/weirdcheesewedge(T)
+
+/datum/reagent/consumable/beans
+ name = "Refried beans"
+ id = "beans"
+ description = "A dish made of mashed beans cooked with lard."
+ reagent_state = LIQUID
+ color = "#684435"
+
+/datum/reagent/consumable/beans/on_mob_life(mob/living/M)
+ if(prob(10))
+ M.emote("fart")
+ ..()
+
+/datum/reagent/consumable/bread
+ name = "Bread"
+ id = "bread"
+ description = "Bread! Yep, bread."
+ reagent_state = SOLID
+ color = "#9C5013"
+
+/datum/reagent/consumable/soybeanoil
+ name = "Space-soybean oil"
+ id = "soybeanoil"
+ description = "An oil derived from extra-terrestrial soybeans."
+ reagent_state = LIQUID
+ color = "#B1B0B0"
+
+/datum/reagent/consumable/soybeanoil/on_mob_life(mob/living/M)
+ if(prob(10))
+ M.reagents.add_reagent("cholesterol", rand(1,3))
+ if(prob(8))
+ M.reagents.add_reagent("porktonium", 5)
+ ..()
+
+/datum/reagent/consumable/hydrogenated_soybeanoil
+ name = "Partially hydrogenated space-soybean oil"
+ id = "hydrogenated_soybeanoil"
+ description = "An oil derived from extra-terrestrial soybeans, with additional hydrogen atoms added to convert it into a saturated form."
+ reagent_state = LIQUID
+ color = "#B1B0B0"
+ metabolization_rate = 0.2
+ overdose_threshold = 75
+
+/datum/reagent/consumable/hydrogenated_soybeanoil/on_mob_life(mob/living/M)
+ if(prob(15))
+ M.reagents.add_reagent("cholesterol", rand(1,3))
+ if(prob(8))
+ M.reagents.add_reagent("porktonium", 5)
+ if(volume >= 75)
+ metabolization_rate = 0.4
+ else
+ metabolization_rate = 0.2
+ ..()
+
+/datum/reagent/consumable/hydrogenated_soybeanoil/overdose_process(mob/living/M, severity)
+ if(prob(33))
+ to_chat(M, "You feel horribly weak.")
+ if(prob(10))
+ to_chat(M, "You cannot breathe!")
+ M.adjustOxyLoss(5)
+ if(prob(5))
+ to_chat(M, "You feel a sharp pain in your chest!")
+ M.adjustOxyLoss(25)
+ M.Stun(5)
+ M.Paralyse(10)
+
+/datum/reagent/consumable/meatslurry
+ name = "Meat Slurry"
+ id = "meatslurry"
+ description = "A paste comprised of highly-processed organic material. Uncomfortably similar to deviled ham spread."
+ reagent_state = LIQUID
+ color = "#EBD7D7"
+
+/datum/reagent/consumable/meatslurry/on_mob_life(mob/living/M)
+ if(prob(4))
+ M.reagents.add_reagent("cholesterol", rand(1,3))
+ ..()
+
+/datum/reagent/consumable/meatslurry/reaction_turf(turf/T, volume)
+ if(volume >= 5 && prob(10) && !istype(T, /turf/space))
+ new /obj/effect/decal/cleanable/blood/gibs/cleangibs(T)
+ playsound(T, 'sound/effects/splat.ogg', 50, 1, -3)
+
+/datum/reagent/consumable/mashedpotatoes
+ name = "Mashed potatoes"
+ id = "mashedpotatoes"
+ description = "A starchy food paste made from boiled potatoes."
+ reagent_state = SOLID
+ color = "#D6D9C1"
+
+/datum/reagent/consumable/gravy
+ name = "Gravy"
+ id = "gravy"
+ description = "A savory sauce made from a simple meat-dripping roux and milk."
+ reagent_state = LIQUID
+ color = "#B4641B"
+
+/datum/reagent/consumable/beff
+ name = "Beff"
+ id = "beff"
+ description = "An advanced blend of mechanically-recovered meat and textured synthesized protein product notable for its unusual crystalline grain when sliced."
+ reagent_state = SOLID
+ color = "#AC7E67"
+
+/datum/reagent/consumable/beff/on_mob_life(mob/living/M)
+ if(prob(5))
+ M.reagents.add_reagent("cholesterol", rand(1,3))
+ if(prob(8))
+ M.reagents.add_reagent(pick("blood", "corn_syrup", "synthflesh", "hydrogenated_soybeanoil", "porktonium", "toxic_slurry"), 0.8)
+ else if(prob(6))
+ to_chat(M, "[pick("You feel ill.","Your stomach churns.","You feel queasy.","You feel sick.")]")
+ M.emote(pick("groan","moan"))
+ ..()
+
+/datum/reagent/consumable/pepperoni
+ name = "Pepperoni"
+ id = "pepperoni"
+ description = "An Italian-American variety of salami usually made from beef and pork"
+ reagent_state = SOLID
+ color = "#AC7E67"
+
+/datum/reagent/consumable/pepperoni/reaction_mob(mob/living/M, method=TOUCH, volume)
+ if(method == TOUCH)
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+
+ if(H.wear_mask)
+ to_chat(H, "The pepperoni bounces off your mask!")
+ return
+
+ if(H.head)
+ to_chat(H, "Your mask protects you from the errant pepperoni!")
+ return
+
+ if(prob(50))
+ M.adjustBruteLoss(1)
+ playsound(M, 'sound/effects/woodhit.ogg', 50, 1)
+ to_chat(M, "A slice of pepperoni slaps you!")
+ else
+ M.emote("burp")
+ to_chat(M, "My goodness, that was tasty!")
+
+
+///Food Related, but non-nutritious
/datum/reagent/sugar
name = "Sugar"
@@ -407,127 +717,51 @@
to_chat(M, "Ugh! Eating that was a terrible idea!")
M.ForceContractDisease(new /datum/disease/food_poisoning(0))
-/datum/reagent/egg
- name = "Egg"
- id = "egg"
- description = "A runny and viscous mixture of clear and yellow fluids."
+/datum/reagent/msg
+ name = "Monosodium glutamate"
+ id = "msg"
+ description = "Monosodium Glutamate is a sodium salt known chiefly for its use as a controversial flavor enhancer."
reagent_state = LIQUID
- color = "#F0C814"
-
-/datum/reagent/egg/on_mob_life(mob/living/M)
- if(prob(8))
- M.emote("fart")
- if(prob(3))
- M.reagents.add_reagent("cholesterol", rand(1,2))
- ..()
-
-/datum/reagent/triple_citrus
- name = "Triple Citrus"
- id = "triple_citrus"
- description = "A refreshing mixed drink of orange, lemon and lime juice."
- reagent_state = LIQUID
- color = "#23A046"
- drink_icon = "triplecitrus"
- drink_name = "Glass of Triplecitrus Juice"
- drink_desc = "As colorful and healthy as it is delicious."
-
-/datum/reagent/triple_citrus/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == INGEST)
- M.adjustToxLoss(-rand(1,2))
-
-/datum/reagent/corn_starch
- name = "Corn Starch"
- id = "corn_starch"
- description = "The powdered starch of maize, derived from the kernel's endosperm. Used as a thickener for gravies and puddings."
- reagent_state = LIQUID
- color = "#C8A5DC"
-
-/datum/reagent/corn_syrup
- name = "Corn Syrup"
- id = "corn_syrup"
- description = "A sweet syrup derived from corn starch that has had its starches converted into maltose and other sugars."
- reagent_state = LIQUID
- color = "#C8A5DC"
-
-/datum/reagent/corn_syrup/on_mob_life(mob/living/M)
- M.reagents.add_reagent("sugar", 1.2)
- ..()
-
-/datum/reagent/vhfcs
- name = "Very-high-fructose corn syrup"
- id = "vhfcs"
- description = "An incredibly sweet syrup, created from corn syrup treated with enzymes to convert its sugars into fructose."
- reagent_state = LIQUID
- color = "#C8A5DC"
-
-/datum/reagent/vhfcs/on_mob_life(mob/living/M)
- M.reagents.add_reagent("sugar", 2.4)
- ..()
-
-/datum/reagent/honey
- name = "Honey"
- id = "honey"
- description = "A sweet substance produced by bees through partial digestion. Bee barf."
- reagent_state = LIQUID
- color = "#d3a308"
-
-/datum/reagent/honey/on_mob_life(mob/living/M)
- M.reagents.add_reagent("sugar", 0.4)
- if(prob(20))
- M.heal_organ_damage(3,1)
- ..()
-
-/datum/reagent/chocolate
- name = "Chocolate"
- id = "chocolate"
- description = "Chocolate is a delightful product derived from the seeds of the theobroma cacao tree."
- reagent_state = LIQUID
- nutriment_factor = 5 * REAGENTS_METABOLISM //same as pure cocoa powder, because it makes no sense that chocolate won't fill you up and make you fat
- color = "#2E2418"
- drink_icon = "chocolateglass"
- drink_name = "Glass of chocolate"
- drink_desc = "Tasty"
-
-/datum/reagent/chocolate/on_mob_life(mob/living/M)
- M.nutrition += nutriment_factor
- M.reagents.add_reagent("sugar", 0.8)
- ..()
-
-/datum/reagent/chocolate/reaction_turf(turf/T, volume)
- if(volume >= 5 && !istype(T, /turf/space))
- new /obj/item/weapon/reagent_containers/food/snacks/choc_pile(T)
-
-/datum/reagent/mugwort
- name = "Mugwort"
- id = "mugwort"
- description = "A rather bitter herb once thought to hold magical protective properties."
- reagent_state = LIQUID
- color = "#21170E"
-
-/datum/reagent/mugwort/on_mob_life(mob/living/M)
- if(ishuman(M) && M.mind)
- if(M.mind.special_role == SPECIAL_ROLE_WIZARD)
- M.adjustToxLoss(-1*REM)
- M.adjustOxyLoss(-1*REM)
- M.adjustBruteLoss(-1*REM)
- M.adjustFireLoss(-1*REM)
- ..()
-
-/datum/reagent/porktonium
- name = "Porktonium"
- id = "porktonium"
- description = "A highly-radioactive pork byproduct first discovered in hotdogs."
- reagent_state = LIQUID
- color = "#AB5D5D"
+ color = "#F5F5F5"
metabolization_rate = 0.2
- overdose_threshold = 133
-/datum/reagent/porktonium/overdose_process(mob/living/M, severity)
- if(prob(15))
- M.reagents.add_reagent("cholesterol", rand(1,3))
- if(prob(8))
- M.reagents.add_reagent("radium", 15)
- M.reagents.add_reagent("cyanide", 10)
+/datum/reagent/msg/reaction_mob(mob/living/M, method=TOUCH, volume)
+ if(method == INGEST)
+ to_chat(M, "That tasted amazing!")
+
+/datum/reagent/msg/on_mob_life(mob/living/M)
+ if(prob(5))
+ if(prob(10))
+ M.adjustToxLoss(rand(2.4))
+ if(prob(7))
+ to_chat(M, "A horrible migraine overpowers you.")
+ M.Stun(rand(2,5))
+ ..()
+
+/datum/reagent/cholesterol
+ name = "cholesterol"
+ id = "cholesterol"
+ description = "Pure cholesterol. Probably not very good for you."
+ reagent_state = LIQUID
+ color = "#FFFAC8"
+
+/datum/reagent/cholesterol/on_mob_life(mob/living/M)
+ if(volume >= 25 && prob(volume*0.15))
+ to_chat(M, "Your chest feels [pick("weird","uncomfortable","nasty","gross","odd","unusual","warm")]!")
+ M.adjustToxLoss(rand(1,2))
+ else if(volume >= 45 && prob(volume*0.08))
+ to_chat(M, "Your chest [pick("hurts","stings","aches","burns")]!")
+ M.adjustToxLoss(rand(2,4))
+ M.Stun(1)
+ else if(volume >= 150 && prob(volume*0.01))
+ to_chat(M, "Your chest is burning with pain!")
+ M.Stun(1)
+ M.Weaken(1)
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ if(!H.heart_attack)
+ H.heart_attack = 1
+ ..()
/datum/reagent/fungus
name = "Space fungus"
@@ -548,109 +782,32 @@
else
to_chat(M, "Yuck!")
-/datum/reagent/chicken_soup
- name = "Chicken soup"
- id = "chicken_soup"
- description = "An old household remedy for mild illnesses."
+/datum/reagent/ectoplasm
+ name = "Ectoplasm"
+ id = "ectoplasm"
+ description = "A bizarre gelatinous substance supposedly derived from ghosts."
reagent_state = LIQUID
- color = "#B4B400"
- metabolization_rate = 0.2
+ color = "#8EAE7B"
+ process_flags = ORGANIC | SYNTHETIC //Because apparently ghosts in the shell
-/datum/reagent/chicken_soup/on_mob_life(mob/living/M)
- M.nutrition += 2
- ..()
-
-/datum/reagent/msg
- name = "Monosodium glutamate"
- id = "msg"
- description = "Monosodium Glutamate is a sodium salt known chiefly for its use as a controversial flavor enhancer."
- reagent_state = LIQUID
- color = "#F5F5F5"
- metabolization_rate = 0.2
-
-/datum/reagent/msg/reaction_mob(mob/living/M, method=TOUCH, volume)
+/datum/reagent/ectoplasm/reaction_mob(mob/living/M, method=TOUCH, volume)
if(method == INGEST)
- to_chat(M, "That tasted amazing!")
+ var/spooky_eat = pick("Ugh, why did you eat that? Your mouth feels haunted. Haunted with bad flavors.", "Ugh, why did you eat that? It has the texture of ham aspic. From the 1950s. Left out in the sun.", "Ugh, why did you eat that? It tastes like a ghost fart.", "Ugh, why did you eat that? It tastes like flavor died.")
+ to_chat(M, "[spooky_eat]")
-
-/datum/reagent/msg/on_mob_life(mob/living/M)
- if(prob(5))
- if(prob(10))
- M.adjustToxLoss(rand(2.4))
- if(prob(7))
- to_chat(M, "A horrible migraine overpowers you.")
- M.Stun(rand(2,5))
- ..()
-
-/datum/reagent/cheese
- name = "Cheese"
- id = "cheese"
- description = "Some cheese. Pour it out to make it solid."
- reagent_state = SOLID
- color = "#FFFF00"
- metabolization_rate = 0 //heheheh
-
-
-/datum/reagent/cheese/on_mob_life(mob/living/M)
- if(prob(3))
- M.reagents.add_reagent("cholesterol", rand(1,2))
- ..()
-
-/datum/reagent/cheese/reaction_turf(turf/T, volume)
- if(volume >= 5 && !istype(T, /turf/space))
- new /obj/item/weapon/reagent_containers/food/snacks/cheesewedge(T)
-
-/datum/reagent/fake_cheese
- name = "Cheese substitute"
- id = "fake_cheese"
- description = "A cheese-like substance derived loosely from actual cheese."
- reagent_state = LIQUID
- color = "#B2B139"
- overdose_threshold = 50
-
-/datum/reagent/fake_cheese/overdose_process(mob/living/M, severity)
+/datum/reagent/ectoplasm/on_mob_life(mob/living/M)
+ var/spooky_message = pick("You notice something moving out of the corner of your eye, but nothing is there...", "Your eyes twitch, you feel like something you can't see is here...", "You've got the heebie-jeebies.", "You feel uneasy.", "You shudder as if cold...", "You feel something gliding across your back...")
if(prob(8))
- to_chat(M, "You feel something squirming in your stomach. Your thoughts turn to cheese and you begin to sweat.")
- M.adjustToxLoss(rand(1,2))
-
-/datum/reagent/weird_cheese
- name = "Weird cheese"
- id = "weird_cheese"
- description = "Hell, I don't even know if this IS cheese. Whatever it is, it ain't normal. If you want to, pour it out to make it solid."
- reagent_state = SOLID
- color = "#50FF00"
- metabolization_rate = 0 //heheheh
- addiction_chance = 5
-
-/datum/reagent/weird_cheese/on_mob_life(mob/living/M)
- if(prob(5))
- M.reagents.add_reagent("cholesterol", rand(1,3))
+ to_chat(M, "[spooky_message]")
..()
-/datum/reagent/weird_cheese/reaction_turf(turf/T, volume)
- if(volume >= 5 && !istype(T, /turf/space))
- new /obj/item/weapon/reagent_containers/food/snacks/weirdcheesewedge(T)
+/datum/reagent/ectoplasm/reaction_turf(turf/T, volume)
+ if(volume >= 10 && !istype(T, /turf/space))
+ new /obj/item/weapon/reagent_containers/food/snacks/ectoplasm(T)
-/datum/reagent/beans
- name = "Refried beans"
- id = "beans"
- description = "A dish made of mashed beans cooked with lard."
- reagent_state = LIQUID
- color = "#684435"
+///Vomit///
-/datum/reagent/beans/on_mob_life(mob/living/M)
- if(prob(10))
- M.emote("fart")
- ..()
-
-/datum/reagent/bread
- name = "Bread"
- id = "bread"
- description = "Bread! Yep, bread."
- reagent_state = SOLID
- color = "#9C5013"
-
-/datum/reagent/bread/reaction_turf(turf/T, volume)
+/datum/reagent/consumable/bread/reaction_turf(turf/T, volume)
if(volume >= 5 && !istype(T, /turf/space))
new /obj/item/weapon/reagent_containers/food/snacks/breadslice(T)
@@ -676,175 +833,4 @@
/datum/reagent/greenvomit/reaction_turf(turf/T, volume)
if(volume >= 5 && !istype(T, /turf/space))
new /obj/effect/decal/cleanable/vomit/green(T)
- playsound(T, 'sound/effects/splat.ogg', 50, 1, -3)
-
-
-/datum/reagent/ectoplasm
- name = "Ectoplasm"
- id = "ectoplasm"
- description = "A bizarre gelatinous substance supposedly derived from ghosts."
- reagent_state = LIQUID
- color = "#8EAE7B"
- process_flags = ORGANIC | SYNTHETIC //Because apparently ghosts in the shell
-
-/datum/reagent/ectoplasm/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == INGEST)
- var/spooky_eat = pick("Ugh, why did you eat that? Your mouth feels haunted. Haunted with bad flavors.", "Ugh, why did you eat that? It has the texture of ham aspic. From the 1950s. Left out in the sun.", "Ugh, why did you eat that? It tastes like a ghost fart.", "Ugh, why did you eat that? It tastes like flavor died.")
- to_chat(M, "[spooky_eat]")
-
-/datum/reagent/ectoplasm/on_mob_life(mob/living/M)
- var/spooky_message = pick("You notice something moving out of the corner of your eye, but nothing is there...", "Your eyes twitch, you feel like something you can't see is here...", "You've got the heebie-jeebies.", "You feel uneasy.", "You shudder as if cold...", "You feel something gliding across your back...")
- if(prob(8))
- to_chat(M, "[spooky_message]")
- ..()
-
-/datum/reagent/ectoplasm/reaction_turf(turf/T, volume)
- if(volume >= 10 && !istype(T, /turf/space))
- new /obj/item/weapon/reagent_containers/food/snacks/ectoplasm(T)
-
-/datum/reagent/soybeanoil
- name = "Space-soybean oil"
- id = "soybeanoil"
- description = "An oil derived from extra-terrestrial soybeans."
- reagent_state = LIQUID
- color = "#B1B0B0"
-
-/datum/reagent/soybeanoil/on_mob_life(mob/living/M)
- if(prob(10))
- M.reagents.add_reagent("cholesterol", rand(1,3))
- if(prob(8))
- M.reagents.add_reagent("porktonium", 5)
- ..()
-
-/datum/reagent/hydrogenated_soybeanoil
- name = "Partially hydrogenated space-soybean oil"
- id = "hydrogenated_soybeanoil"
- description = "An oil derived from extra-terrestrial soybeans, with additional hydrogen atoms added to convert it into a saturated form."
- reagent_state = LIQUID
- color = "#B1B0B0"
- metabolization_rate = 0.2
- overdose_threshold = 75
-
-/datum/reagent/hydrogenated_soybeanoil/on_mob_life(mob/living/M)
- if(prob(15))
- M.reagents.add_reagent("cholesterol", rand(1,3))
- if(prob(8))
- M.reagents.add_reagent("porktonium", 5)
- if(volume >= 75)
- metabolization_rate = 0.4
- else
- metabolization_rate = 0.2
- ..()
-
-/datum/reagent/hydrogenated_soybeanoil/overdose_process(mob/living/M, severity)
- if(prob(33))
- to_chat(M, "You feel horribly weak.")
- if(prob(10))
- to_chat(M, "You cannot breathe!")
- M.adjustOxyLoss(5)
- if(prob(5))
- to_chat(M, "You feel a sharp pain in your chest!")
- M.adjustOxyLoss(25)
- M.Stun(5)
- M.Paralyse(10)
-
-/datum/reagent/meatslurry
- name = "Meat Slurry"
- id = "meatslurry"
- description = "A paste comprised of highly-processed organic material. Uncomfortably similar to deviled ham spread."
- reagent_state = LIQUID
- color = "#EBD7D7"
-
-/datum/reagent/meatslurry/on_mob_life(mob/living/M)
- if(prob(4))
- M.reagents.add_reagent("cholesterol", rand(1,3))
- ..()
-
-/datum/reagent/meatslurry/reaction_turf(turf/T, volume)
- if(volume >= 5 && prob(10) && !istype(T, /turf/space))
- new /obj/effect/decal/cleanable/blood/gibs/cleangibs(T)
- playsound(T, 'sound/effects/splat.ogg', 50, 1, -3)
-
-/datum/reagent/mashedpotatoes
- name = "Mashed potatoes"
- id = "mashedpotatoes"
- description = "A starchy food paste made from boiled potatoes."
- reagent_state = SOLID
- color = "#D6D9C1"
-
-/datum/reagent/gravy
- name = "Gravy"
- id = "gravy"
- description = "A savory sauce made from a simple meat-dripping roux and milk."
- reagent_state = LIQUID
- color = "#B4641B"
-
-/datum/reagent/beff
- name = "Beff"
- id = "beff"
- description = "An advanced blend of mechanically-recovered meat and textured synthesized protein product notable for its unusual crystalline grain when sliced."
- reagent_state = SOLID
- color = "#AC7E67"
-
-/datum/reagent/beff/on_mob_life(mob/living/M)
- if(prob(5))
- M.reagents.add_reagent("cholesterol", rand(1,3))
- if(prob(8))
- M.reagents.add_reagent(pick("blood", "corn_syrup", "synthflesh", "hydrogenated_soybeanoil", "porktonium", "toxic_slurry"), 0.8)
- else if(prob(6))
- to_chat(M, "[pick("You feel ill.","Your stomach churns.","You feel queasy.","You feel sick.")]")
- M.emote(pick("groan","moan"))
- ..()
-
-/datum/reagent/pepperoni
- name = "Pepperoni"
- id = "pepperoni"
- description = "An Italian-American variety of salami usually made from beef and pork"
- reagent_state = SOLID
- color = "#AC7E67"
-
-/datum/reagent/pepperoni/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH)
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
-
- if(H.wear_mask)
- to_chat(H, "The pepperoni bounces off your mask!")
- return
-
- if(H.head)
- to_chat(H, "Your mask protects you from the errant pepperoni!")
- return
-
- if(prob(50))
- M.adjustBruteLoss(1)
- playsound(M, 'sound/effects/woodhit.ogg', 50, 1)
- to_chat(M, "A slice of pepperoni slaps you!")
- else
- M.emote("burp")
- to_chat(M, "My goodness, that was tasty!")
-
-/datum/reagent/cholesterol
- name = "cholesterol"
- id = "cholesterol"
- description = "Pure cholesterol. Probably not very good for you."
- reagent_state = LIQUID
- color = "#FFFAC8"
-
-/datum/reagent/cholesterol/on_mob_life(mob/living/M)
- if(volume >= 25 && prob(volume*0.15))
- to_chat(M, "Your chest feels [pick("weird","uncomfortable","nasty","gross","odd","unusual","warm")]!")
- M.adjustToxLoss(rand(1,2))
- else if(volume >= 45 && prob(volume*0.08))
- to_chat(M, "Your chest [pick("hurts","stings","aches","burns")]!")
- M.adjustToxLoss(rand(2,4))
- M.Stun(1)
- else if(volume >= 150 && prob(volume*0.01))
- to_chat(M, "Your chest is burning with pain!")
- M.Stun(1)
- M.Weaken(1)
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
- if(!H.heart_attack)
- H.heart_attack = 1
- ..()
\ No newline at end of file
+ playsound(T, 'sound/effects/splat.ogg', 50, 1, -3)
\ No newline at end of file
diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm
index 96ddcb5be3b..2f4df5ee4aa 100644
--- a/code/modules/reagents/chemistry/reagents/medicine.dm
+++ b/code/modules/reagents/chemistry/reagents/medicine.dm
@@ -691,7 +691,7 @@
/datum/reagent/medicine/antihol/on_mob_life(mob/living/M)
M.SetSlur(0)
M.AdjustDrunk(-4)
- M.reagents.remove_all_type(/datum/reagent/ethanol, 8, 0, 1)
+ M.reagents.remove_all_type(/datum/reagent/consumable/ethanol, 8, 0, 1)
if(M.toxloss <= 25)
M.adjustToxLoss(-2.0)
..()
diff --git a/code/modules/reagents/chemistry/reagents/misc.dm b/code/modules/reagents/chemistry/reagents/misc.dm
index 9837e2e27dc..aa8e7b93f6d 100644
--- a/code/modules/reagents/chemistry/reagents/misc.dm
+++ b/code/modules/reagents/chemistry/reagents/misc.dm
@@ -416,6 +416,40 @@
M.say(pick("Bzzz...","BZZ BZZ","Bzzzzzzzzzzz..."))
..()
+/datum/reagent/toxin/coffeepowder
+ name = "Coffee Grounds"
+ id = "coffeepowder"
+ description = "Finely ground Coffee beans, used to make coffee."
+ reagent_state = SOLID
+ color = "#5B2E0D" // rgb: 91, 46, 13
+
+/datum/reagent/toxin/teapowder
+ name = "Ground Tea Leaves"
+ id = "teapowder"
+ description = "Finely shredded Tea leaves, used for making tea."
+ reagent_state = SOLID
+ color = "#7F8400" // rgb: 127, 132, 0
+
+//Reagents used for plant fertilizers.
+/datum/reagent/toxin/fertilizer
+ name = "fertilizer"
+ id = "fertilizer"
+ description = "A chemical mix good for growing plants with."
+ reagent_state = LIQUID
+ color = "#664330" // rgb: 102, 67, 48
+
+/datum/reagent/toxin/fertilizer/eznutrient
+ name = "EZ Nutrient"
+ id = "eznutrient"
+
+/datum/reagent/toxin/fertilizer/left4zed
+ name = "Left-4-Zed"
+ id = "left4zed"
+
+/datum/reagent/toxin/fertilizer/robustharvest
+ name = "Robust Harvest"
+ id = "robustharvest"
+
///Alchemical Reagents
/datum/reagent/eyenewt
diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm
index abffbcde16e..5870e4fad00 100644
--- a/code/modules/reagents/chemistry/reagents/toxins.dm
+++ b/code/modules/reagents/chemistry/reagents/toxins.dm
@@ -332,73 +332,6 @@
..()
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
-/datum/reagent/condensedcapsaicin
- name = "Condensed Capsaicin"
- id = "condensedcapsaicin"
- description = "This shit goes in pepperspray."
- reagent_state = LIQUID
- color = "#B31008" // rgb: 179, 16, 8
-
-/datum/reagent/condensedcapsaicin/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH)
- if(ishuman(M))
- var/mob/living/carbon/human/victim = M
- var/mouth_covered = 0
- var/eyes_covered = 0
- var/obj/item/safe_thing = null
- if( victim.wear_mask )
- if( victim.wear_mask.flags & MASKCOVERSEYES )
- eyes_covered = 1
- safe_thing = victim.wear_mask
- if( victim.wear_mask.flags & MASKCOVERSMOUTH )
- mouth_covered = 1
- safe_thing = victim.wear_mask
- if( victim.head )
- if( victim.head.flags & MASKCOVERSEYES )
- eyes_covered = 1
- safe_thing = victim.head
- if( victim.head.flags & MASKCOVERSMOUTH )
- 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 )
- to_chat(victim, "Your [safe_thing] protects you from the pepperspray!")
- return
- else if( mouth_covered ) // Reduced effects if partially protected
- to_chat(victim, "Your [safe_thing] protect you from most of the pepperspray!")
- if(prob(5))
- victim.emote("scream")
- victim.EyeBlurry(3)
- victim.EyeBlind(1)
- victim.Confused(3)
- victim.damageoverlaytemp = 60
- victim.Weaken(3)
- victim.drop_item()
- return
- else if( eyes_covered ) // Eye cover is better than mouth cover
- to_chat(victim, "Your [safe_thing] protects your eyes from the pepperspray!")
- victim.EyeBlurry(3)
- victim.damageoverlaytemp = 30
- return
- else // Oh dear :D
- if(prob(5))
- victim.emote("scream")
- to_chat(victim, "You're sprayed directly in the eyes with pepperspray!")
- victim.EyeBlurry(5)
- victim.EyeBlind(2)
- victim.Confused(6)
- victim.damageoverlaytemp = 75
- victim.Weaken(5)
- victim.drop_item()
-
-/datum/reagent/condensedcapsaicin/on_mob_life(mob/living/M)
- if(prob(5))
- M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]")
- ..()
-
/datum/reagent/polonium
name = "Polonium"
id = "polonium"
diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm
index 18f0e51b2e2..5dd4d570ee2 100644
--- a/code/modules/surgery/organs/organ_internal.dm
+++ b/code/modules/surgery/organs/organ_internal.dm
@@ -327,7 +327,7 @@
// Coffee is really bad for you with busted kidneys.
// This should probably be expanded in some way, but fucked if I know
// what else kidneys can process in our reagent list.
- var/datum/reagent/coffee = locate(/datum/reagent/drink/coffee) in owner.reagents.reagent_list
+ var/datum/reagent/coffee = locate(/datum/reagent/consumable/drink/coffee) in owner.reagents.reagent_list
if(coffee)
if(is_bruised())
owner.adjustToxLoss(0.1 * PROCESS_ACCURACY)
@@ -416,7 +416,7 @@
if(src.damage >= src.min_bruised_damage)
for(var/datum/reagent/R in owner.reagents.reagent_list)
// Ethanol and all drinks are bad
- if(istype(R, /datum/reagent/ethanol))
+ if(istype(R, /datum/reagent/consumable/ethanol))
owner.adjustToxLoss(0.1 * PROCESS_ACCURACY)
// Can't cope with toxins at all