Add juice boxes. (#31331)

* Add juice boxes.
- Include juice boxes in packed lunches quirk.
- Make juice names and drink names in drinks_reagents.dm more consistent.

* Appease linters with static typing?

* Add juice box box. It's a variety pack.

* Add trailing commas to positive quirks as requested.

* Add random juice box spawners.
- Spawn random and specified juice boxes on station maps.
- Spawn partial juice variety packs on station maps.

* Add juice box variety pack supply crate.

* Make juice box storage even fancier.

* Thanks, linters!

* Thanks, linters! part 2

* Give the pre-packaged juice boxes a brand name.

* Apply whitespace suggestion from review.

Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Signed-off-by: Alan <alfalfascout@users.noreply.github.com>

---------

Signed-off-by: Alan <alfalfascout@users.noreply.github.com>
Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
This commit is contained in:
Alan
2025-12-30 00:32:56 -05:00
committed by GitHub
parent 8519c59c7e
commit 8f87fa0b98
16 changed files with 359 additions and 33 deletions
@@ -51,7 +51,7 @@
/obj/item/food/meatkebab,
/obj/item/food/salmonsteak, // If anyone microwaves their leftover fish in the workplace it should be on sight
/obj/item/food/shrimp_skewer,
/obj/item/food/omelette
/obj/item/food/omelette,
)
var/list/snack_options = list(
/obj/item/food/chips,
@@ -63,8 +63,7 @@
/obj/item/food/candy/chocolate_orange,
/obj/item/food/sliced/mothmallow,
/obj/item/food/sliced/apple_cake,
/obj/item/food/sliced/banarnarbread
/obj/item/food/sliced/banarnarbread,
)
var/list/drink_options = list(
/obj/item/reagent_containers/drinks/h_chocolate,
@@ -75,7 +74,19 @@
/obj/item/reagent_containers/drinks/cans/space_up,
/obj/item/reagent_containers/drinks/cans/iced_tea,
/obj/item/reagent_containers/drinks/cans/starkist,
/obj/item/reagent_containers/drinks/bottle/beer // Don't tell your boss
/obj/item/reagent_containers/drinks/bottle/beer, // Don't tell your boss
/obj/item/reagent_containers/drinks/carton/apple,
/obj/item/reagent_containers/drinks/carton/banana,
/obj/item/reagent_containers/drinks/carton/berry,
/obj/item/reagent_containers/drinks/carton/carrot,
/obj/item/reagent_containers/drinks/carton/grape,
/obj/item/reagent_containers/drinks/carton/lemonade,
/obj/item/reagent_containers/drinks/carton/orange,
/obj/item/reagent_containers/drinks/carton/pineapple,
/obj/item/reagent_containers/drinks/carton/plum,
/obj/item/reagent_containers/drinks/carton/tomato,
/obj/item/reagent_containers/drinks/carton/vegetable,
/obj/item/reagent_containers/drinks/carton/watermelon,
)
/obj/item/storage/box/papersack/prepped_meal/populate_contents()
@@ -0,0 +1,66 @@
/obj/item/reagent_containers/drinks/carton
name = "Generic Drink Carton"
desc = ABSTRACT_TYPE_DESC
possible_transfer_amounts = list(5,10,15,20,25,30)
volume = 30
icon = 'icons/obj/juice_box.dmi'
icon_state = null
/obj/item/reagent_containers/drinks/carton/Initialize(mapload)
if(!length(list_reagents))
return ..()
desc = "A carton of pending drink."
. = ..()
var/datum/reagent/drink_reagent = reagents.get_master_reagent()
name = "Stationside [drink_reagent.name] Box"
desc = "A carton of Stationside brand [lowertext(drink_reagent.name)]."
/obj/item/reagent_containers/drinks/carton/apple
icon_state = "apple_box"
list_reagents = list("applejuice" = 30)
/obj/item/reagent_containers/drinks/carton/banana
icon_state = "banana_box"
list_reagents = list("banana" = 30)
/obj/item/reagent_containers/drinks/carton/berry
icon_state = "berry_box"
list_reagents = list("berryjuice" = 30)
/obj/item/reagent_containers/drinks/carton/carrot
icon_state = "carrot_box"
list_reagents = list("carrotjuice" = 30)
/obj/item/reagent_containers/drinks/carton/grape
icon_state = "grape_box"
list_reagents = list("grapejuice" = 30)
/obj/item/reagent_containers/drinks/carton/lemonade
icon_state = "lemonade_box"
list_reagents = list("lemonade" = 30)
/obj/item/reagent_containers/drinks/carton/orange
icon_state = "orange_box"
list_reagents = list("orangejuice" = 30)
/obj/item/reagent_containers/drinks/carton/pineapple
icon_state = "pineapple_box"
list_reagents = list("pineapplejuice" = 30)
/obj/item/reagent_containers/drinks/carton/plum
icon_state = "plum_box"
list_reagents = list("plumjuice" = 30)
/obj/item/reagent_containers/drinks/carton/tomato
icon_state = "tomato_box"
list_reagents = list("tomatojuice" = 30)
/obj/item/reagent_containers/drinks/carton/vegetable
icon_state = "vegetable_box"
list_reagents = list("vegjuice" = 30)
/obj/item/reagent_containers/drinks/carton/watermelon
icon_state = "watermelon_box"
list_reagents = list("watermelonjuice" = 30)
@@ -1,9 +1,9 @@
/datum/reagent/consumable/drink/orangejuice
name = "Orange juice"
name = "Orange Juice"
id = "orangejuice"
description = "Both delicious AND rich in Vitamin C, what more do you need?"
drink_icon = "glass_orange"
drink_name = "Glass of Orange juice"
drink_name = "Glass of Orange Juice"
drink_desc = "Vitamins! Yay!"
taste_description = "orange juice"
@@ -19,7 +19,7 @@
description = "Tomatoes made into juice. What a waste of big, juicy tomatoes, huh?"
color = "#C00609"
drink_icon = "glass_red"
drink_name = "Glass of Tomato juice"
drink_name = "Glass of Tomato Juice"
drink_desc = "Are you sure this is tomato juice?"
taste_description = "tomato juice"
@@ -35,7 +35,7 @@
description = "Pineapples juiced into a liquid. Sweet and sugary."
color = "#e5b437"
drink_icon = "glass_orange"
drink_name = "Glass of pineapple juice"
drink_name = "Glass of Pineapple Juice"
drink_desc = "A bright drink, sweet and sugary."
taste_description = "pineapple juice"
@@ -45,7 +45,7 @@
description = "The sweet-sour juice of limes."
color = "#68E735"
drink_icon = "glass_green"
drink_name = "Glass of Lime juice"
drink_name = "Glass of Lime Juice"
drink_desc = "A glass of sweet-sour lime juice."
taste_description = "lime juice"
@@ -56,12 +56,12 @@
return ..() | update_flags
/datum/reagent/consumable/drink/carrotjuice
name = "Carrot juice"
name = "Carrot Juice"
id = "carrotjuice"
description = "Just like a carrot, but without the crunching."
color = "#FFA500"
drink_icon = "carrotjuice"
drink_name = "Glass of carrot juice"
drink_name = "Glass of Carrot Juice"
drink_desc = "Just like a carrot, but without the crunching."
taste_description = "carrot juice"
@@ -74,32 +74,32 @@
return ..() | update_flags
/datum/reagent/consumable/drink/beetjuice
name = "Beet juice"
name = "Beet Juice"
id = "beetjuice"
description = "Sweet as a 'sugar beet' would imply."
color = "#7E0243"
drink_icon = "glass_magenta"
drink_name = "Glass of beet juice"
drink_name = "Glass of Beet Juice"
drink_desc = "Sweet as a 'sugar beet' would imply."
taste_description = "beet juice"
/datum/reagent/consumable/drink/plumjuice
name = "Plum juice"
name = "Plum Juice"
id = "plumjuice"
description = "A fan favorite of old people across the galaxy."
color = "#99305D"
drink_icon = "glass_magenta"
drink_name = "Glass of plum juice"
drink_name = "Glass of Plum Juice"
drink_desc = "A fan favorite of old people across the galaxy."
taste_description = "prune juice"
/datum/reagent/consumable/drink/lettucejuice
name = "Lettuce juice"
name = "Lettuce Juice"
id = "lettucejuice"
description = "They say you should eat your greens, but drinking them is just as good."
color = "#79B330"
drink_icon = "glass_green"
drink_name = "Glass of lettuce juice"
drink_name = "Glass of Lettuce Juice"
drink_desc = "They say you should eat your greens, but drinking them is just as good."
taste_description = "lettuce juice"
@@ -126,7 +126,7 @@
description = "A refreshing mixed drink of orange, lemon and lime juice."
color = "#B5FF00"
drink_icon = "triplecitrus"
drink_name = "Glass of triple citrus Juice"
drink_name = "Glass of Triple Citrus Juice"
drink_desc = "As colorful and healthy as it is delicious."
taste_description = "citrus juice"
@@ -142,7 +142,7 @@
description = "A delicious blend of several different kinds of berries."
color = "#B23A4E"
drink_icon = "berryjuice"
drink_name = "Glass of berry juice"
drink_name = "Glass of Berry Juice"
drink_desc = "Berry juice. Or maybe it's jam. Who cares?"
taste_description = "berry juice"
@@ -152,7 +152,7 @@
description = "A tasty juice blended from various kinds of very deadly and toxic berries."
color = "#B23A4E"
drink_icon = "poisonberryjuice"
drink_name = "Glass of poison berry juice"
drink_name = "Glass of Poison Berry Juice"
drink_desc = "A glass of deadly juice."
taste_description = "berry juice"
@@ -166,7 +166,7 @@
id = "applejuice"
description = "The sweet juice of an apple, fit for all ages."
color = "#FBF969"
drink_name = "Apple Juice"
drink_name = "Glass of Apple Juice"
drink_desc = "Apple juice. Maybe it would have been better in a pie..."
taste_description = "apple juice"
@@ -175,7 +175,7 @@
id = "bungojuice"
description = "Exotic! You feel like you are on vacation already."
color = "#F9E43D"
drink_name = "Bungo Juice"
drink_name = "Glass of Bungo Juice"
drink_desc = "Exotic! You feel like you are on vacation already."
taste_description = "succulent bungo with an acidic poisonous tang"
@@ -184,7 +184,7 @@
id = "watermelonjuice"
description = "Delicious juice made from watermelon."
color = "#ae2631"
drink_name = "Watermelon Juice"
drink_name = "Glass of Watermelon Juice"
drink_desc = "Almost water."
taste_description = "watermelon juice"
@@ -194,7 +194,7 @@
description = "This juice is VERY sour."
color = "#E5F249"
drink_icon = "lemonglass"
drink_name = "Glass of lemonjuice"
drink_name = "Glass of Lemon Juice"
drink_desc = "Sour..."
taste_description = "lemon juice"
@@ -203,7 +203,7 @@
id = "grapejuice"
description = "This juice is known to stain shirts."
color = "#993399" // rgb: 153, 51, 153
drink_name = "Grape Juice"
drink_name = "Glass of Grape Juice"
drink_desc = "If you leave it out for long enough, it might turn into wine."
taste_description = "grape juice"
@@ -214,7 +214,7 @@
color = "#F6F834"
process_flags = ORGANIC | SYNTHETIC
drink_icon = "banana"
drink_name = "Glass of banana juice"
drink_name = "Glass of Banana Juice"
drink_desc = "The raw essence of a banana. HONK"
taste_description = "banana juice"
@@ -249,7 +249,7 @@
nutriment_factor = 2 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
drink_icon = "glass_brown"
drink_name = "Glass of potato juice"
drink_name = "Glass of Potato Juice"
drink_desc = "Who in the hell requests this? Gross!"
taste_description = "puke, you're pretty sure"
@@ -552,7 +552,7 @@
id = "pumpkinjuice"
description = "Juiced from real pumpkin."
color = "#FFA500"
drink_name = "Pumpkin Juice"
drink_name = "Glass of Pumpkin Juice"
drink_desc = "Healthy and tasty!"
taste_description = "autumn"
@@ -561,7 +561,7 @@
id = "blumpkinjuice"
description = "Juiced from real blumpkin."
color = "#00BFFF"
drink_name = "Blumpkin Juice"
drink_name = "Glass of Blumpkin Juice"
drink_desc = "Unhealthy and revolting! It seems to be glowing..."
taste_description = "caustic puke"
@@ -204,6 +204,15 @@
containername = "beer starter kit"
announce_beacons = list("Bar" = list("Bar"))
/datum/supply_packs/organic/juice_boxes
name = "Stationside Juice Boxes Variety Pack"
contains = list(/obj/item/storage/fancy/juice_boxes/full,
/obj/item/storage/fancy/juice_boxes/full,
/obj/item/storage/fancy/juice_boxes/full,
)
cost = 400
containername = "juice box box box"
//////// livestock
/datum/supply_packs/organic/cow
name = "Cow Crate"
@@ -454,4 +463,4 @@
cost = 150
containertype = /obj/structure/largecrate
containername = "Bottler Unit Crate"