From 748460e3a0afc1c646e699bd6f48d497038ab9f2 Mon Sep 17 00:00:00 2001
From: Kano <89972582+kano-dot@users.noreply.github.com>
Date: Sat, 9 Aug 2025 15:23:12 +0300
Subject: [PATCH] Tweaks package spawning logic for off-ships (#21098)
## About PR
PR'd again from #21045 because a mistake I made, apologies for this.
Off-ship packages are now spawned whenever they exist in the overmap.
Adjusted the warehouse to include a small room for newer packages to
come in, given the alternative was letting them spawn and scatter out of
nowhere in the middle of the round. Packages for roundstart non-hidden
locations like exoplanets or any other location with delivery spots
aren't affected by any of these changes.
Also when an off-ship becomes available for packages, operations receive
an announcement message about it.
## Images
---
aurorastation.dme | 1 +
.../dcs/signals/signals_ghostrole.dm | 2 +
code/modules/cargo/delivery/receptacle.dm | 55 +-
code/modules/ghostroles/spawner/base.dm | 1 +
.../kano-dot-package-spawning-tweaks.yml | 7 +
maps/_common/mapsystem/map.dm | 1 +
.../areas/horizon_areas_operations.dm | 5 +
maps/sccv_horizon/code/sccv_horizon.dm | 1 +
maps/sccv_horizon/sccv_horizon.dmm | 478 +++++++++++-------
9 files changed, 363 insertions(+), 188 deletions(-)
create mode 100644 code/__DEFINES/dcs/signals/signals_ghostrole.dm
create mode 100644 html/changelogs/kano-dot-package-spawning-tweaks.yml
diff --git a/aurorastation.dme b/aurorastation.dme
index 25e6325166e..470cac1d4c4 100644
--- a/aurorastation.dme
+++ b/aurorastation.dme
@@ -171,6 +171,7 @@
#include "code\__DEFINES\dcs\signals\signals_area.dm"
#include "code\__DEFINES\dcs\signals\signals_client.dm"
#include "code\__DEFINES\dcs\signals\signals_datum.dm"
+#include "code\__DEFINES\dcs\signals\signals_ghostrole.dm"
#include "code\__DEFINES\dcs\signals\signals_global.dm"
#include "code\__DEFINES\dcs\signals\signals_lore_radio.dm"
#include "code\__DEFINES\dcs\signals\signals_moveloop.dm"
diff --git a/code/__DEFINES/dcs/signals/signals_ghostrole.dm b/code/__DEFINES/dcs/signals/signals_ghostrole.dm
new file mode 100644
index 00000000000..14217852bfd
--- /dev/null
+++ b/code/__DEFINES/dcs/signals/signals_ghostrole.dm
@@ -0,0 +1,2 @@
+/// Called when a ghostrole is taken by a player in a hidden `overmap/visitable` for the first time : `/datum/ghostspawner/proc/post_spawn(mob/user)`
+#define COMSIG_GHOSTROLE_TAKEN "ghostrole_taken"
diff --git a/code/modules/cargo/delivery/receptacle.dm b/code/modules/cargo/delivery/receptacle.dm
index 615c910390f..2e731ff69db 100644
--- a/code/modules/cargo/delivery/receptacle.dm
+++ b/code/modules/cargo/delivery/receptacle.dm
@@ -12,6 +12,7 @@ GLOBAL_LIST_INIT_TYPED(all_cargo_receptacles, /obj/structure/cargo_receptacle, l
with Orion Express only delivering to automated stations and other distribution points."
icon = 'icons/obj/orion_delivery.dmi'
icon_state = "delivery_point"
+ density = TRUE
var/delivery_id = ""
var/datum/weakref/delivery_sector
@@ -25,6 +26,11 @@ GLOBAL_LIST_INIT_TYPED(all_cargo_receptacles, /obj/structure/cargo_receptacle, l
var/min_spawn = 2
/// Maximum amount of packages that can spawn for this receptacle. INTEGER
var/max_spawn = 4
+ /// Used to handle spawn points for the packages. It's set to 'True' for the ships that is invisible if unoccupied.
+ var/late_spawner = FALSE
+ var/announcer_name = "Automated Delivery System"
+ var/announcement_message = "A new delivery point has been detected in the sector. Relevant packages have been unloaded."
+ var/channel = "Operations"
/obj/structure/cargo_receptacle/mechanics_hints(mob/user, distance, is_adjacent)
. += ..()
@@ -38,10 +44,10 @@ GLOBAL_LIST_INIT_TYPED(all_cargo_receptacles, /obj/structure/cargo_receptacle, l
/obj/structure/cargo_receptacle/LateInitialize()
delivery_id = "#[rand(1, 9)][rand(1, 9)][rand(1, 9)]"
name += " ([delivery_id])"
+ var/turf/current_turf = get_turf(loc)
+ var/obj/effect/overmap/visitable/my_sector = GLOB.map_sectors["[current_turf.z]"]
if(SSatlas.current_map.use_overmap)
- var/turf/current_turf = get_turf(loc)
- var/obj/effect/overmap/visitable/my_sector = GLOB.map_sectors["[current_turf.z]"]
if(my_sector)
delivery_sector = WEAKREF(my_sector)
else
@@ -49,22 +55,41 @@ GLOBAL_LIST_INIT_TYPED(all_cargo_receptacles, /obj/structure/cargo_receptacle, l
else
delivery_sector = null
+ if(!spawns_packages) // excludes horizon's receptacle, we don't want to send packages to ourselves.
+ GLOB.all_cargo_receptacles += src
+ return
+
+ if(!my_sector?.invisible_until_ghostrole_spawn)
+ spawn_packages() // if the `overmap/visitable` isn't hidden, we don't need to wait for a ghost spawn.
+ else if(my_sector)
+ late_spawner = TRUE
+ RegisterSignal(my_sector, COMSIG_GHOSTROLE_TAKEN, PROC_REF(spawn_packages)) // signal is sent by the same sector our object is in
+
GLOB.all_cargo_receptacles += src
- if(spawns_packages)
- var/list/warehouse_turfs = list()
- for(var/area_path in typesof(SSatlas.current_map.warehouse_basearea))
- var/area/warehouse = locate(area_path)
- if(warehouse)
- for(var/turf/simulated/floor/T in warehouse)
- if(!turf_contains_dense_objects(T))
- warehouse_turfs += T
+/obj/structure/cargo_receptacle/proc/spawn_packages()
+ SIGNAL_HANDLER
+ var/list/warehouse_turfs = list()
+ var/list/area_types
+ if(late_spawner)
+ area_types = typesof(SSatlas.current_map.warehouse_packagearea)
+ else
+ area_types = typesof(SSatlas.current_map.warehouse_basearea)
+ for(var/area_path in area_types)
+ var/area/warehouse = locate(area_path)
+ if(warehouse)
+ for(var/turf/simulated/floor/T in warehouse)
+ if(!turf_contains_dense_objects(T))
+ warehouse_turfs += T
- var/package_amount = rand(min_spawn, max_spawn)
- for(var/i = 1 to package_amount)
- var/turf/random_turf = pick_n_take(warehouse_turfs)
- if(random_turf)
- new /obj/item/cargo_package(random_turf, src)
+ var/package_amount = rand(min_spawn, max_spawn)
+ for(var/i = 1 to package_amount)
+ var/turf/random_turf = pick_n_take(warehouse_turfs)
+ if(random_turf)
+ new /obj/item/cargo_package(random_turf, src)
+ if(late_spawner)
+ playsound(pick(warehouse_turfs), 'sound/machines/twobeep.ogg', 50, 1)
+ GLOB.global_announcer.autosay(announcement_message, capitalize_first_letters(announcer_name), channel)
/obj/structure/cargo_receptacle/Destroy()
GLOB.all_cargo_receptacles -= src
diff --git a/code/modules/ghostroles/spawner/base.dm b/code/modules/ghostroles/spawner/base.dm
index 46ce67ef4ca..3cd6583ba00 100644
--- a/code/modules/ghostroles/spawner/base.dm
+++ b/code/modules/ghostroles/spawner/base.dm
@@ -224,6 +224,7 @@
sector.y = sector.start_y
sector.z = SSatlas.current_map.overmap_z
sector.invisible_until_ghostrole_spawn = FALSE
+ SEND_SIGNAL(sector, COMSIG_GHOSTROLE_TAKEN)
return TRUE
//Proc to check if a specific user can edit this spawner (open/close/...)
diff --git a/html/changelogs/kano-dot-package-spawning-tweaks.yml b/html/changelogs/kano-dot-package-spawning-tweaks.yml
new file mode 100644
index 00000000000..2b1ab3d6752
--- /dev/null
+++ b/html/changelogs/kano-dot-package-spawning-tweaks.yml
@@ -0,0 +1,7 @@
+
+author: Kano
+
+delete-after: True
+
+changes:
+ - qol: "Tweaked cargo package spawning logic for the hidden off-ships. It'll now be available after the ship is visible on overmap."
diff --git a/maps/_common/mapsystem/map.dm b/maps/_common/mapsystem/map.dm
index 999989fa70d..a4c60370e3c 100644
--- a/maps/_common/mapsystem/map.dm
+++ b/maps/_common/mapsystem/map.dm
@@ -131,6 +131,7 @@
var/allow_borgs_to_leave = FALSE //this controls if borgs can leave the station or ship without exploding
var/area/warehouse_basearea //this controls where the cargospawner tries to populate warehouse items
+ var/area/warehouse_packagearea // used to handle spawnpoints for the packages that spawned after Initialize. See: `receptacle.dm`.
/**
* A list of the shuttles on this map, used by the Shuttle Manifest program to populate itself.
diff --git a/maps/sccv_horizon/areas/horizon_areas_operations.dm b/maps/sccv_horizon/areas/horizon_areas_operations.dm
index ba6d3c4f456..eb2b5393cfe 100644
--- a/maps/sccv_horizon/areas/horizon_areas_operations.dm
+++ b/maps/sccv_horizon/areas/horizon_areas_operations.dm
@@ -15,6 +15,11 @@
area_blurb_category = "ops_warehouse"
horizon_deck = 1
+/area/horizon/operations/package_conveyors
+ name = "Package Conveyors"
+ icon_state = "dark128"
+ horizon_deck = 1
+
/area/horizon/operations/lobby
name = "Lobby"
horizon_deck = 2
diff --git a/maps/sccv_horizon/code/sccv_horizon.dm b/maps/sccv_horizon/code/sccv_horizon.dm
index a06da12c0a2..c34e4366190 100644
--- a/maps/sccv_horizon/code/sccv_horizon.dm
+++ b/maps/sccv_horizon/code/sccv_horizon.dm
@@ -159,6 +159,7 @@
allow_borgs_to_leave = TRUE
warehouse_basearea = /area/horizon/operations/warehouse
+ warehouse_packagearea = /area/horizon/operations/package_conveyors
shuttle_manifests = list(
"SCCV Canary" = list("color" = "blue", "icon" = "binoculars"),
diff --git a/maps/sccv_horizon/sccv_horizon.dmm b/maps/sccv_horizon/sccv_horizon.dmm
index 76de371a331..0851ccf4bd6 100644
--- a/maps/sccv_horizon/sccv_horizon.dmm
+++ b/maps/sccv_horizon/sccv_horizon.dmm
@@ -1667,6 +1667,9 @@
dir = 10
},
/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
/turf/simulated/floor/tiled,
/area/horizon/operations/warehouse)
"ajY" = (
@@ -10102,15 +10105,13 @@
/obj/structure/cable/green{
icon_state = "2-4"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 5
- },
/obj/effect/floor_decal/corner/brown{
dir = 4
},
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
/turf/simulated/floor/tiled,
/area/horizon/operations/warehouse)
"bsG" = (
@@ -10135,11 +10136,8 @@
},
/area/tdome/tdomeadmin)
"bsP" = (
-/obj/effect/floor_decal/corner/brown{
- dir = 9
- },
-/turf/simulated/floor/tiled,
-/area/horizon/operations/warehouse)
+/turf/simulated/wall,
+/area/horizon/operations/package_conveyors)
"bsR" = (
/obj/effect/floor_decal/industrial/loading/yellow,
/obj/structure/platform{
@@ -20311,17 +20309,15 @@
/turf/simulated/floor/tiled,
/area/horizon/operations/lobby)
"cRz" = (
-/obj/machinery/conveyor{
- dir = 8;
- id = "warehousetomail"
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4
},
-/obj/machinery/door/firedoor,
-/obj/effect/floor_decal/industrial/hatch/yellow,
-/obj/structure/plasticflaps{
- dir = 4;
- name = "Delivery Chute to Mail Room"
+/obj/structure/railing/mapped{
+ dir = 8
},
-/turf/simulated/floor/tiled,
+/obj/structure/cargo_receptacle/horizon,
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/plating,
/area/horizon/operations/warehouse)
"cRC" = (
/obj/effect/floor_decal/spline/fancy/wood{
@@ -24008,11 +24004,13 @@
/turf/simulated/floor/tiled/dark,
/area/horizon/maintenance/deck_2/wing/port/nacelle)
"dqN" = (
-/obj/machinery/firealarm/west{
- pixel_x = -24
- },
/obj/effect/floor_decal/corner/brown{
- dir = 9
+ dir = 10
+ },
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/vehicle/train/cargo/trolley,
+/obj/structure/cable/green{
+ icon_state = "1-8"
},
/turf/simulated/floor/tiled,
/area/horizon/operations/warehouse)
@@ -27687,8 +27685,11 @@
/turf/simulated/floor/tiled/dark,
/area/horizon/rnd/xenoarch/anomaly_storage)
"dRj" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
/obj/structure/cable/green{
- icon_state = "1-8"
+ icon_state = "1-2"
},
/turf/simulated/floor/tiled,
/area/horizon/operations/warehouse)
@@ -33994,6 +33995,14 @@
/obj/structure/window/shuttle/scc_space_ship,
/turf/simulated/floor/plating,
/area/horizon/service/dining_hall)
+"eMY" = (
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/structure/lattice/catwalk/indoor/grate/dark,
+/obj/machinery/light/small/emergency,
+/turf/simulated/floor/plating,
+/area/horizon/maintenance/deck_1/operations/starboard/far)
"eNf" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -45151,16 +45160,12 @@
/turf/simulated/floor/plating,
/area/horizon/hangar/operations)
"gsy" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/railing/mapped{
- dir = 8
- },
-/obj/structure/railing/mapped,
/obj/effect/floor_decal/industrial/warning{
dir = 8
},
+/obj/structure/disposalpipe/segment{
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plating,
/area/horizon/maintenance/deck_1/operations/starboard/far)
"gsz" = (
@@ -68466,6 +68471,7 @@
dir = 4;
pixel_x = -32
},
+/obj/machinery/firealarm/east,
/turf/simulated/floor/tiled,
/area/horizon/operations/warehouse)
"jIO" = (
@@ -68839,14 +68845,7 @@
/turf/simulated/floor/tiled/white,
/area/horizon/rnd/chemistry)
"jLf" = (
-/obj/structure/cable/green{
- icon_state = "4-8"
- },
-/obj/machinery/light/small/emergency{
- dir = 1
- },
-/obj/structure/lattice/catwalk/indoor/grate/dark,
-/turf/simulated/floor/plating,
+/turf/simulated/wall,
/area/horizon/maintenance/deck_1/operations/starboard/far)
"jLh" = (
/obj/effect/floor_decal/spline/fancy/wood{
@@ -69646,6 +69645,17 @@
/obj/structure/railing/mapped,
/turf/simulated/floor/tiled/dark/full,
/area/horizon/operations/machinist)
+"jQE" = (
+/obj/effect/floor_decal/industrial/warning/full,
+/obj/structure/disposaloutlet{
+ dir = 4
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/structure/railing/mapped,
+/turf/simulated/floor/plating,
+/area/horizon/operations/package_conveyors)
"jQO" = (
/obj/structure/cable/green{
icon_state = "1-2"
@@ -71576,6 +71586,20 @@
},
/turf/simulated/floor/tiled/white,
/area/horizon/medical/hallway/upper)
+"kfd" = (
+/obj/machinery/alarm/west{
+ dir = 2;
+ pixel_x = 0
+ },
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "warehouse_package_conveyor"
+ },
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/plating,
+/area/horizon/operations/package_conveyors)
"kfh" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
@@ -75862,15 +75886,20 @@
/turf/simulated/wall/shuttle/scc,
/area/horizon/shuttle/intrepid/engineering)
"kJm" = (
-/obj/machinery/atmospherics/unary/vent_pump/on{
- dir = 4
- },
/obj/machinery/camera/network/supply{
- c_tag = "Operations - Warehouse Starboard Fore Storage Room";
+ c_tag = "Operations - Warehouse Package Conveyors";
dir = 4
},
-/turf/simulated/floor/tiled,
-/area/horizon/operations/warehouse)
+/obj/machinery/conveyor{
+ dir = 6;
+ id = "warehouse_package_conveyor";
+ reversed = 1
+ },
+/obj/structure/cable/green{
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/plating,
+/area/horizon/operations/package_conveyors)
"kJo" = (
/obj/machinery/computer/security{
dir = 8
@@ -78985,7 +79014,9 @@
/turf/simulated/floor/tiled/dark/full,
/area/horizon/service/bar)
"lgy" = (
-/obj/machinery/door/firedoor,
+/obj/machinery/door/firedoor{
+ dir = 4
+ },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
@@ -79505,6 +79536,17 @@
/obj/structure/lattice/catwalk/indoor/grate/dark,
/turf/simulated/floor,
/area/horizon/maintenance/deck_3/aft/starboard)
+"ljU" = (
+/obj/machinery/conveyor{
+ dir = 5;
+ id = "warehouse_package_conveyor"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/railing/mapped,
+/turf/simulated/floor/plating,
+/area/horizon/operations/package_conveyors)
"ljV" = (
/obj/structure/lattice,
/obj/structure/platform/ledge,
@@ -81773,10 +81815,9 @@
/turf/simulated/floor/carpet/rubber,
/area/horizon/tcommsat/chamber)
"lzO" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/railing/mapped,
+/obj/structure/closet,
+/obj/random/loot,
+/obj/effect/decal/cleanable/cobweb2,
/turf/simulated/floor/plating,
/area/horizon/maintenance/deck_1/operations/starboard/far)
"lzP" = (
@@ -85552,9 +85593,6 @@
/turf/unsimulated/floor,
/area/centcom/spawning)
"mde" = (
-/obj/structure/cable/green{
- icon_state = "4-8"
- },
/obj/machinery/hologram/holopad,
/turf/simulated/floor/tiled,
/area/horizon/operations/warehouse)
@@ -86988,15 +87026,11 @@
/area/shuttle/specops)
"moi" = (
/obj/structure/cable/green{
- icon_state = "4-8"
+ icon_state = "2-8"
},
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/maintenance{
- dir = 4;
- req_one_access = list(26,29,31,48,67,70)
- },
-/turf/simulated/floor/tiled/full,
-/area/horizon/operations/warehouse)
+/obj/structure/lattice/catwalk/indoor/grate/dark,
+/turf/simulated/floor/plating,
+/area/horizon/maintenance/deck_1/operations/starboard/far)
"mok" = (
/obj/effect/floor_decal/corner/dark_green/full,
/obj/structure/disposalpipe/trunk{
@@ -92295,6 +92329,15 @@
/obj/effect/floor_decal/industrial/warning{
dir = 10
},
+/obj/structure/railing/mapped{
+ dir = 8
+ },
+/obj/structure/railing/mapped,
+/obj/structure/trash_pile,
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plating,
/area/horizon/maintenance/deck_1/operations/starboard/far)
"ngz" = (
@@ -92432,20 +92475,18 @@
/turf/simulated/floor/tiled,
/area/horizon/hangar/auxiliary)
"nhF" = (
-/obj/machinery/door/blast/shutters/open{
- dir = 2;
- id = "warehouse1";
- name = "Warehouse Shutter"
+/obj/machinery/conveyor{
+ dir = 5;
+ id = "warehouse_package_conveyor";
+ reversed = 1
},
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+/obj/effect/floor_decal/industrial/warning{
dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
+/obj/structure/cable/green{
+ icon_state = "4-8"
},
-/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/simulated/floor/tiled/full,
+/turf/simulated/floor/plating,
/area/horizon/operations/warehouse)
"nhL" = (
/obj/structure/shuttle_part/mercenary/small{
@@ -96533,6 +96574,13 @@
/obj/random/contraband,
/turf/simulated/floor/plating,
/area/horizon/maintenance/deck_1/wing/port/far)
+"nLI" = (
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/effect/floor_decal/industrial/loading/yellow{
+ dir = 8
+ },
+/turf/simulated/floor/tiled,
+/area/horizon/operations/warehouse)
"nLK" = (
/obj/structure/table/standard,
/obj/machinery/light{
@@ -99301,12 +99349,6 @@
/turf/unsimulated/floor,
/area/centcom/legion/hangar5)
"ogz" = (
-/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 = 8;
id = "warehouse1";
@@ -99314,8 +99356,16 @@
pixel_x = -22;
pixel_y = -28
},
-/obj/effect/floor_decal/corner/brown{
- dir = 9
+/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
},
/turf/simulated/floor/tiled,
/area/horizon/operations/warehouse)
@@ -99604,12 +99654,6 @@
/turf/simulated/floor/tiled,
/area/horizon/crew/lounge)
"oiE" = (
-/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
- dir = 4
- },
/obj/structure/cable/green{
icon_state = "0-2"
},
@@ -99617,6 +99661,12 @@
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" = (
@@ -100334,10 +100384,12 @@
/turf/simulated/floor/tiled,
/area/horizon/operations/lobby)
"onR" = (
-/obj/machinery/firealarm/north,
-/obj/structure/cargo_receptacle/horizon,
-/turf/simulated/floor/tiled,
-/area/horizon/operations/warehouse)
+/obj/machinery/conveyor{
+ dir = 9;
+ id = "warehouse_package_conveyor"
+ },
+/turf/simulated/floor/plating,
+/area/horizon/operations/package_conveyors)
"onS" = (
/turf/simulated/wall/shuttle/unique/tcfl{
icon_state = "14,5"
@@ -114675,19 +114727,13 @@
/turf/simulated/open,
/area/horizon/maintenance/deck_2/wing/starboard/near)
"quz" = (
-/obj/machinery/light/small,
-/obj/structure/table/standard{
- no_cargo = 1
- },
-/obj/random/tech_supply,
-/obj/random/tech_supply,
-/obj/random/tech_supply,
-/obj/random/tech_supply,
-/obj/random/tech_supply,
-/obj/random/tech_supply,
/obj/effect/floor_decal/corner/brown{
dir = 10
},
+/obj/machinery/recharge_station,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
/turf/simulated/floor/tiled,
/area/horizon/operations/warehouse)
"quC" = (
@@ -121179,6 +121225,10 @@
},
/turf/simulated/floor/tiled/full,
/area/horizon/storage/eva)
+"rre" = (
+/obj/effect/map_effect/window_spawner/full/reinforced/firedoor,
+/turf/simulated/floor/tiled/dark/full,
+/area/horizon/operations/warehouse)
"rrg" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 8
@@ -128162,6 +128212,14 @@
},
/turf/unsimulated/floor/dark,
/area/antag/actor)
+"sqU" = (
+/obj/machinery/conveyor_switch/oneway{
+ id = "warehousetomail";
+ pixel_x = -13;
+ pixel_y = 20
+ },
+/turf/simulated/floor/tiled,
+/area/horizon/operations/warehouse)
"sqV" = (
/obj/structure/table/steel,
/obj/item/device/flashlight/lamp{
@@ -130599,8 +130657,13 @@
/turf/simulated/floor/plating,
/area/horizon/maintenance/deck_2/wing/port/far)
"sHt" = (
-/obj/structure/trash_pile,
/obj/effect/floor_decal/industrial/warning,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/railing/mapped,
+/obj/structure/closet,
+/obj/random/loot,
/turf/simulated/floor/plating,
/area/horizon/maintenance/deck_1/operations/starboard/far)
"sHz" = (
@@ -138587,6 +138650,12 @@
},
/turf/simulated/floor/plating,
/area/horizon/maintenance/deck_2/wing/starboard)
+"tOb" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/turf/simulated/floor/tiled,
+/area/horizon/operations/warehouse)
"tOc" = (
/obj/structure/window/reinforced{
dir = 8
@@ -143031,12 +143100,12 @@
/turf/simulated/floor/tiled/white,
/area/horizon/medical/hallway)
"uvc" = (
-/obj/structure/cable/green{
- icon_state = "4-8"
- },
/obj/effect/floor_decal/corner/brown{
dir = 9
},
+/obj/machinery/light/small{
+ dir = 8
+ },
/turf/simulated/floor/tiled,
/area/horizon/operations/warehouse)
"uve" = (
@@ -144287,10 +144356,17 @@
/turf/simulated/floor/carpet/rubber,
/area/horizon/engineering/reactor/indra/monitoring)
"uDF" = (
-/obj/machinery/alarm/west,
-/obj/effect/floor_decal/industrial/outline/yellow,
-/turf/simulated/floor/tiled,
-/area/horizon/operations/warehouse)
+/obj/machinery/conveyor{
+ dir = 10;
+ id = "warehouse_package_conveyor";
+ reversed = 1
+ },
+/obj/machinery/power/apc/west,
+/obj/structure/cable/green{
+ icon_state = "0-2"
+ },
+/turf/simulated/floor/plating,
+/area/horizon/operations/package_conveyors)
"uDI" = (
/obj/effect/decal/fake_object/light_source{
icon = 'icons/effects/props/holodeck/konyang/32x96.dmi';
@@ -144798,6 +144874,22 @@
},
/turf/simulated/open,
/area/horizon/hallway/primary/deck_3/central)
+"uHj" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4
+ },
+/obj/structure/railing/mapped{
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/conveyor{
+ dir = 10;
+ id = "warehouse_package_conveyor"
+ },
+/turf/simulated/floor/plating,
+/area/horizon/operations/warehouse)
"uHk" = (
/obj/effect/floor_decal/spline/fancy,
/obj/item/book/manual/wiki/security_space_law,
@@ -145987,13 +146079,10 @@
/turf/simulated/floor/tiled/dark,
/area/horizon/shuttle/intrepid/main_compartment)
"uPP" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
/obj/effect/floor_decal/industrial/outline/operations,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
/turf/simulated/floor/tiled,
/area/horizon/operations/warehouse)
"uPR" = (
@@ -148255,14 +148344,17 @@
/turf/simulated/floor/tiled/dark,
/area/horizon/storage/eva)
"vfH" = (
-/obj/machinery/conveyor_switch/oneway{
- id = "warehousetomail";
- pixel_x = -19;
- pixel_y = -10
+/obj/machinery/conveyor{
+ dir = 8;
+ id = "warehousetomail"
},
-/obj/effect/floor_decal/industrial/outline/yellow,
-/obj/effect/floor_decal/industrial/loading/yellow{
- dir = 8
+/obj/machinery/door/firedoor{
+ dir = 4
+ },
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/structure/plasticflaps{
+ dir = 4;
+ name = "Delivery Chute to Mail Room"
},
/turf/simulated/floor/tiled,
/area/horizon/operations/warehouse)
@@ -148397,8 +148489,9 @@
/obj/effect/floor_decal/corner/brown/full{
dir = 4
},
-/obj/random/pottedplant,
/obj/machinery/alarm/east,
+/obj/vehicle/train/cargo/engine,
+/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/tiled,
/area/horizon/operations/warehouse)
"vgS" = (
@@ -151469,10 +151562,19 @@
},
/area/centcom/legion)
"vBQ" = (
-/obj/effect/decal/cleanable/cobweb2,
-/obj/structure/trash_pile,
-/turf/simulated/floor/plating,
-/area/horizon/maintenance/deck_1/operations/starboard/far)
+/obj/machinery/door/firedoor{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/industrial/hatch_door/yellow,
+/obj/machinery/door/airlock/maintenance{
+ dir = 4;
+ req_one_access = list(26,29,31,48,67,70)
+ },
+/turf/simulated/floor/tiled/full,
+/area/horizon/operations/warehouse)
"vBR" = (
/obj/effect/decal/cleanable/dirt,
/obj/random/junk,
@@ -156941,11 +157043,24 @@
/turf/simulated/floor/plating,
/area/horizon/service/kitchen)
"woX" = (
-/obj/vehicle/train/cargo/trolley,
/obj/effect/floor_decal/corner/brown{
dir = 10
},
-/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/structure/railing/mapped{
+ dir = 4
+ },
+/obj/structure/table/standard{
+ no_cargo = 1
+ },
+/obj/random/tech_supply,
+/obj/random/tech_supply,
+/obj/random/tech_supply,
+/obj/random/tech_supply,
+/obj/random/tech_supply,
+/obj/random/tech_supply,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
/turf/simulated/floor/tiled,
/area/horizon/operations/warehouse)
"wpb" = (
@@ -164267,8 +164382,10 @@
/turf/simulated/floor/plating,
/area/horizon/maintenance/deck_2/wing/starboard/near)
"xnQ" = (
-/obj/random/loot,
-/obj/structure/closet,
+/obj/structure/cable/green{
+ icon_state = "1-4"
+ },
+/obj/structure/lattice/catwalk/indoor/grate/dark,
/turf/simulated/floor/plating,
/area/horizon/maintenance/deck_1/operations/starboard/far)
"xnR" = (
@@ -165130,13 +165247,26 @@
/turf/simulated/floor/wood,
/area/horizon/command/heads/rd)
"xuk" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+/obj/machinery/door/firedoor{
dir = 4
},
-/obj/machinery/atmospherics/unary/vent_scrubber/on{
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/structure/plasticflaps{
dir = 4
},
-/turf/simulated/floor/tiled,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "warehouse_package_conveyor"
+ },
+/obj/machinery/door/blast/shutters{
+ id = "warehouse1";
+ name = "Package Unloading Compartment";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/full,
/area/horizon/operations/warehouse)
"xup" = (
/obj/machinery/light{
@@ -167382,11 +167512,11 @@
/area/horizon/exterior)
"xKF" = (
/obj/machinery/light/small,
-/obj/vehicle/train/cargo/engine,
/obj/effect/floor_decal/corner/brown{
dir = 10
},
/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/vehicle/train/cargo/trolley,
/turf/simulated/floor/tiled,
/area/horizon/operations/warehouse)
"xKG" = (
@@ -168499,8 +168629,10 @@
/turf/simulated/floor/carpet/art,
/area/horizon/crew/lounge)
"xUI" = (
-/obj/machinery/recharge_station,
/obj/effect/floor_decal/corner/brown/full,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
/turf/simulated/floor/tiled,
/area/horizon/operations/warehouse)
"xUK" = (
@@ -190565,14 +190697,14 @@ wlr
wlr
wlr
wlr
-wlr
-wlr
-wlr
-wlr
-wlr
+bsP
+bsP
+bsP
+bsP
+bsP
gsy
ngx
-nOK
+eMY
tss
tss
eSV
@@ -190822,14 +190954,14 @@ rXQ
xfg
aOp
hmH
-wlr
-qfc
+bsP
+jQE
uDF
kJm
-wlr
+bsP
lzO
sHt
-nOK
+moi
xnQ
ooy
eSV
@@ -191079,15 +191211,15 @@ gZu
dZy
vyA
ies
-wlr
+bsP
onR
-kZb
-vOg
+ljU
+kfd
+bsP
wlr
mjD
-wlr
+jLf
nOK
-xnQ
ooy
eSV
eSV
@@ -191337,14 +191469,14 @@ nbw
aOp
pdb
wlr
-pdb
-aOp
+rre
+wlr
xuk
wlr
-bJt
wlr
+bJt
jLf
-vBQ
+nOK
ooy
eSV
glF
@@ -191594,14 +191726,14 @@ lgy
wlr
wlr
wlr
-wlr
-wlr
+cRz
+uHj
nhF
wlr
-cRz
wlr
-moi
-uvG
+vfH
+wlr
+vBQ
uvG
glF
glF
@@ -191851,12 +191983,12 @@ nSQ
bIs
iBi
cSY
-iBi
-bIs
+nLI
+aOp
ogz
-bsP
+iBi
+iBi
vit
-dqN
uvc
xUI
wlr
@@ -192108,13 +192240,13 @@ pdP
rWo
rWo
kZb
-rWo
-rWo
-nbw
kZb
-vfH
kZb
ffW
+rWo
+rWo
+nLI
+sqU
quz
wlr
glF
@@ -192367,11 +192499,11 @@ kZb
kmo
kZb
kZb
-nbw
-kZb
-kZb
-kZb
ffW
+kZb
+kZb
+tOb
+vyA
woX
wlr
glF
@@ -192627,7 +192759,7 @@ rzE
uPP
hUY
kZb
-kZb
+vOg
mde
ajX
wlr
@@ -192886,7 +193018,7 @@ dCU
elB
bsF
dRj
-woX
+dqN
wlr
glF
xEY