From 1bd4e8de7adfd3c4f7e5e7126ef1cd296bfe5d23 Mon Sep 17 00:00:00 2001 From: TGW Date: Mon, 13 Oct 2025 19:14:40 +0200 Subject: [PATCH 1/7] Adds new crate shelves --- aurorastation.dme | 1 + .../structures/crates_lockers/closets.dm | 10 +- .../structures/crates_lockers/crates.dm | 23 +- .../structures/crates_lockers/crateshelf.dm | 207 ++++++++++++++++++ icons/obj/structure/crate_shelf.dmi | Bin 0 -> 113069 bytes 5 files changed, 238 insertions(+), 3 deletions(-) create mode 100644 code/game/objects/structures/crates_lockers/crateshelf.dm create mode 100644 icons/obj/structure/crate_shelf.dmi diff --git a/aurorastation.dme b/aurorastation.dme index b8e05b63ca00..43f54e4163d1 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -1482,6 +1482,7 @@ #include "code\game\objects\structures\carts\parcelcart.dm" #include "code\game\objects\structures\crates_lockers\closets.dm" #include "code\game\objects\structures\crates_lockers\crates.dm" +#include "code\game\objects\structures\crates_lockers\crateshelf.dm" #include "code\game\objects\structures\crates_lockers\largecrate.dm" #include "code\game\objects\structures\crates_lockers\closets\crittercrate.dm" #include "code\game\objects\structures\crates_lockers\closets\fitness.dm" diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 87ffbc1e0cb0..1ce17b4204f5 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -168,8 +168,10 @@ /obj/structure/closet/proc/can_open() if(welded || locked) - return 0 - return 1 + return FALSE + if(istype(loc, /obj/structure/crate_shelf)) + return FALSE + return TRUE /obj/structure/closet/proc/can_close() for(var/obj/structure/closet/closet in get_turf(src)) @@ -743,6 +745,10 @@ return 0 /obj/structure/closet/proc/mob_breakout(var/mob/living/escapee) + if(istype(loc, /obj/structure/crate_shelf)) + var/obj/structure/crate_shelf/shelf = loc + shelf.relay_container_resist_act(escapee, src) + return //Improved by nanako //Now it actually works, also locker breakout time stacks with locking and welding diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 0e13a4913980..af713955465c 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -134,6 +134,9 @@ if(!opened && tablestatus == UNDER_TABLE) to_chat(user, SPAN_WARNING("You can't open \the [src] while the lid is obstructed!")) return FALSE + if(loc == /obj/structure/crate_shelf) + to_chat(user, SPAN_WARNING("You can't open \the [src] while it is on a shelf!")) + return FALSE else return ..() @@ -155,12 +158,30 @@ //For putting on tables /obj/structure/closet/crate/mouse_drop_dragged(atom/over, mob/user, src_location, over_location, params) - if (istype(over, /obj/structure/table)) + if (istype(over, /obj/structure/table) && !istype(loc, /obj/structure/crate_shelf)) put_on_table(over, user) return TRUE + else if(istype(over, /obj/structure/crate_shelf)) + put_on_shelf(over, user) + return TRUE + if(istype(loc, /obj/structure/crate_shelf) && isturf(over) && !is_blocked_turf(over)) + take_off_shelf(loc, user, over) + return TRUE else return ..() +/obj/structure/closet/crate/proc/put_on_shelf(var/obj/structure/crate_shelf/shelf, var/mob/user) + shelf.load(src, user) + +/obj/structure/closet/crate/proc/take_off_shelf(var/obj/structure/crate_shelf/shelf, var/mob/user, turf/unload_turf) + shelf.unload(src, user, unload_turf) + +/obj/structure/closet/crate/Adjacent(atom/neighbor, atom/target, atom/movable/mover) + . = ..() + if(istype(loc, /obj/structure/crate_shelf)) + var/obj/structure/crate_shelf/S = loc + return S.Adjacent(neighbor, target, mover) + /obj/structure/closet/crate/proc/put_on_table(var/obj/structure/table/table, var/mob/user) if (!table || !user || (tablestatus == UNDER_TABLE)) return diff --git a/code/game/objects/structures/crates_lockers/crateshelf.dm b/code/game/objects/structures/crates_lockers/crateshelf.dm new file mode 100644 index 000000000000..8491936b1993 --- /dev/null +++ b/code/game/objects/structures/crates_lockers/crateshelf.dm @@ -0,0 +1,207 @@ +#define DEFAULT_SHELF_CAPACITY 3 // Default capacity of the shelf +#define DEFAULT_SHELF_USE_DELAY 1 SECONDS // Default interaction delay of the shelf +#define DEFAULT_SHELF_VERTICAL_OFFSET 10 // Vertical pixel offset of shelving-related things. Set to 10 by default due to this leaving more of the crate on-screen to be clicked. + +/obj/structure/crate_shelf + name = "crate shelf" + desc = "It's a shelf! For storing crates!" + icon = 'icons/obj/structure/crate_shelf.dmi' + icon_state = "shelf_base" + var/shelf_stack = "shelf_stack" + density = TRUE + anchored = TRUE + layer = BELOW_OBJ_LAYER + + var/capacity = DEFAULT_SHELF_CAPACITY + var/use_delay = DEFAULT_SHELF_USE_DELAY + var/list/shelf_contents + + var/manipulating = FALSE + + var/obj/item/stack/dismantle_mat = /obj/item/stack/rods + build_amt = 10 + +// For testing only. +/obj/structure/crate_shelf/tall + capacity = 12 + +/obj/structure/crate_shelf/mechanics_hints() + . = list() + . += ..() + . += "Drag a crate on to the shelf, to put it on it." + . += "Drag a crate from the shelf to the ground to remove it." + +/obj/structure/crate_shelf/Initialize(mapload) + . = ..() + LAZYSETLEN(shelf_contents, capacity) + update_icon() + return mapload ? INITIALIZE_HINT_LATELOAD : INITIALIZE_HINT_NORMAL + +/obj/structure/crate_shelf/LateInitialize() + . = ..() + var/next_free + for(var/obj/I in loc) + if (!istype(I, /obj/structure/closet/crate)) + continue + next_free = LAZYFIND(shelf_contents, null) + if(!next_free) + continue + put_in(I, next_free) + + +/obj/structure/crate_shelf/update_icon() + ClearOverlays() + var/stack_layer // This is used to generate the sprite layering of the shelf pieces. + var/stack_offset // This is used to generate the vertical offset of the shelf pieces. + for(var/i in 1 to (capacity - 1)) + stack_layer = BELOW_OBJ_LAYER + (0.02 * i) - 0.01 // Make each shelf piece render above the last, but below the crate that should be on it. + stack_offset = DEFAULT_SHELF_VERTICAL_OFFSET * i // Make each shelf piece physically above the last. + var/image/I = image(icon, icon_state = shelf_stack, layer = stack_layer, pixel_y = stack_offset) + AddOverlays(I) + +/obj/structure/crate_shelf/Destroy() + LAZYCLEARLIST(shelf_contents) + return ..() + +/obj/structure/crate_shelf/attackby(obj/item/attacking_item, mob/user, params) + . = ..() + if(attacking_item.iswrench()) + dismantle(attacking_item, user) + +/obj/structure/crate_shelf/dismantle(obj/item/W, mob/user) + // if(!LAZYLEN(shelf_contents)) + var/empty = TRUE + for(var/c in shelf_contents) + if(c != null) + empty = FALSE + if(!empty) + to_chat(user, SPAN_NOTICE("Remove any crates from \the [src] before dismantling it.")) + return + if(manipulating) + return + manipulating = TRUE + user.visible_message("[user] begins dismantling \the [src].", + SPAN_NOTICE("You begin dismantling \the [src].")) + if(!W.use_tool(src, user, 2 SECONDS, volume = 50)) + manipulating = FALSE + return + user.visible_message("\The [user] dismantles \the [src].", + SPAN_NOTICE("You dismantle \the [src].")) + new dismantle_mat(src.loc, 10) + qdel(src) + +/obj/structure/crate_shelf/proc/relay_container_resist_act(mob/living/user, obj/structure/closet/crate) + to_chat(user, SPAN_NOTICE("You begin attempting to knock [crate] out of [src].")) + visible_message(SPAN_DANGER("\The [crate] begins to shake violently!"), SPAN_DANGER("You hear the sound of metal thrashing around nearby."), intent_message = THUNK_SOUND) + crate.shake_animation() + // var/breakout_time = 1 + + // user.next_move = world.time + 100 + // user.last_special = world.time + 100 + + // var/time = 6 * breakout_time * 2 + + // var/datum/progressbar/bar + // if (user.client && user.client.prefs.toggles_secondary & PROGRESS_BARS) + // bar = new(user, time, src) + + // crate.breakout = 1 + // for(var/i in 1 to time) //minutes * 6 * 5seconds * 2 + // playsound(loc, 'sound/effects/grillehit.ogg', 100, 1) + // crate.shake_animation() + // intent_message(THUNK_SOUND) + + // if (bar) + // bar.update(i) + + // if(!do_after(user, 50, do_flags = DO_DEFAULT & ~DO_SHOW_PROGRESS)) //5 seconds + // crate.breakout = 0 + // qdel(bar) + // return + + // if(!user || user.stat || user.loc != src) + // crate.breakout = 0 + // qdel(bar) + // return + + // if(!crate.req_breakout()) + // crate.breakout = 0 + // qdel(bar) + // return + + // crate.breakout = 0 + // playsound(loc, 'sound/effects/grillehit.ogg', 100, 1) + // crate.shake_animation() + // qdel(bar) + + + if(do_after(user, 20 SECONDS, target = crate)) + if(!user || user.stat != CONSCIOUS || user.loc != crate || crate.loc != src) + return // If the user is in a strange condition, return early. + crate.shake_animation() + visible_message(SPAN_WARNING("\The [crate] falls off the [src]!"), SPAN_NOTICE("You hear a thud."), intent_message = THUNK_SOUND) + crate.forceMove(loc) // Drop the crate onto the shelf, + step_rand(crate, 1) // Then try to push it somewhere. + crate.layer = initial(crate.layer) // Reset the crate back to having the default layer, otherwise we might get strange interactions. + crate.pixel_y = initial(crate.pixel_y) // Reset the crate back to having no offset, otherwise it will be floating. + shelf_contents[shelf_contents.Find(crate)] = null // Remove the reference to the crate from the list. + handle_visuals() + + +/obj/structure/crate_shelf/proc/handle_visuals() + vis_contents = contents // It really do be that shrimple. + return + +/obj/structure/crate_shelf/proc/load(obj/structure/closet/crate/crate, mob/user) + // Check if the shelf has an empty spot, notify the player if not. + var/next_free = LAZYFIND(shelf_contents, null) + if(!next_free) + to_chat(user, SPAN_NOTICE("The shelf is full.")) + balloon_alert(user, "shelf full!") + return FALSE + visible_message("\The [user] starts to put \the [crate] on \the [src].") + if(do_after(user, use_delay, target = crate)) + if(shelf_contents[next_free] != null) + // Something has been added to the shelf while we were waiting, abort! + visible_message("\The [user] stops putting \the [crate] on \the [src].") + to_chat(user, SPAN_NOTICE("Something else was added to the shelf first.")) + return FALSE + if(crate.opened) // If the crate is open, try to close it. + if(!crate.close()) + visible_message("\The [user] stops putting \the [crate] on \the [src].") + to_chat(user, SPAN_NOTICE("The crate couldn't be closed.")) + return FALSE // If we fail to close it, don't load it into the shelf. + put_in(crate, next_free) + visible_message("\The [user] puts \the [crate] on \the [src].") + return TRUE + visible_message("\The [user] stops putting \the [crate] on \the [src].") + return FALSE // If the do_after() is interrupted, return FALSE! + +/obj/structure/crate_shelf/proc/put_in(obj/structure/closet/crate/crate, var/next_free) + LAZYSET(shelf_contents, next_free, crate) + crate.forceMove(src) // Insert the crate into the shelf. + crate.pixel_y = DEFAULT_SHELF_VERTICAL_OFFSET * (next_free - 1) // Adjust the vertical offset of the crate to look like it's on the shelf. + crate.layer = BELOW_OBJ_LAYER + 0.02 * (next_free - 1) // Adjust the layer of the crate to look like it's in the shelf. + handle_visuals() + +/obj/structure/crate_shelf/proc/unload(obj/structure/closet/crate/crate, mob/user, turf/unload_turf) + if(!unload_turf) + unload_turf = get_turf(user) // If a turf somehow isn't passed into the proc, put it at the user's feet. + if(!unload_turf.Enter(crate)) // If moving the crate from the shelf to the desired turf would bump, don't do it! Thanks Kapu1178 for the help here. - Generic DM + to_chat(user, SPAN_NOTICE("There is no room for the crate.")) + return FALSE + visible_message("\The [user] starts unloading \the [crate] from \the [src].") + if(do_after(user, use_delay, target = crate)) + if(!LAZYFIND(shelf_contents, crate)) + visible_message("\The [user] stops unloading \the [crate] from \the [src].") + to_chat(user, SPAN_NOTICE("The crate can't be moved.")) + return FALSE // If something has happened to the crate while we were waiting, abort! + crate.layer = initial(crate.layer) // Reset the crate back to having the default layer, otherwise we might get strange interactions. + crate.pixel_y = initial(crate.pixel_y) // Reset the crate back to having no offset, otherwise it will be floating. + crate.forceMove(unload_turf) + shelf_contents[shelf_contents.Find(crate)] = null // We do this instead of removing it from the list to preserve the order of the shelf. + handle_visuals() + visible_message("\The [user] unloads \the [crate] from \the [src].") + return TRUE + visible_message("\The [user] stops unloading \the [crate] from \the [src].") + return FALSE // If the do_after() is interrupted, return FALSE! diff --git a/icons/obj/structure/crate_shelf.dmi b/icons/obj/structure/crate_shelf.dmi new file mode 100644 index 0000000000000000000000000000000000000000..ff211d21d5c206ddd61c8261bb2e6deff9efcd22 GIT binary patch literal 113069 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≤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 Date: Mon, 13 Oct 2025 19:14:52 +0200 Subject: [PATCH 2/7] make the crate shelves craftable --- code/game/objects/items/stacks/rods.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index f73df6c6fe4d..da1375bb4266 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -4,6 +4,7 @@ GLOBAL_LIST_INIT_TYPED(rod_recipes, /datum/stack_recipe, list( new /datum/stack_recipe("grate, dark", /obj/structure/lattice/catwalk/indoor/grate, 1, time = 10, one_per_turf = TRUE, on_floor = TRUE), new /datum/stack_recipe("grate, light", /obj/structure/lattice/catwalk/indoor/grate/light, 1, time = 10, one_per_turf = TRUE, on_floor = TRUE), new /datum/stack_recipe("table frame", /obj/structure/table, 2, time = 10, one_per_turf = 1, on_floor = 1), + new /datum/stack_recipe("crate shelf", /obj/structure/crate_shelf, req_amount = 10, time = 10, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("mine track", /obj/structure/track, 3, time = 10, one_per_turf = TRUE, on_floor = TRUE), new /datum/stack_recipe("cane", /obj/item/cane, 1, time = 6), new /datum/stack_recipe("crowbar", /obj/item/crowbar, 1, time = 6), From 4578b4f349455acb58b04e11f6563b469b5cbd9f Mon Sep 17 00:00:00 2001 From: TGW Date: Mon, 13 Oct 2025 19:15:07 +0200 Subject: [PATCH 3/7] Make them spawn items on crates when in the warehouse --- code/modules/cargo/randomstock.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/cargo/randomstock.dm b/code/modules/cargo/randomstock.dm index bba0269b5b4f..70e094a9e9b1 100644 --- a/code/modules/cargo/randomstock.dm +++ b/code/modules/cargo/randomstock.dm @@ -120,6 +120,11 @@ GLOBAL_LIST_EMPTY(random_stock_large) var/obj/structure/table/B = A if(!B.no_cargo) tables |= B + else if(istype(A, /obj/structure/crate_shelf)) + var/obj/structure/crate_shelf/shelf = A + for(var/obj/I in shelf.shelf_contents) + if (istype(I, /obj/structure/closet/crate)) + containers |= I /datum/cargospawner/proc/start() if (!SSatlas.current_map.warehouse_basearea || !length(warehouseturfs)) From 6d284e5cec2b6cda9d15a93838450805894b82c2 Mon Sep 17 00:00:00 2001 From: TGW Date: Mon, 13 Oct 2025 21:22:37 +0200 Subject: [PATCH 4/7] finalizes crate shelves --- .../structures/crates_lockers/crates.dm | 2 +- .../structures/crates_lockers/crateshelf.dm | 40 -- html/changelogs/TheGreatestOfShelves.yml | 7 + maps/sccv_horizon/sccv_horizon.dmm | 470 ++++++++++-------- 4 files changed, 257 insertions(+), 262 deletions(-) create mode 100644 html/changelogs/TheGreatestOfShelves.yml diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index af713955465c..cca9bcaff936 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -161,7 +161,7 @@ if (istype(over, /obj/structure/table) && !istype(loc, /obj/structure/crate_shelf)) put_on_table(over, user) return TRUE - else if(istype(over, /obj/structure/crate_shelf)) + else if(istype(over, /obj/structure/crate_shelf) && !istype(loc, /obj/structure/crate_shelf)) put_on_shelf(over, user) return TRUE if(istype(loc, /obj/structure/crate_shelf) && isturf(over) && !is_blocked_turf(over)) diff --git a/code/game/objects/structures/crates_lockers/crateshelf.dm b/code/game/objects/structures/crates_lockers/crateshelf.dm index 8491936b1993..899dd84388af 100644 --- a/code/game/objects/structures/crates_lockers/crateshelf.dm +++ b/code/game/objects/structures/crates_lockers/crateshelf.dm @@ -94,46 +94,6 @@ to_chat(user, SPAN_NOTICE("You begin attempting to knock [crate] out of [src].")) visible_message(SPAN_DANGER("\The [crate] begins to shake violently!"), SPAN_DANGER("You hear the sound of metal thrashing around nearby."), intent_message = THUNK_SOUND) crate.shake_animation() - // var/breakout_time = 1 - - // user.next_move = world.time + 100 - // user.last_special = world.time + 100 - - // var/time = 6 * breakout_time * 2 - - // var/datum/progressbar/bar - // if (user.client && user.client.prefs.toggles_secondary & PROGRESS_BARS) - // bar = new(user, time, src) - - // crate.breakout = 1 - // for(var/i in 1 to time) //minutes * 6 * 5seconds * 2 - // playsound(loc, 'sound/effects/grillehit.ogg', 100, 1) - // crate.shake_animation() - // intent_message(THUNK_SOUND) - - // if (bar) - // bar.update(i) - - // if(!do_after(user, 50, do_flags = DO_DEFAULT & ~DO_SHOW_PROGRESS)) //5 seconds - // crate.breakout = 0 - // qdel(bar) - // return - - // if(!user || user.stat || user.loc != src) - // crate.breakout = 0 - // qdel(bar) - // return - - // if(!crate.req_breakout()) - // crate.breakout = 0 - // qdel(bar) - // return - - // crate.breakout = 0 - // playsound(loc, 'sound/effects/grillehit.ogg', 100, 1) - // crate.shake_animation() - // qdel(bar) - if(do_after(user, 20 SECONDS, target = crate)) if(!user || user.stat != CONSCIOUS || user.loc != crate || crate.loc != src) diff --git a/html/changelogs/TheGreatestOfShelves.yml b/html/changelogs/TheGreatestOfShelves.yml new file mode 100644 index 000000000000..da850e2c64df --- /dev/null +++ b/html/changelogs/TheGreatestOfShelves.yml @@ -0,0 +1,7 @@ +author: TheGreyWolf + +delete-after: True + +changes: + - rscadd: "Added crate shelves." + - rscadd: "Remapped the warehouse to fit the crate shelves." diff --git a/maps/sccv_horizon/sccv_horizon.dmm b/maps/sccv_horizon/sccv_horizon.dmm index 508141818e7c..09e4cc69c2d1 100644 --- a/maps/sccv_horizon/sccv_horizon.dmm +++ b/maps/sccv_horizon/sccv_horizon.dmm @@ -8735,9 +8735,6 @@ "biL" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/table/standard, -/obj/machinery/camera/network/supply{ - c_tag = "Operations - Lower Warehouse 3" - }, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "biM" = ( @@ -10173,19 +10170,21 @@ /turf/simulated/floor/wood, /area/horizon/service/library) "bsF" = ( -/obj/structure/cable/green{ - icon_state = "1-4" - }, -/obj/structure/cable/green{ - icon_state = "2-4" - }, /obj/effect/floor_decal/corner/brown{ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/cable/green{ + icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "bsG" = ( @@ -10729,15 +10728,15 @@ /turf/simulated/floor/tiled, /area/horizon/engineering/lobby) "bxr" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, +/obj/machinery/firealarm/north, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 + dir = 10 }, -/obj/machinery/firealarm/north, -/obj/effect/floor_decal/corner/brown{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/effect/floor_decal/corner/brown/full{ + dir = 1 }, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) @@ -12144,14 +12143,9 @@ /turf/simulated/floor/tiled, /area/horizon/engineering/atmos/storage) "bIs" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/closet/crate, /obj/effect/floor_decal/corner/brown{ dir = 9 }, -/obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "bIz" = ( @@ -12329,10 +12323,12 @@ /turf/simulated/floor/plating, /area/horizon/engineering/bluespace_drive) "bKg" = ( -/obj/effect/floor_decal/corner/brown{ - dir = 5 - }, -/turf/simulated/floor/tiled, +/obj/structure/crate_shelf, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/crate/weld, +/obj/structure/closet/crate/elec, +/obj/structure/closet/crate/internals, +/turf/simulated/floor/tiled/cargo, /area/horizon/operations/warehouse) "bKj" = ( /obj/structure/foamedmetal, @@ -17303,6 +17299,14 @@ }, /turf/simulated/floor/reinforced/airless, /area/horizon/engineering/atmos/propulsion/starboard) +"cuZ" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/large_stock_marker, +/turf/simulated/floor/tiled, +/area/horizon/operations/warehouse) "cvc" = ( /obj/structure/closet/emcloset, /obj/effect/floor_decal/corner/dark_green/full, @@ -19968,9 +19972,10 @@ /turf/unsimulated/floor/monotile, /area/antag/mercenary) "cOw" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/effect/large_stock_marker, -/obj/machinery/firealarm/south, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/outline/operations, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "cOz" = ( @@ -20360,15 +20365,17 @@ /turf/simulated/floor/tiled, /area/horizon/operations/lobby) "cRz" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 4 +/obj/effect/floor_decal/corner/brown{ + dir = 9 }, -/obj/structure/railing/mapped{ - dir = 8 +/obj/structure/table/standard{ + no_cargo = 1 }, -/obj/structure/cargo_receptacle/horizon, -/obj/effect/floor_decal/industrial/outline/yellow, -/turf/simulated/floor/plating, +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/device/cratescanner, +/obj/item/device/hand_labeler, +/turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "cRC" = ( /obj/effect/floor_decal/spline/fancy/wood{ @@ -22473,13 +22480,10 @@ c_tag = "Operations - Lower Warehouse 1"; dir = 8 }, -/obj/effect/floor_decal/corner/brown{ - dir = 6 - }, /obj/structure/closet/walllocker/medical/firstaid{ pixel_x = 32 }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/cargo, /area/horizon/operations/warehouse) "dgo" = ( /obj/effect/floor_decal/corner/dark_green{ @@ -23654,21 +23658,13 @@ /turf/simulated/floor/plating, /area/horizon/maintenance/deck_1/main/port) "dno" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/effect/floor_decal/industrial/loading/yellow{ + dir = 8 }, -/obj/machinery/button/remote/blast_door{ +/obj/structure/railing/mapped{ dir = 1; - id = "warehouse4"; - name = "Warehouse Shutter"; - pixel_x = 31; - pixel_y = 32 - }, -/obj/effect/floor_decal/corner/brown{ - dir = 5 + pixel_y = 8 }, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) @@ -25962,20 +25958,10 @@ /turf/simulated/wall/shuttle/scc_space_ship/cardinal, /area/horizon/hangar/auxiliary) "dCU" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/effect/floor_decal/corner/brown{ - dir = 6 - }, -/obj/structure/table/standard{ - no_cargo = 1 +/obj/effect/floor_decal/corner/brown/full{ + dir = 1 }, -/obj/item/paper_bin, -/obj/item/pen, -/obj/item/device/cratescanner, +/obj/structure/closet, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "dCW" = ( @@ -30784,20 +30770,10 @@ /turf/unsimulated/floor/plating, /area/shuttle/specops) "elB" = ( -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/corner/brown{ dir = 6 }, -/obj/structure/table/standard{ - no_cargo = 1 - }, -/obj/item/device/hand_labeler, -/obj/item/device/destTagger, -/obj/item/stack/packageWrap, +/obj/random/pottedplant, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "elE" = ( @@ -32959,14 +32935,10 @@ /turf/unsimulated/floor/grass, /area/antag/actor) "eDg" = ( -/obj/effect/floor_decal/corner/brown/full{ - dir = 1 - }, /obj/machinery/light/small{ - dir = 1 + dir = 4 }, -/obj/structure/engineer_maintenance/electric/wall, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/cargo, /area/horizon/operations/warehouse) "eDj" = ( /obj/structure/cable/green{ @@ -40272,6 +40244,8 @@ name = "Warehouse Shutter" }, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/full, /area/horizon/operations/warehouse) "fHs" = ( @@ -56712,7 +56686,12 @@ }, /area/centcom/holding) "hUY" = ( -/obj/structure/bed/stool/chair/office/dark{ +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/effect/floor_decal/corner/brown{ dir = 4 }, /turf/simulated/floor/tiled, @@ -60324,13 +60303,10 @@ /turf/simulated/floor/tiled/white, /area/horizon/rnd/test_range) "iwl" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ +/obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/cargo, /area/horizon/operations/warehouse) "iwo" = ( /obj/effect/step_trigger/teleporter/random{ @@ -61059,11 +61035,14 @@ /turf/simulated/floor/tiled, /area/horizon/operations/lobby) "iBi" = ( -/obj/structure/closet/crate, /obj/effect/floor_decal/corner/brown{ dir = 9 }, -/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/table/standard{ + no_cargo = 1 + }, +/obj/item/device/destTagger, +/obj/item/stack/packageWrap, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "iBn" = ( @@ -73567,6 +73546,10 @@ /obj/effect/map_effect/window_spawner/full/reinforced/indestructible, /turf/unsimulated/floor/dark_monotile, /area/antag/actor) +"kqv" = ( +/obj/structure/bed/stool/chair/office/dark, +/turf/simulated/floor/tiled, +/area/horizon/operations/warehouse) "kqI" = ( /obj/structure/cable{ icon_state = "2-8" @@ -76390,6 +76373,13 @@ /obj/structure/cable/green{ icon_state = "1-4" }, +/obj/machinery/button/remote/blast_door{ + dir = 8; + id = "warehouse1"; + name = "Warehouse Shutter"; + pixel_x = -22; + pixel_y = 10 + }, /turf/simulated/floor/plating, /area/horizon/operations/package_conveyors) "kJo" = ( @@ -81985,10 +81975,15 @@ /turf/simulated/floor/tiled/dark, /area/horizon/engineering/break_room) "lya" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, -/obj/effect/floor_decal/industrial/outline/research, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/effect/floor_decal/corner/brown{ + dir = 6 + }, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "lyd" = ( @@ -84616,6 +84611,10 @@ }, /turf/simulated/floor/wood/maple, /area/horizon/holodeck/source_cafe) +"lQy" = ( +/obj/structure/cart/storage/parcelcart, +/turf/simulated/floor/tiled, +/area/horizon/operations/warehouse) "lQF" = ( /obj/machinery/atmospherics/pipe/simple/visible/purple{ dir = 4 @@ -88299,7 +88298,8 @@ /area/horizon/maintenance/deck_1/wing/starboard) "mvs" = ( /obj/machinery/alarm/east, -/obj/structure/closet/secure_closet/package_courier, +/obj/effect/large_stock_marker, +/obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "mvv" = ( @@ -89287,10 +89287,11 @@ }, /area/horizon/shuttle/mining) "mEA" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/effect/floor_decal/corner/brown, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/crate_shelf, +/obj/structure/closet/crate, +/obj/structure/closet/crate, +/turf/simulated/floor/tiled/cargo, /area/horizon/operations/warehouse) "mED" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, @@ -93149,17 +93150,16 @@ /turf/simulated/floor/tiled, /area/horizon/hangar/auxiliary) "nhF" = ( -/obj/machinery/conveyor{ - dir = 5; - id = "warehouse_package_conveyor"; - reversed = 1 - }, /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/machinery/conveyor{ + dir = 4; + id = "warehouse_package_conveyor" + }, /turf/simulated/floor/plating, /area/horizon/operations/warehouse) "nhL" = ( @@ -97345,15 +97345,7 @@ /turf/simulated/floor/tiled, /area/horizon/hallway/primary/deck_2/fore) "nLY" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/closet/crate, -/obj/effect/floor_decal/corner/brown{ - dir = 6 - }, -/obj/effect/floor_decal/industrial/outline/yellow, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/cargo, /area/horizon/operations/warehouse) "nLZ" = ( /obj/machinery/atmospherics/pipe/manifold/visible/cyan, @@ -97947,6 +97939,7 @@ "nQF" = ( /obj/structure/table/standard, /obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/engineer_maintenance/pipe/wall, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "nQJ" = ( @@ -98250,7 +98243,6 @@ /obj/machinery/light/small{ dir = 1 }, -/obj/structure/engineer_maintenance/pipe/wall, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "nSR" = ( @@ -98548,6 +98540,12 @@ }, /turf/simulated/floor/wood, /area/horizon/command/heads/xo) +"nWa" = ( +/obj/structure/table/standard{ + no_cargo = 1 + }, +/turf/simulated/floor/tiled, +/area/horizon/operations/warehouse) "nWb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -98957,9 +98955,8 @@ /turf/simulated/floor/holofloor/carpet/rubber, /area/horizon/holodeck/source_basketball) "nZS" = ( -/obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/light/small, -/obj/effect/large_stock_marker, +/obj/structure/closet/secure_closet/package_courier, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "nZT" = ( @@ -100052,14 +100049,15 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/effect/floor_decal/industrial/outline_door/yellow{ - dir = 8 - }, /obj/machinery/conveyor_switch/oneway{ id = "warehouse_package_conveyor"; pixel_x = -13; pixel_y = -5 }, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/effect/floor_decal/industrial/outline_door/yellow{ + dir = 8 + }, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "ogA" = ( @@ -100374,19 +100372,11 @@ /turf/simulated/floor/tiled, /area/horizon/crew/lounge) "oiE" = ( -/obj/structure/cable/green{ - icon_state = "0-2" - }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/corner/brown{ dir = 6 }, -/obj/machinery/power/apc/high/east, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/cable/green{ - icon_state = "2-8" - }, -/obj/random/pottedplant, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "oiF" = ( @@ -106654,11 +106644,9 @@ /turf/simulated/floor/plating, /area/horizon/hangar/intrepid) "pcT" = ( -/obj/structure/closet/crate, -/obj/effect/floor_decal/corner/brown{ - dir = 6 - }, +/obj/machinery/light/small, /obj/effect/floor_decal/industrial/outline/yellow, +/obj/effect/large_stock_marker, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "pcW" = ( @@ -115169,6 +115157,16 @@ }, /turf/simulated/floor/tiled/white, /area/merchant_station) +"qrR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/firealarm/south{ + dir = 4; + pixel_x = 22; + pixel_y = 0 + }, +/turf/simulated/floor/tiled, +/area/horizon/operations/warehouse) "qrU" = ( /obj/machinery/door/firedoor, /obj/effect/map_effect/door_helper/unres{ @@ -117312,12 +117310,10 @@ /turf/unsimulated/floor/plating, /area/centcom/specops) "qHF" = ( -/obj/structure/closet/crate, -/obj/effect/floor_decal/corner/brown{ - dir = 10 - }, /obj/effect/floor_decal/industrial/outline/yellow, -/turf/simulated/floor/tiled, +/obj/structure/crate_shelf, +/obj/structure/closet/crate, +/turf/simulated/floor/tiled/cargo, /area/horizon/operations/warehouse) "qHI" = ( /turf/simulated/wall, @@ -125602,6 +125598,17 @@ icon_state = "dark_preview" }, /area/centcom/checkpoint/aft) +"rQO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/corner/brown{ + dir = 6 + }, +/obj/structure/railing/mapped{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/horizon/operations/warehouse) "rQT" = ( /obj/effect/map_effect/window_spawner/full/borosilicate/reinforced/firedoor, /obj/machinery/door/blast/regular/open{ @@ -126365,8 +126372,7 @@ }, /area/antag/ninja) "rWo" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/structure/closet/crate, +/obj/effect/floor_decal/industrial/outline/research, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "rWq" = ( @@ -129932,16 +129938,12 @@ /turf/simulated/floor/plating, /area/horizon/hallway/primary/deck_3/port/docks) "swx" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/door/blast/shutters/open{ - dir = 2; - id = "warehouse4"; - name = "Warehouse Shutter" - }, -/obj/effect/floor_decal/industrial/hatch/yellow, -/turf/simulated/floor/tiled/full, +/obj/structure/crate_shelf, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/crate/medical, +/obj/structure/closet/crate/medical, +/obj/structure/closet/crate/hydroponics, +/turf/simulated/floor/tiled/cargo, /area/horizon/operations/warehouse) "swI" = ( /obj/structure/railing/mapped{ @@ -139570,6 +139572,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, +/obj/structure/railing/mapped{ + dir = 1; + pixel_y = 8 + }, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "tOc" = ( @@ -145629,10 +145635,8 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/machinery/conveyor{ - dir = 10; - id = "warehouse_package_conveyor" - }, +/obj/structure/cargo_receptacle/horizon, +/obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, /area/horizon/operations/warehouse) "uHk" = ( @@ -146082,12 +146086,6 @@ /turf/unsimulated/floor/plating, /area/tdome/tdomeadmin) "uJM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, /obj/machinery/button/remote/blast_door{ dir = 1; id = "warehouse3"; @@ -146098,6 +146096,8 @@ /obj/effect/floor_decal/corner/brown{ dir = 5 }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "uJN" = ( @@ -146842,9 +146842,17 @@ /turf/simulated/floor/tiled/dark, /area/horizon/shuttle/intrepid/main_compartment) "uPP" = ( -/obj/effect/floor_decal/industrial/outline/operations, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ - icon_state = "4-8" + icon_state = "2-8" + }, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/high/east, +/obj/effect/floor_decal/corner/brown{ + dir = 6 }, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) @@ -149508,6 +149516,10 @@ dir = 9 }, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/structure/railing/mapped{ + dir = 1; + pixel_y = 8 + }, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) "viv" = ( @@ -153863,8 +153875,12 @@ /turf/simulated/floor/tiled/white, /area/horizon/crew/fitness/showers) "vOg" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/structure/cable/green{ + icon_state = "1-4" }, /turf/simulated/floor/tiled, /area/horizon/operations/warehouse) @@ -160000,7 +160016,6 @@ dir = 4 }, /obj/machinery/light, -/obj/structure/cart/storage/parcelcart, /turf/simulated/floor/tiled, /area/horizon/operations/mail_room) "wDe" = ( @@ -165730,15 +165745,14 @@ }, /area/horizon/holodeck/source_beach) "xtQ" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/closet/crate, -/obj/effect/floor_decal/corner/brown/full{ - dir = 4 - }, /obj/effect/floor_decal/industrial/outline/yellow, -/turf/simulated/floor/tiled, +/obj/structure/crate_shelf, +/obj/machinery/status_display/supply_display{ + pixel_y = 32 + }, +/obj/structure/closet/crate/tool, +/obj/structure/closet/crate/tool, +/turf/simulated/floor/tiled/cargo, /area/horizon/operations/warehouse) "xtS" = ( /obj/machinery/door/airlock/command{ @@ -167283,6 +167297,12 @@ /obj/item/circuitboard/portgen/fusion, /turf/simulated/floor/tiled/dark/full, /area/horizon/engineering/storage_hard) +"xFQ" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/engineer_maintenance/electric/wall, +/turf/simulated/floor/tiled, +/area/horizon/operations/warehouse) "xFR" = ( /obj/effect/floor_decal/corner/mauve{ dir = 9 @@ -168608,6 +168628,14 @@ }, /turf/simulated/floor/plating, /area/horizon/command/bridge/controlroom) +"xOy" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/horizon/operations/warehouse) "xOG" = ( /obj/item/modular_computer/console/preset/security{ dir = 1 @@ -192257,8 +192285,8 @@ nbw aOp pdb wlr -rre wlr +rre xuk wlr wlr @@ -192514,7 +192542,7 @@ lgy wlr wlr wlr -cRz +wlr uHj nhF wlr @@ -192762,19 +192790,19 @@ egt orh xbo wlr -kVz +biL kZb kZb -kVz +srt wlr nSQ bIs -iBi +bIs cSY +bIs nLI -aOp ogz -iBi +cRz iBi vit uvc @@ -193025,15 +193053,15 @@ kZb nZS wlr pdP +dte rWo -rWo -kZb +rzE kZb kZb ffW -rWo -rWo -nLI +kqv +nWa +dno sqU quz wlr @@ -193277,19 +193305,19 @@ eBV pDS wlr nQF -vOg -kZb -kZb +jWh +nyE +qrR fHj uJM -kZb -kZb -kmo +bjN +ikR +cOw kZb kZb ffW kZb -kZb +lQy tOb vyA woX @@ -193534,19 +193562,19 @@ eBV xbo wlr biL -vOg -kZb -cOw +qjq +kVz +wlr wlr bxr -dte -bjN +oiE +rQO lya -ikR -rzE +oiE +rQO uPP hUY -kZb +xOy vOg mde ajX @@ -193790,18 +193818,18 @@ egt dZF dPY wlr -nQF -jWh -nyE -nyE +xFQ +kZb +kVz +wlr swx -dno -nyE -nyE +nLY +nLY +qHF iwl -nyE +nLY mEA -oiE +wlr dCU elB bsF @@ -194047,16 +194075,16 @@ egt coA pDS wlr -krq -qjq +cuZ kZb -nZS +pcT wlr -bKg -rWo -rWo -qjq -rWo +xtQ +nLY +nLY +mEA +nLY +nLY qHF wlr qKo @@ -194306,15 +194334,15 @@ peg wlr kVz mvs -srt kVz wlr +bKg eDg nLY -pcT +mEA dgl -pcT -xtQ +eDg +mEA wlr qKo jIN From 9d035db97c7ee95b29d1fd74d838c54a1c19721b Mon Sep 17 00:00:00 2001 From: TGW Date: Tue, 14 Oct 2025 14:29:48 +0200 Subject: [PATCH 5/7] small fix --- code/game/objects/structures/crates_lockers/crates.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index cca9bcaff936..80d05d45d8a3 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -134,7 +134,7 @@ if(!opened && tablestatus == UNDER_TABLE) to_chat(user, SPAN_WARNING("You can't open \the [src] while the lid is obstructed!")) return FALSE - if(loc == /obj/structure/crate_shelf) + if(istype(loc, /obj/structure/crate_shelf)) to_chat(user, SPAN_WARNING("You can't open \the [src] while it is on a shelf!")) return FALSE else From 7bff6db226b459b6a83b8436e291de35f7c31242 Mon Sep 17 00:00:00 2001 From: TGW Date: Tue, 14 Oct 2025 21:03:21 +0200 Subject: [PATCH 6/7] define stuff --- .../objects/structures/crates_lockers/crateshelf.dm | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/crateshelf.dm b/code/game/objects/structures/crates_lockers/crateshelf.dm index 899dd84388af..66161acf51bf 100644 --- a/code/game/objects/structures/crates_lockers/crateshelf.dm +++ b/code/game/objects/structures/crates_lockers/crateshelf.dm @@ -1,7 +1,3 @@ -#define DEFAULT_SHELF_CAPACITY 3 // Default capacity of the shelf -#define DEFAULT_SHELF_USE_DELAY 1 SECONDS // Default interaction delay of the shelf -#define DEFAULT_SHELF_VERTICAL_OFFSET 10 // Vertical pixel offset of shelving-related things. Set to 10 by default due to this leaving more of the crate on-screen to be clicked. - /obj/structure/crate_shelf name = "crate shelf" desc = "It's a shelf! For storing crates!" @@ -12,9 +8,10 @@ anchored = TRUE layer = BELOW_OBJ_LAYER - var/capacity = DEFAULT_SHELF_CAPACITY - var/use_delay = DEFAULT_SHELF_USE_DELAY + var/capacity = 3 // Default capacity of the shelf + var/use_delay = 1 SECONDS // Default interaction delay of the shelf var/list/shelf_contents + var/vertical_offset = 10 // Vertical pixel offset of shelving-related things. Set to 10 by default due to this leaving more of the crate on-screen to be clicked. var/manipulating = FALSE @@ -55,7 +52,7 @@ var/stack_offset // This is used to generate the vertical offset of the shelf pieces. for(var/i in 1 to (capacity - 1)) stack_layer = BELOW_OBJ_LAYER + (0.02 * i) - 0.01 // Make each shelf piece render above the last, but below the crate that should be on it. - stack_offset = DEFAULT_SHELF_VERTICAL_OFFSET * i // Make each shelf piece physically above the last. + stack_offset = vertical_offset * i // Make each shelf piece physically above the last. var/image/I = image(icon, icon_state = shelf_stack, layer = stack_layer, pixel_y = stack_offset) AddOverlays(I) @@ -140,7 +137,7 @@ /obj/structure/crate_shelf/proc/put_in(obj/structure/closet/crate/crate, var/next_free) LAZYSET(shelf_contents, next_free, crate) crate.forceMove(src) // Insert the crate into the shelf. - crate.pixel_y = DEFAULT_SHELF_VERTICAL_OFFSET * (next_free - 1) // Adjust the vertical offset of the crate to look like it's on the shelf. + crate.pixel_y = vertical_offset * (next_free - 1) // Adjust the vertical offset of the crate to look like it's on the shelf. crate.layer = BELOW_OBJ_LAYER + 0.02 * (next_free - 1) // Adjust the layer of the crate to look like it's in the shelf. handle_visuals() From 8a62dafa2e99b07991a54ff877f4998f647d3479 Mon Sep 17 00:00:00 2001 From: TGW Date: Sat, 18 Oct 2025 17:30:43 +0200 Subject: [PATCH 7/7] minor style fix --- code/game/objects/items/stacks/rods.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index da1375bb4266..91888abf864f 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -3,8 +3,8 @@ GLOBAL_LIST_INIT_TYPED(rod_recipes, /datum/stack_recipe, list( new /datum/stack_recipe("floor-mounted catwalk", /obj/structure/lattice/catwalk/indoor, 4, time = 10, one_per_turf = TRUE, on_floor = TRUE), new /datum/stack_recipe("grate, dark", /obj/structure/lattice/catwalk/indoor/grate, 1, time = 10, one_per_turf = TRUE, on_floor = TRUE), new /datum/stack_recipe("grate, light", /obj/structure/lattice/catwalk/indoor/grate/light, 1, time = 10, one_per_turf = TRUE, on_floor = TRUE), - new /datum/stack_recipe("table frame", /obj/structure/table, 2, time = 10, one_per_turf = 1, on_floor = 1), - new /datum/stack_recipe("crate shelf", /obj/structure/crate_shelf, req_amount = 10, time = 10, one_per_turf = 1, on_floor = 1), + new /datum/stack_recipe("table frame", /obj/structure/table, 2, time = 10, one_per_turf = TRUE, on_floor = TRUE), + new /datum/stack_recipe("crate shelf", /obj/structure/crate_shelf, req_amount = 10, time = 10, one_per_turf = TRUE, on_floor = TRUE), new /datum/stack_recipe("mine track", /obj/structure/track, 3, time = 10, one_per_turf = TRUE, on_floor = TRUE), new /datum/stack_recipe("cane", /obj/item/cane, 1, time = 6), new /datum/stack_recipe("crowbar", /obj/item/crowbar, 1, time = 6),