Drink: The Re-Refactoring (#8467)

This commit is contained in:
Doxxmedearly
2020-03-22 04:53:31 -05:00
committed by GitHub
parent 33f1e95e32
commit e2865bd34f
8 changed files with 399 additions and 293 deletions
+37 -37
View File
@@ -49,56 +49,56 @@
icon_deny = "boozeomat-deny"
vend_id = "booze"
products = list(
/obj/item/reagent_containers/food/drinks/bottle/gin = 5,
/obj/item/reagent_containers/food/drinks/bottle/whiskey = 5,
/obj/item/reagent_containers/food/drinks/bottle/fireball = 2,
/obj/item/reagent_containers/food/drinks/bottle/bitters = 6,
/obj/item/reagent_containers/food/drinks/bottle/boukha = 2,
/obj/item/reagent_containers/food/drinks/bottle/brandy = 4,
/obj/item/reagent_containers/food/drinks/bottle/grenadine = 5,
/obj/item/reagent_containers/food/drinks/bottle/tequilla = 5,
/obj/item/reagent_containers/food/drinks/bottle/champagne = 5,
/obj/item/reagent_containers/food/drinks/bottle/vodka = 5,
/obj/item/reagent_containers/food/drinks/bottle/vermouth = 5,
/obj/item/reagent_containers/food/drinks/bottle/rum = 5,
/obj/item/reagent_containers/food/drinks/bottle/cognac = 5,
/obj/item/reagent_containers/food/drinks/bottle/cremeyvette = 4,
/obj/item/reagent_containers/food/drinks/bottle/wine = 5,
/obj/item/reagent_containers/food/drinks/bottle/whitewine = 5,
/obj/item/reagent_containers/food/drinks/bottle/cognac = 5,
/obj/item/reagent_containers/food/drinks/bottle/drambuie = 4,
/obj/item/reagent_containers/food/drinks/bottle/melonliquor = 2,
/obj/item/reagent_containers/food/drinks/bottle/gin = 5,
/obj/item/reagent_containers/food/drinks/bottle/vermouth = 5,
/obj/item/reagent_containers/food/drinks/bottle/chartreusegreen = 5,
/obj/item/reagent_containers/food/drinks/bottle/guinness = 4,
/obj/item/reagent_containers/food/drinks/bottle/absinthe = 2,
/obj/item/reagent_containers/food/drinks/bottle/bluecuracao = 2,
/obj/item/reagent_containers/food/drinks/bottle/kahlua = 5,
/obj/item/reagent_containers/food/drinks/bottle/sarezhiwine = 2,
/obj/item/reagent_containers/food/drinks/bottle/champagne = 5,
/obj/item/reagent_containers/food/drinks/bottle/vodka = 5,
/obj/item/reagent_containers/food/drinks/bottle/fireball = 2,
/obj/item/reagent_containers/food/drinks/bottle/whiskey = 5,
/obj/item/reagent_containers/food/drinks/bottle/victorygin = 2,
/obj/item/reagent_containers/food/drinks/bottle/boukha = 2,
/obj/item/reagent_containers/food/drinks/bottle/small/beer = 6,
/obj/item/reagent_containers/food/drinks/bottle/cremewhite = 4,
/obj/item/reagent_containers/food/drinks/bottle/mintsyrup = 5,
/obj/item/reagent_containers/food/drinks/bottle/chartreuseyellow =5,
/obj/item/reagent_containers/food/drinks/bottle/small/ale = 6,
/obj/item/reagent_containers/food/drinks/bottle/carton/orangejuice = 4,
/obj/item/reagent_containers/food/drinks/bottle/carton/applejuice = 4,
/obj/item/reagent_containers/food/drinks/bottle/carton/tomatojuice = 4,
/obj/item/reagent_containers/food/drinks/bottle/carton/limejuice = 4,
/obj/item/reagent_containers/food/drinks/bottle/carton/lemonjuice = 4,
/obj/item/reagent_containers/food/drinks/bottle/carton/dynjuice = 4,
/obj/item/reagent_containers/food/drinks/cans/grape_juice = 6,
/obj/item/reagent_containers/food/drinks/bottle/carton/cream = 4,
/obj/item/reagent_containers/food/drinks/cans/tonic = 8,
/obj/item/reagent_containers/food/drinks/bottle/small/beer = 6,
/obj/item/reagent_containers/food/drinks/bottle/small/xuizijuice = 8,
/obj/item/reagent_containers/food/drinks/bottle/cola = 5,
/obj/item/reagent_containers/food/drinks/bottle/space_up = 5,
/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind = 5,
/obj/item/reagent_containers/food/drinks/bottle/space_up = 5,
/obj/item/reagent_containers/food/drinks/cans/adhomai_milk = 2,
/obj/item/reagent_containers/food/drinks/cans/grape_juice = 6,
/obj/item/reagent_containers/food/drinks/cans/beetle_milk = 2,
/obj/item/reagent_containers/food/drinks/cans/sodawater = 15,
/obj/item/reagent_containers/food/drinks/cans/tonic = 8,
/obj/item/reagent_containers/food/drinks/carton/applejuice = 4,
/obj/item/reagent_containers/food/drinks/carton/cream = 4,
/obj/item/reagent_containers/food/drinks/carton/dynjuice = 4,
/obj/item/reagent_containers/food/drinks/carton/limejuice = 4,
/obj/item/reagent_containers/food/drinks/carton/lemonjuice = 4,
/obj/item/reagent_containers/food/drinks/carton/orangejuice = 4,
/obj/item/reagent_containers/food/drinks/carton/tomatojuice = 4,
/obj/item/reagent_containers/food/drinks/flask/barflask = 2,
/obj/item/reagent_containers/food/drinks/flask/vacuumflask = 2,
/obj/item/reagent_containers/food/drinks/drinkingglass = 30,
/obj/item/reagent_containers/food/drinks/ice = 9,
/obj/item/reagent_containers/food/drinks/bottle/melonliquor = 2,
/obj/item/reagent_containers/food/drinks/bottle/bluecuracao = 2,
/obj/item/reagent_containers/food/drinks/bottle/absinthe = 2,
/obj/item/reagent_containers/food/drinks/bottle/grenadine = 5,
/obj/item/reagent_containers/food/drinks/bottle/chartreusegreen = 5,
/obj/item/reagent_containers/food/drinks/bottle/chartreuseyellow =5,
/obj/item/reagent_containers/food/drinks/bottle/bitters = 6,
/obj/item/reagent_containers/food/drinks/bottle/mintsyrup = 5,
/obj/item/reagent_containers/food/drinks/bottle/cremewhite = 4,
/obj/item/reagent_containers/food/drinks/bottle/brandy = 4,
/obj/item/reagent_containers/food/drinks/bottle/guinness = 4,
/obj/item/reagent_containers/food/drinks/bottle/drambuie = 4,
/obj/item/reagent_containers/food/drinks/bottle/cremeyvette = 4,
/obj/item/reagent_containers/food/drinks/bottle/small/xuizijuice = 8,
/obj/item/reagent_containers/food/drinks/bottle/sarezhiwine = 2,
/obj/item/reagent_containers/food/drinks/cans/beetle_milk = 2,
/obj/item/reagent_containers/food/drinks/cans/adhomai_milk = 2
/obj/item/reagent_containers/food/drinks/drinkingglass = 30
)
contraband = list(
/obj/item/reagent_containers/food/drinks/tea = 10
+1 -1
View File
@@ -389,7 +389,7 @@ STOCK_ITEM_COMMON(booze, 3.7)
new /obj/structure/reagent_dispensers/keg/xuizikeg(T)
else
var/list/drinks = subtypesof(/obj/item/reagent_containers/food/drinks/bottle)
drinks -= /obj/item/reagent_containers/food/drinks/bottle/carton
drinks += subtypesof(/obj/item/reagent_containers/food/drinks/carton)
for (var/i in 1 to rand(1, 3))
var/type = pick(drinks)
@@ -1,3 +1,16 @@
//drink_flags defines
#define NO_EMPTY_ICON 1 //does NOT have an iconstate_empty icon. If adding empty icons for a drink, make sure it does not have this flag
#define UNIQUE_EMPTY_ICON 2 //Uses the empty_icon_state listed. Should really only be used when one trash state applies to multiple drinks. Remove if one is added
#define IS_GLASS 4 //Container is glass. Affects shattering, unacidable, etc.
/*
Standards for trash/empty states under the /drinks path:
Adding Empty States: Trash/Empty states should be placed in the drinks_empty.dmi and should be the drink's icon_state name followed by _empty (ex: whiskeybottle_empty) and the NO_EMPTY_ICON flag should be removed.
If your trash state applies to multiple drinks, to avoid duplicating sprites, use UNIQUE_EMPTY_ICON and set the empty_icon_state var to that icon state. These will still need to be placed in drinks_empty.dmi
If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_ICON, else it will turn invisible when empty.
*/
////////////////////////////////////////////////////////////////////////////////
/// Drinks.
////////////////////////////////////////////////////////////////////////////////
@@ -11,9 +24,30 @@
amount_per_transfer_from_this = 5
volume = 50
var/shaken = 0
var/drink_flags = NO_EMPTY_ICON
var/empty_icon_state = null //This icon_state should be the one set in drinks_empty.dmi and ONLY if it's a UNIQUE_EMPTY_ICON
/obj/item/reagent_containers/food/drinks/Initialize()
. = ..()
if(drink_flags & IS_GLASS)
unacidable = TRUE
/obj/item/reagent_containers/food/drinks/on_reagent_change()
return
update_icon()
/obj/item/reagent_containers/food/drinks/update_icon()
if(!reagents.total_volume)
if(drink_flags & UNIQUE_EMPTY_ICON)
icon = 'icons/obj/drinks_empty.dmi'
icon_state = empty_icon_state
return
if(!(drink_flags & NO_EMPTY_ICON))
icon = 'icons/obj/drinks_empty.dmi'
icon_state = "[initial(icon_state)]_empty"
return
else
icon = initial(icon) //Necessary for refilling empty drinks
icon_state = initial(icon_state)
/obj/item/reagent_containers/food/drinks/attack_self(mob/user as mob)
if(!is_open_container())
@@ -108,9 +142,10 @@
item_state = "carton"
drop_sound = 'sound/items/drop/box.ogg'
center_of_mass = list("x"=16, "y"=9)
Initialize()
. = ..()
reagents.add_reagent("milk", 50)
/obj/item/reagent_containers/food/drinks/milk/Initialize()
. = ..()
reagents.add_reagent("milk", 50)
/obj/item/reagent_containers/food/drinks/soymilk
name = "soymilk"
@@ -119,9 +154,10 @@
item_state = "carton"
drop_sound = 'sound/items/drop/box.ogg'
center_of_mass = list("x"=16, "y"=9)
Initialize()
. = ..()
reagents.add_reagent("soymilk", 50)
/obj/item/reagent_containers/food/drinks/soymilk/Initialize()
. = ..()
reagents.add_reagent("soymilk", 50)
/obj/item/reagent_containers/food/drinks/coffee
name = "robust coffee"
@@ -129,11 +165,13 @@
icon_state = "coffee_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = null
drop_sound = 'sound/items/drop/papercup.ogg'
center_of_mass = list("x"=16, "y"=11)
Initialize()
. = ..()
reagents.add_reagent("coffee", 30)
/obj/item/reagent_containers/food/drinks/coffee/Initialize()
. = ..()
reagents.add_reagent("coffee", 30)
/obj/item/reagent_containers/food/drinks/pslatte
name = "seasonal pumpkin spice latte"
@@ -141,11 +179,14 @@
icon_state = "psl_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = UNIQUE_EMPTY_ICON
empty_icon_state = "coffee_vended_empty"
drop_sound = 'sound/items/drop/papercup.ogg'
center_of_mass = list("x"=16, "y"=11)
Initialize()
. = ..()
reagents.add_reagent("sadpslatte", 30)
/obj/item/reagent_containers/food/drinks/pslatte/Initialize()
. = ..()
reagents.add_reagent("sadpslatte", 30)
/obj/item/reagent_containers/food/drinks/tea
name = "duke purple tea"
@@ -153,11 +194,13 @@
icon_state = "coffee_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = null
drop_sound = 'sound/items/drop/papercup.ogg'
center_of_mass = list("x"=16, "y"=14)
Initialize()
. = ..()
reagents.add_reagent("tea", 30)
/obj/item/reagent_containers/food/drinks/tea/Initialize()
. = ..()
reagents.add_reagent("tea", 30)
/obj/item/reagent_containers/food/drinks/greentea
name = "green tea"
@@ -165,11 +208,14 @@
icon_state = "greentea_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = UNIQUE_EMPTY_ICON
empty_icon_state = "coffee_vended_empty"
drop_sound = 'sound/items/drop/papercup.ogg'
center_of_mass = list("x"=16, "y"=14)
Initialize()
. = ..()
reagents.add_reagent("greentea", 30)
/obj/item/reagent_containers/food/drinks/greentea/Initialize()
. = ..()
reagents.add_reagent("greentea", 30)
/obj/item/reagent_containers/food/drinks/hotcider
name = "hot cider"
@@ -177,23 +223,29 @@
icon_state = "soy_latte_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = UNIQUE_EMPTY_ICON
empty_icon_state = "coffee_vended_empty"
drop_sound = 'sound/items/drop/papercup.ogg'
center_of_mass = list("x"=16, "y"=14)
Initialize()
. = ..()
reagents.add_reagent("ciderhot", 30)
/obj/item/reagent_containers/food/drinks/hotcider/Initialize()
. = ..()
reagents.add_reagent("ciderhot", 30)
/obj/item/reagent_containers/food/drinks/chaitea
name = "chai Tea"
name = "chai tea"
desc = "The name is redundant but the flavor is delicious!"
icon_state = "chai_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = UNIQUE_EMPTY_ICON
empty_icon_state = "coffee_vended_empty"
drop_sound = 'sound/items/drop/papercup.ogg'
center_of_mass = list("x"=16, "y"=14)
Initialize()
. = ..()
reagents.add_reagent("chaitea", 30)
/obj/item/reagent_containers/food/drinks/chaitea/Initialize()
. = ..()
reagents.add_reagent("chaitea", 30)
/obj/item/reagent_containers/food/drinks/ice
name = "ice cup"
@@ -201,23 +253,27 @@
icon_state = "coffee_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = null
drop_sound = 'sound/items/drop/papercup.ogg'
center_of_mass = list("x"=15, "y"=10)
Initialize()
. = ..()
reagents.add_reagent("ice", 30)
/obj/item/reagent_containers/food/drinks/ice/Initialize()
. = ..()
reagents.add_reagent("ice", 30)
/obj/item/reagent_containers/food/drinks/h_chocolate
name = "dutch hot coco"
desc = "Made in Space South America."
icon_state = "hot_coco"
icon_state = "coffee_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = null
drop_sound = 'sound/items/drop/papercup.ogg'
center_of_mass = list("x"=15, "y"=13)
Initialize()
. = ..()
reagents.add_reagent("hot_coco", 30)
/obj/item/reagent_containers/food/drinks/h_chocolate/Initialize()
. = ..()
reagents.add_reagent("hot_coco", 30)
/obj/item/reagent_containers/food/drinks/dry_ramen
name = "cup ramen"
@@ -225,11 +281,13 @@
icon_state = "ramen"
item_state = "coffee"
trash = /obj/item/trash/ramen
drink_flags = null
drop_sound = 'sound/items/drop/papercup.ogg'
center_of_mass = list("x"=16, "y"=11)
Initialize()
. = ..()
reagents.add_reagent("dry_ramen", 30)
/obj/item/reagent_containers/food/drinks/dry_ramen/Initialize()
. = ..()
reagents.add_reagent("dry_ramen", 30)
/obj/item/reagent_containers/food/drinks/sillycup
@@ -240,13 +298,12 @@
possible_transfer_amounts = null
volume = 10
center_of_mass = list("x"=16, "y"=12)
Initialize()
. = ..()
on_reagent_change()
if(reagents.total_volume)
icon_state = "water_cup"
else
icon_state = "water_cup_e"
/obj/item/reagent_containers/food/drinks/sillycup/on_reagent_change()
if(reagents.total_volume)
icon_state = "water_cup"
else
icon_state = "water_cup_e"
/obj/item/reagent_containers/food/drinks/medcup
name = "medicine cup"
@@ -288,6 +345,79 @@
filling.color = reagents.get_color()
add_overlay(filling)
//////////////////////////JUICES AND STUFF ///////////////////////
/obj/item/reagent_containers/food/drinks/carton
name = "carton"
desc = "An abstract way to organize bottles that are really cartons. Finally!"
item_state = "carton"
volume = 100
center_of_mass = list("x"=16, "y"=6)
drop_sound = 'sound/items/drop/box.ogg'
/obj/item/reagent_containers/food/drinks/carton/orangejuice
name = "orange juice"
desc = "Full of vitamins and deliciousness!"
icon_state = "orangejuice"
/obj/item/reagent_containers/food/drinks/carton/orangejuice/Initialize()
. = ..()
reagents.add_reagent("orangejuice", 100)
/obj/item/reagent_containers/food/drinks/carton/cream
name = "milk cream"
desc = "It's cream. Made from milk. What else did you think you'd find in there?"
icon_state = "cream"
/obj/item/reagent_containers/food/drinks/carton/cream/Initialize()
. = ..()
reagents.add_reagent("cream", 100)
/obj/item/reagent_containers/food/drinks/carton/tomatojuice
name = "tomato juice"
desc = "Well, at least it LOOKS like tomato juice. You can't tell with all that redness."
icon_state = "tomatojuice"
/obj/item/reagent_containers/food/drinks/carton/tomatojuice/Initialize()
. = ..()
reagents.add_reagent("tomatojuice", 100)
/obj/item/reagent_containers/food/drinks/carton/limejuice
name = "lime juice"
desc = "Sweet-sour goodness."
icon_state = "limejuice"
/obj/item/reagent_containers/food/drinks/carton/limejuice/Initialize()
. = ..()
reagents.add_reagent("limejuice", 100)
/obj/item/reagent_containers/food/drinks/carton/lemonjuice
name = "lemon juice"
desc = "This juice is VERY sour."
icon_state = "lemoncarton"
/obj/item/reagent_containers/food/drinks/carton/lemonjuice/Initialize()
. = ..()
reagents.add_reagent("lemonjuice", 100)
/obj/item/reagent_containers/food/drinks/carton/dynjuice
name = "dyn juice"
desc = "Juice from a Skrell medicinal herb. It's supposed to be diluted."
icon_state = "dyncarton"
/obj/item/reagent_containers/food/drinks/carton/dynjuice/Initialize()
. = ..()
reagents.add_reagent("dynjuice", 100)
/obj/item/reagent_containers/food/drinks/carton/applejuice
name = "apple juice"
desc = "Juice from an apple. Yes."
icon_state = "applejuice"
/obj/item/reagent_containers/food/drinks/carton/applejuice/Initialize()
. = ..()
reagents.add_reagent("applejuice", 100)
//////////////////////////drinkingglass and shaker//
//Note by Darem: This code handles the mixing of drinks. New drinks go in three places: In Chemistry-Reagents.dm (for the drink
// itself), in Chemistry-Recipes.dm (for the reaction that changes the components into the drink), and here (for the drinking glass
@@ -297,6 +427,7 @@
name = "shaker"
desc = "A metal shaker to mix drinks in."
icon_state = "shaker"
unacidable = TRUE
amount_per_transfer_from_this = 10
volume = 120
center_of_mass = list("x"=16, "y"=8)
@@ -314,6 +445,7 @@
desc = "An elegant teapot. It simply oozes class."
icon_state = "teapot"
item_state = "teapot"
unacidable = TRUE
amount_per_transfer_from_this = 10
volume = 120
center_of_mass = list("x"=17, "y"=7)
@@ -2,9 +2,6 @@
//Functionally identical to regular drinks. The only difference is that the default bottle size is 100. - Darem
//Bottles now weaken and break when smashed on people's heads. - Giacom
#define NO_EMPTY_ICON 1 //If icon does not have iconnamestate_empty as an empty state, use this flag to prevent it going invisible. See update_icon(). Remove this flag if you add empty states
#define BOTTLE_IS_GLASS 2 //Whether the 'bottle' is made of glass or not so that milk cartons dont shatter when someone gets hit by it
/obj/item/reagent_containers/food/drinks/bottle
name = "empty bottle"
desc = "A sad empty bottle."
@@ -19,12 +16,7 @@
var/obj/item/reagent_containers/glass/rag/rag = null
var/rag_underlay = "rag"
var/bottle_flags = BOTTLE_IS_GLASS
/obj/item/reagent_containers/food/drinks/bottle/Initialize()
. = ..()
if(bottle_flags & BOTTLE_IS_GLASS)
unacidable = 1
drink_flags = IS_GLASS
/obj/item/reagent_containers/food/drinks/bottle/Destroy()
if(rag)
@@ -32,16 +24,12 @@
rag = null
return ..()
/obj/item/reagent_containers/food/drinks/bottle/on_reagent_change()
update_icon()
//when thrown on impact, bottles smash and spill their contents
/obj/item/reagent_containers/food/drinks/bottle/throw_impact(atom/hit_atom, var/speed)
..()
var/mob/M = thrower
if((bottle_flags & BOTTLE_IS_GLASS) && istype(M) && M.a_intent == I_HURT)
if((drink_flags & IS_GLASS) && istype(M) && M.a_intent == I_HURT)
var/throw_dist = get_dist(throw_source, loc)
if(speed >= throw_speed && smash_check(throw_dist)) //not as reliable as smashing directly
if(reagents)
@@ -50,7 +38,7 @@
src.smash(loc, hit_atom)
/obj/item/reagent_containers/food/drinks/bottle/proc/smash_check(var/distance)
if(!(bottle_flags & BOTTLE_IS_GLASS) || !smash_duration)
if(!(drink_flags & IS_GLASS) || !smash_duration)
return 0
var/list/chance_table = list(90, 90, 85, 85, 60, 35, 15) //starting from distance 0
@@ -68,7 +56,7 @@
var/obj/item/broken_bottle/B = new /obj/item/broken_bottle(newloc)
if(prob(33))
new/obj/item/material/shard(newloc) // Create a glass shard at the target's location!
B.icon_state = src.icon_state
B.icon_state = initial(icon_state)
var/icon/I = new('icons/obj/drinks.dmi', src.icon_state)
I.Blend(B.broken_outline, ICON_OVERLAY, rand(5), 1)
@@ -102,7 +90,7 @@
..()
/obj/item/reagent_containers/food/drinks/bottle/proc/insert_rag(obj/item/reagent_containers/glass/rag/R, mob/user)
if(!(bottle_flags & BOTTLE_IS_GLASS) || rag)
if(!(drink_flags & IS_GLASS) || rag)
return
if(user.unEquip(R))
to_chat(user, "<span class='notice'>You stuff [R] into [src].</span>")
@@ -131,10 +119,7 @@
set_light(2)
else
set_light(0)
if(!reagents.total_volume && !(bottle_flags & NO_EMPTY_ICON))
icon_state = "[initial(icon_state)]_empty"
else
icon_state = "[initial(icon_state)]"
..()
/obj/item/reagent_containers/food/drinks/bottle/attack(mob/living/target, mob/living/user, var/hit_zone)
var/blocked = ..()
@@ -207,9 +192,10 @@
desc = "A bottle of high quality gin, produced in the New London Space Station."
icon_state = "ginbottle"
center_of_mass = list("x"=16, "y"=4)
Initialize()
. = ..()
reagents.add_reagent("gin", 100)
/obj/item/reagent_containers/food/drinks/bottle/gin/Initialize()
. = ..()
reagents.add_reagent("gin", 100)
/obj/item/reagent_containers/food/drinks/bottle/victorygin
name = "Victory gin"
@@ -219,9 +205,10 @@
description_fluff = "Adhomian beverages are commonly made with fermented grains or vegetables, if alcoholic, or juices mixed with sugar or honey. Victory gin is the most \
widespread alcoholic drink in Adhomai, the result of the fermentation of honey extracted from Messa's tears, but its production and consumption is slowly declining due to the \
People's Republic situation in the current conflict."
Initialize()
. = ..()
reagents.add_reagent("victorygin", 100)
/obj/item/reagent_containers/food/drinks/bottle/victorygin/Initialize()
. = ..()
reagents.add_reagent("victorygin", 100)
/obj/item/reagent_containers/food/drinks/bottle/whiskey
name = "Uncle Git's Special Reserve"
@@ -237,282 +224,240 @@
desc = "A premium single-malt whiskey, infused with cinnamon and hot pepper inside the tunnels of a nuclear shelter. TUNNEL WHISKEY RULES."
icon_state = "whiskeybottle"
center_of_mass = list("x"=16, "y"=4)
Initialize()
. = ..()
reagents.add_reagent("fireball", 100)
/obj/item/reagent_containers/food/drinks/bottle/fireball/Initialize()
. = ..()
reagents.add_reagent("fireball", 100)
/obj/item/reagent_containers/food/drinks/bottle/vodka
name = "Tunguska Triple Distilled"
desc = "Aah, vodka. Prime choice of drink AND fuel by Russians worldwide."
icon_state = "vodkabottle"
center_of_mass = list("x"=17, "y"=4)
Initialize()
. = ..()
reagents.add_reagent("vodka", 100)
/obj/item/reagent_containers/food/drinks/bottle/vodka/Initialize()
. = ..()
reagents.add_reagent("vodka", 100)
/obj/item/reagent_containers/food/drinks/bottle/tequilla
name = "Caccavo Guaranteed Quality tequila"
desc = "Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!"
icon_state = "tequillabottle"
center_of_mass = list("x"=16, "y"=4)
Initialize()
. = ..()
reagents.add_reagent("tequilla", 100)
/obj/item/reagent_containers/food/drinks/bottle/tequilla/Initialize()
. = ..()
reagents.add_reagent("tequilla", 100)
/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing
name = "bottle of nothing"
desc = "A bottle filled with nothing"
icon_state = "bottleofnothing"
center_of_mass = list("x"=16, "y"=5)
Initialize()
. = ..()
reagents.add_reagent("nothing", 100)
/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing/Initialize()
. = ..()
reagents.add_reagent("nothing", 100)
/obj/item/reagent_containers/food/drinks/bottle/bitters
name = "Angstra Aromatic Bitters"
desc = "Only the finest and highest quality herbs find their way into our cocktail bitters."
icon_state = "bitters"
center_of_mass = list("x"=16, "y"=9)
Initialize()
. = ..()
reagents.add_reagent("bitters",40)
/obj/item/reagent_containers/food/drinks/bottle/bitters/Initialize()
. = ..()
reagents.add_reagent("bitters",40)
/obj/item/reagent_containers/food/drinks/bottle/champagne
name = "Tailfeather's Bubbliest champagne"
desc = "A rather fancy bottle of champagne, fit for collecting and storing in a cellar for decades."
icon_state = "champagnebottle"
center_of_mass = list("x"=16, "y"=4)
Initialize()
. = ..()
reagents.add_reagent("champagne",100)
/obj/item/reagent_containers/food/drinks/bottle/champagne/Initialize()
. = ..()
reagents.add_reagent("champagne",100)
/obj/item/reagent_containers/food/drinks/bottle/mintsyrup
name = "Wintergreen Mint Syrup"
desc = "Minty fresh. NOTE: Do not use as a replacement for breath fresheners."
icon_state = "mint_syrup"
center_of_mass = list("x"=16, "y"=6)
Initialize()
. = ..()
reagents.add_reagent("mintsyrup", 100)
/obj/item/reagent_containers/food/drinks/bottle/mintsyrup/Initialize()
. = ..()
reagents.add_reagent("mintsyrup", 100)
/obj/item/reagent_containers/food/drinks/bottle/patron
name = "Wrapp Artiste patron"
desc = "Silver laced tequilla, served in space night clubs across the galaxy."
icon_state = "patronbottle"
center_of_mass = list("x"=16, "y"=7)
Initialize()
. = ..()
reagents.add_reagent("patron", 100)
/obj/item/reagent_containers/food/drinks/bottle/patron/Initialize()
. = ..()
reagents.add_reagent("patron", 100)
/obj/item/reagent_containers/food/drinks/bottle/rum
name = "Captain Pete's Cuban Spiced rum"
desc = "This isn't just rum, oh no. It's practically GRIFF in a bottle."
icon_state = "rumbottle"
center_of_mass = list("x"=16, "y"=4)
Initialize()
. = ..()
reagents.add_reagent("rum", 100)
/obj/item/reagent_containers/food/drinks/bottle/rum/Initialize()
. = ..()
reagents.add_reagent("rum", 100)
/obj/item/reagent_containers/food/drinks/bottle/holywater
name = "flask of holy water"
desc = "A flask of the chaplain's holy water."
icon_state = "holyflask"
center_of_mass = list("x"=17, "y"=10)
Initialize()
. = ..()
reagents.add_reagent("holywater", 100)
/obj/item/reagent_containers/food/drinks/bottle/holywater/Initialize()
. = ..()
reagents.add_reagent("holywater", 100)
/obj/item/reagent_containers/food/drinks/bottle/vermouth
name = "Goldeneye vermouth"
desc = "Sweet, sweet dryness~"
icon_state = "vermouthbottle"
center_of_mass = list("x"=16, "y"=4)
Initialize()
. = ..()
reagents.add_reagent("vermouth", 100)
/obj/item/reagent_containers/food/drinks/bottle/vermouth/Initialize()
. = ..()
reagents.add_reagent("vermouth", 100)
/obj/item/reagent_containers/food/drinks/bottle/kahlua
name = "Robert Robust's coffee liqueur"
desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK"
icon_state = "kahluabottle"
center_of_mass = list("x"=16, "y"=5)
Initialize()
. = ..()
reagents.add_reagent("kahlua", 100)
/obj/item/reagent_containers/food/drinks/bottle/kahlua/Initialize()
. = ..()
reagents.add_reagent("kahlua", 100)
/obj/item/reagent_containers/food/drinks/bottle/goldschlager
name = "College Girl goldschlager"
desc = "Because they are the only ones who will drink 100 proof cinnamon schnapps."
icon_state = "goldschlagerbottle"
center_of_mass = list("x"=16, "y"=4)
Initialize()
. = ..()
reagents.add_reagent("goldschlager", 100)
/obj/item/reagent_containers/food/drinks/bottle/goldschlager/Initialize()
. = ..()
reagents.add_reagent("goldschlager", 100)
/obj/item/reagent_containers/food/drinks/bottle/cognac
name = "Chateau De Baton Premium cognac"
desc = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. You might as well not scream 'SHITCURITY' this time."
icon_state = "cognacbottle"
center_of_mass = list("x"=16, "y"=4)
Initialize()
. = ..()
reagents.add_reagent("cognac", 100)
/obj/item/reagent_containers/food/drinks/bottle/cognac/Initialize()
. = ..()
reagents.add_reagent("cognac", 100)
/obj/item/reagent_containers/food/drinks/bottle/wine
name = "Doublebeard Bearded Red Wine"
desc = "A faint aura of unease and asspainery surrounds the bottle."
icon_state = "winebottle"
center_of_mass = list("x"=16, "y"=4)
Initialize()
. = ..()
reagents.add_reagent("wine", 100)
/obj/item/reagent_containers/food/drinks/bottle/wine/Initialize()
. = ..()
reagents.add_reagent("wine", 100)
/obj/item/reagent_containers/food/drinks/bottle/absinthe
name = "Jailbreaker Verte"
desc = "One sip of this and you just know you're gonna have a good time."
icon_state = "absinthebottle"
center_of_mass = list("x"=16, "y"=7)
Initialize()
. = ..()
reagents.add_reagent("absinthe", 100)
/obj/item/reagent_containers/food/drinks/bottle/absinthe/Initialize()
. = ..()
reagents.add_reagent("absinthe", 100)
/obj/item/reagent_containers/food/drinks/bottle/melonliquor
name = "Emeraldine melon liquor"
desc = "A bottle of 46 proof Emeraldine Melon Liquor. Sweet and light."
icon_state = "alco-green" //Placeholder.
center_of_mass = list("x"=16, "y"=6)
bottle_flags = BOTTLE_IS_GLASS | NO_EMPTY_ICON
Initialize()
. = ..()
reagents.add_reagent("melonliquor", 100)
drink_flags = IS_GLASS | UNIQUE_EMPTY_ICON
empty_icon_state = "alco-blue_empty"
/obj/item/reagent_containers/food/drinks/bottle/melonliquor/Initialize()
. = ..()
reagents.add_reagent("melonliquor", 100)
/obj/item/reagent_containers/food/drinks/bottle/bluecuracao
name = "Miss blue curacao"
desc = "A fruity, exceptionally azure drink. Does not allow the imbiber to use the fifth magic."
icon_state = "alco-blue" //Placeholder.
bottle_flags = BOTTLE_IS_GLASS | NO_EMPTY_ICON
empty_icon_state = "alco-clear"
center_of_mass = list("x"=16, "y"=6)
Initialize()
. = ..()
reagents.add_reagent("bluecuracao", 100)
/obj/item/reagent_containers/food/drinks/bottle/bluecuracao/Initialize()
. = ..()
reagents.add_reagent("bluecuracao", 100)
/obj/item/reagent_containers/food/drinks/bottle/grenadine
name = "Briar Rose grenadine syrup"
desc = "Sweet and tangy, a bar syrup used to add color or flavor to drinks."
icon_state = "grenadinebottle"
bottle_flags = BOTTLE_IS_GLASS | NO_EMPTY_ICON
drink_flags = IS_GLASS | NO_EMPTY_ICON
center_of_mass = list("x"=16, "y"=6)
Initialize()
. = ..()
reagents.add_reagent("grenadine", 100)
/obj/item/reagent_containers/food/drinks/bottle/grenadine/Initialize()
. = ..()
reagents.add_reagent("grenadine", 100)
/obj/item/reagent_containers/food/drinks/bottle/cola
name = "space cola"
desc = "Cola. in space"
icon_state = "colabottle"
center_of_mass = list("x"=16, "y"=6)
bottle_flags = NO_EMPTY_ICON
drink_flags = NO_EMPTY_ICON
drop_sound = 'sound/items/drop/shoes.ogg'
Initialize()
. = ..()
reagents.add_reagent("cola", 100)
/obj/item/reagent_containers/food/drinks/bottle/cola/Initialize()
. = ..()
reagents.add_reagent("cola", 100)
/obj/item/reagent_containers/food/drinks/bottle/space_up
name = "\improper Space-Up"
desc = "Tastes like a hull breach in your mouth."
icon_state = "space-up_bottle"
center_of_mass = list("x"=16, "y"=6)
bottle_flags = NO_EMPTY_ICON
drink_flags = NO_EMPTY_ICON
drop_sound = 'sound/items/drop/shoes.ogg'
Initialize()
..()
reagents.add_reagent("space_up", 100)
/obj/item/reagent_containers/food/drinks/bottle/space_up/Initialize()
. = ..()
reagents.add_reagent("space_up", 100)
/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind
name = "\improper Space Mountain Wind"
desc = "Blows right through you like a space wind."
icon_state = "space_mountain_wind_bottle"
center_of_mass = list("x"=16, "y"=6)
bottle_flags = NO_EMPTY_ICON
drink_flags = NO_EMPTY_ICON
drop_sound = 'sound/items/drop/shoes.ogg'
Initialize()
. = ..()
reagents.add_reagent("spacemountainwind", 100)
/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind/Initialize()
. = ..()
reagents.add_reagent("spacemountainwind", 100)
/obj/item/reagent_containers/food/drinks/bottle/pwine
name = "Warlock's Velvet"
desc = "What a delightful packaging for a surely high quality wine! The vintage must be amazing!"
icon_state = "pwinebottle"
center_of_mass = list("x"=16, "y"=4)
Initialize()
. = ..()
reagents.add_reagent("pwine", 100)
//////////////////////////JUICES AND STUFF ///////////////////////
/obj/item/reagent_containers/food/drinks/bottle/carton
name = "carton"
desc = "An abstract way to organize bottles that are really cartons. Finally!"
bottle_flags = NO_EMPTY_ICON
item_state = "carton"
center_of_mass = list("x"=16, "y"=6)
drop_sound = 'sound/items/drop/box.ogg'
/obj/item/reagent_containers/food/drinks/bottle/carton/orangejuice
name = "orange juice"
desc = "Full of vitamins and deliciousness!"
icon_state = "orangejuice"
Initialize()
. = ..()
reagents.add_reagent("orangejuice", 100)
/obj/item/reagent_containers/food/drinks/bottle/carton/cream
name = "milk cream"
desc = "It's cream. Made from milk. What else did you think you'd find in there?"
icon_state = "cream"
Initialize()
. = ..()
reagents.add_reagent("cream", 100)
/obj/item/reagent_containers/food/drinks/bottle/carton/tomatojuice
name = "tomato juice"
desc = "Well, at least it LOOKS like tomato juice. You can't tell with all that redness."
icon_state = "tomatojuice"
Initialize()
. = ..()
reagents.add_reagent("tomatojuice", 100)
/obj/item/reagent_containers/food/drinks/bottle/carton/limejuice
name = "lime juice"
desc = "Sweet-sour goodness."
icon_state = "limejuice"
Initialize()
. = ..()
reagents.add_reagent("limejuice", 100)
/obj/item/reagent_containers/food/drinks/bottle/carton/lemonjuice
name = "lemon juice"
desc = "This juice is VERY sour."
icon_state = "lemoncarton"
Initialize()
. = ..()
reagents.add_reagent("lemonjuice", 100)
/obj/item/reagent_containers/food/drinks/bottle/carton/dynjuice
name = "dyn juice"
desc = "Juice from a Skrell medicinal herb. It's supposed to be diluted."
icon_state = "dyncarton"
Initialize()
. = ..()
reagents.add_reagent("dynjuice", 100)
/obj/item/reagent_containers/food/drinks/bottle/carton/applejuice
name = "apple juice"
desc = "Juice from an apple. Yes."
icon_state = "applejuice"
Initialize()
. = ..()
reagents.add_reagent("applejuice", 100)
/obj/item/reagent_containers/food/drinks/bottle/pwine/Initialize()
. = ..()
reagents.add_reagent("pwine", 100)
//Small bottles
/obj/item/reagent_containers/food/drinks/bottle/small
@@ -529,9 +474,10 @@
desc = "Contains only water, malt and hops."
icon_state = "beer"
center_of_mass = list("x"=16, "y"=8)
Initialize()
. = ..()
reagents.add_reagent("beer", 30)
/obj/item/reagent_containers/food/drinks/bottle/small/beer/Initialize()
. = ..()
reagents.add_reagent("beer", 30)
/obj/item/reagent_containers/food/drinks/bottle/small/ale
name = "\improper Magm-ale"
@@ -539,9 +485,10 @@
icon_state = "alebottle"
item_state = "beer"
center_of_mass = list("x"=16, "y"=8)
Initialize()
. = ..()
reagents.add_reagent("ale", 30)
/obj/item/reagent_containers/food/drinks/bottle/small/ale/Initialize()
. = ..()
reagents.add_reagent("ale", 30)
//aurora's drinks
@@ -550,72 +497,80 @@
desc = "A green, strong liqueur."
icon_state = "chartreusegreenbottle"
center_of_mass = list("x" = 15,"y" = 5)
Initialize()
. = ..()
reagents.add_reagent("chartreusegreen", 100)
/obj/item/reagent_containers/food/drinks/bottle/chartreusegreen/Initialize()
. = ..()
reagents.add_reagent("chartreusegreen", 100)
/obj/item/reagent_containers/food/drinks/bottle/chartreuseyellow
name = "yellow chartreuse"
desc = "A yellow, strong liqueur."
icon_state = "chartreuseyellowbottle"
center_of_mass = list("x" = 15,"y" = 5)
Initialize()
. = ..()
reagents.add_reagent("chartreuseyellow", 100)
/obj/item/reagent_containers/food/drinks/bottle/chartreuseyellow/Initialize()
. = ..()
reagents.add_reagent("chartreuseyellow", 100)
/obj/item/reagent_containers/food/drinks/bottle/cremewhite
name = "white creme de menthe"
desc = "Mint-flavoured alcohol, in a bottle."
icon_state = "whitecremebottle"
center_of_mass = list("x" = 16,"y" = 5)
Initialize()
. = ..()
reagents.add_reagent("cremewhite", 100)
/obj/item/reagent_containers/food/drinks/bottle/cremewhite/Initialize()
. = ..()
reagents.add_reagent("cremewhite", 100)
/obj/item/reagent_containers/food/drinks/bottle/cremeyvette
name = "Creme de Yvette"
desc = "Berry-flavoured alcohol, in a bottle."
icon_state = "cremedeyvettebottle"
center_of_mass = list("x" = 16,"y" = 6)
Initialize()
. = ..()
reagents.add_reagent("cremeyvette", 100)
/obj/item/reagent_containers/food/drinks/bottle/cremeyvette/Initialize()
. = ..()
reagents.add_reagent("cremeyvette", 100)
/obj/item/reagent_containers/food/drinks/bottle/brandy
name = "brandy"
desc = "Cheap knock off for cognac."
icon_state = "brandybottle"
center_of_mass = list("x" = 15,"y" = 8)
Initialize()
. = ..()
reagents.add_reagent("brandy", 100)
/obj/item/reagent_containers/food/drinks/bottle/brandy/Initialize()
. = ..()
reagents.add_reagent("brandy", 100)
/obj/item/reagent_containers/food/drinks/bottle/guinness
name = "Guinness"
desc = "A bottle of good old Guinness."
icon_state = "guinness_bottle"
center_of_mass = list("x" = 15,"y" = 4)
Initialize()
. = ..()
reagents.add_reagent("guinness", 100)
/obj/item/reagent_containers/food/drinks/bottle/guinness/Initialize()
. = ..()
reagents.add_reagent("guinness", 100)
/obj/item/reagent_containers/food/drinks/bottle/drambuie
name = "Drambuie"
desc = "A bottle of Drambuie."
icon_state = "drambuie_bottle"
center_of_mass = list("x" = 16,"y" = 6)
Initialize()
. = ..()
reagents.add_reagent("drambuie", 100)
/obj/item/reagent_containers/food/drinks/bottle/drambuie/Initialize()
. = ..()
reagents.add_reagent("drambuie", 100)
/obj/item/reagent_containers/food/drinks/bottle/sbiten
name = "sbiten"
desc = "A bottle full of sweet sbiten."
icon_state = "sbitenbottle"
center_of_mass = list("x" = 16,"y" = 7)
Initialize()
. = ..()
reagents.add_reagent("sbiten", 100)
/obj/item/reagent_containers/food/drinks/bottle/sbiten/Initialize()
. = ..()
reagents.add_reagent("sbiten", 100)
/obj/item/reagent_containers/food/drinks/bottle/messa_mead
name = "messa's mead"
@@ -625,9 +580,10 @@
description_fluff = "Adhomian beverages are commonly made with fermented grains or vegetables, if alcoholic, or juices mixed with sugar or honey. Victory gin is the most \
widespread alcoholic drink in Adhomai, the result of the fermentation of honey extracted from Messa's tears, but its production and consumption is slowly declining due to the \
People's Republic situation in the current conflict. Messa's mead is also another more traditional alternative, made with honey and fermented Earthen-Root juice."
Initialize()
. = ..()
reagents.add_reagent("messa_mead", 100)
/obj/item/reagent_containers/food/drinks/bottle/messa_mead/Initialize()
. = ..()
reagents.add_reagent("messa_mead", 100)
// Butanol-based alcoholic drinks
//=====================================
@@ -638,18 +594,20 @@
desc = "Blended flower buds from the Xuizi cactus. It smells faintly of vanilla. Bottled by the Arizi Guild for over 200 years."
icon_state = "xuizibottle"
center_of_mass = list("x"=16, "y"=8)
Initialize()
. = ..()
reagents.add_reagent("xuizijuice", 30)
/obj/item/reagent_containers/food/drinks/bottle/small/xuizijuice/Initialize()
. = ..()
reagents.add_reagent("xuizijuice", 30)
/obj/item/reagent_containers/food/drinks/bottle/sarezhiwine
name = "Sarezhi Wine"
desc = "A premium Moghean wine made from Sareszhi berries. Bottled by the Arizi Guild for over 200 years."
icon_state = "sarezhibottle"
center_of_mass = list("x" = 16,"y" = 6)
Initialize()
. = ..()
reagents.add_reagent("sarezhiwine", 100)
/obj/item/reagent_containers/food/drinks/bottle/sarezhiwine/Initialize()
. = ..()
reagents.add_reagent("sarezhiwine", 100)
// Synnono Meme (Bottled) Drinks
//======================================
@@ -660,15 +618,17 @@
desc = "A distillation of figs, imported from the Serene Republic of Elyra. Makes an excellent apertif or digestif."
icon_state = "boukhabottle"
center_of_mass = list("x"=16, "y"=6)
Initialize()
. = ..()
reagents.add_reagent("boukha", 100)
/obj/item/reagent_containers/food/drinks/bottle/boukha/Initialize()
. = ..()
reagents.add_reagent("boukha", 100)
/obj/item/reagent_containers/food/drinks/bottle/whitewine
name = "Doublebeard Bearded White Wine"
desc = "A faint aura of unease and asspainery surrounds the bottle."
icon_state = "whitewinebottle"
center_of_mass = list("x"=16, "y"=4)
Initialize()
. = ..()
reagents.add_reagent("whitewine", 100)
/obj/item/reagent_containers/food/drinks/bottle/whitewine/Initialize()
. = ..()
reagents.add_reagent("whitewine", 100)
@@ -9,6 +9,7 @@
unacidable = 1 //glass
center_of_mass = list("x"=16, "y"=10)
matter = list(MATERIAL_GLASS = 300)
drink_flags = NO_EMPTY_ICON //This should not be removed unless a total overhaul of drink reagent sprites is done.
on_reagent_change()
/*if(reagents.reagent_list.len > 1 )
@@ -0,0 +1,13 @@
# Your name.
author: Doxxmedearly
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
changes:
- tweak: "Reorganized the booze-o-mat. It should be less of a hunt to find things now."
- tweak: "Hot coco now vends in a disposable cup instead of a ceramic mug."
- tweak: "Shakers and teapots will no longer be melted by acid. Feel free to mix Acid Spit all you want."
- bugfix: "Fixes empty icons for vended coffee/ramen not showing up."
- rscadd: "Organizes drink code a bit to make it easier to add empty/trash sprites for drinks in the future."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB