Reagent Containers : The 3/4thening & Contained Spritening (and other related food things) (#17231)

* food and drink

* sabrage

* kanpai and blasted on grain alcohol

* beakers

* Update code/modules/reagents/reagent_containers/food/cans.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

* Update code/modules/reagents/reagent_containers/food/cans.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

* Update code/modules/reagents/reagent_containers/food/cans.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

* Update code/modules/reagents/reagent_containers/food/cans.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

* Update code/modules/reagents/reagent_containers/food/cans.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

* Update code/modules/reagents/reagent_containers/food/drinks/bottle.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

* Update code/modules/reagents/reagent_containers/food/drinks/bottle.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

* changelog

* the contained sprite-ening....

* deletes old file

* teapot

* aaaaahhhh

* AAAGH INHANDS

* volume = 30

* fixes invalid icon state

* is this really that fucking esoteric

* Revert "is this really that fucking esoteric"

This reverts commit 5b238c7821.

* this should fix it maybe

* fixes 2

* the simple solution

* skibidi toilet

* god dammit

* jyalra

* redundancy

---------

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
This commit is contained in:
Wowzewow (Wezzy)
2023-09-07 02:54:20 +08:00
committed by GitHub
parent 45709e1924
commit cc8eab09ef
123 changed files with 1084 additions and 793 deletions
+1 -1
View File
@@ -660,7 +660,7 @@ var/list/asset_datums = list()
/datum/asset/spritesheet/chem_master
name = "chemmaster"
cross_round_cachable = FALSE
var/list/bottle_sprites = list("bottle-1", "bottle-2", "bottle-3", "bottle-4", "bottle-5", "bottle-6")
var/list/bottle_sprites = list("bottle-1", "bottle-2", "bottle-3", "bottle-4")
var/max_pill_sprite = 20
/datum/asset/spritesheet/chem_master/register()
@@ -237,11 +237,10 @@
desc = "An outdated medical apparatus for listening to the sounds of the human body. It also makes you look like you know what you're doing."
desc_info = "Click on the UI action button toggle between the examination modes. Automatic will use the stethoscope on the person you're \
examining when adjacent to them, automatically using it on the selected body part. Manual will make it so you don't automatically use it via examine."
icon = 'icons/clothing/accessories/stethoscope.dmi'
icon_state = "stethoscope"
item_icons = list(
slot_l_hand_str = 'icons/mob/items/lefthand_medical.dmi',
slot_r_hand_str = 'icons/mob/items/righthand_medical.dmi',
)
item_state = "stethoscope"
contained_sprite = TRUE
flippable = 1
var/auto_examine = FALSE
@@ -3,7 +3,7 @@
//which can be checked against recipe requirements in order to cook recipes that require several things
/obj/item/reagent_containers/cooking_container
icon = 'icons/obj/cooking_machines.dmi'
icon = 'icons/obj/item/reagent_containers/cooking_container.dmi'
var/shortname
var/place_verb = "into"
var/max_space = 20//Maximum sum of w-classes of foods in this container at once
@@ -337,7 +337,6 @@
name = "mixing bowl"
shortname = "bowl"
desc = "A bowl. You bowl foods... wait, what?"
icon = 'icons/obj/kitchen.dmi'
icon_state = "mixingbowl"
filling_states = "-10;10;25;50;75;80;100"
center_of_mass = list("x" = 17,"y" = 7)
@@ -350,7 +349,6 @@
/obj/item/reagent_containers/cooking_container/board/bowl/update_icon()
cut_overlays()
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "[icon_state][get_filling_state()]")
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state][get_filling_state()]")
filling.color = reagents.get_color()
add_overlay(filling)
+2 -2
View File
@@ -40,7 +40,7 @@
reagents = list(/singleton/reagent/water = 10)
result = /obj/item/reagent_containers/food/snacks/soup/tomato
/singleton/recipe/milosoup
/singleton/recipe/misosoup
appliance = POT
reagents = list(/singleton/reagent/water = 10)
items = list(
@@ -49,7 +49,7 @@
/obj/item/reagent_containers/food/snacks/tofu,
/obj/item/reagent_containers/food/snacks/tofu
)
result = /obj/item/reagent_containers/food/snacks/soup/milo
result = /obj/item/reagent_containers/food/snacks/soup/miso
/singleton/recipe/bloodsoup
appliance = SAUCEPAN | POT
+5 -5
View File
@@ -122,7 +122,7 @@ All custom items with worn sprites must follow the contained sprite system: http
icon_state = "oz_plushie"
/obj/item/reagent_containers/food/drinks/teapot/fluff/brianne_teapot //Ceramic Teapot - Sean Brianne - zelmana
/obj/item/reagent_containers/glass/teapot/fluff/brianne_teapot //Ceramic Teapot - Sean Brianne - zelmana
name = "ceramic teapot"
desc = "A blue ceramic teapot, gilded with the abbreviation for NanoTrasen."
icon = 'icons/obj/custom_items/brianne_items.dmi'
@@ -585,7 +585,7 @@ All custom items with worn sprites must follow the contained sprite system: http
user.update_inv_l_hand()
user.update_inv_r_hand()
/obj/item/reagent_containers/food/drinks/teapot/fluff/thea_teapot //Bronze Teapot - Thea Reeves - shestrying
/obj/item/reagent_containers/glass/teapot/fluff/thea_teapot //Bronze Teapot - Thea Reeves - shestrying
name = "bronze teapot"
desc = "A round-bottomed, well-used teapot. It looks as though it's been carefully maintained."
icon = 'icons/obj/custom_items/thea_tea.dmi'
@@ -608,10 +608,10 @@ All custom items with worn sprites must follow the contained sprite system: http
icon_override = 'icons/obj/custom_items/thea_tea.dmi'
icon_state = "thea_teabox"
foldable = null
can_hold = list(/obj/item/reagent_containers/food/drinks/teapot/fluff/thea_teapot, /obj/item/reagent_containers/food/drinks/fluff/thea_teacup)
can_hold = list(/obj/item/reagent_containers/glass/teapot/fluff/thea_teapot, /obj/item/reagent_containers/food/drinks/fluff/thea_teacup)
/obj/item/storage/box/fluff/thea_teabox/fill()
new /obj/item/reagent_containers/food/drinks/teapot/fluff/thea_teapot(src)
new /obj/item/reagent_containers/glass/teapot/fluff/thea_teapot(src)
for(var/i in 1 to 4)
new /obj/item/reagent_containers/food/drinks/fluff/thea_teacup(src)
make_exact_fit()
@@ -2021,4 +2021,4 @@ All custom items with worn sprites must follow the contained sprite system: http
icon_override = 'icons/obj/custom_items/ashkii_items.dmi'
icon_state = "ashkii_cloak"
item_state = "ashkii_cloak"
contained_sprite = TRUE
contained_sprite = TRUE
+1 -1
View File
@@ -290,7 +290,7 @@
/obj/item/clothing/accessory/horrible,
/obj/item/clothing/shoes/heels,
/obj/item/storage/box/donkpockets,
/obj/item/reagent_containers/food/drinks/teapot,
/obj/item/reagent_containers/glass/teapot,
/obj/item/device/flashlight/lantern,
/obj/item/clothing/mask/balaclava,
/obj/item/clothing/accessory/badge/old,
+2 -5
View File
@@ -766,13 +766,10 @@
/obj/item/lazarus_injector
name = "lazarus injector"
desc = "An injector with a secret patented cocktail of nanomachines and chemicals, this device can seemingly raise animals from the dead. If no effect in 3 days please call customer support."
icon = 'icons/obj/syringe.dmi'
icon = 'icons/obj/item/reagent_containers/syringe.dmi'
icon_state = "lazarus_loaded"
item_state = "lazarus_loaded"
item_icons = list(
slot_l_hand_str = 'icons/mob/items/lefthand_medical.dmi',
slot_r_hand_str = 'icons/mob/items/righthand_medical.dmi'
)
contained_sprite = TRUE
throwforce = 0
w_class = ITEMSIZE_SMALL
throw_speed = 3
@@ -126,11 +126,11 @@
/obj/item/docility_serum
name = "docility serum"
desc = "A potent chemical mix that will nullify a slime's powers, causing it to become docile and tame. This one is meant for baby slimes."
icon = 'icons/obj/chemical.dmi'
icon = 'icons/obj/item/reagent_containers/glass.dmi'
icon_state = "bottle-1"
/obj/item/docility_serum/Initialize() // Better than hardsprited in stuff.
var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "[icon_state]-100")
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-100")
filling.color = COLOR_PINK
add_overlay(filling)
@@ -169,11 +169,11 @@
/obj/item/advanced_docility_serum
name = "advanced docility serum"
desc = "A potent chemical mix that will nullify a slime's powers, causing it to become docile and tame. This one is meant for adult slimes"
icon = 'icons/obj/chemical.dmi'
icon = 'icons/obj/item/reagent_containers/syringe.dmi'
icon_state = "bottle-1"
/obj/item/advanced_docility_serum/Initialize() // Better than hardsprited in stuff.
var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "[icon_state]-100")
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-100")
filling.color = COLOR_PALE_PINK
add_overlay(filling)
@@ -212,11 +212,11 @@
/obj/item/slimesteroid
name = "slime steroid"
desc = "A potent chemical mix that will cause a slime to generate more extract."
icon = 'icons/obj/chemical.dmi'
icon = 'icons/obj/item/reagent_containers/syringe.dmi'
icon_state = "bottle-1"
/obj/item/slimesteroid/Initialize() // Better than hardsprited in stuff.
var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "[icon_state]-100")
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-100")
filling.color = COLOR_GREEN
add_overlay(filling)
@@ -244,11 +244,11 @@
/obj/item/extract_enhancer
name = "extract enhancer"
desc = "A potent chemical mix that will give a slime extract three uses."
icon = 'icons/obj/chemical.dmi'
icon = 'icons/obj/item/reagent_containers/syringe.dmi'
icon_state = "bottle-1"
/obj/item/extract_enhancer/Initialize() // Better than hardsprited in stuff.
var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "[icon_state]-100")
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-100")
filling.color = COLOR_BLUE
add_overlay(filling)
+2 -2
View File
@@ -92,8 +92,8 @@ var/global/list/datum/supply_drop_loot/supply_drop
/obj/item/reagent_containers/food/condiment/flour,
/obj/item/reagent_containers/food/condiment/flour,
/obj/item/reagent_containers/food/condiment/flour,
/obj/item/reagent_containers/food/drinks/milk,
/obj/item/reagent_containers/food/drinks/milk,
/obj/item/reagent_containers/food/drinks/carton/milk,
/obj/item/reagent_containers/food/drinks/carton/milk,
/obj/item/storage/box/fancy/egg_box,
/obj/item/reagent_containers/food/snacks/tofu,
/obj/item/reagent_containers/food/snacks/tofu,
+1 -1
View File
@@ -1,5 +1,5 @@
// Update asset_cache.dm if you change these.
#define BOTTLE_SPRITES list("bottle-1", "bottle-2", "bottle-3", "bottle-4", "bottle-5", "bottle-6") //list of available bottle sprites
#define BOTTLE_SPRITES list("bottle-1", "bottle-2", "bottle-3", "bottle-4") //list of available bottle sprites
#define CHEMMASTER_BOTTLE_SOUND playsound(src, 'sound/items/pickup/bottle.ogg', 75, 1)
#define CHEMMASTER_DISPENSE_SOUND playsound(src, 'sound/machines/reagent_dispense.ogg', 75, 1)
@@ -349,7 +349,7 @@
taste_description = "corn oil"
condiment_name = "corn oil"
condiment_desc = "A delicious oil used in cooking. Made from corn."
condiment_icon_state = "oliveoil"
condiment_icon_state = "cooking_oil"
/singleton/reagent/nutriment/triglyceride/oil/peanut
name = "Peanut Oil"
@@ -359,7 +359,7 @@
taste_mult = 1
condiment_name = "peanut oil"
condiment_desc = "Tasteful and rich peanut oil used in cooking. Made from roasted peanuts."
condiment_icon_state = "peanutoil"
condiment_icon_state = "peanut_oil"
/singleton/reagent/nutriment/honey
name = "Honey"
@@ -367,6 +367,9 @@
nutriment_factor = 8
color = "#FFFF00"
taste_description = "honey"
condiment_name = "honey"
condiment_desc = "A jar of sweet and viscous honey."
condiment_icon_state = "honey"
germ_adjust = 5
/singleton/reagent/nutriment/flour
@@ -594,7 +597,7 @@
taste_description = "roasted peanuts"
taste_mult = 2
condiment_name = "ground roasted peanuts sack"
condiment_icon_state = "peanut_sack"
condiment_icon_state = "peanut"
condiment_center_of_mass = list("x"=16, "y"=8)
/singleton/reagent/nutriment/virusfood
@@ -682,7 +685,7 @@
color = "#F0EBD8"
condiment_name = "mayonnaise"
condiment_desc = "Great for sandwiches!"
condiment_icon_state = "mayojar"
condiment_icon_state = "mayonnaise"
condiment_center_of_mass = list("x"=16, "y"=8)
/* Non-food stuff like condiments */
@@ -2468,6 +2471,34 @@
if(alien != IS_DIONA)
M.jitteriness = max(M.jitteriness - 3, 0)
/singleton/reagent/alcohol/beer/light
name = "Light Beer"
description = "An alcoholic beverage brewed since ancient times on Earth. This variety has reduced calorie and alcohol content."
strength = 1
taste_description = "dish water"
glass_name = "glass of light beer"
glass_desc = "A freezing pint of watery light beer."
/singleton/reagent/alcohol/rice_beer
name = "Rice Beer"
description = "A light, rice-based lagered beer popular on Konyang."
color = "#664300"
strength = 5
nutriment_factor = 1
taste_description = "mild carbonated malt"
carbonated = TRUE
glass_icon_state = "rice_beer"
glass_name = "glass of rice beer"
glass_desc = "A glass of fine, light rice beer. Best enjoyed cold."
glass_center_of_mass = list("x"=16, "y"=8)
/singleton/reagent/alcohol/rice_beer/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder)
..()
if(alien != IS_DIONA)
M.jitteriness = max(M.jitteriness - 3, 0)
/singleton/reagent/alcohol/bitters
name = "Aromatic Bitters"
description = "A very, very concentrated and bitter herbal alcohol."
@@ -2661,14 +2692,14 @@
/singleton/reagent/alcohol/soju
name = "Soju"
description = "A mild Konyanger spirit that is best described as rice vodka."
description = "Also known as shochu or baijiu, this drink is made from fermented rice, much like sake, but at a generally higher proof making it more similar to a true spirit."
color = "#f2f9fa"
strength = 25
taste_description = "slightly dry alcohol with a subtle burn"
taste_description = "stiff rice wine"
glass_icon_state = "sojuglass"
glass_name = "glass of soju"
glass_desc = "A clear alcohol similar to vodka, brewed from rice."
glass_desc = "A glass of strong rice wine."
glass_center_of_mass = list("x"=16, "y"=12)
/singleton/reagent/alcohol/tequila
@@ -4613,7 +4644,7 @@
description = "A good, strong drink must be erected upon the ruins, if any of us are to have a future."
strength = 20
taste_description = "freedom from want"
glass_icon_state = "insurrenderglass"
glass_name = "glass of instrument of surrender"
glass_desc = "A good, strong drink must be erected upon the ruins, if any of us are to have a future."
@@ -5559,6 +5590,17 @@
glass_name = "glass of Xanu Rush!"
glass_desc = "Made from the NEW Xanu Prime peaches."
/singleton/reagent/drink/melon_soda
name = "Melon Soda"
description = "A neon green hit of nostalgia."
color = "#6FEB48"
taste_description = "fizzy melon"
carbonated = TRUE
glass_icon_state = "melon_soda"
glass_name = "glass of melon soda"
glass_desc = "As enjoyed by Konyanger children and 30-something Konyang enthusiasts."
/singleton/reagent/alcohol/pulque
name = "Pulque"
description = "A traditional Mictlanian drink made from fermented sap of maguey."
+17 -2
View File
@@ -2044,7 +2044,22 @@
name = "Space Beer"
id = "spacebeer"
result = /singleton/reagent/alcohol/beer
required_reagents = list(/singleton/reagent/nutriment/triglyceride/oil/corn = 10)
required_reagents = list(/singleton/reagent/nutriment/flour = 10)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 10
/datum/chemical_reaction/light_beer
name = "Light Beer"
id = "spacebeer"
result = /singleton/reagent/alcohol/beer
required_reagents = list(/singleton/reagent/alcohol/beer = 5, /singleton/reagent/water = 5)
result_amount = 10
/datum/chemical_reaction/rice_beer
name = "Rice Beer"
id = "rice_beer"
result = /singleton/reagent/alcohol/rice_beer
required_reagents = list(/singleton/reagent/nutriment/rice = 10)
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 10
@@ -2060,7 +2075,7 @@
name = "Sake"
id = "sake"
result = /singleton/reagent/alcohol/sake
required_reagents = list(/singleton/reagent/nutriment/rice = 10)
required_reagents = list(/singleton/reagent/alcohol/rice_beer = 5, /singleton/reagent/nutriment/moss = 5) // sake and shochu are characterized by the addition of koji, a cultivated mold that is used in the brewing process.
catalysts = list(/singleton/reagent/enzyme = 5)
result_amount = 10
+3 -2
View File
@@ -1,8 +1,9 @@
/obj/item/reagent_containers/chem_disp_cartridge
name = "chemical dispenser cartridge"
desc = "This goes in a chemical dispenser."
icon = 'icons/obj/item/reagent_containers/cartridge.dmi'
icon_state = "cartridge"
contained_sprite = TRUE
filling_states = "20;40;60;80;100"
w_class = ITEMSIZE_NORMAL
@@ -34,7 +35,7 @@
cut_overlays()
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "[icon_state]-[get_filling_state()]")
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-[get_filling_state()]")
filling.color = reagents.get_color()
add_overlay(filling)
@@ -4,7 +4,7 @@
desc_info = "Stationbound synthesizers produce specific reagents dependent on the selected module, which you can select by using it. \
The reagents recharge automatically at the cost of energy.<br> Alt Click the synthesizer to change the transfer amount."
desc_extended = null
icon = 'icons/obj/syringe.dmi'
icon = 'icons/obj/item/reagent_containers/syringe.dmi'
icon_state = "medical_synth"
item_state = "hypo"
amount_per_transfer_from_this = 5
@@ -80,7 +80,7 @@
if(!reagent_volumes[reagent_ids[mode]])
to_chat(user, SPAN_WARNING("The injector is empty."))
return
user.visible_message(SPAN_NOTICE("[user] injects [M] with their hypospray!"), SPAN_NOTICE("You inject [M] with your hypospray!"), SPAN_NOTICE("You hear a hissing noise."))
to_chat(M, SPAN_NOTICE("You feel a tiny prick!"))
playsound(src, 'sound/items/hypospray.ogg',25)
@@ -200,4 +200,4 @@
underlays += reagent_overlay
underlays += image('icons/obj/shaker.dmi', "[icon_state]-disp")
flick("disp-mask", src)
update_icon()
update_icon()
@@ -2,11 +2,8 @@
name = "dropper"
desc = "A dropper. It has a volume of 5 units."
desc_info = "Alt Click or Activate this item to change transfer rate."
icon = 'icons/obj/chemical.dmi'
item_icons = list(
slot_l_hand_str = 'icons/mob/items/lefthand_medical.dmi',
slot_r_hand_str = 'icons/mob/items/righthand_medical.dmi',
)
icon = 'icons/obj/item/reagent_containers/dropper.dmi'
contained_sprite = TRUE
icon_state = "dropper"
item_state = "dropper"
filling_states = "10;25;50;75;100"
@@ -99,12 +96,11 @@
cut_overlays()
if(reagents.total_volume)
worn_overlay = "filling"
add_overlay(overlay_image('icons/obj/reagentfillings.dmi', "[icon_state]-[get_filling_state()]", color = reagents.get_color()))
add_overlay(overlay_image(icon, "dropper-[get_filling_state()]", color = reagents.get_color()))
worn_overlay_color = reagents.get_color() // handles inhands
update_held_icon()
else
worn_overlay = null
update_held_icon()
update_held_icon()
/obj/item/reagent_containers/dropper/examine(mob/user)
..(user)
@@ -116,11 +112,6 @@
/obj/item/reagent_containers/dropper/electronic_pipette
name = "electronic pipette"
desc = "A laboratory standard electronic pipette, designed for a finer and more precise transfer rate of substances with a volume of 5 units."
icon = 'icons/obj/chemical.dmi'
item_icons = list(
slot_l_hand_str = 'icons/mob/items/lefthand_medical.dmi',
slot_r_hand_str = 'icons/mob/items/righthand_medical.dmi',
)
icon_state = "electronic_pipette"
item_state = "electronic_pipette"
amount_per_transfer_from_this = 5
@@ -17,6 +17,18 @@
var/ingredient_name // Also used by sandwiches; if null, it just uses the normal name.
var/trash = null
var/is_liquid = TRUE
var/empty_icon_state
/obj/item/reagent_containers/food/update_icon()
..()
if(!reagents.total_volume)
if(("[initial(icon_state)]_empty") in icon_states(icon)) // if there's an empty icon state, use it
icon_state = "[initial(icon_state)]_empty"
else if (empty_icon_state)
icon_state = empty_icon_state
else
icon = initial(icon) //Necessary for refilling empty drinks
icon_state = initial(icon_state)
/obj/item/reagent_containers/food/self_feed_message(var/mob/user)
to_chat(user, "<span class='notice'>You [is_liquid ? "drink from" : "eat"] \the [src].</span>")
@@ -16,6 +16,7 @@
volume = 40 //just over one and a half cups
amount_per_transfer_from_this = 5
flags = 0 //starts closed
icon = 'icons/obj/item/reagent_containers/food/drinks/soda.dmi'
drop_sound = 'sound/items/drop/soda.ogg'
pickup_sound = 'sound/items/pickup/soda.ogg'
desc_info = "Click it in your hand to open it.\
@@ -433,7 +434,7 @@
desc_extended = "Hro'zamal Soda is a soft drink made from the seed's powder of a plant native to Hro'zamal, the sole Hadiist colony. While initially consumed as a herbal tea by the \
colonists, it was introduced to Adhomai by the Army Expeditionary Force and transformed into a carbonated drink. The beverage is popular with factory workers and university \
students because of its stimulant effect."
icon_state = "hrozamal_soda_can"
icon_state = "hrozamal_soda"
center_of_mass = list("x"=16, "y"=10)
reagents_to_add = list(/singleton/reagent/drink/hrozamal_soda = 30)
@@ -452,3 +453,33 @@
icon_state = "xanu_rush"
center_of_mass = list("x"=16, "y"=10)
reagents_to_add = list(/singleton/reagent/drink/peach_soda = 30)
/obj/item/reagent_containers/food/drinks/cans/beer
name = "\improper Virklunder canned beer"
desc = "Contains only water, malt and hops. Not really as high-quality as the label says, but it's still popular. This particular line of beer is made by Getmore on New Gibson, specifically in the Ovanstad of \
Virklund in a massive beer brewery complex. It quickly became the most consumed kind of beer across the Republic of Biesel and has since been in stock in practically every bar across the nation."
icon_state = "space_beer"
center_of_mass = list("x"=16, "y"=10)
reagents_to_add = list(/singleton/reagent/alcohol/beer = 40)
/obj/item/reagent_containers/food/drinks/cans/beer/rice
name = "\improper Ebisu Super Dry"
desc = "Konyang's favourite rice beer brand, 200 years running."
icon_state = "ebisu"
reagents_to_add = list(/singleton/reagent/alcohol/rice_beer = 40)
/obj/item/reagent_containers/food/drinks/cans/beer/rice/shimauma
name = "\improper Shimauma Ichiban"
desc = "Konyang's most middling rice beer brand. Not as popular as Ebisu, but it's comfortable in second place."
icon_state = "shimauma"
/obj/item/reagent_containers/food/drinks/cans/beer/rice/moonlabor
name = "\improper Moonlabor Malt's"
desc = "Konyang's underdog rice beer brand. Popular amongst New Hai Phongers, for reasons unknown."
icon_state = "moonlabor"
/obj/item/reagent_containers/food/drinks/cans/melon_soda
name = "Kansumi Melon Soda"
desc = "Konyang's favourite melon soda, now available in can form!"
icon_state = "melon_soda"
reagents_to_add = list(/singleton/reagent/drink/melon_soda = 30)
@@ -8,7 +8,7 @@
/obj/item/reagent_containers/food/condiment
name = "condiment container"
desc = "Just your average condiment container."
icon = 'icons/obj/food.dmi'
icon = 'icons/obj/item/reagent_containers/food/condiment.dmi'
icon_state = "emptycondiment"
flags = OPENCONTAINER
possible_transfer_amounts = list(1,5,10)
@@ -40,10 +40,8 @@
if(fixed_state && !force)
return
if(isemptylist(reagents.reagent_volumes))
icon_state = "emptycondiment"
name = "condiment bottle"
desc = "An empty condiment bottle."
center_of_mass = list("x"=16, "y"=6)
return
var/singleton/reagent/master = reagents.get_primary_reagent_decl()
@@ -64,12 +62,10 @@
/obj/item/reagent_containers/food/condiment/shaker
name = "shaker"
empty_icon_state = "emptyshaker"
volume = 20
fixed_state = TRUE
center_of_mass = list("x"=17, "y"=11)
amount_per_transfer_from_this = 1
volume = 20
fixed_state = TRUE
/obj/item/reagent_containers/food/condiment/shaker/Initialize()
. = ..()
@@ -262,33 +258,3 @@
/obj/item/reagent_containers/food/condiment/small/packet/crayon/brown
reagents_to_add = list(/singleton/reagent/crayon_dust/brown = 10)
//End of MRE stuff.
//syrups
/obj/item/reagent_containers/glass/bottle/syrup
name = "syrup dispenser"
desc = "A small bottle dispenser."
icon = 'icons/obj/syrup.dmi'
icon_state = "syrup"
filling_states = "20;40;60;80;100"
flags = OPENCONTAINER
volume = 50
/obj/item/reagent_containers/glass/bottle/syrup/chocolate
name = "chocolate syrup dispenser"
reagents_to_add = list(/singleton/reagent/drink/syrup_chocolate = 50)
/obj/item/reagent_containers/glass/bottle/syrup/pumpkin
name = "pumpkin spice syrup dispenser"
reagents_to_add = list(/singleton/reagent/drink/syrup_pumpkin = 50)
/obj/item/reagent_containers/glass/bottle/syrup/vanilla
name = "vanilla syrup dispenser"
reagents_to_add = list(/singleton/reagent/drink/syrup_vanilla = 50)
/obj/item/reagent_containers/glass/bottle/syrup/caramel
name = "caramel syrup dispenser"
reagents_to_add = list(/singleton/reagent/drink/syrup_caramel = 50)
@@ -1,8 +1,8 @@
/*
Standards for trash/empty states under the /drinks path:
Adding Empty States: Trash/Empty states should be placed in the drinks_empty.dmi and should be the drink's icon_state name followed by _empty (ex: whiskeybottle_empty) and the NO_EMPTY_ICON flag should be removed.
If your trash state applies to multiple drinks, to avoid duplicating sprites, use UNIQUE_EMPTY_ICON and set the empty_icon_state var to that icon state. These will still need to be placed in drinks_empty.dmi
If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_ICON, else it will turn invisible when empty.
Adding Empty States: Trash/Empty states should be placed in the same icon as the drink and should be the drink's icon_state name followed by _empty (ex: whiskeybottle_empty).
If your trash state applies to multiple drinks, to avoid duplicating sprites, set the empty_icon_state var to that icon state. These will still need to be placed in the same icon file.
If you add a drink with an empty icon sprite, ensure it is in the same folder, else it will not work.
*/
@@ -20,8 +20,7 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I
amount_per_transfer_from_this = 5
volume = 50
var/shaken = 0
var/drink_flags = NO_EMPTY_ICON
var/empty_icon_state = null //This icon_state should be the one set in drinks_empty.dmi and ONLY if it's a UNIQUE_EMPTY_ICON
var/drink_flags
/obj/item/reagent_containers/food/drinks/Initialize()
. = ..()
@@ -34,20 +33,6 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I
/obj/item/reagent_containers/food/drinks/on_rag_wipe(var/obj/item/reagent_containers/glass/rag/R)
clean_blood()
/obj/item/reagent_containers/food/drinks/update_icon()
if(!reagents.total_volume)
if(drink_flags & UNIQUE_EMPTY_ICON)
icon = 'icons/obj/drinks_empty.dmi'
icon_state = empty_icon_state
else if(drink_flags & UNIQUE_EMPTY_ICON_FILE)
icon_state = empty_icon_state
else if(!(drink_flags & NO_EMPTY_ICON))
icon = 'icons/obj/drinks_empty.dmi'
icon_state = "[initial(icon_state)]_empty"
else
icon = initial(icon) //Necessary for refilling empty drinks
icon_state = initial(icon_state)
/obj/item/reagent_containers/food/drinks/attack_self(mob/user as mob)
if(!is_open_container())
if(user.a_intent == I_HURT && !shaken)
@@ -117,51 +102,16 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I
/// Drinks. END
////////////////////////////////////////////////////////////////////////////////
/obj/item/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
///////////////////////////////////////////////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/reagent_containers/food/drinks/milk
name = "space milk"
desc = "It's milk. White and nutritious goodness!"
icon_state = "milk"
item_state = "carton"
drop_sound = 'sound/items/drop/cardboardbox.ogg'
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
center_of_mass = list("x"=16, "y"=9)
reagents_to_add = list(/singleton/reagent/drink/milk = 50)
/obj/item/reagent_containers/food/drinks/soymilk
name = "soymilk"
desc = "It's soy milk. White and nutritious goodness!"
icon_state = "soymilk"
item_state = "carton"
drop_sound = 'sound/items/drop/cardboardbox.ogg'
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
center_of_mass = list("x"=16, "y"=9)
reagents_to_add = list(/singleton/reagent/drink/milk/soymilk = 50)
/obj/item/reagent_containers/food/drinks/coffee
name = "\improper Martian Dark Roast"
desc = "The darkest roast this side of Olympia, guaranteed."
icon_state = "coffee_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = null
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
center_of_mass = list("x"=16, "y"=11)
@@ -173,7 +123,6 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I
icon_state = "psl_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = UNIQUE_EMPTY_ICON
empty_icon_state = "coffee_vended_empty"
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
@@ -186,7 +135,6 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I
icon_state = "coffee_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = null
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
center_of_mass = list("x"=16, "y"=14)
@@ -198,8 +146,6 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I
icon_state = "greentea_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = UNIQUE_EMPTY_ICON
empty_icon_state = "coffee_vended_empty"
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
center_of_mass = list("x"=16, "y"=14)
@@ -211,8 +157,6 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I
icon_state = "soy_latte_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = UNIQUE_EMPTY_ICON
empty_icon_state = "coffee_vended_empty"
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
center_of_mass = list("x"=16, "y"=14)
@@ -224,8 +168,6 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I
icon_state = "chai_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = UNIQUE_EMPTY_ICON
empty_icon_state = "coffee_vended_empty"
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
center_of_mass = list("x"=16, "y"=14)
@@ -237,7 +179,6 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I
icon_state = "coffee_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = null
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
center_of_mass = list("x"=15, "y"=10)
@@ -249,7 +190,6 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I
icon_state = "coffee_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
drink_flags = null
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
center_of_mass = list("x"=15, "y"=13)
@@ -261,7 +201,6 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I
icon_state = "ramen"
item_state = "coffee"
trash = /obj/item/trash/ramen
drink_flags = null
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
center_of_mass = list("x"=16, "y"=11)
@@ -280,14 +219,23 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I
desc = "A fresh bottle of water from the finest bottling plants on Silversun."
desc_extended = "Previously introduced to the vending machines by Skrellian request, this water used to come straight from the Martian poles. Ever since the Martian catastrophe, however, an Idris subsidiary has since stepped in to fill the gap in the market \
and 'Martian Water' has become a prized collector's item."
icon_state = "waterbottle"
icon = 'icons/obj/item/reagent_containers/food/drinks/soda.dmi' // it's no soda, but shows up in vending machines nonetheless
icon_state = "smallbottle"
flags = 0 //starts closed
center_of_mass = list("x"=16, "y"=8)
drop_sound = 'sound/items/drop/disk.ogg'
pickup_sound = 'sound/items/pickup/disk.ogg'
volume = 30
reagents_to_add = list(/singleton/reagent/water = 30)
/obj/item/reagent_containers/food/drinks/waterbottle/update_icon()
cut_overlays()
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-[get_filling_state()]")
filling.color = reagents.get_color()
add_overlay(filling)
//heehoo bottle flipping
/obj/item/reagent_containers/food/drinks/waterbottle/throw_impact()
. = ..()
@@ -305,6 +253,11 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I
. = ..()
animate(src, transform = null, time = 1, loop = 0)
/obj/item/reagent_containers/food/drinks/waterbottle/large
name = "large bottled water"
volume = 100
reagents_to_add = list(/singleton/reagent/water = 100)
/obj/item/reagent_containers/food/drinks/sillycup
name = "paper cup"
desc = "A paper water cup."
@@ -330,91 +283,6 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I
possible_transfer_amounts = null
volume = 30
//////////////////////////JUICES AND STUFF ///////////////////////
/obj/item/reagent_containers/food/drinks/carton
name = "carton"
desc = "An abstract way to organize bottles that are really cartons. Finally!"
icon_state = "carton"
volume = 100
center_of_mass = list("x"=16, "y"=6)
drop_sound = 'sound/items/drop/cardboardbox.ogg'
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
/obj/item/reagent_containers/food/drinks/carton/orangejuice
name = "orange juice"
desc = "Full of vitamins and deliciousness!"
icon_state = "orangejuice"
reagents_to_add = list(/singleton/reagent/drink/orangejuice = 100)
/obj/item/reagent_containers/food/drinks/carton/cream
name = "milk cream"
desc = "It's cream. Made from milk. What else did you think you'd find in there?"
icon_state = "cream"
reagents_to_add = list(/singleton/reagent/drink/milk/cream = 100)
/obj/item/reagent_containers/food/drinks/carton/tomatojuice
name = "tomato juice"
desc = "Well, at least it LOOKS like tomato juice. You can't tell with all that redness."
icon_state = "tomatojuice"
reagents_to_add = list(/singleton/reagent/drink/tomatojuice = 100)
/obj/item/reagent_containers/food/drinks/carton/limejuice
name = "lime juice"
desc = "Sweet-sour goodness."
icon_state = "limejuice"
reagents_to_add = list(/singleton/reagent/drink/limejuice = 100)
/obj/item/reagent_containers/food/drinks/carton/lemonjuice
name = "lemon juice"
desc = "This juice is VERY sour."
icon_state = "lemoncarton"
reagents_to_add = list(/singleton/reagent/drink/lemonjuice = 100)
/obj/item/reagent_containers/food/drinks/carton/dynjuice
name = "dyn juice"
desc = "Juice from a Skrell medicinal herb. It's supposed to be diluted."
icon_state = "dyncarton"
reagents_to_add = list(/singleton/reagent/drink/dynjuice = 100)
/obj/item/reagent_containers/food/drinks/carton/applejuice
name = "apple juice"
desc = "Juice from an apple. Yes."
icon_state = "applejuice"
reagents_to_add = list(/singleton/reagent/drink/applejuice = 100)
/obj/item/reagent_containers/food/drinks/carton/fatshouters
name = "fatshouters milk carton"
desc = "Fatty fatshouters milk in a carton."
reagents_to_add = list(/singleton/reagent/drink/milk/adhomai = 100)
/obj/item/reagent_containers/food/drinks/carton/mutthir
name = "mutthir carton"
icon_state = "mutthir"
desc = "A beverage made with Fatshouters' yogurt mixed with Nm'shaan's sugar and sweet herbs."
desc_extended = "A beverage made with Fatshouters' yogurt mixed with Nm'shaan's sugar and sweet herbs. Mutthir is usually consumed during meals by both nobles and commoners. \
The drink can also be smoked for flavor. Mutthir is believed to have originated from the worldwide appreciated Fatshouters' fermented milk. Rock Nomads living in the Nomadic Host \
were quick to adopt the drink to their diet."
reagents_to_add = list(/singleton/reagent/drink/milk/adhomai/mutthir = 100)
/obj/item/reagent_containers/food/drinks/carton/eggnog
name = "eggnog carton"
icon_state = "cream"
desc = "A beverage, made out of egg, sugar alcohol and in this case, cream."
desc_extended = "Eggnog, also called Egg flip, is an alcoholic beverage, made out of egg, milk or cream, sugar and alcohol. Eggnog is by principle a longdrink and they can be served \
hot or cold. Originally it was served in winter and hot. Every serving uses one egg. It is a classic Christmas beverage, loved by every species, universe-wide. Or so you heard."
reagents_to_add = list(/singleton/reagent/alcohol/eggnog = 100)
//////////////////////////drinkingglass and shaker//
//Note by Darem: This code handles the mixing of drinks. New drinks go in three places: In Chemistry-Reagents.dm (for the drink
// itself), in Chemistry-Recipes.dm (for the reaction that changes the components into the drink), and here (for the drinking glass
@@ -601,196 +469,9 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I
/obj/item/reagent_containers/food/drinks/shaker_cup/AltClick(mob/user)
set_APTFT()
/obj/item/reagent_containers/food/drinks/teapot
name = "teapot"
desc = "An elegant teapot. It simply oozes class."
icon_state = "teapot"
item_state = "teapot"
unacidable = TRUE
amount_per_transfer_from_this = 10
volume = 120
/obj/item/reagent_containers/food/drinks/pitcher
name = "pitcher"
desc = "Everyone's best friend in the morning."
icon_state = "pitcher"
unacidable = TRUE
amount_per_transfer_from_this = 10
volume = 120
possible_transfer_amounts = list(5,10,15,30,60,120)
/obj/item/reagent_containers/food/drinks/flask
name = "captain's flask"
desc = "A metal flask belonging to the captain"
icon_state = "flask"
volume = 60
center_of_mass = list("x"=17, "y"=7)
/obj/item/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/reagent_containers/food/drinks/flask/lithium
name = "lithium flask"
desc = "A flask with a Lithium Atom symbol on it."
icon_state = "lithiumflask"
/obj/item/reagent_containers/food/drinks/flask/detflask
name = "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/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/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)
var/obj/item/reagent_containers/food/drinks/flask/flask_cup/cup
/obj/item/reagent_containers/food/drinks/flask/vacuumflask/Initialize()
. = ..()
cup = new(src)
flags ^= OPENCONTAINER
/obj/item/reagent_containers/food/drinks/flask/vacuumflask/attack_self(mob/user)
if(cup)
to_chat(user, SPAN_NOTICE("You remove \the [src]'s cap."))
user.put_in_hands(cup)
flags |= OPENCONTAINER
cup = null
update_icon()
/obj/item/reagent_containers/food/drinks/flask/vacuumflask/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/reagent_containers/food/drinks/flask/flask_cup))
if(cup)
to_chat(user, SPAN_WARNING("\The [src] already has a cap."))
return TRUE
if(W.reagents.total_volume + reagents.total_volume > volume)
to_chat(user, SPAN_WARNING("There's too much fluid in both the cap and \the [src]!"))
return TRUE
to_chat(user, SPAN_NOTICE("You put the cap onto \the [src]."))
user.drop_from_inventory(W, src)
flags ^= OPENCONTAINER
cup = W
cup.reagents.trans_to_holder(reagents, cup.reagents.total_volume)
update_icon()
return TRUE
return ..()
/obj/item/reagent_containers/food/drinks/flask/vacuumflask/update_icon()
icon_state = cup ? initial(icon_state) : "[initial(icon_state)]-nobrim"
/obj/item/reagent_containers/food/drinks/flask/flask_cup
name = "vacuum flask cup"
desc = "The cup that appears in your hands after you unscrew the cap of the flask and turn it over. Magic!"
icon_state = "vacuumflask-brim"
volume = 10
center_of_mass = list("x" = 16, "y" = 16)
/obj/item/reagent_containers/food/drinks/flask/flask_cup/afterattack(atom/target, mob/user, proximity, params)
if(istype(target, /obj/item/reagent_containers/food/drinks/flask/vacuumflask))
return
return ..()
/obj/item/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/reagent_containers/food/drinks/small_milk
name = "small milk carton"
desc = "It's milk. White and nutritious goodness!"
icon_state = "mini-milk"
item_state = "carton"
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
center_of_mass = list("x"=16, "y"=14)
reagents_to_add = list(/singleton/reagent/drink/milk = 20)
/obj/item/reagent_containers/food/drinks/small_milk_choco
name = "small chocolate milk carton"
desc = "It's milk. This one is in delicious chocolate flavor."
icon_state = "mini-milk_choco"
item_state = "carton"
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
center_of_mass = list("x"=16, "y"=14)
reagents_to_add = list(/singleton/reagent/drink/milk/chocolate = 20)
/obj/item/reagent_containers/food/drinks/small_milk_strawberry
name = "small strawberry milk carton"
desc = "It's milk. This one is in delicious strawberry flavor."
icon_state = "mini-milk_strawberry"
item_state = "carton"
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
center_of_mass = list("x"=16, "y"=14)
reagents_to_add = list(/singleton/reagent/drink/milk/strawberry = 20)
/obj/item/reagent_containers/food/drinks/jyalra
name = "jyalra"
desc = "A popular junk food item from the Nralakk Federation. Jyalra is a savoury puree made from dyn that has been peeled and mashed into a dark blue pulp."
desc_extended = "Jyalra is created by peeling and mashing dyn until it becomes a thick blue puree. Unlike the fruit, it has a dry, savoury flavour to it. While used as a meal replacement by busy scientists, it is considered junk food by the Skrell and is eaten more as a snack than a proper meal."
icon_state = "jyalra"
item_state = "jyalra"
drink_flags = UNIQUE_EMPTY_ICON
empty_icon_state = "jyalra_empty"
drop_sound = 'sound/items/drop/disk.ogg'
pickup_sound = 'sound/items/pickup/disk.ogg'
center_of_mass = list("x"=16, "y"=11)
reagents_to_add = list(/singleton/reagent/drink/jyalra = 40)
/obj/item/reagent_containers/food/drinks/jyalracheese
name = "jyalra with nycii"
desc = "A popular junk food item from the Nralakk Federation. Jyalra is a savoury puree made from dyn that has been peeled and mashed into a dark blue pulp. Nycii, a type of Skrellian cheese, has been added to the puree for flavour."
desc_extended = "Jyalra is created by peeling and mashing dyn until it becomes a thick blue puree. Unlike the fruit, it has a dry, savoury flavour to it. While used as a meal replacement by busy scientists, it is considered junk food by the Skrell and is eaten more as a snack than a proper meal."
icon_state = "jyalracheese"
item_state = "jyalracheese"
drink_flags = UNIQUE_EMPTY_ICON
empty_icon_state = "jyalra_empty"
drop_sound = 'sound/items/drop/disk.ogg'
pickup_sound = 'sound/items/pickup/disk.ogg'
center_of_mass = list("x"=16, "y"=11)
reagents_to_add = list(/singleton/reagent/drink/jyalracheese = 40)
/obj/item/reagent_containers/food/drinks/jyalraapple
name = "jyalra with apples"
desc = "A popular junk food item from the Nralakk Federation. Jyalra is a savoury puree made from dyn that has been peeled and mashed into a dark blue pulp. Apples have been added to make the meal sweeter."
desc_extended = "Jyalra is created by peeling and mashing dyn until it becomes a thick blue puree. Unlike the fruit, it has a dry, savoury flavour to it. While used as a meal replacement by busy scientists, it is considered junk food by the Skrell and is eaten more as a snack than a proper meal."
icon_state = "jyalraapple"
item_state = "jyalraapple"
drink_flags = UNIQUE_EMPTY_ICON
empty_icon_state = "jyalra_empty"
drop_sound = 'sound/items/drop/disk.ogg'
pickup_sound = 'sound/items/pickup/disk.ogg'
center_of_mass = list("x"=16, "y"=11)
reagents_to_add = list(/singleton/reagent/drink/jyalraapple = 40)
/obj/item/reagent_containers/food/drinks/jyalracherry
name = "jyalra with cherries"
desc = "A popular junk food item from the Nralakk Federation. Jyalra is a savoury puree made from dyn that has been peeled and mashed into a dark blue pulp. Cherries have been added to make the meal sweeter."
desc_extended = "Jyalra is created by peeling and mashing dyn until it becomes a thick blue puree. Unlike the fruit, it has a dry, savoury flavour to it. While used as a meal replacement by busy scientists, it is considered junk food by the Skrell and is eaten more as a snack than a proper meal."
icon_state = "jyalracherry"
item_state = "jyalracherry"
drink_flags = UNIQUE_EMPTY_ICON
empty_icon_state = "jyalra_empty"
drop_sound = 'sound/items/drop/disk.ogg'
pickup_sound = 'sound/items/pickup/disk.ogg'
center_of_mass = list("x"=16, "y"=11)
reagents_to_add = list(/singleton/reagent/drink/jyalracherry = 40)
@@ -3,10 +3,10 @@
//Bottles now weaken and break when smashed on people's heads. - Giacom
/obj/item/reagent_containers/food/drinks/bottle
name = "empty bottle"
desc = "A sad empty bottle."
icon_state = "alco-clear"
center_of_mass = list("x" = 16,"y" = 6)
name = "glass bottle"
desc = "This blank bottle is unyieldingly anonymous, offering no clues to its contents."
icon_state = "glassbottle"
icon = 'icons/obj/item/reagent_containers/food/drinks/bottle.dmi'
amount_per_transfer_from_this = 5//Smaller sip size for more BaRP and less guzzling a litre of vodka before you realise it
volume = 100
item_state = "broken_beer" //Generic held-item sprite until unique ones are made.
@@ -19,6 +19,12 @@
var/rag_underlay = "rag"
drink_flags = IS_GLASS
/obj/item/reagent_containers/cup/glass/bottle/small
name = "small glass bottle"
desc = "This blank bottle is unyieldingly anonymous, offering no clues to its contents."
icon_state = "glassbottlesmall"
volume = 50
/obj/item/reagent_containers/food/drinks/bottle/Destroy()
if(rag)
rag.forceMove(src.loc)
@@ -48,7 +54,7 @@
return 0
return prob(chance_table[idx])
/obj/item/reagent_containers/food/drinks/bottle/proc/smash(var/newloc, atom/against = null)
/obj/item/reagent_containers/food/drinks/bottle/proc/smash(var/newloc, atom/against = null, var/break_top)
if(ismob(loc))
var/mob/M = loc
M.drop_from_inventory(src)
@@ -59,8 +65,12 @@
new/obj/item/material/shard(newloc) // Create a glass shard at the target's location!
B.icon_state = initial(icon_state)
var/icon/I = new('icons/obj/drinks.dmi', src.icon_state)
I.Blend(B.broken_outline, ICON_OVERLAY, rand(5), 1)
var/icon/I = new(src.icon, src.icon_state)
if(break_top) //if the bottle breaks its top off instead of the bottom
desc = "A bottle with its neck smashed off."
I.Blend(B.flipped_broken_outline, ICON_OVERLAY, rand(5), 0)
else
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
@@ -122,9 +132,15 @@
/obj/item/reagent_containers/food/drinks/bottle/update_icon()
underlays.Cut()
cut_overlays()
if("[icon_state]-[get_filling_state()]" in icon)
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-[get_filling_state()]")
filling.color = reagents.get_color()
add_overlay(filling)
set_light(0)
if(rag)
var/underlay_image = image(icon='icons/obj/drinks.dmi', icon_state=rag.on_fire? "[rag_underlay]_lit" : rag_underlay)
var/underlay_image = image(icon='icons/obj/item/reagent_containers/food/drinks/drink_effects.dmi', icon_state=rag.on_fire? "[rag_underlay]_lit" : rag_underlay)
underlays += underlay_image
if(rag.on_fire)
set_light(2, l_color = LIGHT_COLOR_FIRE)
@@ -173,11 +189,44 @@
/obj/item/reagent_containers/food/drinks/bottle/bullet_act()
smash(loc)
/*
* Proc to make the bottle spill some of its contents out in a froth geyser of varying intensity/height
* Arguments:
* * offset_x = pixel offset by x from where the froth animation will start
* * offset_y = pixel offset by y from where the froth animation will start
* * intensity = how strong the effect is, both visually and in the amount of reagents lost. comes in three flavours
*/
/obj/item/reagent_containers/food/drinks/bottle/proc/make_froth(offset_x, offset_y, intensity)
if(!intensity)
return
if(!reagents.total_volume)
return
var/amount_lost = intensity * 5
reagents.remove_any(amount_lost)
visible_message(SPAN_WARNING("Some of [name]'s contents are let loose!"))
var/intensity_state = null
switch(intensity)
if(1)
intensity_state = "low"
if(2)
intensity_state = "medium"
if(3)
intensity_state = "high"
///The froth fountain that we are sticking onto the bottle
var/mutable_appearance/froth = mutable_appearance('icons/obj/item/reagent_containers/food/drinks/drink_effects.dmi', "froth_bottle_[intensity_state]")
froth.pixel_x = offset_x
froth.pixel_y = offset_y
add_overlay(froth)
CUT_OVERLAY_IN(froth, 2 SECONDS)
//Keeping this here for now, I'll ask if I should keep it here.
/obj/item/broken_bottle
name = "broken bottle"
desc = "A bottle with a sharp broken bottom."
icon = 'icons/obj/drinks.dmi'
icon = 'icons/obj/item/reagent_containers/food/drinks/bottle.dmi'
icon_state = "broken_bottle"
force = 9
throwforce = 5
@@ -188,7 +237,10 @@
sharp = TRUE
edge = FALSE
hitsound = /singleton/sound_category/bottle_hit_broken
var/icon/broken_outline = icon('icons/obj/drinks.dmi', "broken")
///The mask image for mimicking a broken-off bottom of the bottle
var/static/icon/broken_outline = icon('icons/obj/item/reagent_containers/food/drinks/drink_effects.dmi', "broken")
///The mask image for mimicking a broken-off neck of the bottle
var/static/icon/flipped_broken_outline = icon('icons/obj/item/reagent_containers/food/drinks/drink_effects.dmi', "broken-flipped")
w_class = ITEMSIZE_SMALL
#define DRINK_FLUFF_GETMORE "This drink is made by Getmore Corporation, a subsidiary of NanoTrasen. It mostly specializes in fast food and consumer food products, \
@@ -235,7 +287,7 @@
desc = "An okayish single-malt whiskey, infused with cinnamon and hot pepper that used to be mainly produced on Mars, but the production line was since moved to Earth for geopolitical reasons. \
It is sometimes claimed that particularly desperate Eridanian dregs came up with the current recipe for this drink."
desc_extended = DRINK_FLUFF_GETMORE
icon_state = "whiskeybottle"
icon_state = "fireballbottle"
center_of_mass = list("x"=16, "y"=4)
reagents_to_add = list(/singleton/reagent/alcohol/fireball = 100)
@@ -289,6 +341,123 @@
icon_state = "champagnebottle"
center_of_mass = list("x"=16, "y"=4)
reagents_to_add = list(/singleton/reagent/alcohol/champagne = 100)
flags = 0 // starts closed
///Used for sabrage; increases the chance of success per 1 force of the attacking sharp item
var/sabrage_success_percentile = 5
///Whether this bottle was a victim of a successful sabrage attempt
var/sabraged = FALSE
/obj/item/reagent_containers/food/drinks/bottle/champagne/attack_self(mob/user)
if(is_open_container())
return ..()
balloon_alert(user, "fiddling with cork...")
if(do_after(user, 1 SECONDS, src))
return open(user, sabrage = FALSE, froth_severity = pick(0, 1))
/obj/item/reagent_containers/food/drinks/bottle/champagne/attackby(obj/item/W, mob/user)
. = ..()
if(is_open_container())
return ..()
if(!has_edge(W))
return
if(W.force < 5)
balloon_alert(user, "not strong enough!")
return
playsound(user, 'sound/weapons/holster/sheathout.ogg', 25, TRUE)
balloon_alert(user, "preparing to swing...")
if(!do_after(user, 2 SECONDS, src)) //takes longer because you are supposed to take the foil off the bottle first
return
///The bonus to success chance that the user gets for being a command role
var/command_bonus = (user.mind?.assigned_role in command_positions) ? 20 : 0
var/job_bonus = user.mind?.assigned_role == "Bartender" ? 25 : 0
var/sabrage_chance = (W.force * sabrage_success_percentile) + command_bonus + job_bonus
if(prob(sabrage_chance))
///Severity of the resulting froth to pass to make_froth()
var/severity_to_pass
if(sabrage_chance > 100)
severity_to_pass = 0
else
switch(sabrage_chance) //the less likely we were to succeed, the more of the drink will end up wasted in froth
if(1 to 33)
severity_to_pass = 3
if(34 to 66)
severity_to_pass = 2
if(67 to 99)
severity_to_pass = 1
return open(user, sabrage = TRUE, froth_severity = severity_to_pass)
else //you dun goofed
user.visible_message(
SPAN_DANGER("[user] fumbles the sabrage and cuts [src] in half, spilling it over themselves!"), \
SPAN_DANGER("You fail your stunt and cut [src] in half, spilling it over you!"), \
"You hear spilling."
)
return smash(src.loc, user, break_top = TRUE)
/obj/item/reagent_containers/food/drinks/bottle/champagne/update_icon()
. = ..()
if(is_open_container())
if(sabraged)
icon_state = "[initial(icon_state)]_sabrage"
else
icon_state = "[initial(icon_state)]_popped"
else
icon_state = initial(icon_state)
/obj/item/reagent_containers/food/drinks/bottle/champagne/open(mob/user, var/sabrage, var/froth_severity)
if(!sabrage)
user.visible_message(SPAN_DANGER("[user] loosens the cork of [src] causing it to pop out of the bottle with great force."), \
SPAN_GOOD("You elegantly loosen the cork of [src] causing it to pop out of the bottle with great force."), \
"You can hear a pop.")
else
sabraged = TRUE
user.visible_message(SPAN_DANGER("[user] cleanly slices off the cork of [src], causing it to fly off the bottle with great force."), \
SPAN_GOOD("You elegantly slice the cork off of [src], causing it to fly off the bottle with great force."), \
"You can hear a pop.")
playsound(src, 'sound/items/champagne_pop.ogg', 70, TRUE)
flags |= OPENCONTAINER
update_icon()
make_froth(offset_x = 0, offset_y = sabraged ? 13 : 15, intensity = froth_severity) //the y offset for sabraged is lower because the bottle's lip is smashed
///Type of cork to fire away
var/obj/item/projectile/bullet/cork_to_fire = sabraged ? /obj/item/projectile/bullet/champagne_cork/sabrage : /obj/item/projectile/bullet/champagne_cork
///Our resulting cork projectile
var/obj/item/projectile/bullet/champagne_cork/popped_cork = new cork_to_fire(get_turf(src))
popped_cork.firer = user
popped_cork.fire(dir2angle(user.dir) + rand(-30, 30))
/obj/item/projectile/bullet/champagne_cork
name = "champagne cork"
icon = 'icons/obj/item/reagent_containers/food/drinks/bottle.dmi'
icon_state = "champagne_cork"
hitsound = 'sound/weapons/genhit.ogg'
damage = 5
embed = FALSE
sharp = FALSE
agony = 10 // ow!
var/drop_type = /obj/item/trash/champagne_cork
/obj/item/projectile/bullet/champagne_cork/on_impact(var/atom/A)
..()
new drop_type(src.loc) //always use src.loc so that ash doesn't end up inside windows
/obj/item/trash/champagne_cork
name = "champagne cork"
icon = 'icons/obj/item/reagent_containers/food/drinks/bottle.dmi'
icon_state = "champagne_cork"
/obj/item/projectile/bullet/champagne_cork/sabrage
icon_state = "champagne_cork_sabrage"
drop_type = /obj/item/trash/champagne_cork/sabrage
/obj/item/trash/champagne_cork/sabrage
icon_state = "champagne_cork_sabrage"
/obj/item/reagent_containers/food/drinks/bottle/mintsyrup
name = "Getmore's Bold Peppermint"
@@ -322,7 +491,6 @@
desc = "A flask of the chaplain's holy water."
icon_state = "holyflask"
center_of_mass = list("x"=17, "y"=10)
drink_flags = NO_EMPTY_ICON
reagents_to_add = list(/singleton/reagent/water/holywater = 100)
/obj/item/reagent_containers/food/drinks/bottle/vermouth
@@ -366,6 +534,14 @@
center_of_mass = list("x"=16, "y"=4)
reagents_to_add = list(/singleton/reagent/alcohol/wine = 100)
/obj/item/reagent_containers/food/drinks/bottle/pwine
name = "\improper Chip Getmore's Velvet"
desc = "What a delightful packaging for a surely high quality wine! The vintage must be amazing!"
desc_extended = DRINK_FLUFF_GETMORE
icon_state = "pwinebottle"
center_of_mass = list("x"=16, "y"=4)
reagents_to_add = list(/singleton/reagent/alcohol/pwine = 100)
/obj/item/reagent_containers/food/drinks/bottle/absinthe
name = "Jailbreaker Verte"
desc = "One sip of this and you just know you're gonna have a good time. Particularly artistic Cythereans drink this Silverport product to get inspired."
@@ -378,18 +554,15 @@
name = "Emeraldine melon liquor"
desc = "A bottle of 46 proof Emeraldine Melon Liquor, made from a Silversun-grown variety of melon. Sweet and light, and surprisingly cheap considering the manufacturer."
desc_extended = DRINK_FLUFF_SILVERPORT
icon_state = "alco-green"
icon_state = "melonliqour"
center_of_mass = list("x"=16, "y"=6)
drink_flags = IS_GLASS | UNIQUE_EMPTY_ICON
empty_icon_state = "alco-blue_empty"
reagents_to_add = list(/singleton/reagent/alcohol/melonliquor = 100)
/obj/item/reagent_containers/food/drinks/bottle/bluecuracao
name = "Xuaousha curacao"
desc = "A fruity, exceptionally azure drink. Thanks to weird Skrellian genetic experiments, oranges used for this are, in fact, really blue."
desc_extended = DRINK_FLUFF_ZENGHU
icon_state = "alco-blue"
empty_icon_state = "alco-clear"
icon_state = "curacaobottle"
center_of_mass = list("x"=16, "y"=6)
reagents_to_add = list(/singleton/reagent/alcohol/bluecuracao = 100)
@@ -398,47 +571,38 @@
desc = "Sweet and tangy, a bar syrup used to add color or flavor to drinks."
desc_extended = DRINK_FLUFF_GETMORE
icon_state = "grenadinebottle"
drink_flags = IS_GLASS | NO_EMPTY_ICON
center_of_mass = list("x"=16, "y"=6)
reagents_to_add = list(/singleton/reagent/drink/grenadine = 100)
// Soda
/obj/item/reagent_containers/food/drinks/bottle/cola
name = "comet cola"
desc = "Getmore's most popular line of soda. A generic cola, otherwise."
icon_state = "colabottle"
empty_icon_state = "soda_empty"
center_of_mass = list("x"=16, "y"=6)
drink_flags = NO_EMPTY_ICON
drop_sound = 'sound/items/drop/shoes.ogg'
pickup_sound = 'sound/items/pickup/shoes.ogg'
reagents_to_add = list(/singleton/reagent/drink/space_cola = 100)
shatter_material = MATERIAL_PLASTIC
fragile = 0
volume = 30
flags = 0 //starts closed
reagents_to_add = list(/singleton/reagent/drink/space_cola = 30)
/obj/item/reagent_containers/food/drinks/bottle/space_up
name = "\improper Vacuum Fizz"
desc = "Tastes like a hull breach in your mouth."
desc_extended = DRINK_FLUFF_GETMORE
icon_state = "space-up_bottle"
empty_icon_state = "soda_empty"
center_of_mass = list("x"=16, "y"=6)
drink_flags = NO_EMPTY_ICON
drop_sound = 'sound/items/drop/shoes.ogg'
pickup_sound = 'sound/items/pickup/shoes.ogg'
reagents_to_add = list(/singleton/reagent/drink/spaceup = 100)
shatter_material = MATERIAL_PLASTIC
fragile = 0
reagents_to_add = list(/singleton/reagent/drink/spaceup = 30)
/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind
name = "\improper Stellar Jolt"
desc = "For those who have a need for caffeine stronger than would be sensible."
desc_extended = DRINK_FLUFF_GETMORE
icon_state = "space_mountain_wind_bottle"
empty_icon_state = "soda_empty"
center_of_mass = list("x"=16, "y"=6)
drink_flags = NO_EMPTY_ICON
drop_sound = 'sound/items/drop/shoes.ogg'
pickup_sound = 'sound/items/pickup/shoes.ogg'
reagents_to_add = list(/singleton/reagent/drink/spacemountainwind = 100)
shatter_material = MATERIAL_PLASTIC
fragile = 0
reagents_to_add = list(/singleton/reagent/drink/spacemountainwind = 30)
/obj/item/reagent_containers/food/drinks/bottle/hrozamal_soda
name = "Hro'zamal Soda"
@@ -447,27 +611,20 @@
colonists, it was introduced to Adhomai by the Army Expeditionary Force and transformed into a carbonated drink. The beverage is popular with factory workers and university \
students because of its stimulant effect."
icon_state = "hrozamal_soda_bottle"
empty_icon_state = "soda_empty"
center_of_mass = list("x"=16, "y"=5)
reagents_to_add = list(/singleton/reagent/drink/hrozamal_soda = 100)
fragile = FALSE
/obj/item/reagent_containers/food/drinks/bottle/pwine
name = "Chip Getmore's Velvet"
desc = "What a delightful packaging for a surely high quality wine! The vintage must be amazing!"
desc_extended = DRINK_FLUFF_GETMORE
icon_state = "pwinebottle"
center_of_mass = list("x"=16, "y"=4)
reagents_to_add = list(/singleton/reagent/alcohol/pwine = 100)
reagents_to_add = list(/singleton/reagent/drink/hrozamal_soda = 30)
//Small bottles
/obj/item/reagent_containers/food/drinks/bottle/small
name = "small bottle"
desc = "A small bottle."
icon_state = "beer"
volume = 50
volume = 30
smash_duration = 1
flags = 0 //starts closed
rag_underlay = "rag_small"
center_of_mass = list("x"=16, "y"=8)
/obj/item/reagent_containers/food/drinks/bottle/small/beer
name = "Virklunder beer"
@@ -475,20 +632,40 @@
Virklund in a massive beer brewery complex. It quickly became the most consumed kind of beer across the Republic of Biesel and has since been in stock in practically every bar across the nation."
desc_extended = DRINK_FLUFF_GETMORE
icon_state = "beer"
center_of_mass = list("x"=16, "y"=8)
reagents_to_add = list(/singleton/reagent/alcohol/beer = 30)
/obj/item/reagent_containers/food/drinks/bottle/small/beer/light
name = "Carp Lite"
desc = "Brewed with \"Pure Ice Asteroid Spring Water\"."
desc_extended = DRINK_FLUFF_GETMORE
icon_state = "litebeer"
reagents_to_add = list(/singleton/reagent/alcohol/beer/light = 30)
/obj/item/reagent_containers/food/drinks/bottle/small/beer/root
name = "Two-Time root beer"
desc = "A popular, old-fashioned brand of root beer, known for its extremely sugary formula. Might make you want a nap afterwards."
desc_extended = DRINK_FLUFF_GETMORE
icon_state = "twotime"
reagents_to_add = list(/singleton/reagent/drink/root_beer = 30)
/obj/item/reagent_containers/food/drinks/bottle/small/ale
name = "\improper Burszi-ale"
desc = "Manufactured in Virklund on New Gibson by Getmore, this is a true Burszian's drink of choice. That is, if you're not an IPC. You wouldn't be able to buy this ale then. Or think of buying it. Or afford it."
desc_extended = DRINK_FLUFF_GETMORE
icon_state = "alebottle"
item_state = "beer"
center_of_mass = list("x"=16, "y"=8)
reagents_to_add = list(/singleton/reagent/alcohol/ale = 30)
/obj/item/reagent_containers/food/drinks/bottle/small/midynhr_water
name = "midynhr water"
desc = "A soft drink made from honey and tree syrup. The label claims it is good as the tap version."
icon_state = "midynhrwater"
center_of_mass = list("x" = 16,"y" = 5)
desc_extended = "A soft drink based on Yve'kha's honey and tree syrups. The drink has a creamy consistency and is served cold from the tap of traditional soda fountains. Native to \
Das'nrra, the beverage is now widespread in the Al'mariist territories. Bottled versions exist, but they are considered to be inferior to what is served in bars and restaurants."
reagents_to_add = list(/singleton/reagent/drink/midynhr_water = 30)
//aurora's drinks
/obj/item/reagent_containers/food/drinks/bottle/chartreusegreen
@@ -549,14 +726,6 @@
center_of_mass = list("x" = 16,"y" = 6)
reagents_to_add = list(/singleton/reagent/alcohol/drambuie = 100)
/obj/item/reagent_containers/food/drinks/bottle/sbiten
name = "Getmore's Traditional Sbiten"
desc = "A drink that died, then got revived, then died again, and became a fad <i>again</i> now thanks to Getmore having a surplus of honey."
desc_extended = DRINK_FLUFF_GETMORE
icon_state = "sbitenbottle"
center_of_mass = list("x" = 16,"y" = 7)
reagents_to_add = list(/singleton/reagent/alcohol/sbiten = 100)
/obj/item/reagent_containers/food/drinks/bottle/messa_mead
name = "messa's mead"
desc = "A bottle of Messa's mead. Bottled somewhere in the icy world of Adhomai."
@@ -587,6 +756,15 @@
center_of_mass = list("x"=16, "y"=4)
reagents_to_add = list(/singleton/reagent/alcohol/soju = 100)
/obj/item/reagent_containers/food/drinks/bottle/soju/shochu
name = "Shu-Kouba Shochu"
desc = "A rice-based liquour produced and marketed by Nojosuru Foods. Similar to Soju, but more commonly drunk on the rocks or with a mixer, lowering its alcohol content."
desc_extended = "Majority of Shochu is only produced in Japans southernmost island of Kyushu, by a union of independent brewers in co-operation with the Nojosuru company. \
It stands as one of the Sol Alliance's pride and joy, despite being outcompeted by the more easily mass-produced Konyanger Soju."
icon_state = "shochubottle"
center_of_mass = list("x"=16, "y"=4)
reagents_to_add = list(/singleton/reagent/alcohol/soju = 100)
/obj/item/reagent_containers/food/drinks/bottle/makgeolli
name = "Doctor Kyung's makgeolli"
desc = "A rice wine imported from Konyang with a very low alcohol content, makegeolli is commonly consumed during social events on Konyang. This bottle has a smiling man \
@@ -628,15 +806,6 @@
consumption of the nobility; even today it is considered a decadent drink reserved for fancy occasions."
reagents_to_add = list(/singleton/reagent/alcohol/nmshaan_liquor = 100)
/obj/item/reagent_containers/food/drinks/bottle/small/midynhr_water
name = "midynhr water"
desc = "A soft drink made from honey and tree syrup. The label claims it is good as the tap version."
icon_state = "midynhrwater"
center_of_mass = list("x" = 16,"y" = 5)
desc_extended = "A soft drink based on Yve'kha's honey and tree syrups. The drink has a creamy consistency and is served cold from the tap of traditional soda fountains. Native to \
Das'nrra, the beverage is now widespread in the Al'mariist territories. Bottled versions exist, but they are considered to be inferior to what is served in bars and restaurants."
reagents_to_add = list(/singleton/reagent/drink/midynhr_water = 30)
/obj/item/reagent_containers/food/drinks/bottle/veterans_choice
name = "veteran's choice"
desc = "A home-made bottle of veteran's choice. Shake it carefully before serving."
@@ -655,7 +824,6 @@
be traced back to the pre-contact times where impoverished peasants would make alcohol out of anything they could find. Homebrewing remains a tradition in the New Kingdom's rural \
parts. These traditional spirits are also manufactured by large breweries and sold to the urban population as handcrafted."
reagents_to_add = list(/singleton/reagent/alcohol/treebark_firewater = 100)
drink_flags = NO_EMPTY_ICON
/obj/item/reagent_containers/food/drinks/bottle/darmadhir_brew
name = "Darmadhir Brew"
@@ -666,7 +834,6 @@
recipe is a secret passed down through the generations of the Darmadhir household since immemorial times. The only living member of the family, Hazyr Darmadhir, is a 68 years old \
Tajara. His sole heir and son died in the Second Revolution after being drafted to fight for the royal army. Alcohol collectors stipulate that the brew's price will skyrocket after Hazyr's death."
reagents_to_add = list(/singleton/reagent/alcohol/nmshaan_liquor/darmadhirbrew = 100)
drink_flags = NO_EMPTY_ICON
/obj/item/reagent_containers/food/drinks/bottle/pulque
name = "Don Augusto's pulque"
@@ -743,6 +910,14 @@
center_of_mass = list("x"=16, "y"=5)
reagents_to_add = list(/singleton/reagent/alcohol/wine/valokki = 100)
/obj/item/reagent_containers/food/drinks/bottle/hooch
name = "hooch bottle"
desc = "A bottle of rotgut. Its owner has applied some street wisdom to cleverly disguise it as a brown paper bag."
desc_extended = DRINK_FLUFF_GETMORE
icon_state = "hoochbottle"
center_of_mass = list("x"=16, "y"=8)
reagents_to_add = list(/singleton/reagent/alcohol/hooch = 100)
// Butanol-based alcoholic drinks
//=====================================
//These are mainly for unathi, and have very little (but still some) effect on other species
@@ -0,0 +1,113 @@
/obj/item/reagent_containers/food/drinks/carton
name = "carton"
desc = "An abstract way to organize bottles that are really cartons. Finally!"
icon = 'icons/obj/item/reagent_containers/food/drinks/carton.dmi'
icon_state = "carton"
item_state = "carton" //dear contributors, item_state handles inhands and onmob sprites. do not touch if you do not have added/changed the inhands. thanks. -wezzy
volume = 100
center_of_mass = list("x"=16, "y"=6)
drop_sound = 'sound/items/drop/cardboardbox.ogg'
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
/obj/item/reagent_containers/food/drinks/carton/milk
name = "space milk"
desc = "It's milk. White and nutritious goodness!"
icon_state = "milk"
reagents_to_add = list(/singleton/reagent/drink/milk = 50)
/obj/item/reagent_containers/food/drinks/carton/soymilk
name = "soymilk"
desc = "It's soy milk. White and nutritious goodness!"
icon_state = "soymilk"
reagents_to_add = list(/singleton/reagent/drink/milk/soymilk = 50)
/obj/item/reagent_containers/food/drinks/carton/orangejuice
name = "orange juice"
desc = "Full of vitamins and deliciousness!"
icon_state = "orangejuice"
reagents_to_add = list(/singleton/reagent/drink/orangejuice = 100)
/obj/item/reagent_containers/food/drinks/carton/cream
name = "milk cream"
desc = "It's cream. Made from milk. What else did you think you'd find in there?"
icon_state = "cream"
reagents_to_add = list(/singleton/reagent/drink/milk/cream = 100)
/obj/item/reagent_containers/food/drinks/carton/tomatojuice
name = "tomato juice"
desc = "Well, at least it LOOKS like tomato juice. You can't tell with all that redness."
icon_state = "tomatojuice"
reagents_to_add = list(/singleton/reagent/drink/tomatojuice = 100)
/obj/item/reagent_containers/food/drinks/carton/limejuice
name = "lime juice"
desc = "Sweet-sour goodness."
icon_state = "limejuice"
reagents_to_add = list(/singleton/reagent/drink/limejuice = 100)
/obj/item/reagent_containers/food/drinks/carton/lemonjuice
name = "lemon juice"
desc = "This juice is VERY sour."
icon_state = "lemoncarton"
reagents_to_add = list(/singleton/reagent/drink/lemonjuice = 100)
/obj/item/reagent_containers/food/drinks/carton/dynjuice
name = "dyn juice"
desc = "Juice from a Skrell medicinal herb. It's supposed to be diluted."
icon_state = "dyncarton"
reagents_to_add = list(/singleton/reagent/drink/dynjuice = 100)
/obj/item/reagent_containers/food/drinks/carton/applejuice
name = "apple juice"
desc = "Juice from an apple. Yes."
icon_state = "applejuice"
reagents_to_add = list(/singleton/reagent/drink/applejuice = 100)
/obj/item/reagent_containers/food/drinks/carton/fatshouters
name = "fatshouters milk carton"
desc = "Fatty fatshouters milk in a carton."
reagents_to_add = list(/singleton/reagent/drink/milk/adhomai = 100)
/obj/item/reagent_containers/food/drinks/carton/mutthir
name = "mutthir carton"
icon_state = "mutthir"
desc = "A beverage made with Fatshouters' yogurt mixed with Nm'shaan's sugar and sweet herbs."
desc_extended = "A beverage made with Fatshouters' yogurt mixed with Nm'shaan's sugar and sweet herbs. Mutthir is usually consumed during meals by both nobles and commoners. \
The drink can also be smoked for flavor. Mutthir is believed to have originated from the worldwide appreciated Fatshouters' fermented milk. Rock Nomads living in the Nomadic Host \
were quick to adopt the drink to their diet."
reagents_to_add = list(/singleton/reagent/drink/milk/adhomai/mutthir = 100)
/obj/item/reagent_containers/food/drinks/carton/eggnog
name = "eggnog carton"
icon_state = "cream"
desc = "A beverage, made out of egg, sugar alcohol and in this case, cream."
desc_extended = "Eggnog, also called Egg flip, is an alcoholic beverage, made out of egg, milk or cream, sugar and alcohol. Eggnog is by principle a longdrink and they can be served \
hot or cold. Originally it was served in winter and hot. Every serving uses one egg. It is a classic Christmas beverage, loved by every species, universe-wide. Or so you heard."
reagents_to_add = list(/singleton/reagent/alcohol/eggnog = 100)
//small carton
/obj/item/reagent_containers/food/drinks/carton/small
name = "small_carton"
icon_state = "mini-milk"
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
center_of_mass = list("x"=16, "y"=14)
volume = 30
/obj/item/reagent_containers/food/drinks/carton/small/milk
name = "small milk carton"
desc = "It's milk. White and nutritious goodness!"
reagents_to_add = list(/singleton/reagent/drink/milk = 20)
/obj/item/reagent_containers/food/drinks/carton/small/milk/choco
name = "small chocolate milk carton"
desc = "It's milk. This one is in delicious chocolate flavor."
icon_state = "mini-milk_choco"
reagents_to_add = list(/singleton/reagent/drink/milk/chocolate = 20)
/obj/item/reagent_containers/food/drinks/carton/small/milk/strawberry
name = "small strawberry milk carton"
desc = "It's milk. This one is in delicious strawberry flavor."
icon_state = "mini-milk_strawberry"
reagents_to_add = list(/singleton/reagent/drink/milk/strawberry = 20)
@@ -17,7 +17,6 @@
drop_sound = 'sound/items/drop/drinkglass.ogg'
pickup_sound = 'sound/items/pickup/drinkglass.ogg'
matter = list(MATERIAL_GLASS = 300)
drink_flags = NO_EMPTY_ICON //This should not be removed unless a total overhaul of drink reagent sprites is done.
fragile = 2
/obj/item/reagent_containers/food/drinks/drinkingglass/on_reagent_change()
@@ -0,0 +1,75 @@
/obj/item/reagent_containers/food/drinks/flask
name = "captain's flask"
desc = "A metal flask belonging to the captain."
icon = 'icons/obj/item/reagent_containers/food/drinks/flask.dmi'
icon_state = "flask"
volume = 60
center_of_mass = list("x"=17, "y"=7)
/obj/item/reagent_containers/food/drinks/flask/detflask
name = "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/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/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)
var/obj/item/reagent_containers/food/drinks/flask/flask_cup/cup
/obj/item/reagent_containers/food/drinks/flask/vacuumflask/Initialize()
. = ..()
cup = new(src)
flags ^= OPENCONTAINER
/obj/item/reagent_containers/food/drinks/flask/vacuumflask/attack_self(mob/user)
if(cup)
to_chat(user, SPAN_NOTICE("You remove \the [src]'s cap."))
user.put_in_hands(cup)
flags |= OPENCONTAINER
cup = null
update_icon()
/obj/item/reagent_containers/food/drinks/flask/vacuumflask/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/reagent_containers/food/drinks/flask/flask_cup))
if(cup)
to_chat(user, SPAN_WARNING("\The [src] already has a cap."))
return TRUE
if(W.reagents.total_volume + reagents.total_volume > volume)
to_chat(user, SPAN_WARNING("There's too much fluid in both the cap and \the [src]!"))
return TRUE
to_chat(user, SPAN_NOTICE("You put the cap onto \the [src]."))
user.drop_from_inventory(W, src)
flags ^= OPENCONTAINER
cup = W
cup.reagents.trans_to_holder(reagents, cup.reagents.total_volume)
update_icon()
return TRUE
return ..()
/obj/item/reagent_containers/food/drinks/flask/vacuumflask/update_icon()
icon_state = cup ? initial(icon_state) : "[initial(icon_state)]-nobrim"
/obj/item/reagent_containers/food/drinks/flask/flask_cup
name = "vacuum flask cup"
desc = "The cup that appears in your hands after you unscrew the cap of the flask and turn it over. Magic!"
icon_state = "vacuumflask-brim"
volume = 10
center_of_mass = list("x" = 16, "y" = 16)
/obj/item/reagent_containers/food/drinks/flask/flask_cup/afterattack(atom/target, mob/user, proximity, params)
if(istype(target, /obj/item/reagent_containers/food/drinks/flask/vacuumflask))
return
return ..()
@@ -3,7 +3,6 @@
/obj/item/reagent_containers/glass/beaker/jar
name = "glass jar"
desc = "A glass jar. You can put the lid back on and use it for other things."
icon = 'icons/obj/drinks.dmi'
icon_state = "jar"
filling_states = "-10;10;25;50;75;80;100"
matter = list(MATERIAL_GLASS = 5000)
@@ -0,0 +1,31 @@
/obj/item/reagent_containers/food/drinks/jyalra
name = "jyalra"
desc = "A popular junk food item from the Nralakk Federation. Jyalra is a savoury puree made from dyn that has been peeled and mashed into a dark blue pulp."
desc_extended = "Jyalra is created by peeling and mashing dyn until it becomes a thick blue puree. Unlike the fruit, it has a dry, savoury flavour to it. While used as a meal replacement by busy scientists, it is considered junk food by the Skrell and is eaten more as a snack than a proper meal."
icon = 'icons/obj/item/reagent_containers/food/drinks/jyalra.dmi'
icon_state = "jyalra"
item_state = "jyalra"
empty_icon_state = "jyalra_empty"
drop_sound = 'sound/items/drop/disk.ogg'
pickup_sound = 'sound/items/pickup/disk.ogg'
center_of_mass = list("x"=16, "y"=11)
reagents_to_add = list(/singleton/reagent/drink/jyalra = 40)
/obj/item/reagent_containers/food/drinks/jyalra/cheese
name = "jyalra with nycii"
desc = "A popular junk food item from the Nralakk Federation. Jyalra is a savoury puree made from dyn that has been peeled and mashed into a dark blue pulp. Nycii, a type of Skrellian cheese, has been added to the puree for flavour."
icon_state = "jyalracheese"
item_state = "jyalracheese"
reagents_to_add = list(/singleton/reagent/drink/jyalracheese = 40)
/obj/item/reagent_containers/food/drinks/jyalra/apple
name = "jyalra with apples"
desc = "A popular junk food item from the Nralakk Federation. Jyalra is a savoury puree made from dyn that has been peeled and mashed into a dark blue pulp. Apples have been added to make the meal sweeter."
icon_state = "jyalraapple"
item_state = "jyalraapple"
/obj/item/reagent_containers/food/drinks/jyalra/cherry
name = "jyalra with cherries"
desc = "A popular junk food item from the Nralakk Federation. Jyalra is a savoury puree made from dyn that has been peeled and mashed into a dark blue pulp. Cherries have been added to make the meal sweeter."
icon_state = "jyalracherry"
item_state = "jyalracherry"
@@ -0,0 +1,47 @@
/obj/item/reagent_containers/food/drinks/trophy
name = "pewter cup"
desc = "Everyone gets a trophy."
icon = 'icons/obj/item/reagent_containers/food/drinks/bottle.dmi'
icon_state = "pewter_cup"
w_class = ITEMSIZE_TINY
force = 1
throwforce = 1
amount_per_transfer_from_this = 5
matter = list(MATERIAL_IRON = 10)
possible_transfer_amounts = null
volume = 5
flags = CONDUCT | OPENCONTAINER
/obj/item/reagent_containers/food/drinks/trophy/gold_cup
name = "gold cup"
desc = "You're winner!"
icon_state = "golden_cup"
item_state = "golden_cup"
w_class = ITEMSIZE_LARGE
force = 14
throwforce = 10
amount_per_transfer_from_this = 20
matter = list(MATERIAL_GOLD = 50)
volume = 150
/obj/item/reagent_containers/food/drinks/trophy/silver_cup
name = "silver cup"
desc = "Best loser!"
icon_state = "silver_cup"
w_class = ITEMSIZE_NORMAL
force = 10
throwforce = 8
amount_per_transfer_from_this = 15
matter = list(MATERIAL_SILVER = 80)
volume = 100
/obj/item/reagent_containers/food/drinks/trophy/bronze_cup
name = "bronze cup"
desc = "At least you ranked!"
icon_state = "bronze_cup"
w_class = ITEMSIZE_SMALL
force = 5
throwforce = 4
amount_per_transfer_from_this = 10
matter = list(MATERIAL_IRON = 40)
volume = 25
@@ -1,8 +1,8 @@
/obj/item/storage/box/fancy/yoke
name = "yoke"
desc = "A sturdy device made out of bio-friendly materials. This will hold your energy drinks together easy peasy."
desc = "A sturdy device made out of bio-friendly materials. This will hold your canned drinks together easy peasy."
desc_info = "Click drag it to pick it up, click on it to take out a can."
icon = 'icons/obj/drinks.dmi'
icon = 'icons/obj/item/reagent_containers/food/drinks/soda.dmi'
icon_state = "yoke"
center_of_mass = list("x" = 16,"y" = 9)
can_hold = list()
@@ -12,12 +12,12 @@
closable = FALSE
var/list/obj/item/reagent_containers/food/drinks/cans/cans = list()
var/list/can_positions = list( // these are the correct positions for energy drinks achieved via trial and error
list(4, -4),
list(-2, -2),
list(-8, 0),
list(9, -3),
list(4, 0),
list(-2, 3)
list(10, -6),
list(10, 2),
list(0, -6),
list(0, 2),
list(-10, -6),
list(-10, 2)
)
/obj/item/storage/box/fancy/yoke/fill()
@@ -48,7 +48,7 @@
if(use_check_and_message(user))
return
var/obj/item/reagent_containers/food/drinks/cans/C = cans[length(cans)]
cans -= C
remove_from_storage(C, get_turf(user))
@@ -58,31 +58,91 @@
/obj/item/storage/box/fancy/yoke/attackby(obj/item/W, mob/user)
to_chat(user, SPAN_WARNING("\The [src] cannot be refilled with items!"))
/obj/item/storage/box/fancy/yoke/zoracherry
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/cherry = 6)
/obj/item/storage/box/fancy/yoke/zoraphoron
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/phoron = 6)
/obj/item/storage/box/fancy/yoke/zoraklax
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/klax = 6)
/obj/item/storage/box/fancy/yoke/zoracthur
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/cthur = 6)
/obj/item/storage/box/fancy/yoke/zoravenom
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/venomgrass = 6)
/obj/item/storage/box/fancy/yoke/zorahozm
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/hozm = 6)
/obj/item/storage/box/fancy/yoke/zorakois
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/kois = 6)
/obj/item/storage/box/fancy/yoke/random
starts_with = list()
/obj/item/storage/box/fancy/yoke/random/fill()
for(var/i = 1 to 6)
var/list/soda_options = list(
/obj/item/reagent_containers/food/drinks/cans/cola,
/obj/item/reagent_containers/food/drinks/cans/space_mountain_wind,
/obj/item/reagent_containers/food/drinks/cans/thirteenloko,
/obj/item/reagent_containers/food/drinks/cans/dr_gibb,
/obj/item/reagent_containers/food/drinks/cans/starkist,
/obj/item/reagent_containers/food/drinks/cans/space_up,
/obj/item/reagent_containers/food/drinks/cans/lemon_lime,
/obj/item/reagent_containers/food/drinks/cans/iced_tea,
/obj/item/reagent_containers/food/drinks/cans/grape_juice,
/obj/item/reagent_containers/food/drinks/cans/tonic,
/obj/item/reagent_containers/food/drinks/cans/sodawater,
/obj/item/reagent_containers/food/drinks/cans/root_beer,
/obj/item/reagent_containers/food/drinks/cans/diet_cola,
/obj/item/reagent_containers/food/drinks/cans/peach_soda,
/obj/item/reagent_containers/food/drinks/cans/melon_soda
)
var/path = pick(soda_options)
if(starts_with[path])
starts_with[path] = starts_with[path] + 1
else
starts_with[path] = 1
return ..()
/obj/item/storage/box/fancy/yoke/alcoholic/random/fill()
for(var/i = 1 to 6)
var/list/soda_options = list(
/obj/item/reagent_containers/food/drinks/cans/beer,
/obj/item/reagent_containers/food/drinks/cans/beer/rice,
/obj/item/reagent_containers/food/drinks/cans/beer/rice/shimauma,
/obj/item/reagent_containers/food/drinks/cans/beer/rice/moonlabor
)
var/path = pick(soda_options)
if(starts_with[path])
starts_with[path] = starts_with[path] + 1
else
starts_with[path] = 1
return ..()
/obj/item/storage/box/fancy/yoke/beer
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/beer = 6)
/obj/item/storage/box/fancy/yoke/ebisu
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/beer/rice = 6)
/obj/item/storage/box/fancy/yoke/shimauma
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/beer/rice/shimauma = 6)
/obj/item/storage/box/fancy/yoke/moonlabor
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/beer/rice/moonlabor = 6)
/obj/item/storage/box/fancy/yoke/energy
icon_state = "yoke_energy" //energy drinks are 2 pixels taller
/obj/item/storage/box/fancy/yoke/energy/zoracherry
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/cherry = 6)
/obj/item/storage/box/fancy/yoke/energy/zoraphoron
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/phoron = 6)
/obj/item/storage/box/fancy/yoke/energy/zoraklax
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/klax = 6)
/obj/item/storage/box/fancy/yoke/energy/zoracthur
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/cthur = 6)
/obj/item/storage/box/fancy/yoke/energy/zoravenom
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/venomgrass = 6)
/obj/item/storage/box/fancy/yoke/energy/zorahozm
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/hozm = 6)
/obj/item/storage/box/fancy/yoke/energy/zorakois
starts_with = list(/obj/item/reagent_containers/food/drinks/cans/zorasoda/kois = 6)
/obj/item/storage/box/fancy/yoke/energy/random
starts_with = list()
/obj/item/storage/box/fancy/yoke/energy/random/fill()
for(var/i = 1 to 6)
var/list/energy_options = list(
/obj/item/reagent_containers/food/drinks/cans/zorasoda/cherry,
@@ -98,4 +158,4 @@
starts_with[path] = starts_with[path] + 1
else
starts_with[path] = 1
return ..()
return ..()
@@ -60,9 +60,9 @@ var/list/lunchables_snacks_ = list(
/obj/item/reagent_containers/food/snacks/adhomian_sausage,
/obj/item/reagent_containers/food/snacks/chocolatebar,
/obj/item/reagent_containers/food/drinks/jyalra,
/obj/item/reagent_containers/food/drinks/jyalracheese,
/obj/item/reagent_containers/food/drinks/jyalraapple,
/obj/item/reagent_containers/food/drinks/jyalracherry,
/obj/item/reagent_containers/food/drinks/jyalra/cheese,
/obj/item/reagent_containers/food/drinks/jyalra/apple,
/obj/item/reagent_containers/food/drinks/jyalra/cherry,
/obj/item/reagent_containers/food/snacks/gnaqmi,
/obj/item/reagent_containers/food/snacks/lortl
)
@@ -86,9 +86,10 @@ var/list/lunchables_drinks_ = list(
/obj/item/reagent_containers/food/drinks/cans/hrozamal_soda,
/obj/item/reagent_containers/food/drinks/bottle/small/midynhr_water,
/obj/item/reagent_containers/food/drinks/bottle/small/khlibnyz,
/obj/item/reagent_containers/food/drinks/small_milk,
/obj/item/reagent_containers/food/drinks/small_milk_choco,
/obj/item/reagent_containers/food/drinks/small_milk_strawberry
/obj/item/reagent_containers/food/drinks/carton/small/milk,
/obj/item/reagent_containers/food/drinks/carton/small/milk/choco,
/obj/item/reagent_containers/food/drinks/carton/small/milk/strawberry,
/obj/item/reagent_containers/food/drinks/cans/melon_soda
)
var/list/lunchables_vaurca_ = list(
@@ -2089,12 +2089,13 @@
/obj/item/reagent_containers/food/snacks/burger/jelly/cherry/reagents_to_add = list(/singleton/reagent/nutriment = 3, /singleton/reagent/nutriment/cherryjelly = 5)
/obj/item/reagent_containers/food/snacks/soup/milo
name = "milosoup"
desc = "The universes best soup! Yum!!!"
icon_state = "milosoup"
/obj/item/reagent_containers/food/snacks/soup/miso
name = "miso soup"
desc = "Miso paste, dashi, and tofu."
icon_state = "miso_soup"
filling_color = "#774f0f"
reagents_to_add = list(/singleton/reagent/nutriment = 8, /singleton/reagent/water = 5)
reagent_data = list(/singleton/reagent/nutriment = list("soy" = 8))
reagent_data = list(/singleton/reagent/nutriment = list("savory soy broth" = 8))
bitesize = 4
/obj/item/reagent_containers/food/snacks/stewedsoymeat
@@ -5,7 +5,7 @@
/obj/item/reagent_containers/glass
name = " "
desc = " "
icon = 'icons/obj/chemical.dmi'
icon = 'icons/obj/item/reagent_containers/glass.dmi'
icon_state = null
item_state = null
amount_per_transfer_from_this = 10
@@ -39,7 +39,7 @@
break
if(T.reagent_state == SOLID)
to_chat(user, SPAN_NOTICE("You see something solid in the beaker."))
break
break
else
to_chat(user, SPAN_NOTICE("It is empty."))
if(!is_open_container())
@@ -98,11 +98,7 @@
/obj/item/reagent_containers/glass/beaker
name = "beaker"
desc = "A beaker."
icon = 'icons/obj/chemical.dmi'
item_icons = list(
slot_l_hand_str = 'icons/mob/items/lefthand_medical.dmi',
slot_r_hand_str = 'icons/mob/items/righthand_medical.dmi',
)
contained_sprite = TRUE
icon_state = "beaker"
item_state = "beaker"
filling_states = "20;40;60;80;100"
@@ -138,7 +134,7 @@
cut_overlays()
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "[icon_state]-[get_filling_state()]")
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-[get_filling_state()]")
filling.color = reagents.get_color()
add_overlay(filling)
@@ -189,6 +185,7 @@
name = "vial"
desc = "A small glass vial."
icon_state = "vial"
item_state = "dropper"
center_of_mass = list("x" = 15,"y" = 9)
matter = list(MATERIAL_GLASS = 250)
volume = 30
@@ -275,7 +272,6 @@
/obj/item/reagent_containers/glass/bucket/self_feed_message(var/mob/user)
to_chat(user, "<span class='notice'>You drink heavily from \the [src].</span>")
/obj/item/reagent_containers/glass/bucket/wood
desc = "An old wooden bucket."
name = "wooden bucket"
@@ -294,3 +290,21 @@
return
..()
/obj/item/reagent_containers/glass/teapot
name = "teapot"
desc = "An elegant teapot. It simply oozes class."
icon_state = "teapot"
item_state = "teapot"
unacidable = TRUE
amount_per_transfer_from_this = 10
volume = 120
/obj/item/reagent_containers/glass/pitcher
name = "pitcher"
desc = "Everyone's best friend in the morning."
icon_state = "pitcher"
unacidable = TRUE
amount_per_transfer_from_this = 10
volume = 120
possible_transfer_amounts = list(5,10,15,30,60,120)
@@ -4,12 +4,7 @@
/obj/item/reagent_containers/glass/bottle
name = "bottle"
desc = "A small bottle."
icon = 'icons/obj/chemical.dmi'
item_icons = list(
slot_l_hand_str = 'icons/mob/items/lefthand_medical.dmi',
slot_r_hand_str = 'icons/mob/items/righthand_medical.dmi',
)
icon_state = null
contained_sprite = TRUE
item_state = "bottle"
filling_states = "20;40;60;80;100"
amount_per_transfer_from_this = 5
@@ -43,7 +38,7 @@
cut_overlays()
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "[icon_state]-[get_filling_state()]")
var/mutable_appearance/filling = mutable_appearance(icon, "[icon_state]-[get_filling_state()]")
filling.color = reagents.get_color()
add_overlay(filling)
@@ -132,7 +127,7 @@
/obj/item/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 = 'icons/obj/item/reagent_containers/food/drinks/bottle.dmi'
icon_state = "holyflask"
reagents_to_add = list(/singleton/reagent/adminordrazine = 60)
@@ -231,3 +226,29 @@
desc = "A small bottle. Contains hyronalin - treats mild moderate radiation poisoning."
icon_state = "bottle-4"
reagents_to_add = list(/singleton/reagent/hyronalin = 60)
//syrups
/obj/item/reagent_containers/glass/bottle/syrup
name = "syrup dispenser"
desc = "A small bottle dispenser."
icon_state = "syrup"
filling_states = "20;40;60;80;100"
flags = OPENCONTAINER
volume = 50
/obj/item/reagent_containers/glass/bottle/syrup/chocolate
name = "chocolate syrup dispenser"
reagents_to_add = list(/singleton/reagent/drink/syrup_chocolate = 50)
/obj/item/reagent_containers/glass/bottle/syrup/pumpkin
name = "pumpkin spice syrup dispenser"
reagents_to_add = list(/singleton/reagent/drink/syrup_pumpkin = 50)
/obj/item/reagent_containers/glass/bottle/syrup/vanilla
name = "vanilla syrup dispenser"
reagents_to_add = list(/singleton/reagent/drink/syrup_vanilla = 50)
/obj/item/reagent_containers/glass/bottle/syrup/caramel
name = "caramel syrup dispenser"
reagents_to_add = list(/singleton/reagent/drink/syrup_caramel = 50)
@@ -7,11 +7,8 @@
desc = "A sterile, air-needle autoinjector for administration of drugs to patients."
desc_extended = "The Zeng-Hu Pharmaceuticals' Hypospray - 9 out of 10 doctors recommend it!"
desc_info = "Unlike a syringe, reagents have to be poured into the hypospray before it can be used."
icon = 'icons/obj/syringe.dmi'
item_icons = list(
slot_l_hand_str = 'icons/mob/items/lefthand_medical.dmi',
slot_r_hand_str = 'icons/mob/items/righthand_medical.dmi',
)
icon = 'icons/obj/item/reagent_containers/syringe.dmi'
contained_sprite = TRUE
item_state = "hypo"
icon_state = "hypo"
amount_per_transfer_from_this = 5
@@ -44,6 +41,7 @@
desc_extended = "The Zeng-Hu Pharmaceuticals' Hypospray Mk-II is a cutting-edge version of the regular hypospray, with a much more expensive and streamlined injection process."
desc_info = "This version of the hypospray has no delay before injecting a patient with reagent."
icon_state = "cmo_hypo"
item_state = "cmo_hypo"
volume = 30
possible_transfer_amounts = list(5, 10, 15, 30)
time = 0
@@ -71,7 +69,7 @@
icon_state = "[initial(icon_state)]_[rounded_vol]"
if(reagents.total_volume)
filling = image('icons/obj/syringe.dmi', src, "[initial(icon_state)][volume]")
filling = image(icon, src, "[initial(icon_state)][volume]")
filling.icon_state = "[initial(icon_state)][rounded_vol]"
@@ -3,13 +3,10 @@
/obj/item/reagent_containers/inhaler
name = "autoinhaler"
desc = "A rapid and safe way to administer small amounts of drugs into the lungs by untrained or trained personnel."
icon = 'icons/obj/syringe.dmi'
icon = 'icons/obj/item/reagent_containers/syringe.dmi'
contained_sprite = TRUE
icon_state = "autoinhaler"
item_state = "autoinhaler"
item_icons = list(
slot_l_hand_str = 'icons/mob/items/lefthand_medical.dmi',
slot_r_hand_str = 'icons/mob/items/righthand_medical.dmi'
)
center_of_mass = list("x" = 16,"y" = 11)
unacidable = 1
amount_per_transfer_from_this = 5
@@ -291,4 +288,4 @@
. =..()
reagents.add_reagent(/singleton/reagent/raskara_dust, volume)
update_icon()
return
return
@@ -4,9 +4,10 @@
/obj/item/reagent_containers/personal_inhaler_cartridge
name = "small inhaler cartridge"
desc = "Fill this when chemicals and attach this to personal inhalers. Contains enough aerosol for 15u of reagents. The container must be activated for aerosol reagents to mix for the use in inhalers."
icon = 'icons/obj/syringe.dmi'
icon = 'icons/obj/item/reagent_containers/syringe.dmi'
item_state = "pi_cart_small"
icon_state = "pi_cart_small"
contained_sprite = TRUE
volume = 15
w_class = ITEMSIZE_TINY
unacidable = 1
@@ -27,7 +28,7 @@
var/rounded_vol = round(reagents.total_volume, round(reagents.maximum_volume / (volume / 5)))
if(reagents.total_volume)
var/mutable_appearance/filling = mutable_appearance('icons/obj/syringe.dmi', "[initial(icon_state)][rounded_vol]")
var/mutable_appearance/filling = mutable_appearance(icon, "[initial(icon_state)][rounded_vol]")
filling.color = reagents.get_color()
add_overlay(filling)
@@ -87,9 +88,10 @@
/obj/item/personal_inhaler
name = "inhaler"
desc = "A safe way to administer small amounts of drugs into the lungs by trained personnel."
icon = 'icons/obj/syringe.dmi'
icon = 'icons/obj/item/reagent_containers/syringe.dmi'
item_state = "pi"
icon_state = "pi"
contained_sprite = TRUE
w_class = ITEMSIZE_SMALL
slot_flags = SLOT_BELT
var/obj/item/reagent_containers/stored_cartridge
@@ -10,11 +10,8 @@
name = "syringe"
desc = "A syringe."
desc_info = "This tool can be used to reinflate a collapsed lung. To do this, activate grab intent, select the patient's chest, then click on them. It will hurt a lot, but it will buy time until surgery can be performed."
icon = 'icons/obj/syringe.dmi'
item_icons = list(
slot_l_hand_str = 'icons/mob/items/lefthand_medical.dmi',
slot_r_hand_str = 'icons/mob/items/righthand_medical.dmi',
)
icon = 'icons/obj/item/reagent_containers/syringe.dmi'
contained_sprite = TRUE
icon_state = "0"
item_state = "syringe"
build_from_parts = TRUE
@@ -285,11 +282,11 @@
if(reagents && reagents.total_volume)
worn_overlay = Clamp(round((reagents.total_volume / volume * 15),5), 1, 15) //rounded_vol
add_overlay(overlay_image('icons/obj/reagentfillings.dmi', "[iconstring][worn_overlay]", color = reagents.get_color()))
add_overlay(overlay_image(icon, "[iconstring][worn_overlay]", color = reagents.get_color()))
worn_overlay_color = reagents.get_color() // handles inhands
update_held_icon()
else
worn_overlay = 0
worn_overlay = 0 // don't change to null, or it will break
update_held_icon()
icon_state = "[worn_overlay]"
if(ismob(loc))
var/injoverlay
@@ -359,7 +356,7 @@
/obj/item/reagent_containers/syringe/large
name = "large syringe"
desc = "A large syringe - for those patients who need a little more."
icon = 'icons/obj/large_syringe.dmi'
icon = 'icons/obj/item/reagent_containers/large_syringe.dmi'
icon_state = "0"
possible_transfer_amounts = list(5, 15, 30)
volume = 30