diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm
index d4234b13ddd..f151fe866d7 100644
--- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm
@@ -7532,7 +7532,7 @@
"cOR" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/obj/structure/window/reinforced{dir = 1; pixel_y = 1},/obj/item/weapon/razor{pixel_y = 5},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitehall"},/area/assembly/robotics)
"cOS" = (/obj/effect/landmark/start{name = "Roboticist"},/obj/structure/sink{dir = 8; icon_state = "sink"; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/plasteel{icon_state = "white"},/area/assembly/robotics)
"cOT" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "white"},/area/assembly/robotics)
-"cOU" = (/obj/machinery/requests_console{department = "Genetics"; departmentType = 0; name = "Genetics Requests Console"; pixel_x = 0; pixel_y = 30},/obj/machinery/light{dir = 1},/obj/item/weapon/storage/box/monkeycubes,/obj/structure/noticeboard{desc = "A board for pinning important notices upon."; name = "notice board"; pixel_x = -32; pixel_y = 32},/obj/structure/table/glass,/obj/item/weapon/storage/box/farwacubes{pixel_y = -2},/obj/item/weapon/storage/box/neaeracubes{pixel_x = 2},/obj/item/weapon/storage/box/stokcubes{pixel_x = -2},/obj/item/weapon/storage/box/wolpincubes{pixel_y = 2},/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/medical/genetics)
+"cOU" = (/obj/machinery/requests_console{department = "Genetics"; departmentType = 0; name = "Genetics Requests Console"; pixel_x = 0; pixel_y = 30},/obj/machinery/light{dir = 1},/obj/item/weapon/storage/box/monkeycubes,/obj/structure/noticeboard{desc = "A board for pinning important notices upon."; name = "notice board"; pixel_x = -32; pixel_y = 32},/obj/structure/table/glass,/obj/item/weapon/storage/box/monkeycubes/farwacubes{pixel_y = -2},/obj/item/weapon/storage/box/monkeycubes/neaeracubes{pixel_x = 2},/obj/item/weapon/storage/box/monkeycubes/stokcubes{pixel_x = -2},/obj/item/weapon/storage/box/monkeycubes/wolpincubes{pixel_y = 2},/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/medical/genetics)
"cOV" = (/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/assembly/robotics)
"cOW" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table,/obj/item/weapon/storage/box/bodybags{pixel_x = 2; pixel_y = 2},/obj/item/borg/upgrade/rename,/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/assembly/robotics)
"cOX" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/electrical{pixel_x = -1; pixel_y = 4},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 2; pixel_y = -1},/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/item/clothing/glasses/welding,/obj/item/device/multitool{pixel_x = 3},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/assembly/robotics)
diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm
index a8cbcffc85e..2cd107d8019 100644
--- a/_maps/map_files/cyberiad/cyberiad.dmm
+++ b/_maps/map_files/cyberiad/cyberiad.dmm
@@ -5903,7 +5903,7 @@
"cjA" = (/obj/machinery/light,/obj/machinery/camera{c_tag = "Research Genetics South"; dir = 1; network = list("Research","SS13")},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurple"},/area/medical/genetics)
"cjB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurple"},/area/medical/genetics)
"cjC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurple"},/area/medical/genetics)
-"cjD" = (/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/stokcubes,/obj/item/weapon/storage/box/neaeracubes,/obj/structure/table/glass,/obj/item/weapon/storage/box/wolpincubes,/obj/item/weapon/storage/box/farwacubes,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (SOUTHEAST)"; icon_state = "whitepurple"; dir = 6},/area/medical/genetics)
+"cjD" = (/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes/stokcubes,/obj/item/weapon/storage/box/monkeycubes/neaeracubes,/obj/structure/table/glass,/obj/item/weapon/storage/box/monkeycubes/wolpincubes,/obj/item/weapon/storage/box/monkeycubes/farwacubes,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (SOUTHEAST)"; icon_state = "whitepurple"; dir = 6},/area/medical/genetics)
"cjE" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/turf/simulated/floor/engine,/area/toxins/explab_chamber)
"cjF" = (/obj/item/device/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor/engine,/area/toxins/explab_chamber)
"cjG" = (/turf/simulated/floor/engine,/area/toxins/explab_chamber)
@@ -7654,7 +7654,7 @@
"cRj" = (/obj/structure/closet/emcloset,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera{c_tag = "Virology Airlock"; network = list("SS13")},/turf/simulated/floor/plasteel{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/medical/virology)
"cRk" = (/obj/structure/stool/bed,/turf/simulated/floor/plasteel{tag = "icon-whitegreen (NORTHWEST)"; icon_state = "whitegreen"; dir = 9},/area/medical/virology)
"cRl" = (/obj/structure/table/glass,/obj/item/weapon/paper_bin{pixel_x = -5; pixel_y = 5},/obj/item/weapon/pen,/obj/item/device/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitegreen"},/area/medical/virology)
-"cRm" = (/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/stokcubes,/obj/item/weapon/storage/box/neaeracubes,/obj/structure/table/glass,/obj/item/weapon/storage/box/wolpincubes,/obj/item/weapon/storage/box/farwacubes,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitegreen"},/area/medical/virology)
+"cRm" = (/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes/stokcubes,/obj/item/weapon/storage/box/monkeycubes/neaeracubes,/obj/structure/table/glass,/obj/item/weapon/storage/box/monkeycubes/wolpincubes,/obj/item/weapon/storage/box/monkeycubes/farwacubes,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitegreen"},/area/medical/virology)
"cRn" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/syringes,/obj/machinery/camera{c_tag = "Virology Monkey Pen"; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitegreen"},/area/medical/virology)
"cRo" = (/obj/structure/stool/bed,/turf/simulated/floor/plasteel{tag = "icon-whitegreen (NORTHEAST)"; icon_state = "whitegreen"; dir = 5},/area/medical/virology)
"cRp" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/toxins/xenobiology)
diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index fc5eceed4ba..5adc3de7c2b 100644
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -907,28 +907,28 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
/datum/supply_packs/organic/farwa
name = "Farwa Crate"
- contains = list (/obj/item/weapon/storage/box/farwacubes)
- cost = 30
+ contains = list (/obj/item/weapon/storage/box/monkeycubes/farwacubes)
+ cost = 20
containername = "farwa crate"
/datum/supply_packs/organic/wolpin
name = "Wolpin Crate"
- contains = list (/obj/item/weapon/storage/box/wolpincubes)
- cost = 30
+ contains = list (/obj/item/weapon/storage/box/monkeycubes/wolpincubes)
+ cost = 20
containername = "wolpin crate"
/datum/supply_packs/organic/skrell
name = "Neaera Crate"
- contains = list (/obj/item/weapon/storage/box/neaeracubes)
- cost = 30
+ contains = list (/obj/item/weapon/storage/box/monkeycubes/neaeracubes)
+ cost = 20
containername = "neaera crate"
/datum/supply_packs/organic/stok
name = "Stok Crate"
- contains = list (/obj/item/weapon/storage/box/stokcubes)
- cost = 30
+ contains = list (/obj/item/weapon/storage/box/monkeycubes/stokcubes)
+ cost = 20
containername = "stok crate"
/datum/supply_packs/organic/party
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index bfdc3a80727..88820290a48 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -391,59 +391,32 @@
icon_state = "monkeycubebox"
storage_slots = 7
can_hold = list("/obj/item/weapon/reagent_containers/food/snacks/monkeycube")
- New()
- ..()
- for(var/i = 1; i <= 5; i++)
- new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped(src)
-/obj/item/weapon/storage/box/farwacubes
+ var/monkey_cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube
+
+/obj/item/weapon/storage/box/monkeycubes/New()
+ ..()
+ for(var/i in 1 to 5)
+ new monkey_cube_type(src)
+
+/obj/item/weapon/storage/box/monkeycubes/farwacubes
name = "farwa cube box"
desc = "Drymate brand farwa cubes. Just add water!"
- icon = 'icons/obj/food/food.dmi'
- icon_state = "monkeycubebox"
- storage_slots = 7
- can_hold = list("/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/farwacube")
- New()
- ..()
- for(var/i = 1; i <= 5; i++)
- new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/farwacube(src)
+ monkey_cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube/farwacube
-/obj/item/weapon/storage/box/stokcubes
+/obj/item/weapon/storage/box/monkeycubes/stokcubes
name = "stok cube box"
desc = "Drymate brand stok cubes. Just add water!"
- icon = 'icons/obj/food/food.dmi'
- icon_state = "monkeycubebox"
- storage_slots = 7
- can_hold = list("/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/stokcube")
- New()
- ..()
- for(var/i = 1; i <= 5; i++)
- new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/stokcube(src)
+ monkey_cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube/stokcube
-/obj/item/weapon/storage/box/neaeracubes
+/obj/item/weapon/storage/box/monkeycubes/neaeracubes
name = "neaera cube box"
desc = "Drymate brand neaera cubes. Just add water!"
- icon = 'icons/obj/food/food.dmi'
- icon_state = "monkeycubebox"
- storage_slots = 7
- can_hold = list("/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/neaeracube")
- New()
- ..()
- for(var/i = 1; i <= 5; i++)
- new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/neaeracube(src)
+ monkey_cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube/neaeracube
-
-/obj/item/weapon/storage/box/wolpincubes
+/obj/item/weapon/storage/box/monkeycubes/wolpincubes
name = "wolpin cube box"
desc = "Drymate brand wolpin cubes. Just add water!"
- icon = 'icons/obj/food/food.dmi'
- icon_state = "monkeycubebox"
- storage_slots = 7
- can_hold = list("/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/wolpincube")
- New()
- ..()
- for(var/i = 1; i <= 5; i++)
- new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/wolpincube(src)
-
+ monkey_cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wolpincube
/obj/item/weapon/storage/box/permits
name = "box of construction permits"
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index aafc4fd3648..ff684c3296b 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -1213,7 +1213,7 @@
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/afterattack(obj/O, mob/user, proximity)
if(!proximity)
return
- if(istype(O,/obj/structure/sink) && !wrapped)
+ if(istype(O, /obj/structure/sink))
to_chat(user, "You place [src] under a stream of water...")
user.drop_item()
forceMove(get_turf(O))
@@ -1222,22 +1222,16 @@
var/obj/machinery/computer/camera_advanced/xenobio/X = O
X.monkeys++
to_chat(user, "You feed [src] to the [X]. It now has [X.monkeys] monkey cubes stored.")
+ user.drop_item()
qdel(src)
return
..()
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube/attack_self(mob/user)
- if(wrapped)
- Unwrap(user)
-
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/water_act(volume, temperature)
if(volume >= 5)
return Expand()
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wash(mob/user, atom/source)
- if(wrapped)
- ..()
- return
if(do_after(user, 40, target = source))
return 1
@@ -1247,49 +1241,22 @@
new/mob/living/carbon/human(get_turf(src),monkey_type)
qdel(src)
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube/proc/Unwrap(mob/user)
- icon_state = "monkeycube"
- desc = "Just add water!"
- to_chat(user, "You unwrap the cube.")
- wrapped = 0
-
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped
- desc = "Still wrapped in some paper."
- icon_state = "monkeycubewrap"
- wrapped = 1
-
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/farwacube
name = "farwa cube"
monkey_type = "Farwa"
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/farwacube
- name = "farwa cube"
- monkey_type = "Farwa"
-
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wolpincube
name = "wolpin cube"
monkey_type = "Wolpin"
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/wolpincube
- name = "wolpin cube"
- monkey_type = "Wolpin"
-
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/stokcube
name = "stok cube"
monkey_type = "Stok"
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/stokcube
- name = "stok cube"
- monkey_type = "Stok"
-
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/neaeracube
name = "neaera cube"
monkey_type = "Neara"
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/neaeracube
- name = "neaera cube"
- monkey_type = "Neara"
-
/obj/item/weapon/reagent_containers/food/snacks/spellburger
name = "Spell Burger"