From f3f00340f560f9861e08d6efc88bbbc72dcbb0a2 Mon Sep 17 00:00:00 2001 From: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> Date: Tue, 27 Jun 2023 21:14:32 -0700 Subject: [PATCH] Removes per z level station relays, allows tcomms to reach across interconnected zs (#76360) The second layer of tram does not need its own relay, it is like 10 feet max above the first. Feels wrong in game, mappers tend to just sneak these off in corners, it sucks. Shouldn't need to do it. Instead, tcomms z levels will be filled based off the z stack, rather then just the layer itself. Adds a list/helper to make this more efficient/more easily duplicable Matches what people expect better, removes redundant map bits, better vibes. :cl: balance: Tcomms now works across connected (vertically) zlevels. No more hunting in maint for the relay. /:cl: --- .../map_files/IceBoxStation/IceBoxStation.dmm | 361 +++++++++--------- _maps/map_files/NorthStar/north_star.dmm | 99 +++-- _maps/map_files/tramstation/tramstation.dmm | 297 +++++++------- code/controllers/subsystem/mapping.dm | 16 +- code/game/machinery/telecomms/broadcasting.dm | 3 +- .../telecomms/machines/broadcaster.dm | 2 +- .../telecomms/machines/message_server.dm | 2 +- .../machinery/telecomms/machines/relay.dm | 4 +- .../game/objects/items/devices/radio/radio.dm | 2 +- 9 files changed, 389 insertions(+), 397 deletions(-) diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 3b830e5af0cbb57..163d2fedfb5e89a 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -2891,12 +2891,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/commons/storage/mining) -"aXF" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "aXM" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4605,6 +4599,12 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/central) +"bzf" = ( +/obj/machinery/egg_incubator, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "bzh" = ( /obj/machinery/door/airlock/maintenance{ name = "Cargo Bay Maintenance" @@ -8400,10 +8400,6 @@ /obj/effect/spawner/random/techstorage/medical_all, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"cEk" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall, -/area/station/service/hydroponics) "cEo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -11559,12 +11555,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"dDr" = ( -/obj/machinery/egg_incubator, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "dDt" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/red{ @@ -14614,6 +14604,12 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/smooth_large, /area/station/command/heads_quarters/hos) +"eDP" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/sandy_dirt, +/area/station/service/hydroponics) "eDX" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -15330,11 +15326,6 @@ "ePr" = ( /turf/open/floor/carpet/royalblue, /area/station/command/heads_quarters/hos) -"ePx" = ( -/obj/effect/turf_decal/trimline/blue/corner, -/obj/effect/turf_decal/trimline/green/filled/corner, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "ePR" = ( /obj/structure/railing, /obj/item/kirbyplants/random, @@ -18556,6 +18547,11 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/service/kitchen/diner) +"fWw" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/mob/living/basic/chicken/brown, +/turf/open/floor/sandy_dirt, +/area/station/service/hydroponics) "fWL" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -21492,9 +21488,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"gUF" = ( -/turf/open/floor/sandy_dirt, -/area/station/service/hydroponics) "gUQ" = ( /obj/structure/fence/door{ dir = 4 @@ -24451,10 +24444,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/wood, /area/station/security/prison/rec) -"hYA" = ( -/obj/machinery/telecomms/relay/preset/mining, -/turf/open/floor/circuit, -/area/mine/living_quarters) "hYC" = ( /obj/structure/closet/athletic_mixed, /obj/effect/landmark/start/hangover/closet, @@ -27593,6 +27582,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"iXD" = ( +/turf/open/floor/sandy_dirt, +/area/station/service/hydroponics) "iXH" = ( /obj/effect/turf_decal/siding/white, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -27633,12 +27625,6 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) -"iYA" = ( -/obj/machinery/telecomms/relay/preset/mining, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/floor/circuit/green, -/area/mine/mechbay) "iYG" = ( /obj/structure/cable, /obj/effect/landmark/start/hangover, @@ -28754,6 +28740,11 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) +"jsR" = ( +/obj/effect/turf_decal/trimline/blue/corner, +/obj/effect/turf_decal/trimline/green/filled/corner, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "jtl" = ( /obj/machinery/light/directional/north, /obj/machinery/meter/monitored/waste_loop, @@ -30327,35 +30318,6 @@ /obj/structure/stairs/east, /turf/open/floor/plating, /area/station/hallway/primary/central/fore) -"jSM" = ( -/obj/machinery/status_display/ai/directional/north, -/obj/structure/table/glass, -/obj/item/chicken_feed{ - pixel_y = 2; - pixel_x = -5 - }, -/obj/machinery/feed_machine{ - pixel_y = 1; - pixel_x = 9 - }, -/obj/item/storage/bag/egg, -/obj/item/storage/bag/egg, -/obj/item/storage/bag/egg, -/obj/item/storage/bag/egg, -/obj/item/storage/bag/egg, -/obj/item/chicken_scanner, -/obj/item/chicken_scanner, -/obj/item/chicken_scanner, -/obj/item/chicken_scanner, -/obj/item/chicken_scanner, -/obj/item/chicken_book, -/obj/item/chicken_book, -/obj/item/chicken_book, -/obj/item/chicken_book, -/obj/item/chicken_book, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "jSQ" = ( /obj/structure/sign/poster/official/here_for_your_safety{ pixel_x = 32 @@ -30372,12 +30334,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/central/greater) -"jTf" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/sandy_dirt, -/area/station/service/hydroponics) "jTg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/green/filled/warning{ @@ -32723,11 +32679,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/service/hydroponics) -"kDU" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/mob/living/basic/chicken, -/turf/open/floor/sandy_dirt, -/area/station/service/hydroponics) "kDW" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, @@ -33326,6 +33277,11 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"kOm" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/floor/circuit/green, +/area/mine/mechbay) "kOF" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, @@ -34430,13 +34386,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/medical/storage) -"lfR" = ( -/obj/effect/landmark/start/botanist, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/sandy_dirt, -/area/station/service/hydroponics) "lgk" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 4 @@ -36001,6 +35950,11 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"lFB" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/effect/turf_decal/trimline/green/filled/line, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "lFL" = ( /obj/effect/turf_decal/trimline/red/warning, /obj/effect/turf_decal/stripes/red/line, @@ -36618,11 +36572,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"lSc" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/mob/living/basic/chicken/brown, -/turf/open/floor/sandy_dirt, -/area/station/service/hydroponics) "lSg" = ( /obj/structure/rack, /obj/item/clothing/gloves/color/fyellow, @@ -37459,6 +37408,11 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) +"mhg" = ( +/mob/living/basic/chicken/brown, +/obj/machinery/light/directional/south, +/turf/open/floor/sandy_dirt, +/area/station/service/hydroponics) "mhq" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance, @@ -43226,6 +43180,13 @@ /obj/item/folder/yellow, /turf/open/floor/iron, /area/station/cargo/quartermaster) +"nUU" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Icemoon Exterior Garden" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/turf/open/floor/iron/textured_half, +/area/station/service/hydroponics) "nVc" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/yellow/filled/corner{ @@ -44183,10 +44144,6 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) -"olJ" = ( -/obj/machinery/chicken_grinder, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "olO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/blood/footprints, @@ -46372,15 +46329,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"oVn" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "oVw" = ( /obj/machinery/growing/soil, /turf/open/floor/grass, @@ -46596,10 +46544,6 @@ /obj/effect/spawner/random/vending/colavend, /turf/open/floor/wood, /area/station/command/meeting_room) -"oZd" = ( -/obj/structure/sign/warning, -/turf/closed/wall/ice, -/area/station/service/hydroponics) "oZn" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -47888,11 +47832,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) -"pvL" = ( -/mob/living/basic/chicken/brown, -/obj/machinery/light/directional/south, -/turf/open/floor/sandy_dirt, -/area/station/service/hydroponics) "pvU" = ( /obj/item/toy/snowball{ pixel_x = 6; @@ -49447,6 +49386,10 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/freezer, /area/mine/laborcamp) +"pSj" = ( +/obj/machinery/chicken_grinder, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "pSn" = ( /obj/machinery/seed_extractor, /obj/structure/window/reinforced/spawner/directional/west, @@ -50124,6 +50067,11 @@ /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) +"qgy" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/mob/living/basic/chicken, +/turf/open/floor/sandy_dirt, +/area/station/service/hydroponics) "qgM" = ( /obj/effect/spawner/structure/window/hollow/directional{ dir = 10 @@ -52252,6 +52200,15 @@ "qQf" = ( /turf/closed/wall, /area/station/maintenance/fore/lesser) +"qQg" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "qQo" = ( /turf/closed/wall, /area/station/cargo/office) @@ -52395,6 +52352,11 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"qSD" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/nestbox, +/turf/open/floor/sandy_dirt, +/area/station/service/hydroponics) "qSE" = ( /obj/machinery/door/poddoor/preopen{ id = "misclab"; @@ -52769,14 +52731,6 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"qZb" = ( -/obj/structure/flora/bush/flowers_br/style_random, -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/sandy_dirt, -/area/station/service/hydroponics) "qZh" = ( /obj/structure/table, /obj/item/folder/white, @@ -54435,11 +54389,6 @@ "rCf" = ( /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"rCh" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/effect/turf_decal/trimline/green/filled/line, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "rCu" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/landmark/start/hangover, @@ -54893,6 +54842,35 @@ /obj/effect/landmark/navigate_destination/common/dorms, /turf/open/floor/iron, /area/station/commons/dorms) +"rKu" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/structure/table/glass, +/obj/item/chicken_feed{ + pixel_y = 2; + pixel_x = -5 + }, +/obj/machinery/feed_machine{ + pixel_y = 1; + pixel_x = 9 + }, +/obj/item/storage/bag/egg, +/obj/item/storage/bag/egg, +/obj/item/storage/bag/egg, +/obj/item/storage/bag/egg, +/obj/item/storage/bag/egg, +/obj/item/chicken_scanner, +/obj/item/chicken_scanner, +/obj/item/chicken_scanner, +/obj/item/chicken_scanner, +/obj/item/chicken_scanner, +/obj/item/chicken_book, +/obj/item/chicken_book, +/obj/item/chicken_book, +/obj/item/chicken_book, +/obj/item/chicken_book, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "rKQ" = ( /obj/structure/mineral_door/wood{ name = "Maintenance Bar" @@ -56089,6 +56067,14 @@ /obj/structure/cable, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"sfg" = ( +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/sandy_dirt, +/area/station/service/hydroponics) "sfi" = ( /obj/item/radio/intercom/directional/west, /obj/machinery/light/directional/west, @@ -58072,12 +58058,6 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) -"sLB" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/nestbox, -/obj/machinery/light/directional/south, -/turf/open/floor/sandy_dirt, -/area/station/service/hydroponics) "sLD" = ( /obj/structure/table/reinforced, /obj/item/stack/sheet/iron/fifty, @@ -60029,6 +60009,10 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) +"twL" = ( +/obj/structure/sign/warning, +/turf/closed/wall/ice, +/area/station/service/hydroponics) "twP" = ( /obj/structure/table, /obj/machinery/recharger{ @@ -60875,10 +60859,6 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) -"tJb" = ( -/mob/living/basic/chicken/brown, -/turf/open/floor/sandy_dirt, -/area/station/service/hydroponics) "tJi" = ( /obj/structure/bookcase{ name = "Holy Bookcase" @@ -61694,6 +61674,10 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"tXI" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall, +/area/station/service/hydroponics) "tXV" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/camera/directional/north{ @@ -62228,13 +62212,6 @@ /obj/machinery/requests_console/auto_name/directional/north, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"ugt" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Icemoon Exterior Garden" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/turf/open/floor/iron/textured_half, -/area/station/service/hydroponics) "ugz" = ( /obj/machinery/light/directional/south, /turf/open/floor/iron/cafeteria, @@ -66083,6 +66060,12 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/science/robotics/mechbay) +"vvS" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "vvX" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -67116,6 +67099,12 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"vLR" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/nestbox, +/obj/machinery/light/directional/south, +/turf/open/floor/sandy_dirt, +/area/station/service/hydroponics) "vLY" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -71736,6 +71725,10 @@ /obj/structure/sign/departments/medbay/alt, /turf/closed/wall, /area/station/medical/medbay/lobby) +"xjh" = ( +/mob/living/basic/chicken/brown, +/turf/open/floor/sandy_dirt, +/area/station/service/hydroponics) "xji" = ( /obj/machinery/vending/cigarette, /turf/open/floor/iron/dark, @@ -73658,11 +73651,6 @@ /obj/machinery/atmospherics/components/unary/portables_connector/visible, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"xOI" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/nestbox, -/turf/open/floor/sandy_dirt, -/area/station/service/hydroponics) "xOM" = ( /obj/structure/table, /obj/machinery/mineral/processing_unit_console, @@ -73990,6 +73978,13 @@ /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron, /area/station/tcommsat/computer) +"xUZ" = ( +/obj/effect/landmark/start/botanist, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/sandy_dirt, +/area/station/service/hydroponics) "xVf" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -95693,7 +95688,7 @@ hRD nKV kKE dsn -iYA +kOm nUi iDt scw @@ -152491,7 +152486,7 @@ nSs xuB dMu kYA -hYA +kYA lwR gjq gjq @@ -173024,7 +173019,7 @@ hmb hmb exw exw -oZd +twL szG xMq xMq @@ -173276,11 +173271,11 @@ lmm wHk hmb hmb -olJ -rCh -qZb -kDU -sLB +pSj +lFB +sfg +qgy +vLR hmb xMq xMq @@ -173533,11 +173528,11 @@ gAy bqH jtv exw -jSM -rCh -jTf -gUF -tJb +rKu +lFB +eDP +iXD +xjh hmb xMq xMq @@ -173789,12 +173784,12 @@ fKy kWR sCZ bdr -ugt +nUU sCZ -rCh -qZb -kDU -xOI +lFB +sfg +qgy +qSD hmb iDt iDt @@ -174048,11 +174043,11 @@ mow niK exw sCZ -rCh -lfR -gUF -tJb -cEk +lFB +xUZ +iXD +xjh +tXI scw fna iDt @@ -174305,10 +174300,10 @@ oBl hbT hmb sCZ -rCh -qZb -kDU -xOI +lFB +sfg +qgy +qSD exw iZm fdP @@ -174561,11 +174556,11 @@ bSU nVz iNt hmb -ePx -oVn -lfR -gUF -pvL +jsR +qQg +xUZ +iXD +mhg exw iDt kRF @@ -174818,10 +174813,10 @@ eWI dMS dMS dMS -aXF -qZb -lSc -xOI +vvS +sfg +fWw +qSD exw exw scw @@ -175075,10 +175070,10 @@ ygw jTV hEl dMS -dDr -jTf -gUF -pvL +bzf +eDP +iXD +mhg exw iDt iDt diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm index be045da91462dfb..8221b15a5c62532 100644 --- a/_maps/map_files/NorthStar/north_star.dmm +++ b/_maps/map_files/NorthStar/north_star.dmm @@ -1561,6 +1561,20 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/wood/large, /area/station/service/library/artgallery) +"atO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=4-1"; + location = "4-0" + }, +/mob/living/basic/bot/medbot/autopatrol, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/hallway/floor4/fore) "atP" = ( /obj/effect/turf_decal/trimline/green/corner, /obj/structure/sign/poster/official/random/directional/west, @@ -20563,17 +20577,6 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron, /area/station/commons/locker) -"fwM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=2-0"; - location = "2-19" - }, -/mob/living/basic/bot/medbot/autopatrol, -/turf/open/floor/iron/dark, -/area/station/hallway/floor2/aft) "fwV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21735,6 +21738,17 @@ "fMs" = ( /turf/open/floor/plating/airless, /area/station/maintenance/floor3/port/aft) +"fMy" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=2-0"; + location = "2-19" + }, +/mob/living/basic/bot/medbot/autopatrol, +/turf/open/floor/iron/dark, +/area/station/hallway/floor2/aft) "fMB" = ( /obj/effect/turf_decal/trimline/red/line{ dir = 8 @@ -22531,6 +22545,16 @@ /obj/structure/chair/comfy/black, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/floor1/fore) +"fXE" = ( +/obj/structure/table/reinforced, +/mob/living/basic/bot/medbot/stationary{ + name = "Doctor Oktoberfest"; + desc = "A little medical robot. He helps keep the individual you're performing surgery on alive" + }, +/turf/open/floor/iron/showroomfloor{ + name = "lab floor" + }, +/area/station/science/robotics/lab) "fXF" = ( /obj/structure/chair/office, /obj/effect/landmark/start/atmospheric_technician, @@ -62635,16 +62659,6 @@ }, /turf/open/floor/grass, /area/station/science/xenobiology) -"qCZ" = ( -/obj/structure/table/reinforced, -/mob/living/basic/bot/medbot/stationary{ - name = "Doctor Oktoberfest"; - desc = "A little medical robot. He helps keep the individual you're performing surgery on alive" - }, -/turf/open/floor/iron/showroomfloor{ - name = "lab floor" - }, -/area/station/science/robotics/lab) "qDa" = ( /obj/effect/turf_decal/siding/wideplating_new{ dir = 1 @@ -65167,20 +65181,6 @@ /obj/structure/cable, /turf/open/floor/carpet/red, /area/station/service/library/artgallery) -"rlC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=4-1"; - location = "4-0" - }, -/mob/living/basic/bot/medbot/autopatrol, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/hallway/floor4/fore) "rlI" = ( /turf/open/floor/iron/dark/textured, /area/station/security/checkpoint/second) @@ -65803,11 +65803,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/floor2/starboard/aft) -"rvE" = ( -/obj/machinery/telecomms/relay/preset/station, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/circuit/telecomms, -/area/station/tcommsat/server/upper) "rvZ" = ( /obj/effect/turf_decal/trimline/blue/corner{ dir = 8 @@ -85889,11 +85884,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/starboard) -"wXy" = ( -/obj/machinery/airalarm/directional/north, -/mob/living/basic/bot/cleanbot, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) "wXE" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -85959,6 +85949,11 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/commons/storage/tools) +"wYv" = ( +/obj/machinery/airalarm/directional/north, +/mob/living/basic/bot/cleanbot, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "wYB" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -194948,7 +194943,7 @@ rMY cJI cJI dbN -fwM +fMy ilA tJZ kqG @@ -198311,7 +198306,7 @@ lrA kHJ bCh fTo -qCZ +fXE aal pnc lfy @@ -207799,7 +207794,7 @@ oyh oyh tUT rlN -rvE +qRS dfd inK oOr @@ -273335,7 +273330,7 @@ ucA ucA tUT rlN -rvE +qRS kGy inK oOr @@ -307259,7 +307254,7 @@ mqi rUa hJF rEU -rlC +atO khk gfb rEU @@ -332958,7 +332953,7 @@ tOV knH rKN aFj -wXy +wYv oiP mIX rPb @@ -338871,7 +338866,7 @@ ucA ucA tUT rlN -rvE +qRS vKH inK gMd diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index b11d5dcf072bfde..963f320cbbac3a6 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -2349,6 +2349,18 @@ }, /turf/open/floor/wood/large, /area/station/service/library) +"aim" = ( +/obj/structure/industrial_lift/tram, +/obj/structure/window/reinforced/tram/directional/south, +/obj/machinery/destination_sign/south{ + pixel_y = -11 + }, +/obj/effect/landmark/start/hangover, +/obj/structure/chair/sofa/bench/tram/right{ + dir = 4 + }, +/turf/open/openspace, +/area/station/hallway/primary/tram/center) "ais" = ( /obj/machinery/computer/rdconsole{ dir = 8 @@ -2787,6 +2799,11 @@ }, /turf/closed/mineral/random/stationside/asteroid/porus, /area/ruin/powered/clownplanet) +"alm" = ( +/obj/effect/spawner/random/structure/crate_abandoned, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "alu" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/neutral/filled/line, @@ -4847,11 +4864,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"aFC" = ( -/obj/effect/spawner/random/structure/crate_abandoned, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/smooth, -/area/station/maintenance/disposal/incinerator) "aFP" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -5705,11 +5717,6 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"aMY" = ( -/obj/structure/industrial_lift/tram, -/obj/structure/window/reinforced/tram/directional/south, -/turf/open/openspace, -/area/station/hallway/primary/tram/center) "aNa" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -6495,10 +6502,6 @@ }, /turf/open/floor/iron/white, /area/station/science/lower) -"aTl" = ( -/obj/structure/cable, -/turf/closed/wall/r_wall, -/area/station/command/heads_quarters/ce) "aTt" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -6956,15 +6959,6 @@ /obj/item/kirbyplants/photosynthetic, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"bdb" = ( -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/hallway) "bdq" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced/spawner/directional/south, @@ -7317,6 +7311,12 @@ /obj/effect/landmark/navigate_destination/dockescpod, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"biA" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/hallway) "biI" = ( /obj/structure/closet/toolcloset, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -7849,6 +7849,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"bsZ" = ( +/obj/structure/industrial_lift/tram, +/obj/machinery/destination_sign/south{ + pixel_y = -11 + }, +/obj/structure/window/reinforced/tram/directional/south, +/obj/effect/landmark/start/hangover, +/obj/structure/chair/sofa/bench/tram/left{ + dir = 8 + }, +/turf/open/openspace, +/area/station/hallway/primary/tram/center) "btf" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/external{ @@ -8489,11 +8501,6 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/misc/asteroid, /area/station/security/prison/workout) -"bCh" = ( -/obj/effect/spawner/random/trash/mess, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/smooth, -/area/station/maintenance/disposal/incinerator) "bCj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/green/half/contrasted{ @@ -8525,6 +8532,15 @@ }, /turf/open/floor/iron/white, /area/station/security/execution/education) +"bCJ" = ( +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/hallway) "bCK" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -13218,6 +13234,14 @@ }, /turf/closed/wall/r_wall, /area/ruin/powered/clownplanet) +"deE" = ( +/obj/structure/industrial_lift/tram, +/obj/structure/window/reinforced/tram/directional/north, +/obj/structure/chair/sofa/bench/tram/right{ + dir = 8 + }, +/turf/open/openspace, +/area/station/hallway/primary/tram/center) "deH" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/end, @@ -13966,6 +13990,11 @@ /obj/structure/sink/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"dre" = ( +/obj/structure/industrial_lift/tram, +/obj/structure/window/reinforced/tram/directional/north, +/turf/open/openspace, +/area/station/hallway/primary/tram/center) "drh" = ( /obj/structure/table, /obj/machinery/fax{ @@ -17281,14 +17310,6 @@ /mob/living/basic/bot/cleanbot, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"esl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/item/clothing/under/rank/security/constable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/lesser) "esQ" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -18486,6 +18507,11 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"eOT" = ( +/obj/structure/industrial_lift/tram, +/obj/structure/window/reinforced/tram/directional/south, +/turf/open/openspace, +/area/station/hallway/primary/tram/center) "eOU" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/engine/o2, @@ -20979,6 +21005,11 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) +"fED" = ( +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "fEZ" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/machinery/disposal/bin, @@ -21043,6 +21074,14 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"fFI" = ( +/obj/structure/industrial_lift/tram, +/obj/structure/window/reinforced/tram/directional/south, +/obj/structure/chair/sofa/bench/tram/right{ + dir = 4 + }, +/turf/open/openspace, +/area/station/hallway/primary/tram/center) "fFL" = ( /obj/effect/turf_decal/trimline/white/filled/corner{ dir = 4 @@ -21872,6 +21911,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/tram/right) +"fUY" = ( +/obj/structure/cable, +/turf/closed/wall/r_wall, +/area/station/command/heads_quarters/ce) "fVg" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -23414,6 +23457,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"gyC" = ( +/obj/structure/industrial_lift/tram, +/obj/structure/window/reinforced/tram/directional/north, +/obj/machinery/destination_sign/north{ + pixel_y = 10 + }, +/obj/structure/chair/sofa/bench/tram/left{ + dir = 4 + }, +/turf/open/openspace, +/area/station/hallway/primary/tram/center) "gyN" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -36889,11 +36943,6 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron, /area/station/security/checkpoint/arrivals) -"kRi" = ( -/obj/machinery/telecomms/relay/preset/station, -/obj/effect/turf_decal/box, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/hallway) "kRm" = ( /obj/machinery/door/airlock/command{ name = "Captain's Quarters" @@ -37370,18 +37419,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/smooth, /area/station/hallway/primary/tram/right) -"kYp" = ( -/obj/structure/industrial_lift/tram, -/obj/structure/window/reinforced/tram/directional/south, -/obj/machinery/destination_sign/south{ - pixel_y = -11 - }, -/obj/effect/landmark/start/hangover, -/obj/structure/chair/sofa/bench/tram/right{ - dir = 4 - }, -/turf/open/openspace, -/area/station/hallway/primary/tram/center) "kYr" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/siding/thinplating, @@ -38611,6 +38648,17 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"lqB" = ( +/obj/structure/industrial_lift/tram, +/obj/machinery/destination_sign/north{ + pixel_y = 10 + }, +/obj/structure/window/reinforced/tram/directional/north, +/obj/structure/chair/sofa/bench/tram/right{ + dir = 8 + }, +/turf/open/openspace, +/area/station/hallway/primary/tram/center) "lqP" = ( /obj/structure/bodycontainer/morgue, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -45793,14 +45841,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"nKp" = ( -/obj/structure/industrial_lift/tram, -/obj/structure/window/reinforced/tram/directional/north, -/obj/structure/chair/sofa/bench/tram/right{ - dir = 8 - }, -/turf/open/openspace, -/area/station/hallway/primary/tram/center) "nKu" = ( /obj/machinery/telecomms/server/presets/common, /turf/open/floor/iron/dark/telecomms, @@ -46175,17 +46215,6 @@ }, /turf/open/floor/glass/reinforced, /area/station/ai_monitored/turret_protected/aisat/hallway) -"nQc" = ( -/obj/structure/industrial_lift/tram, -/obj/structure/window/reinforced/tram/directional/north, -/obj/machinery/destination_sign/north{ - pixel_y = 10 - }, -/obj/structure/chair/sofa/bench/tram/left{ - dir = 4 - }, -/turf/open/openspace, -/area/station/hallway/primary/tram/center) "nQo" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -47562,6 +47591,11 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, /area/station/maintenance/port/central) +"ooa" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/trimline/neutral/filled/line, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/hallway) "ook" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/tram/left) @@ -47577,17 +47611,6 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) -"oor" = ( -/obj/structure/industrial_lift/tram, -/obj/machinery/destination_sign/north{ - pixel_y = 10 - }, -/obj/structure/window/reinforced/tram/directional/north, -/obj/structure/chair/sofa/bench/tram/right{ - dir = 8 - }, -/turf/open/openspace, -/area/station/hallway/primary/tram/center) "ooz" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -48884,16 +48907,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"oNA" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/hallway) "oNE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet, @@ -56507,15 +56520,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"rgr" = ( -/obj/structure/window/reinforced/spawner/directional/west{ - pixel_y = 2 - }, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/hallway) "rgK" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -58113,14 +58117,6 @@ /obj/machinery/teleport/hub, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/foyer) -"rHK" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/window/reinforced/spawner/directional/north{ - pixel_y = 2 - }, -/obj/effect/turf_decal/trimline/neutral/filled/line, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/hallway) "rIc" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -58287,6 +58283,10 @@ /obj/structure/sign/clock/directional/north, /turf/open/floor/iron, /area/station/security/prison) +"rKw" = ( +/obj/effect/turf_decal/box, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/hallway) "rKL" = ( /obj/machinery/newscaster/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59097,14 +59097,6 @@ /obj/effect/spawner/random/engineering/tank, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/central) -"rZD" = ( -/obj/structure/industrial_lift/tram, -/obj/structure/window/reinforced/tram/directional/south, -/obj/structure/chair/sofa/bench/tram/right{ - dir = 4 - }, -/turf/open/openspace, -/area/station/hallway/primary/tram/center) "rZF" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -60214,6 +60206,12 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/engineering) +"ssg" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/hallway) "ssi" = ( /obj/effect/turf_decal/trimline/green/filled/corner, /obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ @@ -64455,6 +64453,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/atmos) +"tHY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/item/clothing/under/rank/security/constable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/lesser) "tIi" = ( /mob/living/simple_animal/bot/floorbot, /turf/open/floor/iron/dark, @@ -67556,18 +67562,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"uGM" = ( -/obj/structure/industrial_lift/tram, -/obj/machinery/destination_sign/south{ - pixel_y = -11 - }, -/obj/structure/window/reinforced/tram/directional/south, -/obj/effect/landmark/start/hangover, -/obj/structure/chair/sofa/bench/tram/left{ - dir = 8 - }, -/turf/open/openspace, -/area/station/hallway/primary/tram/center) "uGW" = ( /turf/closed/wall, /area/station/cargo/miningdock) @@ -77762,11 +77756,6 @@ }, /turf/open/floor/glass/reinforced, /area/station/science/xenobiology) -"xVH" = ( -/obj/structure/industrial_lift/tram, -/obj/structure/window/reinforced/tram/directional/north, -/turf/open/openspace, -/area/station/hallway/primary/tram/center) "xVJ" = ( /obj/machinery/door/airlock/external{ name = "Mining Dock Airlock" @@ -111742,7 +111731,7 @@ ohY roB roB sHH -aTl +fUY bUh tcO sHH @@ -118426,11 +118415,11 @@ wQP wQP wQP wQP -esl +tHY mwK llY kzq -aFC +alm qON tfv ciI @@ -118685,7 +118674,7 @@ jaB jaB jaB mCL -bCh +fED kbw kbw kbw @@ -175448,11 +175437,11 @@ pSr igc wfM khJ -nQc +gyC ujf qHk aEq -kYp +aim jJV mTM ocU @@ -176219,11 +176208,11 @@ aEl veL emr jJV -nKp +deE ffU sTn jUw -rZD +fFI jJV mTM jeW @@ -176476,11 +176465,11 @@ dRv veL nOB fld -xVH +dre xXU fBK ycE -aMY +eOT jEO aGP agj @@ -176733,11 +176722,11 @@ aEk veL cMD jJV -nKp +deE hio kpb aEq -rZD +fFI jJV syH pxC @@ -177504,11 +177493,11 @@ moU vHx jWY jJV -oor +lqB vtP qHk ndX -uGM +bsZ dYS syH fxs @@ -193024,7 +193013,7 @@ uqS uqS gFf bDj -bdb +biA gSr gFf jhd @@ -193280,9 +193269,9 @@ vOD cmo uqS oFJ -oNA -kRi -rHK +bCJ +rKw +ooa gFf bPZ rxw @@ -193538,7 +193527,7 @@ uqS uqS gFf xxD -rgr +ssg pmn gFf jhd diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 4fb02a8bb3b6938..6b806a9921f7e22 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -33,6 +33,9 @@ SUBSYSTEM_DEF(mapping) /// List of z level (as number) -> plane offset of that z level /// Used to maintain the plane cube var/list/z_level_to_plane_offset = list() + /// List of z level (as number) -> list of all z levels vertically connected to ours + /// Useful for fast grouping lookups and such + var/list/z_level_to_stack = list() /// List of z level (as number) -> The lowest plane offset in that z stack var/list/z_level_to_lowest_plane_offset = list() // This pair allows for easy conversion between an offset plane, and its true representation @@ -941,8 +944,11 @@ GLOBAL_LIST_EMPTY(the_station_areas) // We are guarenteed that we'll always grow bottom up // Suck it jannies z_level_to_plane_offset.len += 1 - z_level_to_lowest_plane_offset += 1 + z_level_to_lowest_plane_offset.len += 1 gravity_by_z_level.len += 1 + z_level_to_stack.len += 1 + // Bare minimum we have ourselves + z_level_to_stack[z_value] = list(z_value) // 0's the default value, we'll update it later if required z_level_to_plane_offset[z_value] = 0 z_level_to_lowest_plane_offset[z_value] = 0 @@ -992,6 +998,7 @@ GLOBAL_LIST_EMPTY(the_station_areas) /// Updates the lowest offset value for(var/datum/space_level/level_to_update in levels_checked) z_level_to_lowest_plane_offset[level_to_update.z_value] = plane_offset + z_level_to_stack[level_to_update.z_value] = z_stack // This can be affected by offsets, so we need to update it // PAIN @@ -1050,6 +1057,13 @@ GLOBAL_LIST_EMPTY(the_station_areas) true_to_offset_planes[string_real] |= offset_plane +/// Takes a turf or a z level, and returns a list of all the z levels that are connected to it +/datum/controller/subsystem/mapping/proc/get_connected_levels(turf/connected) + var/z_level = connected + if(isturf(z_level)) + z_level = connected.z + return z_level_to_stack[z_level] + /datum/controller/subsystem/mapping/proc/lazy_load_template(template_key, force = FALSE) RETURN_TYPE(/datum/turf_reservation) diff --git a/code/game/machinery/telecomms/broadcasting.dm b/code/game/machinery/telecomms/broadcasting.dm index 85f4418ede2d27f..8268e5e695c7d62 100644 --- a/code/game/machinery/telecomms/broadcasting.dm +++ b/code/game/machinery/telecomms/broadcasting.dm @@ -118,8 +118,7 @@ "spans" = spans, "mods" = message_mods ) - var/turf/T = get_turf(source) - levels = list(T.z) + levels = SSmapping.get_connected_levels(get_turf(source)) /datum/signal/subspace/vocal/copy() var/datum/signal/subspace/vocal/copy = new(source, frequency, virt, language) diff --git a/code/game/machinery/telecomms/machines/broadcaster.dm b/code/game/machinery/telecomms/machines/broadcaster.dm index c66e359b0a6c50a..8f0ccea7a866936 100644 --- a/code/game/machinery/telecomms/machines/broadcaster.dm +++ b/code/game/machinery/telecomms/machines/broadcaster.dm @@ -34,7 +34,7 @@ GLOBAL_VAR_INIT(message_delay, 0) // To make sure restarting the recentmessages var/turf/T = get_turf(src) if (T) - signal.levels |= T.z + signal.levels |= SSmapping.get_connected_levels(T) var/signal_message = "[signal.frequency]:[signal.data["message"]]:[signal.data["name"]]" if(signal_message in GLOB.recentmessages) diff --git a/code/game/machinery/telecomms/machines/message_server.dm b/code/game/machinery/telecomms/machines/message_server.dm index 420f43793f1496d..67593fe1c051274 100644 --- a/code/game/machinery/telecomms/machines/message_server.dm +++ b/code/game/machinery/telecomms/machines/message_server.dm @@ -177,7 +177,7 @@ GLOBAL_VAR(preset_station_message_server_key) source = init_source data = init_data var/turf/T = get_turf(source) - levels = list(T.z) + levels = SSmapping.get_connected_levels(T) if(!("reject" in data)) data["reject"] = TRUE diff --git a/code/game/machinery/telecomms/machines/relay.dm b/code/game/machinery/telecomms/machines/relay.dm index 668d30b5bb8a9d7..d3a6ac9ee908cdd 100644 --- a/code/game/machinery/telecomms/machines/relay.dm +++ b/code/game/machinery/telecomms/machines/relay.dm @@ -26,9 +26,9 @@ // Relays send signals to all ZTRAIT_STATION z-levels if(SSmapping.level_trait(relay_turf.z, ZTRAIT_STATION)) for(var/z in SSmapping.levels_by_trait(ZTRAIT_STATION)) - signal.levels |= z + signal.levels |= SSmapping.get_connected_levels(z) else - signal.levels |= relay_turf.z + signal.levels |= SSmapping.get_connected_levels(relay_turf) use_power(idle_power_usage) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 9210a6af5c3f46f..9f41365d8bb6333 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -351,7 +351,7 @@ // Okay, the signal was never processed, send a mundane broadcast. signal.data["compression"] = 0 signal.transmission_method = TRANSMISSION_RADIO - signal.levels = list(T.z) + signal.levels = SSmapping.get_connected_levels(T) signal.broadcast() /obj/item/radio/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, list/message_mods = list(), message_range)