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 05:32:56 +00:00
committed by GitHub
co-authored by PollardTheDragon
parent 8519c59c7e
commit 8f87fa0b98
16 changed files with 359 additions and 33 deletions
+14 -1
View File
@@ -3111,6 +3111,9 @@
},
/obj/structure/table,
/obj/item/deck/cards,
/obj/item/storage/fancy/juice_boxes/random{
pixel_y = 12
},
/turf/simulated/floor/plasteel,
/area/station/security/permabrig)
"anO" = (
@@ -10307,6 +10310,10 @@
/area/station/hallway/secondary/entry/north)
"aMC" = (
/obj/structure/table,
/obj/item/reagent_containers/drinks/carton/grape{
pixel_x = 5;
pixel_y = 5
},
/turf/simulated/floor/carpet/arcade,
/area/station/public/arcade)
"aMD" = (
@@ -10510,6 +10517,7 @@
/area/station/maintenance/fsmaint)
"aNj" = (
/obj/structure/table,
/obj/item/reagent_containers/drinks/carton/grape,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"aNk" = (
@@ -54025,6 +54033,11 @@
/obj/effect/spawner/random/plushies,
/turf/simulated/floor/carpet/arcade,
/area/station/public/arcade)
"hRP" = (
/obj/structure/table/wood,
/obj/effect/spawner/random/food_or_drink/juice_boxes,
/turf/simulated/floor/plasteel/dark,
/area/station/maintenance/asmaint)
"hSg" = (
/obj/structure/cable/extra_insulated{
icon_state = "1-2"
@@ -141242,7 +141255,7 @@ ciY
nCZ
iXD
nCZ
hXR
hRP
ciY
aab
aaa
+22 -2
View File
@@ -40228,6 +40228,10 @@
/obj/structure/table,
/obj/item/paper_bin,
/obj/item/pen,
/obj/item/reagent_containers/drinks/carton/plum{
pixel_y = 14;
pixel_x = 6
},
/turf/simulated/floor/plasteel,
/area/station/security/permabrig)
"hGE" = (
@@ -61032,7 +61036,13 @@
pixel_x = -13;
pixel_y = 2
},
/obj/item/ashtray/plastic,
/obj/item/ashtray/plastic{
pixel_y = -2
},
/obj/item/storage/fancy/juice_boxes/random{
pixel_y = 11;
pixel_x = 3
},
/turf/simulated/floor/plasteel,
/area/station/public/fitness)
"lZy" = (
@@ -95242,6 +95252,16 @@
},
/turf/simulated/floor/plasteel/dark,
/area/station/medical/medbay2)
"tNX" = (
/obj/structure/table/wood,
/obj/item/ashtray/glass,
/obj/effect/turf_decal/tiles/neutral,
/obj/item/reagent_containers/drinks/carton/watermelon{
pixel_x = -6;
pixel_y = 13
},
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/port/south)
"tNZ" = (
/obj/structure/closet/crate/freezer/iv_storage,
/turf/simulated/floor/plasteel{
@@ -131776,7 +131796,7 @@ kAn
stO
hzU
mRj
gTt
tNX
iYG
mCM
ecG
@@ -4377,6 +4377,9 @@
"avp" = (
/obj/structure/table/wood,
/obj/item/clothing/glasses/regular/hipster,
/obj/item/storage/fancy/juice_boxes/random{
pixel_y = 13
},
/turf/simulated/floor/plasteel/dark,
/area/station/maintenance/fore2)
"avq" = (
@@ -23688,6 +23691,7 @@
/obj/effect/turf_decal/tiles/department/engineering/side{
dir = 4
},
/obj/item/reagent_containers/drinks/carton/lemonade,
/turf/simulated/floor/plasteel,
/area/station/engineering/break_room)
"bQw" = (
@@ -78149,6 +78153,7 @@
"qAT" = (
/obj/structure/table,
/obj/item/deck/cards,
/obj/effect/spawner/random/food_or_drink/juice_boxes,
/turf/simulated/floor/plasteel,
/area/station/security/permabrig)
"qAW" = (
@@ -24104,6 +24104,7 @@
/obj/machinery/atmospherics/unary/outlet_injector/on{
dir = 4
},
/obj/effect/spawner/random/food_or_drink/juice_boxes,
/turf/simulated/floor/plasteel,
/area/station/security/permabrig)
"eTZ" = (
@@ -45966,6 +45967,9 @@
/obj/effect/turf_decal/tiles/department/engineering/corner{
dir = 8
},
/obj/item/storage/fancy/juice_boxes/random{
pixel_y = 11
},
/turf/simulated/floor/plasteel,
/area/station/public/dorms)
"jlg" = (
@@ -90061,6 +90065,7 @@
/obj/machinery/atmospherics/unary/outlet_injector/on{
dir = 8
},
/obj/effect/spawner/random/food_or_drink/juice_boxes,
/turf/simulated/floor/plasteel,
/area/station/security/permabrig)
"scb" = (
+5
View File
@@ -4714,6 +4714,9 @@
/obj/structure/disposalpipe/segment,
/obj/structure/table,
/obj/item/deck/cards,
/obj/item/storage/fancy/juice_boxes/random{
pixel_y = 9
},
/turf/simulated/floor/plasteel,
/area/station/public/dorms)
"aJG" = (
@@ -28901,6 +28904,7 @@
pixel_y = 1
},
/obj/effect/turf_decal/tiles/dark/checker,
/obj/item/reagent_containers/drinks/carton/vegetable,
/turf/simulated/floor/plasteel,
/area/station/medical/break_room)
"cZr" = (
@@ -64422,6 +64426,7 @@
/area/station/command/office/ce)
"poG" = (
/obj/structure/table,
/obj/effect/spawner/random/food_or_drink/juice_boxes,
/turf/simulated/floor/plating,
/area/station/maintenance/theatre)
"poM" = (
+16
View File
@@ -89,3 +89,19 @@
/proc/cut_relative_direction(fragment)
var/static/regex/regex = regex(@"([A-Z])\w+", "g")
return regex.Replace(fragment, "")
/// Gets the location of an object on a client's screen. Thanks to Kaioken on BYOND forums.
/proc/get_obj_screen_xy(obj/target_obj, client/viewer)
var/atom/scrn_center = viewer.virtual_eye
var/center_x
var/center_y
if(isnum(viewer.view))
center_x = viewer.view + 1
center_y = center_x
else
center_x = ceil(text2num(splittext(viewer.view, "x")[1]) / 2)
center_y = ceil(text2num(splittext(viewer.view, "x")[2]) / 2)
var/x_dist = scrn_center.x - target_obj.x
var/y_dist = scrn_center.y - target_obj.y
return list("x" = center_x - x_dist, "y" = center_y - y_dist)
@@ -46,6 +46,7 @@ GLOBAL_LIST_INIT(maintenance_loot_tier_1, list(
// Sub-spawners
/obj/effect/spawner/random/engineering/toolbox,
/obj/effect/spawner/random/snacks,
/obj/effect/spawner/random/food_or_drink/juice_boxes,
// Assemblies and cells
/obj/item/assembly/prox_sensor,
@@ -50,3 +50,20 @@
/obj/effect/spawner/random/food_or_drink/salad,
/obj/effect/spawner/random/food_or_drink/dinner,
)
/obj/effect/spawner/random/food_or_drink/juice_boxes
name = "juice box spawner"
loot = list(
/obj/item/reagent_containers/drinks/carton/apple = 2,
/obj/item/reagent_containers/drinks/carton/banana = 2,
/obj/item/reagent_containers/drinks/carton/berry = 2,
/obj/item/reagent_containers/drinks/carton/carrot = 1,
/obj/item/reagent_containers/drinks/carton/grape = 2,
/obj/item/reagent_containers/drinks/carton/lemonade = 1,
/obj/item/reagent_containers/drinks/carton/orange = 2,
/obj/item/reagent_containers/drinks/carton/pineapple = 2,
/obj/item/reagent_containers/drinks/carton/plum = 1,
/obj/item/reagent_containers/drinks/carton/tomato = 2,
/obj/item/reagent_containers/drinks/carton/vegetable = 1,
/obj/item/reagent_containers/drinks/carton/watermelon = 2,
)
+157
View File
@@ -15,6 +15,7 @@
* Cigar Box
* Vial Box
* Aquatic Starter Kit
* Juice Box Box
*/
/obj/item/storage/fancy
@@ -561,3 +562,159 @@
new /obj/item/tank_brush(src)
new /obj/item/fishfood(src)
new /obj/item/storage/bag/fish(src)
/obj/item/storage/fancy/juice_boxes
name = "Stationside Juice Box Variety Pack"
desc = "Every flavor of juice boxes, right at your fingertips."
storage_slots = 12
// Fancier storage slots for that haphazardly-picked-over look
var/list/storage_slot_list[12]
icon = 'icons/obj/juice_box.dmi'
icon_state = "juice_box_box"
icon_type = "juice carton"
appearance_flags = parent_type::appearance_flags | KEEP_TOGETHER
can_hold = list(/obj/item/reagent_containers/drinks/carton)
/obj/item/storage/fancy/juice_boxes/update_icon_state()
return
/obj/item/storage/fancy/juice_boxes/update_overlays()
. = ..()
. += image('icons/obj/juice_box.dmi', "juice_box_box")
for(var/index in 1 to length(storage_slot_list))
var/obj/item/reagent_containers/drinks/carton/juice_type = storage_slot_list[index]
if(!istype(juice_type))
continue
if(!(juice_type.icon_state))
continue
var/image/box_icon = image(icon, src, "[copytext(juice_type.icon_state, 1, -3)]slot")
box_icon.pixel_x = 3 * ((index - 1) % 6)
box_icon.pixel_y = -4 * (index > 6)
. += box_icon
. += image(icon, src, "juice_box_box_front")
/obj/item/storage/fancy/juice_boxes/remove_from_storage(obj/item/I, atom/new_location)
. = ..()
if(. && storage_slot_list.Find(I))
storage_slot_list[storage_slot_list.Find(I)] = null
update_icon()
/obj/item/storage/fancy/juice_boxes/attackby__legacy__attackchain(obj/item/I, mob/user, params)
if(length(can_hold))
if(!is_type_in_typecache(I, can_hold))
return ..()
if(isrobot(user))
return // Robots can't interact with storage items.
handle_item_insertion(I, user, params)
return TRUE
/obj/item/storage/fancy/juice_boxes/handle_item_insertion(obj/item/juice_box, mob/user, params, prevent_warning = FALSE)
. = ..()
if(!.)
return
if(!(juice_box in contents))
return
var/list/paramlist = params2list(params)
// If we don't have info about where the user clicked, put the item at the end of the list.
if(!paramlist.Find("icon-x") || !paramlist.Find("icon-y") || !paramlist.Find("screen-loc"))
insert_into_end(juice_box)
return
var/src_screenxy = get_obj_screen_xy(src, user.client)
var/clicked_screenxy = splittext(paramlist["screen-loc"], ",")
// If the user clicked inside the boxes interface instead of on the icon, put the item at the end of the list.
if(src_screenxy["x"] != text2num(splittext(clicked_screenxy[1], ":")[1]) || \
src_screenxy["y"] != text2num(splittext(clicked_screenxy[2], ":")[1]))
insert_into_end(juice_box)
return
// The user clicked our very fancy icon, so figure out where the nearest slot is and put the juice box there.
var/storage_slot = ceil(clamp(1, (text2num(paramlist["icon-x"]) - 7), 15) / 3)
storage_slot += 6 * (text2num(paramlist["icon-y"]) < 20)
insert_into_nearest(juice_box, user, storage_slot)
/// Pick the nearest empty slot in this juice box box to slot the juice box into.
/obj/item/storage/fancy/juice_boxes/proc/insert_into_nearest(obj/item/juice_box, mob/user, storage_slot)
var/distance = 0
var/second_row_slot = storage_slot > 6 ? storage_slot - 6 : storage_slot + 6
while(distance < storage_slots / 2)
if(storage_slot - distance > 0 && !storage_slot_list[storage_slot - distance])
storage_slot_list[storage_slot - distance] = juice_box
break
if(storage_slot + distance <= storage_slots && !storage_slot_list[storage_slot + distance])
storage_slot_list[storage_slot + distance] = juice_box
break
if(second_row_slot - distance > 0 && !storage_slot_list[second_row_slot - distance])
storage_slot_list[second_row_slot - distance] = juice_box
break
if(second_row_slot + distance <= storage_slots && !storage_slot_list[second_row_slot + distance])
storage_slot_list[second_row_slot + distance] = juice_box
break
distance++
// If it somehow doesn't fit in a storage slot, it shouldn't be in the contents either.
if(!(juice_box in storage_slot_list))
to_chat(user, SPAN_WARNING("Somehow, [juice_box] doesn't seem to fit."))
remove_from_storage(juice_box, get_turf(src))
// Nudge the standard contents around so they're in the right order.
var/contents_copy = contents.Copy()
for(var/index = 1 to storage_slots)
if(!storage_slot_list[index])
continue
contents_copy -= storage_slot_list[index]
contents_copy += storage_slot_list[index]
contents = contents_copy
// Re-show any mobs viewing the contents the juice boxes in the proper order.
for(var/each_mob in mobs_viewing)
show_to(each_mob)
update_icon()
/// Put the juice box into the last slot on the list, and nudge other juice boxes out of the way if necessary.
/obj/item/storage/fancy/juice_boxes/proc/insert_into_end(obj/item/juice_box)
var/list/items_to_nudge = list()
// Find an empty slot
for(var/storage_slot = storage_slots; storage_slot > 0; storage_slot--)
if(!storage_slot_list[storage_slot])
break
items_to_nudge.Add(storage_slot_list[storage_slot])
// If the empty slot was not at the end, move each juice box found back one slot until the last slot is empty
while(length(items_to_nudge))
storage_slot_list[storage_slots - length(items_to_nudge)] = items_to_nudge[length(items_to_nudge)]
items_to_nudge.Remove(items_to_nudge[length(items_to_nudge)])
storage_slot_list[storage_slots] = juice_box
update_icon()
/obj/item/storage/fancy/juice_boxes/random
/obj/item/storage/fancy/juice_boxes/random/populate_contents()
var/index = 1
for(var/juice_type in typesof(/obj/item/reagent_containers/drinks/carton) - /obj/item/reagent_containers/drinks/carton)
if(prob(35))
storage_slot_list[index] = new juice_type(src)
index++
update_icon()
/obj/item/storage/fancy/juice_boxes/full
/obj/item/storage/fancy/juice_boxes/full/populate_contents()
new /obj/item/reagent_containers/drinks/carton/apple(src)
new /obj/item/reagent_containers/drinks/carton/banana(src)
new /obj/item/reagent_containers/drinks/carton/berry(src)
new /obj/item/reagent_containers/drinks/carton/carrot(src)
new /obj/item/reagent_containers/drinks/carton/grape(src)
new /obj/item/reagent_containers/drinks/carton/lemonade(src)
new /obj/item/reagent_containers/drinks/carton/orange(src)
new /obj/item/reagent_containers/drinks/carton/pineapple(src)
new /obj/item/reagent_containers/drinks/carton/plum(src)
new /obj/item/reagent_containers/drinks/carton/tomato(src)
new /obj/item/reagent_containers/drinks/carton/vegetable(src)
new /obj/item/reagent_containers/drinks/carton/watermelon(src)
storage_slot_list = contents.Copy()
update_icon()
@@ -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"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

+1
View File
@@ -2200,6 +2200,7 @@
#include "code\modules\food_and_drinks\drinks\bottler\bottler_recipes.dm"
#include "code\modules\food_and_drinks\drinks\drinks\bottle.dm"
#include "code\modules\food_and_drinks\drinks\drinks\cans.dm"
#include "code\modules\food_and_drinks\drinks\drinks\carton.dm"
#include "code\modules\food_and_drinks\drinks\drinks\drinkingglass.dm"
#include "code\modules\food_and_drinks\drinks\drinks\mugs.dm"
#include "code\modules\food_and_drinks\drinks\drinks\shotglass.dm"