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

@@ -1,166 +0,0 @@
#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

@@ -1,72 +0,0 @@
/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

@@ -1,80 +0,0 @@
/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

@@ -1,80 +0,0 @@
/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

@@ -1,544 +0,0 @@
/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

@@ -1,31 +0,0 @@
/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)

View File

@@ -1,38 +0,0 @@
#define CELLS 8
#define CELLSIZE (32/CELLS)
////////////////////////////////////////////////////////////////////////////////
/// Food.
////////////////////////////////////////////////////////////////////////////////
/obj/item/weapon/reagent_containers/food
possible_transfer_amounts = null
volume = 50 //Sets the default container amount for all food items.
var/filling_color = "#FFFFFF" //Used by sandwiches.
var/list/center_of_mass = list() // Used for table placement
/obj/item/weapon/reagent_containers/food/New()
..()
if (center_of_mass.len && !pixel_x && !pixel_y)
src.pixel_x = rand(-6.0, 6) //Randomizes postion
src.pixel_y = rand(-6.0, 6)
/obj/item/weapon/reagent_containers/food/afterattack(atom/A, mob/user, proximity, params)
if(center_of_mass.len && proximity && params && istype(A, /obj/structure/table))
//Places the item on a grid
var/list/mouse_control = params2list(params)
var/mouse_x = text2num(mouse_control["icon-x"])
var/mouse_y = text2num(mouse_control["icon-y"])
if(!isnum(mouse_x) || !isnum(mouse_y))
return
var/cell_x = max(0, min(CELLS-1, round(mouse_x/CELLSIZE)))
var/cell_y = max(0, min(CELLS-1, round(mouse_y/CELLSIZE)))
pixel_x = (CELLSIZE * (0.5 + cell_x)) - center_of_mass["x"]
pixel_y = (CELLSIZE * (0.5 + cell_y)) - center_of_mass["y"]
#undef CELLS
#undef CELLSIZE

View File

@@ -1,136 +0,0 @@
/obj/item/weapon/reagent_containers/food/drinks/cans
volume = 40 //just over one and a half cups
amount_per_transfer_from_this = 5
flags = 0 //starts closed
//DRINKS
/obj/item/weapon/reagent_containers/food/drinks/cans/cola
name = "\improper Space Cola"
desc = "Cola. in space."
icon_state = "cola"
center_of_mass = list("x"=16, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/cans/cola/New()
..()
reagents.add_reagent("cola", 30)
/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle
name = "bottled water"
desc = "Introduced to the vending machines by Skrellian request, this water comes straight from the Martian poles."
icon_state = "waterbottle"
center_of_mass = list("x"=15, "y"=8)
/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle/New()
..()
reagents.add_reagent("water", 30)
/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind
name = "\improper Space Mountain Wind"
desc = "Blows right through you like a space wind."
icon_state = "space_mountain_wind"
center_of_mass = list("x"=16, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind/New()
..()
reagents.add_reagent("spacemountainwind", 30)
/obj/item/weapon/reagent_containers/food/drinks/cans/thirteenloko
name = "\improper Thirteen Loko"
desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkeness, or even death. Please Drink Responsibly."
icon_state = "thirteen_loko"
center_of_mass = list("x"=16, "y"=8)
/obj/item/weapon/reagent_containers/food/drinks/cans/thirteenloko/New()
..()
reagents.add_reagent("thirteenloko", 30)
/obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb
name = "\improper Dr. Gibb"
desc = "A delicious mixture of 42 different flavors."
icon_state = "dr_gibb"
center_of_mass = list("x"=16, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb/New()
..()
reagents.add_reagent("dr_gibb", 30)
/obj/item/weapon/reagent_containers/food/drinks/cans/starkist
name = "\improper Star-kist"
desc = "The taste of a star in liquid form. And, a bit of tuna...?"
icon_state = "starkist"
center_of_mass = list("x"=16, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/cans/starkist/New()
..()
reagents.add_reagent("brownstar", 30)
/obj/item/weapon/reagent_containers/food/drinks/cans/space_up
name = "\improper Space-Up"
desc = "Tastes like a hull breach in your mouth."
icon_state = "space-up"
center_of_mass = list("x"=16, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/cans/space_up/New()
..()
reagents.add_reagent("space_up", 30)
/obj/item/weapon/reagent_containers/food/drinks/cans/lemon_lime
name = "\improper Lemon-Lime"
desc = "You wanted ORANGE. It gave you Lemon Lime."
icon_state = "lemon-lime"
center_of_mass = list("x"=16, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/cans/lemon_lime/New()
..()
reagents.add_reagent("lemon_lime", 30)
/obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea
name = "\improper Vrisk Serket Iced Tea"
desc = "That sweet, refreshing southern earthy flavor. That's where it's from, right? South Earth?"
icon_state = "ice_tea_can"
center_of_mass = list("x"=16, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea/New()
..()
reagents.add_reagent("icetea", 30)
/obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice
name = "\improper Grapel Juice"
desc = "500 pages of rules of how to appropriately enter into a combat with this juice!"
icon_state = "purple_can"
center_of_mass = list("x"=16, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice/New()
..()
reagents.add_reagent("grapejuice", 30)
/obj/item/weapon/reagent_containers/food/drinks/cans/tonic
name = "\improper T-Borg's Tonic Water"
desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away."
icon_state = "tonic"
center_of_mass = list("x"=16, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/cans/tonic/New()
..()
reagents.add_reagent("tonic", 50)
/obj/item/weapon/reagent_containers/food/drinks/cans/sodawater
name = "soda water"
desc = "A can of soda water. Still water's more refreshing cousin."
icon_state = "sodawater"
center_of_mass = list("x"=16, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/cans/sodawater/New()
..()
reagents.add_reagent("sodawater", 50)
/obj/item/weapon/reagent_containers/food/drinks/cans/gingerale
name = "\improper Classic Ginger Ale"
desc = "For when you need to be more retro than NanoTrasen already pays you for."
icon_state = "gingerale"
center_of_mass = list("x"=16, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/cans/gingerale/New()
..()
reagents.add_reagent("gingerale", 30)

View File

@@ -1,178 +0,0 @@
///////////////////////////////////////////////Condiments
//Notes by Darem: The condiments food-subtype is for stuff you don't actually eat but you use to modify existing food. They all
// leave empty containers when used up and can be filled/re-filled with other items. Formatting for first section is identical
// to mixed-drinks code. If you want an object that starts pre-loaded, you need to make it in addition to the other code.
//Food items that aren't eaten normally and leave an empty container behind.
/obj/item/weapon/reagent_containers/food/condiment
name = "Condiment Container"
desc = "Just your average condiment container."
icon = 'icons/obj/food.dmi'
icon_state = "emptycondiment"
flags = OPENCONTAINER
possible_transfer_amounts = list(1,5,10)
center_of_mass = list("x"=16, "y"=6)
volume = 50
/obj/item/weapon/reagent_containers/food/condiment/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
return
/obj/item/weapon/reagent_containers/food/condiment/attack_self(var/mob/user as mob)
return
/obj/item/weapon/reagent_containers/food/condiment/attack(var/mob/M as mob, var/mob/user as mob, var/def_zone)
if(standard_feed_mob(user, M))
return
/obj/item/weapon/reagent_containers/food/condiment/afterattack(var/obj/target, var/mob/user, var/flag)
if(standard_dispenser_refill(user, target))
return
if(standard_pour_into(user, target))
return
if(istype(target, /obj/item/weapon/reagent_containers/food/snacks)) // These are not opencontainers but we can transfer to them
if(!reagents || !reagents.total_volume)
user << "<span class='notice'>There is no condiment left in \the [src].</span>"
return
if(!target.reagents.get_free_space())
user << "<span class='notice'>You can't add more condiment to \the [target].</span>"
return
var/trans = reagents.trans_to_obj(target, amount_per_transfer_from_this)
user << "<span class='notice'>You add [trans] units of the condiment to \the [target].</span>"
else
..()
/obj/item/weapon/reagent_containers/food/condiment/feed_sound(var/mob/user)
playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1)
/obj/item/weapon/reagent_containers/food/condiment/self_feed_message(var/mob/user)
user << "<span class='notice'>You swallow some of contents of \the [src].</span>"
/obj/item/weapon/reagent_containers/food/condiment/on_reagent_change()
if(reagents.reagent_list.len > 0)
switch(reagents.get_master_reagent_id())
if("ketchup")
name = "Ketchup"
desc = "You feel more American already."
icon_state = "ketchup"
center_of_mass = list("x"=16, "y"=6)
if("capsaicin")
name = "Hotsauce"
desc = "You can almost TASTE the stomach ulcers now!"
icon_state = "hotsauce"
center_of_mass = list("x"=16, "y"=6)
if("enzyme")
name = "Universal Enzyme"
desc = "Used in cooking various dishes."
icon_state = "enzyme"
center_of_mass = list("x"=16, "y"=6)
if("soysauce")
name = "Soy Sauce"
desc = "A salty soy-based flavoring."
icon_state = "soysauce"
center_of_mass = list("x"=16, "y"=6)
if("frostoil")
name = "Coldsauce"
desc = "Leaves the tongue numb in its passage."
icon_state = "coldsauce"
center_of_mass = list("x"=16, "y"=6)
if("sodiumchloride")
name = "Salt Shaker"
desc = "Salt. From space oceans, presumably."
icon_state = "saltshaker"
center_of_mass = list("x"=16, "y"=10)
if("blackpepper")
name = "Pepper Mill"
desc = "Often used to flavor food or make people sneeze."
icon_state = "peppermillsmall"
center_of_mass = list("x"=16, "y"=10)
if("cornoil")
name = "Corn Oil"
desc = "A delicious oil used in cooking. Made from corn."
icon_state = "oliveoil"
center_of_mass = list("x"=16, "y"=6)
if("sugar")
name = "Sugar"
desc = "Tastey space sugar!"
center_of_mass = list("x"=16, "y"=6)
else
name = "Misc Condiment Bottle"
if (reagents.reagent_list.len==1)
desc = "Looks like it is [reagents.get_master_reagent_name()], but you are not sure."
else
desc = "A mixture of various condiments. [reagents.get_master_reagent_name()] is one of them."
icon_state = "mixedcondiments"
center_of_mass = list("x"=16, "y"=6)
else
icon_state = "emptycondiment"
name = "Condiment Bottle"
desc = "An empty condiment bottle."
center_of_mass = list("x"=16, "y"=6)
return
/obj/item/weapon/reagent_containers/food/condiment/enzyme
name = "Universal Enzyme"
desc = "Used in cooking various dishes."
icon_state = "enzyme"
/obj/item/weapon/reagent_containers/food/condiment/enzyme/New()
..()
reagents.add_reagent("enzyme", 50)
/obj/item/weapon/reagent_containers/food/condiment/sugar/New()
..()
reagents.add_reagent("sugar", 50)
/obj/item/weapon/reagent_containers/food/condiment/small
possible_transfer_amounts = list(1,20)
amount_per_transfer_from_this = 1
volume = 20
center_of_mass = list()
/obj/item/weapon/reagent_containers/food/condiment/small/on_reagent_change()
return
/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker //Seperate from above since it's a small shaker rather then
name = "salt shaker" // a large one.
desc = "Salt. From space oceans, presumably."
icon_state = "saltshakersmall"
/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker/New()
..()
reagents.add_reagent("sodiumchloride", 20)
/obj/item/weapon/reagent_containers/food/condiment/small/peppermill
name = "pepper mill"
desc = "Often used to flavor food or make people sneeze."
icon_state = "peppermillsmall"
/obj/item/weapon/reagent_containers/food/condiment/small/peppermill/New()
..()
reagents.add_reagent("blackpepper", 20)
/obj/item/weapon/reagent_containers/food/condiment/small/sugar
name = "sugar"
desc = "Sweetness in a bottle"
icon_state = "sugarsmall"
/obj/item/weapon/reagent_containers/food/condiment/small/sugar/New()
..()
reagents.add_reagent("sugar", 20)
/obj/item/weapon/reagent_containers/food/condiment/flour
name = "flour sack"
desc = "A big bag of flour. Good for baking!"
icon = 'icons/obj/food.dmi'
icon_state = "flour"
/obj/item/weapon/reagent_containers/food/condiment/flour/on_reagent_change()
return
/obj/item/weapon/reagent_containers/food/condiment/flour/New()
..()
reagents.add_reagent("flour", 30)
src.pixel_x = rand(-10.0, 10)
src.pixel_y = rand(-10.0, 10)

View File

@@ -1,313 +0,0 @@
////////////////////////////////////////////////////////////////////////////////
/// Drinks.
////////////////////////////////////////////////////////////////////////////////
/obj/item/weapon/reagent_containers/food/drinks
name = "drink"
desc = "yummy"
icon = 'icons/obj/drinks.dmi'
icon_state = null
flags = OPENCONTAINER
amount_per_transfer_from_this = 5
volume = 50
/obj/item/weapon/reagent_containers/food/drinks/on_reagent_change()
if (reagents.reagent_list.len > 0)
var/datum/reagent/R = reagents.get_master_reagent()
if(R.price_tag)
price_tag = R.price_tag
else
price_tag = null
return
/obj/item/weapon/reagent_containers/food/drinks/attack_self(mob/user as mob)
if(!is_open_container())
open(user)
/obj/item/weapon/reagent_containers/food/drinks/proc/open(mob/user)
playsound(loc,"canopen", rand(10,50), 1)
user << "<span class='notice'>You open [src] with an audible pop!</span>"
flags |= OPENCONTAINER
/obj/item/weapon/reagent_containers/food/drinks/attack(mob/M as mob, mob/user as mob, def_zone)
if(force && !(flags & NOBLUDGEON) && user.a_intent == I_HURT)
return ..()
if(standard_feed_mob(user, M))
return
return 0
/obj/item/weapon/reagent_containers/food/drinks/afterattack(obj/target, mob/user, proximity)
if(!proximity) return
if(standard_dispenser_refill(user, target))
return
if(standard_pour_into(user, target))
return
return ..()
/obj/item/weapon/reagent_containers/food/drinks/standard_feed_mob(var/mob/user, var/mob/target)
if(!is_open_container())
user << "<span class='notice'>You need to open [src]!</span>"
return 1
return ..()
/obj/item/weapon/reagent_containers/food/drinks/standard_dispenser_refill(var/mob/user, var/obj/structure/reagent_dispensers/target)
if(!is_open_container())
user << "<span class='notice'>You need to open [src]!</span>"
return 1
return ..()
/obj/item/weapon/reagent_containers/food/drinks/standard_pour_into(var/mob/user, var/atom/target)
if(!is_open_container())
user << "<span class='notice'>You need to open [src]!</span>"
return 1
return ..()
/obj/item/weapon/reagent_containers/food/drinks/self_feed_message(var/mob/user)
user << "<span class='notice'>You swallow a gulp from \the [src].</span>"
/obj/item/weapon/reagent_containers/food/drinks/feed_sound(var/mob/user)
playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1)
/obj/item/weapon/reagent_containers/food/drinks/examine(mob/user)
if(!..(user, 1))
return
if(!reagents || reagents.total_volume == 0)
user << "<span class='notice'>\The [src] is empty!</span>"
else if (reagents.total_volume <= volume * 0.25)
user << "<span class='notice'>\The [src] is almost empty!</span>"
else if (reagents.total_volume <= volume * 0.66)
user << "<span class='notice'>\The [src] is half full!</span>"
else if (reagents.total_volume <= volume * 0.90)
user << "<span class='notice'>\The [src] is almost full!</span>"
else
user << "<span class='notice'>\The [src] is full!</span>"
////////////////////////////////////////////////////////////////////////////////
/// Drinks. END
////////////////////////////////////////////////////////////////////////////////
/obj/item/weapon/reagent_containers/food/drinks/golden_cup
desc = "A golden cup"
name = "golden cup"
icon_state = "golden_cup"
item_state = "" //nope :(
w_class = ITEMSIZE_LARGE
force = 14
throwforce = 10
amount_per_transfer_from_this = 20
possible_transfer_amounts = null
volume = 150
flags = CONDUCT | OPENCONTAINER
/obj/item/weapon/reagent_containers/food/drinks/golden_cup/on_reagent_change()
..()
///////////////////////////////////////////////Drinks
//Notes by Darem: Drinks are simply containers that start preloaded. Unlike condiments, the contents can be ingested directly
// rather then having to add it to something else first. They should only contain liquids. They have a default container size of 50.
// Formatting is the same as food.
/obj/item/weapon/reagent_containers/food/drinks/milk
name = "milk carton"
desc = "It's milk. White and nutritious goodness!"
icon_state = "milk"
item_state = "carton"
center_of_mass = list("x"=16, "y"=9)
/obj/item/weapon/reagent_containers/food/drinks/milk/New()
..()
reagents.add_reagent("milk", 50)
/obj/item/weapon/reagent_containers/food/drinks/soymilk
name = "soymilk carton"
desc = "It's soy milk. White and nutritious goodness!"
icon_state = "soymilk"
item_state = "carton"
center_of_mass = list("x"=16, "y"=9)
/obj/item/weapon/reagent_containers/food/drinks/soymilk/New()
..()
reagents.add_reagent("soymilk", 50)
/obj/item/weapon/reagent_containers/food/drinks/smallmilk
name = "small milk carton"
desc = "It's milk. White and nutritious goodness!"
volume = 30
icon_state = "mini-milk"
item_state = "carton"
center_of_mass = list("x"=16, "y"=9)
/obj/item/weapon/reagent_containers/food/drinks/smallmilk/New()
..()
reagents.add_reagent("milk", 30)
/obj/item/weapon/reagent_containers/food/drinks/smallchocmilk
name = "small chocolate milk carton"
desc = "It's milk! This one is in delicious chocolate flavour."
volume = 30
icon_state = "mini-milk_choco"
item_state = "carton"
center_of_mass = list("x"=16, "y"=9)
/obj/item/weapon/reagent_containers/food/drinks/smallchocmilk/New()
..()
reagents.add_reagent("chocolate_milk", 30)
/obj/item/weapon/reagent_containers/food/drinks/coffee
name = "\improper Robust Coffee"
desc = "Careful, the beverage you're about to enjoy is extremely hot."
icon_state = "coffee"
center_of_mass = list("x"=15, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/coffee/New()
..()
reagents.add_reagent("coffee", 30)
/obj/item/weapon/reagent_containers/food/drinks/tea
name = "cup of Duke Purple Tea"
desc = "An insult to Duke Purple is an insult to the Space Queen! Any proper gentleman will fight you, if you sully this tea."
icon_state = "teacup"
item_state = "coffee"
center_of_mass = list("x"=16, "y"=14)
/obj/item/weapon/reagent_containers/food/drinks/tea/New()
..()
reagents.add_reagent("tea", 30)
/obj/item/weapon/reagent_containers/food/drinks/ice
name = "cup of ice"
desc = "Careful, cold ice, do not chew."
icon_state = "coffee"
center_of_mass = list("x"=15, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/ice/New()
..()
reagents.add_reagent("ice", 30)
/obj/item/weapon/reagent_containers/food/drinks/h_chocolate
name = "cup of Dutch hot coco"
desc = "Made in Space South America."
icon_state = "hot_coco"
item_state = "coffee"
center_of_mass = list("x"=15, "y"=13)
/obj/item/weapon/reagent_containers/food/drinks/h_chocolate/New()
..()
reagents.add_reagent("hot_coco", 30)
/obj/item/weapon/reagent_containers/food/drinks/dry_ramen
name = "Cup Ramen"
desc = "Just add 10ml water, self heats! A taste that reminds you of your school years."
icon_state = "ramen"
center_of_mass = list("x"=16, "y"=11)
/obj/item/weapon/reagent_containers/food/drinks/dry_ramen/New()
..()
reagents.add_reagent("dry_ramen", 30)
/obj/item/weapon/reagent_containers/food/drinks/sillycup
name = "paper cup"
desc = "A paper water cup."
icon_state = "water_cup_e"
possible_transfer_amounts = null
volume = 10
center_of_mass = list("x"=16, "y"=12)
/obj/item/weapon/reagent_containers/food/drinks/sillycup/New()
..()
/obj/item/weapon/reagent_containers/food/drinks/sillycup/on_reagent_change()
..()
if(reagents.total_volume)
icon_state = "water_cup"
else
icon_state = "water_cup_e"
/obj/item/weapon/reagent_containers/food/drinks/sillycup/MouseDrop(obj/over_object as obj)
if(!reagents.total_volume && istype(over_object, /obj/structure/reagent_dispensers/water_cooler))
if(over_object.Adjacent(usr))
var/obj/structure/reagent_dispensers/water_cooler/W = over_object
if(W.cupholder && W.cups < 10)
W.cups++
usr << "<span class='notice'>You put the [src] in the cup dispenser.</span>"
qdel(src)
W.update_icon()
else
return ..()
//////////////////////////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
// icon states.
/obj/item/weapon/reagent_containers/food/drinks/shaker
name = "shaker"
desc = "A metal shaker to mix drinks in."
icon_state = "shaker"
amount_per_transfer_from_this = 10
volume = 120
center_of_mass = list("x"=17, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/shaker/on_reagent_change()
..()
/obj/item/weapon/reagent_containers/food/drinks/teapot
name = "teapot"
desc = "An elegant teapot. It simply oozes class."
icon_state = "teapot"
item_state = "teapot"
amount_per_transfer_from_this = 10
volume = 120
center_of_mass = list("x"=17, "y"=7)
/obj/item/weapon/reagent_containers/food/drinks/teapot/on_reagent_change()
..()
/obj/item/weapon/reagent_containers/food/drinks/flask
name = "\improper Colony Director's flask"
desc = "A metal flask belonging to the Colony Director"
icon_state = "flask"
volume = 60
center_of_mass = list("x"=17, "y"=7)
/obj/item/weapon/reagent_containers/food/drinks/flask/on_reagent_change()
..()
/obj/item/weapon/reagent_containers/food/drinks/flask/shiny
name = "shiny flask"
desc = "A shiny metal flask. It appears to have a Greek symbol inscribed on it."
icon_state = "shinyflask"
/obj/item/weapon/reagent_containers/food/drinks/flask/lithium
name = "lithium flask"
desc = "A flask with a Lithium Atom symbol on it."
icon_state = "lithiumflask"
/obj/item/weapon/reagent_containers/food/drinks/flask/detflask
name = "\improper Detective's flask"
desc = "A metal flask with a leather band and golden badge belonging to the detective."
icon_state = "detflask"
volume = 60
center_of_mass = list("x"=17, "y"=8)
/obj/item/weapon/reagent_containers/food/drinks/flask/barflask
name = "flask"
desc = "For those who can't be bothered to hang out at the bar to drink."
icon_state = "barflask"
volume = 60
center_of_mass = list("x"=17, "y"=7)
/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask
name = "vacuum flask"
desc = "Keeping your drinks at the perfect temperature since 1892."
icon_state = "vacuumflask"
volume = 60
center_of_mass = list("x"=15, "y"=4)
/obj/item/weapon/reagent_containers/food/drinks/britcup
name = "cup"
desc = "A cup with the British flag emblazoned on it."
icon_state = "britcup"
volume = 30
center_of_mass = list("x"=15, "y"=13)
/obj/item/weapon/reagent_containers/food/drinks/britcup/on_reagent_change()
..()

View File

@@ -1,551 +0,0 @@
///////////////////////////////////////////////Alchohol bottles! -Agouri //////////////////////////
//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
/obj/item/weapon/reagent_containers/food/drinks/bottle
amount_per_transfer_from_this = 10
volume = 100
item_state = "broken_beer" //Generic held-item sprite until unique ones are made.
force = 6
var/smash_duration = 5 //Directly relates to the 'weaken' duration. Lowered by armor (i.e. helmets)
var/isGlass = 1 //Whether the 'bottle' is made of glass or not so that milk cartons dont shatter when someone gets hit by it
var/obj/item/weapon/reagent_containers/glass/rag/rag = null
var/rag_underlay = "rag"
on_reagent_change() return // To suppress price updating. Bottles have their own price tags.
/obj/item/weapon/reagent_containers/food/drinks/bottle/New()
..()
if(isGlass) unacidable = 1
/obj/item/weapon/reagent_containers/food/drinks/bottle/Destroy()
if(rag)
rag.forceMove(src.loc)
rag = null
return ..()
//when thrown on impact, bottles smash and spill their contents
/obj/item/weapon/reagent_containers/food/drinks/bottle/throw_impact(atom/hit_atom, var/speed)
..()
var/mob/M = thrower
if(isGlass && 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)
hit_atom.visible_message("<span class='notice'>The contents of \the [src] splash all over [hit_atom]!</span>")
reagents.splash(hit_atom, reagents.total_volume)
src.smash(loc, hit_atom)
/obj/item/weapon/reagent_containers/food/drinks/bottle/proc/smash_check(var/distance)
if(!isGlass || !smash_duration)
return 0
var/list/chance_table = list(100, 95, 90, 85, 75, 55, 35) //starting from distance 0
var/idx = max(distance + 1, 1) //since list indices start at 1
if(idx > chance_table.len)
return 0
return prob(chance_table[idx])
/obj/item/weapon/reagent_containers/food/drinks/bottle/proc/smash(var/newloc, atom/against = null)
if(ismob(loc))
var/mob/M = loc
M.drop_from_inventory(src)
//Creates a shattering noise and replaces the bottle with a broken_bottle
var/obj/item/weapon/broken_bottle/B = new /obj/item/weapon/broken_bottle(newloc)
if(prob(33))
new/obj/item/weapon/material/shard(newloc) // Create a glass shard at the target's location!
B.icon_state = src.icon_state
var/icon/I = new('icons/obj/drinks.dmi', src.icon_state)
I.Blend(B.broken_outline, ICON_OVERLAY, rand(5), 1)
I.SwapColor(rgb(255, 0, 220, 255), rgb(0, 0, 0, 0))
B.icon = I
if(rag && rag.on_fire && isliving(against))
rag.forceMove(loc)
var/mob/living/L = against
L.IgniteMob()
playsound(src, "shatter", 70, 1)
src.transfer_fingerprints_to(B)
qdel(src)
return B
/obj/item/weapon/reagent_containers/food/drinks/bottle/verb/smash_bottle()
set name = "Smash Bottle"
set category = "Object"
var/list/things_to_smash_on = list()
for(var/atom/A in range (1, usr))
if(A.density && usr.Adjacent(A) && !istype(A, /mob))
things_to_smash_on += A
var/atom/choice = input("Select what you want to smash the bottle on.") as null|anything in things_to_smash_on
if(!choice)
return
if(!(choice.density && usr.Adjacent(choice)))
usr << "<span class='warning'>You must stay close to your target! You moved away from \the [choice]</span>"
return
usr.put_in_hands(src.smash(usr.loc, choice))
usr.visible_message("<span class='danger'>\The [usr] smashed \the [src] on \the [choice]!</span>")
usr << "<span class='danger'>You smash \the [src] on \the [choice]!</span>"
/obj/item/weapon/reagent_containers/food/drinks/bottle/attackby(obj/item/W, mob/user)
if(!rag && istype(W, /obj/item/weapon/reagent_containers/glass/rag))
insert_rag(W, user)
return
if(rag && istype(W, /obj/item/weapon/flame))
rag.attackby(W, user)
return
..()
/obj/item/weapon/reagent_containers/food/drinks/bottle/attack_self(mob/user)
if(rag)
remove_rag(user)
else
..()
/obj/item/weapon/reagent_containers/food/drinks/bottle/proc/insert_rag(obj/item/weapon/reagent_containers/glass/rag/R, mob/user)
if(!isGlass || rag) return
if(user.unEquip(R))
user << "<span class='notice'>You stuff [R] into [src].</span>"
rag = R
rag.forceMove(src)
flags &= ~OPENCONTAINER
update_icon()
/obj/item/weapon/reagent_containers/food/drinks/bottle/proc/remove_rag(mob/user)
if(!rag) return
user.put_in_hands(rag)
rag = null
flags |= (initial(flags) & OPENCONTAINER)
update_icon()
/obj/item/weapon/reagent_containers/food/drinks/bottle/open(mob/user)
if(rag) return
..()
/obj/item/weapon/reagent_containers/food/drinks/bottle/update_icon()
underlays.Cut()
if(rag)
var/underlay_image = image(icon='icons/obj/drinks.dmi', icon_state=rag.on_fire? "[rag_underlay]_lit" : rag_underlay)
underlays += underlay_image
set_light(rag.light_range, rag.light_power, rag.light_color)
else
set_light(0)
/obj/item/weapon/reagent_containers/food/drinks/bottle/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone)
var/blocked = ..()
if(user.a_intent != I_HURT)
return
if(!smash_check(1))
return //won't always break on the first hit
// You are going to knock someone out for longer if they are not wearing a helmet.
var/weaken_duration = 0
if(blocked < 100)
weaken_duration = smash_duration + min(0, force - target.getarmor(hit_zone, "melee") + 10)
if(hit_zone == "head" && istype(target, /mob/living/carbon/))
user.visible_message("<span class='danger'>\The [user] smashes [src] over [target]'s head!</span>")
if(weaken_duration)
target.apply_effect(min(weaken_duration, 5), WEAKEN, blocked) // Never weaken more than a flash!
else
user.visible_message("<span class='danger'>\The [user] smashes [src] into [target]!</span>")
//The reagents in the bottle splash all over the target, thanks for the idea Nodrak
if(reagents)
user.visible_message("<span class='notice'>The contents of \the [src] splash all over [target]!</span>")
reagents.splash(target, reagents.total_volume)
//Finally, smash the bottle. This kills (qdel) the bottle.
var/obj/item/weapon/broken_bottle/B = smash(target.loc, target)
user.put_in_active_hand(B)
//Keeping this here for now, I'll ask if I should keep it here.
/obj/item/weapon/broken_bottle
name = "Broken Bottle"
desc = "A bottle with a sharp broken bottom."
icon = 'icons/obj/drinks.dmi'
icon_state = "broken_bottle"
force = 10
throwforce = 5
throw_speed = 3
throw_range = 5
item_state = "beer"
attack_verb = list("stabbed", "slashed", "attacked")
sharp = 1
edge = 0
var/icon/broken_outline = icon('icons/obj/drinks.dmi', "broken")
/obj/item/weapon/broken_bottle/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
return ..()
/obj/item/weapon/reagent_containers/food/drinks/bottle/gin
name = "Griffeater Gin"
desc = "A bottle of high quality gin, produced in Alpha Centauri."
icon_state = "ginbottle"
center_of_mass = list("x"=16, "y"=4)
/obj/item/weapon/reagent_containers/food/drinks/bottle/gin/New()
..()
reagents.add_reagent("gin", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey
name = "Uncle Git's Special Reserve"
desc = "A premium single-malt whiskey, gently matured inside the tunnels of a nuclear shelter."
icon_state = "whiskeybottle"
center_of_mass = list("x"=16, "y"=3)
/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey/New()
..()
reagents.add_reagent("whiskey", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey
name = "Special Blend Whiskey"
desc = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything."
icon_state = "whiskeybottle2"
center_of_mass = list("x"=16, "y"=3)
/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey/New()
..()
reagents.add_reagent("specialwhiskey", 100)
/obj/item/weapon/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"=3)
/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka/New()
..()
reagents.add_reagent("vodka", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla
name = "Caccavo Guaranteed Quality Tequilla"
desc = "Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!"
icon_state = "tequillabottle"
center_of_mass = list("x"=16, "y"=3)
/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla/New()
..()
reagents.add_reagent("tequilla", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing
name = "Bottle of Nothing"
desc = "A bottle filled with nothing"
icon_state = "bottleofnothing"
center_of_mass = list("x"=17, "y"=5)
/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing/New()
..()
reagents.add_reagent("nothing", 100)
/obj/item/weapon/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"=6)
/obj/item/weapon/reagent_containers/food/drinks/bottle/patron/New()
..()
reagents.add_reagent("patron", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/rum
name = "Captain Pete's Cuban Spiced Rum"
desc = "This isn't just rum, oh no. It's practically Cuba in a bottle."
icon_state = "rumbottle"
center_of_mass = list("x"=16, "y"=8)
/obj/item/weapon/reagent_containers/food/drinks/bottle/rum/New()
..()
reagents.add_reagent("rum", 100)
/obj/item/weapon/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)
/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater/New()
..()
reagents.add_reagent("holywater", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth
name = "Goldeneye Vermouth"
desc = "Sweet, sweet dryness~"
icon_state = "vermouthbottle"
center_of_mass = list("x"=17, "y"=3)
/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth/New()
..()
reagents.add_reagent("vermouth", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua
name = "Robert Robust's Coffee Liqueur"
desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936."
icon_state = "kahluabottle"
center_of_mass = list("x"=17, "y"=3)
/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua/New()
..()
reagents.add_reagent("kahlua", 100)
/obj/item/weapon/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"=15, "y"=3)
/obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager/New()
..()
reagents.add_reagent("goldschlager", 100)
/obj/item/weapon/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."
icon_state = "cognacbottle"
center_of_mass = list("x"=16, "y"=6)
/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac/New()
..()
reagents.add_reagent("cognac", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/wine
name = "Doublebeard Bearded Special Wine"
desc = "Cheap cooking wine pretending to be drinkable."
icon_state = "winebottle"
center_of_mass = list("x"=16, "y"=4)
/obj/item/weapon/reagent_containers/food/drinks/bottle/wine/New()
..()
reagents.add_reagent("wine", 100)
/obj/item/weapon/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"=6)
/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe/New()
..()
reagents.add_reagent("absinthe", 100)
/obj/item/weapon/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)
/obj/item/weapon/reagent_containers/food/drinks/bottle/melonliquor/New()
..()
reagents.add_reagent("melonliquor", 100)
/obj/item/weapon/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.
center_of_mass = list("x"=16, "y"=6)
/obj/item/weapon/reagent_containers/food/drinks/bottle/bluecuracao/New()
..()
reagents.add_reagent("bluecuracao", 100)
/obj/item/weapon/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"
center_of_mass = list("x"=16, "y"=6)
/obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine/New()
..()
reagents.add_reagent("grenadine", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/cola
name = "\improper Space Cola"
desc = "Cola. in space"
icon_state = "colabottle"
center_of_mass = list("x"=16, "y"=6)
/obj/item/weapon/reagent_containers/food/drinks/bottle/cola/New()
..()
reagents.add_reagent("cola", 100)
/obj/item/weapon/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)
/obj/item/weapon/reagent_containers/food/drinks/bottle/space_up/New()
..()
reagents.add_reagent("space_up", 100)
/obj/item/weapon/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)
/obj/item/weapon/reagent_containers/food/drinks/bottle/space_mountain_wind/New()
..()
reagents.add_reagent("spacemountainwind", 100)
/obj/item/weapon/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)
/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine/New()
..()
reagents.add_reagent("pwine", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew
name = "Redeemer's Brew"
desc = "Just opening the top of this bottle makes you feel a bit tipsy. Not for the faint of heart."
icon_state = "redeemersbrew"
center_of_mass = list("x"=16, "y"=3)
/obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew/New()
..()
reagents.add_reagent("unathiliquor", 100)
//////////////////////////JUICES AND STUFF ///////////////////////
/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice
name = "Orange Juice"
desc = "Full of vitamins and deliciousness!"
icon_state = "orangejuice"
item_state = "carton"
center_of_mass = list("x"=16, "y"=7)
isGlass = 0
/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice/New()
..()
reagents.add_reagent("orangejuice", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/applejuice
name = "Apple Juice"
desc = "Squeezed, pressed and ground to perfection!"
icon_state = "applejuice"
item_state = "carton"
center_of_mass = list("x"=16, "y"=7)
isGlass = 0
/obj/item/weapon/reagent_containers/food/drinks/bottle/applejuice/New()
..()
reagents.add_reagent("applejuice", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/milk
name = "Large Milk Carton"
desc = "It's milk. This carton's large enough to serve your biggest milk drinkers."
icon_state = "milk"
item_state = "carton"
center_of_mass = list("x"=16, "y"=9)
isGlass = 0
/obj/item/weapon/reagent_containers/food/drinks/bottle/milk/New()
..()
reagents.add_reagent("milk", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/cream
name = "Milk Cream"
desc = "It's cream. Made from milk. What else did you think you'd find in there?"
icon_state = "cream"
item_state = "carton"
center_of_mass = list("x"=16, "y"=8)
isGlass = 0
/obj/item/weapon/reagent_containers/food/drinks/bottle/cream/New()
..()
reagents.add_reagent("cream", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice
name = "Tomato Juice"
desc = "Well, at least it LOOKS like tomato juice. You can't tell with all that redness."
icon_state = "tomatojuice"
item_state = "carton"
center_of_mass = list("x"=16, "y"=8)
isGlass = 0
/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice/New()
..()
reagents.add_reagent("tomatojuice", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice
name = "Lime Juice"
desc = "Sweet-sour goodness."
icon_state = "limejuice"
item_state = "carton"
center_of_mass = list("x"=16, "y"=8)
isGlass = 0
/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice/New()
..()
reagents.add_reagent("limejuice", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/lemonjuice
name = "Lemon Juice"
desc = "Sweet-sour goodness. Minus the sweet."
icon_state = "lemonjuice"
item_state = "carton"
center_of_mass = list("x"=16, "y"=8)
isGlass = 0
/obj/item/weapon/reagent_containers/food/drinks/bottle/lemonjuice/New()
..()
reagents.add_reagent("lemonjuice", 100)
//Small bottles
/obj/item/weapon/reagent_containers/food/drinks/bottle/small
volume = 50
smash_duration = 1
flags = 0 //starts closed
rag_underlay = "rag_small"
/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer
name = "space beer"
desc = "Contains only water, malt and hops."
icon_state = "beer"
center_of_mass = list("x"=16, "y"=12)
/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/New()
..()
reagents.add_reagent("beer", 30)
/obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale
name = "\improper Magm-Ale"
desc = "A true dorf's drink of choice."
icon_state = "alebottle"
item_state = "beer"
center_of_mass = list("x"=16, "y"=10)
/obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale/New()
..()
reagents.add_reagent("ale", 30)
/obj/item/weapon/reagent_containers/food/drinks/bottle/sake
name = "Mono-No-Aware Luxury Sake"
desc = "Dry alcohol made from rice, a favorite of businessmen."
icon_state = "sakebottle"
center_of_mass = list("x"=16, "y"=3)
/obj/item/weapon/reagent_containers/food/drinks/bottle/sake/New()
..()
reagents.add_reagent("sake", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne
name = "Gilthari Luxury Champagne"
desc = "For those special occassions."
icon_state = "champagne"
/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne/New()
..()
reagents.add_reagent("champagne", 100)

View File

@@ -1,39 +0,0 @@
/obj/item/weapon/reagent_containers/food/drinks/cup
name = "coffee cup"
desc = "The container of oriental luxuries."
icon_state = "cup_empty"
amount_per_transfer_from_this = 5
volume = 30
center_of_mass = list("x"=16, "y"=16)
/obj/item/weapon/reagent_containers/food/drinks/cup/on_reagent_change()
..()
if (reagents.reagent_list.len > 0)
var/datum/reagent/R = reagents.get_master_reagent()
if(R.cup_icon_state)
icon_state = R.cup_icon_state
else
icon_state = "cup_brown"
if(R.cup_name)
name = R.cup_name
else
name = "Cup of.. what?"
if(R.cup_desc)
desc = R.cup_desc
else
desc = "You can't really tell what this is."
if(R.cup_center_of_mass)
center_of_mass = R.cup_center_of_mass
else
center_of_mass = list("x"=16, "y"=16)
else
icon_state = "cup_empty"
name = "coffee cup"
desc = "The container of oriental luxuries."
center_of_mass = list("x"=16, "y"=16)
return

View File

@@ -1,178 +0,0 @@
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass
name = "glass"
desc = "Your standard drinking glass."
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)
on_reagent_change()
/*if(reagents.reagent_list.len > 1 )
icon_state = "glass_brown"
name = "Glass of Hooch"
desc = "Two or more drinks, mixed together."*/
/*else if(reagents.reagent_list.len == 1)
for(var/datum/reagent/R in reagents.reagent_list)
switch(R.id)*/
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 = "glass"
desc = "Your standard drinking glass."
center_of_mass = list("x"=16, "y"=10)
return
/obj/item/weapon/reagent_containers/food/drinks/cup
name = "coffee cup"
desc = "The container of oriental luxuries."
icon_state = "cup_empty"
amount_per_transfer_from_this = 5
volume = 30
center_of_mass = list("x"=16, "y"=16)
on_reagent_change()
if (reagents.reagent_list.len > 0)
var/datum/reagent/R = reagents.get_master_reagent()
if(R.cup_icon_state)
icon_state = R.cup_icon_state
else
icon_state = "cup_brown"
if(R.cup_name)
name = R.cup_name
else
name = "Cup of.. what?"
if(R.cup_desc)
desc = R.cup_desc
else
desc = "You can't really tell what this is."
if(R.cup_center_of_mass)
center_of_mass = R.cup_center_of_mass
else
center_of_mass = list("x"=16, "y"=16)
if(R.price_tag)
price_tag = R.price_tag
else
price_tag = null
else
icon_state = "cup_empty"
name = "coffee cup"
desc = "The container of oriental luxuries."
center_of_mass = list("x"=16, "y"=16)
return
// for /obj/machinery/vending/sovietsoda
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/soda
New()
..()
reagents.add_reagent("sodawater", 50)
on_reagent_change()
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/cola
New()
..()
reagents.add_reagent("cola", 50)
on_reagent_change()
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass
name = "shot glass"
desc = "No glasses were shot in the making of this glass."
icon_state = "shotglass"
amount_per_transfer_from_this = 10
volume = 10
matter = list("glass" = 175)
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass/on_reagent_change()
overlays.Cut()
if(reagents.total_volume)
var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]1")
switch(reagents.total_volume)
if(0 to 3) filling.icon_state = "[icon_state]1"
if(4 to 7) filling.icon_state = "[icon_state]5"
if(8 to INFINITY) filling.icon_state = "[icon_state]12"
filling.color += reagents.get_color()
overlays += filling
name = "shot glass of " + reagents.get_master_reagent_name() //No matter what, the glass will tell you the reagent's name. Might be too abusable in the future.
else
name = "shot glass"
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask
name = "fitness shaker"
desc = "Big enough to contain enough protein to get perfectly swole. Don't mind the bits."
icon_state = "fitness-cup_black"
volume = 100
matter = list("plastic" = 2000)
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/New()
..()
icon_state = pick("fitness-cup_black", "fitness-cup_red", "fitness-cup_black")
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/on_reagent_change()
overlays.Cut()
if(reagents.total_volume)
var/image/filling = image('icons/obj/reagentfillings.dmi', src, "fitness-cup10")
switch(reagents.total_volume)
if(0 to 10) filling.icon_state = "fitness-cup10"
if(11 to 20) filling.icon_state = "fitness-cup20"
if(21 to 29) filling.icon_state = "fitness-cup30"
if(30 to 39) filling.icon_state = "fitness-cup40"
if(40 to 49) filling.icon_state = "fitness-cup50"
if(50 to 59) filling.icon_state = "fitness-cup60"
if(60 to 69) filling.icon_state = "fitness-cup70"
if(70 to 79) filling.icon_state = "fitness-cup80"
if(80 to 89) filling.icon_state = "fitness-cup90"
if(90 to INFINITY) filling.icon_state = "fitness-cup100"
filling.color += reagents.get_color()
overlays += filling
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake
name = "protein shake"
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake/New()
..()
reagents.add_reagent("nutriment", 30)
reagents.add_reagent("iron", 10)
reagents.add_reagent("protein", 15)
reagents.add_reagent("water", 45)
on_reagent_change()

View File

@@ -1,25 +0,0 @@
///jar
/obj/item/weapon/reagent_containers/food/drinks/jar
name = "empty jar"
desc = "A jar. You're not sure what it's supposed to hold."
icon_state = "jar"
item_state = "beaker"
center_of_mass = list("x"=15, "y"=8)
unacidable = 1
/obj/item/weapon/reagent_containers/food/drinks/jar/on_reagent_change()
if (reagents.reagent_list.len > 0)
switch(reagents.get_master_reagent_id())
if("slime")
icon_state = "jar_slime"
name = "slime jam"
desc = "A jar of slime jam. Delicious!"
else
icon_state ="jar_what"
name = "jar of something"
desc = "You can't really tell what this is."
else
icon_state = "jar"
name = "empty jar"
desc = "A jar. You're not sure what it's supposed to hold."
return

View File

@@ -1,120 +0,0 @@
var/list/lunchables_lunches_ = list(/obj/item/weapon/reagent_containers/food/snacks/sandwich,
/obj/item/weapon/reagent_containers/food/snacks/slice/meatbread/filled,
/obj/item/weapon/reagent_containers/food/snacks/slice/tofubread/filled,
/obj/item/weapon/reagent_containers/food/snacks/slice/creamcheesebread/filled,
/obj/item/weapon/reagent_containers/food/snacks/slice/margherita/filled,
/obj/item/weapon/reagent_containers/food/snacks/slice/meatpizza/filled,
/obj/item/weapon/reagent_containers/food/snacks/slice/mushroompizza/filled,
/obj/item/weapon/reagent_containers/food/snacks/slice/vegetablepizza/filled,
/obj/item/weapon/reagent_containers/food/snacks/tastybread,
/obj/item/weapon/reagent_containers/food/snacks/liquidfood,
/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry,
/obj/item/weapon/reagent_containers/food/snacks/tossedsalad)
var/list/lunchables_snacks_ = list(/obj/item/weapon/reagent_containers/food/snacks/donut/jelly,
/obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly,
/obj/item/weapon/reagent_containers/food/snacks/muffin,
/obj/item/weapon/reagent_containers/food/snacks/popcorn,
/obj/item/weapon/reagent_containers/food/snacks/sosjerky,
/obj/item/weapon/reagent_containers/food/snacks/unajerky,
/obj/item/weapon/reagent_containers/food/snacks/no_raisin,
/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie,
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers,
/obj/item/weapon/reagent_containers/food/snacks/poppypretzel,
/obj/item/weapon/reagent_containers/food/snacks/carrotfries,
/obj/item/weapon/reagent_containers/food/snacks/candiedapple,
/obj/item/weapon/reagent_containers/food/snacks/applepie,
/obj/item/weapon/reagent_containers/food/snacks/cherrypie,
/obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit,
/obj/item/weapon/reagent_containers/food/snacks/appletart,
/obj/item/weapon/reagent_containers/food/snacks/slice/carrotcake/filled,
/obj/item/weapon/reagent_containers/food/snacks/slice/cheesecake/filled,
/obj/item/weapon/reagent_containers/food/snacks/slice/plaincake/filled,
/obj/item/weapon/reagent_containers/food/snacks/slice/orangecake/filled,
/obj/item/weapon/reagent_containers/food/snacks/slice/limecake/filled,
/obj/item/weapon/reagent_containers/food/snacks/slice/lemoncake/filled,
/obj/item/weapon/reagent_containers/food/snacks/slice/chocolatecake/filled,
/obj/item/weapon/reagent_containers/food/snacks/slice/birthdaycake/filled,
/obj/item/weapon/reagent_containers/food/snacks/watermelonslice,
/obj/item/weapon/reagent_containers/food/snacks/slice/applecake/filled,
/obj/item/weapon/reagent_containers/food/snacks/slice/pumpkinpie/filled,
/obj/item/weapon/reagent_containers/food/snacks/skrellsnacks)
var/list/lunchables_drinks_ = list(/obj/item/weapon/reagent_containers/food/drinks/cans/cola,
/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,
/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind,
/obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb,
/obj/item/weapon/reagent_containers/food/drinks/cans/starkist,
/obj/item/weapon/reagent_containers/food/drinks/cans/space_up,
/obj/item/weapon/reagent_containers/food/drinks/cans/lemon_lime,
/obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea,
/obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice,
/obj/item/weapon/reagent_containers/food/drinks/cans/tonic,
/obj/item/weapon/reagent_containers/food/drinks/cans/sodawater)
// This default list is a bit different, it contains items we don't want
var/list/lunchables_drink_reagents_ = list(/datum/reagent/drink/nothing,
/datum/reagent/drink/doctor_delight,
/datum/reagent/drink/dry_ramen,
/datum/reagent/drink/hell_ramen,
/datum/reagent/drink/hot_ramen,
/datum/reagent/drink/soda/nuka_cola)
// This default list is a bit different, it contains items we don't want
var/list/lunchables_ethanol_reagents_ = list(/datum/reagent/ethanol/acid_spit,
/datum/reagent/ethanol/atomicbomb,
/datum/reagent/ethanol/beepsky_smash,
/datum/reagent/ethanol/coffee,
/datum/reagent/ethanol/hippies_delight,
/datum/reagent/ethanol/hooch,
/datum/reagent/ethanol/thirteenloko,
/datum/reagent/ethanol/manhattan_proj,
/datum/reagent/ethanol/neurotoxin,
/datum/reagent/ethanol/pwine,
/datum/reagent/ethanol/threemileisland,
/datum/reagent/ethanol/toxins_special,
/datum/reagent/ethanol/voxdelight,
/datum/reagent/ethanol/soemmerfire,
/datum/reagent/ethanol/slimeshot)
/proc/lunchables_lunches()
if(!(lunchables_lunches_[lunchables_lunches_[1]]))
lunchables_lunches_ = init_lunchable_list(lunchables_lunches_)
return lunchables_lunches_
/proc/lunchables_snacks()
if(!(lunchables_snacks_[lunchables_snacks_[1]]))
lunchables_snacks_ = init_lunchable_list(lunchables_snacks_)
return lunchables_snacks_
/proc/lunchables_drinks()
if(!(lunchables_drinks_[lunchables_drinks_[1]]))
lunchables_drinks_ = init_lunchable_list(lunchables_drinks_)
return lunchables_drinks_
/proc/lunchables_drink_reagents()
if(!(lunchables_drink_reagents_[lunchables_drink_reagents_[1]]))
lunchables_drink_reagents_ = init_lunchable_reagent_list(lunchables_drink_reagents_, /datum/reagent/drink)
return lunchables_drink_reagents_
/proc/lunchables_ethanol_reagents()
if(!(lunchables_ethanol_reagents_[lunchables_ethanol_reagents_[1]]))
lunchables_ethanol_reagents_ = init_lunchable_reagent_list(lunchables_ethanol_reagents_, /datum/reagent/ethanol)
return lunchables_ethanol_reagents_
/proc/init_lunchable_list(var/list/lunches)
. = list()
for(var/lunch in lunches)
var/obj/O = lunch
.[initial(O.name)] = lunch
return sortAssoc(.)
/proc/init_lunchable_reagent_list(var/list/banned_reagents, var/reagent_types)
. = list()
for(var/reagent_type in subtypesof(reagent_types))
if(reagent_type in banned_reagents)
continue
var/datum/reagent/reagent = reagent_type
.[initial(reagent.name)] = initial(reagent.id)
return sortAssoc(.)

View File

@@ -1,101 +0,0 @@
/obj/item/weapon/reagent_containers/food/snacks/slice/bread/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W,/obj/item/weapon/material/shard) || istype(W,/obj/item/weapon/reagent_containers/food/snacks))
var/obj/item/weapon/reagent_containers/food/snacks/csandwich/S = new(get_turf(src))
S.attackby(W,user)
qdel(src)
..()
/obj/item/weapon/reagent_containers/food/snacks/csandwich
name = "sandwich"
desc = "The best thing since sliced bread."
icon_state = "breadslice"
trash = /obj/item/trash/plate
bitesize = 2
var/list/ingredients = list()
/obj/item/weapon/reagent_containers/food/snacks/csandwich/attackby(obj/item/W as obj, mob/user as mob)
var/sandwich_limit = 4
for(var/obj/item/O in ingredients)
if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/slice/bread))
sandwich_limit += 4
if(istype(W,/obj/item/weapon/material/shard))
user << "<font color='blue'>You hide [W] in \the [src].</font>"
user.drop_item()
W.loc = src
update()
return
else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks))
if(src.contents.len > sandwich_limit)
user << "<font color='red'>If you put anything else on \the [src] it's going to collapse.</font>"
return
user << "<font color='blue'>You layer [W] over \the [src].</font>"
var/obj/item/weapon/reagent_containers/F = W
F.reagents.trans_to_obj(src, F.reagents.total_volume)
user.drop_item()
W.loc = src
ingredients += W
update()
return
..()
/obj/item/weapon/reagent_containers/food/snacks/csandwich/proc/update()
var/fullname = "" //We need to build this from the contents of the var.
var/i = 0
overlays.Cut()
for(var/obj/item/weapon/reagent_containers/food/snacks/O in ingredients)
i++
if(i == 1)
fullname += "[O.name]"
else if(i == ingredients.len)
fullname += " and [O.name]"
else
fullname += ", [O.name]"
var/image/I = new(src.icon, "sandwich_filling")
I.color = O.filling_color
I.pixel_x = pick(list(-1,0,1))
I.pixel_y = (i*2)+1
overlays += I
var/image/T = new(src.icon, "sandwich_top")
T.pixel_x = pick(list(-1,0,1))
T.pixel_y = (ingredients.len * 2)+1
overlays += T
name = lowertext("[fullname] sandwich")
if(length(name) > 80) name = "[pick(list("absurd","colossal","enormous","ridiculous"))] sandwich"
w_class = n_ceil(Clamp((ingredients.len/2),2,4))
/obj/item/weapon/reagent_containers/food/snacks/csandwich/Destroy()
for(var/obj/item/O in ingredients)
qdel(O)
..()
/obj/item/weapon/reagent_containers/food/snacks/csandwich/examine(mob/user)
..(user)
var/obj/item/O = pick(contents)
user << "<font color='blue'>You think you can see [O.name] in there.</font>"
/obj/item/weapon/reagent_containers/food/snacks/csandwich/attack(mob/M as mob, mob/user as mob, def_zone)
var/obj/item/shard
for(var/obj/item/O in contents)
if(istype(O,/obj/item/weapon/material/shard))
shard = O
break
var/mob/living/H
if(istype(M,/mob/living))
H = M
if(H && shard && M == user) //This needs a check for feeding the food to other people, but that could be abusable.
H << "<font color='red'>You lacerate your mouth on a [shard.name] in the sandwich!</font>"
H.adjustBruteLoss(5) //TODO: Target head if human. //This TODO has been here for 4 years.
..()

File diff suppressed because it is too large Load Diff

View File

@@ -1,37 +0,0 @@
/obj/item/weapon/reagent_containers/food/snacks/meat
name = "meat"
desc = "A slab of meat."
icon_state = "meat"
health = 180
filling_color = "#FF1C1C"
center_of_mass = list("x"=16, "y"=14)
/obj/item/weapon/reagent_containers/food/snacks/meat/New()
..()
reagents.add_reagent("protein", 9)
src.bitesize = 3
/obj/item/weapon/reagent_containers/food/snacks/meat/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W,/obj/item/weapon/material/knife))
new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src)
new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src)
new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src)
user << "You cut the meat into thin strips."
qdel(src)
else
..()
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh
name = "synthetic meat"
desc = "A synthetic slab of flesh."
// Seperate definitions because some food likes to know if it's human.
// TODO: rewrite kitchen code to check a var on the meat item so we can remove
// all these sybtypes.
/obj/item/weapon/reagent_containers/food/snacks/meat/human
/obj/item/weapon/reagent_containers/food/snacks/meat/monkey
//same as plain meat
/obj/item/weapon/reagent_containers/food/snacks/meat/corgi
name = "Corgi meat"
desc = "Tastes like... well, you know."

View File

@@ -1,175 +0,0 @@
//Not to be confused with /obj/item/weapon/reagent_containers/food/drinks/bottle
/obj/item/weapon/reagent_containers/glass/bottle
name = "bottle"
desc = "A small bottle."
icon = 'icons/obj/chemical.dmi'
icon_state = null
item_state = "atoxinbottle"
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,25,30,60)
flags = 0
volume = 60
/obj/item/weapon/reagent_containers/glass/bottle/on_reagent_change()
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/pickup(mob/user)
..()
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/dropped(mob/user)
..()
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/attack_hand()
..()
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/New()
..()
if(!icon_state)
icon_state = "bottle-[rand(1,4)]"
/obj/item/weapon/reagent_containers/glass/bottle/update_icon()
overlays.Cut()
if(reagents.total_volume && (icon_state == "bottle-1" || icon_state == "bottle-2" || icon_state == "bottle-3" || icon_state == "bottle-4"))
var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]10")
var/percent = round((reagents.total_volume / volume) * 100)
switch(percent)
if(0 to 9) filling.icon_state = "[icon_state]--10"
if(10 to 24) filling.icon_state = "[icon_state]-10"
if(25 to 49) filling.icon_state = "[icon_state]-25"
if(50 to 74) filling.icon_state = "[icon_state]-50"
if(75 to 79) filling.icon_state = "[icon_state]-75"
if(80 to 90) filling.icon_state = "[icon_state]-80"
if(91 to INFINITY) filling.icon_state = "[icon_state]-100"
filling.color = reagents.get_color()
overlays += filling
if (!is_open_container())
var/image/lid = image(icon, src, "lid_bottle")
overlays += lid
/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline
name = "inaprovaline bottle"
desc = "A small bottle. Contains inaprovaline - used to stabilize patients."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
prefill = list("inaprovaline" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/toxin
name = "toxin bottle"
desc = "A small bottle of toxins. Do not drink, it is poisonous."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-3"
prefill = list("toxin" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/cyanide
name = "cyanide bottle"
desc = "A small bottle of cyanide. Bitter almonds?"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-3"
prefill = list("cyanide" = 30) //volume changed to match chloral
/obj/item/weapon/reagent_containers/glass/bottle/stoxin
name = "soporific bottle"
desc = "A small bottle of soporific. Just the fumes make you sleepy."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-3"
prefill = list("stoxin" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate
name = "chloral hydrate bottle"
desc = "A small bottle of Choral Hydrate. Mickey's Favorite!"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-3"
prefill = list("chloralhydrate" = 30) //Intentionally low since it is so strong. Still enough to knock someone out.
/obj/item/weapon/reagent_containers/glass/bottle/antitoxin
name = "dylovene bottle"
desc = "A small bottle of dylovene. Counters poisons, and repairs damage. A wonder drug."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
prefill = list("anti_toxin" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/mutagen
name = "unstable mutagen bottle"
desc = "A small bottle of unstable mutagen. Randomly changes the DNA structure of whoever comes in contact."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-1"
prefill = list("mutagen" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/ammonia
name = "ammonia bottle"
desc = "A small bottle."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-1"
prefill = list("ammonia" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/eznutrient
name = "\improper EZ NUtrient bottle"
desc = "A small bottle."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
prefill = list("eznutrient" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/left4zed
name = "\improper Left-4-Zed bottle"
desc = "A small bottle."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
prefill = list("left4zed" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/robustharvest
name = "\improper Robust Harvest"
desc = "A small bottle."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
prefill = list("robustharvest" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/diethylamine
name = "diethylamine bottle"
desc = "A small bottle."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
prefill = list("diethylamine" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/pacid
name = "polytrinic acid bottle"
desc = "A small bottle. Contains a small amount of Polytrinic Acid"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
prefill = list("pacid" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine
name = "adminordrazine bottle"
desc = "A small bottle. Contains the liquid essence of the gods."
icon = 'icons/obj/drinks.dmi'
icon_state = "holyflask"
prefill = list("adminordrazine" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/capsaicin
name = "capsaicin bottle"
desc = "A small bottle. Contains hot sauce."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
prefill = list("capsaicin" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/frostoil
name = "frost oil bottle"
desc = "A small bottle. Contains cold sauce."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
prefill = list("frostoil" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/biomass
name = "biomass bottle"
desc = "A bottle of raw biomass! Gross!"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-3"
prefill = list("biomass" = 60)

View File

@@ -1,25 +0,0 @@
/obj/item/weapon/reagent_containers/glass/bottle/robot
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,25,30,50,100)
flags = OPENCONTAINER
volume = 60
var/reagent = ""
/obj/item/weapon/reagent_containers/glass/bottle/robot/inaprovaline
name = "internal inaprovaline bottle"
desc = "A small bottle. Contains inaprovaline - used to stabilize patients."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
reagent = "inaprovaline"
prefill = list("inaprovaline" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/robot/antitoxin
name = "internal anti-toxin bottle"
desc = "A small bottle of Anti-toxins. Counters poisons, and repairs damage, a wonder drug."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
reagent = "anti_toxin"
prefill = list("anti_toxin" = 60)