diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index 28e4e8f5ea..fc8e7dda2f 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -489,4 +489,7 @@ GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_S
#define AREASELECT_CORNERA "corner A"
#define AREASELECT_CORNERB "corner B"
-#define PREF_SAVELOAD_COOLDOWN 5
\ No newline at end of file
+#define PREF_SAVELOAD_COOLDOWN 5
+
+#define VOMIT_TOXIC 1
+#define VOMIT_PURPLE 2
\ No newline at end of file
diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm
index 3417b06c61..7f9e0c6ca5 100644
--- a/code/_globalvars/lists/maintenance_loot.dm
+++ b/code/_globalvars/lists/maintenance_loot.dm
@@ -108,6 +108,7 @@ GLOBAL_LIST_INIT(maintenance_loot, list(
/obj/item/storage/toolbox/artistic = 2,
/obj/item/toy/eightball = 1,
/obj/item/reagent_containers/pill/floorpill = 1,
+ /obj/item/reagent_containers/food/snacks/cannedpeaches/maint = 1,
/obj/item/storage/daki = 3, //VERY IMPORTANT CIT CHANGE - adds bodypillows to maint
/obj/item/storage/pill_bottle/penis_enlargement = 2,
/obj/item/clothing/shoes/wheelys = 1,
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 032c5b6511..7110ff4405 100755
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -452,16 +452,16 @@
/turf/AllowDrop()
return TRUE
-/turf/proc/add_vomit_floor(mob/living/carbon/M, toxvomit = 0)
+/turf/proc/add_vomit_floor(mob/living/carbon/M, toxvomit = NONE)
var/obj/effect/decal/cleanable/vomit/V = new /obj/effect/decal/cleanable/vomit(src, M.get_static_viruses())
// If the vomit combined, apply toxicity and reagents to the old vomit
if (QDELETED(V))
V = locate() in src
- // Make toxins vomit look different
- if(toxvomit)
+ // Make toxins and blazaam vomit look different
+ if(toxvomit == VOMIT_PURPLE)
+ V.icon_state = "vomitpurp_[pick(1,4)]"
+ else if(toxvomit == VOMIT_TOXIC)
V.icon_state = "vomittox_[pick(1,4)]"
- if(M.reagents)
- clear_reagents_to_vomit_pool(M,V)
/proc/clear_reagents_to_vomit_pool(mob/living/carbon/M, obj/effect/decal/cleanable/vomit/V)
M.reagents.trans_to(V, M.reagents.total_volume / 10)
diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm
index 64edd69e17..7b1d8be85e 100644
--- a/code/modules/food_and_drinks/drinks/drinks.dm
+++ b/code/modules/food_and_drinks/drinks/drinks.dm
@@ -515,6 +515,13 @@
list_reagents = list("shamblers" = 30)
foodtype = SUGAR | JUNKFOOD
+/obj/item/reagent_containers/food/drinks/soda_cans/grey_bull
+ name = "Grey Bull"
+ desc = "Grey Bull, it gives you gloves!"
+ icon_state = "energy_drink"
+ list_reagents = list("grey_bull" = 20)
+ foodtype = SUGAR | JUNKFOOD
+
/obj/item/reagent_containers/food/drinks/soda_cans/air
name = "canned air"
desc = "There is no air shortage. Do not drink."
diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
index dab933ca4e..a2a1c6d03f 100644
--- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
@@ -330,6 +330,33 @@
icon_state = "fernetbottle"
list_reagents = list("fernet" = 100)
+/obj/item/reagent_containers/food/drinks/bottle/applejack
+ name = "Buckin' Bronco's Applejack"
+ desc = "Kicks like a horse, tastes like an apple!"
+ icon_state = "applejack_bottle"
+ list_reagents = list("applejack" = 100)
+ foodtype = FRUIT
+
+/obj/item/reagent_containers/food/drinks/bottle/champagne
+ name = "Eau d' Dandy Brut Champagne"
+ desc = "Finely sourced from only the most pretentious French vineyards."
+ icon_state = "champagne_bottle"
+ list_reagents = list("champagne" = 100)
+
+/obj/item/reagent_containers/food/drinks/bottle/blazaam
+ name = "Ginbad's Blazaam"
+ desc = "You feel like you should give the bottle a good rub before opening."
+ icon_state = "blazaambottle"
+ list_reagents = list("blazaam" = 100)
+
+/obj/item/reagent_containers/food/drinks/bottle/trappist
+ name = "Mont de Requin Trappistes Bleu"
+ desc = "Brewed in space-Belgium. Fancy!"
+ icon_state = "trappistbottle"
+ volume = 50
+ list_reagents = list("trappist" = 50)
+
+
//////////////////////////JUICES AND STUFF ///////////////////////
/obj/item/reagent_containers/food/drinks/bottle/orangejuice
diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm
index 9d173a34a5..1e5c2eaf60 100644
--- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm
@@ -23,6 +23,7 @@
icon_state = R.glass_icon_state
else
var/mutable_appearance/reagent_overlay = mutable_appearance(icon, "glassoverlay")
+ icon_state = "glass_empty"
reagent_overlay.color = mix_color_from_reagents(reagents.reagent_list)
add_overlay(reagent_overlay)
else
diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm
index 0aef697883..085cf61769 100644
--- a/code/modules/food_and_drinks/food/condiment.dm
+++ b/code/modules/food_and_drinks/food/condiment.dm
@@ -236,7 +236,7 @@
volume = 10
amount_per_transfer_from_this = 10
possible_transfer_amounts = list()
- possible_states = list("ketchup" = list("condi_ketchup", "Ketchup", "You feel more American already."), "capsaicin" = list("condi_hotsauce", "Hotsauce", "You can almost TASTE the stomach ulcers now!"), "soysauce" = list("condi_soysauce", "Soy Sauce", "A salty soy-based flavoring"), "frostoil" = list("condi_frostoil", "Coldsauce", "Leaves the tongue numb in it's passage"), "sodiumchloride" = list("condi_salt", "Salt Shaker", "Salt. From space oceans, presumably"), "blackpepper" = list("condi_pepper", "Pepper Mill", "Often used to flavor food or make people sneeze"), "cornoil" = list("condi_cornoil", "Corn Oil", "A delicious oil used in cooking. Made from corn"), "sugar" = list("condi_sugar", "Sugar", "Tasty spacey sugar!"))
+ possible_states = list("ketchup" = list("condi_ketchup", "Ketchup", "You feel more American already."), "capsaicin" = list("condi_hotsauce", "Hotsauce", "You can almost TASTE the stomach ulcers now!"), "soysauce" = list("condi_soysauce", "Soy Sauce", "A salty soy-based flavoring"), "frostoil" = list("condi_frostoil", "Coldsauce", "Leaves the tongue numb in it's passage"), "sodiumchloride" = list("condi_salt", "Salt Shaker", "Salt. From space oceans, presumably"), "blackpepper" = list("condi_pepper", "Pepper Mill", "Often used to flavor food or make people sneeze"), "cornoil" = list("condi_cornoil", "Corn Oil", "A delicious oil used in cooking. Made from corn"), "sugar" = list("condi_sugar", "Sugar", "Tasty spacey sugar!"), "astrotame" = list("condi_astrotame", "Astrotame", "The sweetness of a thousand sugars but none of the calories."))
/obj/item/reagent_containers/food/condiment/pack/attack(mob/M, mob/user, def_zone) //Can't feed these to people directly.
return
@@ -286,3 +286,8 @@
name = "hotsauce pack"
originalname = "hotsauce"
list_reagents = list("capsaicin" = 10)
+
+/obj/item/reagent_containers/food/condiment/pack/astrotame
+ name = "astrotame pack"
+ originalname = "astrotame"
+ list_reagents = list("astrotame" = 5)
diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm
index c1abec86c1..e36efe750b 100644
--- a/code/modules/food_and_drinks/food/snacks_other.dm
+++ b/code/modules/food_and_drinks/food/snacks_other.dm
@@ -558,3 +558,19 @@
list_reagents = list("nutriment" = 6, "sodiumchloride" = 2)
tastes = list("rice" = 3, "salt" = 1)
foodtype = GRAIN
+
+/obj/item/reagent_containers/food/snacks/cannedpeaches
+ name = "Canned Peaches"
+ desc = "Just a nice can of ripe peaches swimming in their own juices."
+ icon_state = "peachcan"
+ list_reagents = list("peachjuice" = 20, "sugar" = 8, "nutriment" = 2)
+ filling_color = "#ffdf26"
+ w_class = WEIGHT_CLASS_NORMAL
+ tastes = list("peaches" = 7, "tin" = 1)
+ foodtype = FRUIT | SUGAR
+
+/obj/item/reagent_containers/food/snacks/cannedpeaches/maint
+ name = "Maintenance Peaches"
+ desc = "I have a mouth and I must eat."
+ icon_state = "peachcanmaint"
+ tastes = list("peaches" = 1, "tin" = 7)
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm
index e93c25a386..7c44857b1d 100644
--- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm
+++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm
@@ -532,11 +532,18 @@
required_reagents = list("hooch" = 1, "absinthe" = 1, "manlydorf" = 1, "syndicatebomb" = 1)
mix_message = "The mixture turns to a sickening froth."
+/datum/chemical_reaction/lemonade
+ name = "Lemonade"
+ id = "lemonade"
+ results = list("lemonade" = 5)
+ required_reagents = list("lemonjuice" = 2, "water" = 2, "sugar" = 1, "ice" = 1)
+ mix_message = "You're suddenly reminded of home."
+
/datum/chemical_reaction/arnold_palmer
name = "Arnold Palmer"
id = "arnold_palmer"
results = list("arnold_palmer" = 2)
- required_reagents = list("tea" = 1, "lemonjuice" = 1)
+ required_reagents = list("tea" = 1, "lemonade" = 1)
mix_message = "The smells of fresh green grass and sand traps waft through the air as the mixture turns a friendly yellow-orange."
/datum/chemical_reaction/chocolate_milk
@@ -704,3 +711,87 @@
id = "pinktea"
results = list("pinktea" = 5)
required_reagents = list("aphro" = 1, "arnold_palmer" = 1, "sugar" = 1)
+
+/datum/chemical_reaction/blank_paper
+ name = "Blank Paper"
+ id = "blank_paper"
+ results = list("blank_paper" = 3)
+ required_reagents = list("silencer" = 1, "nothing" = 1, "nuka_cola" = 1)
+
+/datum/chemical_reaction/wizz_fizz
+ name = "Wizz Fizz"
+ id = "wizz_fizz"
+ results = list("wizz_fizz" = 3)
+ required_reagents = list("triple_sec" = 1, "sodawater" = 1, "champagne" = 1)
+ mix_message = "The beverage starts to froth with an almost mystical zeal!"
+ mix_sound = 'sound/effects/bubbles2.ogg'
+
+/datum/chemical_reaction/bug_spray
+ name = "Bug Spray"
+ id = "bug_spray"
+ results = list("bug_spray" = 5)
+ required_reagents = list("triple_sec" = 2, "lemon_lime" = 1, "rum" = 2, "vodka" = 1)
+ mix_message = "The faint aroma of summer camping trips wafts through the air; but what's that buzzing noise?"
+ mix_sound = 'sound/creatures/bee.ogg'
+
+/datum/chemical_reaction/jack_rose
+ name = "Jack Rose"
+ id = "jack_rose"
+ results = list("jack_rose" = 4)
+ required_reagents = list("grenadine" = 1, "applejack" = 2, "limejuice" = 1)
+ mix_message = "As the grenadine incorporates, the beverage takes on a mellow, red-orange glow."
+
+/datum/chemical_reaction/turbo
+ name = "Turbo"
+ id = "turbo"
+ results = list("turbo" = 5)
+ required_reagents = list("moonshine" = 2, "nitrous_oxide" = 1, "sugar_rush" = 1, "pwr_game" = 1)
+
+/datum/chemical_reaction/old_timer
+ name = "Old Timer"
+ id = "old_timer"
+ results = list("old_timer" = 6)
+ required_reagents = list("whiskeysoda" = 3, "parsnipjuice" = 2, "alexander" = 1)
+
+/datum/chemical_reaction/rubberneck
+ name = "Rubberneck"
+ id = "rubberneck"
+ results = list("rubberneck" = 10)
+ required_reagents = list("ethanol" = 4, "grey_bull" = 5, "astrotame" = 1)
+
+/datum/chemical_reaction/duplex
+ name = "Duplex"
+ id = "duplex"
+ results = list("duplex" = 4)
+ required_reagents = list("hcider" = 2, "applejuice" = 1, "berryjuice" = 1)
+
+/datum/chemical_reaction/trappist
+ name = "Trappist"
+ id = "trappist"
+ results = list("trappist" = 5)
+ required_reagents = list("ale" = 2, "holywater" = 2, "sugar" = 1)
+
+/datum/chemical_reaction/cream_soda
+ name = "Cream Soda"
+ id = "cream_soda"
+ results = list("cream_soda" = 4)
+ required_reagents = list("sugar" = 2, "sodawater" = 2, "vanilla" = 1)
+
+/datum/chemical_reaction/blazaam
+ name = "Blazaam"
+ id = "blazaam"
+ results = list("blazaam" = 3)
+ required_reagents = list("gin" = 2, "peachjuice" = 1, "bluespace" = 1)
+
+/datum/chemical_reaction/planet_cracker
+ name = "Planet Cracker"
+ id = "planet_cracker"
+ results = list("planet_cracker" = 4)
+ required_reagents = list("champagne" = 2, "lizardwine" = 2, "eggyolk" = 1, "gold" = 1)
+ mix_message = "The liquid's color starts shifting as the nanogold is alternately corroded and redeposited."
+
+/datum/chemical_reaction/red_queen
+ name = "Red Queen"
+ id = "red_queen"
+ results = list("red_queen" = 10)
+ required_reagents = list("tea" = 6, "mercury" = 2, "blackpepper" = 1, "growthserum" = 1)
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/root.dm b/code/modules/hydroponics/grown/root.dm
index be0a209c9f..090809ca88 100644
--- a/code/modules/hydroponics/grown/root.dm
+++ b/code/modules/hydroponics/grown/root.dm
@@ -54,6 +54,7 @@
icon_state = "parsnip"
bitesize_mod = 2
foodtype = VEGETABLES
+ juice_results = list("parsnipjuice" = 0)
wine_power = 35
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 51ee5b372b..92a993958a 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -496,9 +496,12 @@
add_splatter_floor(T)
if(stun)
adjustBruteLoss(3)
+ else if(src.reagents.has_reagent("blazaam"))
+ if(T)
+ T.add_vomit_floor(src, VOMIT_PURPLE)
else
if(T)
- T.add_vomit_floor(src, toxic)//toxic barf looks different
+ T.add_vomit_floor(src, VOMIT_TOXIC)//toxic barf looks different
T = get_step(T, dir)
if (is_blocked_turf(T))
break
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index d1ec7f3e4b..de976da40f 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -22,7 +22,7 @@
var/lip_style = null //no lipstick by default- arguably misleading, as it could be used for general makeup
var/lip_color = "white"
- var/age = 30 //Player's age (pure fluff)
+ var/age = 30 //Player's age
var/underwear = "Nude" //Which underwear the player wants
var/undershirt = "Nude" //Which undershirt the player wants
diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
index 8b18eb7805..fa9d60a219 100644
--- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
@@ -549,7 +549,8 @@
"creme_de_menthe",
"creme_de_cacao",
"triple_sec",
- "sake"
+ "sake",
+ "applejack"
)
upgrade_reagents = list(
"ethanol",
diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
index ebe0e0102d..211fddca26 100644
--- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
@@ -333,7 +333,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
id = "grappa"
description = "A fine Italian brandy, for when regular wine just isn't alcoholic enough for you."
color = "#F8EBF1"
- boozepwr = 45
+ boozepwr = 60
taste_description = "classy bitter sweetness"
glass_icon_state = "grappa"
glass_name = "glass of grappa"
@@ -379,6 +379,11 @@ All effects don't start immediately, but rather get worse over time; the rate is
glass_name = "Hooch"
glass_desc = "You've really hit rock bottom now... your liver packed its bags and left last night."
+/datum/reagent/consumable/ethanol/hooch/on_mob_life(mob/living/carbon/M)
+ if(M.mind && M.mind.assigned_role == "Assistant")
+ M.heal_bodypart_damage(1,1)
+ . = TRUE
+ return ..() || .
/datum/reagent/consumable/ethanol/ale
name = "Ale"
@@ -674,7 +679,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
id = "irishcream"
description = "Whiskey-imbued cream, what else would you expect from the Irish?"
color = "#664300" // rgb: 102, 67, 0
- boozepwr = 70
+ boozepwr = 50
quality = DRINK_NICE
taste_description = "creamy alcohol"
glass_icon_state = "irishcreamglass"
@@ -970,7 +975,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
id = "red_mead"
description = "The true Viking drink! Even though it has a strange red color."
color = "#C73C00" // rgb: 199, 60, 0
- boozepwr = 51 //Red drinks are stronger
+ boozepwr = 31 //Red drinks are stronger
quality = DRINK_GOOD
taste_description = "sweet and salty alcohol"
glass_icon_state = "red_meadglass"
@@ -983,7 +988,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A Viking drink, though a cheap one."
color = "#664300" // rgb: 102, 67, 0
nutriment_factor = 1 * REAGENTS_METABOLISM
- boozepwr = 50
+ boozepwr = 30
quality = DRINK_NICE
taste_description = "sweet, sweet alcohol"
glass_icon_state = "meadglass"
@@ -1866,6 +1871,230 @@ All effects don't start immediately, but rather get worse over time; the rate is
. = TRUE
..()
+/datum/reagent/consumable/ethanol/blank_paper
+ name = "Blank Paper"
+ id = "blank_paper"
+ description = "A bubbling glass of blank paper. Just looking at it makes you feel fresh."
+ nutriment_factor = 1 * REAGENTS_METABOLISM
+ color = "#DCDCDC" // rgb: 220, 220, 220
+ boozepwr = 20
+ quality = DRINK_GOOD
+ taste_description = "bubbling possibility"
+ glass_icon_state = "blank_paper"
+ glass_name = "glass of blank paper"
+ glass_desc = "A fizzy cocktail for those looking to start fresh."
+
+/datum/reagent/consumable/ethanol/blank_paper/on_mob_life(mob/living/carbon/M)
+ if(ishuman(M) && M.job == "Mime")
+ M.heal_bodypart_damage(1,1)
+ . = 1
+ return ..()
+
+/datum/reagent/consumable/ethanol/champagne //How the hell did we not have champagne already!?
+ name = "Champagne"
+ id = "champagne"
+ description = "A sparkling wine known for its ability to strike fast and hard."
+ color = "#ffffc1"
+ boozepwr = 40
+ taste_description = "auspicious occasions and bad decisions"
+ glass_icon_state = "champagne_glass"
+ glass_name = "Champagne"
+ glass_desc = "The flute clearly displays the slowly rising bubbles."
+
+/datum/reagent/consumable/ethanol/wizz_fizz
+ name = "Wizz Fizz"
+ id = "wizz_fizz"
+ description = "A magical potion, fizzy and wild! However the taste, you will find, is quite mild."
+ color = "#4235d0" //Just pretend that the triple-sec was blue curacao.
+ boozepwr = 50
+ quality = DRINK_GOOD
+ taste_description = "friendship! It is magic, after all"
+ glass_icon_state = "wizz_fizz"
+ glass_name = "Wizz Fizz"
+ glass_desc = "The glass bubbles and froths with an almost magical intensity."
+
+/datum/reagent/consumable/ethanol/wizz_fizz/on_mob_life(mob/living/carbon/M)
+ //A healing drink similar to Quadruple Sec, Ling Stings, and Screwdrivers for the Wizznerds; the check is consistent with the changeling sting
+ if(M?.mind?.has_antag_datum(/datum/antagonist/wizard))
+ M.heal_bodypart_damage(1,1,1)
+ M.adjustOxyLoss(-1,0)
+ M.adjustToxLoss(-1,0)
+ return ..()
+
+/datum/reagent/consumable/ethanol/bug_spray
+ name = "Bug Spray"
+ id = "bug_spray"
+ description = "A harsh, acrid, bitter drink, for those who need something to brace themselves."
+ color = "#33ff33"
+ boozepwr = 50
+ quality = DRINK_GOOD
+ taste_description = "the pain of ten thousand slain mosquitos"
+ glass_icon_state = "bug_spray"
+ glass_name = "Bug Spray"
+ glass_desc = "Your eyes begin to water as the sting of alcohol reaches them."
+
+/datum/reagent/consumable/ethanol/bug_spray/on_mob_life(mob/living/carbon/M)
+//Bugs should not drink Bug spray.
+ if(ismoth(M) || isflyperson(M))
+ M.adjustToxLoss(1,0)
+ return ..()
+
+/datum/reagent/consumable/ethanol/bug_spray/on_mob_add(mob/living/carbon/M)
+ if(ismoth(M) || isflyperson(M))
+ M.emote("scream")
+ return ..()
+
+/datum/reagent/consumable/ethanol/applejack
+ name = "Applejack"
+ id = "applejack"
+ description = "The perfect beverage for when you feel the need to horse around."
+ color = "#ff6633"
+ boozepwr = 20
+ taste_description = "an honest day's work at the orchard"
+ glass_icon_state = "applejack_glass"
+ glass_name = "Applejack"
+ glass_desc = "You feel like you could drink this all neight."
+
+/datum/reagent/consumable/ethanol/jack_rose
+ name = "Jack Rose"
+ id = "jack_rose"
+ description = "A light cocktail perfect for sipping with a slice of pie."
+ color = "#ff6633"
+ boozepwr = 15
+ quality = DRINK_NICE
+ taste_description = "a sweet and sour slice of apple"
+ glass_icon_state = "jack_rose"
+ glass_name = "Jack Rose"
+ glass_desc = "Enough of these, and you really will start to suppose your toeses are roses."
+
+/datum/reagent/consumable/ethanol/turbo
+ name = "Turbo"
+ id = "turbo"
+ description = "A turbulent cocktail associated with outlaw hoverbike racing. Not for the faint of heart."
+ color = "#e94c3a"
+ boozepwr = 85
+ quality = DRINK_VERYGOOD
+ taste_description = "the outlaw spirit"
+ glass_icon_state = "turbo"
+ glass_name = "Turbo"
+ glass_desc = "A turbulent cocktail for outlaw hoverbikers."
+
+/datum/reagent/consumable/ethanol/turbo/on_mob_life(mob/living/carbon/M)
+ if(prob(4))
+ to_chat(M, "[pick("You feel disregard for the rule of law.", "You feel pumped!", "Your head is pounding.", "Your thoughts are racing..")]")
+ M.adjustStaminaLoss(-M.drunkenness * 0.25)
+ return ..()
+
+/datum/reagent/consumable/ethanol/old_timer
+ name = "Old Timer"
+ id = "old_timer"
+ description = "An archaic potation enjoyed by old coots of all ages."
+ color = "#996835"
+ boozepwr = 35
+ quality = DRINK_NICE
+ taste_description = "simpler times"
+ glass_icon_state = "old_timer"
+ glass_name = "Old Timer"
+ glass_desc = "WARNING! May cause premature aging!"
+
+/datum/reagent/consumable/ethanol/old_timer/on_mob_life(mob/living/carbon/M)
+ if(prob(20))
+ if(ishuman(M))
+ var/mob/living/carbon/human/N = M
+ N.age += 1
+ if(N.age > 70)
+ N.facial_hair_color = "ccc"
+ N.hair_color = "ccc"
+ N.update_hair()
+ if(N.age > 100)
+ N.become_nearsighted(id)
+ if(N.gender == MALE)
+ N.facial_hair_style = "Beard (Very Long)"
+ N.update_hair()
+
+ if(N.age > 969) //Best not let people get older than this or i might incur G-ds wrath
+ M.visible_message("[M] becomes older than any man should be.. and crumbles into dust!")
+ M.dust(0,1,0)
+
+ return ..()
+
+/datum/reagent/consumable/ethanol/rubberneck
+ name = "Rubberneck"
+ id = "rubberneck"
+ description = "A quality rubberneck should not contain any gross natural ingredients."
+ color = "#ffe65b"
+ boozepwr = 60
+ quality = DRINK_GOOD
+ taste_description = "artifical fruityness"
+ glass_icon_state = "rubberneck"
+ glass_name = "Rubberneck"
+ glass_desc = "A popular drink amongst those adhering to an all synthetic diet."
+
+/datum/reagent/consumable/ethanol/duplex
+ name = "Duplex"
+ id = "duplex"
+ description = "An inseparable combination of two fruity drinks."
+ color = "#50e5cf"
+ boozepwr = 25
+ quality = DRINK_NICE
+ taste_description = "green apples and blue raspberries"
+ glass_icon_state = "duplex"
+ glass_name = "Duplex"
+ glass_desc = "To imbibe one component separately from the other is consider a great faux pas."
+
+/datum/reagent/consumable/ethanol/trappist
+ name = "Trappist Beer"
+ id = "trappist"
+ description = "A strong dark ale brewed by space-monks."
+ color = "#390c00"
+ boozepwr = 40
+ quality = DRINK_VERYGOOD
+ taste_description = "dried plums and malt"
+ glass_icon_state = "trappistglass"
+ glass_name = "Trappist Beer"
+ glass_desc = "boozy Catholicism in a glass."
+
+/datum/reagent/consumable/ethanol/trappist/on_mob_life(mob/living/carbon/M)
+ if(M.mind.isholy)
+ M.adjustFireLoss(-2.5, 0)
+ M.jitteriness = max(0, M.jitteriness-1)
+ M.stuttering = max(0, M.stuttering-1)
+ return ..()
+
+/datum/reagent/consumable/ethanol/blazaam
+ name = "Blazaam"
+ id = "blazaam"
+ description = "A strange drink that few people seem to remember existing. Doubles as a Berenstain remover."
+ boozepwr = 70
+ quality = DRINK_FANTASTIC
+ taste_description = "alternate realities"
+ glass_icon_state = "blazaamglass"
+ glass_name = "Blazaam"
+ glass_desc = "The glass seems to be sliding between realities. Doubles as a Berenstain remover."
+ var/stored_teleports = 0
+
+/datum/reagent/consumable/ethanol/blazaam/on_mob_life(mob/living/carbon/M)
+ if(M.drunkenness > 40)
+ if(stored_teleports)
+ do_teleport(M, get_turf(M), rand(1,3))
+ stored_teleports--
+ if(prob(10))
+ stored_teleports += rand(2,6)
+ if(prob(70))
+ M.vomit()
+ return ..()
+
+/datum/reagent/consumable/ethanol/planet_cracker
+ name = "Planet Cracker"
+ id = "planet_cracker"
+ description = "This jubilant drink celebrates humanity's triumph over the alien menace. May be offensive to non-human crewmembers."
+ boozepwr = 50
+ quality = DRINK_FANTASTIC
+ taste_description = "triumph with a hint of bitterness"
+ glass_icon_state = "planet_cracker"
+ glass_name = "Planet Cracker"
+ glass_desc = "Although historians believe the drink was originally created to commemorate the end of an important conflict in man's past, its origins have largely been forgotten and it is today seen more as a general symbol of human supremacy."
+
/datum/reagent/consumable/ethanol/fruit_wine
name = "Fruit Wine"
id = "fruit_wine"
diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm
index d2ca7d0c87..4e40233713 100644
--- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm
@@ -305,6 +305,16 @@
..()
. = 1
+/datum/reagent/consumable/lemonade
+ name = "Lemonade"
+ id = "lemonade"
+ description = "Sweet, tangy lemonade. Good for the soul."
+ quality = DRINK_NICE
+ taste_description = "sunshine and summertime"
+ glass_icon_state = "lemonpitcher"
+ glass_name = "pitcher of lemonade"
+ glass_desc = "This drink leaves you feeling nostalgic for some reason."
+
/datum/reagent/consumable/tea/arnold_palmer
name = "Arnold Palmer"
id = "arnold_palmer"
@@ -498,6 +508,34 @@
/datum/reagent/consumable/shamblers/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
..()
+
+/datum/reagent/consumable/grey_bull
+ name = "Grey Bull"
+ id = "grey_bull"
+ description = "Grey Bull, it gives you gloves!"
+ color = "#EEFF00" // rgb: 238, 255, 0
+ quality = DRINK_VERYGOOD
+ taste_description = "carbonated oil"
+ glass_icon_state = "grey_bull_glass"
+ glass_name = "glass of Grey Bull"
+ glass_desc = "Surprisingly it isnt grey."
+
+/datum/reagent/consumable/grey_bull/on_mob_metabolize(mob/living/L)
+ ..()
+ ADD_TRAIT(L, TRAIT_SHOCKIMMUNE, id)
+
+/datum/reagent/consumable/grey_bull/on_mob_end_metabolize(mob/living/L)
+ REMOVE_TRAIT(L, TRAIT_SHOCKIMMUNE, id)
+ ..()
+
+/datum/reagent/consumable/grey_bull/on_mob_life(mob/living/carbon/M)
+ M.Jitter(20)
+ M.dizziness +=1
+ M.drowsyness = 0
+ M.AdjustSleeping(-40, FALSE)
+ M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
+ ..()
+
/datum/reagent/consumable/sodawater
name = "Soda Water"
id = "sodawater"
@@ -719,6 +757,11 @@
glass_name = "glass of grape juice"
glass_desc = "It's grape (soda)!"
+/datum/reagent/consumable/grape_soda/on_mob_life(mob/living/carbon/M)
+ M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
+ ..()
+
+
/datum/reagent/consumable/milk/chocolate_milk
name = "Chocolate Milk"
id = "chocolate_milk"
@@ -746,6 +789,65 @@
glass_name = "glass of grenadine"
glass_desc = "Delicious flavored syrup."
+/datum/reagent/consumable/parsnipjuice
+ name = "Parsnip Juice"
+ id = "parsnipjuice"
+ description = "Why..."
+ color = "#FFA500"
+ taste_description = "parsnip"
+ glass_name = "glass of parsnip juice"
+
+/datum/reagent/consumable/peachjuice //Intended to be extremely rare due to being the limiting ingredients in the blazaam drink
+ name = "Peach Juice"
+ id = "peachjuice"
+ description = "Just peachy."
+ color = "#E78108"
+ taste_description = "peaches"
+ glass_name = "glass of peach juice"
+
+/datum/reagent/consumable/cream_soda
+ name = "Cream Soda"
+ id = "cream_soda"
+ description = "A classic space-American vanilla flavored soft drink."
+ color = "#dcb137"
+ quality = DRINK_VERYGOOD
+ taste_description = "fizzy vanilla"
+ glass_icon_state = "cream_soda"
+ glass_name = "Cream Soda"
+ glass_desc = "A classic space-American vanilla flavored soft drink."
+
+/datum/reagent/consumable/cream_soda/on_mob_life(mob/living/carbon/M)
+ M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
+ ..()
+
+/datum/reagent/consumable/red_queen
+ name = "Red Queen"
+ id = "red_queen"
+ description = "DRINK ME."
+ color = "#e6ddc3"
+ quality = DRINK_GOOD
+ taste_description = "wonder"
+ glass_icon_state = "red_queen"
+ glass_name = "Red Queen"
+ glass_desc = "DRINK ME."
+ var/current_size = 1
+
+/datum/reagent/consumable/red_queen/on_mob_life(mob/living/carbon/H)
+ if(prob(75))
+ return ..()
+ var/newsize = pick(0.5, 0.75, 1, 1.50, 2)
+ H.resize = newsize/current_size
+ current_size = newsize
+ H.update_transform()
+ if(prob(40))
+ H.emote("sneeze")
+ ..()
+
+/datum/reagent/consumable/red_queen/on_mob_end_metabolize(mob/living/M)
+ M.resize = 1/current_size
+ M.update_transform()
+ ..()
+
/datum/reagent/consumable/pinkmilk
name = "Strawberry Milk"
id = "pinkmilk"
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index cbcd5e39c9..d0c08d9534 100644
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -714,6 +714,24 @@
color = "#eef442" // rgb: 238, 244, 66
taste_description = "mournful honking"
+/datum/reagent/consumable/astrotame
+ name = "Astrotame"
+ id = "astrotame"
+ description = "A space age artifical sweetener."
+ nutriment_factor = 0
+ metabolization_rate = 2 * REAGENTS_METABOLISM
+ reagent_state = SOLID
+ color = "#FFFFFF" // rgb: 255, 255, 255
+ taste_mult = 8
+ taste_description = "sweetness"
+ overdose_threshold = 17
+
+/datum/reagent/consumable/astrotame/overdose_process(mob/living/carbon/M)
+ if(M.disgust < 80)
+ M.adjust_disgust(10)
+ ..()
+ . = TRUE
+
/datum/reagent/consumable/secretsauce
name = "secret sauce"
id = "secret_sauce"
diff --git a/code/modules/vending/boozeomat.dm b/code/modules/vending/boozeomat.dm
index 735967440f..55cd0a196e 100644
--- a/code/modules/vending/boozeomat.dm
+++ b/code/modules/vending/boozeomat.dm
@@ -33,6 +33,9 @@
/obj/item/reagent_containers/food/drinks/beer = 6)
contraband = list(/obj/item/reagent_containers/food/drinks/mug/tea = 12,
/obj/item/reagent_containers/food/drinks/bottle/fernet = 5)
+ premium = list(/obj/item/reagent_containers/glass/bottle/ethanol = 4,
+ /obj/item/reagent_containers/food/drinks/bottle/champagne = 5,
+ /obj/item/reagent_containers/food/drinks/bottle/trappist = 5)
product_slogans = "I hope nobody asks me for a bloody cup o' tea...;Alcohol is humanity's friend. Would you abandon a friend?;Quite delighted to serve you!;Is nobody thirsty on this station?"
product_ads = "Drink up!;Booze is good for you!;Alcohol is humanity's best friend.;Quite delighted to serve you!;Care for a nice, cold beer?;Nothing cures you like booze!;Have a sip!;Have a drink!;Have a beer!;Beer is good for you!;Only the finest alcohol!;Best quality booze since 2053!;Award-winning wine!;Maximum alcohol!;Man loves beer.;A toast for progress!"
req_access = list(ACCESS_BAR)
diff --git a/code/modules/vending/cola.dm b/code/modules/vending/cola.dm
index f61c392ff7..3da3398aad 100644
--- a/code/modules/vending/cola.dm
+++ b/code/modules/vending/cola.dm
@@ -16,7 +16,8 @@
contraband = list(/obj/item/reagent_containers/food/drinks/soda_cans/thirteenloko = 6,
/obj/item/reagent_containers/food/drinks/soda_cans/shamblers = 6)
premium = list(/obj/item/reagent_containers/food/drinks/drinkingglass/filled/nuka_cola = 1,
- /obj/item/reagent_containers/food/drinks/soda_cans/air = 1)
+ /obj/item/reagent_containers/food/drinks/soda_cans/air = 1,
+ /obj/item/reagent_containers/food/drinks/soda_cans/grey_bull = 1)
refill_canister = /obj/item/vending_refill/cola
/obj/item/vending_refill/cola
diff --git a/code/modules/vending/drinnerware.dm b/code/modules/vending/drinnerware.dm
index 33e839c039..749a3b7c2b 100644
--- a/code/modules/vending/drinnerware.dm
+++ b/code/modules/vending/drinnerware.dm
@@ -11,6 +11,7 @@
/obj/item/clothing/suit/apron/chef = 2,
/obj/item/reagent_containers/food/condiment/pack/ketchup = 5,
/obj/item/reagent_containers/food/condiment/pack/hotsauce = 5,
+ /obj/item/reagent_containers/food/condiment/pack/astrotame = 5,
/obj/item/reagent_containers/food/condiment/saltshaker = 5,
/obj/item/reagent_containers/food/condiment/peppermill = 5,
/obj/item/reagent_containers/glass/bowl = 30)
diff --git a/icons/effects/blood.dmi b/icons/effects/blood.dmi
index dce76f58b5..6a1a35f326 100644
Binary files a/icons/effects/blood.dmi and b/icons/effects/blood.dmi differ
diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi
index a32d0234d6..dc3aca6b19 100644
Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ
diff --git a/icons/obj/food/containers.dmi b/icons/obj/food/containers.dmi
index c348fb4f8f..ad3073a140 100644
Binary files a/icons/obj/food/containers.dmi and b/icons/obj/food/containers.dmi differ
diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi
index 9861a2e618..6292f7e21a 100644
Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ