Move almost everythign food related into the kitchen module.

Not moving reagents and tools.
This commit is contained in:
lbnesquik
2018-10-05 02:56:36 +02:00
parent b32583c6ae
commit 5641b828c5
35 changed files with 6426 additions and 6424 deletions

View File

@@ -0,0 +1,166 @@
#define DRINK_ICON_FILE 'icons/pdrink.dmi'
/var/const/DRINK_FIZZ = "fizz"
/var/const/DRINK_ICE = "ice"
/var/const/DRINK_ICON_DEFAULT = ""
/var/const/DRINK_ICON_NOISY = "_noise"
/obj/item/weapon/reagent_containers/food/drinks/glass2
name = "glass" // Name when empty
var/base_name = "glass" // Name to put in front of drinks, i.e. "[base_name] of [contents]"
desc = "A generic drinking glass." // Description when empty
icon = DRINK_ICON_FILE
var/base_icon = "square" // Base icon name
volume = 30
var/list/filling_states // List of percentages full that have icons
var/list/extras = list() // List of extras. Two extras maximum
var/rim_pos
center_of_mass = list("x"=16, "y"=10)
amount_per_transfer_from_this = 5
possible_transfer_amounts = list(5,10,15,30)
flags = OPENCONTAINER
matter = list("glass" = 60)
/obj/item/weapon/reagent_containers/food/drinks/glass2/examine(mob/M as mob)
..()
for(var/I in extras)
if(istype(I, /obj/item/weapon/glass_extra))
M << "There is \a [I] in \the [src]."
else if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/fruit_slice))
M << "There is \a [I] on the rim."
else
M << "There is \a [I] somewhere on the glass. Somehow."
if(has_ice())
M << "There is some ice floating in the drink."
if(has_fizz())
M << "It is fizzing slightly."
/obj/item/weapon/reagent_containers/food/drinks/glass2/proc/has_ice()
if(reagents.reagent_list.len > 0)
var/datum/reagent/R = reagents.get_master_reagent()
if(!((R.id == "ice") || ("ice" in R.glass_special))) // if it's not a cup of ice, and it's not already supposed to have ice in, see if the bartender's put ice in it
if(reagents.has_reagent("ice", reagents.total_volume / 10)) // 10% ice by volume
return 1
return 0
/obj/item/weapon/reagent_containers/food/drinks/glass2/proc/has_fizz()
if(reagents.reagent_list.len > 0)
var/datum/reagent/R = reagents.get_master_reagent()
if(!("fizz" in R.glass_special))
var/totalfizzy = 0
for(var/datum/reagent/re in reagents.reagent_list)
if("fizz" in re.glass_special)
totalfizzy += re.volume
if(totalfizzy >= reagents.total_volume / 5) // 20% fizzy by volume
return 1
return 0
/obj/item/weapon/reagent_containers/food/drinks/glass2/New()
..()
icon_state = base_icon
/obj/item/weapon/reagent_containers/food/drinks/glass2/on_reagent_change()
..()
update_icon()
/obj/item/weapon/reagent_containers/food/drinks/glass2/proc/can_add_extra(obj/item/weapon/glass_extra/GE)
if(!("[base_icon]_[GE.glass_addition]left" in icon_states(DRINK_ICON_FILE)))
return 0
if(!("[base_icon]_[GE.glass_addition]right" in icon_states(DRINK_ICON_FILE)))
return 0
return 1
/obj/item/weapon/reagent_containers/food/drinks/glass2/update_icon()
underlays.Cut()
if (reagents.reagent_list.len > 0)
var/datum/reagent/R = reagents.get_master_reagent()
name = "[base_name] of [R.glass_name ? R.glass_name : "something"]"
desc = R.glass_desc ? R.glass_desc : initial(desc)
var/list/under_liquid = list()
var/list/over_liquid = list()
var/amnt = 100
var/percent = round((reagents.total_volume / volume) * 100)
for(var/k in filling_states)
if(percent <= k)
amnt = k
break
if(has_ice())
over_liquid |= "[base_icon][amnt]_ice"
if(has_fizz())
over_liquid |= "[base_icon][amnt]_fizz"
for(var/S in R.glass_special)
if("[base_icon]_[S]" in icon_states(DRINK_ICON_FILE))
under_liquid |= "[base_icon]_[S]"
else if("[base_icon][amnt]_[S]" in icon_states(DRINK_ICON_FILE))
over_liquid |= "[base_icon][amnt]_[S]"
for(var/k in under_liquid)
underlays += image(DRINK_ICON_FILE, src, k, -3)
var/image/filling = image(DRINK_ICON_FILE, src, "[base_icon][amnt][R.glass_icon]", -2)
filling.color = reagents.get_color()
underlays += filling
for(var/k in over_liquid)
underlays += image(DRINK_ICON_FILE, src, k, -1)
else
name = initial(name)
desc = initial(desc)
var/side = "left"
for(var/item in extras)
if(istype(item, /obj/item/weapon/glass_extra))
var/obj/item/weapon/glass_extra/GE = item
var/image/I = image(DRINK_ICON_FILE, src, "[base_icon]_[GE.glass_addition][side]")
if(GE.glass_color)
I.color = GE.glass_color
underlays += I
else if(istype(item, /obj/item/weapon/reagent_containers/food/snacks/fruit_slice))
var/obj/FS = item
var/image/I = image(FS)
var/fsy = rim_pos[1] - 20
var/fsx = rim_pos[side == "left" ? 2 : 3] - 16
var/matrix/M = matrix()
M.Scale(0.5)
M.Translate(fsx, fsy)
I.transform = M
underlays += I
else continue
side = "right"
/obj/item/weapon/reagent_containers/food/drinks/glass2/afterattack(var/obj/target, var/mob/user, var/proximity)
if(user.a_intent == I_HURT) //We only want splashing to be done if they are on harm intent.
if(!is_open_container() || !proximity)
return 1
if(standard_splash_mob(user, target))
return 1
if(reagents && reagents.total_volume) //They are on harm intent, aka wanting to spill it.
user << "<span class='notice'>You splash the solution onto [target].</span>"
reagents.splash(target, reagents.total_volume)
return 1
..()
/obj/item/weapon/reagent_containers/food/drinks/glass2/standard_feed_mob(var/mob/user, var/mob/target)
if(afterattack(target, user)) //Check to see if harm intent & splash.
return
else
..() //If they're splashed, no need to do anything else.

View File

@@ -0,0 +1,72 @@
/obj/item/weapon/reagent_containers/food/drinks/glass2/attackby(obj/item/I as obj, mob/user as mob)
if(extras.len >= 2) return ..() // max 2 extras, one on each side of the drink
if(istype(I, /obj/item/weapon/glass_extra))
var/obj/item/weapon/glass_extra/GE = I
if(can_add_extra(GE))
extras += GE
user.remove_from_mob(GE)
GE.loc = src
user << "<span class=notice>You add \the [GE] to \the [src].</span>"
update_icon()
else
user << "<span class=warning>There's no space to put \the [GE] on \the [src]!</span>"
else if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/fruit_slice))
if(!rim_pos)
user << "<span class=warning>There's no space to put \the [I] on \the [src]!</span>"
return
var/obj/item/weapon/reagent_containers/food/snacks/fruit_slice/FS = I
extras += FS
user.remove_from_mob(FS)
FS.pixel_x = 0 // Reset its pixel offsets so the icons work!
FS.pixel_y = 0
FS.loc = src
user << "<span class=notice>You add \the [FS] to \the [src].</span>"
update_icon()
else
return ..()
/obj/item/weapon/reagent_containers/food/drinks/glass2/attack_hand(mob/user as mob)
if(src != user.get_inactive_hand())
return ..()
if(!extras.len)
user << "<span class=warning>There's nothing on the glass to remove!</span>"
return
var/choice = input(user, "What would you like to remove from the glass?") as null|anything in extras
if(!choice || !(choice in extras))
return
if(user.put_in_active_hand(choice))
user << "<span class=notice>You remove \the [choice] from \the [src].</span>"
extras -= choice
else
user << "<span class=warning>Something went wrong, please try again.</span>"
update_icon()
/obj/item/weapon/glass_extra
name = "generic glass addition"
desc = "This goes on a glass."
var/glass_addition
var/glass_desc
var/glass_color
w_class = ITEMSIZE_TINY
icon = DRINK_ICON_FILE
/obj/item/weapon/glass_extra/stick
name = "stick"
desc = "This goes in a glass."
glass_addition = "stick"
glass_desc = "There is a stick in the glass."
icon_state = "stick"
/obj/item/weapon/glass_extra/straw
name = "straw"
desc = "This goes in a glass."
glass_addition = "straw"
glass_desc = "There is a straw in the glass."
icon_state = "straw"
#undef DRINK_ICON_FILE

View File

@@ -0,0 +1,80 @@
/obj/item/weapon/storage/box/mixedglasses
name = "glassware box"
desc = "A box of assorted glassware"
can_hold = list(/obj/item/weapon/reagent_containers/food/drinks/glass2)
New()
..()
new /obj/item/weapon/reagent_containers/food/drinks/glass2/square(src)
new /obj/item/weapon/reagent_containers/food/drinks/glass2/rocks(src)
new /obj/item/weapon/reagent_containers/food/drinks/glass2/shake(src)
new /obj/item/weapon/reagent_containers/food/drinks/glass2/cocktail(src)
new /obj/item/weapon/reagent_containers/food/drinks/glass2/shot(src)
new /obj/item/weapon/reagent_containers/food/drinks/glass2/pint(src)
new /obj/item/weapon/reagent_containers/food/drinks/glass2/mug(src)
new /obj/item/weapon/reagent_containers/food/drinks/glass2/wine(src)
new /obj/item/weapon/reagent_containers/food/drinks/metaglass(src)
/obj/item/weapon/storage/box/glasses
name = "box of glasses"
var/glass_type = /obj/item/weapon/reagent_containers/food/drinks/glass2
can_hold = list(/obj/item/weapon/reagent_containers/food/drinks/glass2)
New()
..()
for(var/i = 1 to 7)
new glass_type(src)
/obj/item/weapon/storage/box/glasses/square
name = "box of half-pint glasses"
glass_type = /obj/item/weapon/reagent_containers/food/drinks/glass2/square
/obj/item/weapon/storage/box/glasses/rocks
name = "box of rocks glasses"
glass_type = /obj/item/weapon/reagent_containers/food/drinks/glass2/rocks
/obj/item/weapon/storage/box/glasses/shake
name = "box of milkshake glasses"
glass_type = /obj/item/weapon/reagent_containers/food/drinks/glass2/shake
/obj/item/weapon/storage/box/glasses/cocktail
name = "box of cocktail glasses"
glass_type = /obj/item/weapon/reagent_containers/food/drinks/glass2/cocktail
/obj/item/weapon/storage/box/glasses/shot
name = "box of shot glasses"
glass_type = /obj/item/weapon/reagent_containers/food/drinks/glass2/shot
/obj/item/weapon/storage/box/glasses/pint
name = "box of pint glasses"
glass_type = /obj/item/weapon/reagent_containers/food/drinks/glass2/pint
/obj/item/weapon/storage/box/glasses/mug
name = "box of glass mugs"
glass_type = /obj/item/weapon/reagent_containers/food/drinks/glass2/mug
/obj/item/weapon/storage/box/glasses/wine
name = "box of wine glasses"
glass_type = /obj/item/weapon/reagent_containers/food/drinks/glass2/wine
/obj/item/weapon/storage/box/glasses/meta
name = "box of half-pint metamorphic glasses"
glass_type = /obj/item/weapon/reagent_containers/food/drinks/metaglass
/obj/item/weapon/storage/box/glass_extras
name = "box of cocktail garnishings"
var/extra_type = /obj/item/weapon/glass_extra
can_hold = list(/obj/item/weapon/glass_extra)
storage_slots = 14
New()
..()
for(var/i = 1 to 14)
new extra_type(src)
/obj/item/weapon/storage/box/glass_extras/straws
name = "box of straws"
extra_type = /obj/item/weapon/glass_extra/straw
/obj/item/weapon/storage/box/glass_extras/sticks
name = "box of drink sticks"
extra_type = /obj/item/weapon/glass_extra/stick

View File

@@ -0,0 +1,80 @@
/obj/item/weapon/reagent_containers/food/drinks/glass2/square
name = "half-pint glass"
base_name = "glass"
base_icon = "square"
desc = "Your standard drinking glass."
filling_states = list(20, 40, 60, 80, 100)
volume = 30
possible_transfer_amounts = list(5,10,15,30)
rim_pos = list(23,13,20) // y, x0, x1
matter = list("glass" = 60)
/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks
name = "rocks glass"
base_name = "glass"
base_icon = "rocks"
filling_states = list(25, 50, 75, 100)
volume = 20
possible_transfer_amounts = list(5,10,20)
rim_pos = list(21, 10, 23)
matter = list("glass" = 40)
/obj/item/weapon/reagent_containers/food/drinks/glass2/shake
name = "milkshake glass"
base_name = "glass"
base_icon = "shake"
filling_states = list(25, 50, 75, 100)
volume = 30
possible_transfer_amounts = list(5,10,15,30)
rim_pos = list(25, 13, 21)
matter = list("glass" = 30)
/obj/item/weapon/reagent_containers/food/drinks/glass2/cocktail
name = "cocktail glass"
base_name = "glass"
base_icon = "cocktail"
filling_states = list(33, 66, 100)
volume = 15
possible_transfer_amounts = list(5,10,15)
rim_pos = list(22, 13, 21)
matter = list("glass" = 30)
/obj/item/weapon/reagent_containers/food/drinks/glass2/shot
name = "shot glass"
base_name = "shot"
base_icon = "shot"
filling_states = list(33, 66, 100)
volume = 5
possible_transfer_amounts = list(1,2,5)
rim_pos = list(17, 13, 21)
matter = list("glass" = 10)
/obj/item/weapon/reagent_containers/food/drinks/glass2/pint
name = "pint glass"
base_name = "pint"
base_icon = "pint"
filling_states = list(16, 33, 50, 66, 83, 100)
volume = 60
possible_transfer_amounts = list(5,10,15,30,60)
rim_pos = list(25, 12, 21)
matter = list("glass" = 120)
/obj/item/weapon/reagent_containers/food/drinks/glass2/mug
name = "glass mug"
base_name = "mug"
base_icon = "mug"
filling_states = list(25, 50, 75, 100)
volume = 40
possible_transfer_amounts = list(5,10,20,40)
rim_pos = list(22, 12, 20)
matter = list("glass" = 80)
/obj/item/weapon/reagent_containers/food/drinks/glass2/wine
name = "wine glass"
base_name = "glass"
base_icon = "wine"
filling_states = list(20, 40, 60, 80, 100)
volume = 25
possible_transfer_amounts = list(5, 10, 15, 25)
rim_pos = list(25, 12, 21)
matter = list("glass" = 50)

View File

@@ -0,0 +1,544 @@
/obj/item/weapon/reagent_containers/food/drinks/metaglass
name = "metamorphic glass"
desc = "This glass changes shape and form depending on the drink inside... fancy!"
icon_state = "glass_empty"
amount_per_transfer_from_this = 5
volume = 30
unacidable = 1 //glass
center_of_mass = list("x"=16, "y"=10)
matter = list("glass" = 500)
icon = 'icons/obj/drinks.dmi'
/obj/item/weapon/reagent_containers/food/drinks/metaglass/on_reagent_change()
if (reagents.reagent_list.len > 0)
var/datum/reagent/R = reagents.get_master_reagent()
if(R.glass_icon_state)
icon_state = R.glass_icon_state
else
icon_state = "glass_brown"
if(R.glass_name)
name = R.glass_name
else
name = "Glass of.. what?"
if(R.glass_desc)
desc = R.glass_desc
else
desc = "You can't really tell what this is."
if(R.glass_center_of_mass)
center_of_mass = R.glass_center_of_mass
else
center_of_mass = list("x"=16, "y"=10)
if(R.price_tag)
price_tag = R.price_tag
else
price_tag = null
else
icon_state = "glass_empty"
name = "metamorphic glass"
desc = "This glass changes shape and form depending on the drink inside... fancy!"
center_of_mass = list("x"=16, "y"=10)
return
/*
Drinks Data
*/
/datum/reagent
var/glass_icon_state = null
var/glass_center_of_mass = null
/datum/reagent/adminordrazine
glass_icon_state = "golden_cup"
/datum/reagent/chloralhydrate/beer2
glass_icon_state = "beerglass"
glass_center_of_mass = list("x"=16, "y"=8)
/datum/reagent/blood
glass_icon_state = "glass_red"
/datum/reagent/water
glass_icon_state = "glass_clear"
/datum/reagent/fuel
glass_icon_state = "dr_gibb_glass"
/datum/reagent/ethanol
glass_icon_state = "glass_clear"
/datum/reagent/sugar
glass_icon_state = "iceglass"
/datum/reagent/drink/juice/banana
glass_icon_state = "banana"
/datum/reagent/drink/juice/berry
glass_icon_state = "berryjuice"
/datum/reagent/drink/juice/carrot
glass_icon_state = "carrotjuice"
/datum/reagent/drink/juice/
glass_icon_state = "grapejuice"
/datum/reagent/drink/juice/lemon
glass_icon_state = "lemonjuice"
/datum/reagent/drink/juice/apple
glass_icon_state = "applejuice"
/datum/reagent/drink/juice/lime
glass_icon_state = "glass_green"
/datum/reagent/drink/juice/orange
glass_icon_state = "glass_orange"
/datum/reagent/toxin/poisonberryjuice
glass_icon_state = "poisonberryjuice"
/datum/reagent/drink/juice/potato
glass_icon_state = "glass_brown"
/datum/reagent/drink/juice/tomato
glass_icon_state = "glass_red"
/datum/reagent/drink/juice/watermelon
glass_icon_state = "glass_red"
/datum/reagent/drink/milk
glass_icon_state = "glass_white"
/datum/reagent/drink/chocolate
glass_icon_state = "glass_brown"
/datum/reagent/drink/tea
glass_icon_state = "bigteacup"
/datum/reagent/drink/tea/icetea
glass_icon_state = "icedteaglass"
glass_center_of_mass = list("x"=15, "y"=10)
/datum/reagent/drink/coffee
glass_icon_state = "hot_coffee"
/datum/reagent/drink/icecoffee
glass_icon_state = "icedcoffeeglass"
/datum/reagent/drink/soy_latte
glass_icon_state = "soy_latte"
glass_center_of_mass = list("x"=15, "y"=9)
/datum/reagent/drink/cafe_latte
glass_icon_state = "cafe_latte"
glass_center_of_mass = list("x"=15, "y"=9)
/datum/reagent/drink/hot_coco
glass_icon_state = "chocolateglass"
/datum/reagent/drink/soda/sodawater
glass_icon_state = "glass_clear"
/datum/reagent/drink/soda/grapesoda
glass_icon_state = "gsodaglass"
/datum/reagent/drink/soda/tonic
glass_icon_state = "glass_clear"
/datum/reagent/drink/soda/lemonade
glass_icon_state = "lemonadeglass"
/datum/reagent/drink/soda/kiraspecial
glass_icon_state = "kiraspecial"
glass_center_of_mass = list("x"=16, "y"=12)
/datum/reagent/drink/soda/brownstar
glass_icon_state = "brownstar"
/datum/reagent/drink/milkshake
glass_icon_state = "milkshake"
glass_center_of_mass = list("x"=16, "y"=7)
/datum/reagent/drink/rewriter
glass_icon_state = "rewriter"
glass_center_of_mass = list("x"=16, "y"=9)
/datum/reagent/drink/soda/nuka_cola
glass_icon_state = "nuka_colaglass"
glass_center_of_mass = list("x"=16, "y"=6)
/datum/reagent/drink/grenadine
glass_icon_state = "grenadineglass"
glass_center_of_mass = list("x"=17, "y"=6)
/datum/reagent/drink/soda/space_cola
glass_icon_state = "glass_brown"
/datum/reagent/drink/soda/spacemountainwind
glass_icon_state = "Space_mountain_wind_glass"
/datum/reagent/drink/soda/dr_gibb
glass_icon_state = "dr_gibb_glass"
/datum/reagent/drink/soda/space_up
glass_icon_state = "space-up_glass"
/datum/reagent/drink/soda/lemon_lime
glass_icon_state = "lemonlime"
/datum/reagent/drink/doctor_delight
glass_icon_state = "doctorsdelightglass"
glass_center_of_mass = list("x"=16, "y"=8)
/datum/reagent/drink/ice
glass_icon_state = "iceglass"
/datum/reagent/drink/nothing
glass_icon_state = "nothing"
/datum/reagent/drink/oilslick
glass_icon_state = "jar_oil"
glass_center_of_mass = list("x"=15, "y"=12)
/datum/reagent/drink/nuclearwaste
glass_icon_state = "jar_rad"
glass_center_of_mass = list("x"=15, "y"=12)
/datum/reagent/drink/sodaoil
glass_icon_state = "jar_water"
glass_center_of_mass = list("x"=15, "y"=12)
/datum/reagent/ethanol/absinthe
glass_icon_state = "absintheglass"
glass_center_of_mass = list("x"=16, "y"=5)
/datum/reagent/ethanol/ale
glass_icon_state = "aleglass"
glass_center_of_mass = list("x"=16, "y"=8)
/datum/reagent/ethanol/beer
glass_icon_state = "beerglass"
glass_center_of_mass = list("x"=16, "y"=8)
/datum/reagent/ethanol/bluecuracao
glass_icon_state = "curacaoglass"
glass_center_of_mass = list("x"=16, "y"=5)
/datum/reagent/ethanol/cognac
glass_icon_state = "cognacglass"
glass_center_of_mass = list("x"=16, "y"=6)
/datum/reagent/ethanol/deadrum
glass_icon_state = "rumglass"
glass_center_of_mass = list("x"=16, "y"=12)
/datum/reagent/ethanol/gin
glass_icon_state = "ginvodkaglass"
glass_center_of_mass = list("x"=16, "y"=12)
/datum/reagent/ethanol/coffee/kahlua
glass_icon_state = "kahluaglass"
glass_center_of_mass = list("x"=15, "y"=7)
/datum/reagent/ethanol/melonliquor
glass_icon_state = "emeraldglass"
glass_center_of_mass = list("x"=16, "y"=5)
/datum/reagent/ethanol/rum
glass_icon_state = "rumglass"
glass_center_of_mass = list("x"=16, "y"=12)
/datum/reagent/ethanol/sake
glass_icon_state = "sakecup"
glass_center_of_mass = list("x"=16, "y"=12)
/datum/reagent/ethanol/godsake
glass_icon_state = "sakeporcelain"
glass_center_of_mass = list("x"=16, "y"=12)
/datum/reagent/ethanol/tequila
glass_icon_state = "tequillaglass"
glass_center_of_mass = list("x"=16, "y"=12)
/datum/reagent/ethanol/thirteenloko
glass_icon_state = "thirteen_loko_glass"
/datum/reagent/ethanol/vermouth
glass_icon_state = "vermouthglass"
glass_center_of_mass = list("x"=16, "y"=12)
/datum/reagent/ethanol/vodka
glass_icon_state = "ginvodkaglass"
glass_center_of_mass = list("x"=16, "y"=12)
/datum/reagent/ethanol/whiskey
glass_icon_state = "whiskeyglass"
glass_center_of_mass = list("x"=16, "y"=12)
/datum/reagent/ethanol/wine
glass_icon_state = "wineglass"
glass_center_of_mass = list("x"=15, "y"=7)
/datum/reagent/ethanol/acid_spit
glass_icon_state = "acidspitglass"
glass_center_of_mass = list("x"=16, "y"=7)
/datum/reagent/ethanol/alliescocktail
glass_icon_state = "alliescocktail"
glass_center_of_mass = list("x"=17, "y"=8)
/datum/reagent/ethanol/aloe
glass_icon_state = "aloe"
glass_center_of_mass = list("x"=17, "y"=8)
/datum/reagent/ethanol/amasec
glass_icon_state = "amasecglass"
glass_center_of_mass = list("x"=16, "y"=9)
/datum/reagent/ethanol/andalusia
glass_icon_state = "andalusia"
glass_center_of_mass = list("x"=16, "y"=9)
/datum/reagent/ethanol/antifreeze
glass_icon_state = "antifreeze"
glass_center_of_mass = list("x"=16, "y"=8)
/datum/reagent/ethanol/atomicbomb
glass_icon_state = "atomicbombglass"
glass_center_of_mass = list("x"=15, "y"=7)
/datum/reagent/ethanol/b52
glass_icon_state = "b52glass"
/datum/reagent/ethanol/bahama_mama
glass_icon_state = "bahama_mama"
glass_center_of_mass = list("x"=16, "y"=5)
/datum/reagent/ethanol/bananahonk
glass_icon_state = "bananahonkglass"
glass_center_of_mass = list("x"=16, "y"=8)
/datum/reagent/ethanol/barefoot
glass_icon_state = "b&p"
glass_center_of_mass = list("x"=17, "y"=8)
/datum/reagent/ethanol/beepsky_smash
glass_icon_state = "beepskysmashglass"
glass_center_of_mass = list("x"=18, "y"=10)
/datum/reagent/ethanol/bilk
glass_icon_state = "glass_brown"
/datum/reagent/ethanol/black_russian
glass_icon_state = "blackrussianglass"
glass_center_of_mass = list("x"=16, "y"=9)
/datum/reagent/ethanol/bloody_mary
glass_icon_state = "bloodymaryglass"
/datum/reagent/ethanol/booger
glass_icon_state = "booger"
/datum/reagent/ethanol/coffee/brave_bull
glass_icon_state = "bravebullglass"
glass_center_of_mass = list("x"=15, "y"=8)
/datum/reagent/ethanol/changelingsting
glass_icon_state = "changelingsting"
/datum/reagent/ethanol/martini
glass_icon_state = "martiniglass"
glass_center_of_mass = list("x"=17, "y"=8)
/datum/reagent/ethanol/cuba_libre
glass_icon_state = "cubalibreglass"
glass_center_of_mass = list("x"=16, "y"=8)
/datum/reagent/ethanol/demonsblood
glass_icon_state = "demonsblood"
glass_center_of_mass = list("x"=16, "y"=2)
/datum/reagent/ethanol/devilskiss
glass_icon_state = "devilskiss"
glass_center_of_mass = list("x"=16, "y"=8)
/datum/reagent/ethanol/driestmartini
glass_icon_state = "driestmartiniglass"
glass_center_of_mass = list("x"=17, "y"=8)
/datum/reagent/ethanol/ginfizz
glass_icon_state = "ginfizzglass"
glass_center_of_mass = list("x"=16, "y"=7)
/datum/reagent/ethanol/grog
glass_icon_state = "grogglass"
/datum/reagent/ethanol/erikasurprise
glass_icon_state = "erikasurprise"
glass_center_of_mass = list("x"=16, "y"=9)
/datum/reagent/ethanol/gargle_blaster
glass_icon_state = "gargleblasterglass"
glass_center_of_mass = list("x"=17, "y"=6)
/datum/reagent/ethanol/gintonic
glass_icon_state = "gintonicglass"
/datum/reagent/ethanol/goldschlager
glass_icon_state = "ginvodkaglass"
glass_center_of_mass = list("x"=16, "y"=12)
/datum/reagent/ethanol/hippies_delight
glass_icon_state = "hippiesdelightglass"
glass_center_of_mass = list("x"=16, "y"=8)
/datum/reagent/ethanol/hooch
glass_icon_state = "glass_brown2"
/datum/reagent/ethanol/iced_beer
glass_icon_state = "iced_beerglass"
glass_center_of_mass = list("x"=16, "y"=7)
/datum/reagent/ethanol/irishcarbomb
glass_icon_state = "irishcarbomb"
glass_center_of_mass = list("x"=16, "y"=8)
/datum/reagent/ethanol/coffee/irishcoffee
glass_icon_state = "irishcoffeeglass"
glass_center_of_mass = list("x"=15, "y"=10)
/datum/reagent/ethanol/irish_cream
glass_icon_state = "irishcreamglass"
glass_center_of_mass = list("x"=16, "y"=9)
/datum/reagent/ethanol/longislandicedtea
glass_icon_state = "longislandicedteaglass"
glass_center_of_mass = list("x"=16, "y"=8)
/datum/reagent/ethanol/manhattan
glass_icon_state = "manhattanglass"
glass_center_of_mass = list("x"=17, "y"=8)
/datum/reagent/ethanol/manhattan_proj
glass_icon_state = "proj_manhattanglass"
glass_center_of_mass = list("x"=17, "y"=8)
/datum/reagent/ethanol/manly_dorf
glass_icon_state = "manlydorfglass"
/datum/reagent/ethanol/margarita
glass_icon_state = "margaritaglass"
glass_center_of_mass = list("x"=16, "y"=8)
/datum/reagent/ethanol/mead
glass_icon_state = "meadglass"
glass_center_of_mass = list("x"=17, "y"=10)
/datum/reagent/ethanol/moonshine
glass_icon_state = "glass_clear"
/datum/reagent/ethanol/neurotoxin
glass_icon_state = "neurotoxinglass"
glass_center_of_mass = list("x"=16, "y"=8)
/datum/reagent/ethanol/patron
glass_icon_state = "patronglass"
glass_center_of_mass = list("x"=7, "y"=8)
/datum/reagent/ethanol/pwine
glass_icon_state = "pwineglass"
glass_center_of_mass = list("x"=16, "y"=5)
/datum/reagent/ethanol/red_mead
glass_icon_state = "red_meadglass"
glass_center_of_mass = list("x"=17, "y"=10)
/datum/reagent/ethanol/sbiten
glass_icon_state = "sbitenglass"
glass_center_of_mass = list("x"=17, "y"=8)
/datum/reagent/ethanol/screwdrivercocktail
glass_icon_state = "screwdriverglass"
glass_center_of_mass = list("x"=15, "y"=10)
/datum/reagent/ethanol/silencer
glass_icon_state = "silencerglass"
glass_center_of_mass = list("x"=16, "y"=9)
/datum/reagent/ethanol/singulo
glass_icon_state = "singulo"
glass_center_of_mass = list("x"=17, "y"=4)
/datum/reagent/ethanol/snowwhite
glass_icon_state = "snowwhite"
glass_center_of_mass = list("x"=16, "y"=8)
/datum/reagent/ethanol/suidream
glass_icon_state = "sdreamglass"
glass_center_of_mass = list("x"=16, "y"=5)
/datum/reagent/ethanol/syndicatebomb
glass_icon_state = "syndicatebomb"
glass_center_of_mass = list("x"=16, "y"=4)
/datum/reagent/ethanol/tequilla_sunrise
glass_icon_state = "tequillasunriseglass"
/datum/reagent/ethanol/threemileisland
glass_icon_state = "threemileislandglass"
glass_center_of_mass = list("x"=16, "y"=2)
/datum/reagent/ethanol/toxins_special
glass_icon_state = "toxinsspecialglass"
/datum/reagent/ethanol/vodkamartini
glass_icon_state = "martiniglass"
glass_center_of_mass = list("x"=17, "y"=8)
/datum/reagent/ethanol/vodkatonic
glass_icon_state = "vodkatonicglass"
glass_center_of_mass = list("x"=16, "y"=7)
/datum/reagent/ethanol/white_russian
glass_icon_state = "whiterussianglass"
glass_center_of_mass = list("x"=16, "y"=9)
/datum/reagent/ethanol/whiskey_cola
glass_icon_state = "whiskeycolaglass"
glass_center_of_mass = list("x"=16, "y"=9)
/datum/reagent/ethanol/whiskeysoda
glass_icon_state = "whiskeysodaglass2"
glass_center_of_mass = list("x"=16, "y"=9)
/datum/reagent/ethanol/specialwhiskey
glass_icon_state = "whiskeyglass"
glass_center_of_mass = list("x"=16, "y"=12)
/datum/reagent/ethanol/godka
glass_icon_state = "godkabottle"
glass_center_of_mass = list("x"=17, "y"=15)
/datum/reagent/ethanol/holywine
glass_icon_state = "holywineglass"
glass_center_of_mass = list("x"=15, "y"=7)
/datum/reagent/ethanol/holy_mary
glass_icon_state = "holymaryglass"
/datum/reagent/ethanol/angelswrath
glass_icon_state = "angelswrath"
glass_center_of_mass = list("x"=16, "y"=2)
/datum/reagent/ethanol/angelskiss
glass_icon_state = "angelskiss"
glass_center_of_mass = list("x"=16, "y"=8)
/datum/reagent/ethanol/ichor_mead
glass_icon_state = "ichor_meadglass"
glass_center_of_mass = list("x"=17, "y"=10)

View File

@@ -0,0 +1,31 @@
/obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask
name = "fitness shaker"
base_name = "shaker"
desc = "Big enough to contain enough protein to get perfectly swole. Don't mind the bits."
icon_state = "fitness-cup_black"
base_icon = "fitness-cup"
volume = 100
matter = list("plastic" = 2000)
filling_states = list(10,20,30,40,50,60,70,80,90,100)
possible_transfer_amounts = list(5, 10, 15, 25)
rim_pos = null // no fruit slices
var/lid_color = "black"
/obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask/New()
..()
lid_color = pick("black", "red", "blue")
update_icon()
/obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask/update_icon()
..()
icon_state = "[base_icon]_[lid_color]"
/obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake
name = "protein shake"
/obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake/New()
..()
reagents.add_reagent("nutriment", 30)
reagents.add_reagent("iron", 10)
reagents.add_reagent("protein", 35)
reagents.add_reagent("water", 25)