diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index fbc80b869ad..83cf9225bab 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -693,16 +693,27 @@
desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one."
icon_state = "boozeomat" //////////////18 drink entities below, plus the glasses, in case someone wants to edit the number of bottles
icon_deny = "boozeomat-deny"
- products = list(/obj/item/weapon/reagent_containers/food/drinks/bottle/gin = 5,/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey = 5,
- /obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla = 5,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka = 5,
- /obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth = 5,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum = 5,
- /obj/item/weapon/reagent_containers/food/drinks/bottle/wine = 5,/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac = 5,
- /obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua = 5,/obj/item/weapon/reagent_containers/food/drinks/cans/beer = 6,
- /obj/item/weapon/reagent_containers/food/drinks/cans/ale = 6,/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice = 4,
- /obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice = 4,/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice = 4,
- /obj/item/weapon/reagent_containers/food/drinks/bottle/cream = 4,/obj/item/weapon/reagent_containers/food/drinks/cans/tonic = 8,
- /obj/item/weapon/reagent_containers/food/drinks/cans/cola = 8, /obj/item/weapon/reagent_containers/food/drinks/cans/sodawater = 15,
- /obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 30,/obj/item/weapon/reagent_containers/food/drinks/ice = 9)
+ products = list(/obj/item/weapon/reagent_containers/food/drinks/bottle/gin = 5,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey = 5,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla = 5,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/vodka = 5,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth = 5,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/rum = 5,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/wine = 5,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/cognac = 5,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua = 5,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/beer = 6,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/ale = 6,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/synthanol = 15,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice = 4,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice = 4,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice = 4,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/cream = 4,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/tonic = 8,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/cola = 8,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/sodawater = 15,
+ /obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 30,
+ /obj/item/weapon/reagent_containers/food/drinks/ice = 9)
contraband = list(/obj/item/weapon/reagent_containers/food/drinks/tea = 10)
vend_delay = 15
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?"
diff --git a/code/modules/reagents/newchem/drinks.dm b/code/modules/reagents/newchem/drinks.dm
index 637b101f32d..28237207995 100644
--- a/code/modules/reagents/newchem/drinks.dm
+++ b/code/modules/reagents/newchem/drinks.dm
@@ -62,3 +62,91 @@
result = "jackrose"
required_reagents = list("applejack" = 4, "lemonjuice" = 1)
result_amount = 5
+
+
+// ROBOT ALCOHOL PAST THIS POINT
+// WOOO!
+
+
+/datum/reagent/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."
+ reagent_state = LIQUID
+ color = "#1BB1FF"
+ process_flags = SYNTHETIC
+ metabolization_rate = 0.4
+ vomit_start = INFINITY //
+ blur_start = INFINITY //
+ pass_out = INFINITY //INFINITY, so that IPCs don't puke and stuff
+ var/collapse_start = 200 //amount absorbed after wich mob starts collapsing
+ var/braindamage_start = 300 //amount absorbed after which mob starts taking small amount of brain damage
+
+
+/datum/chemical_reaction/synthanol
+ name = "Synthanol"
+ id = "synthanol"
+ result = "synthanol"
+ required_reagents = list("lube" = 1, "plasma" = 1, "fuel" = 1)
+ result_amount = 3
+ mix_message = "The chemicals mix to create shiny, blue substance."
+
+/datum/reagent/ethanol/synthanol/on_mob_life(var/mob/living/M as mob, var/alien)
+
+ var/d = data
+
+ if(d >= collapse_start && prob(10))
+ M.emote("collapse")
+ var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
+ s.set_up(3, 1, M)
+ s.start()
+ if(d >= braindamage_start && prob(33))
+ M.adjustBrainLoss(1)
+ ..()
+
+/datum/reagent/ethanol/synthanol/robottears
+ name = "Robot Tears"
+ id = "robottears"
+ description = "An oily substance that an IPC could technically consider a 'drink'."
+ reagent_state = LIQUID
+ color = "#363636"
+
+/datum/chemical_reaction/synthanol/robottears
+ name = "Robot Tears"
+ id = "robottears"
+ result = "robottears"
+ required_reagents = list("synthanol" = 1, "oil" = 1, "sodawater" = 1)
+ result_amount = 3
+ mix_message = "The ingredients combine into a stiff, dark goo."
+
+/datum/reagent/ethanol/synthanol/trinary
+ name = "Trinary"
+ id = "trinary"
+ description = "A fruit drink meant only for synthetics, however that works."
+ reagent_state = LIQUID
+ color = "#adb21f"
+
+/datum/chemical_reaction/synthanol/trinary
+ name = "Trinary"
+ id = "trinary"
+ result = "trinary"
+ required_reagents = list("synthanol" = 1, "limejuice" = 1, "orangejuice" = 1)
+ result_amount = 3
+ mix_message = "The ingredients mix into a colorful substance."
+
+/datum/reagent/ethanol/synthanol/servo
+ name = "Servo"
+ id = "servo"
+ description = "A drink containing some organic ingredients, but meant only for synthetics."
+ reagent_state = LIQUID
+ color = "#5b3210"
+
+/datum/chemical_reaction/synthanol/servo
+ name = "Servo"
+ id = "servo"
+ result = "servo"
+ required_reagents = list("synthanol" = 2, "cream" = 1, "hot_coco" = 1)
+ result_amount = 4
+ mix_message = "The ingredients mix into a dark brown substance."
+
+// ROBOT ALCOHOL ENDS
diff --git a/code/modules/reagents/reagent_containers/food/cans.dm b/code/modules/reagents/reagent_containers/food/cans.dm
index f22392fe2aa..4a4479c8b1e 100644
--- a/code/modules/reagents/reagent_containers/food/cans.dm
+++ b/code/modules/reagents/reagent_containers/food/cans.dm
@@ -223,4 +223,12 @@
icon_state = "sodawater"
New()
..()
- reagents.add_reagent("sodawater", 50)
\ No newline at end of file
+ reagents.add_reagent("sodawater", 50)
+
+/obj/item/weapon/reagent_containers/food/drinks/cans/synthanol
+ name = "Beep's Classic Synthanol"
+ desc = "A can of IPC booze, however that works."
+ icon_state = "synthanolcan"
+ New()
+ ..()
+ reagents.add_reagent("synthanol", 50)
diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm
index 663158d0757..589ae649256 100644
--- a/code/modules/reagents/reagent_containers/food/drinks.dm
+++ b/code/modules/reagents/reagent_containers/food/drinks.dm
@@ -23,7 +23,7 @@
var/fillevel = gulp_size
if(!R.total_volume || !R)
- user << "\red None of [src] left, oh no!"
+ user << " None of [src] left, oh no!"
return 0
if(M == user)
@@ -31,10 +31,13 @@
if(istype(M,/mob/living/carbon/human))
var/mob/living/carbon/human/H = M
if(!H.check_has_mouth())
- user << "Where do you intend to put \the [src]? You don't have a mouth!"
- return
-
- M << "\blue You swallow a gulp of [src]."
+ if(!H.get_species() == "Machine")
+ user << "Where do you intend to put \the [src]? You don't have a mouth!"
+ return
+ else
+ M << " You pour a bit of liquid from [src] into your connection port."
+ else
+ M << " You swallow a gulp of [src]."
if(reagents.total_volume)
reagents.reaction(M, INGEST)
spawn(0)
@@ -45,15 +48,15 @@
else if( istype(M, /mob/living/carbon/human) )
var/mob/living/carbon/human/H = M
- if(!H.check_has_mouth())
+ if(!H.check_has_mouth() && !H.get_species() == "Machine")
user << "Where do you intend to put \the [src]? \The [H] doesn't have a mouth!"
return
for(var/mob/O in viewers(world.view, user))
- O.show_message("\red [user] attempts to feed [M] [src].", 1)
+ O.show_message(" [user] attempts to feed [M] [src].", 1)
if(!do_mob(user, M)) return
for(var/mob/O in viewers(world.view, user))
- O.show_message("\red [user] feeds [M] [src].", 1)
+ O.show_message(" [user] feeds [M] [src].", 1)
M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [key_name(user)] Reagents: [reagentlist(src)]")
user.attack_log += text("\[[time_stamp()]\] Fed [M.name] by [key_name(M)] Reagents: [reagentlist(src)]")
@@ -95,23 +98,23 @@
if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us.
if(!target.reagents.total_volume)
- user << "\red [target] is empty."
+ user << " [target] is empty."
return
if(reagents.total_volume >= reagents.maximum_volume)
- user << "\red [src] is full."
+ user << " [src] is full."
return
var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this)
- user << "\blue You fill [src] with [trans] units of the contents of [target]."
+ user << " You fill [src] with [trans] units of the contents of [target]."
else if(target.is_open_container()) //Something like a glass. Player probably wants to transfer TO it.
if(!reagents.total_volume)
- user << "\red [src] is empty."
+ user << " [src] is empty."
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
- user << "\red [target] is full."
+ user << " [target] is full."
return
@@ -123,7 +126,7 @@
refillName = reagents.get_master_reagent_name()
var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
- user << "\blue You transfer [trans] units of the solution to [target]."
+ user << " You transfer [trans] units of the solution to [target]."
if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
if(refill in drinks) // Only synthesize drinks
@@ -152,15 +155,15 @@
if(!..(user, 1))
return
if(!reagents || reagents.total_volume==0)
- user << "\blue \The [src] is empty!"
+ user << " \The [src] is empty!"
else if (reagents.total_volume<=src.volume/4)
- user << "\blue \The [src] is almost empty!"
+ user << " \The [src] is almost empty!"
else if (reagents.total_volume<=src.volume*0.66)
- user << "\blue \The [src] is half empty!" // Pessimism is the real order of the day.
+ user << " \The [src] is half full!" // We're all optimistic, right?!
else if (reagents.total_volume<=src.volume*0.90)
- user << "\blue \The [src] is almost full!"
+ user << " \The [src] is almost full!"
else
- user << "\blue \The [src] is full!"
+ user << " \The [src] is full!"
////////////////////////////////////////////////////////////////////////////////
@@ -404,4 +407,4 @@
desc = "A flask with a Lithium Atom symbol on it."
icon = 'icons/obj/custom_items.dmi'
icon_state = "lithiumflask"
- volume = 50
\ No newline at end of file
+ volume = 50
diff --git a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm b/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm
index caab1e519c1..1ce5be29367 100644
--- a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm
+++ b/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm
@@ -564,6 +564,24 @@
icon_state = "patronglass"
name = "Jack Rose"
desc = "Drinking this makes you feel like you belong in a luxury hotel bar during the 1920s."
+ if("synthanol")
+ icon_state = "synthanolglass"
+ name = "Glass of Synthanol"
+ desc = "The equivalent of alcohol for synthetic crewmembers. They'd find it awful if they had tastebuds too."
+ if("robottears")
+ icon_state = "robottearsglass"
+ name = "Glass of Robot Tears"
+ desc = "No robots were hurt in the making of this drink."
+ if("trinary")
+ icon_state = "trinaryglass"
+ name = "Glass of Trinary"
+ desc = "Colorful drink made for synthetic crewmembers. It doesn't seem like it would taste well."
+ if("servo")
+ icon_state = "servoglass"
+ name = "Glass of Servo"
+ desc = "Chocolate - based drink made for IPCs. Not sure if anyone's actually tried out the recipe."
+
+
else
icon_state ="glass_brown"
name = "Glass of ..what?"
diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi
index 5bb37da57df..4ec1ce7cc3b 100644
Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ