mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-02-07 14:59:13 +00:00
* 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
487 lines
16 KiB
Plaintext
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)
|