mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-31 07:57:47 +01:00
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:
@@ -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
|
||||
|
||||
@@ -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" = (
|
||||
|
||||
@@ -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" = (
|
||||
|
||||
@@ -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,
|
||||
)
|
||||
|
||||
@@ -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 |
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user