mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 12:35:33 +01:00
Part 3: Storage Improvements (#90476)
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
This commit is contained in:
@@ -14,13 +14,11 @@
|
||||
var/foldable_result = /obj/item/stack/sheet/cardboard
|
||||
/// What drawing will we get on the face of the box?
|
||||
var/illustration = "writing"
|
||||
storage_type = /datum/storage/box
|
||||
|
||||
/obj/item/storage/box/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.max_specific_storage = WEIGHT_CLASS_SMALL
|
||||
update_appearance()
|
||||
atom_storage.open_sound = 'sound/items/handling/cardboard_box/cardboard_box_open.ogg'
|
||||
atom_storage.rustle_sound = 'sound/items/handling/cardboard_box/cardboard_box_rustle.ogg'
|
||||
|
||||
/obj/item/storage/box/suicide_act(mob/living/carbon/user)
|
||||
var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD)
|
||||
|
||||
@@ -21,13 +21,7 @@
|
||||
/obj/item/storage/box/debugtools
|
||||
name = "box of debug tools"
|
||||
icon_state = "syndiebox"
|
||||
|
||||
/obj/item/storage/box/debugtools/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.allow_big_nesting = TRUE
|
||||
atom_storage.max_slots = 99
|
||||
atom_storage.max_specific_storage = WEIGHT_CLASS_GIGANTIC
|
||||
atom_storage.max_total_storage = 99
|
||||
storage_type = /datum/storage/box/debug
|
||||
|
||||
/obj/item/storage/box/debugtools/PopulateContents()
|
||||
var/static/items_inside = list(
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
desc = "A cardboard box folded in a manner that is optimal for concealment, rather than for stowing your belongings."
|
||||
icon_state = "flat"
|
||||
illustration = null
|
||||
storage_type = /datum/storage/box/flat
|
||||
|
||||
/obj/item/storage/box/flat/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/undertile, TRAIT_T_RAY_VISIBLE, INVISIBILITY_OBSERVER, use_anchor = TRUE, tilt_tile = TRUE)
|
||||
atom_storage.max_slots = 3
|
||||
|
||||
/obj/item/storage/box/proc/flatten_box()
|
||||
if(istype(loc, /obj/item/storage) || type != /obj/item/storage/box || contents.len)
|
||||
|
||||
@@ -7,15 +7,12 @@
|
||||
illustration = null
|
||||
/// What type of donk pocket are we gonna cram into this box?
|
||||
var/donktype = /obj/item/food/donkpocket
|
||||
storage_type = /datum/storage/box/donk_pockets
|
||||
|
||||
/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(/obj/item/food/donkpocket)
|
||||
|
||||
/obj/item/storage/box/donkpockets/donkpocketspicy
|
||||
name = "box of spicy-flavoured donk-pockets"
|
||||
icon_state = "donkpocketboxspicy"
|
||||
@@ -340,16 +337,11 @@
|
||||
illustration = null
|
||||
foldable_result = null
|
||||
custom_price = PAYCHECK_CREW
|
||||
storage_type = /datum/storage/box/gum
|
||||
|
||||
///Typepath of the type of gum that spawns with this box, this is passed to the wrapper for spawning in.
|
||||
var/spawning_gum_type = /obj/item/food/bubblegum
|
||||
|
||||
/obj/item/storage/box/gum/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.set_holdable(/obj/item/storage/bubblegum_wrapper)
|
||||
atom_storage.max_slots = 4
|
||||
atom_storage.allow_big_nesting = TRUE
|
||||
|
||||
/obj/item/storage/box/gum/PopulateContents()
|
||||
for(var/i in 1 to 4)
|
||||
new /obj/item/storage/bubblegum_wrapper(src, spawning_gum_type)
|
||||
@@ -559,14 +551,10 @@
|
||||
desc = "A bag containing fresh, dry coffee arabica beans. Ethically sourced and packaged by Waffle Corp."
|
||||
illustration = null
|
||||
icon = 'icons/obj/food/containers.dmi'
|
||||
storage_type = /datum/storage/box/coffee
|
||||
var/beantype = /obj/item/food/grown/coffee
|
||||
|
||||
/obj/item/storage/box/coffeepack/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.set_holdable(/obj/item/food/grown/coffee)
|
||||
|
||||
/obj/item/storage/box/coffeepack/PopulateContents()
|
||||
atom_storage.max_slots = 5
|
||||
for(var/i in 1 to 5)
|
||||
var/obj/item/food/grown/coffee/bean = new beantype(src)
|
||||
ADD_TRAIT(bean, TRAIT_DRIED, ELEMENT_TRAIT(type))
|
||||
|
||||
@@ -144,15 +144,7 @@
|
||||
illustration = null
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
custom_price = PAYCHECK_CREW * 1.75
|
||||
|
||||
/obj/item/storage/box/bandages/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.max_slots = 6
|
||||
atom_storage.set_holdable(list(
|
||||
/obj/item/stack/medical/bandage,
|
||||
/obj/item/reagent_containers/applicator/pill,
|
||||
/obj/item/reagent_containers/applicator/patch,
|
||||
))
|
||||
storage_type = /datum/storage/box/bandages
|
||||
|
||||
/obj/item/storage/box/bandages/PopulateContents()
|
||||
for(var/i in 1 to 5)
|
||||
|
||||
@@ -37,17 +37,10 @@
|
||||
desc = "Drymate brand monkey cubes. Just add water!"
|
||||
icon_state = "monkeycubebox"
|
||||
illustration = null
|
||||
custom_price = PAYCHECK_CREW * 2
|
||||
storage_type = /datum/storage/box/monkey_cube
|
||||
/// Which type of cube are we spawning in this box?
|
||||
var/cube_type = /obj/item/food/monkeycube
|
||||
custom_price = PAYCHECK_CREW * 2
|
||||
|
||||
/obj/item/storage/box/monkeycubes/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.max_slots = 7
|
||||
atom_storage.set_holdable(
|
||||
can_hold_list = /obj/item/food/monkeycube,
|
||||
cant_hold_list = /obj/item/food/monkeycube/gorilla,
|
||||
)
|
||||
|
||||
/obj/item/storage/box/monkeycubes/PopulateContents()
|
||||
for(var/i in 1 to 5)
|
||||
@@ -62,11 +55,7 @@
|
||||
desc = "Waffle Corp. brand gorilla cubes. Do not taunt."
|
||||
icon_state = "monkeycubebox"
|
||||
illustration = null
|
||||
|
||||
/obj/item/storage/box/gorillacubes/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.max_slots = 3
|
||||
atom_storage.set_holdable(/obj/item/food/monkeycube/gorilla)
|
||||
storage_type = /datum/storage/box/gorilla_cube_box
|
||||
|
||||
/obj/item/storage/box/gorillacubes/PopulateContents()
|
||||
for(var/i in 1 to 3)
|
||||
@@ -115,13 +104,7 @@
|
||||
/obj/item/storage/box/stabilized //every single stabilized extract from xenobiology
|
||||
name = "box of stabilized extracts"
|
||||
icon_state = "syndiebox"
|
||||
|
||||
/obj/item/storage/box/stabilized/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.allow_big_nesting = TRUE
|
||||
atom_storage.max_slots = 99
|
||||
atom_storage.max_specific_storage = WEIGHT_CLASS_GIGANTIC
|
||||
atom_storage.max_total_storage = 99
|
||||
storage_type = /datum/storage/box/stabilized
|
||||
|
||||
/obj/item/storage/box/stabilized/PopulateContents()
|
||||
var/static/items_inside = list(
|
||||
|
||||
@@ -60,11 +60,7 @@
|
||||
icon = 'icons/obj/toys/toy.dmi'
|
||||
icon_state = "spbox"
|
||||
illustration = ""
|
||||
|
||||
/obj/item/storage/box/snappops/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.set_holdable(/obj/item/toy/snappop)
|
||||
atom_storage.max_slots = 8
|
||||
storage_type = /datum/storage/box/snappops
|
||||
|
||||
/obj/item/storage/box/snappops/PopulateContents()
|
||||
for(var/i in 1 to 8)
|
||||
@@ -86,11 +82,10 @@
|
||||
custom_price = PAYCHECK_CREW * 0.4
|
||||
base_icon_state = "matchbox"
|
||||
illustration = null
|
||||
storage_type = /datum/storage/box/match
|
||||
|
||||
/obj/item/storage/box/matches/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.max_slots = 10
|
||||
atom_storage.set_holdable(/obj/item/match)
|
||||
AddElement(/datum/element/ignites_matches)
|
||||
|
||||
/obj/item/storage/box/matches/PopulateContents()
|
||||
@@ -117,16 +112,7 @@
|
||||
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
||||
foldable_result = /obj/item/stack/sheet/cardboard //BubbleWrap
|
||||
illustration = "light"
|
||||
|
||||
/obj/item/storage/box/lights/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.max_slots = 21
|
||||
atom_storage.set_holdable(list(
|
||||
/obj/item/light/tube,
|
||||
/obj/item/light/bulb
|
||||
))
|
||||
atom_storage.max_total_storage = 21
|
||||
atom_storage.allow_quick_gather = FALSE //temp workaround to re-enable filling the light replacer with the box
|
||||
storage_type = /datum/storage/box/lights
|
||||
|
||||
/obj/item/storage/box/lights/bulbs/PopulateContents()
|
||||
for(var/i in 1 to 21)
|
||||
@@ -208,13 +194,7 @@
|
||||
name = "box of long balloons"
|
||||
desc = "A completely randomized and wacky box of long balloons, harvested straight from balloon farms on the clown planet."
|
||||
illustration = "balloon"
|
||||
|
||||
/obj/item/storage/box/balloons/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.max_slots = 24
|
||||
atom_storage.set_holdable(/obj/item/toy/balloon/long)
|
||||
atom_storage.max_total_storage = 24
|
||||
atom_storage.allow_quick_gather = FALSE
|
||||
storage_type = /datum/storage/box/balloon
|
||||
|
||||
/obj/item/storage/box/balloons/PopulateContents()
|
||||
for(var/i in 1 to 24)
|
||||
@@ -227,6 +207,8 @@
|
||||
icon_state = "stickerpack"
|
||||
illustration = null
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
storage_type = /datum/storage/box/stickers
|
||||
|
||||
var/static/list/pack_labels = list(
|
||||
"smile",
|
||||
"frown",
|
||||
@@ -238,9 +220,6 @@
|
||||
|
||||
/obj/item/storage/box/stickers/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.max_slots = 8
|
||||
atom_storage.set_holdable(/obj/item/sticker)
|
||||
atom_storage.max_specific_storage = WEIGHT_CLASS_TINY
|
||||
if(isnull(illustration))
|
||||
illustration = pick(pack_labels)
|
||||
update_appearance()
|
||||
|
||||
Reference in New Issue
Block a user