Files
Bubberstation/code/game/objects/items/storage/boxes/food_boxes.dm
san7890 42ec99a1b4 Preset Boxes File De-concatenation (#69753)
* Preset Boxes File De-concatenation

Hey there,

We had one file that was like eighteen-hundred (1800) lines full of just... box presets. There was no rhyme or reason to where anything was in the list, it just sorta got to the point where new features were found near the bottom with zero grouping. So, let's de-concatenate this massive file and give it some proper grouping.

While I was in the area, I did some file cleanup, using `snake_case` instead of whatever the fuck some vars were, alphabetizing and cleaning up lists to have trailing commas, that sorta stuff. Let me know if I broke something somewhere.

* documentations, var improvement

* adds some documentation, clears up some variables
2022-09-08 09:15:58 -04:00

487 lines
16 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 = "<B>Instructions:</B> <I>Heat in microwave. Product will stay perpetually warmed with cutting edge Donk Co. technology.</I>"
icon_state = "donkpocketbox"
illustration = null
/// What type of donk pocket are we gonna cram into this box?
var/donktype = /obj/item/food/donkpocket
/obj/item/storage/box/donkpockets/PopulateContents()
for(var/i in 1 to 6)
new donktype(src)
/obj/item/storage/box/donkpockets/Initialize(mapload)
. = ..()
atom_storage.set_holdable(list(/obj/item/food/donkpocket))
/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/papersack
name = "paper sack"
desc = "A sack neatly crafted out of paper."
icon_state = "paperbag_None"
inhand_icon_state = "paperbag_None"
illustration = null
resistance_flags = FLAMMABLE
foldable = null
/// A list of all available papersack reskins
var/list/papersack_designs = list()
/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")
))
/obj/item/storage/box/papersack/update_icon_state()
if(contents.len == 0)
icon_state = "[inhand_icon_state]"
else
icon_state = "[inhand_icon_state]_closed"
return ..()
/obj/item/storage/box/papersack/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/pen))
var/choice = show_radial_menu(user, src , papersack_designs, custom_check = CALLBACK(src, .proc/check_menu, user, W), radius = 36, require_near = TRUE)
if(!choice)
return FALSE
if(icon_state == "paperbag_[choice]")
return FALSE
switch(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."
else
return FALSE
balloon_alert(user, "modified")
icon_state = "paperbag_[choice]"
inhand_icon_state = "paperbag_[choice]"
return FALSE
else if(W.get_sharpness())
if(!contents.len)
if(inhand_icon_state == "paperbag_None")
user.show_message(span_notice("You cut eyeholes into [src]."), MSG_VISUAL)
new /obj/item/clothing/head/papersack(user.loc)
qdel(src)
return FALSE
else if(inhand_icon_state == "paperbag_SmileyFace")
user.show_message(span_notice("You cut eyeholes into [src] and modify the design."), MSG_VISUAL)
new /obj/item/clothing/head/papersack/smiley(user.loc)
qdel(src)
return FALSE
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/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/reagent_containers/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(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/quality_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_state = "bubblegum_generic"
w_class = WEIGHT_CLASS_TINY
illustration = null
foldable = null
custom_price = PAYCHECK_CREW
/obj/item/storage/box/gum/Initialize(mapload)
. = ..()
atom_storage.set_holdable(list(/obj/item/food/bubblegum))
atom_storage.max_slots = 4
/obj/item/storage/box/gum/PopulateContents()
for(var/i in 1 to 4)
new/obj/item/food/bubblegum(src)
/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
/obj/item/storage/box/gum/nicotine/PopulateContents()
for(var/i in 1 to 4)
new/obj/item/food/bubblegum/nicotine(src)
/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
/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/happiness/PopulateContents()
for(var/i in 1 to 4)
new/obj/item/food/bubblegum/happiness(src)
/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"
/obj/item/storage/box/gum/bubblegum/PopulateContents()
for(var/i in 1 to 4)
new/obj/item/food/bubblegum/bubblegum(src)
/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/desert_snails = 5,
/obj/item/food/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/quality_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)