Files
cacogen 51708d5504 Adds beef space ramen (#96393)
## About The Pull Request

Adds beef space ramen packets as an uncommon maintenance spawn. These
are small boxes that contain a brick of dehydrated space ramen and a
beef flavour sachet (these are all they can hold). These items can be
used on the soup range to create beef ramen.
## Why It's Good For The Game

The existing option for ramen leaves something to be desired. You just
add water and it magically heats itself. The ramen is treated as a
reagent rather than an object like other noodles.
## Changelog
🆑 cacogen
add: Adds packets of beef ramen as an uncommon maintenance spawn
/🆑
2026-06-10 09:08:10 +12:00

608 lines
22 KiB
Plaintext

// This contains all boxes with edible stuffs or stuff related to edible stuffs.
/obj/item/storage/box/donkpockets
name = "box of donk-pockets"
desc = "Instructions: Heat in microwave. Product will stay perpetually warmed with cutting edge Donk Co. technology."
icon_state = "donkpocketbox"
illustration = null
/// What type of donk pocket are we gonna cram into this box?
var/donktype = /obj/item/food/donkpocket
storage_type = /datum/storage/box/donk_pockets
/obj/item/storage/box/donkpockets/PopulateContents()
for(var/i in 1 to 6)
new donktype(src)
/obj/item/storage/box/donkpockets/donkpocketspicy
name = "box of spicy-flavoured donk-pockets"
icon_state = "donkpocketboxspicy"
donktype = /obj/item/food/donkpocket/spicy
/obj/item/storage/box/donkpockets/donkpocketteriyaki
name = "box of teriyaki-flavoured donk-pockets"
icon_state = "donkpocketboxteriyaki"
donktype = /obj/item/food/donkpocket/teriyaki
/obj/item/storage/box/donkpockets/donkpocketpizza
name = "box of pizza-flavoured donk-pockets"
icon_state = "donkpocketboxpizza"
donktype = /obj/item/food/donkpocket/pizza
/obj/item/storage/box/donkpockets/donkpocketgondola
name = "box of gondola-flavoured donk-pockets"
icon_state = "donkpocketboxgondola"
donktype = /obj/item/food/donkpocket/gondola
/obj/item/storage/box/donkpockets/donkpocketberry
name = "box of berry-flavoured donk-pockets"
icon_state = "donkpocketboxberry"
donktype = /obj/item/food/donkpocket/berry
/obj/item/storage/box/donkpockets/donkpockethonk
name = "box of banana-flavoured donk-pockets"
icon_state = "donkpocketboxbanana"
donktype = /obj/item/food/donkpocket/honk
/obj/item/storage/box/donkpockets/donkpocketshell
name = "box of Donk Co. 'Donk Spike' flechette shells"
desc = "Instructions: DO NOT heat in microwave. Product will remove all hostile threats with cutting edge Donk Co. technology."
icon_state = "donkpocketboxshell"
donktype = /obj/item/ammo_casing/shotgun/flechette/donk
storage_type = /datum/storage/box/donk_bullets
/obj/item/storage/box/papersack
name = "paper sack"
desc = "A sack neatly crafted out of paper."
icon = 'icons/obj/storage/paperbag.dmi'
icon_state = "paperbag_None"
inhand_icon_state = null
illustration = null
resistance_flags = FLAMMABLE
foldable_result = null
custom_materials = list(/datum/material/paper = SHEET_MATERIAL_AMOUNT * 1.25)
/// A list of all available papersack reskins
var/list/papersack_designs = list()
///What design from papersack_designs we are currently using.
var/design_choice = "None"
/obj/item/storage/box/papersack/Initialize(mapload)
. = ..()
papersack_designs = sort_list(list(
"None" = image(icon = src.icon, icon_state = "paperbag_None"),
"NanotrasenStandard" = image(icon = src.icon, icon_state = "paperbag_NanotrasenStandard"),
"SyndiSnacks" = image(icon = src.icon, icon_state = "paperbag_SyndiSnacks"),
"Heart" = image(icon = src.icon, icon_state = "paperbag_Heart"),
"SmileyFace" = image(icon = src.icon, icon_state = "paperbag_SmileyFace")
))
update_appearance()
/obj/item/storage/box/papersack/vv_edit_var(vname, vval)
. = ..()
if(vname == NAMEOF(src, design_choice))
update_appearance()
/obj/item/storage/box/papersack/update_icon_state()
icon_state = "paperbag_[design_choice][(contents.len == 0) ? null : "_closed"]"
return ..()
/obj/item/storage/box/papersack/update_desc(updates)
switch(design_choice)
if("None")
desc = "A sack neatly crafted out of paper."
if("NanotrasenStandard")
desc = "A standard Nanotrasen paper lunch sack for loyal employees on the go."
if("SyndiSnacks")
desc = "The design on this paper sack is a remnant of the notorious 'SyndieSnacks' program."
if("Heart")
desc = "A paper sack with a heart etched onto the side."
if("SmileyFace")
desc = "A paper sack with a crude smile etched onto the side."
return ..()
/obj/item/storage/box/papersack/tool_act(mob/living/user, obj/item/tool, list/modifiers)
if(IS_WRITING_UTENSIL(tool))
var/choice = show_radial_menu(user, src , papersack_designs, custom_check = CALLBACK(src, PROC_REF(check_menu), user, tool), radius = 36, require_near = TRUE)
if(!choice || choice == design_choice)
return ITEM_INTERACT_BLOCKING
design_choice = choice
balloon_alert(user, "modified")
update_appearance()
return ITEM_INTERACT_SUCCESS
if(tool.get_sharpness() && !contents.len)
if(design_choice == "None")
user.show_message(span_notice("You cut eyeholes into [src]."), MSG_VISUAL)
new /obj/item/clothing/head/costume/papersack(drop_location())
qdel(src)
return ITEM_INTERACT_SUCCESS
else if(design_choice == "SmileyFace")
user.show_message(span_notice("You cut eyeholes into [src] and modify the design."), MSG_VISUAL)
new /obj/item/clothing/head/costume/papersack/smiley(drop_location())
qdel(src)
return ITEM_INTERACT_SUCCESS
return ..()
/**
* check_menu: Checks if we are allowed to interact with a radial menu
*
* Arguments:
* * user The mob interacting with a menu
* * P The pen used to interact with a menu
*/
/obj/item/storage/box/papersack/proc/check_menu(mob/user, obj/item/pen/P)
if(!istype(user))
return FALSE
if(user.incapacitated)
return FALSE
if(contents.len)
balloon_alert(user, "items inside!")
return FALSE
if(!P || !user.is_holding(P))
balloon_alert(user, "needs pen!")
return FALSE
return TRUE
/obj/item/storage/box/papersack/meat
desc = "It's slightly moist and smells like a slaughterhouse."
/obj/item/storage/box/papersack/meat/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/food/meat/slab(src)
/obj/item/storage/box/papersack/wheat
desc = "It's a bit dusty, and smells like a barnyard."
/obj/item/storage/box/papersack/wheat/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/food/grown/wheat(src)
/obj/item/storage/box/ingredients //This box is for the randomly chosen version the chef used to spawn with, it shouldn't actually exist.
name = "ingredients box"
illustration = "fruit"
var/theme_name
/obj/item/storage/box/ingredients/Initialize(mapload)
. = ..()
if(theme_name)
name = "[name] ([theme_name])"
desc = "A box containing supplementary ingredients for the aspiring chef. The box's theme is '[theme_name]'."
inhand_icon_state = "syringe_kit"
/obj/item/storage/box/ingredients/wildcard
theme_name = "wildcard"
/obj/item/storage/box/ingredients/wildcard/PopulateContents()
for(var/i in 1 to 7)
var/random_food = pick(
/obj/item/food/chocolatebar,
/obj/item/food/grown/apple,
/obj/item/food/grown/banana,
/obj/item/food/grown/cabbage,
/obj/item/food/grown/carrot,
/obj/item/food/grown/cherries,
/obj/item/food/grown/chili,
/obj/item/food/grown/corn,
/obj/item/food/grown/cucumber,
/obj/item/food/grown/mushroom/chanterelle,
/obj/item/food/grown/mushroom/plumphelmet,
/obj/item/food/grown/potato,
/obj/item/food/grown/potato/sweet,
/obj/item/food/grown/soybeans,
/obj/item/food/grown/tomato,
)
new random_food(src)
/obj/item/storage/box/ingredients/fiesta
theme_name = "fiesta"
/obj/item/storage/box/ingredients/fiesta/PopulateContents()
new /obj/item/food/tortilla(src)
for(var/i in 1 to 2)
new /obj/item/food/grown/chili(src)
new /obj/item/food/grown/corn(src)
new /obj/item/food/grown/soybeans(src)
/obj/item/storage/box/ingredients/italian
theme_name = "italian"
/obj/item/storage/box/ingredients/italian/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/food/grown/tomato(src)
new /obj/item/food/meatball(src)
new /obj/item/reagent_containers/cup/glass/bottle/wine(src)
/obj/item/storage/box/ingredients/vegetarian
theme_name = "vegetarian"
/obj/item/storage/box/ingredients/vegetarian/PopulateContents()
for(var/i in 1 to 2)
new /obj/item/food/grown/carrot(src)
new /obj/item/food/grown/apple(src)
new /obj/item/food/grown/corn(src)
new /obj/item/food/grown/eggplant(src)
new /obj/item/food/grown/potato(src)
new /obj/item/food/grown/tomato(src)
/obj/item/storage/box/ingredients/american
theme_name = "american"
/obj/item/storage/box/ingredients/american/PopulateContents()
for(var/i in 1 to 2)
new /obj/item/food/grown/corn(src)
new /obj/item/food/grown/potato(src)
new /obj/item/food/grown/tomato(src)
new /obj/item/food/meatball(src)
/obj/item/storage/box/ingredients/fruity
theme_name = "fruity"
/obj/item/storage/box/ingredients/fruity/PopulateContents()
for(var/i in 1 to 2)
new /obj/item/food/grown/apple(src)
new /obj/item/food/grown/citrus/orange(src)
new /obj/item/food/grown/citrus/lemon(src)
new /obj/item/food/grown/citrus/lime(src)
new /obj/item/food/grown/watermelon(src)
/obj/item/storage/box/ingredients/sweets
theme_name = "sweets"
/obj/item/storage/box/ingredients/sweets/PopulateContents()
for(var/i in 1 to 2)
new /obj/item/food/grown/cherries(src)
new /obj/item/food/grown/banana(src)
new /obj/item/food/chocolatebar(src)
new /obj/item/food/grown/apple(src)
new /obj/item/food/grown/cocoapod(src)
/obj/item/storage/box/ingredients/delights
theme_name = "delights"
/obj/item/storage/box/ingredients/delights/PopulateContents()
for(var/i in 1 to 2)
new /obj/item/food/grown/bluecherries(src)
new /obj/item/food/grown/potato/sweet(src)
new /obj/item/food/grown/berries(src)
new /obj/item/food/grown/cocoapod(src)
new /obj/item/food/grown/vanillapod(src)
/obj/item/storage/box/ingredients/grains
theme_name = "grains"
/obj/item/storage/box/ingredients/grains/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/food/grown/oat(src)
new /obj/item/food/grown/cocoapod(src)
new /obj/item/food/grown/wheat(src)
new /obj/item/food/honeycomb(src)
new /obj/item/seeds/poppy(src)
/obj/item/storage/box/ingredients/carnivore
theme_name = "carnivore"
/obj/item/storage/box/ingredients/carnivore/PopulateContents()
new /obj/item/food/meat/slab/bear(src)
new /obj/item/food/meat/slab/corgi(src)
new /obj/item/food/meat/slab/penguin(src)
new /obj/item/food/meat/slab/spider(src)
new /obj/item/food/meat/slab/xeno(src)
new /obj/item/food/meatball(src)
new /obj/item/food/spidereggs(src)
/obj/item/storage/box/ingredients/exotic
theme_name = "exotic"
/obj/item/storage/box/ingredients/exotic/PopulateContents()
for(var/i in 1 to 2)
new /obj/item/food/fishmeat/carp(src)
new /obj/item/food/grown/cabbage(src)
new /obj/item/food/grown/soybeans(src)
new /obj/item/food/grown/chili(src)
/obj/item/storage/box/ingredients/seafood
theme_name = "seafood"
/obj/item/storage/box/ingredients/seafood/PopulateContents()
for(var/i in 1 to 2)
new /obj/item/food/fishmeat/armorfish(src)
new /obj/item/food/fishmeat/carp(src)
new /obj/item/food/fishmeat/moonfish(src)
new /obj/item/food/fishmeat/gunner_jellyfish/supply(src)
/obj/item/storage/box/ingredients/salads
theme_name = "salads"
/obj/item/storage/box/ingredients/salads/PopulateContents()
new /obj/item/food/grown/cabbage(src)
new /obj/item/food/grown/carrot(src)
new /obj/item/food/grown/olive(src)
new /obj/item/food/grown/onion/red(src)
new /obj/item/food/grown/onion/red(src)
new /obj/item/food/grown/tomato(src)
new /obj/item/reagent_containers/condiment/olive_oil(src)
/obj/item/storage/box/ingredients/random
theme_name = "random"
desc = "This box should not exist, contact the proper authorities."
/obj/item/storage/box/ingredients/random/Initialize(mapload)
. = ..()
var/chosen_box = pick(subtypesof(/obj/item/storage/box/ingredients) - /obj/item/storage/box/ingredients/random)
new chosen_box(loc)
return INITIALIZE_HINT_QDEL
/obj/item/storage/box/gum
name = "bubblegum packet"
desc = "The packaging is entirely in Japanese, apparently. You can't make out a single word of it."
icon = 'icons/obj/storage/gum.dmi'
icon_state = "bubblegum_generic"
w_class = WEIGHT_CLASS_TINY
illustration = null
foldable_result = null
custom_price = PAYCHECK_CREW
storage_type = /datum/storage/box/gum
///Typepath of the type of gum that spawns with this box, this is passed to the wrapper for spawning in.
var/spawning_gum_type = /obj/item/food/bubblegum
/obj/item/storage/box/gum/PopulateContents()
for(var/i in 1 to 4)
new /obj/item/storage/bubblegum_wrapper(src, spawning_gum_type)
/obj/item/storage/box/gum/wake_up
name = "\improper Activin 12 Hour medicated gum packet"
desc = "Stay awake during long shifts in the maintenance tunnels with Activin! The approval seal of the Mothic Nomad Fleet \
is emblazoned on the packaging, alongside a litany of health and safety disclaimers in both Mothic and Galactic Common."
icon_state = "bubblegum_wake_up"
custom_premium_price = PAYCHECK_CREW * 1.5
/obj/item/storage/box/gum/wake_up/examine_more(mob/user)
. = ..()
. += span_notice("<i>You read some of the health and safety information...</i>")
. += "\t[span_info("For the relief of tiredness and drowsiness while working.")]"
. += "\t[span_info("Do not chew more than one strip every 12 hours. Do not use as a complete substitute for sleep.")]"
. += "\t[span_info("Do not give to children under 16. Do not exceed the maximum dosage. Do not ingest. Do not take for more than 3 days consecutively. Do not take in conjunction with other medication. May cause adverse reactions in patients with pre-existing heart conditions.")]"
. += "\t[span_info("Side effects of Activin use may include twitchy antennae, overactive wings, loss of keratin sheen, loss of setae coverage, arrythmia, blurred vision, and euphoria. Cease taking the medication if side effects occur.")]"
. += "\t[span_info("Repeated use may cause addiction.")]"
. += "\t[span_info("If the maximum dosage is exceeded, inform a member of your assigned vessel's medical staff immediately. Do not induce vomiting.")]"
. += "\t[span_info("Ingredients: each strip contains 500mg of Activin (dextro-methamphetamine). Other ingredients include Green Dye 450 (Verdant Meadow) and artificial herb flavouring.")]"
. += "\t[span_info("Storage: keep in a cool dry place. Do not use after the use-by date: 32/4/350.")]"
return .
/obj/item/storage/box/gum/wake_up/PopulateContents()
for(var/i in 1 to 4)
new/obj/item/food/bubblegum/wake_up(src)
/obj/item/storage/bubblegum_wrapper
name = "bubblegum wrapper"
icon = 'icons/obj/food/food.dmi'
icon_state = "bubblegum_wrapper"
w_class = WEIGHT_CLASS_TINY
resistance_flags = FLAMMABLE
item_flags = NOBLUDGEON|SKIP_FANTASY_ON_SPAWN
///The typepath of the type of gum that will spawn in our PopulateContents,
///this is set in Initialize by the gum box if there is one.
var/gum_to_spawn = /obj/item/food/bubblegum
/obj/item/storage/bubblegum_wrapper/Initialize(mapload, spawning_gum_type)
if(!isnull(spawning_gum_type))
gum_to_spawn = spawning_gum_type
. = ..()
atom_storage.set_holdable(/obj/item/food/bubblegum)
atom_storage.max_slots = 1
atom_storage.display_contents = FALSE
update_appearance(UPDATE_OVERLAYS)
/obj/item/storage/bubblegum_wrapper/grind_results()
return list(/datum/reagent/aluminium = 1)
/obj/item/storage/bubblegum_wrapper/PopulateContents()
new gum_to_spawn(src)
/obj/item/storage/bubblegum_wrapper/update_overlays()
. = ..()
var/obj/item/food/bubblegum/gum_inside = locate() in contents
if(isnull(gum_inside))
return .
var/mutable_appearance/gum_overlay = mutable_appearance(gum_inside.icon, gum_inside.icon_state, layer = src.layer - 0.01)
gum_overlay.color = gum_inside.color
. += gum_overlay
//These procs are copied over from cigarette packets
/obj/item/storage/bubblegum_wrapper/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
. = ..()
if(istype(interacting_with, /obj/item/food/bubblegum))
atom_storage.item_interact_insert(user, interacting_with)
return ITEM_INTERACT_SUCCESS
if(interacting_with != user)
return ..()
quick_remove_item(/obj/item/food/bubblegum, user, equip_to_mouth = TRUE)
return ITEM_INTERACT_SUCCESS
/obj/item/storage/bubblegum_wrapper/attack_hand_secondary(mob/user, list/modifiers)
. = ..()
quick_remove_item(/obj/item/food/bubblegum, user)
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
/obj/item/storage/bubblegum_wrapper/click_alt(mob/user)
quick_remove_item(/obj/item/food/bubblegum, user)
return CLICK_ACTION_SUCCESS
/obj/item/storage/box/gum/nicotine
name = "nicotine gum packet"
desc = "Designed to help with nicotine addiction and oral fixation all at once without destroying your lungs in the process. Mint flavored!"
icon_state = "bubblegum_nicotine"
custom_premium_price = PAYCHECK_CREW * 1.5
spawning_gum_type = /obj/item/food/bubblegum/nicotine
/obj/item/storage/box/gum/happiness
name = "HP+ gum packet"
desc = "A seemingly homemade packaging with an odd smell. It has a weird drawing of a smiling face sticking out its tongue."
icon_state = "bubblegum_happiness"
custom_price = PAYCHECK_COMMAND * 3
custom_premium_price = PAYCHECK_COMMAND * 3
spawning_gum_type = /obj/item/food/bubblegum/happiness
/obj/item/storage/box/gum/happiness/Initialize(mapload)
. = ..()
if (prob(25))
desc += " You can faintly make out the word 'Hemopagopril' was once scribbled on it."
/obj/item/storage/box/gum/bubblegum
name = "bubblegum gum packet"
desc = "The packaging is entirely in Demonic, apparently. You feel like even opening this would be a sin."
icon_state = "bubblegum_bubblegum"
spawning_gum_type = /obj/item/food/bubblegum/bubblegum
/obj/item/storage/box/mothic_rations
name = "Mothic Rations Pack"
desc = "A box containing a few rations and some Activin gum, for keeping a starving moth going."
icon_state = "moth_package"
illustration = null
/obj/item/storage/box/mothic_rations/PopulateContents()
for(var/i in 1 to 3)
var/random_food = pick_weight(list(
/obj/item/food/sustenance_bar = 10,
/obj/item/food/sustenance_bar/cheese = 5,
/obj/item/food/sustenance_bar/mint = 5,
/obj/item/food/sustenance_bar/neapolitan = 5,
/obj/item/food/sustenance_bar/wonka = 1,
))
new random_food(src)
new /obj/item/storage/box/gum/wake_up(src)
/obj/item/storage/box/tiziran_goods
name = "Tiziran Farm-Fresh Pack"
desc = "A box containing an assortment of fresh Tiziran goods- perfect for making the foods of the Lizard Empire."
icon_state = "lizard_package"
illustration = null
/obj/item/storage/box/tiziran_goods/PopulateContents()
for(var/i in 1 to 12)
var/random_food = pick_weight(list(
/obj/item/food/bread/root = 2,
/obj/item/food/grown/ash_flora/seraka = 2,
/obj/item/food/grown/korta_nut = 10,
/obj/item/food/grown/korta_nut/sweet = 2,
/obj/item/food/liver_pate = 5,
/obj/item/food/lizard_dumplings = 5,
/obj/item/food/moonfish_caviar = 5,
/obj/item/food/root_flatbread = 5,
/obj/item/food/rootroll = 5,
/obj/item/food/spaghetti/nizaya = 5,
))
new random_food(src)
/obj/item/storage/box/tiziran_cans
name = "Tiziran Canned Goods Pack"
desc = "A box containing an assortment of canned Tiziran goods- to be eaten as is, or used in cooking."
icon_state = "lizard_package"
illustration = null
/obj/item/storage/box/tiziran_cans/PopulateContents()
for(var/i in 1 to 8)
var/random_food = pick_weight(list(
/obj/item/food/canned/jellyfish = 5,
/obj/item/food/canned/desert_snails = 5,
/obj/item/food/canned/larvae = 5,
))
new random_food(src)
/obj/item/storage/box/tiziran_meats
name = "Tiziran Meatmarket Pack"
desc = "A box containing an assortment of fresh-frozen Tiziran meats and fish- the keys to lizard cooking."
icon_state = "lizard_package"
illustration = null
/obj/item/storage/box/tiziran_meats/PopulateContents()
for(var/i in 1 to 10)
var/random_food = pick_weight(list(
/obj/item/food/fishmeat/armorfish = 5,
/obj/item/food/fishmeat/gunner_jellyfish = 5,
/obj/item/food/fishmeat/moonfish = 5,
/obj/item/food/meat/slab = 5,
))
new random_food(src)
/obj/item/storage/box/mothic_goods
name = "Mothic Farm-Fresh Pack"
desc = "A box containing an assortment of Mothic cooking supplies."
icon_state = "moth_package"
illustration = null
/obj/item/storage/box/mothic_goods/PopulateContents()
for(var/i in 1 to 12)
var/random_food = pick_weight(list(
/obj/item/food/cheese/cheese_curds = 5,
/obj/item/food/cheese/curd_cheese = 5,
/obj/item/food/cheese/firm_cheese = 5,
/obj/item/food/cheese/mozzarella = 5,
/obj/item/food/cheese/wheel = 5,
/obj/item/food/grown/toechtauese = 10,
/obj/item/reagent_containers/condiment/cornmeal = 5,
/obj/item/reagent_containers/condiment/olive_oil = 5,
/obj/item/reagent_containers/condiment/yoghurt = 5,
))
new random_food(src)
/obj/item/storage/box/mothic_cans_sauces
name = "Mothic Pantry Pack"
desc = "A box containing an assortment of Mothic canned goods and premade sauces."
icon_state = "moth_package"
illustration = null
/obj/item/storage/box/mothic_cans_sauces/PopulateContents()
for(var/i in 1 to 8)
var/random_food = pick_weight(list(
/obj/item/food/bechamel_sauce = 5,
/obj/item/food/canned/pine_nuts = 5,
/obj/item/food/canned/tomatoes = 5,
/obj/item/food/pesto = 5,
/obj/item/food/tomato_sauce = 5,
))
new random_food(src)
/obj/item/storage/box/condimentbottles
name = "box of condiment bottles"
desc = "It has a large ketchup smear on it."
illustration = "condiment"
/obj/item/storage/box/condimentbottles/PopulateContents()
for(var/i in 1 to 6)
new /obj/item/reagent_containers/condiment(src)
/obj/item/storage/box/coffeepack
icon_state = "arabica_beans"
name = "arabica beans"
desc = "A bag containing fresh, dry coffee arabica beans. Ethically sourced and packaged by Waffle Corp."
illustration = null
icon = 'icons/obj/food/containers.dmi'
storage_type = /datum/storage/box/coffee
var/beantype = /obj/item/food/grown/coffee
/obj/item/storage/box/coffeepack/PopulateContents()
for(var/i in 1 to 5)
var/obj/item/food/grown/coffee/bean = new beantype(src)
ADD_TRAIT(bean, TRAIT_DRIED, ELEMENT_TRAIT(type))
bean.add_atom_colour(COLOR_DRIED_TAN, FIXED_COLOUR_PRIORITY) //give them the tan just like from the drying rack
/obj/item/storage/box/coffeepack/robusta
icon_state = "robusta_beans"
name = "robusta beans"
desc = "A bag containing fresh, dry coffee robusta beans. Ethically sourced and packaged by Waffle Corp."
beantype = /obj/item/food/grown/coffee/robusta
/obj/item/storage/box/ramen_beef
name = "beef space ramen"
desc = "A box containing a brick of dehydrated ramen and a beef flavour sachet."
icon_state = "ramen_box"
illustration = null
storage_type = /datum/storage/box/ramen_beef
w_class = WEIGHT_CLASS_SMALL //it's meant to come in packs of five and the box can only hold two items, beef flavour or dry ramen
/obj/item/storage/box/ramen_beef/PopulateContents()
new /obj/item/reagent_containers/condiment/pack/beef_flavour(src)
new /obj/item/food/spaghetti/ramen_dry(src)