diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index 1b1fdf387396f..23937b91f979e 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -61,63 +61,32 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"at" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) "av" = ( /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) "aw" = ( /turf/open/floor/plating, /area/station/engineering/atmos) -"aA" = ( -/turf/open/floor/iron, -/area/station/engineering/main) -"aB" = ( +"ax" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"aC" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external/glass/ruin, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/main) -"aD" = ( -/turf/open/floor/iron, -/area/station/security/brig) -"aE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 6 +"ay" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L7" }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, -/area/station/engineering/main) -"aF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, +/area/station/commons/storage/primary) +"aA" = ( /turf/open/floor/iron, /area/station/engineering/main) -"aG" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/closet/radiation, -/obj/structure/cable, +"aD" = ( /turf/open/floor/iron, -/area/station/engineering/gravity_generator) +/area/station/security/brig) "aH" = ( /obj/machinery/light/directional/east, /obj/machinery/recharge_station, @@ -150,12 +119,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"aP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/engineering/atmos) "aS" = ( /obj/structure/table, /obj/item/flashlight{ @@ -165,36 +128,6 @@ /obj/item/stock_parts/power_store/cell/infinite, /turf/open/floor/iron, /area/station/engineering/main) -"aT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/main) -"aU" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Gravity Generator" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) -"aV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) "aX" = ( /obj/machinery/door/airlock/engineering/glass{ name = "Gravity Generator" @@ -208,10 +141,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"ba" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plating, -/area/station/engineering/atmos) "bb" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -235,11 +164,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"be" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/main) "bf" = ( /obj/machinery/suit_storage_unit/captain, /turf/open/floor/iron, @@ -258,19 +182,6 @@ }, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"bk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/machinery/door/airlock, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/atmos) -"bl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/machinery/meter, -/turf/open/floor/plating, -/area/station/engineering/atmos) "bm" = ( /obj/machinery/atmospherics/components/binary/valve/on{ dir = 4 @@ -305,11 +216,6 @@ /obj/machinery/announcement_system, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"bt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/science) "bu" = ( /turf/closed/wall/r_wall, /area/station/command/bridge) @@ -321,12 +227,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/brig) -"bx" = ( -/obj/machinery/door/airlock, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/main) "by" = ( /turf/closed/wall/r_wall, /area/station/medical/medbay) @@ -353,10 +253,6 @@ /obj/machinery/computer/rdconsole, /turf/open/floor/iron, /area/station/science) -"bH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/iron, -/area/station/security/brig) "bI" = ( /obj/structure/table, /obj/item/card/emag, @@ -395,10 +291,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"bN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "bO" = ( /obj/machinery/door/poddoor, /turf/open/floor/engine, @@ -425,35 +317,6 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"bV" = ( -/obj/machinery/light/directional/north, -/mob/living/carbon/human, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/medical/medbay) -"bW" = ( -/obj/machinery/camera/directional/north, -/mob/living/carbon/human, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/medical/medbay) -"bX" = ( -/obj/machinery/sleeper/syndie/fullupgrade, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/medical/medbay) "bY" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -489,18 +352,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"ch" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/medical/chemistry) -"ci" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/brig) "cj" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -536,11 +387,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"cq" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron, -/area/station/command/bridge) "cr" = ( /obj/machinery/light/directional/south, /obj/structure/closet/secure_closet/hos{ @@ -553,107 +399,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/medical/chemistry) -"cu" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/medical/medbay) -"cw" = ( -/obj/machinery/door/airlock, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/iron, -/area/station/command/bridge) -"cx" = ( -/obj/machinery/door/airlock/public/glass, -/turf/open/floor/iron, -/area/station/medical/medbay) -"cy" = ( -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/medical/medbay) -"cz" = ( -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/station/medical/medbay) -"cA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"cB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"cC" = ( -/obj/machinery/camera/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"cD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"cE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/station/medical/chemistry) -"cF" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/medical/chemistry) -"cG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/station/medical/medbay) -"cH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/structure/table, -/obj/item/gun/magic/wand/resurrection/debug, -/obj/item/gun/magic/wand/death/debug{ - pixel_y = 10 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/item/debug/human_spawner{ - pixel_x = 6; - pixel_y = -4 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/medical/medbay) "cI" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -668,62 +413,16 @@ }, /turf/open/floor/iron/cafeteria, /area/station/medical/medbay) -"cK" = ( -/obj/machinery/light/directional/south, -/obj/structure/table/glass, -/obj/item/disk/surgery/debug, -/obj/item/storage/box/monkeycubes{ - pixel_x = 6; - pixel_y = 1 - }, -/obj/item/storage/box/monkeycubes{ - pixel_x = -6; - pixel_y = 2 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/item/disk/data/debug{ - pixel_y = 9; - pixel_x = 7 - }, -/turf/open/floor/iron/white/corner, -/area/station/medical/medbay) -"cL" = ( -/obj/item/surgery_tray/full/advanced, -/obj/structure/table/glass, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron/white/corner, -/area/station/medical/medbay) "cN" = ( /turf/closed/wall/r_wall, /area/station/construction) -"cP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/closed/wall/r_wall, -/area/station/construction) "cS" = ( /turf/closed/wall/r_wall, /area/station/commons/storage/primary) -"cT" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/iron, -/area/station/medical/chemistry) "cV" = ( /obj/machinery/door/airlock/public/glass, /turf/open/floor/iron, /area/station/commons/storage/primary) -"cX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/construction) "cY" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, @@ -734,10 +433,6 @@ }, /turf/open/floor/iron, /area/station/construction) -"da" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/closed/wall/r_wall, -/area/station/commons/storage/primary) "db" = ( /turf/closed/wall/mineral/plastitanium, /area/station/hallway/secondary/entry) @@ -766,14 +461,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"dk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "dl" = ( /turf/open/floor/plating, /area/station/commons/storage/primary) @@ -856,13 +543,6 @@ }, /turf/open/floor/iron, /area/station/construction) -"dA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "dB" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, @@ -884,20 +564,10 @@ }, /turf/open/floor/iron, /area/station/commons/storage/primary) -"dF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "dG" = ( /obj/machinery/door/airlock, /turf/open/floor/iron, /area/station/commons/storage/primary) -"dH" = ( -/obj/machinery/door/airlock, -/turf/open/floor/plating, -/area/station/maintenance/department/bridge) "dI" = ( /obj/effect/landmark/start, /turf/open/floor/iron, @@ -923,18 +593,6 @@ }, /turf/open/floor/iron, /area/station/construction) -"dN" = ( -/obj/machinery/vending/subtype_vendor, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"dO" = ( -/obj/structure/table, -/obj/machinery/light/directional/south, -/obj/item/storage/medkit/regular, -/obj/item/healthanalyzer/advanced, -/obj/item/debug/omnitool/item_spawner, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "dP" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -960,16 +618,6 @@ /obj/machinery/camera/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"dU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/machinery/camera/directional/north, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "dV" = ( /turf/open/floor/plating, /area/station/hallway/secondary/entry) @@ -1022,30 +670,13 @@ /obj/machinery/door/airlock, /turf/open/floor/iron, /area/station/construction) -"eg" = ( -/obj/machinery/door/airlock, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/brig) "eh" = ( /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"ei" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "ej" = ( /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"ek" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "el" = ( /obj/structure/fans/tiny/invisible, /turf/open/floor/engine, @@ -1057,13 +688,18 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"ep" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 8 +"er" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) +/obj/structure/closet/secure_closet/medical3{ + locked = 0 + }, +/obj/item/healthanalyzer/advanced, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/medical/medbay) "es" = ( /obj/machinery/dna_scannernew, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -1081,11 +717,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/cargo/storage) -"ew" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/vacuum, -/turf/open/floor/plating, -/area/station/cargo/storage) "ex" = ( /obj/machinery/door/airlock/external/ruin{ name = "Escape Pod One" @@ -1093,17 +724,6 @@ /obj/structure/fans/tiny, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"ez" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "eA" = ( /obj/machinery/conveyor{ dir = 1; @@ -1111,6 +731,14 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"eB" = ( +/obj/machinery/door/airlock/external/glass/ruin, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/full, +/turf/open/floor/iron, +/area/station/engineering/main) "eC" = ( /obj/machinery/conveyor{ dir = 8; @@ -1135,14 +763,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"eH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "eJ" = ( /obj/docking_port/stationary{ dir = 4; @@ -1154,10 +774,6 @@ }, /turf/open/space/basic, /area/space) -"eL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "eN" = ( /obj/machinery/conveyor{ dir = 9; @@ -1177,36 +793,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"eR" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external/ruin{ - name = "Supply Dock Airlock" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"eS" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external/ruin{ - name = "Supply Dock Airlock" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "eT" = ( /obj/machinery/conveyor{ dir = 5; @@ -1235,19 +821,6 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) -"eZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/storage) -"fa" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "fb" = ( /obj/machinery/door/airlock/external/ruin{ name = "Departure Lounge Airlock" @@ -1267,23 +840,6 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) -"fe" = ( -/obj/machinery/computer/cargo{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/button/door/directional/east{ - id = "cargounload"; - name = "Loading Doors"; - pixel_y = 8 - }, -/obj/machinery/button/door/directional/east{ - id = "cargoload"; - name = "Loading Doors"; - pixel_y = -8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "ff" = ( /obj/docking_port/stationary{ dir = 2; @@ -1365,125 +921,21 @@ /obj/structure/fans/tiny, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"ft" = ( -/obj/machinery/door/airlock, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/hallway/primary/central) -"fw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"fx" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L1" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"fy" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/plaque{ - icon_state = "L3" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"fz" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L5" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"fA" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L7" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "fB" = ( /obj/machinery/status_display/supply, /turf/closed/wall/r_wall, /area/station/cargo/storage) -"fC" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L9" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"fD" = ( -/obj/machinery/light/directional/north, -/obj/machinery/camera/directional/north, -/obj/effect/turf_decal/plaque{ - icon_state = "L11" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"fE" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L13" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"fF" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/caution/stand_clear, -/obj/structure/fans/tiny, -/turf/open/floor/iron, -/area/station/cargo/storage) -"fH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "fI" = ( /obj/machinery/door/airlock, /turf/open/floor/plating, /area/station/maintenance/aft) -"fK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 5 +"fL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/obj/structure/cable, +/obj/item/storage/part_replacer/bluespace/tier4, /turf/open/floor/iron, -/area/station/commons/storage/primary) +/area/station/cargo/bitrunning/den) "fM" = ( /obj/structure/sign/directions/supply{ dir = 4; @@ -1500,14 +952,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"fN" = ( -/obj/machinery/door/airlock, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/commons/storage/primary) "fO" = ( /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) @@ -1523,24 +967,11 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"fR" = ( -/obj/machinery/door/airlock, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/commons/storage/primary) "fS" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"fW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 6 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) "fX" = ( /obj/structure/sign/directions/supply{ dir = 4; @@ -1562,21 +993,9 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) -"fZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "ga" = ( /turf/closed/wall/r_wall, /area/station/hallway/secondary/exit/departure_lounge) -"gb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) "gc" = ( /obj/machinery/door/airlock/external/ruin{ name = "Auxiliary Airlock" @@ -1608,75 +1027,24 @@ }, /turf/open/floor/plating, /area/station/commons/storage/primary) -"gk" = ( +"gi" = ( +/obj/structure/table, +/obj/item/storage/toolbox/syndicate, +/obj/item/debug/omnitool, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"gk" = ( /obj/structure/sign/departments/evac, /turf/closed/wall/r_wall, /area/station/hallway/secondary/exit/departure_lounge) -"gl" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) -"gm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 10 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "gn" = ( /obj/machinery/camera/directional/north, /turf/open/floor/iron, /area/station/security/brig) -"go" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) -"gp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/closed/wall/r_wall, -/area/station/cargo/miningoffice) -"gq" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"gr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 5 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"gu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "gv" = ( /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"gw" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"gx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "gy" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -1690,27 +1058,6 @@ /obj/machinery/keycard_auth/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"gB" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"gC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"gD" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "gE" = ( /obj/machinery/camera/directional/north, /turf/open/floor/iron, @@ -1726,6 +1073,10 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/construction) +"gH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/cargo/storage) "gI" = ( /obj/machinery/light/directional/north, /obj/machinery/camera/directional/north, @@ -1742,25 +1093,23 @@ /obj/structure/sign/warning/radiation/rad_area/directional/north, /turf/open/floor/plating, /area/station/engineering/gravity_generator) -"gY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/science) "hm" = ( /obj/machinery/airalarm/directional/west, /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/plating, /area/station/engineering/atmos) -"hv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 +"hp" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/obj/item/storage/part_replacer/bluespace/tier4, /turf/open/floor/iron, -/area/station/cargo/bitrunning/den) +/area/station/hallway/primary/central) +"hr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos) "hD" = ( /obj/structure/closet/secure_closet/chemical/heisenberg{ locked = 0 @@ -1774,32 +1123,69 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron, /area/station/construction) -"is" = ( -/obj/structure/sign/warning/vacuum/external/directional/east, -/obj/machinery/vending/subtype_vendor, -/turf/open/floor/iron, -/area/station/medical/medbay) -"jb" = ( +"io" = ( /obj/machinery/door/airlock, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/command/bridge) +"jg" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L1" + }, /obj/structure/cable, /turf/open/floor/iron, -/area/station/science) -"jE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +/area/station/commons/storage/primary) +"jk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"jz" = ( +/obj/structure/table/glass, +/obj/item/disk/surgery/debug, +/obj/item/storage/box/monkeycubes{ + pixel_x = 6; + pixel_y = 1 + }, +/obj/item/storage/box/monkeycubes{ + pixel_x = -6; + pixel_y = 2 + }, +/obj/effect/turf_decal/tile/blue{ dir = 8 }, -/turf/open/floor/plating, -/area/station/engineering/atmos) +/obj/item/disk/data/debug{ + pixel_y = 9; + pixel_x = 7 + }, +/turf/open/floor/iron/white/corner, +/area/station/medical/medbay) +"jL" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "jU" = ( /obj/structure/table, /obj/item/melee/energy/axe, /turf/open/floor/iron, /area/station/commons/storage/primary) -"kj" = ( -/obj/machinery/door/airlock, -/obj/structure/cable, +"jZ" = ( +/obj/machinery/sleeper/syndie/fullupgrade, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/camera/directional/north, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/medical/medbay) +"kf" = ( +/obj/machinery/vending/subtype_vendor, /turf/open/floor/iron, -/area/station/cargo/miningoffice) +/area/station/commons/storage/primary) "kn" = ( /obj/machinery/light/directional/north, /turf/open/floor/iron, @@ -1808,129 +1194,191 @@ /obj/structure/server, /turf/open/floor/iron/dark, /area/station/science/explab) -"kQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +"kS" = ( +/turf/closed/wall/r_wall, +/area/station/medical/chemistry) "lc" = ( /turf/open/floor/engine, /area/station/hallway/secondary/entry) -"lg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/main) -"lH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) -"lX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +"lu" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/central) -"mi" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/machinery/light/directional/north, +"mb" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, /turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"mE" = ( +/area/station/medical/chemistry) +"mk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/chem_mass_spec, /turf/open/floor/iron, -/area/station/medical/chemistry) -"nn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/area/station/engineering/main) +"mC" = ( +/turf/open/floor/iron/dark, +/area/station/medical/medbay) +"nb" = ( +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/science/explab) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) +"ng" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/cargo/storage) "nq" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 }, /turf/open/floor/iron, /area/station/commons/storage/primary) -"ny" = ( +"nT" = ( /obj/structure/table, -/obj/item/storage/toolbox/syndicate, -/obj/item/debug/omnitool, +/obj/machinery/light/directional/south, +/obj/item/storage/medkit/regular, +/obj/item/healthanalyzer/advanced, +/obj/item/debug/omnitool/item_spawner, /turf/open/floor/iron, /area/station/commons/storage/primary) -"nI" = ( -/obj/machinery/door/airlock, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/iron, -/area/station/cargo/bitrunning/den) "od" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"oV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +"os" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/research, +/turf/open/floor/iron/dark, +/area/station/science/explab) +"ou" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/effect/spawner/structure/window/reinforced, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/medical/chemistry) +/area/station/construction) +"oK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/main) +"pe" = ( +/obj/machinery/door/airlock, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/commons/storage/primary) +"pr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) "pv" = ( /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"pA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/closed/wall/r_wall, -/area/station/science) -"pI" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +"pw" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L9" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"pL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/caution/stand_clear{ dir = 8 }, -/obj/machinery/door/airlock/external/glass/ruin, -/turf/open/floor/plating, -/area/station/medical/medbay) +/turf/open/floor/iron, +/area/station/cargo/storage) +"pZ" = ( +/obj/machinery/light/directional/north, +/obj/machinery/camera/directional/north, +/obj/effect/turf_decal/plaque{ + icon_state = "L11" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "qb" = ( /obj/machinery/door/airlock, /turf/open/floor/plating, /area/station/engineering/atmos) +"qg" = ( +/obj/machinery/door/airlock/external/glass/ruin, +/obj/effect/turf_decal/stripes/full, +/turf/open/floor/iron/dark, +/area/station/cargo/storage) +"qv" = ( +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"qw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "qx" = ( /obj/machinery/airalarm/directional/west, /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/iron, /area/station/cargo/storage) +"qH" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/iron, +/area/station/medical/chemistry) "qQ" = ( /turf/open/floor/engine, /area/station/cargo/miningoffice) -"rn" = ( +"rh" = ( +/obj/machinery/door/airlock, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/science) +"ru" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, +/obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"rC" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/plaque{ + icon_state = "L3" + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "rK" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"rL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "rT" = ( /turf/open/floor/circuit/green, /area/station/cargo/bitrunning/den) @@ -1938,6 +1386,29 @@ /obj/machinery/door/airlock/shell, /turf/open/floor/iron/dark, /area/station/construction) +"sN" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"sT" = ( +/obj/machinery/door/airlock, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/engineering/main) +"tn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/medical/chemistry) +"tz" = ( +/obj/machinery/status_display/supply, +/turf/closed/wall/r_wall, +/area/station/commons/storage/primary) "tE" = ( /obj/machinery/door/airlock/research, /turf/open/floor/iron/dark, @@ -1949,6 +1420,13 @@ }, /turf/open/space/basic, /area/space) +"tQ" = ( +/obj/machinery/door/airlock/public/glass, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/medical/chemistry) "tV" = ( /obj/structure/bot, /turf/open/floor/iron/dark, @@ -1974,6 +1452,11 @@ /obj/machinery/light/directional/north, /turf/open/floor/plating, /area/station/engineering/atmos) +"uL" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/cargo/bitrunning/den) "uO" = ( /obj/machinery/door/airlock/public/glass, /obj/structure/cable, @@ -1995,11 +1478,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/explab) -"vb" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/iron, -/area/station/cargo/bitrunning/den) "vm" = ( /mob/living/circuit_drone, /turf/open/floor/iron/dark, @@ -2014,43 +1492,127 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"vP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +"vB" = ( +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/machinery/door/airlock/public/glass, -/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/corner, +/area/station/medical/medbay) +"vQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, -/area/station/medical/chemistry) -"wb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +/area/station/cargo/storage) +"vS" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/airlock_pump{ dir = 4 }, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/tile/blue/half/contrasted{ +/turf/open/floor/iron, +/area/station/engineering/main) +"wa" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/corner{ dir = 1 }, +/area/station/medical/medbay) +"wc" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/science) +"wk" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/cafeteria, +/area/station/medical/medbay) +"wl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"wp" = ( +/obj/machinery/door/airlock, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/cargo/bitrunning/den) "wB" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"wM" = ( +"wD" = ( +/obj/machinery/door/airlock, /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, -/area/station/hallway/secondary/entry) +/area/station/cargo/miningoffice) "wU" = ( /turf/closed/wall/r_wall, /area/station/science/explab) +"xD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/turf/open/floor/iron, +/area/station/command/bridge) +"xK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"xY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"ya" = ( +/obj/machinery/atmospherics/components/unary/airlock_pump{ + dir = 8 + }, +/obj/machinery/light/small/red/dim/directional/east, +/turf/open/floor/iron/dark, +/area/station/cargo/storage) +"yi" = ( +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) +"yl" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "yA" = ( /obj/docking_port/stationary/laborcamp_home{ dir = 8 }, /turf/open/space/basic, /area/space) +"yH" = ( +/obj/effect/turf_decal/stripes/full, +/obj/machinery/door/airlock/external/glass/ruin{ + name = "Medbay Airlock" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/medical/medbay) "yK" = ( /obj/structure/fans/tiny/invisible, /obj/effect/turf_decal/stripes/line{ @@ -2063,6 +1625,12 @@ /obj/machinery/power/rtg/debug, /turf/open/floor/plating/airless, /area/space/nearstation) +"zg" = ( +/obj/machinery/door/airlock/public/glass, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "zo" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -2073,16 +1641,57 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/science) +"zY" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "Aj" = ( /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/bitrunning/den) -"AP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +"An" = ( +/turf/open/floor/iron/dark, +/area/station/cargo/storage) +"Ao" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/caution/stand_clear{ dir = 8 }, /turf/open/floor/iron, -/area/station/science) +/area/station/cargo/storage) +"AD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) +"Bp" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/power/terminal{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) +"Bz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"BB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/medical/medbay) "BD" = ( /obj/structure/closet/secure_closet/chief_medical{ locked = 0 @@ -2096,13 +1705,44 @@ /obj/item/gun/ballistic/automatic/pistol, /turf/open/floor/iron, /area/station/command/bridge) +"BM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "Ce" = ( /turf/open/floor/iron, /area/station/medical/chemistry) +"Cg" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "Ct" = ( /obj/structure/closet/syndicate/resources/everything, /turf/open/floor/iron, /area/station/science) +"CF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/corner, +/area/station/medical/medbay) +"CG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/cargo/storage) +"CJ" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + name = "Medbay Airlock" + }, +/obj/effect/turf_decal/stripes/full, +/turf/open/floor/iron/dark, +/area/station/medical/medbay) "CQ" = ( /obj/machinery/light/directional/south, /obj/effect/turf_decal/stripes/line{ @@ -2114,11 +1754,6 @@ /obj/machinery/component_printer, /turf/open/floor/iron/dark, /area/station/science/explab) -"CV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/medical/chemistry) "Df" = ( /obj/machinery/light/directional/east, /obj/item/integrated_circuit/loaded/hello_world, @@ -2126,6 +1761,35 @@ /obj/structure/rack, /turf/open/floor/iron/dark, /area/station/science/explab) +"DC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/corner, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"DD" = ( +/mob/living/carbon/human, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/medical/medbay) +"DO" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"DT" = ( +/obj/machinery/door/airlock/external/glass/ruin, +/obj/effect/turf_decal/stripes/full, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/cargo/storage) "DW" = ( /obj/machinery/computer/scan_consolenew{ dir = 1 @@ -2135,15 +1799,19 @@ }, /turf/open/floor/iron/white/corner, /area/station/medical/medbay) -"EA" = ( +"Ef" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"Es" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/construction) -"EB" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron, -/area/station/medical/medbay) "EG" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -2166,13 +1834,21 @@ /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"ES" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +"EN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/meter/layer4, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"ER" = ( +/mob/living/carbon/human, +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +/obj/machinery/light/directional/north, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/medical/medbay) "EX" = ( /obj/structure/table, /obj/item/screwdriver{ @@ -2196,6 +1872,70 @@ /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/iron, /area/station/command/bridge) +"Fy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) +"FA" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"FC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"FE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"GC" = ( +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"GN" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) +"GQ" = ( +/obj/machinery/door/airlock, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security/brig) +"GV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/cargo/storage) +"GZ" = ( +/obj/machinery/chem_mass_spec, +/turf/open/floor/iron, +/area/station/medical/chemistry) +"Hb" = ( +/obj/machinery/door/airlock, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/construction) +"Hc" = ( +/obj/machinery/camera/directional/north, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"Hg" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L5" + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "HW" = ( /obj/machinery/airalarm/directional/east, /obj/effect/mapping_helpers/airalarm/unlocked, @@ -2213,6 +1953,11 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/explab) +"Is" = ( +/obj/machinery/door/airlock, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/commons/storage/primary) "Iy" = ( /obj/structure/closet/secure_closet/research_director{ locked = 0 @@ -2220,24 +1965,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/command/bridge) -"IB" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/structure/table, -/obj/item/debug/omnitool{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/debug/omnitool/item_spawner{ - pixel_x = 4; - pixel_y = -6 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/medical/medbay) "IF" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -2259,25 +1986,52 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"IV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/medical/chemistry) +"IX" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "cargounload" + }, +/obj/structure/sign/warning/vacuum/directional/east, +/turf/open/floor/iron, +/area/station/cargo/storage) +"Jd" = ( +/obj/machinery/door/airlock, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/commons/storage/primary) "Jp" = ( /obj/machinery/gravity_generator/main, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"JF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 +"JV" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/medical/chemistry) -"JS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/obj/effect/mapping_helpers/airalarm/unlocked, +/area/station/commons/storage/primary) +"Kg" = ( +/obj/machinery/door/airlock/external/glass/ruin, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/full, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/engineering/main) +"Ks" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/engineering/atmos) "Kx" = ( /obj/structure/table, /obj/item/analyzer, @@ -2285,45 +2039,87 @@ /obj/machinery/light/directional/south, /turf/open/floor/plating, /area/station/engineering/atmos) +"Lb" = ( +/obj/machinery/door/airlock, +/turf/open/floor/plating, +/area/station/medical/medbay) +"Lq" = ( +/obj/effect/turf_decal/stripes/full, +/obj/machinery/door/airlock/external/glass/ruin{ + name = "Medbay Airlock" + }, +/turf/open/floor/iron, +/area/station/medical/medbay) "Ly" = ( /obj/machinery/chem_dispenser/chem_synthesizer, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"LH" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 +"LD" = ( +/obj/item/surgery_tray/full/advanced, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/obj/machinery/door/airlock/research, -/turf/open/floor/iron/dark, -/area/station/science/explab) +/obj/machinery/light/directional/south, +/turf/open/floor/iron/white/corner, +/area/station/medical/medbay) "LS" = ( /obj/machinery/quantum_server, /turf/open/floor/iron, /area/station/cargo/bitrunning/den) +"LU" = ( +/obj/machinery/vending/subtype_vendor, +/turf/open/floor/iron, +/area/station/medical/chemistry) "LW" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"Ma" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/main) +"Mg" = ( +/obj/machinery/door/airlock/public/glass, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/medical/medbay) "Mh" = ( /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) +"Ml" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) +"My" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/science) "ME" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"MM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "MN" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"MY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/atmos) "Nb" = ( /obj/machinery/bci_implanter, /turf/open/floor/iron/dark, @@ -2332,11 +2128,26 @@ /obj/machinery/chem_recipe_debug, /turf/open/floor/iron, /area/station/medical/chemistry) +"Ni" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/science/explab) "Ns" = ( /obj/machinery/door/airlock/public/glass, /obj/structure/cable, /turf/open/floor/iron, /area/station/medical/medbay) +"Nu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"NG" = ( +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/storage) "NZ" = ( /obj/machinery/rnd/production/protolathe/department, /turf/open/floor/iron, @@ -2362,15 +2173,58 @@ /obj/item/stock_parts/power_store/cell/bluespace, /turf/open/floor/iron/dark, /area/station/science/explab) +"OF" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) +"OI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) +"OO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/science/explab) +"OS" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/unlocked, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "OU" = ( /obj/item/disk/tech_disk/debug, /turf/open/floor/iron, /area/station/science) +"Pc" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L13" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "Pk" = ( /obj/machinery/airalarm/directional/north, /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/iron/dark, /area/station/science/explab) +"Pr" = ( +/obj/machinery/atmospherics/components/unary/airlock_pump{ + dir = 8 + }, +/obj/machinery/light/small/red/dim/directional/east, +/turf/open/floor/iron/dark, +/area/station/medical/medbay) +"Pv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/meter/layer2, +/turf/open/floor/plating, +/area/station/engineering/atmos) "Px" = ( /obj/structure/table, /obj/machinery/reagentgrinder, @@ -2383,19 +2237,11 @@ /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/iron, /area/station/security/brig) -"Qi" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"Qt" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +"PK" = ( +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/machinery/door/airlock/external/glass/ruin, -/turf/open/floor/plating, +/turf/open/floor/iron/white/corner, /area/station/medical/medbay) "Qu" = ( /obj/docking_port/stationary/mining_home{ @@ -2403,6 +2249,35 @@ }, /turf/open/floor/engine, /area/station/cargo/miningoffice) +"QM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/science) +"QP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/east{ + id = "cargoload"; + name = "Loading Doors"; + pixel_y = -9 + }, +/obj/machinery/button/door/directional/east{ + id = "cargounload"; + name = "Unloading Doors"; + pixel_y = 8 + }, +/obj/machinery/computer/cargo{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) +"QV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "QY" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -2421,6 +2296,41 @@ /obj/machinery/byteforge, /turf/open/floor/circuit/green, /area/station/cargo/bitrunning/den) +"Ru" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"Rx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/closet/radiation, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) +"RD" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/table, +/obj/item/debug/omnitool{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/debug/omnitool/item_spawner{ + pixel_x = 4; + pixel_y = -6 + }, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/medical/medbay) +"RE" = ( +/obj/machinery/door/airlock/external/glass/ruin, +/obj/effect/turf_decal/stripes/full, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/storage) "RM" = ( /obj/structure/closet/secure_closet/hop{ locked = 0 @@ -2449,6 +2359,14 @@ /obj/item/bitrunning_debug, /turf/open/floor/iron, /area/station/cargo/bitrunning/den) +"SU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/security/brig) +"SX" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "Td" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/stripes/line{ @@ -2460,28 +2378,50 @@ /obj/machinery/door/poddoor, /turf/open/floor/engine, /area/station/hallway/secondary/entry) +"Ts" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Gravity Generator" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) "Tt" = ( /turf/open/floor/plating, /area/station/maintenance/aft) +"TJ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/engineering/atmos) "TR" = ( -/obj/machinery/netpod, -/turf/open/floor/iron, -/area/station/cargo/bitrunning/den) -"TV" = ( -/obj/machinery/door/airlock, -/obj/structure/cable, +/obj/machinery/netpod, /turf/open/floor/iron, -/area/station/construction) +/area/station/cargo/bitrunning/den) +"TT" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/components/unary/passive_vent/layer2{ + dir = 8 + }, +/turf/open/space, +/area/space/nearstation) "Ue" = ( /turf/closed/wall/r_wall, /area/station/cargo/bitrunning/den) -"Ut" = ( -/obj/structure/closet/secure_closet/medical3{ - locked = 0 - }, -/obj/item/healthanalyzer/advanced, +"Un" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/medical/medbay) +"Uy" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "Va" = ( /obj/machinery/power/smes/full, /obj/effect/turf_decal/stripes/line{ @@ -2497,23 +2437,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"Vr" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/explab) "Vy" = ( /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"VA" = ( -/obj/structure/fans/tiny, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/main) "We" = ( /obj/machinery/newscaster/directional/west, /turf/open/floor/iron, @@ -2522,32 +2449,20 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"Wq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"Wx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) "WK" = ( /obj/structure/money_bot, /turf/open/floor/iron/dark, /area/station/science/explab) -"WT" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external/glass/ruin, +"WL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/medical/medbay) +"WR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/main) +/turf/open/floor/iron, +/area/station/security/brig) "Xg" = ( /obj/machinery/light/directional/east, /obj/machinery/vending/syndichem{ @@ -2563,10 +2478,44 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"Xy" = ( +/obj/machinery/door/airlock, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/hallway/primary/central) +"XA" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/warning/vacuum/external/directional/east, +/turf/open/floor/iron/white/corner, +/area/station/medical/medbay) "XC" = ( /obj/structure/cable, /turf/open/floor/iron, /area/station/science) +"XF" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "cargoload" + }, +/obj/structure/sign/warning/vacuum/directional/east, +/turf/open/floor/iron, +/area/station/cargo/storage) +"XG" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"XK" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "XN" = ( /obj/structure/table, /obj/item/organ/internal/cyberimp/bci{ @@ -2580,12 +2529,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/explab) -"XR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/engineering/atmos) "XU" = ( /obj/machinery/atmospherics/components/tank/air, /obj/machinery/light/directional/north, @@ -2609,6 +2552,11 @@ }, /turf/open/floor/iron/dark, /area/station/science/explab) +"Yt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/machinery/meter, +/turf/open/floor/plating, +/area/station/engineering/atmos) "Yy" = ( /obj/machinery/light/directional/north, /obj/machinery/rnd/production/circuit_imprinter/department, @@ -2616,6 +2564,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science) +"Yz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/medical/medbay) "YL" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -2628,6 +2581,28 @@ /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"Zl" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/engineering/main) +"Zo" = ( +/obj/structure/table, +/obj/item/gun/magic/wand/resurrection/debug, +/obj/item/gun/magic/wand/death/debug{ + pixel_y = 10 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/item/debug/human_spawner{ + pixel_x = 6; + pixel_y = -4 + }, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/medical/medbay) "Zz" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/effect/turf_decal/stripes/line, @@ -2636,6 +2611,12 @@ /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/iron, /area/station/commons/storage/primary) +"ZB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "ZD" = ( /obj/machinery/suit_storage_unit/ce, /turf/open/floor/iron, @@ -3410,7 +3391,7 @@ aa Ue LS Yd -hv +fL TR Ue aa @@ -3502,7 +3483,7 @@ aa Ue IF Aj -vb +uL SC Ue aa @@ -3594,7 +3575,7 @@ em Ue Ue Ue -nI +wp QY Ue Tj @@ -3686,7 +3667,7 @@ rK rK vy em -aB +jL eh LW lc @@ -3778,7 +3759,7 @@ qQ qQ ME em -aB +jL eh LW lc @@ -3870,7 +3851,7 @@ qQ qQ ME em -aB +jL eh LW lc @@ -3962,7 +3943,7 @@ qQ qQ CQ em -mi +OF eh LW lc @@ -4054,7 +4035,7 @@ qQ qQ ME em -aB +jL eh LW lc @@ -4146,7 +4127,7 @@ qQ qQ YL em -aB +jL eh LW lc @@ -4235,11 +4216,11 @@ II Td II II -gl -gD -kj -aB -wM +Uy +Cg +wD +jL +jL LW lc lc @@ -4327,11 +4308,11 @@ em em em EM -gm -go -gp -eL -gr +yi +yi +em +eh +ax LW lc lc @@ -4423,7 +4404,7 @@ dY dY dY eh -gu +ax LW lc lc @@ -4515,7 +4496,7 @@ od dj ed eh -gu +ax LW lc lc @@ -4607,7 +4588,7 @@ fi dP ex eh -gu +ax LW lc lc @@ -4699,7 +4680,7 @@ Re dV dY ej -gu +ax LW lc lc @@ -4791,7 +4772,7 @@ dY dY dY eh -gu +ax LW lc lc @@ -4883,7 +4864,7 @@ aa aa dY gE -gu +ax LW lc lc @@ -4974,8 +4955,8 @@ aa aa aa dY -gq -ei +SX +ax LW lc lc @@ -4986,7 +4967,7 @@ lc lc wB eh -gw +GN dY aa aa @@ -4994,7 +4975,7 @@ aa aa aa dY -gB +ru eh en aa @@ -5067,7 +5048,7 @@ aa aa dY eh -gu +ax LW lc lc @@ -5078,7 +5059,7 @@ lc lc wB eh -ek +BM en aa aa @@ -5086,7 +5067,7 @@ aa aa aa en -ek +BM eh dY aa @@ -5159,7 +5140,7 @@ aa aa dY eh -gu +ax LW lc lc @@ -5170,7 +5151,7 @@ lc lc wB eh -ek +BM en aa aa @@ -5178,7 +5159,7 @@ aa aa aa en -ek +BM eh en aa @@ -5251,7 +5232,7 @@ aa aa dY ej -gu +ax LW lc lc @@ -5262,7 +5243,7 @@ lc lc wB eh -ek +BM en aa aa @@ -5270,7 +5251,7 @@ aa aa aa en -ek +BM eh dY aa @@ -5343,7 +5324,7 @@ aa aa dY eh -gu +ax LW lc lc @@ -5354,7 +5335,7 @@ lc lc wB eh -gx +Ml dY aa aa @@ -5362,7 +5343,7 @@ aa aa aa dY -gC +OI eh dY aa @@ -5435,7 +5416,7 @@ aa aa dY eh -gu +ax LW lc lc @@ -5446,7 +5427,7 @@ lc lc wB eh -ek +BM en aa aa @@ -5454,7 +5435,7 @@ eE aa aa en -ek +BM eh dY aa @@ -5527,7 +5508,7 @@ bw ag ag eh -gu +ax LW dh en @@ -5538,7 +5519,7 @@ en dY wB eh -ek +BM dY dY fn @@ -5546,7 +5527,7 @@ fs en dY dY -ek +BM eh dY aa @@ -5619,7 +5600,7 @@ aD dR ag eh -gu +ax eh eV eh @@ -5630,7 +5611,7 @@ eh eV eh eh -ek +BM eh eV eh @@ -5638,7 +5619,7 @@ eh eh eV eh -ek +BM eh dY aa @@ -5703,34 +5684,34 @@ ag gn aD aD -bH -ci -ci -ci -ci -ci -eg -ei -gu -ei -ep -ei -ei -ei -ei -ei -ei -ei -ei -gu -ei -ei -ei -ei -ei -ei -Qi -fZ +SU +WR +WR +WR +WR +WR +GQ +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +jL +BM eh dY aa @@ -5805,7 +5786,7 @@ ag eh eh eh -gu +ax eh eh eh @@ -5821,7 +5802,7 @@ eh eh eh eh -rn +jL eh eh dY @@ -5897,7 +5878,7 @@ bA gd bA bZ -ft +Xy bZ cN cN @@ -5913,7 +5894,7 @@ cN cN cN cN -LH +os en dY dY @@ -5980,7 +5961,7 @@ ut aw hm aw -aw +hr Kx ah zS @@ -5989,7 +5970,7 @@ ca If bA kn -ES +xK bE cN Sg @@ -6005,7 +5986,7 @@ dy dm dM cN -Vr +Ni vm uQ Ov @@ -6069,22 +6050,22 @@ aa aa ah am -aw -aw -ba -jE -MY -bk -bt -bt -bt -AP -pA -kQ -ES -rL -cP -cX +EN +FC +FC +Nu +xY +Ks +My +My +My +bD +bA +XK +xK +Mh +cN +ou dn dn dn @@ -6097,7 +6078,7 @@ dn dn dL sr -nn +OO ZP ZP WK @@ -6161,22 +6142,22 @@ aa aa ah dS -aw +GC aN bb -bl +Ru zo ah Yy bD -XC -gY -jb -ES -bE -Mh -TV -EA +QM +QM +rh +ZB +QV +FA +Hb +Es dn dn dn @@ -6253,19 +6234,19 @@ aa aa ah am -aw +bm aO bc -bm +Ru ZD ah bF OU -XC +wc Ct gd -cA bE +QV bE ef cY @@ -6345,10 +6326,10 @@ aa aa ah XU -bl -aP -aP -XR +Yt +FE +FE +Pv Xp ah NZ @@ -6356,8 +6337,8 @@ bD XC co bA -JS -bE +OS +QV bE cN dW @@ -6436,11 +6417,11 @@ aa aa aa ah -Wh -ah ah Wh -ah +Wh +Wh +TJ ah ah bu @@ -6448,8 +6429,8 @@ bu cd bu bu -cB -bE +Ef +QV bE cN cY @@ -6532,7 +6513,7 @@ ab ab ab ab -ab +TT ab ab bu @@ -6540,9 +6521,9 @@ Fd ce cp bu -cC -lX -bE +Hc +QV +hp cN cY dn @@ -6632,8 +6613,8 @@ bI cf EI bv -dU -bE +Hc +QV bE cN cY @@ -6724,8 +6705,8 @@ BG cf BD bu -dU -bE +Hc +QV bE cN cY @@ -6814,10 +6795,10 @@ ab bv bJ cf -cq -cw -Wq -bE +xD +io +lu +QV bE ef cY @@ -6908,8 +6889,8 @@ bK cf Iy bu -cD -bE +XG +QV bE ef cY @@ -6991,7 +6972,7 @@ ae ac ac aj -aC +Kg aj ac ac @@ -7000,8 +6981,8 @@ aK cf RM bv -cD -bE +XG +QV bE cN dK @@ -7083,7 +7064,7 @@ aj aj aj aj -VA +vS aj ac ac @@ -7092,8 +7073,8 @@ bM cg cr bu -wb -bE +DO +QV bE cS cS @@ -7175,7 +7156,7 @@ aj al aA aj -WT +eB aj aj aj @@ -7184,8 +7165,8 @@ bu cd bu bu -cE -bE +kS +QV bE cS Zz @@ -7267,7 +7248,7 @@ aj ap aA We -Vy +Ma aS bd bo @@ -7276,8 +7257,8 @@ hD cj ct Nc -cF -bE +qH +QV bE cS dc @@ -7358,21 +7339,21 @@ aa aj aq Vy -Vy -aE -aT -be -be -bx -CV -CV -ch -CV -cT -bN -bN -da -fK +Zl +Ma +oK +oK +oK +sT +IV +IV +Ce +Ce +qH +QV +bE +cS +qv dJ dJ dJ @@ -7451,20 +7432,20 @@ aj IH aA aH -aF -lg +aA +mk bf bp aj Px +tn Ce -JF -mE -oV -bE +GZ +qH +QV bE cS -fx +jg dq dJ dJ @@ -7475,7 +7456,7 @@ dJ dJ dJ dJ -ny +gi cS fI ga @@ -7544,19 +7525,19 @@ ad ak ak ak -aU +Ts ak ak ak bQ -Ce -Ce -cj -vP -Mh +tn +tn +tn +tQ +sN Vg cS -fy +rC dr dJ dJ @@ -7567,7 +7548,7 @@ dJ dJ dJ dJ -dO +nT cS fO fO @@ -7635,20 +7616,20 @@ ad af ak Va -aG -aV +Bp +nb bg bq ak bR cj +mb cj -cj -oV -bE +qH +QV Mh uO -fz +Hg ds dJ dJ @@ -7726,21 +7707,21 @@ aa bY af ak -at -Wx +Rx +bh bh bh br ak bS Ce -Ce +LU cj -oV -bE -bE -cV -fA +qH +QV +QV +zg +ay dt dJ dD @@ -7828,11 +7809,11 @@ Ly EX Xg cj -oV -bE +qH +QV bE cV -fC +pw du dJ dJ @@ -7920,11 +7901,11 @@ by ck by Ns -cG -cx +by +Mg by by -fD +pZ dv dJ dJ @@ -8010,13 +7991,13 @@ av by Ot cl -IB +RD cl -cH -cu +Zo +wa cJ by -fE +Pc dw dJ dJ @@ -8027,7 +8008,7 @@ dJ dJ dJ dJ -dN +kf cS fQ fO @@ -8100,20 +8081,20 @@ av Jp av by -bV -cm +DD cm cm cm cm +WL Sj by -dA +jk dJ dJ dJ dJ -dF +yl dJ dJ dJ @@ -8122,8 +8103,8 @@ dJ dJ cS fS -lH -gb +fO +AD fO gk aa @@ -8192,30 +8173,30 @@ MN MN av by -bW -cm -cm +ER cm cm cm -cL +Un +WL +LD by -dk -eH -eH -eH -eH -fH -fw -eH -eH -eH -eH -fH -fR -fW -lH -fO +DC +Bz +Bz +Bz +Bz +wl +DC +MM +MM +MM +MM +qw +pe +pr +Fy +Fy fO ga aa @@ -8284,21 +8265,21 @@ aY av av by -bX +jZ +cm cm -is -cy -Ut cm -cK +cm +WL +jz by dB dx dl dl gg -ez -dB +JV +zY dl dl dl @@ -8376,12 +8357,12 @@ ak ak ak by -by -dH -by -Qt -by -EB +er +cm +cm +cm +cm +WL DW by cS @@ -8389,9 +8370,9 @@ cS cS cS cS -fN -vv -cS +Is +Jd +tz cS cS cS @@ -8467,13 +8448,13 @@ af af af af -af -af -af -by -cz -by -cm +Lb +wk +PK +PK +CF +XA +vB es by eu @@ -8481,8 +8462,8 @@ eu qx eP fY -eZ -eu +NG +vQ fq fr eu @@ -8559,13 +8540,13 @@ ad ad ad ad -ad -ad -ad by -pI by by +Lq +yH +by +ck by by eu @@ -8573,8 +8554,8 @@ eu eu eQ eu -fa -eu +CG +vQ eu eu fo @@ -8651,25 +8632,25 @@ fg fg fg fg -fg -fg -fg -fg -fg -fg -fg -fg -et +aa +aa +ck +mC +BB +Yz +mC +mC +by ev eA eA -eA +IX eN -ev -fe -ev +Ao +QP +pL eT -fm +XF fm ev et @@ -8745,23 +8726,23 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa +ck +mC +mC +Pr +mC +mC +by et -fB -fh fh fh +et eY -eR -fh -eR +DT +et +RE fc -fh +et fh fh et @@ -8837,23 +8818,23 @@ aa aa aa aa +by +ck +ck +by +CJ +CJ +by aa aa aa -aa -aa -aa -aa -aa -aa -aa -ew +fh eC -fF -fB -fF +gH +ng +GV fl -ew +fh aa aa aa @@ -8940,11 +8921,11 @@ aa aa aa fh -eY -eS -fh -eS -fc +eC +An +ya +An +fl fh aa aa @@ -9031,13 +9012,13 @@ aa aa aa aa -aa -aa -eJ -aa -aa -aa -aa +et +eY +qg +fB +qg +fc +et aa aa aa @@ -9125,7 +9106,7 @@ aa aa aa aa -aa +eJ aa aa aa diff --git a/code/__DEFINES/atmospherics/atmos_piping.dm b/code/__DEFINES/atmospherics/atmos_piping.dm index 3870a7aed34ac..521dbd02579ec 100644 --- a/code/__DEFINES/atmospherics/atmos_piping.dm +++ b/code/__DEFINES/atmospherics/atmos_piping.dm @@ -91,6 +91,8 @@ #define PIPING_ALL_COLORS (1<<4) /// can bridge over pipenets #define PIPING_BRIDGE (1<<5) +/// intended to connect with layers 2 and 4 only +#define PIPING_DISTRO_AND_WASTE_LAYERS (1<<6) // Ventcrawling bitflags, handled in var/vent_movement ///Allows for ventcrawling to occur. All atmospheric machines have this flag on by default. Cryo is the exception diff --git a/code/datums/components/crafting/atmospheric.dm b/code/datums/components/crafting/atmospheric.dm index b2993012e82b0..6674ee1059a9f 100644 --- a/code/datums/components/crafting/atmospheric.dm +++ b/code/datums/components/crafting/atmospheric.dm @@ -359,3 +359,26 @@ /obj/item/stack/sheet/iron = 30, ) category = CAT_STRUCTURE + +/datum/crafting_recipe/airlock_pump + name = "External Airlock Pump" + tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) + result = /obj/item/pipe/directional/airlock_pump + reqs = list( + /obj/item/pipe = 1, + /obj/item/stack/sheet/iron = 5, + /obj/item/stack/cable_coil = 5, + /obj/item/analyzer = 1, + ) + time = 2 SECONDS + category = CAT_ATMOSPHERIC + +/datum/crafting_recipe/airlock_pump/check_requirements(mob/user, list/collected_requirements) + return atmos_pipe_check(user, collected_requirements) + +/datum/crafting_recipe/airlock_pump/on_craft_completion(mob/user, atom/result) + var/obj/item/pipe/crafted_pipe = result + crafted_pipe.pipe_type = /obj/machinery/atmospherics/components/unary/airlock_pump + crafted_pipe.pipe_color = COLOR_VERY_LIGHT_GRAY + crafted_pipe.setDir(user.dir) + crafted_pipe.update() diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 33465809f4270..d64e63369554c 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -139,6 +139,9 @@ /// Used for papers and photos pinned to the airlock var/note_overlay_file = 'icons/obj/doors/airlocks/station/overlays.dmi' + /// Airlock pump that overrides airlock controlls when set up for cycling + var/obj/machinery/atmospherics/components/unary/airlock_pump/cycle_pump + var/cyclelinkeddir = 0 var/obj/machinery/door/airlock/cyclelinkedairlock var/shuttledocked = 0 @@ -1222,6 +1225,10 @@ INVOKE_ASYNC(src, density ? PROC_REF(open) : PROC_REF(close), BYPASS_DOOR_CHECKS) /obj/machinery/door/airlock/open(forced = DEFAULT_DOOR_CHECKS) + if(cycle_pump && !operating && !welded && !seal && locked && density) + cycle_pump.airlock_act(src) + return FALSE // The rest will be handled by the pump + if( operating || welded || locked || seal ) return FALSE @@ -1822,6 +1829,17 @@ /obj/structure/fluff/airlock_filler/singularity_pull(S, current_size) return +/obj/machinery/door/airlock/proc/set_cycle_pump(obj/machinery/atmospherics/components/unary/airlock_pump/pump) + RegisterSignal(pump, COMSIG_QDELETING, PROC_REF(unset_cycle_pump)) + cycle_pump = pump + +/obj/machinery/door/airlock/proc/unset_cycle_pump() + SIGNAL_HANDLER + if(locked) + unbolt() + say("Link broken, unbolting.") + cycle_pump = null + // Station Airlocks Regular /obj/machinery/door/airlock/command diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 929383b178c62..80289a201be98 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -53,6 +53,9 @@ Buildable meters /obj/item/pipe/directional/he_exchanger icon_state_preview = "heunary" pipe_type = /obj/machinery/atmospherics/components/unary/heat_exchanger +/obj/item/pipe/directional/airlock_pump + icon_state_preview = "airlock_pump" + pipe_type = /obj/machinery/atmospherics/components/unary/airlock_pump /obj/item/pipe/binary RPD_type = PIPE_STRAIGHT /obj/item/pipe/binary/layer_adapter diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index 29ea43905b8b7..8674e6331e4ac 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -327,7 +327,10 @@ return FALSE //if the target is not in the same piping layer & it does not have the all layer connection flag[which allows it to be connected regardless of layer] then we are out - if(target.piping_layer != given_layer && !(target.pipe_flags & PIPING_ALL_LAYER)) + if(target.pipe_flags & PIPING_DISTRO_AND_WASTE_LAYERS) + if(ISODD(given_layer)) + return FALSE + else if(target.piping_layer != given_layer && !(target.pipe_flags & PIPING_ALL_LAYER)) return FALSE //if the target does not have the same color and it does not have all color connection flag[which allows it to be connected regardless of color] & one of the pipes is not gray[allowing for connection regardless] then we are out diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm index cd4e00b3f33a6..ded9110bdfd74 100644 --- a/code/modules/atmospherics/machinery/components/components_base.dm +++ b/code/modules/atmospherics/machinery/components/components_base.dm @@ -66,6 +66,8 @@ if(!showpipe) return ..() + if(pipe_flags & PIPING_DISTRO_AND_WASTE_LAYERS) + return ..() var/connected = 0 //Direction bitset diff --git a/code/modules/atmospherics/machinery/components/unary_devices/airlock_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/airlock_pump.dm new file mode 100644 index 0000000000000..804f868e9c189 --- /dev/null +++ b/code/modules/atmospherics/machinery/components/unary_devices/airlock_pump.dm @@ -0,0 +1,455 @@ +/** + * The pump looks up for the airlocks automatically based on airlock_pump_distance_limit and airlock_group_distance_limit values. + * When placed, the dir value (direction where the pipes are coming from) is considered as a direction towards the station (internal). The opposite direction is external. + * The airlock then tries to find airlocks or walls towards these directions until airlock_pump_distance_limit number of tiles reached. + * When it finds a valid object, then it tries to find airlocks, in directions perpendicular to the found tiles. + * And then adds them to the corresponding group (external/internal) until airlock_group_distance_limit number of tiles reached + * + * Example scheme of a valid configuration: + * A-----W + * A-----A + * W--P--A + * W-----W + * A-----W + * + * Where: + * A - airlocks + * W - walls + * P - pump + */ +/// A vent, scrubber and a sensor in a single device meant specifically for cycling airlocks. Ideal for airlocks of up to 3x3 tiles in size to avoid wind and timing out. +/obj/machinery/atmospherics/components/unary/airlock_pump + name = "external airlock pump" + desc = "A pump for cycling an external airlock controlled by the connected doors." + icon = 'icons/obj/machines/atmospherics/unary_devices.dmi' + icon_state = "airlock_pump" + pipe_state = "airlock_pump" + use_power = ACTIVE_POWER_USE + active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION + can_unwrench = TRUE + welded = FALSE + vent_movement = VENTCRAWL_ALLOWED | VENTCRAWL_CAN_SEE | VENTCRAWL_ENTRANCE_ALLOWED + max_integrity = 100 + paintable = FALSE + pipe_flags = PIPING_ONE_PER_TURF | PIPING_DISTRO_AND_WASTE_LAYERS | PIPING_DEFAULT_LAYER_ONLY | PIPING_ALL_COLORS + layer = GAS_PUMP_LAYER + hide = TRUE + device_type = BINARY // Even though it is unary, it has two nodes on one side - used in node count checks + + ///Indicates that the direction of the pump, if ATMOS_DIRECTION_SIPHONING is siphoning, if ATMOS_DIRECTION_RELEASING is releasing + var/pump_direction = ATMOS_DIRECTION_SIPHONING + ///Target pressure for pressurization cycle + var/internal_pressure_target = ONE_ATMOSPHERE + ///Target pressure for depressurization cycle + var/external_pressure_target = 0 + ///Target pressure for the current cycle + var/cycle_pressure_target + ///Allowed error in pressure checks + var/allowed_pressure_error = ONE_ATMOSPHERE / 100 + ///Minimal distro pressure to start cycling + var/min_distro_pressure = ONE_ATMOSPHERE / 10 + ///Rate of the pump to remove gases from the air + var/volume_rate = 1000 + ///The start time of the current cycle to calculate cycle duration + var/cycle_start_time + ///Max duration of cycle, after which the pump will unlock the airlocks with a warning + var/cycle_timeout = 10 SECONDS + ///List of the turfs adjacent to the pump for faster cycling and avoiding wind + var/list/turf/adjacent_turfs = list() + ///Max distance between the airlock and the pump. Used to set up cycling. + var/airlock_pump_distance_limit = 2 + ///Max distance between the central airlock and the side airlocks in a group + var/airlock_group_distance_limit = 2 + ///Type of airlocks required for automatic cycling setup. To avoid hacking bridge doors. Ignored for mapspawn pump. + var/valid_airlock_typepath = /obj/machinery/door/airlock/external + ///Station-facing airlocks used in cycling + var/list/obj/machinery/door/airlock/internal_airlocks + ///Space-facing airlocks used in cycling + var/list/obj/machinery/door/airlock/external_airlocks + ///Whether both airlocks are specified and cycling is available + var/cycling_set_up = FALSE + ///Whether the pump opens the airlocks up instead of simpy unbolting them on cycle + var/open_airlock_on_cycle = TRUE + ///Airlocks currently animating + var/airlocks_animating = FALSE + ///Whether the airlocks comment the cycling details to the chat + var/is_cycling_audible = TRUE + + COOLDOWN_DECLARE(check_turfs_cooldown) + + +/obj/machinery/atmospherics/components/unary/airlock_pump/update_icon_nopipes() + if(!on || !is_operational || !powered()) + icon_state = "vent_off" + else + icon_state = pump_direction ? "vent_out" : "vent_in" + + +/obj/machinery/atmospherics/components/unary/airlock_pump/update_overlays() + . = ..() + if(!showpipe) + return + + var/mutable_appearance/distro_pipe_appearance = get_pipe_image(icon, "pipe_exposed", dir, COLOR_BLUE, piping_layer = 4) + if(nodes[1]) + distro_pipe_appearance = get_pipe_image(icon, "pipe_intact", dir, COLOR_BLUE, piping_layer = 4) + . += distro_pipe_appearance + + var/mutable_appearance/waste_pipe_appearance = get_pipe_image(icon, "pipe_exposed", dir, COLOR_RED, piping_layer = 2) + if(nodes[2]) + waste_pipe_appearance = get_pipe_image(icon, "pipe_intact", dir, COLOR_RED, piping_layer = 2) + . += waste_pipe_appearance + + var/mutable_appearance/distro_cap_appearance = get_pipe_image(icon, "vent_cap", dir, piping_layer = 4) + . += distro_cap_appearance + + var/mutable_appearance/waste_cap_appearance = get_pipe_image(icon, "vent_cap", dir, piping_layer = 2) + . += waste_cap_appearance + + +/obj/machinery/atmospherics/components/unary/airlock_pump/atmos_init(list/node_connects) + for(var/obj/machinery/atmospherics/target in get_step(src, dir)) + if(connection_check(target, 4) && !nodes[1]) + nodes[1] = target // Distro + if(connection_check(target, 2) && !nodes[2]) + nodes[2] = target // Waste + update_appearance() + + +/obj/machinery/atmospherics/components/unary/airlock_pump/Initialize(mapload) + . = ..() + if(mapload) + can_unwrench = FALSE + + +/obj/machinery/atmospherics/components/unary/airlock_pump/post_machine_initialize() + . = ..() + set_links() + + +/obj/machinery/atmospherics/components/unary/airlock_pump/New() + . = ..() + var/datum/gas_mixture/distro_air = airs[1] + var/datum/gas_mixture/waste_air = airs[2] + distro_air.volume = 1000 + waste_air.volume = 1000 + + +/obj/machinery/atmospherics/components/unary/airlock_pump/on_deconstruction(disassembled) + . = ..() + if(cycling_set_up) + break_all_links() + + +/obj/machinery/atmospherics/components/unary/airlock_pump/can_unwrench(mob/user) + . = ..() + if(!.) + to_chat(user, span_warning("You cannot unwrench [src], it is secured firmly in place!")) + return FALSE + if(. && on) + to_chat(user, span_warning("You cannot unwrench [src], wait for the cycle completion!")) + return FALSE + + +/obj/machinery/atmospherics/components/unary/airlock_pump/process_atmos() + if(!on) + return + + if(!powered()) + stop_cycle("No power. Cycle aborted.", unbolt_only = TRUE) + return //Couldn't complete the cycle due to power outage + + var/turf/location = get_turf(loc) + if(isclosedturf(location)) + return + + if(COOLDOWN_FINISHED(src, check_turfs_cooldown)) + check_turfs() + COOLDOWN_START(src, check_turfs_cooldown, 2 SECONDS) + + if(world.time - cycle_start_time > cycle_timeout) + stop_cycle("Cycling timed out, bolts unlocked.", unbolt_only = TRUE) + return //Couldn't complete the cycle before timeout + + var/datum/gas_mixture/distro_air = airs[1] + var/datum/gas_mixture/tile_air = loc.return_air() + var/tile_air_pressure = tile_air.return_pressure() + + if(pump_direction == ATMOS_DIRECTION_RELEASING) //distro node -> tile + var/pressure_delta = cycle_pressure_target - tile_air_pressure + if(pressure_delta <= allowed_pressure_error && stop_cycle("Pressurization complete.")) + return //Internal target pressure reached + + var/available_moles = distro_air.total_moles() + var/total_tiles = adjacent_turfs.len + 1 + var/split_moles = QUANTIZE(available_moles / total_tiles) + + fill_tile(loc, split_moles, pressure_delta) + for(var/turf/tile as anything in adjacent_turfs) + fill_tile(tile, split_moles, pressure_delta) + else //tile -> waste node + var/pressure_delta = tile_air_pressure - cycle_pressure_target + if(pressure_delta <= allowed_pressure_error && stop_cycle("Decompression complete.")) + return //External target pressure reached + + siphon_tile(loc) + for(var/turf/tile as anything in adjacent_turfs) + siphon_tile(tile) + + +/// Fill a tile with air from the distro node +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/fill_tile(turf/tile, moles, pressure_delta) + var/datum/pipeline/distro_pipe = parents[1] + var/datum/gas_mixture/distro_air = airs[1] + var/datum/gas_mixture/tile_air = tile.return_air() + var/transfer_moles = (volume_rate / tile_air.volume) * (pressure_delta * tile_air.volume) / (distro_air.temperature * R_IDEAL_GAS_EQUATION) + moles = min(moles, transfer_moles) + + var/datum/gas_mixture/removed_air = distro_air.remove(moles) + + if(!removed_air) + return //No air in distro + + tile.assume_air(removed_air) + distro_pipe.update = TRUE + + +/// Siphon air from the tile to the waste node within the volume rate limit +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/siphon_tile(turf/tile) + var/datum/pipeline/waste_pipe = parents[2] + var/datum/gas_mixture/waste_air = airs[2] + var/datum/gas_mixture/tile_air = tile.return_air() + + var/transfer_moles = tile_air.total_moles() * (volume_rate / tile_air.volume) + var/datum/gas_mixture/removed_air = tile.remove_air(transfer_moles) + + if(!removed_air) + return //No air on the tile + + waste_air.merge(removed_air) + waste_pipe.update = TRUE + + +/// Proc for triggering cycle by clicking on a bolted airlock that has a pump assigned +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/airlock_act(obj/machinery/door/airlock/airlock) + if(on) + airlock.run_animation(DOOR_DENY_ANIMATION) // Already cycling + return + if(!cycling_set_up) + airlock.say("Airlock pair not found.") + return + if(airlock in external_airlocks) + start_cycle(ATMOS_DIRECTION_SIPHONING, airlock) + else if(airlock in internal_airlocks) + start_cycle(ATMOS_DIRECTION_RELEASING, airlock) + + +///Start decompression or pressurization cycle depending on the passed direction +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/start_cycle(cycle_direction, obj/machinery/door/airlock/source_airlock = null) + if(on || !cycling_set_up || airlocks_animating || !powered()) + return FALSE + + pump_direction = cycle_direction + + for(var/obj/machinery/door/airlock/airlock as anything in (internal_airlocks + external_airlocks)) + INVOKE_ASYNC(airlock, TYPE_PROC_REF(/obj/machinery/door/airlock, secure_close)) + + airlocks_animating = TRUE + stoplag(1 SECONDS) // Wait for closing animation + airlocks_animating = FALSE + + on = TRUE + cycle_start_time = world.time + + var/turf/local_turf = get_turf(src) + var/tile_air_pressure = max(0, local_turf.return_air().return_pressure()) + + if(pump_direction == ATMOS_DIRECTION_RELEASING) + cycle_pressure_target = internal_pressure_target + var/pressure_delta = cycle_pressure_target - tile_air_pressure + if(pressure_delta <= allowed_pressure_error) + stop_cycle("Pressure nominal, cycle skipped.") + return TRUE + + var/datum/gas_mixture/distro_air = airs[1] + if(distro_air.return_pressure() < min_distro_pressure) + stop_cycle("Low pipe pressure, cycle skipped. Proceed with caution.", unbolt_only = TRUE) + return TRUE + + if(!source_airlock) + source_airlock = internal_airlocks[1] + if(is_cycling_audible) + source_airlock.say("Pressurizing airlock.") + else + cycle_pressure_target = external_pressure_target + var/pressure_delta = tile_air_pressure - cycle_pressure_target + if(pressure_delta <= allowed_pressure_error) + stop_cycle("Pressure nominal, cycle skipped.") + return TRUE + + for(var/obj/machinery/door/airlock/airlock as anything in external_airlocks) + if(airlock.shuttledocked) + stop_cycle("Shuttle docked, cycle skipped.") + return TRUE + + if(!source_airlock) + source_airlock = external_airlocks[1] + if(is_cycling_audible) + source_airlock.say("Decompressing airlock.") + + update_appearance() + return TRUE + + +///Complete/Abort cycle with the passed message +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/stop_cycle(message = null, unbolt_only = FALSE) + if(!on) + return FALSE + on = FALSE + + var/list/obj/machinery/door/airlock/unlocked_airlocks = pump_direction == ATMOS_DIRECTION_RELEASING ? internal_airlocks : external_airlocks + for(var/obj/machinery/door/airlock/airlock as anything in unlocked_airlocks) + airlock.unbolt() + if(open_airlock_on_cycle && !unbolt_only) + INVOKE_ASYNC(airlock, TYPE_PROC_REF(/obj/machinery/door/airlock, secure_open)) //Can unbolt, but without audio + + airlocks_animating = TRUE + stoplag(1 SECONDS) // Wait for opening animation + airlocks_animating = FALSE + + if(message && is_cycling_audible) + unlocked_airlocks[1].say(message) + + update_appearance() + return TRUE + + +///Update adjacent_turfs with atmospherically adjacent tiles +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/check_turfs() + adjacent_turfs.Cut() + var/turf/local_turf = get_turf(src) + adjacent_turfs = local_turf.get_atmos_adjacent_turfs(alldir = TRUE) + + +///Find airlocks and link up with them +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/set_links() + var/perpendicular_dirs = NSCOMPONENT(dir) ? WEST|EAST : NORTH|SOUTH + var/turf/internal_airlocks_origin = find_density(get_turf(src), dir) + var/turf/external_airlocks_origin = find_density(get_turf(src), REVERSE_DIR(dir)) + internal_airlocks = get_adjacent_airlocks(internal_airlocks_origin, perpendicular_dirs) + external_airlocks = get_adjacent_airlocks(external_airlocks_origin, perpendicular_dirs) + + if(!internal_airlocks.len || !internal_airlocks.len) + if(!can_unwrench) //maploaded pump + CRASH("[type] couldn't find airlocks to cycle with!") + internal_airlocks = list() + external_airlocks = list() + say("Cycling setup failed. No opposite airlocks found.") + return + + for(var/obj/machinery/door/airlock/airlock as anything in (internal_airlocks + external_airlocks)) + airlock.set_cycle_pump(src) + RegisterSignal(airlock, COMSIG_QDELETING, PROC_REF(unlink_airlock)) + if (airlock in external_airlocks) + INVOKE_ASYNC(airlock, TYPE_PROC_REF(/obj/machinery/door/airlock, secure_close)) + else if(open_airlock_on_cycle) + INVOKE_ASYNC(airlock, TYPE_PROC_REF(/obj/machinery/door/airlock, secure_open)) + + cycle_timeout *= round((internal_airlocks.len + external_airlocks.len) / 2) + cycling_set_up = TRUE + if(can_unwrench) + say("Cycling setup complete.") + + +///Get the turf of the first found airlock or an airtight structure (walls) within the allowed range +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/find_density(turf/origin, direction, max_distance = airlock_pump_distance_limit) + var/turf/next_turf = origin + var/limit = max(1, max_distance) + while(limit) + limit-- + next_turf = get_step(next_turf, direction) + var/obj/machinery/door/airlock/found_airlock = locate() in next_turf + if(is_valid_airlock(found_airlock)) + return found_airlock.loc + if(!next_turf.can_atmos_pass) + return next_turf + + +///Find airlocks adjacent to the central one, lined up along the provided directions +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/get_adjacent_airlocks(origin_turf, directions) + var/list/airlocks = list() + + var/obj/machinery/door/airlock/origin_airlock = locate() in origin_turf + if(is_valid_airlock(origin_airlock)) + airlocks.Add(origin_airlock) + + for(var/direction in GLOB.cardinals) + if(!(direction & directions)) + continue + var/turf/next_turf = origin_turf + var/limit = max(0, airlock_group_distance_limit) + while(limit) + limit-- + next_turf = get_step(next_turf, direction) + var/obj/machinery/door/airlock/found_airlock = locate() in next_turf + if (is_valid_airlock(found_airlock)) + airlocks.Add(found_airlock) + else + limit = 0 + + return airlocks + + +///Whether the passed airlock can be linked with +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/is_valid_airlock(obj/machinery/door/airlock/airlock) + if(!airlock) + return FALSE + if(airlock.cycle_pump) + return FALSE // Already linked + if(can_unwrench && !istype(airlock, valid_airlock_typepath)) + return FALSE // Invalid airlock type and the pump is not mapspawn + return TRUE + + +///Find airlocks and link up with them +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/unlink_airlock(airlock) + UnregisterSignal(airlock, COMSIG_QDELETING) + + if(airlock in internal_airlocks) + internal_airlocks.Remove(airlock) + if(airlock in external_airlocks) + external_airlocks.Remove(airlock) + + if(!internal_airlocks.len || !external_airlocks.len) + break_all_links() + + +///Break the cycling setup +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/break_all_links() + for(var/obj/machinery/door/airlock/airlock as anything in (internal_airlocks + external_airlocks)) + UnregisterSignal(airlock, COMSIG_QDELETING) + + external_airlocks = list() + internal_airlocks = list() + cycle_timeout = initial(cycle_timeout) + cycling_set_up = FALSE + + +/obj/machinery/atmospherics/components/unary/airlock_pump/relaymove(mob/living/user, direction) + if(initialize_directions & direction) + return ..() + if((NORTH|EAST) & direction) + user.ventcrawl_layer = clamp(user.ventcrawl_layer + 2, PIPING_LAYER_DEFAULT - 1, PIPING_LAYER_DEFAULT + 1) + if((SOUTH|WEST) & direction) + user.ventcrawl_layer = clamp(user.ventcrawl_layer - 2, PIPING_LAYER_DEFAULT - 1, PIPING_LAYER_DEFAULT + 1) + to_chat(user, "You align yourself with the [user.ventcrawl_layer == 2 ? 1 : 2]\th output.") + +/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only + open_airlock_on_cycle = FALSE + +/obj/machinery/atmospherics/components/unary/airlock_pump/silent + is_cycling_audible = FALSE + +/obj/machinery/atmospherics/components/unary/airlock_pump/lavaland + external_pressure_target = LAVALAND_EQUIPMENT_EFFECT_PRESSURE + diff --git a/code/modules/atmospherics/machinery/pipes/layermanifold.dm b/code/modules/atmospherics/machinery/pipes/layermanifold.dm index df919cbeccb1c..fde47b1baf0ee 100644 --- a/code/modules/atmospherics/machinery/pipes/layermanifold.dm +++ b/code/modules/atmospherics/machinery/pipes/layermanifold.dm @@ -65,6 +65,10 @@ for(var/i in PIPING_LAYER_MIN to PIPING_LAYER_MAX) . += get_attached_image(get_dir(src, machine_check), i, COLOR_VERY_LIGHT_GRAY) return + if(istype(machine_check, /obj/machinery/atmospherics/components/unary/airlock_pump)) + . += get_attached_image(get_dir(src, machine_check), 4, COLOR_BLUE) + //. += get_attached_image(get_dir(src, machine_check), 2, COLOR_RED) // Only the distro node is added currently to the pipenet, it doesn't merge the pipenet with the waste node + return . += get_attached_image(get_dir(src, machine_check), machine_check.piping_layer, machine_check.pipe_color) /obj/machinery/atmospherics/pipe/layer_manifold/proc/get_attached_image(p_dir, p_layer, p_color) diff --git a/icons/obj/machines/atmospherics/unary_devices.dmi b/icons/obj/machines/atmospherics/unary_devices.dmi index 47acf3c29c9c4..73da54768b1cb 100644 Binary files a/icons/obj/machines/atmospherics/unary_devices.dmi and b/icons/obj/machines/atmospherics/unary_devices.dmi differ diff --git a/icons/obj/pipes_n_cables/pipe_item.dmi b/icons/obj/pipes_n_cables/pipe_item.dmi index 54dac81793975..ea2f9f71eb58d 100644 Binary files a/icons/obj/pipes_n_cables/pipe_item.dmi and b/icons/obj/pipes_n_cables/pipe_item.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 22b700b3eb9a2..a004eae8c3898 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3428,6 +3428,7 @@ #include "code\modules\atmospherics\machinery\components\trinary_devices\filter.dm" #include "code\modules\atmospherics\machinery\components\trinary_devices\mixer.dm" #include "code\modules\atmospherics\machinery\components\trinary_devices\trinary_devices.dm" +#include "code\modules\atmospherics\machinery\components\unary_devices\airlock_pump.dm" #include "code\modules\atmospherics\machinery\components\unary_devices\bluespace_sender.dm" #include "code\modules\atmospherics\machinery\components\unary_devices\cryo.dm" #include "code\modules\atmospherics\machinery\components\unary_devices\heat_exchanger.dm"