diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 53af9cf4285..9cbc0903429 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -90,6 +90,8 @@ Things you **CAN'T** do:
* [Close PRs](https://imgur.com/w2RqpX8.png): Only maintainers are allowed to close PRs. Do not hit that button.
* Close issues purely for breaking a template if the same information is contained without it.
+For more information reference the [Issue Manager Guide](.github/guides/ISSUE_MANAGER.md).
+
## Development Guides
diff --git a/.github/guides/ISSUE_MANAGER.md b/.github/guides/ISSUE_MANAGER.md
new file mode 100644
index 00000000000..4d584c42147
--- /dev/null
+++ b/.github/guides/ISSUE_MANAGER.md
@@ -0,0 +1,49 @@
+## What is an Issue Manager
+
+Issue Managers proactively manage issues for the repo by providing feedback, performing triage, and troubleshooting problems. They search through the codebase to link relevant code, issues, and PRs that help contributors identify and solve an issue.
+
+## Triage An Issue
+
+New issues should be properly diagnosed by using several methods and tools below:
+
+#### Emergency Issues
+
+When examining new issues you should immediately notify a maintainer if you see the following:
+
+- **Security Exploit** [[1]](https://github.com/tgstation/tgstation/issues/51654) [[2]](https://github.com/tgstation/tgstation/issues/38407) [[3]](https://github.com/tgstation/tgstation/issues/9900) - Something that can be used to bypass bans, give a player admin powers, cheats or hacks
+- **Server Crashing** [[1]](https://github.com/tgstation/tgstation/issues/29342) [[2]](https://github.com/tgstation/tgstation/issues/25890) [[3]](https://github.com/tgstation/tgstation/issues/17475) - Something that is causing the server to _consistently_ crash
+- **Server Lagging** [[1]](https://github.com/tgstation/tgstation/issues/60193) [[2]](https://github.com/tgstation/tgstation/issues/51927) [[3]](https://github.com/tgstation/tgstation/issues/32762) - Something that is causing a _severe_ amount of lag during the game
+
+#### Link Code Snippets
+
+To help triangulate bugs, search the GitHub repo to locate relevant code and attach it to an issue. Do this by creating a [link to the code](https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet). This saves the contributors time from having to identify the problem and will be appreciated.
+
+#### Use Gitblame
+
+GitHub also has a tool called `gitblame` that is useful in [tracking code](https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#viewing-the-line-by-line-revision-history-for-a-file) to determine who and when someone made a change. This is ideally used to help solve old issues when there is uncertainty over which PR might have fixed it. It is also a good tool to use to link PRs that caused the issue.
+
+#### Search For Keywords
+
+When a new issue appears search for any keywords involved with the issue. This is important to prune for duplicates, match several issues to a test merge PR, or if you want to link multiple issues together since there is overlapping problems. (but not duplicate)
+
+## Closing Issues
+
+It is recommended to close issues in the following situations:
+
+- **Feature Requests** [[1]](https://github.com/tgstation/tgstation/issues/55919) [[2]](https://github.com/tgstation/tgstation/issues/53342) [[3]](https://github.com/tgstation/tgstation/issues/45412) - The issue is a suggestion or request for a new feature to be added to the game.
+- **Working as Intended** [[1]](https://github.com/tgstation/tgstation/issues/62619) [[2]](https://github.com/tgstation/tgstation/issues/61511) [[3]](https://github.com/tgstation/tgstation/issues/60942) - The issue is detailing a problem that is _specifically intended_ by the code and is not considered a bug.
+- **Duplicates** [[1]](https://github.com/tgstation/tgstation/issues/62709) [[2]](https://github.com/tgstation/tgstation/issues/62364) [[3]](https://github.com/tgstation/tgstation/issues/61823) - The issue is detailing an identical problem from another issue. Do not automatically close the most recent issue. Instead compare both and close the one that provides the least information.
+- **Removed Features** [[1]](https://github.com/tgstation/tgstation/issues/48255) [[2]](https://github.com/tgstation/tgstation/issues/47194) [[3]](https://github.com/tgstation/tgstation/issues/45653) - The issue is referring to something that was removed from the codebase and no longer exists.
+- **Defective Issues** [[1]](https://github.com/tgstation/tgstation/issues/57366) [[2]](https://github.com/tgstation/tgstation/issues/48778) [[3]](https://github.com/tgstation/tgstation/issues/51520) - The issue is badly written and lacking information. Politely ask the person to add more information or rewrite the issue. If there is no response after a sufficient amount of time close the issue.
+- **Irreproducible Issues** [[1]](https://github.com/tgstation/tgstation/issues/51493) [[2]](https://github.com/tgstation/tgstation/issues/22796) [[3]](https://github.com/tgstation/tgstation/issues/25610) - The issue is old, cannot be reproduced, and nobody has reported a duplicate issue recently. If you feel _confident_ that the issue has been fixed at some point, list your reasons or link possible PRs that could have fixed it.
+- **Impossible to Fix Issues** [[1]](https://github.com/tgstation/tgstation/issues/524) [[2]](https://github.com/tgstation/tgstation/issues/2679) [[3]](https://github.com/tgstation/tgstation/issues/9637) - The issue is not possible to fix due to either vague details or a clearly defined problem.
+
+## Reopening Issues
+
+In special cases a closed issue should be reopened if:
+
+- It has been updated with pertinent information (when before it was lacking info making it defective)
+- The initial problem has reappeared (after it was presumably fixed in a PR)
+- Someone feels that the issue was closed prematurely during discussion
+
+If there is a dispute on whether an issue should remain closed, ask for a second opinion. Get clarification from another Issue Manager or Maintainer and respect their judgement as the final verdict.
diff --git a/_maps/RandomRuins/SpaceRuins/cyborg_mothership.dmm b/_maps/RandomRuins/SpaceRuins/cyborg_mothership.dmm
index ccd2818eb32..842a6899450 100644
--- a/_maps/RandomRuins/SpaceRuins/cyborg_mothership.dmm
+++ b/_maps/RandomRuins/SpaceRuins/cyborg_mothership.dmm
@@ -7,7 +7,7 @@
/turf/open/misc/asteroid/airless,
/area/space)
"d" = (
-/obj/effect/decal/remains/human/grave,
+/obj/effect/decal/remains/human,
/turf/open/misc/asteroid/airless,
/area/space)
"e" = (
diff --git a/_maps/map_files/Birdshot/birdshot.dmm b/_maps/map_files/Birdshot/birdshot.dmm
index 95208044759..e6e877bba95 100644
--- a/_maps/map_files/Birdshot/birdshot.dmm
+++ b/_maps/map_files/Birdshot/birdshot.dmm
@@ -473,6 +473,20 @@
/obj/item/clothing/mask/gas/owl_mask,
/turf/open/floor/wood,
/area/station/maintenance/fore/greater)
+"akB" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/landmark/navigate_destination/atmos,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"akR" = (
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
dir = 1
@@ -784,10 +798,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
-"aqV" = (
-/obj/structure/chair/sofa/bench/left,
-/turf/open/floor/iron,
-/area/station/maintenance/port/aft)
"aqW" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/chair/sofa/bench/right{
@@ -1010,6 +1020,13 @@
/obj/effect/turf_decal/tile/blue/half,
/turf/open/floor/iron/white/small,
/area/station/service/hydroponics)
+"awK" = (
+/obj/structure/chair/plastic{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/disposal/incinerator)
"awL" = (
/obj/structure/chair{
dir = 4
@@ -1425,6 +1442,23 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
+"aHy" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/door/airlock/research{
+ name = "Research Division Access"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 4
+ },
+/turf/open/floor/iron/white/textured_half{
+ dir = 1
+ },
+/area/station/science/research)
"aHJ" = (
/obj/structure/window/spawner/directional/north,
/obj/machinery/hydroponics/soil,
@@ -1885,6 +1919,11 @@
/obj/structure/cable,
/turf/closed/wall/r_wall,
/area/station/maintenance/department/engine)
+"aRa" = (
+/obj/machinery/door/firedoor,
+/obj/effect/landmark/navigate_destination,
+/turf/open/floor/iron/textured_half,
+/area/station/service/cafeteria)
"aRn" = (
/obj/effect/turf_decal/siding/dark_red,
/obj/item/stack/sheet/cardboard{
@@ -2178,16 +2217,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/iron/textured_half,
/area/station/security/execution/transfer)
-"aWE" = (
-/obj/machinery/door/airlock/hatch,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/maintenance/department/engine)
"aXI" = (
/turf/closed/wall/r_wall,
/area/station/science/lobby)
@@ -2278,13 +2307,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
-"bab" = (
-/obj/machinery/door/airlock/external{
- name = "Common Mining Dock"
- },
-/obj/effect/landmark/navigate_destination,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/dock)
"bat" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -2416,6 +2438,27 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
+"bdg" = (
+/obj/effect/turf_decal/siding/thinplating_new/terracotta{
+ dir = 1
+ },
+/obj/structure/table/glass,
+/obj/effect/turf_decal/siding/yellow,
+/obj/machinery/recharger{
+ pixel_x = -7;
+ pixel_y = 3
+ },
+/obj/item/folder/yellow{
+ pixel_x = 6;
+ pixel_y = 3
+ },
+/obj/item/assembly/signaler{
+ pixel_x = 5;
+ pixel_y = 6
+ },
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/wood/tile,
+/area/station/command/bridge)
"bdJ" = (
/obj/structure/frame/machine,
/obj/item/circuitboard/machine/smes,
@@ -2886,6 +2929,17 @@
/obj/structure/reagent_dispensers/water_cooler,
/turf/open/floor/iron/grimy,
/area/station/science/cubicle)
+"bow" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/navigate_destination/dockarrival,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
+"boB" = (
+/obj/effect/turf_decal/tile/green/diagonal_centre,
+/obj/effect/landmark/navigate_destination/kitchen,
+/turf/open/floor/iron/diagonal,
+/area/station/hallway/primary/central/aft)
"boK" = (
/obj/effect/turf_decal/stripes/asteroid/end{
dir = 1
@@ -3019,6 +3073,13 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"brV" = (
+/obj/effect/turf_decal/stripes/white/line,
+/obj/structure/industrial_lift/tram,
+/obj/structure/window/reinforced/tram/directional/south,
+/obj/structure/rack,
+/turf/open/floor/noslip/tram_platform,
+/area/station/maintenance/port/aft)
"brZ" = (
/obj/machinery/door/airlock{
name = "Maintenance"
@@ -3501,14 +3562,6 @@
dir = 8
},
/area/station/maintenance/disposal/incinerator)
-"bAk" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
-/obj/structure/chair/plastic{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/smooth,
-/area/station/maintenance/disposal/incinerator)
"bAo" = (
/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
dir = 4
@@ -3871,6 +3924,19 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/engineering/main)
+"bFS" = (
+/obj/structure/disposalpipe/sorting/mail{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/mail_sorting/service/hydroponics,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/landmark/navigate_destination/hydro,
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"bFW" = (
/obj/structure/rack,
/obj/effect/spawner/random/techstorage/rnd_all,
@@ -3906,17 +3972,6 @@
},
/turf/open/floor/plating,
/area/station/hallway/secondary/construction)
-"bGs" = (
-/obj/structure/cable,
-/obj/machinery/door/airlock/maintenance{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"bGv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -4052,6 +4107,21 @@
/obj/structure/broken_flooring/singular/directional/south,
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
+"bJE" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/conveyor{
+ dir = 1;
+ id = "garbage";
+ name = "trash belt"
+ },
+/obj/machinery/recycler,
+/turf/open/floor/plating,
+/area/station/service/janitor)
"bJL" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -4326,6 +4396,16 @@
},
/turf/open/floor/iron/white,
/area/station/medical/virology)
+"bRi" = (
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 1
+ },
+/obj/structure/industrial_lift/tram/white,
+/obj/structure/window/reinforced/tram/directional/north,
+/obj/structure/chair/sofa/bench/right,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/noslip/tram_platform,
+/area/station/maintenance/port/aft)
"bRk" = (
/obj/structure/rack,
/obj/effect/spawner/random/maintenance,
@@ -4401,13 +4481,6 @@
/obj/machinery/flasher/directional/north,
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai)
-"bSW" = (
-/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/line,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
"bSX" = (
/obj/machinery/flasher/directional/east{
id = "AI";
@@ -4601,6 +4674,16 @@
/obj/machinery/airalarm/directional/south,
/turf/open/floor/iron/white/small,
/area/station/security/warden)
+"bWq" = (
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 1
+ },
+/obj/structure/industrial_lift/tram/white,
+/obj/structure/window/reinforced/tram/directional/north,
+/obj/structure/chair/sofa/bench/left,
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/noslip/tram_platform,
+/area/station/maintenance/port/aft)
"bWs" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -4619,6 +4702,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating/rust,
/area/station/maintenance/department/engine)
+"bWL" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/landmark/navigate_destination/court,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"bWQ" = (
/obj/effect/turf_decal/tile/yellow,
/obj/effect/decal/cleanable/dirt,
@@ -5143,13 +5235,6 @@
/obj/structure/cable,
/turf/closed/wall/r_wall,
/area/station/hallway/primary/aft)
-"chF" = (
-/obj/effect/turf_decal/stripes/white/line,
-/obj/structure/industrial_lift/tram,
-/obj/structure/window/reinforced/tram/mid/directional/south,
-/obj/structure/rack,
-/turf/open/floor/noslip/tram_platform,
-/area/station/maintenance/port/aft)
"chO" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -5427,14 +5512,6 @@
/obj/structure/extinguisher_cabinet/directional/north,
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"cph" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/airalarm/directional/west,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/science/lower)
"cpt" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -5680,6 +5757,18 @@
/obj/effect/spawner/random/structure/girder,
/turf/open/floor/noslip/tram_platform,
/area/station/maintenance/department/medical/central)
+"cuN" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"cuS" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt,
@@ -5840,6 +5929,11 @@
dir = 8
},
/area/station/hallway/secondary/dock)
+"czb" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible,
+/turf/open/floor/plating,
+/area/station/engineering/atmos/pumproom)
"cze" = (
/obj/machinery/turretid{
icon_state = "control_stun";
@@ -6230,6 +6324,14 @@
/obj/machinery/light/directional/east,
/turf/open/floor/plating,
/area/station/engineering/main)
+"cFf" = (
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 8
+ },
+/obj/structure/window/reinforced/tram/directional/west,
+/obj/structure/industrial_lift/tram/white,
+/turf/open/floor/noslip/tram_platform,
+/area/station/security/tram)
"cFg" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -6358,17 +6460,17 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/dark/herringbone,
/area/station/ai_monitored/command/nuke_storage)
-"cIe" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/pink/visible{
+"cId" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/remains/human/grave{
- pixel_x = 6;
- pixel_y = 6
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
},
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
+/obj/effect/landmark/navigate_destination/teleporter,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"cIs" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/yellow{
@@ -6733,20 +6835,6 @@
/obj/effect/turf_decal/siding/blue/corner,
/turf/open/floor/iron/white/small,
/area/station/medical/storage)
-"cPj" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/sorting/mail/flip{
- dir = 2
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/mapping_helpers/mail_sorting/engineering/general,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"cPD" = (
/obj/effect/turf_decal/stripes/end{
dir = 4
@@ -7336,11 +7424,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/engineering/atmos)
-"dcp" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/camera/autoname/directional/north,
-/turf/open/floor/iron/small,
-/area/station/engineering/atmos)
"dcG" = (
/obj/machinery/atmospherics/pipe/smart/manifold/pink/visible{
dir = 8
@@ -7526,6 +7609,15 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"dfL" = (
+/obj/machinery/computer/cargo/request,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/siding/brown{
+ dir = 1
+ },
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/smooth,
+/area/station/command/bridge)
"dfN" = (
/obj/structure/window/spawner/directional/west,
/obj/structure/window/spawner/directional/south,
@@ -7706,15 +7798,6 @@
dir = 1
},
/area/station/engineering/atmospherics_engine)
-"djR" = (
-/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/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"djU" = (
/obj/machinery/power/smes/engineering,
/turf/open/floor/plating,
@@ -8132,15 +8215,6 @@
/obj/item/airlock_painter,
/turf/open/floor/iron/small,
/area/station/engineering/atmos)
-"dsr" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/sign/delamination_counter/directional/west,
-/turf/open/floor/iron/smooth,
-/area/station/engineering/supermatter/room)
"dst" = (
/obj/effect/turf_decal/siding/white{
dir = 4
@@ -8676,6 +8750,20 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/smooth,
/area/station/engineering/atmos/pumproom)
+"dBN" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/airlock/engineering{
+ name = "Auxillary Base Construction"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/aux_base,
+/obj/machinery/door/firedoor,
+/obj/effect/landmark/navigate_destination,
+/turf/open/floor/iron/textured_half{
+ dir = 8
+ },
+/area/station/construction/mining/aux_base)
"dBV" = (
/turf/open/floor/plating/airless,
/area/station/engineering/atmospherics_engine)
@@ -8799,15 +8887,6 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/escape)
-"dDW" = (
-/obj/effect/turf_decal/stripes/white/line{
- dir = 1
- },
-/obj/structure/industrial_lift/tram/white,
-/obj/structure/window/reinforced/tram/mid/directional/north,
-/obj/structure/chair/sofa/bench/right,
-/turf/open/floor/noslip/tram_platform,
-/area/station/maintenance/port/aft)
"dEt" = (
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
dir = 6
@@ -8884,6 +8963,14 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
+"dGT" = (
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/structure/barricade/wooden,
+/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"dHk" = (
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 8
@@ -9044,6 +9131,23 @@
},
/turf/open/floor/iron/diagonal,
/area/station/maintenance/department/engine/atmos)
+"dKo" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/maintenance_hatch{
+ name = "AISat Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/access/all/command/general,
+/turf/open/floor/catwalk_floor/iron_smooth,
+/area/station/ai_monitored/turret_protected/aisat/maint)
"dKq" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -9539,12 +9643,6 @@
/obj/effect/turf_decal/tile/yellow/opposingcorners,
/turf/open/floor/iron,
/area/station/maintenance/department/engine/atmos)
-"dTu" = (
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/meter,
-/turf/open/floor/plating,
-/area/station/engineering/atmos)
"dTI" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
@@ -10217,6 +10315,11 @@
/obj/machinery/portable_atmospherics/canister/plasma,
/turf/open/floor/plating,
/area/station/engineering/atmos/storage/gas)
+"egq" = (
+/obj/structure/bookcase/random/nonfiction,
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/wood/tile,
+/area/station/service/bar)
"egr" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -10324,6 +10427,15 @@
},
/turf/open/floor/iron,
/area/station/security)
+"ejm" = (
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 1
+ },
+/obj/structure/industrial_lift/tram/white,
+/obj/structure/window/reinforced/tram/directional/north,
+/obj/structure/chair/sofa/bench/right,
+/turf/open/floor/noslip/tram_platform,
+/area/station/maintenance/port/aft)
"ejn" = (
/obj/structure/frame,
/obj/item/stack/cable_coil/five,
@@ -10773,20 +10885,6 @@
dir = 1
},
/area/station/engineering/atmos)
-"eru" = (
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/white/line,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/obj/machinery/light/directional/south,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos)
"erA" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -10814,19 +10912,6 @@
/obj/machinery/computer/records/security,
/turf/open/floor/iron/small,
/area/station/security/office)
-"esc" = (
-/obj/effect/turf_decal/stripes/white/line,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 8;
- name = "Air to Pure"
- },
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos)
"esv" = (
/obj/docking_port/stationary{
dwidth = 4;
@@ -11152,19 +11237,6 @@
/obj/structure/sink/directional/east,
/turf/open/floor/iron/white,
/area/station/medical/virology)
-"eyo" = (
-/obj/structure/window/reinforced/plasma/spawner/directional/east,
-/obj/machinery/computer/atmos_control/nocontrol/incinerator{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/smooth_edge{
- dir = 4
- },
-/area/station/maintenance/disposal/incinerator)
"eyv" = (
/obj/effect/turf_decal/tile/red/fourcorners,
/obj/machinery/computer/security{
@@ -11194,6 +11266,13 @@
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"eze" = (
+/obj/structure/chair/sofa/bench/right,
+/obj/machinery/light/small/directional/north,
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/machinery/incident_display/tram/directional/north,
+/turf/open/floor/iron,
+/area/station/security/tram)
"ezg" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/spawner/random/structure/crate,
@@ -11267,6 +11346,14 @@
/obj/machinery/light/floor,
/turf/open/floor/noslip,
/area/station/medical/medbay/central)
+"eAH" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/smooth,
+/area/station/engineering/supermatter/room)
"eAK" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
@@ -11314,17 +11401,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/white,
/area/station/medical/paramedic)
-"eBx" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/research{
- name = "Telecomms Storage"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white/textured_half,
-/area/station/hallway/primary/starboard)
"eBH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -11783,13 +11859,6 @@
/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
-"eJp" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/smart/simple/brown/visible{
- dir = 6
- },
-/turf/open/floor/plating,
-/area/station/engineering/atmos)
"eJw" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -11846,14 +11915,6 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"eKT" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/meter,
-/obj/machinery/atmospherics/pipe/smart/simple/brown/visible{
- dir = 9
- },
-/turf/open/floor/plating,
-/area/station/engineering/atmos)
"eKU" = (
/turf/closed/wall/r_wall/rust,
/area/station/engineering/atmos/pumproom)
@@ -11863,19 +11924,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"eKY" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"eLn" = (
/obj/machinery/door/airlock/glass{
name = "Gold Standard Law Firm"
@@ -11926,21 +11974,6 @@
dir = 8
},
/area/station/engineering/break_room)
-"eLY" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock/vault{
- name = "Vault"
- },
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/effect/mapping_helpers/airlock/access/all/supply/vault,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 1
- },
-/obj/effect/landmark/navigate_destination,
-/turf/open/floor/catwalk_floor,
-/area/station/ai_monitored/command/nuke_storage)
"eMj" = (
/obj/machinery/modular_computer/preset/cargochat/engineering{
dir = 8
@@ -12316,6 +12349,16 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
+"eTH" = (
+/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/tile/neutral{
+ dir = 1
+ },
+/obj/effect/landmark/navigate_destination/hop,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"eTL" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 8
@@ -12383,10 +12426,6 @@
/obj/machinery/light/directional/south,
/turf/open/floor/iron/small,
/area/station/engineering/atmos)
-"eVb" = (
-/obj/structure/closet/secure_closet/engineering_welding,
-/turf/open/floor/iron/small,
-/area/station/engineering/atmos)
"eVe" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 6
@@ -12520,16 +12559,6 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron/small,
/area/station/engineering/atmos)
-"eYQ" = (
-/obj/effect/turf_decal/stripes/white/line{
- dir = 1
- },
-/obj/structure/industrial_lift/tram/white,
-/obj/structure/window/reinforced/tram/left/directional/north,
-/obj/structure/chair/sofa/bench/left,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/noslip/tram_platform,
-/area/station/maintenance/port/aft)
"eYV" = (
/obj/structure/sink/directional/east,
/obj/structure/mirror/directional/west,
@@ -12586,17 +12615,6 @@
/obj/machinery/door/airlock/public,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"fas" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/trimline/yellow/line,
-/turf/open/floor/iron/smooth_corner{
- dir = 8
- },
-/area/station/maintenance/disposal/incinerator)
"fav" = (
/obj/item/kirbyplants/random/fullysynthetic,
/obj/machinery/computer/security/telescreen/entertainment/directional/west,
@@ -13212,11 +13230,6 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
-"fod" = (
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/engineering/atmos/pumproom)
"foe" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -13895,6 +13908,13 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/turf/open/floor/engine,
/area/station/engineering/supermatter)
+"fzo" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/landmark/navigate_destination/research,
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
"fzt" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -14231,12 +14251,6 @@
},
/turf/open/floor/iron/textured_large,
/area/station/engineering/break_room)
-"fDz" = (
-/obj/structure/chair/sofa/bench/right,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/maintenance/port/aft)
"fDC" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
@@ -14504,6 +14518,15 @@
},
/turf/open/floor/iron/smooth,
/area/station/engineering/atmos/pumproom)
+"fIh" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/landmark/navigate_destination/dockesc,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/secondary/exit/departure_lounge)
"fIr" = (
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/iron/small,
@@ -14557,6 +14580,16 @@
/obj/effect/mapping_helpers/airlock/access/all/command/minisat,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/ai_monitored/turret_protected/aisat/teleporter)
+"fJw" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/landmark/navigate_destination/lawyer,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"fJK" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -15355,23 +15388,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security)
-"fWH" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock/maintenance_hatch{
- name = "AISat Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/access/any/command/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 8
- },
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/ai_monitored/turret_protected/aisat/maint)
"fWJ" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
@@ -15470,23 +15486,6 @@
dir = 8
},
/area/station/hallway/secondary/dock)
-"fZw" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock/maintenance_hatch{
- name = "AISat Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/effect/mapping_helpers/airlock/access/any/command/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 4
- },
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/ai_monitored/turret_protected/aisat/maint)
"gan" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/airlock/research{
@@ -15535,6 +15534,16 @@
/obj/effect/mapping_helpers/requests_console/assistance,
/turf/open/floor/iron/white/small,
/area/station/science/lab)
+"gaW" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/landmark/navigate_destination/disposals,
+/turf/open/floor/iron,
+/area/station/maintenance/hallway/abandoned_command)
"gbD" = (
/obj/machinery/hydroponics/soil,
/obj/item/food/grown/mushroom/reishi,
@@ -15621,16 +15630,6 @@
/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
-"gem" = (
-/obj/effect/turf_decal/stripes/white/line,
-/obj/structure/industrial_lift/tram/white,
-/obj/structure/window/reinforced/tram/right/directional/south,
-/obj/structure/chair/sofa/bench/left{
- dir = 1
- },
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/noslip/tram_platform,
-/area/station/maintenance/port/aft)
"geu" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -15835,6 +15834,20 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"ggY" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"ghc" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -17008,6 +17021,17 @@
},
/turf/open/space/basic,
/area/space/nearstation)
+"gDD" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/table/reinforced/titaniumglass,
+/obj/machinery/light/directional/north,
+/obj/item/analyzer,
+/turf/open/floor/iron/smooth_edge{
+ dir = 1
+ },
+/area/station/maintenance/disposal/incinerator)
"gDE" = (
/obj/structure/window/spawner/directional/east,
/turf/open/space/basic,
@@ -17027,15 +17051,6 @@
/obj/machinery/portable_atmospherics/canister/plasma,
/turf/open/floor/plating,
/area/station/engineering/atmos/storage/gas)
-"gDV" = (
-/obj/structure/table,
-/obj/item/storage/box/prisoner{
- pixel_y = 6
- },
-/obj/machinery/light/cold/directional/north,
-/obj/effect/turf_decal/tile/dark_red/opposingcorners,
-/turf/open/floor/iron,
-/area/station/security/tram)
"gEc" = (
/obj/structure/closet/emcloset,
/turf/open/floor/plating,
@@ -17166,15 +17181,6 @@
},
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/customs)
-"gHn" = (
-/obj/machinery/computer/security/mining,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/siding/brown{
- dir = 1
- },
-/obj/machinery/status_display/ai/directional/north,
-/turf/open/floor/iron/smooth,
-/area/station/command/bridge)
"gHA" = (
/obj/structure/chair/wood{
dir = 8
@@ -17183,24 +17189,6 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/wood,
/area/station/service/chapel/funeral)
-"gHG" = (
-/obj/machinery/computer/cargo/request,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/siding/brown{
- dir = 1
- },
-/obj/machinery/light/cold/directional/north,
-/obj/item/radio/intercom/directional/north,
-/turf/open/floor/iron/smooth,
-/area/station/command/bridge)
-"gHJ" = (
-/obj/structure/hedge,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/siding/brown{
- dir = 5
- },
-/turf/open/floor/iron/smooth,
-/area/station/command/bridge)
"gHP" = (
/obj/structure/hedge,
/obj/effect/mapping_helpers/broken_floor,
@@ -17701,14 +17689,6 @@
/obj/structure/fermenting_barrel,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"gPQ" = (
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/structure/barricade/wooden,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
"gPT" = (
/obj/effect/spawner/random/structure/grille,
/obj/effect/spawner/random/structure/girder,
@@ -17844,6 +17824,11 @@
/obj/structure/chair/stool/directional/east,
/turf/open/floor/iron/smooth,
/area/station/maintenance/department/medical/central)
+"gRV" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/landmark/navigate_destination/dockescpod,
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
"gRX" = (
/obj/machinery/newscaster/directional/south,
/obj/structure/broken_flooring/singular/directional/east,
@@ -18575,26 +18560,6 @@
/obj/effect/turf_decal/siding/yellow,
/turf/open/floor/wood/tile,
/area/station/command/bridge)
-"hcJ" = (
-/obj/effect/turf_decal/siding/thinplating_new/terracotta{
- dir = 1
- },
-/obj/structure/table/glass,
-/obj/effect/turf_decal/siding/yellow,
-/obj/machinery/recharger{
- pixel_x = -7;
- pixel_y = 3
- },
-/obj/item/folder/yellow{
- pixel_x = 6;
- pixel_y = 3
- },
-/obj/item/assembly/signaler{
- pixel_x = 5;
- pixel_y = 6
- },
-/turf/open/floor/wood/tile,
-/area/station/command/bridge)
"hcY" = (
/obj/structure/table,
/obj/item/paper_bin{
@@ -18952,6 +18917,18 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/smooth,
/area/station/command/gateway)
+"hiA" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/research{
+ name = "Telecomms Storage"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/landmark/navigate_destination,
+/turf/open/floor/iron/white/textured_half,
+/area/station/engineering/storage/tcomms)
"hiV" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -19224,24 +19201,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/commons/storage/tools)
-"hnr" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"hnO" = (
/obj/structure/disposalpipe/segment,
/obj/structure/disposalpipe/segment{
@@ -19669,16 +19628,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"hvz" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"hvG" = (
/obj/machinery/computer/prisoner/management{
dir = 8
@@ -19718,20 +19667,6 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron/white/small,
/area/station/service/hydroponics)
-"hwg" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock/command/glass{
- name = "E.V.A. Storage"
- },
-/obj/effect/turf_decal/delivery,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/all/command/eva,
-/obj/effect/landmark/navigate_destination,
-/turf/open/floor/iron/smooth_half{
- dir = 1
- },
-/area/station/ai_monitored/command/storage/eva)
"hwk" = (
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/effect/turf_decal/siding/green,
@@ -20820,6 +20755,17 @@
/obj/machinery/atmospherics/components/binary/pump,
/turf/open/floor/engine,
/area/station/science/ordnance/burnchamber)
+"hRO" = (
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"hRX" = (
/obj/structure/flora/bush/large/style_random{
pixel_x = -20;
@@ -20996,6 +20942,20 @@
/obj/structure/broken_flooring/corner/directional/south,
/turf/open/floor/plating,
/area/station/hallway/secondary/dock)
+"hVC" = (
+/obj/structure/window/reinforced/plasma/spawner/directional/east,
+/obj/machinery/computer/atmos_control/nocontrol/incinerator{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
+/turf/open/floor/iron/smooth_edge{
+ dir = 4
+ },
+/area/station/maintenance/disposal/incinerator)
"hVM" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -21789,6 +21749,23 @@
/obj/structure/cable,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/science/xenobiology)
+"ijf" = (
+/obj/machinery/camera/autoname/directional/north,
+/obj/machinery/incident_display/dual/directional/north,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/small,
+/area/station/engineering/atmos)
+"ijo" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/dark_red/half/contrasted,
+/obj/machinery/light/cold/directional/north,
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron,
+/area/station/security)
"ijB" = (
/obj/machinery/atmospherics/components/trinary/mixer/flipped{
dir = 8
@@ -22346,15 +22323,6 @@
"itb" = (
/turf/closed/wall/r_wall/rust,
/area/station/ai_monitored/turret_protected/aisat/maint)
-"itq" = (
-/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/line{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/maintenance/hallway/abandoned_command)
"itw" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -22868,6 +22836,11 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"iCH" = (
+/obj/structure/chair/sofa/bench/left,
+/obj/machinery/airalarm/directional/north,
+/turf/open/floor/iron,
+/area/station/maintenance/port/aft)
"iCN" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -23587,6 +23560,21 @@
/obj/structure/cable,
/turf/open/floor/circuit/green,
/area/station/ai_monitored/command/nuke_storage)
+"iPo" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/research{
+ name = "Development Division Access"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/unres,
+/turf/open/floor/iron/white/textured_half{
+ dir = 1
+ },
+/area/station/science/lobby)
"iPv" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 4
@@ -23618,6 +23606,17 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
+"iQs" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/landmark/navigate_destination/eva,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"iQv" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -24692,6 +24691,10 @@
/obj/structure/filingcabinet/chestdrawer,
/turf/open/floor/iron,
/area/station/science/xenobiology)
+"jjN" = (
+/obj/structure/chair/sofa/bench,
+/turf/open/floor/iron,
+/area/station/maintenance/port/aft)
"jjO" = (
/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
dir = 8
@@ -24992,6 +24995,16 @@
/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"jqe" = (
+/obj/effect/turf_decal/stripes/white/line,
+/obj/structure/industrial_lift/tram/white,
+/obj/structure/window/reinforced/tram/directional/south,
+/obj/structure/chair/sofa/bench/left{
+ dir = 1
+ },
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/noslip/tram_platform,
+/area/station/maintenance/port/aft)
"jqs" = (
/obj/structure/flora/bush/large/style_random{
pixel_x = -18;
@@ -25047,6 +25060,23 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
+"jqM" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/maintenance_hatch{
+ name = "AISat Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/access/all/command/general,
+/turf/open/floor/catwalk_floor/iron_smooth,
+/area/station/ai_monitored/turret_protected/aisat/maint)
"jqZ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -25151,6 +25181,12 @@
/obj/structure/steam_vent,
/turf/open/floor/plating,
/area/station/maintenance/aft)
+"jsY" = (
+/obj/machinery/door/airlock/external{
+ name = "Common Mining Dock"
+ },
+/turf/open/floor/plating,
+/area/station/hallway/secondary/dock)
"jte" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -25522,6 +25558,13 @@
},
/turf/open/floor/iron/dark/small,
/area/station/ai_monitored/security/armory)
+"jBs" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/landmark/navigate_destination/dorms,
+/turf/open/floor/iron,
+/area/station/commons/dorms)
"jBx" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -26086,6 +26129,15 @@
dir = 4
},
/area/station/cargo/office)
+"jKG" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/airlock/command/glass,
+/obj/effect/mapping_helpers/airlock/access/any/command/hop,
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/dark/textured_half,
+/area/station/command/heads_quarters/hop)
"jKJ" = (
/obj/machinery/door/window/right/directional/north,
/turf/open/floor/iron,
@@ -26242,6 +26294,15 @@
},
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
+"jNz" = (
+/obj/machinery/computer/security/mining,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/siding/brown{
+ dir = 1
+ },
+/obj/machinery/incident_display/dual/directional/north,
+/turf/open/floor/iron/smooth,
+/area/station/command/bridge)
"jNH" = (
/obj/structure/closet/boxinggloves,
/obj/effect/turf_decal/siding/thinplating_new/light{
@@ -26263,10 +26324,6 @@
/obj/machinery/status_display/evac/directional/west,
/turf/open/misc/sandy_dirt,
/area/station/hallway/primary/central/fore)
-"jNZ" = (
-/obj/machinery/firealarm/directional/west,
-/turf/open/floor/iron/smooth_half,
-/area/station/hallway/primary/central/fore)
"jOb" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -26349,20 +26406,6 @@
/obj/structure/disposalpipe/segment,
/turf/closed/wall,
/area/station/maintenance/fore/greater)
-"jPO" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/machinery/door/airlock/maintenance/glass,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/access/any/command/maintenance,
-/obj/effect/mapping_helpers/airlock/access/any/command/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/station/maintenance/fore/lesser)
"jQh" = (
/obj/effect/turf_decal/tile/neutral{
dir = 8
@@ -26607,6 +26650,21 @@
/obj/structure/industrial_lift/tram/subfloor,
/turf/open/floor/noslip/tram_platform,
/area/station/security/tram)
+"jUQ" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/sorting/mail/flip{
+ dir = 2
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/mail_sorting/engineering/general,
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/landmark/navigate_destination/engineering,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"jVe" = (
/obj/structure/cable,
/turf/open/floor/iron/smooth,
@@ -26821,16 +26879,6 @@
},
/turf/open/floor/engine,
/area/station/science/explab)
-"jYW" = (
-/obj/machinery/door/airlock/maintenance/external{
- name = "Command Storeroom"
- },
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/access/any/command/maintenance,
-/turf/open/floor/plating,
-/area/station/maintenance/department/bridge)
"jYY" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -27288,6 +27336,18 @@
/obj/machinery/newscaster/directional/east,
/turf/open/floor/wood,
/area/station/service/chapel/funeral)
+"kht" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/yellow/line,
+/obj/effect/landmark/navigate_destination/incinerator,
+/turf/open/floor/iron/smooth_corner{
+ dir = 8
+ },
+/area/station/maintenance/disposal/incinerator)
"khD" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/reagent_dispensers/watertank,
@@ -27350,6 +27410,15 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"kiw" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/dark_red/half/contrasted,
+/obj/effect/landmark/navigate_destination/sec,
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"kiB" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -27752,6 +27821,15 @@
},
/turf/open/floor/iron/small,
/area/station/maintenance/department/engine)
+"kpE" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/airalarm/directional/west,
+/obj/structure/cable,
+/obj/effect/landmark/navigate_destination/tcomms,
+/turf/open/floor/iron,
+/area/station/science/lower)
"kpF" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/landmark/start/hangover,
@@ -28184,6 +28262,16 @@
"kxL" = (
/turf/open/floor/iron/dark/small,
/area/station/hallway/secondary/entry)
+"kxR" = (
+/obj/machinery/door/airlock/maintenance/external{
+ name = "Command Storeroom"
+ },
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/access/all/command/general,
+/turf/open/floor/plating,
+/area/station/maintenance/department/bridge)
"kxX" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -28480,24 +28568,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/smooth,
/area/station/maintenance/solars/port/aft)
-"kDl" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/conveyor{
- dir = 1;
- id = "garbage";
- name = "trash belt"
- },
-/obj/machinery/recycler{
- dir = 1;
- eat_dir = 2
- },
-/turf/open/floor/plating,
-/area/station/service/janitor)
"kDq" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -28936,15 +29006,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"kJZ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/maintenance/hallway/abandoned_command)
"kKa" = (
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/plating,
@@ -29061,6 +29122,12 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"kMU" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible,
+/turf/open/floor/plating,
+/area/station/engineering/atmos)
"kMW" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -29525,6 +29592,15 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"kVD" = (
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 4
+ },
+/obj/structure/window/reinforced/tram/directional/east,
+/obj/structure/chair/comfy/shuttle,
+/obj/structure/industrial_lift/tram,
+/turf/open/floor/noslip/tram_platform,
+/area/station/security/tram)
"kWd" = (
/obj/machinery/door/airlock{
name = "Room 2"
@@ -29572,14 +29648,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"kXe" = (
-/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/tile/dark_red/half/contrasted,
-/obj/machinery/camera/autoname/directional/north,
-/turf/open/floor/iron,
-/area/station/security/execution/transfer)
"kXl" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -30332,11 +30400,6 @@
/obj/item/pickaxe,
/turf/open/misc/asteroid,
/area/station/maintenance/starboard/greater)
-"lib" = (
-/obj/structure/chair/sofa/bench,
-/obj/machinery/airalarm/directional/north,
-/turf/open/floor/iron,
-/area/station/maintenance/port/aft)
"liG" = (
/obj/structure/cable,
/obj/structure/table/glass,
@@ -30485,6 +30548,15 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"lly" = (
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 1
+ },
+/obj/structure/industrial_lift/tram/white,
+/obj/structure/window/reinforced/tram/directional/north,
+/obj/structure/chair/sofa/bench/left,
+/turf/open/floor/noslip/tram_platform,
+/area/station/maintenance/port/aft)
"llC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/trimline/blue/filled/line{
@@ -30552,6 +30624,15 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/carpet/donk,
/area/station/command/heads_quarters/qm)
+"lmk" = (
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 8
+ },
+/obj/structure/window/reinforced/tram/directional/west,
+/obj/structure/chair/comfy/shuttle,
+/obj/structure/industrial_lift/tram,
+/turf/open/floor/noslip/tram_platform,
+/area/station/security/tram)
"lmv" = (
/obj/structure/disposalpipe/segment,
/obj/item/kirbyplants/random,
@@ -30600,17 +30681,6 @@
/obj/structure/ore_box,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"lnU" = (
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/machinery/door/airlock/maintenance{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"lnZ" = (
/obj/effect/turf_decal/tile/dark_red,
/obj/effect/decal/cleanable/dirt,
@@ -30665,6 +30735,11 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/space/basic,
/area/space/nearstation)
+"lpv" = (
+/obj/machinery/door/firedoor,
+/obj/effect/landmark/navigate_destination/bar,
+/turf/open/floor/catwalk_floor/iron,
+/area/station/service/bar)
"lpC" = (
/turf/open/floor/plating,
/area/station/service/chapel/funeral)
@@ -30785,6 +30860,16 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/iron/white,
/area/station/science/research)
+"lrC" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer2{
+ dir = 8
+ },
+/obj/structure/lattice/catwalk,
+/obj/structure/railing{
+ dir = 5
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
"lrE" = (
/obj/structure/cable,
/turf/open/floor/iron,
@@ -31363,17 +31448,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/detective,
/turf/open/floor/iron/textured_half,
/area/station/security/detectives_office)
-"lBO" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock/engineering{
- name = "Tech Storage"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage,
-/obj/effect/landmark/navigate_destination,
-/turf/open/floor/catwalk_floor/iron,
-/area/station/engineering/storage/tech)
"lCg" = (
/obj/structure/chair{
dir = 4
@@ -31445,6 +31519,12 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_recreation)
+"lDq" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small/directional/east,
+/obj/effect/landmark/navigate_destination/dockaux,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"lDx" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -31557,15 +31637,6 @@
/obj/structure/table/reinforced/plastitaniumglass,
/turf/open/floor/iron/smooth,
/area/station/maintenance/port/aft)
-"lGA" = (
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/all/command/general,
-/obj/machinery/door/airlock/command/glass{
- name = "Command Hallway"
- },
-/obj/effect/landmark/navigate_destination,
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/hallway/secondary/command)
"lGK" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -31871,17 +31942,6 @@
/obj/effect/mapping_helpers/airlock/access/any/security/general,
/turf/open/floor/iron,
/area/station/security/checkpoint/escape)
-"lLu" = (
-/obj/effect/turf_decal/stripes/white/line{
- dir = 8
- },
-/obj/structure/window/reinforced/tram/right/directional/west,
-/obj/structure/chair{
- dir = 1
- },
-/obj/structure/industrial_lift/tram,
-/turf/open/floor/noslip/tram_platform,
-/area/station/security/tram)
"lLv" = (
/turf/open/floor/wood,
/area/station/maintenance/fore/greater)
@@ -32467,6 +32527,17 @@
/obj/machinery/light/dim/directional/south,
/turf/open/floor/iron/smooth,
/area/station/security/evidence)
+"lVe" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/pink/visible{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/remains/human{
+ pixel_x = 6;
+ pixel_y = 6
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"lVl" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/camera/autoname/directional/south,
@@ -32963,20 +33034,12 @@
/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/aft)
-"mcQ" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
+"mcR" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/door/firedoor,
+/obj/effect/landmark/navigate_destination,
+/turf/open/floor/iron/textured_half,
+/area/station/service/theater)
"mda" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -33122,16 +33185,6 @@
/obj/machinery/recharger,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/customs)
-"mgk" = (
-/obj/effect/turf_decal/stripes/white/line{
- dir = 1
- },
-/obj/structure/industrial_lift/tram/white,
-/obj/structure/window/reinforced/tram/right/directional/north,
-/obj/structure/chair/sofa/bench/right,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/noslip/tram_platform,
-/area/station/maintenance/port/aft)
"mgt" = (
/obj/machinery/vending/boozeomat,
/obj/machinery/firealarm/directional/south,
@@ -33448,6 +33501,16 @@
dir = 1
},
/area/station/ai_monitored/command/storage/eva)
+"mmD" = (
+/obj/structure/table,
+/obj/item/storage/box/bodybags{
+ pixel_x = 4;
+ pixel_y = 5
+ },
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/machinery/airalarm/directional/east,
+/turf/open/floor/iron,
+/area/station/security/tram)
"mmE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -33558,22 +33621,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"mpc" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock/research{
- name = "Development Division Access"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/white/textured_half{
- dir = 1
- },
-/area/station/science/lobby)
"mpk" = (
/obj/machinery/airalarm/directional/south,
/turf/open/floor/circuit/green,
@@ -33833,16 +33880,6 @@
/obj/machinery/status_display/ai/directional/north,
/turf/open/floor/wood/tile,
/area/station/command/meeting_room)
-"mvb" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock/command/glass,
-/obj/effect/mapping_helpers/airlock/access/any/command/hop,
-/obj/machinery/door/firedoor,
-/obj/effect/landmark/navigate_destination,
-/turf/open/floor/iron/dark/textured_half,
-/area/station/command/heads_quarters/hop)
"mvh" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/machinery/holopad,
@@ -34198,6 +34235,13 @@
/obj/item/instrument/eguitar,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
+"mBx" = (
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/structure/closet/secure_closet/security/sec,
+/turf/open/floor/iron/checker{
+ dir = 1
+ },
+/area/station/security/execution/transfer)
"mBC" = (
/obj/structure/sign/poster/official/soft_cap_pop_art/directional/north,
/turf/open/floor/iron/grimy,
@@ -34896,6 +34940,16 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/wood,
/area/station/command/heads_quarters/qm)
+"mNq" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"mNu" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/effect/turf_decal/stripes/line,
@@ -35077,12 +35131,6 @@
dir = 8
},
/area/station/command/heads_quarters/hos)
-"mRj" = (
-/obj/structure/chair/sofa/bench/right,
-/obj/machinery/light/small/directional/north,
-/obj/effect/turf_decal/tile/dark_red/opposingcorners,
-/turf/open/floor/iron,
-/area/station/security/tram)
"mRl" = (
/obj/machinery/door/airlock/engineering{
name = "Smoke Room"
@@ -35423,6 +35471,11 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"mYC" = (
+/obj/structure/closet/secure_closet/engineering_welding,
+/obj/item/radio/intercom/directional/south,
+/turf/open/floor/iron/small,
+/area/station/engineering/atmos)
"mYP" = (
/obj/structure/table,
/obj/item/storage/bag/tray/cafeteria{
@@ -35801,15 +35854,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"nfO" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/commons/dorms)
"nfS" = (
/obj/structure/chair/stool/directional/east,
/turf/open/floor/carpet/orange,
@@ -36632,13 +36676,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"nxc" = (
-/obj/structure/closet/secure_closet/security/med,
-/obj/effect/turf_decal/tile/dark_red/opposingcorners,
-/turf/open/floor/iron/checker{
- dir = 1
- },
-/area/station/security/execution/transfer)
"nxo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -36938,6 +36975,21 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/showroomfloor,
/area/station/commons/toilet/auxiliary)
+"nBt" = (
+/obj/effect/turf_decal/stripes/white/line,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/light/directional/south,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Air to Pure"
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos)
"nBw" = (
/obj/effect/turf_decal/siding/thinplating_new,
/turf/open/floor/iron/dark/herringbone,
@@ -36979,6 +37031,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
+"nBR" = (
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 4
+ },
+/obj/structure/window/reinforced/tram/directional/east,
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/structure/industrial_lift/tram,
+/turf/open/floor/noslip/tram_platform,
+/area/station/security/tram)
"nCo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/chair/office{
@@ -37309,6 +37372,14 @@
/obj/effect/turf_decal/stripes/red/line,
/turf/open/floor/iron/small,
/area/station/hallway/primary/central/fore)
+"nHT" = (
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/all/command/general,
+/obj/machinery/door/airlock/command/glass{
+ name = "Command Hallway"
+ },
+/turf/open/floor/catwalk_floor/iron_smooth,
+/area/station/hallway/secondary/command)
"nId" = (
/turf/open/floor/circuit/green,
/area/station/ai_monitored/command/nuke_storage)
@@ -37461,6 +37532,13 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
+"nMo" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/landmark/navigate_destination/dockescpod,
+/turf/open/floor/plating,
+/area/station/maintenance/department/engine)
"nMA" = (
/obj/machinery/door/airlock{
name = "Construction Maintenance"
@@ -38058,16 +38136,6 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/white,
/area/station/science/cytology)
-"nXL" = (
-/obj/effect/turf_decal/stripes/white/line,
-/obj/structure/industrial_lift/tram/white,
-/obj/structure/window/reinforced/tram/left/directional/south,
-/obj/structure/chair/sofa/bench/right{
- dir = 1
- },
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/noslip/tram_platform,
-/area/station/maintenance/port/aft)
"nXP" = (
/obj/machinery/airalarm/directional/east,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -38253,14 +38321,6 @@
/obj/structure/reagent_dispensers/plumbed,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"obW" = (
-/obj/effect/turf_decal/stripes/white/line{
- dir = 8
- },
-/obj/structure/window/reinforced/tram/mid/directional/west,
-/obj/structure/industrial_lift/tram/white,
-/turf/open/floor/noslip/tram_platform,
-/area/station/security/tram)
"ocb" = (
/turf/open/floor/iron/white/small,
/area/station/science/cubicle)
@@ -38641,14 +38701,6 @@
/obj/machinery/light/cold/directional/east,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"oio" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/dark_red/half/contrasted,
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
"ois" = (
/obj/effect/turf_decal/siding/white{
dir = 6
@@ -39184,6 +39236,10 @@
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron/smooth_half,
/area/station/engineering/atmos)
+"osV" = (
+/obj/effect/landmark/navigate_destination/vault,
+/turf/open/floor/glass,
+/area/station/hallway/secondary/spacebridge)
"osY" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/broken_flooring/corner/directional/south,
@@ -39535,16 +39591,6 @@
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron,
/area/station/security/lockers)
-"oAu" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/smooth,
-/area/station/engineering/supermatter/room)
"oAA" = (
/obj/structure/closet/emcloset,
/obj/effect/mapping_helpers/broken_floor,
@@ -39831,6 +39877,16 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
+"oFW" = (
+/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/tile/neutral{
+ dir = 4
+ },
+/obj/effect/landmark/navigate_destination/techstorage,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"oGk" = (
/turf/open/floor/circuit,
/area/station/tcommsat/server)
@@ -39932,6 +39988,17 @@
dir = 1
},
/area/station/security/execution/transfer)
+"oIj" = (
+/obj/structure/cable,
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"oIk" = (
/obj/structure/table,
/turf/open/floor/iron,
@@ -40044,6 +40111,19 @@
/obj/effect/mapping_helpers/airlock/access/all/security/armory,
/turf/open/floor/iron/textured_half,
/area/station/security/warden)
+"oKB" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/airlock/command/glass{
+ name = "E.V.A. Storage"
+ },
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/all/command/eva,
+/turf/open/floor/iron/smooth_half{
+ dir = 1
+ },
+/area/station/ai_monitored/command/storage/eva)
"oKP" = (
/obj/machinery/light/small/directional/east,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -40526,17 +40606,21 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"oSY" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
"oTj" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/trash,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"oTm" = (
+/obj/effect/turf_decal/stripes/white/line,
+/obj/structure/industrial_lift/tram/white,
+/obj/structure/window/reinforced/tram/directional/south,
+/obj/structure/chair/sofa/bench/right{
+ dir = 1
+ },
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/noslip/tram_platform,
+/area/station/maintenance/port/aft)
"oTo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -40764,6 +40848,11 @@
/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
+"oXg" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/landmark/navigate_destination/dockescpod,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"oXs" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/emcloset,
@@ -41336,6 +41425,13 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"piD" = (
+/obj/structure/chair/sofa/bench/right,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/incident_display/tram/directional/north,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/maintenance/port/aft)
"piG" = (
/obj/effect/turf_decal/siding/green{
dir = 8
@@ -41520,6 +41616,25 @@
},
/turf/open/floor/wood/tile,
/area/station/service/lawoffice)
+"plW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/effect/landmark/navigate_destination/tools,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"plZ" = (
/obj/structure/table/wood,
/obj/effect/turf_decal/siding/wood{
@@ -41819,16 +41934,6 @@
/obj/effect/spawner/random/trash,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"pqI" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/brown/fourcorners,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"pqK" = (
/obj/structure/cable,
/obj/machinery/door/window/left/directional/south,
@@ -42063,10 +42168,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron/grimy,
/area/station/service/library)
-"puT" = (
-/obj/structure/bookcase/random/nonfiction,
-/turf/open/floor/wood/tile,
-/area/station/service/bar)
"pvg" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -42530,6 +42631,11 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/engineering/atmospherics_engine)
+"pBC" = (
+/obj/effect/spawner/structure/window/reinforced/plasma,
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/turf/open/floor/plating,
+/area/station/engineering/atmos)
"pBD" = (
/obj/effect/spawner/structure/window,
/obj/structure/cable,
@@ -42949,6 +43055,14 @@
},
/turf/open/floor/plating,
/area/station/command/bridge)
+"pIT" = (
+/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/line,
+/obj/effect/landmark/navigate_destination/aiupload,
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
"pJg" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -43570,6 +43684,18 @@
/obj/structure/bookcase/random,
/turf/open/floor/iron/grimy,
/area/station/service/library)
+"pST" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/maintenance{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/security/general,
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
"pTc" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -43894,18 +44020,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/science/xenobiology)
-"pXg" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/table/reinforced/titaniumglass,
-/obj/machinery/light/directional/north,
-/obj/item/analyzer,
-/turf/open/floor/iron/smooth_edge{
- dir = 1
- },
-/area/station/maintenance/disposal/incinerator)
"pXo" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -44402,15 +44516,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"qfQ" = (
-/obj/effect/turf_decal/stripes/white/line,
-/obj/structure/industrial_lift/tram/white,
-/obj/structure/window/reinforced/tram/mid/directional/south,
-/obj/structure/chair/sofa/bench/left{
- dir = 1
- },
-/turf/open/floor/noslip/tram_platform,
-/area/station/maintenance/port/aft)
"qfV" = (
/obj/machinery/vending/tool,
/obj/structure/sign/poster/official/random/directional/south,
@@ -44720,6 +44825,15 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/hallway/secondary/exit/departure_lounge)
+"qjm" = (
+/obj/machinery/door/airlock/external{
+ name = "Departure Lounge Airlock"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/turf/open/floor/catwalk_floor/iron_smooth,
+/area/station/hallway/secondary/exit/departure_lounge)
"qjn" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/structure/table,
@@ -46349,15 +46463,6 @@
},
/turf/open/floor/iron/dark,
/area/station/security/prison/safe)
-"qLl" = (
-/obj/effect/turf_decal/stripes/white/line{
- dir = 4
- },
-/obj/structure/window/reinforced/tram/right/directional/east,
-/obj/structure/chair/comfy/shuttle,
-/obj/structure/industrial_lift/tram,
-/turf/open/floor/noslip/tram_platform,
-/area/station/security/tram)
"qLq" = (
/obj/machinery/recharge_station,
/obj/machinery/button/door/directional/west{
@@ -46665,6 +46770,12 @@
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/iron/small,
/area/station/security/prison/shower)
+"qRz" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/broken_flooring/pile/directional/east,
+/obj/effect/landmark/navigate_destination/dockescpod,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"qRB" = (
/obj/structure/table,
/obj/machinery/computer/libraryconsole/bookmanagement{
@@ -47012,6 +47123,26 @@
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/medical/psychology)
+"qWp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/airlock/research{
+ name = "Research Division Access"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 4
+ },
+/turf/open/floor/iron/white/textured_half{
+ dir = 1
+ },
+/area/station/science/research)
"qWF" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -47108,6 +47239,11 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/iron/cafeteria,
/area/station/science/breakroom)
+"qXN" = (
+/obj/effect/turf_decal/tile/blue/half/contrasted,
+/obj/effect/landmark/navigate_destination/med,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"qXQ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/neutral,
@@ -47972,6 +48108,17 @@
/obj/machinery/light_switch/directional/north,
/turf/open/floor/wood,
/area/station/cargo/boutique)
+"rmS" = (
+/obj/machinery/incident_display/delam/directional/north,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/smooth,
+/area/station/engineering/supermatter/room)
"rmX" = (
/obj/structure/table,
/obj/effect/turf_decal/tile/blue/fourcorners,
@@ -48290,15 +48437,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"rrF" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
"rrH" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -48825,6 +48963,16 @@
dir = 1
},
/area/station/hallway/secondary/entry)
+"rzL" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/landmark/generic_maintenance_landmark,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/machinery/incident_display/tram/directional/north,
+/turf/open/floor/iron,
+/area/station/maintenance/department/medical/central)
"rAb" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -48838,15 +48986,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/lesser)
-"rAj" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/generic_maintenance_landmark,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/maintenance/department/medical/central)
"rAn" = (
/obj/structure/closet/secure_closet/hydroponics,
/obj/effect/turf_decal/bot,
@@ -49373,11 +49512,6 @@
},
/turf/open/floor/carpet/blue,
/area/station/cargo/boutique)
-"rHP" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"rHQ" = (
/obj/machinery/deepfryer,
/turf/open/floor/iron/cafeteria,
@@ -49563,15 +49697,6 @@
/obj/machinery/door/poddoor/incinerator_ordmix,
/turf/open/floor/engine/vacuum,
/area/station/science/ordnance/burnchamber)
-"rLv" = (
-/obj/effect/turf_decal/stripes/white/line,
-/obj/structure/industrial_lift/tram/white,
-/obj/structure/window/reinforced/tram/mid/directional/south,
-/obj/structure/chair/sofa/bench/right{
- dir = 1
- },
-/turf/open/floor/noslip/tram_platform,
-/area/station/maintenance/port/aft)
"rLw" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -50223,6 +50348,14 @@
/obj/item/clothing/head/costume/griffin,
/turf/open/floor/iron/smooth,
/area/station/maintenance/port/aft)
+"rWu" = (
+/obj/machinery/door/airlock/public/glass{
+ name = "Commons"
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/landmark/navigate_destination,
+/turf/open/floor/iron/textured_half,
+/area/station/commons)
"rWA" = (
/obj/structure/disposalpipe/segment,
/obj/structure/broken_flooring/pile/directional/east,
@@ -50248,6 +50381,12 @@
/obj/structure/broken_flooring/singular/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"rWQ" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/layer_manifold/brown/visible,
+/turf/open/floor/plating,
+/area/station/engineering/atmos)
"rWW" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -50704,6 +50843,17 @@
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/space/nearstation)
+"seX" = (
+/obj/effect/turf_decal/delivery/red,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/medical/glass{
+ id_tag = "MedbayFoyer";
+ name = "Medbay"
+ },
+/obj/effect/mapping_helpers/airlock/unres,
+/obj/effect/mapping_helpers/airlock/access/all/medical/general,
+/turf/open/floor/iron/white/small,
+/area/station/medical/medbay/central)
"sfb" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/dark,
@@ -51847,16 +51997,6 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron/freezer,
/area/station/service/kitchen/coldroom)
-"swN" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/central)
"swO" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -52103,15 +52243,6 @@
/obj/machinery/light_switch/directional/south,
/turf/open/floor/iron/cafeteria,
/area/station/service/kitchen)
-"sBa" = (
-/obj/effect/turf_decal/stripes/white/line{
- dir = 1
- },
-/obj/structure/industrial_lift/tram/white,
-/obj/structure/window/reinforced/tram/mid/directional/north,
-/obj/structure/chair/sofa/bench/left,
-/turf/open/floor/noslip/tram_platform,
-/area/station/maintenance/port/aft)
"sBp" = (
/obj/structure/table,
/obj/machinery/processor{
@@ -53091,6 +53222,16 @@
/obj/structure/table_frame,
/turf/open/floor/iron,
/area/station/cargo/sorting)
+"sSL" = (
+/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/line{
+ dir = 8
+ },
+/obj/effect/landmark/navigate_destination/gateway,
+/turf/open/floor/iron,
+/area/station/maintenance/hallway/abandoned_command)
"sSQ" = (
/turf/closed/wall,
/area/station/maintenance/department/medical/central)
@@ -53185,10 +53326,6 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron/dark/smooth_large,
/area/station/service/lawoffice)
-"sTl" = (
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/textured_half,
-/area/station/service/cafeteria)
"sTp" = (
/turf/closed/wall,
/area/station/service/cafeteria)
@@ -53318,11 +53455,6 @@
/obj/machinery/light/dim/directional/north,
/turf/open/floor/wood,
/area/station/commons/fitness/recreation)
-"sWj" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/textured_half,
-/area/station/service/theater)
"sWm" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -53587,17 +53719,6 @@
/obj/machinery/light/cold/directional/east,
/turf/open/floor/iron,
/area/station/security/courtroom)
-"tah" = (
-/obj/structure/cable,
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"tat" = (
/obj/machinery/light/small/directional/north,
/obj/effect/turf_decal/tile/dark_red/fourcorners,
@@ -53926,6 +54047,19 @@
},
/turf/open/floor/iron/smooth,
/area/station/engineering/supermatter/room)
+"tfN" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/door/airlock/maintenance/glass,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/access/any/command/maintenance,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/fore/lesser)
"tgj" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/easel,
@@ -54246,19 +54380,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
-"tob" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock/engineering{
- name = "Auxillary Base Construction"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/aux_base,
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/textured_half{
- dir = 8
- },
-/area/station/construction/mining/aux_base)
"tod" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -54272,18 +54393,6 @@
"tof" = (
/turf/closed/wall/rust,
/area/station/ai_monitored/turret_protected/ai)
-"ton" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/machinery/door/airlock/maintenance{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"toA" = (
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
@@ -55338,18 +55447,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"tFg" = (
-/obj/structure/disposalpipe/sorting/mail{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/mail_sorting/service/hydroponics,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
"tFn" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -55414,20 +55511,6 @@
"tFQ" = (
/turf/closed/wall,
/area/station/medical/medbay/central)
-"tFS" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/airlock/research{
- name = "Development Division Access"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/white/textured_half{
- dir = 1
- },
-/area/station/science/lobby)
"tFX" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 8
@@ -55485,6 +55568,20 @@
/obj/machinery/duct,
/turf/open/floor/catwalk_floor/flat_white,
/area/station/service/kitchen/coldroom)
+"tHu" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/airlock/vault{
+ name = "Vault"
+ },
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/effect/mapping_helpers/airlock/access/all/supply/vault,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/turf/open/floor/catwalk_floor,
+/area/station/ai_monitored/command/nuke_storage)
"tHK" = (
/turf/closed/wall,
/area/station/security/prison/shower)
@@ -56201,6 +56298,11 @@
dir = 1
},
/area/station/hallway/primary/starboard)
+"tUk" = (
+/obj/machinery/firealarm/directional/west,
+/obj/effect/landmark/navigate_destination/bridge,
+/turf/open/floor/iron/smooth_half,
+/area/station/hallway/primary/central/fore)
"tUo" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -56628,18 +56730,6 @@
dir = 1
},
/area/station/hallway/primary/central/fore)
-"ubU" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/airlock/maintenance{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
-/turf/open/floor/plating,
-/area/station/maintenance/port/lesser)
"uch" = (
/obj/structure/cable,
/obj/effect/mapping_helpers/broken_floor,
@@ -57034,12 +57124,6 @@
/obj/effect/landmark/start/clown,
/turf/open/floor/stone,
/area/station/service/theater)
-"uhI" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
"uhN" = (
/obj/effect/turf_decal/tile/blue,
/obj/effect/decal/cleanable/dirt,
@@ -57719,18 +57803,6 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron,
/area/station/hallway/secondary/spacebridge)
-"usB" = (
-/obj/effect/turf_decal/delivery/red,
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/medical/glass{
- id_tag = "MedbayFoyer";
- name = "Medbay"
- },
-/obj/effect/mapping_helpers/airlock/unres,
-/obj/effect/mapping_helpers/airlock/access/all/medical/general,
-/obj/effect/landmark/navigate_destination,
-/turf/open/floor/iron/white/small,
-/area/station/medical/medbay/central)
"usF" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/structure/easel,
@@ -57738,16 +57810,6 @@
/obj/item/canvas/twentythree_twentythree,
/turf/open/floor/sepia,
/area/station/maintenance/aft)
-"usI" = (
-/obj/structure/table,
-/obj/item/storage/box/bodybags{
- pixel_x = 4;
- pixel_y = 5
- },
-/obj/effect/turf_decal/tile/dark_red/opposingcorners,
-/obj/machinery/airalarm/directional/north,
-/turf/open/floor/iron,
-/area/station/security/tram)
"usJ" = (
/turf/open/floor/iron/kitchen/small,
/area/station/maintenance/aft)
@@ -58475,6 +58537,15 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
+"uFL" = (
+/obj/effect/turf_decal/stripes/white/line,
+/obj/structure/industrial_lift/tram/white,
+/obj/structure/window/reinforced/tram/directional/south,
+/obj/structure/chair/sofa/bench/left{
+ dir = 1
+ },
+/turf/open/floor/noslip/tram_platform,
+/area/station/maintenance/port/aft)
"uFQ" = (
/obj/structure/closet/crate/coffin,
/obj/structure/window/spawner/directional/south,
@@ -59120,6 +59191,13 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
+"uQG" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/landmark/navigate_destination/chapel,
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"uQK" = (
/obj/structure/chair/sofa/bench/right{
dir = 1
@@ -59207,6 +59285,23 @@
/obj/machinery/skill_station,
/turf/open/floor/wood/parquet,
/area/station/service/library)
+"uSh" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/airlock/research{
+ name = "Development Division Access"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/unres,
+/turf/open/floor/iron/white/textured_half{
+ dir = 1
+ },
+/area/station/science/lobby)
"uSi" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -59404,16 +59499,6 @@
/obj/machinery/newscaster/directional/east,
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"uUV" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/dark_red/half/contrasted,
-/obj/machinery/light/cold/directional/north,
-/turf/open/floor/iron,
-/area/station/security)
"uVb" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/west,
@@ -60165,15 +60250,6 @@
/obj/structure/closet/emcloset,
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
-"vie" = (
-/obj/effect/turf_decal/stripes/white/line{
- dir = 8
- },
-/obj/structure/window/reinforced/tram/left/directional/west,
-/obj/structure/chair/comfy/shuttle,
-/obj/structure/industrial_lift/tram,
-/turf/open/floor/noslip/tram_platform,
-/area/station/security/tram)
"vij" = (
/obj/structure/chair/comfy/black{
dir = 4
@@ -60336,6 +60412,17 @@
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/wood/large,
/area/station/service/hydroponics/garden/monastery)
+"vkE" = (
+/obj/structure/cable,
+/obj/machinery/door/airlock/maintenance{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/security/general,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"vkG" = (
/obj/effect/turf_decal/siding/wood/corner{
dir = 1
@@ -61542,6 +61629,17 @@
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron/smooth_large,
/area/station/science/ordnance/storage)
+"vDj" = (
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 8
+ },
+/obj/structure/window/reinforced/tram/directional/west,
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/structure/industrial_lift/tram,
+/turf/open/floor/noslip/tram_platform,
+/area/station/security/tram)
"vDB" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -64509,23 +64607,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"wwZ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock/research{
- name = "Research Division Access"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/white/textured_half{
- dir = 1
- },
-/area/station/science/research)
"wxd" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -64626,6 +64707,15 @@
/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/iron,
/area/station/engineering/break_room)
+"wyR" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/siding/brown{
+ dir = 5
+ },
+/obj/item/radio/intercom/directional/north,
+/turf/open/floor/iron/smooth,
+/area/station/command/bridge)
"wyY" = (
/obj/structure/disposalpipe/segment,
/obj/structure/table/wood,
@@ -64802,20 +64892,6 @@
/obj/machinery/flasher/directional/east,
/turf/open/floor/iron/half,
/area/station/hallway/primary/central/fore)
-"wCu" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/airlock/research{
- name = "Research Division Access"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/white/textured_half{
- dir = 1
- },
-/area/station/science/research)
"wCx" = (
/obj/effect/turf_decal/siding/green{
dir = 8
@@ -65619,6 +65695,16 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
+"wOZ" = (
+/obj/effect/turf_decal/stripes/white/line,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos)
"wPd" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/starboard/lesser)
@@ -66280,6 +66366,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"wYt" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/navigate_destination/chemfactory,
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/central)
"wYv" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
dir = 9
@@ -66487,16 +66584,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"xaA" = (
-/obj/effect/landmark/navigate_destination,
-/obj/machinery/door/airlock/external{
- name = "Departure Lounge Airlock"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/hallway/secondary/exit/departure_lounge)
"xaC" = (
/obj/machinery/holopad,
/turf/open/floor/iron,
@@ -66705,6 +66792,12 @@
},
/turf/open/floor/iron/white/corner,
/area/station/hallway/secondary/exit/departure_lounge)
+"xdY" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/landmark/navigate_destination/det,
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"xen" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -67709,17 +67802,6 @@
dir = 1
},
/area/station/command/bridge)
-"xqx" = (
-/obj/effect/turf_decal/stripes/white/line{
- dir = 4
- },
-/obj/structure/window/reinforced/tram/mid/directional/east,
-/obj/structure/chair{
- dir = 1
- },
-/obj/structure/industrial_lift/tram,
-/turf/open/floor/noslip/tram_platform,
-/area/station/security/tram)
"xqC" = (
/turf/closed/wall,
/area/station/maintenance/hallway/abandoned_command)
@@ -68072,6 +68154,16 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"xvi" = (
+/obj/machinery/door/airlock/hatch,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
+/turf/open/floor/catwalk_floor/iron_smooth,
+/area/station/maintenance/department/engine)
"xvl" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -68161,6 +68253,17 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/security/prison/work)
+"xwV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/brown/fourcorners,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/landmark/navigate_destination/cargo,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"xxa" = (
/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input,
/turf/open/floor/engine/vacuum,
@@ -68930,16 +69033,6 @@
},
/turf/open/floor/iron/terracotta/small,
/area/station/security/checkpoint/escape)
-"xHl" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
"xHm" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -69392,6 +69485,16 @@
},
/turf/open/floor/iron,
/area/station/security/brig/entrance)
+"xNL" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/landmark/navigate_destination/janitor,
+/turf/open/floor/iron,
+/area/station/commons/dorms)
"xNS" = (
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
@@ -69439,6 +69542,15 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"xOn" = (
+/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/tile/dark_red/half/contrasted,
+/obj/machinery/camera/autoname/directional/north,
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron,
+/area/station/security/execution/transfer)
"xOw" = (
/obj/structure/bed{
dir = 4
@@ -69628,6 +69740,15 @@
"xQr" = (
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/station/engineering/supermatter)
+"xQt" = (
+/obj/effect/turf_decal/stripes/white/line,
+/obj/structure/industrial_lift/tram/white,
+/obj/structure/window/reinforced/tram/directional/south,
+/obj/structure/chair/sofa/bench/right{
+ dir = 1
+ },
+/turf/open/floor/noslip/tram_platform,
+/area/station/maintenance/port/aft)
"xQw" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -69776,6 +69897,12 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
+"xSm" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/navigate_destination/library,
+/turf/open/floor/wood/parquet,
+/area/station/service/library)
"xSp" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/blue/half/contrasted{
@@ -69804,6 +69931,16 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
+"xSL" = (
+/obj/structure/table,
+/obj/item/storage/box/prisoner{
+ pixel_y = 6
+ },
+/obj/machinery/light/cold/directional/north,
+/obj/effect/turf_decal/tile/dark_red/opposingcorners,
+/obj/machinery/incident_display/tram/directional/north,
+/turf/open/floor/iron,
+/area/station/security/tram)
"xSO" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -70037,13 +70174,6 @@
},
/turf/open/floor/plating/rust,
/area/station/maintenance/department/engine)
-"xVz" = (
-/obj/machinery/door/airlock/public/glass{
- name = "Commons"
- },
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/textured_half,
-/area/station/commons)
"xVG" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -81233,7 +81363,7 @@ fyv
vFD
vZW
rCv
-xaA
+qjm
reM
xKi
reM
@@ -81483,7 +81613,7 @@ snZ
mni
rQS
rQS
-rQS
+fIh
rQS
rQS
dBH
@@ -81654,7 +81784,7 @@ cwg
xZV
xZV
xYG
-oAu
+rmS
tod
vFW
aAt
@@ -82431,7 +82561,7 @@ coA
hzi
bEG
leh
-dsr
+eAH
aVj
bJL
iQv
@@ -82541,7 +82671,7 @@ vFy
vGU
rOG
hbm
-nth
+gRV
vSW
fEC
vmL
@@ -83225,7 +83355,7 @@ ddj
dvb
cwf
eop
-eGt
+pBC
fcD
fta
xae
@@ -83474,7 +83604,7 @@ dvR
dIe
dRE
ecF
-cIe
+lVe
hjT
ioQ
eQe
@@ -83717,7 +83847,7 @@ aBs
aKG
omJ
yjE
-aWE
+xvi
yjE
bUk
yfa
@@ -83737,7 +83867,7 @@ ieu
eQi
fbq
dxP
-dTu
+kMU
eoY
xae
xae
@@ -84767,7 +84897,7 @@ dfB
dAl
dUT
epq
-dTu
+kMU
ffs
eGt
fHQ
@@ -85112,7 +85242,7 @@ ftm
uxD
qVP
nGA
-ubU
+pST
iSK
aVX
tTg
@@ -85339,7 +85469,7 @@ xRZ
wAZ
wXk
xgN
-oSY
+uQG
kar
vnr
vIh
@@ -85381,10 +85511,10 @@ rBE
lzM
aFR
hYz
-vie
-obW
-obW
-lLu
+lmk
+cFf
+cFf
+vDj
jUN
aFR
kGC
@@ -85869,7 +85999,7 @@ qVP
hiq
lUV
gEH
-uUV
+ijo
iWE
tAs
tAs
@@ -85895,10 +86025,10 @@ ckH
lzM
aFR
ryj
-qLl
+kVD
cID
cID
-xqx
+nBR
gXd
aFR
kGC
@@ -86052,7 +86182,7 @@ djj
dBi
dWI
eqX
-dTu
+kMU
fjK
eGt
fMN
@@ -86294,9 +86424,9 @@ dzT
bpm
dWp
ybO
-dcp
+ijf
tly
-eVb
+mYC
lPf
fNk
glB
@@ -86434,7 +86564,7 @@ dDB
dDB
rtQ
rtQ
-gDV
+xSL
vKG
nne
oKy
@@ -86656,7 +86786,7 @@ yjr
aTq
wuc
trp
-bGs
+vkE
trp
trp
wuc
@@ -86691,7 +86821,7 @@ blb
blb
blb
rtQ
-usI
+mmD
pzA
abJ
vKG
@@ -86921,7 +87051,7 @@ wuc
pvh
lQG
lzM
-mRj
+eze
uMu
ulI
lzM
@@ -87079,7 +87209,7 @@ eTL
eTL
fnp
dXK
-eru
+nBt
hYC
fjS
xae
@@ -87336,8 +87466,8 @@ cUd
dkW
fnp
dXT
-esc
-eJp
+wOZ
+rWQ
vpl
tJO
fNA
@@ -87485,7 +87615,7 @@ wpy
xXV
tYq
pZm
-nxc
+mBx
wjZ
eaT
pDu
@@ -87594,7 +87724,7 @@ dll
fpk
fAZ
fHn
-eKT
+cwf
flg
ftZ
fOn
@@ -87880,12 +88010,12 @@ sjq
sjq
syx
jIh
-ton
+cuN
jhs
kso
kHH
kYG
-lnU
+hRO
lJY
uSM
naE
@@ -87909,7 +88039,7 @@ jAe
yfC
wWT
jjS
-xOS
+xdY
lBN
vOP
ixl
@@ -88348,8 +88478,8 @@ sZu
bKu
cpt
yjE
-pXg
-bAk
+gDD
+awK
dOq
dOq
jcF
@@ -88477,9 +88607,9 @@ wyA
xul
pND
trp
-mgk
+bRi
qOv
-gem
+jqe
vJH
xAR
trp
@@ -88607,7 +88737,7 @@ dAS
yjE
mfK
iHy
-eyo
+hVC
dmw
hDX
dyG
@@ -88730,13 +88860,13 @@ ujr
rKv
dYp
trp
-fDz
+piD
xul
knJ
fAr
-sBa
+lly
qOv
-rLv
+xQt
vJH
xAR
trp
@@ -88765,7 +88895,7 @@ wbf
prq
mTP
qPN
-kXe
+xOn
ccs
kPk
wjZ
@@ -88864,9 +88994,9 @@ tWj
cAh
cLn
blb
-blb
+lrC
fPb
-fas
+kht
dzl
fQN
wBo
@@ -88880,7 +89010,7 @@ qbB
fBe
fIg
eLL
-fod
+czb
ffs
eGt
gjT
@@ -88987,13 +89117,13 @@ etx
fwS
ePg
trp
-lib
+jjN
knJ
xul
mxM
iaZ
cSD
-chF
+brV
vJH
xAR
trp
@@ -89244,13 +89374,13 @@ kIn
sgT
oRP
trp
-aqV
+iCH
knJ
nFu
mxM
gTk
jMv
-chF
+brV
vJH
xAR
trp
@@ -89505,9 +89635,9 @@ mPv
bbU
knJ
fAr
-dDW
+ejm
qOv
-qfQ
+uFL
vJH
xAR
trp
@@ -89706,7 +89836,7 @@ sel
rDy
uWB
yeu
-tFg
+bFS
tXT
wHE
qnz
@@ -89762,9 +89892,9 @@ vUf
vAU
caE
trp
-eYQ
+bWq
qOv
-nXL
+oTm
vJH
xAR
trp
@@ -89966,7 +90096,7 @@ pxl
wXO
xjh
alh
-oio
+kiw
tJz
vLC
rJH
@@ -90158,7 +90288,7 @@ yjE
vxt
hOy
eUi
-eKY
+akB
eUi
feq
dIt
@@ -90183,7 +90313,7 @@ gKU
gRe
iCw
jDP
-hnr
+plW
hvy
mXB
xRV
@@ -90192,7 +90322,7 @@ xRV
xRV
smV
lCg
-pqI
+xwV
jXk
xRV
vKR
@@ -90929,7 +91059,7 @@ smo
vxt
gUS
sne
-cPj
+jUQ
cXP
msg
fRG
@@ -90955,7 +91085,7 @@ inR
toU
hhi
jax
-hvz
+iQs
xnQ
nTa
tlt
@@ -91212,7 +91342,7 @@ inU
iCN
lYj
mmw
-hwg
+oKB
hCr
tsF
xRV
@@ -91243,7 +91373,7 @@ efC
efC
vpN
oTo
-vpN
+lpv
vpN
vkh
vkh
@@ -91751,7 +91881,7 @@ paV
wLJ
oXe
jVM
-puT
+egq
ycS
tEI
ycS
@@ -92462,7 +92592,7 @@ qin
bst
hyD
kpz
-tnx
+nMo
sRP
yjE
yjE
@@ -92770,7 +92900,7 @@ uIv
okp
qfF
wuw
-wuw
+xSm
pNa
qfF
xAq
@@ -93277,8 +93407,8 @@ iLC
iLC
jts
wzK
-mvb
-djR
+jKG
+eTH
kuE
wQB
xeO
@@ -94331,7 +94461,7 @@ rIg
prQ
uXb
sSr
-wEp
+boB
wYV
xli
blb
@@ -94807,7 +94937,7 @@ gFv
uFm
cKV
xsh
-hcJ
+bdg
xGJ
oTF
jwi
@@ -94819,7 +94949,7 @@ izD
uAY
izL
uAY
-jYW
+kxR
vrn
oGJ
wVZ
@@ -95625,11 +95755,11 @@ qtl
qTM
vHL
ozd
-qTM
+osV
xbP
rUB
rUB
-eLY
+tHu
xcv
nBw
ghQ
@@ -95831,7 +95961,7 @@ dDB
dDB
dDB
ycC
-gHn
+jNz
mPJ
mPJ
ipD
@@ -95848,7 +95978,7 @@ opn
jwa
opn
jYY
-tSe
+cId
oGJ
wQB
xeO
@@ -96088,7 +96218,7 @@ dDB
dDB
dDB
ycC
-gHG
+dfL
mQz
noq
iqp
@@ -96345,7 +96475,7 @@ blb
blb
ycC
ycC
-gHJ
+wyR
kHi
gLM
iqF
@@ -96386,7 +96516,7 @@ ril
vVw
vFv
vVw
-sTl
+aRa
wEp
tIL
tYX
@@ -96849,7 +96979,7 @@ fKc
eVz
fTe
xvT
-fWH
+jqM
xvT
gfs
gwS
@@ -97130,8 +97260,8 @@ koD
oUd
iNV
oUd
-lGA
-jNZ
+nHT
+tUk
mzM
tWL
kyZ
@@ -97877,7 +98007,7 @@ eBN
fQY
fTh
xvT
-fZw
+dKo
xvT
gfs
jEZ
@@ -97928,7 +98058,7 @@ wLA
rNA
siP
sEK
-sWj
+mcR
tqK
tIL
tYX
@@ -98497,7 +98627,7 @@ xXG
wgL
hcv
sSQ
-rAj
+rzL
uOw
eBQ
qDD
@@ -99427,7 +99557,7 @@ kIj
kxX
kIj
kIj
-jPO
+tfN
eDN
gcz
gcz
@@ -100819,7 +100949,7 @@ qNj
qNj
kVb
sSQ
-gPQ
+dGT
sSQ
sSQ
sSQ
@@ -101028,8 +101158,8 @@ xSp
dUC
qTK
vnF
-pRQ
-usB
+qXN
+seX
vsx
xZY
tFQ
@@ -101511,7 +101641,7 @@ dYG
gzx
wRL
qIv
-qIv
+jBs
qZq
qIv
oEi
@@ -101528,7 +101658,7 @@ vrY
vrY
sXq
wGu
-nhZ
+bWL
xoa
uCp
yeh
@@ -102847,7 +102977,7 @@ rAt
nzc
rQF
lIh
-swN
+wYt
xuD
ckV
tAS
@@ -103030,7 +103160,7 @@ aJq
aJq
xqC
gMK
-itq
+sSL
oAC
rZu
uPt
@@ -103303,7 +103433,7 @@ mhu
nJH
kkD
kjh
-kJZ
+gaW
ons
lyj
lOa
@@ -104080,7 +104210,7 @@ lyp
pij
pwz
pWX
-nfO
+xNL
qIv
nOf
rsv
@@ -104367,7 +104497,7 @@ pDU
qcQ
nSA
pDU
-jOk
+oFW
pDU
koz
qcQ
@@ -104624,7 +104754,7 @@ ldq
oom
ssz
yeP
-lBO
+sYt
yeP
yeP
iPF
@@ -104844,7 +104974,7 @@ sIA
jPq
kaF
roB
-kDl
+bJE
roB
lde
sRL
@@ -104925,7 +105055,7 @@ cmz
hOR
sSQ
yhv
-myW
+qRz
tVc
jtK
shL
@@ -106395,7 +106525,7 @@ dSl
wXt
qkF
wXt
-xVz
+rWu
toA
rvy
fQi
@@ -106719,7 +106849,7 @@ vbR
vbR
vbR
vbR
-vbR
+bow
vbR
ykn
vbR
@@ -107433,7 +107563,7 @@ gle
qfo
qvM
uFJ
-rrF
+fJw
toA
ssj
waT
@@ -109494,7 +109624,7 @@ wPd
ssF
vmn
pqm
-xqW
+pqm
tOZ
ugC
xPY
@@ -109751,7 +109881,7 @@ bjL
vMt
vCl
vMt
-xqW
+pqm
tPm
fTM
bAs
@@ -110008,10 +110138,10 @@ rVj
vMt
sJw
lup
-eBx
+hiA
xRg
xuu
-bSW
+pIT
wQP
xPv
uSi
@@ -110265,7 +110395,7 @@ xOM
vMt
tQQ
vMt
-xqW
+pqm
eDz
fTM
xRB
@@ -110522,7 +110652,7 @@ wPd
mzo
sJF
pqm
-xqW
+pqm
tOZ
alb
qzn
@@ -110821,7 +110951,7 @@ jFh
tuT
kTw
kOV
-tob
+dBN
kTw
kTw
hLU
@@ -111809,7 +111939,7 @@ wbu
tbD
tyA
tTx
-uhI
+fzo
xSZ
vbA
vAK
@@ -112337,7 +112467,7 @@ rUI
xDg
wtT
pWl
-mpc
+uSh
phZ
wbp
wMH
@@ -112631,7 +112761,7 @@ svs
svs
grm
svs
-bab
+jsY
svs
grm
svs
@@ -112851,7 +112981,7 @@ qEe
sRj
jkz
ifU
-tFS
+iPo
cAb
xjb
pAF
@@ -113093,9 +113223,9 @@ dDF
vkn
vMC
xFA
-wCu
+aHy
xFA
-wwZ
+qWp
xFA
mdt
mdt
@@ -114173,7 +114303,7 @@ svs
svs
grm
svs
-bab
+jsY
svs
grm
svs
@@ -115702,7 +115832,7 @@ gky
lrh
gky
vbm
-tah
+oIj
xEc
gky
niZ
@@ -117994,7 +118124,7 @@ xok
xok
qID
iHM
-cph
+kpE
lDc
oAc
joj
@@ -118743,7 +118873,7 @@ urm
vbj
xok
dex
-fWJ
+oXg
qNO
xaN
vhC
@@ -119533,7 +119663,7 @@ xok
xok
xok
bWt
-xHl
+mNq
bCQ
qgq
ruo
@@ -119568,7 +119698,7 @@ svs
mWT
gyi
lwY
-rHP
+lDq
mCf
wfk
dKA
@@ -120308,7 +120438,7 @@ lkV
tDM
okW
kQt
-mcQ
+ggY
hyE
xKl
vkW
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index 8e3837f0ee1..44be376ac4f 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -1381,6 +1381,11 @@
/obj/effect/spawner/random/food_or_drink/snack,
/turf/open/floor/carpet/black,
/area/station/maintenance/port)
+"aqb" = (
+/obj/machinery/airalarm/directional/north,
+/obj/effect/mapping_helpers/airalarm/engine_access,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter)
"aqc" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
dir = 4
@@ -3930,6 +3935,11 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"aWt" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible,
+/obj/machinery/incident_display/delam/directional/south,
+/turf/open/floor/iron,
+/area/station/engineering/supermatter/room)
"aWu" = (
/obj/structure/cable,
/obj/machinery/door/poddoor/preopen{
@@ -8141,23 +8151,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/wood,
/area/station/maintenance/port/aft)
-"bVI" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/item/kirbyplants/random,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light_switch/directional/north,
-/obj/machinery/camera/directional/north{
- c_tag = "Engineering - Fore";
- name = "engineering camera"
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"bVJ" = (
/obj/machinery/camera/directional/north{
c_tag = "Central Hallway - Center";
@@ -11529,6 +11522,26 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"cNk" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/research{
+ name = "Research Division Access"
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/obj/effect/mapping_helpers/airlock/unres,
+/turf/open/floor/iron,
+/area/station/science/research)
"cNp" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/command{
@@ -15080,15 +15093,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"dKp" = (
-/obj/machinery/rnd/production/protolathe/department/science,
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/structure/sign/departments/science/alt/directional/east,
-/obj/structure/sign/clock/directional/north,
-/turf/open/floor/iron,
-/area/station/science/lab)
"dKs" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -18064,6 +18068,13 @@
},
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"eyb" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/yellow/opposingcorners,
+/obj/machinery/incident_display/delam/directional/north,
+/turf/open/floor/iron,
+/area/station/engineering/supermatter/room)
"eyr" = (
/obj/item/kirbyplants/random,
/obj/machinery/power/apc/auto_name/directional/north,
@@ -19161,13 +19172,6 @@
/obj/effect/turf_decal/tile/neutral/full,
/turf/open/floor/iron/large,
/area/station/medical/virology)
-"eNt" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/item/radio/intercom/directional/north,
-/obj/effect/turf_decal/tile/yellow/opposingcorners,
-/turf/open/floor/iron,
-/area/station/engineering/supermatter/room)
"eNB" = (
/obj/effect/turf_decal/siding/green{
dir = 8
@@ -20104,19 +20108,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
-"eYu" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/sign/nanotrasen{
- pixel_y = 32
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"eYy" = (
/obj/structure/cable,
/obj/structure/closet/secure_closet/atmospherics,
@@ -20735,14 +20726,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"ffN" = (
-/obj/structure/sign/poster/random/directional/south,
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow/opposingcorners,
-/turf/open/floor/iron,
-/area/station/commons/lounge)
"ffP" = (
/obj/item/radio/intercom/directional/east,
/obj/item/kirbyplants/random,
@@ -25802,16 +25785,6 @@
/obj/item/toy/cards/deck,
/turf/open/floor/iron/grimy,
/area/station/service/abandoned_gambling_den)
-"gtA" = (
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/item/mod/module/plasma_stabilizer,
-/obj/item/mod/module/thermal_regulator,
-/obj/structure/table/reinforced,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/medical/storage)
"gtG" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -26382,6 +26355,16 @@
"gAw" = (
/turf/closed/wall/r_wall,
/area/station/engineering/supermatter/room)
+"gAx" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"gAE" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/purple{
@@ -29120,6 +29103,22 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron,
/area/station/command/heads_quarters/rd)
+"hlb" = (
+/obj/structure/table/reinforced,
+/obj/effect/spawner/random/entertainment/cigarette_pack{
+ pixel_x = 3;
+ pixel_y = 2
+ },
+/obj/effect/spawner/random/entertainment/cigarette_pack{
+ pixel_x = 3;
+ pixel_y = 2
+ },
+/obj/item/storage/box/coffeepack{
+ pixel_x = -13;
+ pixel_y = 7
+ },
+/turf/open/floor/wood,
+/area/station/engineering/break_room)
"hlj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/holopad,
@@ -30592,6 +30591,23 @@
dir = 1
},
/area/station/medical/morgue)
+"hFR" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/research{
+ name = "Research Division Access"
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/unres,
+/turf/open/floor/iron,
+/area/station/science/research)
"hFS" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/line{
@@ -35121,6 +35137,15 @@
},
/turf/open/floor/engine/vacuum,
/area/station/engineering/atmos)
+"iMG" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/airalarm/directional/east,
+/obj/structure/closet/firecloset,
+/obj/effect/turf_decal/delivery,
+/obj/item/radio/intercom/directional/north,
+/turf/open/floor/iron,
+/area/station/engineering/supermatter/room)
"iMH" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -36719,6 +36744,19 @@
/obj/effect/turf_decal/tile/red/anticorner/contrasted,
/turf/open/floor/iron,
/area/station/security/checkpoint/medical/medsci)
+"jgg" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/aft)
"jgl" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/grunge{
@@ -39130,6 +39168,22 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/cargo/lobby)
+"jJX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/item/kirbyplants/random,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/camera/directional/north{
+ c_tag = "Engineering - Fore";
+ name = "engineering camera"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"jKb" = (
/obj/effect/turf_decal/siding/white{
dir = 5
@@ -40562,13 +40616,6 @@
},
/turf/open/floor/iron,
/area/station/maintenance/port)
-"kbQ" = (
-/obj/machinery/vending/coffee,
-/obj/effect/turf_decal/bot,
-/obj/structure/sign/clock/directional/south,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/commons/locker)
"kbT" = (
/obj/machinery/camera/directional/south{
c_tag = "Central Hallway - Center Port";
@@ -42902,6 +42949,13 @@
/obj/item/pen,
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"kGu" = (
+/obj/machinery/vending/coffee,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/commons/locker)
"kGA" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/carpet/red,
@@ -45108,13 +45162,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/virology)
-"ljO" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/status_display/ai/directional/north,
-/obj/effect/turf_decal/tile/yellow/opposingcorners,
-/turf/open/floor/iron,
-/area/station/engineering/supermatter/room)
"ljP" = (
/obj/structure/cable,
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
@@ -47900,6 +47947,17 @@
"lTv" = (
/turf/closed/wall,
/area/station/security/prison/safe)
+"lTw" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/incident_display/delam/directional/north,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"lTx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
@@ -49167,23 +49225,6 @@
/obj/machinery/light/directional/north,
/turf/open/floor/iron,
/area/station/engineering/main)
-"mnh" = (
-/obj/structure/table/reinforced,
-/obj/machinery/airalarm/directional/north,
-/obj/effect/spawner/random/entertainment/cigarette_pack{
- pixel_x = 3;
- pixel_y = 2
- },
-/obj/effect/spawner/random/entertainment/cigarette_pack{
- pixel_x = 3;
- pixel_y = 2
- },
-/obj/item/storage/box/coffeepack{
- pixel_x = -13;
- pixel_y = 7
- },
-/turf/open/floor/wood,
-/area/station/engineering/break_room)
"mnz" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -50135,18 +50176,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/corporate_showroom)
-"mzO" = (
-/obj/structure/table/reinforced,
-/obj/machinery/newscaster/directional/north,
-/obj/item/clipboard,
-/obj/item/toy/figure/engineer{
- pixel_x = -6
- },
-/obj/item/toy/figure/atmos{
- pixel_x = 6
- },
-/turf/open/floor/wood,
-/area/station/engineering/break_room)
"mzV" = (
/obj/effect/landmark/start/hangover,
/obj/effect/turf_decal/bot,
@@ -59879,6 +59908,15 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
+"pdE" = (
+/obj/structure/sign/poster/random/directional/south,
+/obj/effect/turf_decal/tile/red/opposingcorners{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow/opposingcorners,
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron,
+/area/station/commons/lounge)
"pdF" = (
/obj/structure/closet/crate/preopen,
/obj/structure/sign/nanotrasen{
@@ -65403,26 +65441,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
-"qsI" = (
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/machinery/door/window/right/directional/west{
- name = "Supply Storage";
- req_access = list("medical")
- },
-/obj/item/storage/box/syringes,
-/obj/item/storage/box/beakers{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/gun/syringe,
-/obj/item/gun/syringe,
-/obj/structure/table/reinforced,
-/obj/structure/sign/clock/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/medical/storage)
"qsN" = (
/obj/structure/chair{
dir = 4
@@ -68933,6 +68951,25 @@
/obj/structure/sign/poster/contraband/free_drone/directional/north,
/turf/open/floor/iron,
/area/station/science/research/abandoned)
+"rmR" = (
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/machinery/door/window/right/directional/west{
+ name = "Supply Storage";
+ req_access = list("medical")
+ },
+/obj/item/storage/box/syringes,
+/obj/item/storage/box/beakers{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/gun/syringe,
+/obj/item/gun/syringe,
+/obj/structure/table/reinforced,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/medical/storage)
"rmV" = (
/obj/machinery/newscaster/directional/east,
/obj/effect/turf_decal/bot,
@@ -73912,6 +73949,18 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/morgue)
+"sAM" = (
+/obj/structure/table/reinforced,
+/obj/item/clipboard,
+/obj/item/toy/figure/engineer{
+ pixel_x = -6
+ },
+/obj/item/toy/figure/atmos{
+ pixel_x = 6
+ },
+/obj/machinery/incident_display/delam/directional/north,
+/turf/open/floor/wood,
+/area/station/engineering/break_room)
"sAU" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
@@ -76861,12 +76910,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"tou" = (
-/obj/structure/sign/delamination_counter/directional/west,
-/obj/machinery/airalarm/directional/north,
-/obj/effect/mapping_helpers/airalarm/engine_access,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter)
"toy" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -79873,14 +79916,6 @@
},
/turf/open/floor/iron/white,
/area/station/command/heads_quarters/rd)
-"tYY" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/airalarm/directional/east,
-/obj/structure/closet/firecloset,
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/iron,
-/area/station/engineering/supermatter/room)
"tZi" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -80193,25 +80228,6 @@
/obj/effect/turf_decal/tile/neutral/full,
/turf/open/floor/iron/large,
/area/station/security/processing)
-"ucM" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/research{
- name = "Research Division Access"
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/science/research)
"ucW" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -81383,22 +81399,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
-"usV" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/research{
- name = "Research Division Access"
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/science/research)
"utj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -81623,6 +81623,17 @@
/obj/effect/turf_decal/tile/red/anticorner/contrasted,
/turf/open/floor/iron/dark,
/area/station/security/checkpoint/medical/medsci)
+"uwB" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/item/mod/module/plasma_stabilizer,
+/obj/item/mod/module/thermal_regulator,
+/obj/structure/table/reinforced,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron,
+/area/station/medical/storage)
"uwJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -83855,6 +83866,14 @@
},
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
+"uYZ" = (
+/obj/structure/sign/nanotrasen{
+ pixel_x = 32
+ },
+/obj/item/kirbyplants/random,
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/wood,
+/area/station/commons/dorms)
"uZf" = (
/obj/structure/flora/bush/flowers_br/style_random,
/obj/structure/flora/bush/lavendergrass,
@@ -84858,6 +84877,15 @@
"vmt" = (
/turf/closed/wall/r_wall,
/area/station/engineering/transit_tube)
+"vmE" = (
+/obj/machinery/rnd/production/protolathe/department/science,
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/structure/sign/departments/science/alt/directional/east,
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron,
+/area/station/science/lab)
"vmK" = (
/obj/effect/turf_decal/siding/yellow,
/obj/structure/table,
@@ -85420,6 +85448,17 @@
/obj/structure/chair/office,
/turf/open/floor/carpet/orange,
/area/station/commons/dorms)
+"vtG" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/firealarm/directional/north,
+/obj/machinery/light_switch/directional/north{
+ pixel_x = -8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"vtM" = (
/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
@@ -85482,14 +85521,6 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron,
/area/station/commons/vacant_room/commissary)
-"vuy" = (
-/obj/structure/sign/nanotrasen{
- pixel_x = 32
- },
-/obj/item/kirbyplants/random,
-/obj/structure/sign/clock/directional/north,
-/turf/open/floor/wood,
-/area/station/commons/dorms)
"vuG" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -86828,14 +86859,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"vKY" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/firealarm/directional/north,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"vLd" = (
/obj/machinery/light/small/directional/east,
/obj/structure/closet/secure_closet/brig{
@@ -90010,15 +90033,6 @@
},
/turf/open/floor/plating,
/area/station/command/bridge)
-"wyJ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/landmark/start/hangover,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/sign/delamination_counter/directional/north,
-/turf/open/floor/iron,
-/area/station/engineering/break_room)
"wyN" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
dir = 10
@@ -95708,6 +95722,15 @@
},
/turf/open/floor/iron,
/area/station/maintenance/port)
+"xXE" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/landmark/start/hangover,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/airalarm/directional/north,
+/turf/open/floor/iron,
+/area/station/engineering/break_room)
"xXI" = (
/obj/structure/table/reinforced,
/obj/item/storage/box/bodybags{
@@ -116968,7 +116991,7 @@ glb
dRK
wcP
yeO
-nbZ
+aWt
nCi
kmS
fCk
@@ -117226,7 +117249,7 @@ vrs
qJI
iQV
nbZ
-akM
+nCi
cOx
uGn
axu
@@ -118759,7 +118782,7 @@ eHy
qJs
cxp
sHT
-tou
+aqb
tsa
bPI
sHT
@@ -119013,7 +119036,7 @@ lkN
cwp
ubM
gAw
-eNt
+eyb
ehD
sHT
sHT
@@ -119247,7 +119270,7 @@ tsB
sch
cKK
vQj
-mzO
+sAM
agA
hHJ
tgl
@@ -119270,7 +119293,7 @@ jZV
jZV
gAw
gAw
-ljO
+qJs
okr
bWa
nrP
@@ -119504,7 +119527,7 @@ lKe
nZW
qAz
vQj
-mnh
+hlb
agA
uzb
jLx
@@ -120021,7 +120044,7 @@ vQj
uCa
uCa
leE
-wyJ
+xXE
kyW
jzU
bAR
@@ -120298,7 +120321,7 @@ kGe
kGe
gtj
gAw
-tYY
+iMG
mTo
pjN
ckC
@@ -121833,7 +121856,7 @@ wxd
iBR
iBR
tqo
-eYu
+lTw
bfX
cui
maI
@@ -122089,8 +122112,8 @@ elK
jyz
xbD
kgP
-lDV
-bVI
+tqo
+jJX
vvH
oks
fSG
@@ -123118,7 +123141,7 @@ slp
slp
slp
bJI
-vKY
+vtG
mgk
cui
kpD
@@ -129829,11 +129852,11 @@ mUt
utj
tQt
xaS
-ucM
+cNk
qAG
kzT
alT
-ucM
+cNk
tWa
kSR
pba
@@ -130343,11 +130366,11 @@ oPE
flF
oqJ
saz
-usV
+hFR
nHB
mHq
qLE
-usV
+hFR
eAO
ban
jqx
@@ -132046,7 +132069,7 @@ aaa
aaa
aaa
sjt
-kEn
+gAx
kJd
wTn
sjt
@@ -132657,7 +132680,7 @@ pXk
hXQ
lfz
fvi
-dKp
+vmE
qvK
jFP
veR
@@ -133364,7 +133387,7 @@ pri
qkA
nWI
rbk
-ffN
+pdE
vnU
bTy
eex
@@ -138071,8 +138094,8 @@ ako
nFO
tqw
pIR
-qsI
-gtA
+rmR
+uwB
ako
ako
gMX
@@ -142662,7 +142685,7 @@ cBN
tXa
nXo
iVq
-lRk
+jgg
crR
iee
iYi
@@ -144979,7 +145002,7 @@ oOx
nVB
xCF
mgX
-kbQ
+kGu
oCP
tTM
nMG
@@ -147551,7 +147574,7 @@ vbH
gYS
lQt
oCP
-vuy
+uYZ
obO
nNq
aRZ
diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
index b94b8c84c7f..0836135ea3d 100644
--- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm
+++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
@@ -688,16 +688,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"anI" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/light/directional/west,
-/obj/machinery/meter,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/machinery/status_display/ai/directional/west,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"anK" = (
/obj/effect/turf_decal/trimline/green/filled/line{
dir = 4
@@ -1249,6 +1239,13 @@
/obj/effect/mapping_helpers/airlock/access/all/supply/mining_station,
/turf/open/floor/plating,
/area/mine/eva)
+"auC" = (
+/obj/machinery/suit_storage_unit/ce,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/iron/white/textured,
+/area/station/command/heads_quarters/ce)
"auJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -7728,6 +7725,14 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/wood,
/area/station/maintenance/port/aft)
+"csF" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/light/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"csR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -16475,6 +16480,18 @@
},
/turf/open/floor/iron/white,
/area/station/medical/pharmacy)
+"feW" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/obj/machinery/door/airlock/research{
+ name = "Research Division Access"
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/effect/mapping_helpers/airlock/unres,
+/turf/open/floor/iron/white,
+/area/station/science/research)
"ffe" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/aft/lesser)
@@ -18254,6 +18271,16 @@
/obj/effect/turf_decal/tile/yellow/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos/project)
+"fKt" = (
+/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/tile/red{
+ dir = 1
+ },
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron,
+/area/station/security/prison/mess)
"fKv" = (
/obj/structure/fluff/tram_rail{
pixel_y = 17
@@ -19773,6 +19800,12 @@
/obj/structure/chair,
/turf/open/floor/iron/cafeteria,
/area/station/hallway/secondary/exit/departure_lounge)
+"gjZ" = (
+/obj/effect/turf_decal/siding/white,
+/obj/machinery/light/directional/south,
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron/white/smooth_large,
+/area/station/service/kitchen/diner)
"gka" = (
/turf/closed/wall/r_wall,
/area/station/engineering/supermatter/room)
@@ -20346,6 +20379,11 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/service/kitchen/coldroom)
+"gtb" = (
+/obj/machinery/light/directional/north,
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"gtc" = (
/obj/effect/turf_decal/siding/white{
dir = 1
@@ -21396,6 +21434,14 @@
/obj/structure/sign/warning/biohazard,
/turf/closed/wall/r_wall,
/area/station/science/xenobiology)
+"gLT" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/machinery/incident_display/delam/directional/north,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"gLZ" = (
/obj/structure/table,
/obj/item/flashlight/lamp,
@@ -24859,17 +24905,6 @@
/obj/item/crowbar,
/turf/open/floor/iron,
/area/station/command/teleporter)
-"hVc" = (
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 8;
- id = "hopqueue";
- name = "HoP Queue Shutters"
- },
-/obj/effect/turf_decal/loading_area{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central)
"hVo" = (
/obj/effect/spawner/random/maintenance,
/obj/structure/table,
@@ -29672,14 +29707,6 @@
/obj/machinery/space_heater,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"jyh" = (
-/obj/structure/table/wood,
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/effect/turf_decal/tile/bar/opposingcorners,
-/turf/open/floor/iron,
-/area/station/service/bar)
"jyz" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
@@ -45914,6 +45941,10 @@
},
/turf/open/floor/iron/grimy,
/area/station/commons/vacant_room/office)
+"oCq" = (
+/obj/machinery/incident_display/delam,
+/turf/closed/wall/r_wall,
+/area/station/command/bridge)
"oCs" = (
/obj/structure/table,
/obj/item/toy/figure/virologist{
@@ -47577,6 +47608,14 @@
dir = 1
},
/area/station/security/prison)
+"peD" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/machinery/status_display/ai/directional/north,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"peV" = (
/obj/machinery/portable_atmospherics/canister/air,
/turf/open/floor/plating,
@@ -49731,11 +49770,6 @@
dir = 1
},
/area/station/engineering/lobby)
-"pNV" = (
-/obj/effect/turf_decal/siding/white,
-/obj/machinery/light/directional/south,
-/turf/open/floor/iron/white/smooth_large,
-/area/station/service/kitchen/diner)
"pNY" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -52178,17 +52212,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/science/ordnance/office)
-"qEZ" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 1
- },
-/obj/machinery/door/airlock/research{
- name = "Research Division Access"
- },
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/turf/open/floor/iron/white,
-/area/station/science/research)
"qFn" = (
/obj/machinery/door/airlock/mining/glass{
name = "Mining Cabins"
@@ -52955,15 +52978,6 @@
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
/turf/closed/wall/r_wall,
/area/station/engineering/atmos)
-"qQs" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/light/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible,
-/obj/machinery/status_display/evac/directional/east,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"qQt" = (
/obj/machinery/light/small/directional/west,
/turf/open/misc/asteroid/snow/icemoon,
@@ -55071,10 +55085,6 @@
},
/turf/open/floor/plating/snowed/icemoon,
/area/icemoon/surface/outdoors/nospawn)
-"rzS" = (
-/obj/structure/sign/departments/chemistry/pharmacy/directional/west,
-/turf/open/openspace,
-/area/station/medical/medbay/lobby)
"rAr" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -56663,6 +56673,11 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/crew_quarters/bar)
+"rZO" = (
+/obj/structure/sign/departments/chemistry/pharmacy/directional/west,
+/obj/machinery/digital_clock/directional/south,
+/turf/open/openspace,
+/area/station/medical/medbay/lobby)
"rZR" = (
/obj/effect/turf_decal/trimline/blue/filled/line,
/obj/effect/landmark/start/chief_medical_officer,
@@ -59173,6 +59188,18 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/aft/greater)
+"sOv" = (
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 8;
+ id = "hopqueue";
+ name = "HoP Queue Shutters"
+ },
+/obj/effect/turf_decal/loading_area{
+ dir = 8
+ },
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central)
"sOz" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -59859,6 +59886,10 @@
/obj/structure/flora/bush/sunny/style_random,
/turf/open/floor/grass,
/area/station/service/hydroponics)
+"tbO" = (
+/obj/machinery/incident_display/delam,
+/turf/closed/wall/r_wall,
+/area/station/engineering/supermatter/room)
"tbQ" = (
/turf/open/floor/iron/grimy,
/area/station/maintenance/aft/greater)
@@ -63105,6 +63136,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply,
/turf/open/floor/iron/white,
/area/station/medical/virology)
+"ueG" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/light/directional/west,
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"ueP" = (
/obj/structure/table,
/obj/structure/reagent_dispensers/servingdish,
@@ -65617,6 +65657,14 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/plating/snowed/smoothed/icemoon,
/area/icemoon/underground/explored)
+"uWG" = (
+/obj/machinery/light/warm/directional/north,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 5
+ },
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron/dark/textured,
+/area/station/security/prison/rec)
"uWW" = (
/obj/structure/closet/cardboard,
/obj/effect/spawner/random/maintenance,
@@ -66445,14 +66493,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/disposal)
-"vkz" = (
-/obj/machinery/suit_storage_unit/ce,
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/structure/sign/delamination_counter/directional/north,
-/turf/open/floor/iron/white/textured,
-/area/station/command/heads_quarters/ce)
"vkD" = (
/obj/effect/turf_decal/trimline/blue/filled/warning{
dir = 1
@@ -68011,6 +68051,12 @@
},
/turf/open/floor/iron,
/area/station/command/heads_quarters/rd)
+"vKe" = (
+/obj/machinery/computer/security,
+/obj/effect/turf_decal/tile/red/half/contrasted,
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron,
+/area/station/command/bridge)
"vKn" = (
/obj/item/radio/intercom/directional/north,
/obj/structure/table/wood,
@@ -68259,10 +68305,6 @@
},
/turf/open/floor/plating/elevatorshaft,
/area/mine/storage)
-"vPh" = (
-/obj/machinery/light/directional/north,
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"vPi" = (
/obj/structure/table/wood,
/obj/effect/spawner/random/maintenance/four,
@@ -68768,6 +68810,19 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"vXi" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/machinery/door/airlock/research{
+ name = "Research Division Access"
+ },
+/obj/effect/landmark/navigate_destination,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/effect/mapping_helpers/airlock/unres,
+/turf/open/floor/iron/white,
+/area/station/science/research)
"vXn" = (
/obj/structure/table,
/obj/item/food/pie/cream,
@@ -71185,13 +71240,6 @@
/obj/structure/table,
/turf/open/floor/plating,
/area/station/maintenance/aft/greater)
-"wJa" = (
-/obj/machinery/light/warm/directional/north,
-/obj/effect/turf_decal/siding/wideplating/dark{
- dir = 5
- },
-/turf/open/floor/iron/dark/textured,
-/area/station/security/prison/rec)
"wJd" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -71532,6 +71580,15 @@
/obj/structure/cable,
/turf/open/floor/iron/dark/textured,
/area/station/security/processing)
+"wOj" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/bar/opposingcorners,
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron,
+/area/station/service/bar)
"wOn" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -72648,18 +72705,6 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/plating,
/area/station/engineering/storage_shared)
-"xfd" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper,
-/obj/machinery/door/airlock/research{
- name = "Research Division Access"
- },
-/obj/effect/landmark/navigate_destination,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/turf/open/floor/iron/white,
-/area/station/science/research)
"xfn" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 8;
@@ -74097,11 +74142,6 @@
"xCl" = (
/turf/open/floor/iron,
/area/station/science/robotics/lab)
-"xCv" = (
-/obj/machinery/computer/security,
-/obj/effect/turf_decal/tile/red/half/contrasted,
-/turf/open/floor/iron,
-/area/station/command/bridge)
"xCz" = (
/obj/structure/cable,
/turf/open/floor/plating,
@@ -74321,15 +74361,6 @@
/obj/machinery/light/directional/south,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"xFM" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/light/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/structure/sign/delamination_counter/directional/north,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"xFU" = (
/obj/structure/barricade/wooden,
/obj/structure/sign/warning/gas_mask/directional/south{
@@ -101687,7 +101718,7 @@ uOb
lBR
lBR
lBR
-wJa
+uWG
jRu
kzr
khb
@@ -103498,7 +103529,7 @@ ldH
ldH
ldH
ldH
-fTb
+fKt
iKw
iZs
sOT
@@ -179609,7 +179640,7 @@ pOJ
bIW
vLx
hkl
-jyh
+wOj
dMS
dEB
dMS
@@ -231025,7 +231056,7 @@ dBZ
dBZ
wcV
rCC
-vPh
+gtb
vQQ
vQQ
sve
@@ -232573,7 +232604,7 @@ rcE
rcE
rcE
rcE
-hVc
+sOv
jII
dnq
ylU
@@ -234351,7 +234382,7 @@ utR
pAZ
dYP
qWZ
-xCv
+vKe
vWL
nci
tPC
@@ -234937,7 +234968,7 @@ wCZ
azg
azg
pJy
-qQs
+csF
ban
wdL
dso
@@ -235441,7 +235472,7 @@ gTK
gTK
myX
sSJ
-gka
+tbO
eEh
fab
eDC
@@ -235452,7 +235483,7 @@ agm
fNN
esE
wuo
-cSH
+gLT
oyz
mLV
fDn
@@ -235709,7 +235740,7 @@ spv
dwy
spv
wuo
-xFM
+pry
kUz
mLV
gka
@@ -236717,7 +236748,7 @@ djO
hOc
bID
qnC
-vkz
+auC
uoF
pcg
deD
@@ -236994,7 +237025,7 @@ esE
fNN
esE
wuo
-cSH
+peD
iam
mLV
fDn
@@ -237507,7 +237538,7 @@ gVr
cll
shB
yeD
-anI
+ueG
iCg
kql
oNO
@@ -237948,7 +237979,7 @@ xwC
utR
pAZ
bln
-qWZ
+oCq
oxe
vmj
aqB
@@ -243873,7 +243904,7 @@ hgh
czS
fVo
qbd
-rzS
+rZO
hgh
pLt
mcW
@@ -245140,7 +245171,7 @@ fRI
mdZ
fWr
ggD
-pNV
+gjZ
cpY
pxF
iYi
@@ -253379,11 +253410,11 @@ emp
dEV
voH
thM
-xfd
+vXi
pJV
mZG
mZG
-qEZ
+feW
axc
dFW
aYJ
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index 00099147d94..e31e71d007e 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -194,15 +194,16 @@
"aeq" = (
/turf/closed/wall/r_wall,
/area/station/ai_monitored/security/armory)
-"aet" = (
-/obj/structure/extinguisher_cabinet/directional/east,
-/obj/item/kirbyplants/organic/plant16,
-/obj/item/radio/intercom/directional/north,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 4
+"aeu" = (
+/obj/effect/decal/cleanable/cobweb,
+/obj/item/kirbyplants/organic/plant20{
+ pixel_y = 3
+ },
+/obj/effect/turf_decal/bot{
+ dir = 1
},
/turf/open/floor/iron,
-/area/station/hallway/primary/central)
+/area/station/engineering/main)
"aev" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -1410,13 +1411,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/engineering/storage/tcomms)
-"aCy" = (
-/obj/structure/table,
-/obj/item/stack/sheet/glass/fifty,
-/obj/item/stack/rods/fifty,
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
-/turf/open/floor/iron,
-/area/station/commons/storage/tools)
"aCE" = (
/obj/machinery/navbeacon{
codes_txt = "patrol;next_patrol=10.1-Central-from-Aft";
@@ -3679,6 +3673,12 @@
/obj/machinery/power/apc/auto_name/directional/west,
/turf/open/floor/wood,
/area/station/service/library)
+"bpG" = (
+/obj/machinery/firealarm/directional/east,
+/obj/item/kirbyplants/organic/plant10,
+/obj/effect/turf_decal/tile/purple,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central)
"bpY" = (
/obj/machinery/light/small/directional/west,
/obj/item/clothing/mask/animal/horsehead,
@@ -4842,14 +4842,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/science/ordnance/testlab)
-"bOn" = (
-/obj/machinery/airalarm/directional/north,
-/obj/item/kirbyplants/organic/applebush,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central)
"bOr" = (
/obj/structure/lattice/catwalk,
/obj/item/stack/rods,
@@ -6111,14 +6103,6 @@
/obj/structure/cable,
/turf/open/floor/plating/airless,
/area/station/solars/port/aft)
-"cql" = (
-/obj/item/kirbyplants/organic/plant10,
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/obj/effect/turf_decal/tile/bar/opposingcorners,
-/turf/open/floor/iron,
-/area/station/commons/lounge)
"cqm" = (
/obj/item/disk/data{
pixel_x = 9;
@@ -7056,6 +7040,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/brig)
+"cJm" = (
+/obj/item/kirbyplants/organic/plant21,
+/obj/effect/turf_decal/tile/blue/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/white,
+/area/station/command/heads_quarters/cmo)
"cJv" = (
/obj/effect/turf_decal/tile/yellow/fourcorners,
/obj/machinery/chem_heater/withbuffer,
@@ -8471,16 +8462,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"diQ" = (
-/obj/effect/decal/cleanable/cobweb,
-/obj/item/kirbyplants/organic/plant20{
- pixel_y = 3
- },
-/obj/effect/turf_decal/bot{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"diX" = (
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
/turf/open/floor/iron/dark,
@@ -9579,11 +9560,6 @@
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/aisat_interior)
"dHg" = (
-/obj/structure/sign/map/right{
- desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown).";
- icon_state = "map-right-MS";
- pixel_y = 32
- },
/obj/machinery/computer/atmos_alert,
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
@@ -9776,10 +9752,10 @@
"dKL" = (
/obj/structure/closet/toolcloset,
/obj/effect/turf_decal/bot,
-/obj/structure/sign/poster/official/random/directional/north,
/obj/effect/turf_decal/tile/yellow{
dir = 4
},
+/obj/machinery/incident_display/delam/directional/north,
/turf/open/floor/iron/dark/corner{
dir = 1
},
@@ -10815,14 +10791,6 @@
/obj/structure/cable,
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/service/kitchen/coldroom)
-"eci" = (
-/obj/structure/extinguisher_cabinet/directional/west,
-/obj/item/kirbyplants/organic/applebush,
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central)
"ecp" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
/obj/effect/turf_decal/bot,
@@ -12351,12 +12319,6 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
/turf/open/floor/iron/dark,
/area/station/engineering/atmospherics_engine)
-"eDi" = (
-/obj/machinery/firealarm/directional/east,
-/obj/item/kirbyplants/organic/plant10,
-/obj/effect/turf_decal/tile/purple,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central)
"eDC" = (
/obj/structure/table/wood,
/obj/effect/spawner/random/entertainment/deck,
@@ -14391,6 +14353,13 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
+"fsb" = (
+/obj/item/kirbyplants/organic/plant18,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"fsh" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -14569,17 +14538,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"fxR" = (
-/obj/item/kirbyplants/organic/plant11,
-/obj/effect/turf_decal/trimline/blue/filled/corner{
- dir = 1
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/lobby)
"fxT" = (
/obj/machinery/door/airlock/wood{
doorClose = 'sound/effects/doorcreaky.ogg';
@@ -17175,18 +17133,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/service/janitor)
-"guP" = (
-/obj/machinery/light/directional/west,
-/obj/machinery/camera/directional/west{
- c_tag = "Departure Lounge - Port Fore"
- },
-/obj/item/kirbyplants/organic/plant24,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/sign/poster/official/random/directional/west,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"guR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -18217,6 +18163,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/aft/greater)
+"gOr" = (
+/obj/machinery/airalarm/directional/north,
+/obj/item/kirbyplants/organic/applebush,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central)
"gOv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/holopad,
@@ -18476,11 +18430,6 @@
/obj/structure/sign/warning/electric_shock/directional/north,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"gUF" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/item/kirbyplants/organic/plant14,
-/turf/open/floor/iron/dark,
-/area/station/commons/fitness/recreation)
"gUP" = (
/obj/structure/chair{
dir = 1
@@ -20128,6 +20077,10 @@
/obj/structure/sign/poster/official/random/directional/south,
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"hxB" = (
+/obj/item/kirbyplants/organic/plant21,
+/turf/open/floor/iron/grimy,
+/area/station/tcommsat/computer)
"hxD" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/tile/blue{
@@ -20825,6 +20778,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/starboard/lesser)
+"hLj" = (
+/obj/machinery/light/directional/west,
+/obj/structure/extinguisher_cabinet/directional/west,
+/obj/item/kirbyplants/organic/plant3,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/commons/locker)
"hLs" = (
/obj/effect/spawner/random/structure/crate,
/obj/effect/mapping_helpers/burnt_floor,
@@ -21007,15 +20969,6 @@
/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
/turf/open/floor/iron/white/smooth_large,
/area/station/medical/chemistry)
-"hNW" = (
-/obj/item/kirbyplants/organic/plant21,
-/obj/structure/sign/departments/botany/directional/east,
-/obj/effect/turf_decal/trimline/green/filled/line,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central)
"hOd" = (
/obj/structure/table,
/obj/machinery/microwave,
@@ -21290,13 +21243,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/brig)
-"hSM" = (
-/obj/item/kirbyplants/organic/plant18,
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"hSO" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -22959,7 +22905,6 @@
name = "Engineering Security Doors"
},
/obj/effect/turf_decal/caution/stand_clear,
-/obj/structure/sign/delamination_counter/directional/north,
/turf/open/floor/iron/dark,
/area/station/engineering/break_room)
"iug" = (
@@ -25441,6 +25386,13 @@
},
/turf/open/floor/iron,
/area/station/commons/dorms)
+"jjS" = (
+/obj/item/kirbyplants/organic/plant6,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"jkj" = (
/obj/effect/turf_decal/trimline/red/filled/warning{
dir = 4
@@ -26984,6 +26936,13 @@
},
/turf/open/floor/iron,
/area/station/security/brig)
+"jKX" = (
+/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
+ dir = 8
+ },
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/command/bridge)
"jLb" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/brown/half/contrasted{
@@ -28686,18 +28645,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/security/prison)
-"krq" = (
-/obj/machinery/light/directional/east,
-/obj/machinery/camera/directional/east{
- c_tag = "Departure Lounge - Starboard Fore"
- },
-/obj/structure/extinguisher_cabinet/directional/east,
-/obj/item/kirbyplants/organic/plant14,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"krL" = (
/turf/open/floor/wood,
/area/station/command/corporate_showroom)
@@ -29270,15 +29217,11 @@
/turf/open/floor/iron,
/area/station/command/teleporter)
"kCq" = (
-/obj/structure/sign/map/left{
- desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown).";
- icon_state = "map-left-MS";
- pixel_y = 32
- },
/obj/machinery/firealarm/directional/west,
/obj/machinery/modular_computer/preset/engineering,
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/incident_display/delam/directional/north,
/turf/open/floor/iron/dark,
/area/station/engineering/main)
"kCr" = (
@@ -29420,6 +29363,13 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/science/robotics/lab)
+"kFT" = (
+/obj/item/kirbyplants/organic/plant13,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"kGc" = (
/obj/machinery/computer/rdconsole,
/obj/effect/turf_decal/tile/red/anticorner/contrasted{
@@ -30139,6 +30089,15 @@
/obj/effect/turf_decal/trimline/green/line,
/turf/open/floor/iron/dark,
/area/station/service/cafeteria)
+"kSP" = (
+/obj/item/kirbyplants/organic/plant21,
+/obj/structure/sign/departments/botany/directional/east,
+/obj/effect/turf_decal/trimline/green/filled/line,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central)
"kST" = (
/obj/machinery/shieldgen,
/turf/open/floor/plating,
@@ -30818,6 +30777,12 @@
/obj/machinery/light_switch/directional/north,
/turf/open/floor/iron/freezer,
/area/station/security/prison/shower)
+"lfp" = (
+/obj/effect/turf_decal/bot,
+/obj/effect/landmark/start/hangover,
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/command)
"lfu" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -32266,6 +32231,15 @@
/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"lKs" = (
+/obj/machinery/chem_dispenser/drinks/beer{
+ dir = 1
+ },
+/obj/structure/table,
+/obj/effect/turf_decal/tile/bar/opposingcorners,
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron,
+/area/station/service/bar)
"lKu" = (
/obj/effect/landmark/carpspawn,
/turf/open/space/basic,
@@ -33704,7 +33678,6 @@
dir = 4;
name = "Gas to Chamber"
},
-/obj/structure/sign/delamination_counter/directional/north,
/turf/open/floor/engine,
/area/station/engineering/supermatter)
"mkO" = (
@@ -34303,10 +34276,10 @@
},
/obj/item/wrench,
/obj/item/multitool,
-/obj/machinery/newscaster/directional/south,
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 1
},
+/obj/machinery/incident_display/delam/directional/south,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
"mwj" = (
@@ -34949,6 +34922,18 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"mGA" = (
+/obj/machinery/light/directional/east,
+/obj/machinery/camera/directional/east{
+ c_tag = "Departure Lounge - Starboard Fore"
+ },
+/obj/structure/extinguisher_cabinet/directional/east,
+/obj/item/kirbyplants/organic/plant14,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"mGI" = (
/obj/effect/spawner/random/engineering/atmospherics_portable,
/turf/open/floor/plating,
@@ -35245,15 +35230,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/cafeteria)
-"mLK" = (
-/obj/machinery/light/directional/west,
-/obj/structure/extinguisher_cabinet/directional/west,
-/obj/item/kirbyplants/organic/plant3,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/commons/locker)
"mLL" = (
/obj/effect/spawner/structure/window,
/obj/structure/cable,
@@ -36252,6 +36228,13 @@
/obj/structure/window/spawner/directional/south,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"ndI" = (
+/obj/item/kirbyplants/organic/plant20,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"ndN" = (
/obj/structure/rack,
/obj/item/poster/random_contraband,
@@ -36268,13 +36251,6 @@
/obj/item/storage/backpack/duffelbag/med/surgery,
/turf/open/floor/iron/dark,
/area/station/medical/morgue)
-"nev" = (
-/obj/item/kirbyplants/organic/plant5,
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"neA" = (
/obj/machinery/computer/scan_consolenew{
dir = 4
@@ -37548,6 +37524,16 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"nzJ" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central)
"nzP" = (
/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
dir = 10
@@ -38075,6 +38061,13 @@
/obj/effect/turf_decal/trimline/blue/filled/line,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"nKG" = (
+/obj/item/kirbyplants/organic/plant5,
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"nKI" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -38264,6 +38257,18 @@
},
/turf/open/floor/iron,
/area/station/commons/locker)
+"nOl" = (
+/obj/machinery/light/directional/west,
+/obj/machinery/camera/directional/west{
+ c_tag = "Departure Lounge - Port Fore"
+ },
+/obj/item/kirbyplants/organic/plant24,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/sign/poster/official/random/directional/west,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"nOp" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
dir = 6
@@ -40298,6 +40303,11 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"oAa" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/item/kirbyplants/organic/plant14,
+/turf/open/floor/iron/dark,
+/area/station/commons/fitness/recreation)
"oAj" = (
/obj/structure/chair/sofa/corp/left,
/obj/item/radio/intercom/directional/north,
@@ -40599,13 +40609,6 @@
dir = 1
},
/area/station/engineering/atmos/pumproom)
-"oFO" = (
-/obj/item/kirbyplants/organic/plant20,
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"oFR" = (
/obj/machinery/door/airlock/maintenance_hatch{
name = "Cargo Bay Bridge Access"
@@ -41363,12 +41366,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"oUB" = (
-/obj/machinery/status_display/evac/directional/north,
-/obj/effect/turf_decal/bot,
-/obj/effect/landmark/start/hangover,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/command)
"oUE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -41905,22 +41902,6 @@
/obj/structure/cable/layer3,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/aisat/foyer)
-"pfC" = (
-/obj/structure/sign/map/right{
- desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown).";
- icon_state = "map-right-MS";
- pixel_y = -32
- },
-/obj/item/kirbyplants/organic/plant3,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron/white/corner,
-/area/station/hallway/secondary/entry)
"pfK" = (
/obj/machinery/light/directional/north,
/obj/structure/table,
@@ -42371,6 +42352,15 @@
/obj/machinery/holopad,
/turf/open/floor/iron/white,
/area/station/command/heads_quarters/rd)
+"pou" = (
+/obj/structure/table,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/rods/fifty,
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
+/obj/item/wallframe/digital_clock,
+/obj/item/wallframe/digital_clock,
+/turf/open/floor/iron,
+/area/station/commons/storage/tools)
"poJ" = (
/obj/machinery/telecomms/hub/preset,
/turf/open/floor/circuit/green/telecomms/mainframe,
@@ -42969,6 +42959,15 @@
},
/turf/open/floor/carpet,
/area/station/commons/vacant_room/office)
+"pzz" = (
+/obj/item/kirbyplants/organic/plant21,
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/turf/open/floor/wood,
+/area/station/service/lawoffice)
"pzF" = (
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
@@ -43088,10 +43087,6 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/iron/white,
/area/station/medical/office)
-"pBV" = (
-/obj/item/kirbyplants/organic/plant21,
-/turf/open/floor/iron/grimy,
-/area/station/tcommsat/computer)
"pCa" = (
/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
/turf/closed/wall/r_wall,
@@ -43447,13 +43442,6 @@
/obj/effect/mapping_helpers/airlock/access/any/command/eva,
/turf/open/floor/iron,
/area/station/ai_monitored/command/storage/eva)
-"pIu" = (
-/obj/item/kirbyplants/organic/plant13,
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"pIv" = (
/obj/item/radio/intercom/directional/west,
/obj/structure/closet/secure_closet/security/science,
@@ -43650,15 +43638,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"pMa" = (
-/obj/item/kirbyplants/organic/plant21,
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/turf/open/floor/wood,
-/area/station/service/lawoffice)
"pMd" = (
/obj/machinery/light/small/directional/south,
/turf/open/floor/engine/n2,
@@ -46103,6 +46082,11 @@
/obj/structure/window/reinforced/spawner/directional/east,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/aisat/exterior)
+"qIc" = (
+/obj/structure/cable,
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/wood,
+/area/station/service/library)
"qIl" = (
/turf/closed/wall,
/area/station/hallway/secondary/command)
@@ -46828,6 +46812,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/brig)
+"qTJ" = (
+/obj/machinery/camera/directional/west{
+ c_tag = "Departure Lounge - Port Aft"
+ },
+/obj/machinery/light/directional/west,
+/obj/structure/extinguisher_cabinet/directional/west,
+/obj/item/kirbyplants/organic/plant4,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"qTR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
@@ -47537,6 +47533,10 @@
},
/turf/open/floor/iron/dark,
/area/station/command/bridge)
+"rhS" = (
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/wood,
+/area/station/service/library)
"rhU" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/spawner/random/structure/crate,
@@ -48014,18 +48014,6 @@
},
/turf/open/floor/iron,
/area/station/ai_monitored/command/storage/eva)
-"rtf" = (
-/obj/machinery/camera/directional/east{
- c_tag = "Departure Lounge - Starboard Aft"
- },
-/obj/machinery/light/directional/east,
-/obj/item/radio/intercom/directional/east,
-/obj/item/kirbyplants/organic/plant16,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"rtj" = (
/obj/machinery/igniter/incinerator_ordmix,
/turf/open/floor/engine/vacuum,
@@ -48589,6 +48577,18 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"rCJ" = (
+/obj/machinery/camera/directional/east{
+ c_tag = "Departure Lounge - Starboard Aft"
+ },
+/obj/machinery/light/directional/east,
+/obj/item/radio/intercom/directional/east,
+/obj/item/kirbyplants/organic/plant16,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"rDf" = (
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
@@ -52293,6 +52293,15 @@
/obj/structure/disposalpipe/trunk,
/turf/open/floor/wood,
/area/station/command/heads_quarters/qm)
+"sRJ" = (
+/obj/structure/extinguisher_cabinet/directional/east,
+/obj/item/kirbyplants/organic/plant16,
+/obj/item/radio/intercom/directional/north,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central)
"sRT" = (
/obj/structure/cable,
/turf/open/floor/wood,
@@ -52727,10 +52736,6 @@
},
/turf/open/floor/iron,
/area/station/command/heads_quarters/qm)
-"sXE" = (
-/obj/structure/cable,
-/turf/open/floor/wood,
-/area/station/service/library)
"sXF" = (
/obj/effect/turf_decal/trimline/purple/line{
dir = 1
@@ -54403,13 +54408,6 @@
},
/turf/open/floor/wood,
/area/station/command/heads_quarters/hop)
-"tCx" = (
-/obj/item/kirbyplants/organic/plant21,
-/obj/effect/turf_decal/tile/blue/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/white,
-/area/station/command/heads_quarters/cmo)
"tCC" = (
/obj/effect/turf_decal/trimline/green/filled/line{
dir = 8
@@ -57753,6 +57751,12 @@
/obj/structure/chair/stool/directional/east,
/turf/open/floor/iron,
/area/station/commons/locker)
+"uJL" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/incident_display/delam/directional/south,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"uKa" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
dir = 6
@@ -58145,6 +58149,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/cargo/sorting)
+"uRA" = (
+/obj/structure/extinguisher_cabinet/directional/west,
+/obj/item/kirbyplants/organic/applebush,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central)
"uRJ" = (
/obj/machinery/door/window/right/directional/west{
dir = 1;
@@ -59443,6 +59455,22 @@
},
/turf/open/floor/iron/white,
/area/station/medical/cryo)
+"vpM" = (
+/obj/structure/sign/map/right{
+ desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown).";
+ icon_state = "map-right-MS";
+ pixel_y = -32
+ },
+/obj/item/kirbyplants/organic/plant3,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron/white/corner,
+/area/station/hallway/secondary/entry)
"vpP" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -59738,6 +59766,14 @@
/obj/item/clothing/mask/cigarette/pipe,
/turf/open/floor/plating,
/area/station/maintenance/port)
+"vwn" = (
+/obj/item/kirbyplants/organic/plant10,
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/bar/opposingcorners,
+/turf/open/floor/iron,
+/area/station/commons/lounge)
"vwp" = (
/obj/machinery/door/airlock{
id_tag = "FitnessShower";
@@ -59799,15 +59835,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"vxE" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central)
"vxJ" = (
/obj/machinery/power/emitter/welded{
dir = 1
@@ -62944,18 +62971,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/cargo/sorting)
-"wCU" = (
-/obj/machinery/camera/directional/west{
- c_tag = "Departure Lounge - Port Aft"
- },
-/obj/machinery/light/directional/west,
-/obj/structure/extinguisher_cabinet/directional/west,
-/obj/item/kirbyplants/organic/plant4,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"wDq" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 10
@@ -64019,14 +64034,6 @@
/obj/effect/spawner/random/trash/mess,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"wYn" = (
-/obj/machinery/chem_dispenser/drinks/beer{
- dir = 1
- },
-/obj/structure/table,
-/obj/effect/turf_decal/tile/bar/opposingcorners,
-/turf/open/floor/iron,
-/area/station/service/bar)
"wYo" = (
/obj/machinery/airalarm/directional/east,
/obj/machinery/light/directional/south,
@@ -64583,6 +64590,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"xiv" = (
+/obj/item/kirbyplants/organic/plant11,
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"xiL" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/department/science/xenobiology)
@@ -65963,13 +65981,6 @@
/obj/machinery/atmospherics/components/trinary/filter/flipped/critical,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"xIa" = (
-/obj/item/kirbyplants/organic/plant6,
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"xIx" = (
/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
@@ -66962,6 +66973,7 @@
"ybl" = (
/obj/structure/closet/secure_closet/engineering_personal,
/obj/effect/turf_decal/delivery,
+/obj/machinery/incident_display/delam/directional/north,
/turf/open/floor/iron,
/area/station/engineering/main)
"ybn" = (
@@ -76916,7 +76928,7 @@ aaa
wdr
vvW
mtL
-pIu
+kFT
nDP
qEt
lMJ
@@ -76931,7 +76943,7 @@ aaa
aaa
lMJ
qEt
-oFO
+ndI
nDP
qEt
aox
@@ -76940,7 +76952,7 @@ aox
oPS
aox
qEt
-xIa
+jjS
nDP
qEt
qEt
@@ -80516,7 +80528,7 @@ dhb
aDb
dIP
nPf
-nev
+nKG
qEt
lMJ
aaa
@@ -80528,7 +80540,7 @@ aaa
aaa
lMJ
qEt
-hSM
+fsb
lWa
eQT
nRr
@@ -80796,7 +80808,7 @@ sxd
uvx
slD
nyF
-pfC
+vpM
pOa
twj
xyM
@@ -86964,7 +86976,7 @@ mjr
tbK
fZa
eXA
-sXE
+qIc
sVY
mjr
kUZ
@@ -87994,7 +88006,7 @@ mjr
nxz
ueD
sVY
-mjr
+rhS
rSx
pEH
pEH
@@ -91098,7 +91110,7 @@ duu
pKP
lTP
rQd
-tCx
+cJm
jGw
dra
vPO
@@ -91309,7 +91321,7 @@ iBq
mFi
iBq
iBq
-vxE
+nzJ
kON
fDc
oIa
@@ -91582,7 +91594,7 @@ iiE
rGj
rJr
pJR
-oUB
+lfp
qRI
urA
nIR
@@ -92369,7 +92381,7 @@ gBD
iun
htd
ebM
-eci
+uRA
mTk
yhm
rbs
@@ -92668,13 +92680,13 @@ aID
iUm
qKS
vke
-guP
+nOl
jay
mRy
wBW
eje
hTE
-wCU
+qTJ
eAe
mGy
sou
@@ -93621,7 +93633,7 @@ uGb
aJS
aaa
ihq
-bOn
+gOr
hZZ
rng
uoe
@@ -93659,7 +93671,7 @@ mTk
noD
aNf
aNa
-fxR
+xiv
dwZ
cJv
oHG
@@ -95238,13 +95250,13 @@ kSD
vGN
wpr
obV
-krq
+mGA
xMC
izG
tDU
vkj
vPq
-rtf
+rCJ
awF
oIW
sou
@@ -96191,7 +96203,7 @@ wwY
wwY
pXh
olw
-aet
+sRJ
wEG
htd
qBC
@@ -96203,7 +96215,7 @@ tqI
gkD
nXm
wNh
-veO
+jKX
duI
duI
duI
@@ -97509,7 +97521,7 @@ tvE
kQq
htd
saU
-eDi
+bpG
ghk
ulX
suW
@@ -98243,7 +98255,7 @@ stk
daC
xVY
xNU
-mLK
+hLj
usP
spd
usP
@@ -99008,7 +99020,7 @@ aKa
fGC
lLG
ilh
-pMa
+pzz
jAO
vtX
jAO
@@ -100332,7 +100344,7 @@ eQE
eQE
hOp
bau
-hNW
+kSP
fCt
uDr
uDr
@@ -100577,7 +100589,7 @@ hkG
xEJ
yjc
crf
-cql
+vwn
lyR
dDz
dfp
@@ -101353,7 +101365,7 @@ pof
owi
nxA
hyX
-wYn
+lKs
eQE
eEf
rOM
@@ -101593,7 +101605,7 @@ wzK
qXB
mNj
wlL
-aCy
+pou
dZm
wAA
fRS
@@ -102581,7 +102593,7 @@ cLa
qWm
bSr
cfy
-gUF
+oAa
peF
liO
sSs
@@ -106455,7 +106467,7 @@ qXB
gHE
kYn
tCS
-diQ
+aeu
kSB
gon
rux
@@ -110324,7 +110336,7 @@ fec
rHn
fJP
tYc
-mdk
+uJL
fJy
bDW
bDW
@@ -122164,7 +122176,7 @@ giA
lJj
pKv
dfC
-pBV
+hxB
hJJ
hJJ
hJJ
diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm
index e971843f3b0..f73edc4d13f 100644
--- a/_maps/map_files/NorthStar/north_star.dmm
+++ b/_maps/map_files/NorthStar/north_star.dmm
@@ -244,15 +244,6 @@
},
/turf/open/space/openspace,
/area/space)
-"acr" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/green/filled/line{
- dir = 1
- },
-/turf/open/floor/iron/dark/textured,
-/area/station/hallway/floor2/aft)
"act" = (
/obj/item/kirbyplants/random,
/turf/open/floor/iron/white/textured_large,
@@ -447,15 +438,6 @@
/obj/effect/spawner/random/trash/botanical_waste,
/turf/open/floor/pod/light,
/area/station/maintenance/floor4/port)
-"aeS" = (
-/obj/machinery/newscaster/directional/north,
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 1
- },
-/obj/structure/table/reinforced/rglass,
-/obj/item/storage/box/bodybags,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"aeW" = (
/obj/structure/table/reinforced,
/obj/effect/decal/cleanable/dirt,
@@ -651,6 +633,11 @@
/obj/effect/turf_decal/tile/purple/opposingcorners,
/turf/open/floor/iron/white,
/area/station/command/heads_quarters/rd)
+"ahS" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/spawner/structure/window/hollow/reinforced/directional,
+/turf/open/floor/plating,
+/area/station/maintenance/floor2/starboard)
"ahT" = (
/obj/machinery/camera/directional/west,
/turf/open/floor/wood,
@@ -3111,11 +3098,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/floor3/port/aft)
-"aMX" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/structure/window/hollow/reinforced/directional,
-/turf/open/floor/plating,
-/area/station/maintenance/floor2/starboard)
"aNk" = (
/obj/structure/table,
/obj/effect/turf_decal/stripes/white/line{
@@ -4348,13 +4330,6 @@
dir = 4
},
/area/station/science/robotics/mechbay)
-"baZ" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/structure/window/hollow/reinforced/directional{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/station/maintenance/floor2/starboard)
"bbb" = (
/obj/effect/decal/cleanable/blood/tracks{
dir = 6
@@ -5916,31 +5891,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/teleporter)
-"btf" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/machinery/button/door/directional/west{
- id = "viro-inner";
- name = "Inner Virology Lockdown";
- pixel_y = -8
- },
-/obj/machinery/button/door/directional/west{
- id = "viro-outer";
- name = "Outer Virology Lockdown";
- pixel_y = 8
- },
-/obj/machinery/button/door/directional/west{
- id = "viro-iso";
- name = "Isolation Bolts";
- normaldoorcontrol = 1;
- pixel_x = -36;
- specialfunctions = 4
- },
-/obj/effect/turf_decal/tile/green/opposingcorners,
-/obj/effect/landmark/start/virologist,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"bto" = (
/obj/effect/turf_decal/trimline/purple/line{
dir = 10
@@ -7915,6 +7865,12 @@
dir = 8
},
/area/station/hallway/floor1/aft)
+"bSE" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/firedoor/heavy,
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/hallway/floor1/fore)
"bSH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -8075,12 +8031,6 @@
/obj/machinery/duct,
/turf/open/floor/iron,
/area/station/hallway/floor3/fore)
-"bUM" = (
-/obj/machinery/airalarm/directional/west,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/green/opposingcorners,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"bUO" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible,
/obj/machinery/camera{
@@ -8661,6 +8611,12 @@
/obj/effect/spawner/random/structure/grille,
/turf/open/floor/pod/light,
/area/station/maintenance/floor3/starboard)
+"cdc" = (
+/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/dark/textured,
+/area/station/hallway/floor2/aft)
"cdf" = (
/obj/structure/chair/office,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -9194,6 +9150,7 @@
/obj/structure/chair/sofa/right/brown{
dir = 1
},
+/obj/machinery/digital_clock/directional/south,
/turf/open/floor/carpet,
/area/station/medical/psychology)
"ciW" = (
@@ -9313,6 +9270,7 @@
/area/station/service/abandoned_gambling_den)
"ckP" = (
/obj/machinery/smartfridge/extract/preloaded,
+/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/white,
/area/station/science/xenobiology)
"ckQ" = (
@@ -9402,8 +9360,8 @@
/turf/open/floor/iron/kitchen,
/area/station/service/kitchen/abandoned)
"clP" = (
-/obj/machinery/airalarm/directional/north,
/obj/machinery/chem_master,
+/obj/machinery/digital_clock/directional/north,
/turf/open/floor/iron/textured_large,
/area/station/medical/chemistry)
"clT" = (
@@ -11857,6 +11815,18 @@
},
/turf/open/floor/iron/textured_large,
/area/station/engineering/atmos)
+"cTJ" = (
+/obj/structure/railing/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/green/warning{
+ dir = 10
+ },
+/obj/machinery/airalarm/directional/west,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/pod/light,
+/area/station/maintenance/floor2/starboard)
"cTV" = (
/obj/effect/turf_decal/trimline/purple/filled/corner{
dir = 8
@@ -11917,6 +11887,15 @@
/obj/machinery/disposal/bin,
/turf/open/floor/wood,
/area/station/hallway/secondary/entry)
+"cUK" = (
+/obj/machinery/newscaster/directional/north,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/obj/structure/table/reinforced/rglass,
+/obj/machinery/computer/records/medical/laptop,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"cUL" = (
/turf/closed/wall,
/area/station/cargo/storage)
@@ -13180,6 +13159,19 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/security/armory)
+"dnJ" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/green/warning{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/pod/light,
+/area/station/maintenance/floor2/starboard)
"dnM" = (
/obj/structure/chair{
dir = 1
@@ -13617,6 +13609,15 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/storage/tools)
+"dtJ" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/textured,
+/area/station/hallway/floor2/aft)
"dtM" = (
/obj/effect/turf_decal/tile/red,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -15671,6 +15672,16 @@
/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/pod/light,
/area/station/maintenance/floor2/port/aft)
+"dUU" = (
+/obj/structure/railing/corner,
+/obj/effect/turf_decal/trimline/green/warning{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/turf/open/floor/pod/light,
+/area/station/maintenance/floor2/starboard)
"dUW" = (
/obj/effect/turf_decal/trimline/white/arrow_ccw{
dir = 4
@@ -15848,6 +15859,24 @@
/obj/structure/flora/bush/sparsegrass/style_random,
/turf/open/floor/grass,
/area/station/hallway/floor4/fore)
+"dWT" = (
+/obj/effect/turf_decal/tile/green/fourcorners,
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/machinery/door/airlock/virology{
+ autoclose = 0;
+ frequency = 1449;
+ id_tag = "virology_airlock_exterior";
+ name = "Virology Exterior Airlock"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/any/medical/virology,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "viro"
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"dWZ" = (
/obj/effect/turf_decal/trimline/blue/filled/corner{
dir = 8
@@ -19729,6 +19758,18 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"fcz" = (
+/obj/structure/railing,
+/obj/effect/turf_decal/trimline/green/warning{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/pod/light,
+/area/station/maintenance/floor2/starboard)
"fcC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -19983,6 +20024,19 @@
/obj/effect/landmark/blobstart,
/turf/open/floor/fakebasalt,
/area/station/maintenance/floor3/port)
+"fhy" = (
+/obj/effect/turf_decal/trimline/white/filled/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/green/filled/corner,
+/obj/effect/turf_decal/caution/white{
+ pixel_y = 10
+ },
+/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/dark,
+/area/station/medical/virology)
"fhA" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -21125,14 +21179,6 @@
dir = 1
},
/area/station/service/chapel)
-"fxc" = (
-/obj/machinery/camera/autoname/directional/north,
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 1
- },
-/obj/structure/mannequin/skeleton,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"fxd" = (
/obj/structure/closet/firecloset,
/obj/effect/decal/cleanable/dirt,
@@ -21871,6 +21917,12 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/dark,
/area/station/engineering/gravity_generator)
+"fHd" = (
+/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/dark/textured,
+/area/station/hallway/floor2/aft)
"fHe" = (
/obj/machinery/door/airlock/science/glass{
name = "Research and Development"
@@ -22203,6 +22255,14 @@
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on,
/turf/open/floor/plating,
/area/station/science/server)
+"fLx" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/disposaloutlet{
+ dir = 1
+ },
+/obj/structure/disposalpipe/trunk,
+/turf/open/space/openspace,
+/area/space/nearstation)
"fLz" = (
/obj/effect/turf_decal/stripes/end,
/obj/effect/turf_decal/stripes/white/end,
@@ -23635,6 +23695,16 @@
/obj/effect/landmark/navigate_destination/disposals,
/turf/open/floor/iron/smooth_large,
/area/station/maintenance/disposal)
+"geb" = (
+/obj/machinery/door/airlock/hatch{
+ name = "Maintenance Hatch"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/maintenance/floor2/starboard)
"gec" = (
/turf/open/floor/iron/dark/side{
dir = 9
@@ -24292,6 +24362,15 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/security/checkpoint/second)
+"gns" = (
+/obj/effect/turf_decal/trimline/green/warning,
+/obj/effect/turf_decal/stripes,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/pod/dark,
+/area/station/maintenance/floor2/starboard)
"gnx" = (
/obj/machinery/door/airlock/highsecurity{
name = "Atmos Access"
@@ -26808,6 +26887,7 @@
dir = 8
},
/obj/machinery/recharge_station,
+/obj/machinery/digital_clock/directional/north,
/turf/open/floor/iron,
/area/station/cargo/storage)
"gVw" = (
@@ -26982,11 +27062,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/security/lockers)
-"gXZ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/pod/light,
-/area/station/maintenance/floor2/starboard)
"gYa" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -27078,14 +27153,6 @@
"gYS" = (
/turf/closed/wall/r_wall,
/area/station/hallway/floor4/fore)
-"gZa" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/green/opposingcorners,
-/obj/effect/landmark/start/virologist,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"gZf" = (
/obj/machinery/camera/autoname/directional/west,
/obj/structure/table,
@@ -28390,6 +28457,11 @@
dir = 8
},
/area/station/hallway/secondary/exit)
+"hpz" = (
+/obj/effect/turf_decal/tile/yellow/opposingcorners,
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron/white,
+/area/station/medical/pharmacy)
"hpF" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron,
@@ -29260,12 +29332,6 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/cargo/warehouse)
-"hBS" = (
-/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/dark/textured,
-/area/station/hallway/floor2/aft)
"hBT" = (
/obj/structure/table,
/obj/structure/bedsheetbin,
@@ -30130,9 +30196,7 @@
},
/area/station/command/gateway)
"hOP" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible,
-/obj/structure/cable,
-/obj/structure/sign/delamination_counter/directional/east,
+/obj/machinery/incident_display/delam/directional/south,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
"hOR" = (
@@ -30235,6 +30299,24 @@
},
/turf/open/floor/iron,
/area/station/hallway/floor3/fore)
+"hQE" = (
+/obj/effect/turf_decal/tile/green/fourcorners,
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/machinery/door/airlock/virology{
+ autoclose = 0;
+ frequency = 1449;
+ id_tag = "virology_airlock_interior";
+ name = "Virology Interior Airlock"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/any/medical/virology,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "viro"
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"hQK" = (
/obj/effect/turf_decal/trimline/green/warning,
/obj/structure/disposalpipe/segment,
@@ -30787,15 +30869,6 @@
/obj/structure/cable,
/turf/open/floor/pod/light,
/area/station/maintenance/floor1/starboard/fore)
-"hYB" = (
-/obj/machinery/light/small/directional/north,
-/obj/structure/table/reinforced/rglass,
-/obj/item/storage/backpack/duffelbag/med/surgery,
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 9
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"hYN" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -30946,29 +31019,6 @@
},
/turf/open/floor/iron/dark/smooth_half,
/area/station/hallway/floor4/fore)
-"ibj" = (
-/obj/machinery/door_buttons/access_button{
- idDoor = "virology_airlock_interior";
- idSelf = "virology_airlock_control";
- name = "Virology Access Button";
- pixel_x = -26;
- pixel_y = 26;
- req_access = list("virology")
- },
-/obj/effect/turf_decal/trimline/green/filled/line{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/white/filled/corner{
- dir = 8
- },
-/obj/structure/sign/warning/biohazard{
- pixel_y = 32
- },
-/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/dark,
-/area/station/medical/virology)
"ibk" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -32183,6 +32233,15 @@
/obj/effect/spawner/random/structure/grille,
/turf/open/floor/pod/light,
/area/station/maintenance/floor2/port/fore)
+"irX" = (
+/obj/machinery/camera/autoname/directional/north,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/obj/structure/table/reinforced/rglass,
+/obj/item/storage/backpack/duffelbag/med/surgery,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"isd" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{
dir = 4
@@ -33683,10 +33742,6 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/carpet/black,
/area/station/hallway/secondary/service)
-"iNy" = (
-/obj/effect/spawner/structure/window/hollow/reinforced/directional,
-/turf/open/floor/plating,
-/area/station/maintenance/floor2/starboard)
"iNz" = (
/obj/structure/sign/directions/upload/directional/east,
/obj/structure/sign/directions/medical/directional/east{
@@ -34625,16 +34680,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/medical/office)
-"iZe" = (
-/obj/effect/turf_decal/trimline/green/filled/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/machinery/light/cold/no_nightlight/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/medical/virology)
"iZh" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -34919,9 +34964,9 @@
/obj/effect/turf_decal/stripes{
dir = 4
},
-/obj/machinery/airalarm/directional/north,
/obj/structure/window/reinforced/spawner/directional/east,
/obj/machinery/light/cold/no_nightlight/directional/north,
+/obj/machinery/digital_clock/directional/north,
/turf/open/floor/iron/white,
/area/station/science/xenobiology)
"jcN" = (
@@ -36267,12 +36312,6 @@
dir = 8
},
/area/station/security/brig)
-"jwJ" = (
-/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/dark/textured,
-/area/station/hallway/floor2/aft)
"jwP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -38293,19 +38332,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/maintenance/floor2/starboard/aft)
-"jXV" = (
-/obj/structure/railing{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/green/warning{
- dir = 8
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/pod/light,
-/area/station/maintenance/floor2/starboard)
"jXX" = (
/obj/machinery/camera/directional/north{
c_tag = "Holodeck - Fore";
@@ -42047,11 +42073,11 @@
/turf/open/floor/carpet,
/area/station/command/heads_quarters/captain)
"kWD" = (
-/obj/structure/fireaxecabinet/directional/north,
/obj/machinery/keycard_auth/directional/north{
pixel_x = -22
},
/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/machinery/incident_display/delam/directional/north,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
"kWM" = (
@@ -42517,17 +42543,6 @@
/obj/effect/landmark/carpspawn,
/turf/open/floor/engine/hull/reinforced,
/area/space/nearstation)
-"lcW" = (
-/obj/effect/spawner/structure/window/hollow/reinforced/middle,
-/obj/structure/girder/reinforced,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 1;
- id = "viro-inner";
- name = "Virology Inner Shutters"
- },
-/turf/open/floor/plating,
-/area/station/maintenance/floor2/starboard)
"lcZ" = (
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/machinery/airalarm/directional/east,
@@ -44512,14 +44527,6 @@
/obj/machinery/duct,
/turf/open/floor/catwalk_floor,
/area/station/maintenance/floor2/port)
-"lEc" = (
-/obj/structure/lattice/catwalk,
-/obj/structure/disposaloutlet{
- dir = 1
- },
-/obj/structure/disposalpipe/trunk,
-/turf/open/space/openspace,
-/area/space/nearstation)
"lEg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -46299,14 +46306,12 @@
/obj/machinery/firealarm/directional/east,
/turf/open/floor/catwalk_floor,
/area/station/maintenance/floor2/starboard)
-"mad" = (
-/obj/structure/closet/secure_closet/medical1,
-/obj/effect/turf_decal/trimline/green/filled/line{
- dir = 8
- },
-/obj/structure/noticeboard/directional/north,
+"lZS" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/firedoor/heavy,
+/obj/machinery/digital_clock/directional/north,
/turf/open/floor/iron/dark,
-/area/station/medical/virology)
+/area/station/hallway/floor2/fore)
"map" = (
/obj/structure/door_assembly/door_assembly_med,
/obj/machinery/door/firedoor,
@@ -46838,14 +46843,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/catwalk_floor,
/area/station/maintenance/floor4/starboard)
-"mfZ" = (
-/obj/effect/turf_decal/tile/green/opposingcorners,
-/obj/machinery/disposal/bin,
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"mge" = (
/obj/effect/turf_decal/trimline/blue/line{
dir = 4
@@ -47424,6 +47421,29 @@
},
/turf/open/floor/iron/white,
/area/station/science/xenobiology)
+"mnM" = (
+/obj/machinery/door_buttons/access_button{
+ idDoor = "virology_airlock_interior";
+ idSelf = "virology_airlock_control";
+ name = "Virology Access Button";
+ pixel_x = -26;
+ pixel_y = 26;
+ req_access = list("virology")
+ },
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/white/filled/corner{
+ dir = 8
+ },
+/obj/structure/sign/warning/biohazard{
+ pixel_y = 32
+ },
+/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/dark,
+/area/station/medical/virology)
"mnQ" = (
/turf/open/floor/iron/smooth,
/area/station/hallway/floor1/fore)
@@ -47565,6 +47585,17 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/floor4/port/fore)
+"mqc" = (
+/obj/effect/spawner/structure/window/hollow/reinforced/middle,
+/obj/structure/girder/reinforced,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 1;
+ id = "viro-inner";
+ name = "Virology Inner Shutters"
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/floor2/starboard)
"mqd" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -49763,6 +49794,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/pod/light,
/area/station/maintenance/floor1/port/fore)
+"mRQ" = (
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"mSa" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/crate/trashcart/filled,
@@ -51892,6 +51931,10 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/hallway/secondary/service)
+"nrL" = (
+/obj/effect/spawner/structure/window/hollow/reinforced/directional,
+/turf/open/floor/plating,
+/area/station/maintenance/floor2/starboard)
"nrM" = (
/obj/effect/turf_decal/siding/wood{
dir = 8
@@ -53044,6 +53087,7 @@
/area/station/service/chapel)
"nGm" = (
/obj/structure/cable/multilayer/multiz,
+/obj/machinery/digital_clock/directional/north,
/turf/open/floor/catwalk_floor,
/area/station/hallway/floor3/fore)
"nGx" = (
@@ -53482,18 +53526,6 @@
/obj/structure/closet/crate/coffin,
/turf/open/floor/plating,
/area/station/service/chapel/funeral)
-"nLt" = (
-/obj/effect/turf_decal/trimline/green/warning{
- dir = 1
- },
-/obj/effect/turf_decal/stripes{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/pod/dark,
-/area/station/maintenance/floor2/starboard)
"nLx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -54107,6 +54139,7 @@
"nTJ" = (
/obj/structure/table/reinforced,
/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/digital_clock/directional/south,
/turf/open/floor/iron/dark,
/area/station/command/gateway)
"nTO" = (
@@ -54311,16 +54344,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/psychology)
-"nWv" = (
-/obj/structure/railing/corner,
-/obj/effect/turf_decal/trimline/green/warning{
- dir = 9
- },
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/turf/open/floor/pod/light,
-/area/station/maintenance/floor2/starboard)
"nWz" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -56405,18 +56428,6 @@
/obj/structure/closet/firecloset,
/turf/open/floor/pod/dark,
/area/station/maintenance/floor2/port/aft)
-"ozd" = (
-/obj/structure/railing/corner{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/green/warning{
- dir = 10
- },
-/obj/machinery/airalarm/directional/west,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/pod/light,
-/area/station/maintenance/floor2/starboard)
"ozn" = (
/obj/structure/railing{
dir = 9
@@ -58188,24 +58199,6 @@
/obj/structure/railing/corner,
/turf/open/space/openspace,
/area/space/nearstation)
-"oXq" = (
-/obj/effect/turf_decal/tile/green/fourcorners,
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/machinery/door/airlock/virology{
- autoclose = 0;
- frequency = 1449;
- id_tag = "virology_airlock_interior";
- name = "Virology Interior Airlock"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/access/any/medical/virology,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "viro"
- },
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"oXN" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/siding/white{
@@ -59037,19 +59030,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/security/prison/work)
-"pkY" = (
-/obj/effect/turf_decal/trimline/white/filled/corner{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/green/filled/corner,
-/obj/effect/turf_decal/caution/white{
- pixel_y = 10
- },
-/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/dark,
-/area/station/medical/virology)
"pld" = (
/obj/structure/chair/comfy,
/turf/open/floor/iron/dark,
@@ -59456,6 +59436,12 @@
},
/turf/open/floor/pod/dark,
/area/station/maintenance/floor2/port)
+"pqo" = (
+/obj/effect/spawner/structure/window/hollow/reinforced/directional{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/floor2/starboard)
"pqy" = (
/obj/machinery/camera{
c_tag = "Power Storage";
@@ -62593,13 +62579,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/pod/light,
/area/station/maintenance/floor4/starboard/fore)
-"qhR" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/catwalk_floor,
-/area/station/maintenance/floor2/starboard)
"qia" = (
/obj/structure/railing,
/turf/open/misc/beach/sand,
@@ -63081,6 +63060,14 @@
/obj/structure/foamedmetal,
/turf/open/floor/plating,
/area/station/maintenance/floor1/port/aft)
+"qpo" = (
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/obj/structure/sign/poster/official/random/directional/north,
+/obj/structure/mannequin/skeleton,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"qpp" = (
/obj/machinery/atmospherics/components/binary/valve/digital{
name = "Waste Release"
@@ -64642,6 +64629,16 @@
/obj/structure/firelock_frame/heavy,
/turf/open/floor/engine,
/area/station/maintenance/floor1/port/aft)
+"qGa" = (
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/machinery/light/cold/no_nightlight/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/medical/virology)
"qGb" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -64688,6 +64685,7 @@
/obj/machinery/recharger,
/obj/effect/turf_decal/tile/purple/fourcorners,
/obj/item/multitool,
+/obj/machinery/digital_clock/directional/south,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
"qGV" = (
@@ -65022,6 +65020,13 @@
/obj/structure/displaycase/trophy,
/turf/open/floor/carpet/royalblack,
/area/station/service/library)
+"qNw" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/spawner/structure/window/hollow/reinforced/directional{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/floor2/starboard)
"qNx" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -65680,6 +65685,7 @@
/area/station/hallway/floor1/aft)
"qWe" = (
/obj/machinery/vending/wardrobe/chem_wardrobe,
+/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron/textured_large,
/area/station/medical/chemistry)
"qWi" = (
@@ -66094,16 +66100,6 @@
},
/turf/open/floor/carpet,
/area/station/command/heads_quarters/captain)
-"rbL" = (
-/obj/machinery/door/airlock/hatch{
- name = "Maintenance Hatch"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/maintenance/floor2/starboard)
"rbQ" = (
/obj/effect/turf_decal/stripes{
dir = 1
@@ -66299,6 +66295,7 @@
dir = 4
},
/obj/structure/sign/poster/official/random/directional/south,
+/obj/machinery/digital_clock/directional/south,
/turf/open/floor/wood,
/area/station/service/bar/atrium)
"rdV" = (
@@ -69382,6 +69379,12 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/floor1/port)
+"rYq" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/firedoor/heavy,
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/hallway/floor3/fore)
"rYw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -71179,6 +71182,7 @@
/obj/item/stock_parts/cell/high,
/obj/machinery/cell_charger,
/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/structure/fireaxecabinet/directional/east,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
"sAa" = (
@@ -72302,6 +72306,31 @@
},
/turf/open/floor/pod/dark,
/area/station/maintenance/floor3/port/fore)
+"sPp" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/machinery/button/door/directional/west{
+ id = "viro-inner";
+ name = "Inner Virology Lockdown";
+ pixel_y = -8
+ },
+/obj/machinery/button/door/directional/west{
+ id = "viro-outer";
+ name = "Outer Virology Lockdown";
+ pixel_y = 8
+ },
+/obj/machinery/button/door/directional/west{
+ id = "viro-iso";
+ name = "Isolation Bolts";
+ normaldoorcontrol = 1;
+ pixel_x = -36;
+ specialfunctions = 4
+ },
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/landmark/start/virologist,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"sPs" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
@@ -73463,6 +73492,21 @@
},
/turf/open/floor/carpet/red,
/area/station/service/theater)
+"tdA" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/green/warning{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/red/dim/directional/west,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/pod/light,
+/area/station/maintenance/floor2/starboard)
"tdB" = (
/obj/structure/railing/corner,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -73864,6 +73908,16 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/iron/dark/side,
/area/station/hallway/floor2/aft)
+"tjV" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/incident_display/delam/directional/north,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"tkb" = (
/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance,
/obj/structure/cable,
@@ -75167,21 +75221,6 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/showroomfloor,
/area/station/service/theater)
-"tBp" = (
-/obj/structure/railing{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/green/warning{
- dir = 8
- },
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/red/dim/directional/west,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/pod/light,
-/area/station/maintenance/floor2/starboard)
"tBr" = (
/obj/machinery/camera/autoname/directional/south,
/obj/effect/turf_decal/siding/wood{
@@ -75360,6 +75399,12 @@
/obj/effect/turf_decal/siding/white,
/turf/open/floor/iron/dark/textured,
/area/station/medical/paramedic)
+"tEh" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/firedoor/heavy,
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/hallway/floor4/aft)
"tEi" = (
/obj/item/kirbyplants/random,
/turf/open/floor/iron/dark,
@@ -75833,6 +75878,14 @@
},
/turf/open/floor/pod/dark,
/area/station/maintenance/floor3/port/aft)
+"tKr" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/landmark/start/virologist,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"tKs" = (
/obj/structure/curtain,
/obj/structure/fans/tiny{
@@ -77331,24 +77384,6 @@
"uhx" = (
/turf/open/floor/pod/light,
/area/station/maintenance/floor1/port/aft)
-"uhy" = (
-/obj/effect/turf_decal/tile/green/fourcorners,
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/machinery/door/airlock/virology{
- autoclose = 0;
- frequency = 1449;
- id_tag = "virology_airlock_exterior";
- name = "Virology Exterior Airlock"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/access/any/medical/virology,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "viro"
- },
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"uhB" = (
/obj/effect/turf_decal/tile/green/opposingcorners{
dir = 8
@@ -77860,12 +77895,6 @@
},
/turf/open/floor/engine/airless,
/area/station/engineering/atmos/pumproom)
-"uoZ" = (
-/obj/effect/spawner/structure/window/hollow/reinforced/directional{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/station/maintenance/floor2/starboard)
"uph" = (
/obj/machinery/door/airlock/hatch{
name = "Elevator Shaft Access"
@@ -78135,6 +78164,14 @@
/obj/effect/turf_decal/tile/green/opposingcorners,
/turf/open/floor/iron/white,
/area/station/medical/virology)
+"utl" = (
+/obj/structure/closet/secure_closet/medical1,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 8
+ },
+/obj/structure/noticeboard/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/medical/virology)
"utm" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle,
/obj/structure/girder/reinforced,
@@ -78512,15 +78549,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/security/brig)
-"uyY" = (
-/obj/effect/turf_decal/trimline/green/warning,
-/obj/effect/turf_decal/stripes,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/pod/dark,
-/area/station/maintenance/floor2/starboard)
"uza" = (
/obj/effect/turf_decal/trimline/blue/line{
dir = 8
@@ -79356,6 +79384,7 @@
/area/station/maintenance/floor1/port)
"uKt" = (
/obj/structure/cable/multilayer/multiz,
+/obj/machinery/digital_clock/directional/north,
/turf/open/floor/catwalk_floor,
/area/station/hallway/floor1/fore)
"uKz" = (
@@ -79944,9 +79973,6 @@
/obj/item/radio/intercom/directional/west,
/turf/open/floor/catwalk_floor/iron,
/area/station/engineering/engine_smes)
-"uSe" = (
-/turf/open/floor/iron/dark/textured,
-/area/station/hallway/floor2/aft)
"uSm" = (
/obj/machinery/holopad,
/obj/effect/turf_decal/trimline/blue,
@@ -82236,6 +82262,9 @@
},
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/maintenance/floor2/starboard/aft)
+"vwQ" = (
+/turf/open/floor/iron/dark/textured,
+/area/station/hallway/floor2/aft)
"vwW" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -85417,13 +85446,6 @@
/obj/effect/turf_decal/tile/dark_red/fourcorners,
/turf/open/floor/iron,
/area/station/security/brig)
-"wmN" = (
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 1
- },
-/obj/structure/sign/poster/official/random/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"wmQ" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/effect/turf_decal/trimline/blue/filled/line{
@@ -86086,6 +86108,11 @@
},
/turf/open/floor/iron,
/area/station/hallway/floor2/fore)
+"wvg" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/pod/light,
+/area/station/maintenance/floor2/starboard)
"wvq" = (
/turf/open/floor/iron/dark,
/area/station/command/teleporter)
@@ -86748,6 +86775,16 @@
/obj/item/storage/toolbox/mechanical,
/turf/open/floor/iron/dark,
/area/station/security/brig)
+"wDM" = (
+/obj/machinery/light/small/directional/north,
+/obj/structure/table/reinforced/rglass,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 9
+ },
+/obj/machinery/digital_clock/directional/north,
+/obj/item/storage/box/bodybags,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"wDS" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
@@ -87647,18 +87684,6 @@
},
/turf/open/floor/plating,
/area/station/security/brig)
-"wOb" = (
-/obj/structure/railing,
-/obj/effect/turf_decal/trimline/green/warning{
- dir = 1
- },
-/obj/machinery/door/firedoor/border_only,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/turf/open/floor/pod/light,
-/area/station/maintenance/floor2/starboard)
"wOd" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/structure/tank_holder,
@@ -88852,6 +88877,18 @@
/obj/effect/turf_decal/tile/red/fourcorners,
/turf/open/floor/iron/dark,
/area/station/security/detectives_office/private_investigators_office)
+"xeM" = (
+/obj/effect/turf_decal/trimline/green/warning{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/pod/dark,
+/area/station/maintenance/floor2/starboard)
"xeO" = (
/turf/open/floor/iron,
/area/station/engineering/atmos)
@@ -91343,6 +91380,12 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"xNy" = (
+/obj/machinery/airalarm/directional/west,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"xND" = (
/obj/effect/turf_decal/tile/yellow{
dir = 1
@@ -91669,6 +91712,7 @@
dir = 4
},
/obj/structure/chair/sofa/bench/left,
+/obj/machinery/digital_clock/directional/north,
/turf/open/floor/iron,
/area/station/cargo/lobby)
"xSb" = (
@@ -92057,6 +92101,13 @@
},
/turf/open/floor/carpet,
/area/station/commons/vacant_room/office)
+"xXF" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/catwalk_floor,
+/area/station/maintenance/floor2/starboard)
"xXK" = (
/obj/machinery/airalarm/directional/north,
/turf/open/floor/wood/large,
@@ -92700,6 +92751,7 @@
"yhO" = (
/obj/machinery/suit_storage_unit/engine,
/obj/structure/window/spawner/directional/east,
+/obj/machinery/incident_display/delam/directional/south,
/turf/open/floor/iron/dark/textured_corner{
dir = 1
},
@@ -123182,7 +123234,7 @@ vni
mnQ
rMq
kyR
-vOK
+bSE
hVG
bBx
jnp
@@ -138347,7 +138399,7 @@ oqA
bNR
klY
klY
-hOP
+klY
nHv
cAf
klY
@@ -138598,7 +138650,7 @@ oIy
bIW
oIy
oIy
-pso
+tjV
xgW
xgW
pUf
@@ -139126,7 +139178,7 @@ uyD
uyD
fws
wOm
-xgW
+unW
dEc
dEc
dEc
@@ -139383,7 +139435,7 @@ jjt
mVf
mVF
wOm
-unW
+hOP
dEc
mSe
uov
@@ -188204,7 +188256,7 @@ qlQ
feX
gPH
fNT
-fqo
+lZS
idn
shi
miF
@@ -190013,7 +190065,7 @@ qRy
cht
sYb
kUO
-pDS
+hpz
kKr
hPX
wyE
@@ -193834,8 +193886,8 @@ ucA
ucA
ucA
ucA
-uoZ
-iNy
+pqo
+nrL
wJI
vnK
vnK
@@ -194097,16 +194149,16 @@ wJI
ndL
vnK
vaC
-nWv
-tBp
-jXV
-ozd
-gXZ
-lcW
-mfZ
+dUU
+tdA
+dnJ
+cTJ
+wvg
+mqc
+mRQ
dVV
-bUM
-btf
+xNy
+sPp
mcI
rPC
sJn
@@ -194347,14 +194399,14 @@ ucA
ucA
ucA
ucA
-lEc
-baZ
-aMX
-qhR
-nLt
-rbL
-uyY
-wOb
+fLx
+qNw
+ahS
+xXF
+xeM
+geb
+gns
+fcz
wGl
wGl
xZl
@@ -194605,8 +194657,8 @@ ucA
ucA
ucA
ucA
-uoZ
-iNy
+pqo
+nrL
wJI
vnK
vnK
@@ -194617,10 +194669,10 @@ wGl
gIa
whL
iOA
-mad
+utl
doh
gJz
-gZa
+tKr
hwQ
piz
aWO
@@ -195119,8 +195171,8 @@ ucA
ucA
ucA
ucA
-uoZ
-iNy
+pqo
+nrL
wJI
vnK
lCR
@@ -195134,7 +195186,7 @@ iOA
dfU
pZm
wJy
-gZa
+tKr
dVV
bLm
yhv
@@ -195905,7 +195957,7 @@ iOA
iOA
iOA
iOA
-oXq
+hQE
aBK
aBK
rdH
@@ -196162,7 +196214,7 @@ dVf
dVf
dVf
iOA
-ibj
+mnM
fWa
aBK
vvX
@@ -196419,15 +196471,15 @@ vnK
vnK
dVf
iOA
-iZe
-pkY
-uhy
-acr
-hBS
-hBS
-hBS
-jwJ
-uSe
+qGa
+fhy
+dWT
+dtJ
+cdc
+cdc
+cdc
+fHd
+vwQ
aNm
fXr
xYM
@@ -197213,7 +197265,7 @@ fou
eAV
hrw
jRO
-hYB
+wDM
bKs
gCw
slI
@@ -197470,7 +197522,7 @@ dQH
jdx
cnK
jRO
-aeS
+cUK
rlB
wLV
uMK
@@ -197727,7 +197779,7 @@ jSW
nrX
mkE
gQx
-fxc
+irX
xWy
pfd
fQH
@@ -197984,7 +198036,7 @@ hbj
cle
bWz
jRO
-wmN
+qpo
qAh
rAu
lVE
@@ -254254,7 +254306,7 @@ bvB
oZx
iQG
eDe
-ybQ
+rYq
nKn
wdb
qcd
@@ -319276,7 +319328,7 @@ niF
vRO
qbg
nWW
-uIk
+tEh
bVy
vVu
vOE
diff --git a/_maps/map_files/VoidRaptor/VoidRaptor.dmm b/_maps/map_files/VoidRaptor/VoidRaptor.dmm
index 87803e58d85..aa370d48cf8 100644
--- a/_maps/map_files/VoidRaptor/VoidRaptor.dmm
+++ b/_maps/map_files/VoidRaptor/VoidRaptor.dmm
@@ -6317,6 +6317,10 @@
"bTo" = (
/turf/closed/wall,
/area/station/commons/storage/primary)
+"bTq" = (
+/obj/machinery/digital_clock,
+/turf/closed/wall/r_wall,
+/area/station/command/heads_quarters/qm)
"bTF" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/status_display/ai/directional/south,
@@ -9689,6 +9693,13 @@
/obj/structure/cable,
/turf/open/floor/iron/smooth_large,
/area/station/hallway/primary/fore)
+"cWB" = (
+/obj/machinery/digital_clock{
+ pixel_y = 7;
+ pixel_x = -1
+ },
+/turf/closed/wall/r_wall,
+/area/station/engineering/supermatter/room)
"cWH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
@@ -12601,13 +12612,7 @@
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/maintenance/port/central)
"dLz" = (
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/dark_red{
- dir = 4
- },
+/obj/effect/turf_decal/tile/red/fourcorners,
/turf/open/floor/iron/dark,
/area/station/security/warden)
"dLE" = (
@@ -16766,6 +16771,7 @@
/obj/item/statuebust/hippocratic{
pixel_y = 8
},
+/obj/machinery/digital_clock/directional/west,
/turf/open/floor/carpet/green,
/area/command/heads_quarters/captain/private/nt_rep)
"eRt" = (
@@ -18035,15 +18041,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/coldroom)
-"flJ" = (
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/security/warden)
"flP" = (
/obj/effect/turf_decal/trimline/purple/filled/warning{
dir = 8
@@ -18077,12 +18074,14 @@
"fmC" = (
/obj/machinery/computer/shuttle/labor,
/obj/structure/window/reinforced/spawner/directional/east,
-/obj/machinery/status_display/ai/directional/north,
/obj/effect/turf_decal/tile/dark_red/half{
dir = 4
},
/obj/effect/turf_decal/bot,
/obj/machinery/light/cold/directional/north,
+/obj/machinery/digital_clock/directional/north{
+ pixel_y = 36
+ },
/turf/open/floor/iron/dark/smooth_large,
/area/station/command/bridge)
"fmD" = (
@@ -18911,7 +18910,6 @@
dir = 1
},
/obj/effect/turf_decal/siding/wood,
-/obj/structure/sign/clock/directional/south,
/obj/effect/turf_decal/bot,
/turf/open/floor/iron/dark/smooth_large,
/area/station/command/heads_quarters/qm)
@@ -19945,9 +19943,6 @@
/turf/open/floor/iron/freezer,
/area/station/commons/toilet)
"fRm" = (
-/obj/structure/chair/sofa/corp/left{
- dir = 1
- },
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
@@ -19957,6 +19952,9 @@
/obj/machinery/light/warm/directional/east,
/obj/machinery/light_switch/directional/east,
/obj/effect/landmark/start/paramedic,
+/obj/structure/chair/sofa/corp/right{
+ dir = 1
+ },
/turf/open/floor/iron/dark,
/area/station/medical/break_room)
"fRq" = (
@@ -20566,12 +20564,7 @@
/area/station/security/brig)
"gaJ" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 4
- },
+/obj/effect/turf_decal/tile/red/fourcorners,
/turf/open/floor/iron/dark,
/area/station/security/warden)
"gaQ" = (
@@ -21388,7 +21381,7 @@
/turf/open/floor/noslip,
/area/station/service/janitor)
"glp" = (
-/obj/structure/sign/clock,
+/obj/machinery/digital_clock,
/turf/closed/wall/r_wall,
/area/station/command/heads_quarters/rd)
"glq" = (
@@ -23231,7 +23224,9 @@
/obj/effect/turf_decal/stripes/line{
dir = 1
},
-/obj/machinery/airalarm/directional/north,
+/obj/machinery/airalarm/directional/north{
+ pixel_y = 21
+ },
/obj/structure/rack,
/obj/item/stack/sheet/iron/fifty,
/obj/item/analyzer,
@@ -23654,7 +23649,6 @@
},
/area/station/hallway/primary/fore)
"gSK" = (
-/obj/machinery/status_display/ai/directional/east,
/obj/effect/turf_decal/siding/dark_blue{
dir = 4
},
@@ -23716,6 +23710,12 @@
/obj/effect/turf_decal/tile/blue/diagonal_centre,
/turf/open/floor/iron/white/diagonal,
/area/station/medical/medbay/central)
+"gTg" = (
+/obj/machinery/digital_clock{
+ pixel_y = 5
+ },
+/turf/closed/wall/r_wall,
+/area/blueshield)
"gTJ" = (
/obj/effect/mapping_helpers/airlock/unres{
dir = 1
@@ -24351,12 +24351,11 @@
},
/area/station/hallway/primary/fore)
"hcw" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+/obj/machinery/digital_clock{
+ pixel_y = 5
},
-/obj/structure/sign/poster/random/directional/south,
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/maintenance/starboard/aft)
+/turf/closed/wall,
+/area/station/engineering/main)
"hcD" = (
/obj/effect/turf_decal/bot,
/obj/structure/sign/warning/electric_shock/directional/east,
@@ -25207,7 +25206,7 @@
/turf/open/floor/iron/kitchen,
/area/station/service/kitchen)
"hqf" = (
-/obj/structure/sign/clock,
+/obj/machinery/digital_clock,
/turf/closed/wall/r_wall,
/area/station/security/warden)
"hqm" = (
@@ -27232,6 +27231,19 @@
/obj/effect/spawner/random/structure/girder,
/turf/open/floor/iron/smooth,
/area/station/maintenance/aft/upper)
+"hTN" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/closet/firecloset/wall{
+ pixel_y = -32
+ },
+/obj/effect/turf_decal/trimline/white/end{
+ dir = 1
+ },
+/turf/open/floor/iron/smooth_edge{
+ dir = 1
+ },
+/area/station/hallway/secondary/entry)
"hTP" = (
/obj/machinery/holopad,
/obj/effect/turf_decal/bot,
@@ -28196,8 +28208,8 @@
pixel_x = 1;
pixel_y = 19
},
-/obj/structure/sign/clock/directional/south,
/obj/structure/aquarium/prefilled,
+/obj/machinery/digital_clock/directional/south,
/turf/open/floor/wood/large,
/area/station/command/heads_quarters/captain)
"ikp" = (
@@ -28696,7 +28708,7 @@
/turf/open/floor/iron/white/smooth_large,
/area/station/science/lab)
"iqx" = (
-/obj/structure/sign/clock,
+/obj/machinery/digital_clock,
/turf/closed/wall/r_wall,
/area/station/ai_monitored/security/armory)
"iqD" = (
@@ -32681,9 +32693,6 @@
},
/area/station/engineering/main)
"jvf" = (
-/obj/structure/chair/sofa/corp/right{
- dir = 1
- },
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
@@ -32691,6 +32700,9 @@
dir = 4
},
/obj/effect/landmark/start/orderly,
+/obj/structure/chair/sofa/corp/left{
+ dir = 1
+ },
/turf/open/floor/iron/dark,
/area/station/medical/break_room)
"jvg" = (
@@ -33618,6 +33630,13 @@
pixel_x = -2;
pixel_y = 5
},
+/obj/machinery/requests_console/directional/south{
+ department = "Engineering";
+ name = "Engineering Requests Console";
+ dir = 4;
+ pixel_y = 0;
+ pixel_x = 30
+ },
/turf/open/floor/iron/smooth,
/area/station/engineering/lobby)
"jGT" = (
@@ -33706,9 +33725,17 @@
/turf/open/floor/iron/smooth,
/area/station/hallway/primary/aft)
"jHI" = (
-/obj/structure/sign/clock,
-/turf/closed/wall,
-/area/station/commons/vacant_room)
+/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/trimline/neutral/filled/line,
+/obj/effect/turf_decal/trimline/neutral/filled/line,
+/obj/effect/turf_decal/trimline/neutral/filled/line,
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron/dark/smooth_edge{
+ dir = 1
+ },
+/area/station/hallway/secondary/command)
"jHT" = (
/obj/machinery/smartfridge/extract/preloaded,
/obj/effect/turf_decal/trimline/purple/filled/line{
@@ -34556,7 +34583,6 @@
/obj/machinery/modular_computer/preset/command,
/obj/machinery/status_display/ai/directional/north,
/obj/effect/turf_decal/bot,
-/obj/structure/sign/clock/directional/east,
/turf/open/floor/carpet/cyan,
/area/blueshield)
"jVx" = (
@@ -35511,8 +35537,10 @@
dir = 1
},
/obj/effect/turf_decal/delivery,
-/obj/structure/sign/clock/directional/north,
/obj/machinery/light/cold/directional/north,
+/obj/machinery/digital_clock/directional/north{
+ pixel_y = 37
+ },
/turf/open/floor/engine,
/area/station/ai_monitored/security/armory)
"kjL" = (
@@ -35529,7 +35557,6 @@
dir = 4
},
/obj/structure/cable,
-/obj/structure/sign/delamination_counter/directional/east,
/obj/machinery/light/cold/directional/east,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
@@ -36281,7 +36308,6 @@
/turf/open/floor/iron/dark/smooth_large,
/area/station/science/robotics/lab)
"kvT" = (
-/obj/structure/sign/clock/directional/north,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 4
},
@@ -39789,9 +39815,9 @@
/obj/structure/rack,
/obj/item/gun/energy/e_gun/dragnet,
/obj/item/gun/energy/e_gun/dragnet,
-/obj/item/melee/hammer,
-/obj/item/melee/hammer,
-/obj/item/melee/hammer,
+/obj/item/melee/breaching_hammer,
+/obj/item/melee/breaching_hammer,
+/obj/item/melee/breaching_hammer,
/obj/effect/turf_decal/tile/dark_red/half,
/obj/machinery/camera/directional/south{
c_tag = "Armory - Interior"
@@ -40459,9 +40485,11 @@
/area/space/nearstation)
"lAT" = (
/obj/machinery/computer/prisoner/management,
-/obj/structure/sign/clock/directional/north,
/obj/effect/turf_decal/bot,
/obj/machinery/light/directional/north,
+/obj/machinery/digital_clock/directional/north{
+ pixel_y = 37
+ },
/turf/open/floor/carpet/royalblack,
/area/station/command/heads_quarters/hos)
"lBb" = (
@@ -41656,11 +41684,6 @@
dir = 4
},
/area/station/engineering/gravity_generator)
-"lQU" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/closet/secure_closet/evidence,
-/turf/open/floor/iron/dark,
-/area/station/security/warden)
"lQX" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/table,
@@ -46882,6 +46905,12 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron/smooth_large,
/area/station/security/checkpoint/supply)
+"npK" = (
+/obj/machinery/digital_clock{
+ pixel_y = 5
+ },
+/turf/closed/wall/r_wall,
+/area/command/heads_quarters/captain/private/nt_rep)
"npP" = (
/obj/effect/turf_decal/siding/wood{
dir = 6
@@ -46975,7 +47004,8 @@
dir = 6
},
/obj/machinery/light_switch/directional/east{
- pixel_x = 21
+ pixel_x = 21;
+ pixel_y = -7
},
/obj/structure/closet/secure_closet/courtroom,
/obj/item/megaphone{
@@ -49388,6 +49418,7 @@
pixel_x = -32;
pixel_y = 27
},
+/obj/machinery/incident_display/delam/directional/south,
/turf/open/floor/iron/dark/smooth_large,
/area/station/command/bridge)
"nYj" = (
@@ -49493,7 +49524,6 @@
/obj/structure/sign/plaques/kiddie/perfect_man{
pixel_y = 32
},
-/obj/structure/sign/clock/directional/east,
/turf/open/floor/wood/large,
/area/command/heads_quarters/captain/private/nt_rep)
"oaD" = (
@@ -49681,17 +49711,6 @@
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/wood/large,
/area/station/science/research)
-"oei" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/dark_red{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/security/warden)
"oej" = (
/obj/effect/turf_decal/weather/sand{
dir = 4
@@ -51977,7 +51996,9 @@
layer = 2.9
},
/obj/machinery/status_display/evac/directional/west,
-/obj/structure/sign/clock/directional/north,
+/obj/machinery/digital_clock/directional/north{
+ pixel_y = 37
+ },
/obj/effect/turf_decal/trimline/dark_blue/filled,
/obj/effect/turf_decal/trimline/dark_blue/filled/mid_joiner,
/obj/effect/turf_decal/trimline/dark_blue/filled/mid_joiner{
@@ -52872,7 +52893,9 @@
/obj/item/toy/figure/captain{
pixel_y = 12
},
-/obj/structure/sign/clock/directional/north,
+/obj/machinery/digital_clock/directional/north{
+ pixel_y = 37
+ },
/turf/open/floor/carpet/royalblue,
/area/station/command/heads_quarters/captain/private)
"oXQ" = (
@@ -53297,6 +53320,10 @@
/obj/machinery/duct,
/turf/open/floor/iron/white,
/area/station/science/lab)
+"pdj" = (
+/obj/machinery/incident_display/delam,
+/turf/closed/wall/r_wall,
+/area/station/security/checkpoint/engineering)
"pdt" = (
/obj/machinery/disposal/bin,
/obj/effect/turf_decal/box,
@@ -53427,7 +53454,6 @@
/obj/structure/closet{
name = "Evidence Closet"
},
-/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/dark,
/area/station/security/warden)
"peM" = (
@@ -54380,11 +54406,13 @@
/obj/item/toy/figure/lawyer{
pixel_y = 18
},
-/obj/structure/sign/clock/directional/north,
/obj/effect/turf_decal/siding/wood{
dir = 5
},
/obj/effect/turf_decal/bot,
+/obj/machinery/digital_clock/directional/north{
+ pixel_y = 37
+ },
/turf/open/floor/wood,
/area/station/service/lawoffice)
"psA" = (
@@ -56190,10 +56218,10 @@
},
/area/station/engineering/break_room)
"pTK" = (
-/obj/structure/table/reinforced,
/obj/item/mmi,
/obj/item/assembly/prox_sensor,
/obj/effect/decal/cleanable/dirt,
+/obj/structure/table,
/turf/open/floor/iron/smooth,
/area/station/science/research/abandoned)
"pUe" = (
@@ -57704,10 +57732,6 @@
/obj/effect/turf_decal/trimline/yellow/filled/warning{
dir = 10
},
-/obj/machinery/requests_console/directional/south{
- department = "Engineering";
- name = "Engineering Requests Console"
- },
/obj/effect/mapping_helpers/requests_console/supplies,
/obj/effect/mapping_helpers/requests_console/assistance,
/turf/open/floor/iron/smooth,
@@ -57902,6 +57926,12 @@
},
/turf/open/floor/iron/large,
/area/station/service/kitchen)
+"qoE" = (
+/obj/machinery/digital_clock{
+ pixel_y = 5
+ },
+/turf/closed/wall,
+/area/station/security/interrogation)
"qoG" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 4
@@ -59632,13 +59662,13 @@
/area/station/service/theater)
"qNc" = (
/obj/machinery/vending/cart,
-/obj/structure/sign/clock/directional/east,
/obj/item/storage/lockbox/loyalty{
pixel_x = 2;
pixel_y = 18
},
/obj/effect/turf_decal/bot,
/obj/structure/sign/calendar/directional/south,
+/obj/machinery/digital_clock/directional/east,
/turf/open/floor/carpet/executive,
/area/station/command/heads_quarters/hop)
"qNd" = (
@@ -61103,7 +61133,6 @@
/turf/open/floor/iron/white/smooth_large,
/area/station/medical/medbay/central)
"rju" = (
-/obj/structure/sign/clock/directional/east,
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk,
/obj/effect/turf_decal/siding/dark_blue{
@@ -63503,7 +63532,6 @@
/obj/effect/turf_decal/stripes/line{
dir = 8
},
-/obj/machinery/status_display/ai/directional/west,
/obj/structure/cable,
/obj/machinery/light/cold/directional/west,
/turf/open/floor/engine,
@@ -64634,7 +64662,7 @@
dir = 1
},
/obj/machinery/newscaster/directional/north{
- pixel_x = 11
+ pixel_x = 9
},
/turf/open/floor/wood/large,
/area/station/science/research)
@@ -65678,10 +65706,9 @@
/turf/open/floor/iron/smooth,
/area/station/maintenance/aft/greater)
"sCG" = (
-/obj/structure/closet/firecloset/wall{
- pixel_y = 32
+/obj/machinery/digital_clock/directional/north{
+ pixel_y = 37
},
-/obj/effect/turf_decal/trimline/white/end,
/turf/open/floor/iron/smooth_edge,
/area/station/hallway/secondary/entry)
"sCH" = (
@@ -65772,6 +65799,7 @@
/area/station/engineering/atmos)
"sCX" = (
/obj/effect/turf_decal/trimline/white/mid_joiner,
+/obj/machinery/incident_display/delam/directional/north,
/turf/open/floor/iron/smooth_edge,
/area/station/hallway/secondary/entry)
"sCZ" = (
@@ -68203,6 +68231,7 @@
"the" = (
/obj/machinery/suit_storage_unit/engine,
/obj/effect/turf_decal/box,
+/obj/machinery/incident_display/delam/directional/north,
/turf/open/floor/iron/dark/smooth_large,
/area/station/engineering/storage)
"thf" = (
@@ -69030,7 +69059,6 @@
/turf/open/floor/iron/diagonal,
/area/station/hallway/secondary/service)
"tsb" = (
-/obj/structure/chair/sofa/bench,
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 1
},
@@ -69039,6 +69067,7 @@
pixel_y = 32
},
/obj/effect/landmark/start/assistant,
+/obj/structure/chair/sofa/bench/right,
/turf/open/floor/iron/white/smooth_edge,
/area/station/medical/medbay/lobby)
"tsi" = (
@@ -69212,8 +69241,8 @@
dir = 8
},
/obj/structure/cable,
-/obj/structure/sign/delamination_counter/directional/west,
/obj/machinery/light/cold/directional/west,
+/obj/machinery/status_display/ai/directional/west,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
"tuF" = (
@@ -69422,7 +69451,9 @@
/turf/open/floor/iron/large,
/area/station/commons/fitness/recreation/entertainment)
"twZ" = (
-/obj/structure/sign/clock,
+/obj/machinery/digital_clock{
+ pixel_y = 6
+ },
/turf/closed/wall/r_wall,
/area/station/security/office)
"txh" = (
@@ -70488,7 +70519,9 @@
icon_state = "original"
},
/obj/item/toy/cattoy,
-/obj/structure/sign/clock/directional/north,
+/obj/machinery/digital_clock/directional/north{
+ pixel_y = 37
+ },
/turf/open/floor/carpet/blue,
/area/station/command/heads_quarters/cmo)
"tLN" = (
@@ -72707,6 +72740,9 @@
/obj/machinery/firealarm/directional/south,
/obj/structure/filingcabinet,
/obj/effect/turf_decal/bot,
+/obj/machinery/digital_clock/directional/south{
+ pixel_y = -39
+ },
/turf/open/floor/iron/smooth_edge{
dir = 1
},
@@ -78172,6 +78208,10 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating/airless,
/area/station/cargo/sorting)
+"vUB" = (
+/obj/machinery/incident_display/delam,
+/turf/closed/wall/r_wall,
+/area/station/engineering/supermatter)
"vUC" = (
/obj/structure/chair/pew/left,
/turf/open/floor/iron/chapel{
@@ -79130,6 +79170,7 @@
/area/station/maintenance/port/fore)
"whY" = (
/obj/structure/closet/secure_closet/evidence,
+/obj/effect/turf_decal/bot,
/turf/open/floor/iron/dark,
/area/station/security/warden)
"wia" = (
@@ -79346,6 +79387,10 @@
/obj/structure/fluff/beach_umbrella/syndi,
/turf/open/floor/iron/white/small,
/area/station/common/pool)
+"wlh" = (
+/obj/machinery/incident_display/delam,
+/turf/closed/wall,
+/area/station/engineering/main)
"wlj" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -83921,7 +83966,6 @@
/area/station/security/warden)
"xBW" = (
/obj/effect/turf_decal/bot,
-/obj/structure/sign/poster/official/random/directional/north,
/obj/machinery/camera/directional/north,
/turf/open/floor/iron/dark/smooth_large,
/area/station/engineering/main)
@@ -85517,12 +85561,7 @@
/area/station/maintenance/port/aft)
"yaH" = (
/obj/machinery/airalarm/directional/north,
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 4
- },
+/obj/effect/turf_decal/tile/red/fourcorners,
/turf/open/floor/iron/dark,
/area/station/security/warden)
"ybj" = (
@@ -107958,11 +107997,11 @@ lkj
ttw
qjA
bgi
-qjA
+iTA
rQj
atf
-rUz
-qjA
+hTN
+iTA
bgi
qjA
ttw
@@ -117665,7 +117704,7 @@ doJ
doJ
doJ
cmH
-cmH
+gTg
cmH
eUl
cmH
@@ -118040,7 +118079,7 @@ qTC
hcL
wEV
jgd
-xnw
+pdj
lFP
rfv
uyT
@@ -118833,7 +118872,7 @@ vuq
adx
afy
qat
-bZi
+vUB
jrj
aaH
jko
@@ -118963,8 +119002,8 @@ hca
nEb
mzb
hEA
-hvK
jHI
+imR
eEN
cDV
ibV
@@ -120369,7 +120408,7 @@ rAU
cge
mxk
jQq
-oCl
+cWB
gME
tUK
nYt
@@ -120636,7 +120675,7 @@ bZi
rfD
dAY
mhx
-bZi
+vUB
cmr
fsX
ejY
@@ -121130,7 +121169,7 @@ lVG
nDn
hAj
enY
-rAU
+hcw
nFx
iPJ
iRb
@@ -121387,7 +121426,7 @@ fdG
mhY
vsS
qlQ
-rAU
+wlh
xBW
iPJ
vgy
@@ -122577,8 +122616,8 @@ cAy
aDR
yaH
dLz
-oei
-flJ
+gaJ
+dLz
gaJ
aDR
bzs
@@ -122833,7 +122872,7 @@ tpZ
uLY
aDR
wWQ
-lQU
+whY
whY
aDR
kIV
@@ -123059,7 +123098,7 @@ usB
jxu
usB
xlE
-xlE
+npK
xlE
iGu
xlE
@@ -123191,7 +123230,7 @@ fAJ
iAF
iAF
owb
-hcw
+tTt
vlh
the
eLf
@@ -125413,7 +125452,7 @@ ueZ
oae
qKi
xPP
-qRF
+qoE
kvT
fVF
gwF
@@ -125732,7 +125771,7 @@ iWQ
gnh
koK
fyT
-onP
+bTq
uRm
pNh
nMh
diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm
index 1b9ac6d11f1..8a80993c6e1 100644
--- a/_maps/map_files/tramstation/tramstation.dmm
+++ b/_maps/map_files/tramstation/tramstation.dmm
@@ -1626,6 +1626,20 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
+"aex" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/structure/table/glass,
+/obj/item/reagent_containers/dropper,
+/obj/item/reagent_containers/cup/beaker/large{
+ pixel_x = 6;
+ pixel_y = 4
+ },
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 4
+ },
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron/white,
+/area/station/medical/chemistry)
"aey" = (
/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
dir = 4
@@ -4604,13 +4618,13 @@
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 1
},
-/obj/machinery/airalarm/directional/north,
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
+/obj/structure/fireaxecabinet/directional/north,
/turf/open/floor/iron,
/area/station/command/bridge)
"aAE" = (
@@ -6221,7 +6235,7 @@
/area/station/commons/fitness/recreation)
"aMY" = (
/obj/structure/industrial_lift/tram,
-/obj/structure/window/reinforced/tram/mid/directional/south,
+/obj/structure/window/reinforced/tram/directional/south,
/turf/open/openspace,
/area/station/hallway/primary/tram/center)
"aNa" = (
@@ -8019,10 +8033,10 @@
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 1
},
-/obj/structure/sign/clock/directional/north,
/obj/machinery/camera/directional/north{
c_tag = "Command - Bridge North"
},
+/obj/machinery/incident_display/dual/directional/north,
/turf/open/floor/iron,
/area/station/command/bridge)
"bsW" = (
@@ -9044,6 +9058,13 @@
/obj/item/kirbyplants/random,
/turf/open/floor/iron/dark,
/area/station/security/courtroom/holding)
+"bLq" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 5
+ },
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"bLr" = (
/obj/machinery/disposal/bin,
/obj/effect/turf_decal/trimline/red/filled/line{
@@ -12819,12 +12840,15 @@
/turf/open/floor/iron/checker,
/area/station/service/kitchen)
"cZo" = (
-/obj/structure/sign/collision_counter{
- pixel_x = -4;
- pixel_y = 2
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/obj/effect/turf_decal/trimline/neutral/filled/warning,
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/turf/closed/wall,
-/area/station/medical/medbay/lobby)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/incident_display/dual/directional/south,
+/turf/open/floor/iron,
+/area/station/hallway/primary/tram/center)
"cZz" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -16057,6 +16081,13 @@
/obj/effect/turf_decal/tile/blue/full,
/turf/open/floor/iron/dark/smooth_large,
/area/station/commons/fitness/recreation/entertainment)
+"elu" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 1
+ },
+/obj/machinery/digital_clock/directional/north,
+/turf/open/floor/iron,
+/area/station/security/prison)
"elB" = (
/obj/effect/turf_decal/bot,
/obj/structure/rack,
@@ -16302,7 +16333,6 @@
},
/obj/machinery/newscaster/directional/south,
/obj/structure/reagent_dispensers/water_cooler,
-/obj/structure/sign/delamination_counter/directional/west,
/turf/open/floor/iron,
/area/station/engineering/break_room)
"eqJ" = (
@@ -16507,12 +16537,6 @@
},
/turf/open/floor/glass/reinforced,
/area/station/security/warden)
-"etQ" = (
-/obj/effect/turf_decal/trimline/red/filled/line,
-/obj/machinery/light/directional/south,
-/obj/structure/sign/clock/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/security/courtroom/holding)
"euC" = (
/turf/open/floor/wood/parquet,
/area/station/medical/psychology)
@@ -18723,7 +18747,7 @@
/area/station/science/ordnance/testlab)
"fnl" = (
/obj/machinery/light/directional/east,
-/obj/item/radio/intercom/directional/east,
+/obj/machinery/newscaster/directional/east,
/turf/open/floor/iron/dark/side{
dir = 1
},
@@ -19731,13 +19755,6 @@
/obj/machinery/firealarm/directional/east,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"fGS" = (
-/obj/machinery/modular_computer/preset/id{
- dir = 1
- },
-/obj/structure/sign/clock/directional/south,
-/turf/open/floor/iron/cafeteria,
-/area/station/command/heads_quarters/rd)
"fGZ" = (
/obj/structure/table,
/obj/item/razor{
@@ -20083,6 +20100,16 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron/freezer,
/area/station/commons/toilet)
+"fNS" = (
+/obj/structure/table,
+/obj/item/radio/intercom/directional/east{
+ freerange = 1;
+ listening = 0;
+ name = "Custom Channel";
+ pixel_x = 0
+ },
+/turf/open/floor/iron/dark/small,
+/area/station/commons/vacant_room)
"fNV" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -21385,7 +21412,6 @@
dir = 10;
network = list("ss13","engine","engineering")
},
-/obj/structure/sign/delamination_counter/directional/south,
/turf/open/floor/engine,
/area/station/engineering/supermatter)
"gpD" = (
@@ -21743,14 +21769,6 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron,
/area/station/cargo/miningdock)
-"gxA" = (
-/obj/structure/industrial_lift/tram,
-/obj/structure/window/reinforced/tram/right/directional/north,
-/obj/structure/chair/sofa/bench/tram/right{
- dir = 8
- },
-/turf/open/openspace,
-/area/station/hallway/primary/tram/center)
"gxO" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 9
@@ -23867,6 +23885,12 @@
/obj/machinery/newscaster/directional/north,
/turf/open/floor/wood/large,
/area/station/service/library)
+"hnK" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron/dark/herringbone,
+/area/station/commons/vacant_room)
"hnP" = (
/obj/effect/turf_decal/trimline/dark_green/filled/corner{
dir = 4
@@ -24221,6 +24245,7 @@
/obj/structure/disposalpipe/segment{
dir = 10
},
+/obj/machinery/incident_display/tram/directional/north,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
"hvJ" = (
@@ -24929,6 +24954,7 @@
c_tag = "Civilian - Recreational Area North-West"
},
/obj/item/toy/plush/lizard_plushie/space/green,
+/obj/machinery/incident_display/dual/directional/north,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
"hMs" = (
@@ -25241,6 +25267,7 @@
/obj/item/storage/toolbox/emergency,
/obj/item/wrench,
/obj/item/assembly/signaler,
+/obj/machinery/airalarm/directional/east,
/turf/open/floor/iron,
/area/station/command/bridge)
"hSs" = (
@@ -28099,9 +28126,6 @@
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
"iWm" = (
-/obj/structure/sign/collision_counter{
- pixel_x = -32
- },
/obj/structure/table/reinforced,
/obj/item/storage/medkit/regular{
pixel_x = -5;
@@ -28111,6 +28135,7 @@
pixel_x = 8;
pixel_y = 4
},
+/obj/item/radio/intercom/directional/west,
/turf/open/floor/iron,
/area/station/command/bridge)
"iWz" = (
@@ -29187,16 +29212,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/secondary/service)
-"jpw" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line,
-/obj/structure/sign/clock/directional/south,
-/obj/machinery/conveyor_switch/oneway{
- id = "engineeringchute";
- name = "Shipment Delivery Chute Activator";
- pixel_x = -11
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"jpC" = (
/obj/effect/turf_decal/trimline/blue/filled/corner{
dir = 4
@@ -29431,6 +29446,13 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/morgue)
+"jtP" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 5
+ },
+/obj/item/kirbyplants/organic/plant10,
+/turf/open/floor/iron/white,
+/area/station/science/lobby)
"jud" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/landmark/event_spawn,
@@ -30608,6 +30630,16 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/iron,
/area/station/hallway/secondary/service)
+"jRq" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line,
+/obj/machinery/conveyor_switch/oneway{
+ id = "engineeringchute";
+ name = "Shipment Delivery Chute Activator";
+ pixel_x = -11
+ },
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"jRy" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -31830,6 +31862,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"knX" = (
+/obj/effect/turf_decal/trimline/red/filled/line,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron,
+/area/station/security/office)
"koj" = (
/obj/machinery/vending/wardrobe/jani_wardrobe,
/obj/structure/extinguisher_cabinet/directional/north,
@@ -32156,7 +32196,6 @@
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 1
},
-/obj/structure/fireaxecabinet/directional/north,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
@@ -33899,7 +33938,7 @@
/area/station/science/explab)
"kYp" = (
/obj/structure/industrial_lift/tram,
-/obj/structure/window/reinforced/tram/right/directional/south,
+/obj/structure/window/reinforced/tram/directional/south,
/obj/machinery/destination_sign/south{
pixel_y = -11
},
@@ -34186,9 +34225,6 @@
/obj/structure/disposalpipe/trunk{
dir = 2
},
-/obj/structure/sign/collision_counter{
- pixel_x = 32
- },
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
"lcn" = (
@@ -36309,12 +36345,6 @@
/obj/item/cultivator,
/turf/open/floor/iron/dark,
/area/station/security/prison/garden)
-"lQC" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 5
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"lQE" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small/directional/north,
@@ -37773,6 +37803,13 @@
name = "hyper-reinforced wall"
},
/area/station/science/ordnance/bomb)
+"mpO" = (
+/obj/effect/turf_decal/trimline/neutral/filled/line{
+ dir = 1
+ },
+/obj/machinery/newscaster/directional/north,
+/turf/open/floor/iron,
+/area/station/commons/fitness/recreation)
"mpX" = (
/obj/structure/window/reinforced/spawner/directional/south,
/obj/structure/table/wood,
@@ -38993,6 +39030,18 @@
},
/turf/open/floor/iron/white,
/area/station/medical/storage)
+"mPu" = (
+/obj/item/paper{
+ default_raw_text = "Congradulations, agent 'INSERT NAME HERE'! You have been assigned reconnaissance duty among the orbiting rocks of Indecipheres! As this location was previously scouted as a potential build site for a Nanotrasen outpost, one of our benefactors has taken the oppertunity to pre-emptively construct a listening outpost within the region! You have been tasked with monitoring the potentially active future crew and logging all events onboard. If you are a Nanotrasen official who has stumbled upon this outpost before it could be properly established: Please ignore this entire paper.";
+ name = "initiation paperwork"
+ },
+/obj/machinery/computer/records/medical/syndie{
+ dir = 1;
+ req_access = list("syndicate")
+ },
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron/dark/small,
+/area/station/commons/vacant_room)
"mPN" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron,
@@ -39219,6 +39268,16 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating,
/area/station/solars/starboard/fore)
+"mWy" = (
+/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/tile/neutral/opposingcorners{
+ dir = 1
+ },
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/medical/break_room)
"mWK" = (
/obj/structure/chair/stool/directional/south,
/obj/effect/landmark/start/hangover,
@@ -41353,7 +41412,6 @@
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 1
},
-/obj/machinery/newscaster/directional/north,
/obj/item/pai_card,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
@@ -41390,7 +41448,7 @@
/area/station/hallway/secondary/command)
"nKp" = (
/obj/structure/industrial_lift/tram,
-/obj/structure/window/reinforced/tram/left/directional/north,
+/obj/structure/window/reinforced/tram/directional/north,
/obj/structure/chair/sofa/bench/tram/right{
dir = 8
},
@@ -41734,7 +41792,7 @@
/area/station/engineering/main)
"nQc" = (
/obj/structure/industrial_lift/tram,
-/obj/structure/window/reinforced/tram/right/directional/north,
+/obj/structure/window/reinforced/tram/directional/north,
/obj/machinery/destination_sign/north{
pixel_y = 10
},
@@ -42177,20 +42235,6 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/science/lower)
-"nXd" = (
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/structure/table/glass,
-/obj/item/reagent_containers/dropper,
-/obj/structure/sign/clock/directional/north,
-/obj/item/reagent_containers/cup/beaker/large{
- pixel_x = 6;
- pixel_y = 4
- },
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/white,
-/area/station/medical/chemistry)
"nXh" = (
/obj/effect/turf_decal/trimline/neutral/warning{
dir = 1
@@ -42244,21 +42288,6 @@
/obj/item/stamp/head/cmo,
/turf/open/floor/iron/white,
/area/station/command/heads_quarters/cmo)
-"nXN" = (
-/obj/item/kirbyplants/organic/plant21,
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 6
- },
-/obj/structure/extinguisher_cabinet/directional/east,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron/white,
-/area/station/command/heads_quarters/cmo)
"nXP" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -43056,7 +43085,10 @@
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 4
},
-/obj/structure/extinguisher_cabinet/directional/north,
+/obj/machinery/incident_display/tram/directional/north{
+ name = "darwin award counter";
+ desc = "A display that indicates how many dents that'll need fixed after the shift is over."
+ },
/turf/open/floor/iron,
/area/station/maintenance/port/central)
"onW" = (
@@ -43094,7 +43126,7 @@
/obj/machinery/destination_sign/north{
pixel_y = 10
},
-/obj/structure/window/reinforced/tram/left/directional/north,
+/obj/structure/window/reinforced/tram/directional/north,
/obj/structure/chair/sofa/bench/tram/right{
dir = 8
},
@@ -44019,6 +44051,13 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/security/brig)
+"oII" = (
+/obj/machinery/modular_computer/preset/id{
+ dir = 1
+ },
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron/cafeteria,
+/area/station/command/heads_quarters/rd)
"oIU" = (
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
@@ -44383,6 +44422,7 @@
dir = 8
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/extinguisher_cabinet/directional/east,
/turf/open/floor/iron,
/area/station/maintenance/port/central)
"oRV" = (
@@ -45218,11 +45258,6 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/storage)
-"piT" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
-/turf/open/floor/iron/dark/herringbone,
-/area/station/commons/vacant_room)
"piX" = (
/turf/open/floor/engine/n2o,
/area/station/engineering/atmos)
@@ -45525,16 +45560,6 @@
dir = 1
},
/area/station/service/kitchen)
-"pnz" = (
-/obj/structure/sign/clock/directional/south,
-/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/tile/neutral/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/break_room)
"pnF" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/siding/thinplating,
@@ -49334,11 +49359,6 @@
/obj/structure/table,
/obj/item/storage/toolbox/emergency,
/obj/item/crowbar,
-/obj/structure/sign/collision_counter{
- desc = "A display that indicates how many dents that'll need fixed after the shift is over.";
- name = "darwin award counter";
- pixel_x = 32
- },
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/maintenance/port/central)
@@ -51842,12 +51862,6 @@
/obj/item/radio/intercom/directional/east,
/turf/open/floor/iron/white,
/area/station/science/auxlab/firing_range)
-"rAZ" = (
-/obj/effect/turf_decal/trimline/red/filled/line{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/security/prison)
"rBb" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -53031,7 +53045,7 @@
/area/station/security/warden)
"rZD" = (
/obj/structure/industrial_lift/tram,
-/obj/structure/window/reinforced/tram/left/directional/south,
+/obj/structure/window/reinforced/tram/directional/south,
/obj/structure/chair/sofa/bench/tram/right{
dir = 4
},
@@ -53421,14 +53435,6 @@
},
/turf/open/floor/catwalk_floor,
/area/station/hallway/primary/tram/right)
-"sgt" = (
-/obj/structure/industrial_lift/tram,
-/obj/structure/window/reinforced/tram/right/directional/south,
-/obj/structure/chair/sofa/bench/tram/right{
- dir = 4
- },
-/turf/open/openspace,
-/area/station/hallway/primary/tram/center)
"sgA" = (
/obj/structure/table,
/obj/machinery/light/small/directional/west,
@@ -54719,6 +54725,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
+"sCp" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/incident_display/delam/directional/north,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"sCv" = (
/obj/structure/table/wood,
/obj/machinery/light/dim/directional/north,
@@ -55072,17 +55086,6 @@
},
/turf/open/floor/iron,
/area/station/commons/dorms)
-"sJp" = (
-/obj/structure/table,
-/obj/item/radio/intercom/directional/east{
- freerange = 1;
- listening = 0;
- name = "Custom Channel";
- pixel_x = 0
- },
-/obj/structure/sign/clock/directional/south,
-/turf/open/floor/iron/dark/small,
-/area/station/commons/vacant_room)
"sJx" = (
/obj/structure/chair{
dir = 1
@@ -55975,6 +55978,21 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating,
/area/station/asteroid)
+"sYh" = (
+/obj/item/kirbyplants/organic/plant21,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 6
+ },
+/obj/structure/extinguisher_cabinet/directional/east,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/iron/white,
+/area/station/command/heads_quarters/cmo)
"sYk" = (
/obj/effect/turf_decal/trimline/neutral/filled/corner{
dir = 4
@@ -57107,17 +57125,6 @@
/obj/structure/chair,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"tsR" = (
-/obj/item/paper{
- default_raw_text = "Congradulations, agent 'INSERT NAME HERE'! You have been assigned reconnaissance duty among the orbiting rocks of Indecipheres! As this location was previously scouted as a potential build site for a Nanotrasen outpost, one of our benefactors has taken the oppertunity to pre-emptively construct a listening outpost within the region! You have been tasked with monitoring the potentially active future crew and logging all events onboard. If you are a Nanotrasen official who has stumbled upon this outpost before it could be properly established: Please ignore this entire paper.";
- name = "initiation paperwork"
- },
-/obj/machinery/computer/records/medical/syndie{
- dir = 1;
- req_access = list("syndicate")
- },
-/turf/open/floor/iron/dark/small,
-/area/station/commons/vacant_room)
"tsV" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/machinery/shower/directional/east,
@@ -58390,10 +58397,10 @@
/turf/closed/wall,
/area/station/hallway/secondary/entry)
"tPV" = (
-/obj/machinery/status_display/evac/directional/north,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
},
+/obj/machinery/incident_display/dual/directional/north,
/turf/open/floor/iron,
/area/station/engineering/main)
"tPW" = (
@@ -60908,7 +60915,7 @@
/obj/machinery/destination_sign/south{
pixel_y = -11
},
-/obj/structure/window/reinforced/tram/left/directional/south,
+/obj/structure/window/reinforced/tram/directional/south,
/obj/effect/landmark/start/hangover,
/obj/structure/chair/sofa/bench/tram/left{
dir = 8
@@ -61616,14 +61623,6 @@
/obj/structure/cable,
/turf/open/floor/wood,
/area/station/commons/vacant_room/office)
-"uSU" = (
-/obj/effect/turf_decal/trimline/red/filled/line,
-/obj/structure/sign/clock/directional/south,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/security/office)
"uSV" = (
/obj/structure/window/reinforced/spawner/directional/north,
/obj/machinery/chem_heater/withbuffer,
@@ -64378,13 +64377,6 @@
},
/turf/open/floor/carpet,
/area/station/command/meeting_room)
-"vNd" = (
-/obj/effect/turf_decal/trimline/purple/filled/line{
- dir = 5
- },
-/obj/item/kirbyplants/organic/plant10,
-/turf/open/floor/iron/white,
-/area/station/science/lobby)
"vNe" = (
/obj/effect/turf_decal/trimline/red/filled/corner{
dir = 4
@@ -68126,6 +68118,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/commons/dorms)
+"xmv" = (
+/obj/effect/turf_decal/trimline/red/filled/line,
+/obj/machinery/light/directional/south,
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/security/courtroom/holding)
"xmE" = (
/obj/effect/turf_decal/trimline/green/filled/line{
dir = 4
@@ -69797,7 +69795,7 @@
/area/station/engineering/supermatter)
"xVH" = (
/obj/structure/industrial_lift/tram,
-/obj/structure/window/reinforced/tram/mid/directional/north,
+/obj/structure/window/reinforced/tram/directional/north,
/turf/open/openspace,
/area/station/hallway/primary/tram/center)
"xVJ" = (
@@ -76061,7 +76059,7 @@ fTI
agz
agz
agz
-piT
+hnK
gcp
aaa
aaa
@@ -87763,7 +87761,7 @@ wkk
fZX
jLj
gvI
-rAZ
+elu
kHT
mIN
ezb
@@ -99399,7 +99397,7 @@ pwX
hJd
aYn
hJd
-jpw
+jRq
qHs
qHs
qHs
@@ -102228,7 +102226,7 @@ sHH
sHH
cjy
qHs
-vqH
+sCp
fuj
xEy
miU
@@ -141597,7 +141595,7 @@ exv
gNy
krT
aBI
-sJp
+fNS
gcp
aaa
aaa
@@ -141854,7 +141852,7 @@ exv
gNy
ydj
jap
-tsR
+mPu
gcp
aaa
aaa
@@ -149988,7 +149986,7 @@ kaD
qYj
ceW
oca
-lQC
+bLq
dDi
mtX
tPE
@@ -152313,7 +152311,7 @@ jvf
ook
mGQ
yiM
-fpg
+mpO
heY
ddh
mQp
@@ -157662,7 +157660,7 @@ avn
fAg
oUx
wbH
-uSU
+knX
jKq
jKq
jKq
@@ -161269,7 +161267,7 @@ oXb
hzV
drh
uMg
-etQ
+xmv
omm
abM
abM
@@ -166474,7 +166472,7 @@ qfg
qOY
iae
qeL
-nXN
+sYh
nXK
wdj
oGJ
@@ -168495,11 +168493,11 @@ aEk
rOu
umT
ykP
-gxA
+nKp
hio
rPq
aEq
-sgt
+rZD
ykP
lej
pxC
@@ -169016,8 +169014,8 @@ gUF
rlO
ykP
lej
-fxs
-lDt
+cZo
+wyd
mJc
kin
juV
@@ -169046,7 +169044,7 @@ adM
obH
aQk
jYS
-nXd
+aex
lVC
xiP
jYS
@@ -169274,7 +169272,7 @@ uGM
qwI
lej
fxs
-cZo
+wyd
wyd
rks
rks
@@ -169301,7 +169299,7 @@ vdX
wGF
isM
gUH
-pnz
+mWy
jYS
qrR
tMg
@@ -181118,7 +181116,7 @@ izy
tPu
ldG
pof
-fGS
+oII
pbH
uvU
umu
@@ -182639,7 +182637,7 @@ dfx
cey
stt
lfQ
-vNd
+jtP
nBM
sPQ
ezL
diff --git a/_maps/skyrat/automapper/templates/metastation/metastation_armory.dmm b/_maps/skyrat/automapper/templates/metastation/metastation_armory.dmm
index d73bbe538ff..7ccc791d718 100644
--- a/_maps/skyrat/automapper/templates/metastation/metastation_armory.dmm
+++ b/_maps/skyrat/automapper/templates/metastation/metastation_armory.dmm
@@ -117,9 +117,9 @@
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 4
},
-/obj/item/melee/hammer,
-/obj/item/melee/hammer,
-/obj/item/melee/hammer,
+/obj/item/melee/breaching_hammer,
+/obj/item/melee/breaching_hammer,
+/obj/item/melee/breaching_hammer,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/security/armory)
"u" = (
diff --git a/_maps/skyrat/automapper/templates/tramstation/tramstation_armory.dmm b/_maps/skyrat/automapper/templates/tramstation/tramstation_armory.dmm
index 05c1c9e5d58..80ba797d148 100644
--- a/_maps/skyrat/automapper/templates/tramstation/tramstation_armory.dmm
+++ b/_maps/skyrat/automapper/templates/tramstation/tramstation_armory.dmm
@@ -39,10 +39,10 @@
/obj/item/gun/energy/e_gun/dragnet,
/obj/item/radio/intercom/directional/north,
/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/item/melee/hammer,
-/obj/item/melee/hammer,
-/obj/item/melee/hammer,
-/obj/item/melee/hammer,
+/obj/item/melee/breaching_hammer,
+/obj/item/melee/breaching_hammer,
+/obj/item/melee/breaching_hammer,
+/obj/item/melee/breaching_hammer,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/security/armory)
"Mj" = (
diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.dm
index 2c6d71d2529..4bfb579d38e 100644
--- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.dm
+++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.dm
@@ -50,5 +50,9 @@
#define COMSIG_ATOM_ATTACK_ROBOT "atom_attack_robot"
/// from base of atom/attack_robot_secondary(): (mob/user)
#define COMSIG_ATOM_ATTACK_ROBOT_SECONDARY "atom_attack_robot_secondary"
-///from relay_attackers element: (atom/attacker)
+///from relay_attackers element: (atom/attacker, attack_flags)
#define COMSIG_ATOM_WAS_ATTACKED "atom_was_attacked"
+ ///The damage type of the weapon projectile is non-lethal stamina
+ #define ATTACKER_STAMINA_ATTACK (1<<0)
+ ///the attacker is shoving the source
+ #define ATTACKER_SHOVING (1<<1)
diff --git a/code/__DEFINES/dcs/signals/signals_object.dm b/code/__DEFINES/dcs/signals/signals_object.dm
index 2a6e3f266d1..1e973eb2174 100644
--- a/code/__DEFINES/dcs/signals/signals_object.dm
+++ b/code/__DEFINES/dcs/signals/signals_object.dm
@@ -224,6 +224,9 @@
///called when getting the item's exact ratio for cargo's profit, without selling the item.
#define COMSIG_ITEM_SPLIT_PROFIT_DRY "item_split_profits_dry"
+/// Called on component/uplink/OnAttackBy(..)
+#define COMSIG_ITEM_ATTEMPT_TC_REIMBURSE "item_attempt_tc_reimburse"
+
// /obj/item/clothing signals
///from [/mob/living/carbon/human/Move]: ()
diff --git a/code/__DEFINES/fonts.dm b/code/__DEFINES/fonts.dm
index 3b2ec46b178..eab28820c41 100644
--- a/code/__DEFINES/fonts.dm
+++ b/code/__DEFINES/fonts.dm
@@ -14,3 +14,11 @@
/// Emoji icon set
#define EMOJI_SET 'modular_skyrat/master_files/icons/emoji.dmi' // SKYRAT EDIT - ORIGINAL: 'icons/ui_icons/emoji/emoji.dmi'
+
+// Font metrics bitfield
+/// Include leading A width and trailing C width in GetWidth() or in DrawText()
+#define INCLUDE_AC (1<<0)
+
+DEFINE_BITFIELD(font_flags, list(
+ "INCLUDE_AC" = INCLUDE_AC,
+))
diff --git a/code/__DEFINES/icon_smoothing.dm b/code/__DEFINES/icon_smoothing.dm
index b1b145a0eb4..66769f07c6c 100644
--- a/code/__DEFINES/icon_smoothing.dm
+++ b/code/__DEFINES/icon_smoothing.dm
@@ -11,6 +11,11 @@
#define SMOOTH_QUEUED (1<<4)
/// Smooths with objects, and will thus need to scan turfs for contents.
#define SMOOTH_OBJ (1<<5)
+/// Uses directional object smoothing, so we care not only about something being on the right turf, but also its direction
+/// Changes the meaning of smoothing_junction, instead of representing the directions we are smoothing in
+/// it represents the sides of our directional border object that have a neighbor
+/// Is incompatible with SMOOTH_CORNERS because border objects don't have corners
+#define SMOOTH_BORDER_OBJECT (1<<6)
DEFINE_BITFIELD(smoothing_flags, list(
"SMOOTH_CORNERS" = SMOOTH_CORNERS,
@@ -19,6 +24,7 @@ DEFINE_BITFIELD(smoothing_flags, list(
"SMOOTH_BORDER" = SMOOTH_BORDER,
"SMOOTH_QUEUED" = SMOOTH_QUEUED,
"SMOOTH_OBJ" = SMOOTH_OBJ,
+ "SMOOTH_BORDER_OBJECT" = SMOOTH_BORDER_OBJECT,
))
@@ -146,6 +152,8 @@ DEFINE_BITFIELD(smoothing_flags, list(
#define SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM S_OBJ(24) ///turf/closed/indestructible/opsglass, /obj/structure/window/reinforced/plasma/plastitanium
#define SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE S_OBJ(25) ///obj/structure/window/reinforced/shuttle
+#define SMOOTH_GROUP_WINDOW_DIRECTIONAL_TRAM S_OBJ(26) ///obj/structure/window/reinforced/tram
+
#define SMOOTH_GROUP_LATTICE S_OBJ(31) ///obj/structure/lattice
#define SMOOTH_GROUP_CATWALK S_OBJ(32) ///obj/structure/lattice/catwalk
diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm
index 6b33c29bccc..dde4369c4cc 100644
--- a/code/__DEFINES/mobs.dm
+++ b/code/__DEFINES/mobs.dm
@@ -437,6 +437,7 @@
#define OFFSET_NECK "neck"
#define OFFSET_HELD "held"
#define OFFSET_ACCESSORY "accessory" // Skyrat edit - addition
+#define OFFSET_HAIR "hair" // Skyrat edit - addition - Akulas
//MINOR TWEAKS/MISC
//#define AGE_MIN 17 //youngest a character can be //ORIGINAL
@@ -613,6 +614,26 @@
#define AI_EMOTION_BLUE_GLOW "Blue Glow"
#define AI_EMOTION_RED_GLOW "Red Glow"
+///Defines for AI hologram preferences
+#define AI_HOLOGRAM_BEAR "Bear"
+#define AI_HOLOGRAM_CARP "Carp"
+#define AI_HOLOGRAM_CAT "Cat"
+#define AI_HOLOGRAM_CAT_2 "Cat Alternate"
+#define AI_HOLOGRAM_CHICKEN "Chicken"
+#define AI_HOLOGRAM_CORGI "Corgi"
+#define AI_HOLOGRAM_COW "Cow"
+#define AI_HOLOGRAM_CRAB "Crab"
+#define AI_HOLOGRAM_DEFAULT "Default"
+#define AI_HOLOGRAM_FACE "Floating Face"
+#define AI_HOLOGRAM_FOX "Fox"
+#define AI_HOLOGRAM_GOAT "Goat"
+#define AI_HOLOGRAM_NARSIE "Narsie"
+#define AI_HOLOGRAM_PARROT "Parrot"
+#define AI_HOLOGRAM_PUG "Pug"
+#define AI_HOLOGRAM_RATVAR "Ratvar"
+#define AI_HOLOGRAM_SPIDER "Spider"
+#define AI_HOLOGRAM_XENO "Xeno Queen"
+
/// Icon state to use for ai displays that just turns them off
#define AI_DISPLAY_DONT_GLOW "ai_off"
/// Throw modes, defines whether or not to turn off throw mode after
@@ -663,47 +684,48 @@ GLOBAL_LIST_INIT(human_heights_to_offsets, list(
/// Total number of layers for mob overlays
/// KEEP THIS UP-TO-DATE OR SHIT WILL BREAK
/// Also consider updating layers_to_offset
-#define TOTAL_LAYERS 39 // SKYRAT EDIT CHANGE - ORIGINAL: #define TOTAL_LAYERS 33
-
+#define TOTAL_LAYERS 40 // SKYRAT EDIT CHANGE - ORIGINAL: 34
/// Mutations layer - Tk headglows, cold resistance glow, etc
-#define MUTATIONS_LAYER 39 // SKYRAT EDIT CHANGE - ORIGINAL: 33
+#define MUTATIONS_LAYER 40 // SKYRAT EDIT CHANGE - ORIGINAL: 34
/// Mutantrace features (tail when looking south) that must appear behind the body parts
-#define BODY_BEHIND_LAYER 38 // SKYRAT EDIT CHANGE - ORIGINAL: 32
+#define BODY_BEHIND_LAYER 39 // SKYRAT EDIT CHANGE - ORIGINAL: 33
/// Layer for bodyparts that should appear behind every other bodypart - Mostly, legs when facing WEST or EAST
-#define BODYPARTS_LOW_LAYER 37 // SKYRAT EDIT CHANGE - ORIGINAL: 31
+#define BODYPARTS_LOW_LAYER 38 // SKYRAT EDIT CHANGE - ORIGINAL: 32
/// Layer for most bodyparts, appears above BODYPARTS_LOW_LAYER and below BODYPARTS_HIGH_LAYER
-#define BODYPARTS_LAYER 36 // SKYRAT EDIT CHANGE - ORIGINAL: 30
+#define BODYPARTS_LAYER 37 // SKYRAT EDIT CHANGE - ORIGINAL: 31
/// Mutantrace features (snout, body markings) that must appear above the body parts
-#define BODY_ADJ_LAYER 35 // SKYRAT EDIT CHANGE - ORIGINAL: 29
+#define BODY_ADJ_LAYER 36 // SKYRAT EDIT CHANGE - ORIGINAL: 30
/// Underwear, undershirts, socks, eyes, lips(makeup)
-#define BODY_LAYER 34 // SKYRAT EDIT CHANGE - ORIGINAL: 28
+#define BODY_LAYER 35 // SKYRAT EDIT CHANGE - ORIGINAL: 29
/// Mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)
-#define FRONT_MUTATIONS_LAYER 33 // SKYRAT EDIT CHANGE - ORIGINAL: 27
+#define FRONT_MUTATIONS_LAYER 34 // SKYRAT EDIT CHANGE - ORIGINAL: 28
/// Damage indicators (cuts and burns)
-#define DAMAGE_LAYER 32 // SKYRAT EDIT CHANGE - ORIGINAL: 26
-// SKYRAT EDIT ADDITION BEGIN.
+#define DAMAGE_LAYER 33 // SKYRAT EDIT CHANGE - ORIGINAL: 27
+// SKYRAT EDIT ADDITION START
/// This layer is used for things that shouldn't be over clothes, but should be over mutations
-#define BODY_FRONT_UNDER_CLOTHES 31
+#define BODY_FRONT_UNDER_CLOTHES 32
// SKYRAT EDIT ADDITION END
/// Jumpsuit clothing layer
-#define UNIFORM_LAYER 30 // SKYRAT EDIT CHANGE - ORIGINAL: 25
+#define UNIFORM_LAYER 31 // SKYRAT EDIT CHANGE - ORIGINAL: 26
// SKYRAT EDIT ADDITION BEGIN - cursed layers under clothing
-#define ANUS_LAYER 29
-#define VAGINA_LAYER 28
-#define PENIS_LAYER 27
-#define NIPPLES_LAYER 26
-#define BANDAGE_LAYER 25
+#define ANUS_LAYER 30
+#define VAGINA_LAYER 29
+#define PENIS_LAYER 28
+#define NIPPLES_LAYER 27
+#define BANDAGE_LAYER 26
//SKYRAT EDIT ADDITION END
/// ID card layer
-#define ID_LAYER 24
+#define ID_LAYER 25
/// ID card layer (might be deprecated)
-#define ID_CARD_LAYER 23
+#define ID_CARD_LAYER 24
/// Layer for bodyparts that should appear above every other bodypart - Currently only used for hands
-#define BODYPARTS_HIGH_LAYER 22
+#define BODYPARTS_HIGH_LAYER 23
/// Gloves layer
-#define GLOVES_LAYER 21
+#define GLOVES_LAYER 22
/// Shoes layer
-#define SHOES_LAYER 20
+#define SHOES_LAYER 21
+/// Layer for masks that are worn below ears and eyes (like Balaclavas) (layers below hair, use flagsinv=HIDEHAIR as needed)
+#define LOW_FACEMASK_LAYER 20
/// Ears layer (Spessmen have ears? Wow)
#define EARS_LAYER 19
/// Suit layer (armor, coats, etc.)
@@ -770,6 +792,7 @@ GLOBAL_LIST_INIT(layers_to_offset, list(
"[ID_CARD_LAYER]" = UPPER_BODY, // unused
"[ID_LAYER]" = UPPER_BODY,
"[FACEMASK_LAYER]" = UPPER_BODY,
+ "[LOW_FACEMASK_LAYER]" = UPPER_BODY,
// These two are cached, and have their appearance shared(?), so it's safer to just not touch it
"[MUTATIONS_LAYER]" = NO_MODIFY,
"[FRONT_MUTATIONS_LAYER]" = NO_MODIFY,
@@ -798,6 +821,8 @@ GLOBAL_LIST_INIT(layers_to_offset, list(
#define EXTERNAL_FRONT_UNDER_CLOTHES (1 << 4)
/// Draws organ on the ABOVE_BODY_FRONT_HEAD_LAYER
#define EXTERNAL_FRONT_OVER (1 << 5)
+/// Draws organ on the HEAD_LAYER, for things that need to be above hair but below hats.
+#define EXTERNAL_FRONT_ABOVE_HAIR (1 << 6)
// SKYRAT EDIT END (not touching what comes next because we don't actually have to (nor want to))
/// Draws organ on all EXTERNAL layers
#define ALL_EXTERNAL_OVERLAYS EXTERNAL_FRONT | EXTERNAL_ADJACENT | EXTERNAL_BEHIND
diff --git a/code/__DEFINES/qdel.dm b/code/__DEFINES/qdel.dm
index 69cec5262a2..419b0c1176e 100644
--- a/code/__DEFINES/qdel.dm
+++ b/code/__DEFINES/qdel.dm
@@ -54,7 +54,11 @@
#define QDELETED(X) (isnull(X) || QDELING(X))
#define QDESTROYING(X) (!X || X.gc_destroyed == GC_CURRENTLY_BEING_QDELETED)
-#define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), (time) > GC_FILTER_QUEUE ? WEAKREF(item) : item), time, TIMER_STOPPABLE)
+// This is a bit hacky, we do it to avoid people relying on a return value for the macro
+// If you need that you should use QDEL_IN_STOPPABLE instead
+#define QDEL_IN(item, time) ; \
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), (time) > GC_FILTER_QUEUE ? WEAKREF(item) : item), time);
+#define QDEL_IN_STOPPABLE(item, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), (time) > GC_FILTER_QUEUE ? WEAKREF(item) : item), time, TIMER_STOPPABLE)
#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), item), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME)
#define QDEL_NULL(item) qdel(item); item = null
#define QDEL_LIST(L) if(L) { for(var/I in L) qdel(I); L.Cut(); }
diff --git a/code/__DEFINES/reagents.dm b/code/__DEFINES/reagents.dm
index 7bee2b1040b..e874b68f02b 100644
--- a/code/__DEFINES/reagents.dm
+++ b/code/__DEFINES/reagents.dm
@@ -146,11 +146,11 @@
#define MAX_ADDICTION_POINTS 1000
///Addiction start/ends
-#define WITHDRAWAL_STAGE1_START_CYCLE 61
-#define WITHDRAWAL_STAGE1_END_CYCLE 120
-#define WITHDRAWAL_STAGE2_START_CYCLE 121
-#define WITHDRAWAL_STAGE2_END_CYCLE 180
-#define WITHDRAWAL_STAGE3_START_CYCLE 181
+#define WITHDRAWAL_STAGE1_START_CYCLE 121 // SKYRAT EDIT CHANGE - Original 61
+#define WITHDRAWAL_STAGE1_END_CYCLE 240 // SKYRAT EDIT CHANGE - Original 120
+#define WITHDRAWAL_STAGE2_START_CYCLE 241 // SKYRAT EDIT CHANGE - Original 121
+#define WITHDRAWAL_STAGE2_END_CYCLE 360 // SKYRAT EDIT CHANGE - Original 180
+#define WITHDRAWAL_STAGE3_START_CYCLE 361 // SKYRAT EDIT CHANGE - Original 181
///reagent tags - used to look up reagents for specific effects. Feel free to add to but comment it
/// This reagent does brute effects (BOTH damaging and healing)
diff --git a/code/__DEFINES/text.dm b/code/__DEFINES/text.dm
index df891b4c5a8..33314003a51 100644
--- a/code/__DEFINES/text.dm
+++ b/code/__DEFINES/text.dm
@@ -4,9 +4,18 @@
/// Prepares a text to be used for maptext. Use this so it doesn't look hideous.
#define MAPTEXT(text) {"[##text]"}
-/// Prepares a text to be used for maptext, using a font that can handle larger text better.
+/// Prepares a text to be used for maptext, using a variable size font.
+/// Variable size font. More flexible but doesn't scale pixel perfect to BYOND icon resolutions. (May be blurry.) Can use any size in pt or px.
#define MAPTEXT_VCR_OSD_MONO(text) {"[##text]"}
+/// Prepares a text to be used for maptext using a pixel font. Cleaner but less size choices.
+/// Standard size (ie: normal runechat) Use only sizing pt, multiples of 6: 6pt 12pt 18pt 24pt etc. - Not for use with px sizing
+#define MAPTEXT_GRAND9K(text) {"[##text]"}
+
+/// Prepares a text to be used for maptext using a pixel font. Cleaner but less size choices.
+/// Small size. (ie: whisper runechat) Use only size pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing
+#define MAPTEXT_TINY_UNICODE(text) {"[##text]"}
+
/// Macro from Lummox used to get height from a MeasureText proc.
/// resolves the MeasureText() return value once, then resolves the height, then sets return_var to that.
#define WXH_TO_HEIGHT(measurement, return_var) \
diff --git a/code/__DEFINES/~skyrat_defines/_HELPERS/offset_index.dm b/code/__DEFINES/~skyrat_defines/_HELPERS/offset_index.dm
new file mode 100644
index 00000000000..cbe4c508686
--- /dev/null
+++ b/code/__DEFINES/~skyrat_defines/_HELPERS/offset_index.dm
@@ -0,0 +1,3 @@
+/// The axis of the `offset_features` list in the species datum
+#define INDEX_X 1
+#define INDEX_Y 2
diff --git a/code/__DEFINES/~skyrat_defines/combat.dm b/code/__DEFINES/~skyrat_defines/combat.dm
index ba26996625c..1451b99381f 100644
--- a/code/__DEFINES/~skyrat_defines/combat.dm
+++ b/code/__DEFINES/~skyrat_defines/combat.dm
@@ -19,6 +19,9 @@
//Grab breakout odds
#define OVERSIZED_GRAB_RESIST_BONUS 0 // BUBBER EDIT- With this oversized are just as good at grabs as anyone else.
+//Grab breakout bonus for akulas when at 10+ wet_stacks
+#define AKULA_GRAB_RESIST_BONUS 10
+
// Damage modifiers
#define OVERSIZED_HARM_DAMAGE_BONUS 5 /// Those with the oversized trait do 5 more damage.
diff --git a/code/__DEFINES/~skyrat_defines/mobs.dm b/code/__DEFINES/~skyrat_defines/mobs.dm
index 8fde92fb39d..469f332bbfc 100644
--- a/code/__DEFINES/~skyrat_defines/mobs.dm
+++ b/code/__DEFINES/~skyrat_defines/mobs.dm
@@ -16,6 +16,7 @@
#define BODYPART_ICON_HUMAN 'modular_skyrat/modules/bodyparts/icons/human_parts_greyscale.dmi'
#define BODYPART_ICON_MAMMAL 'modular_skyrat/modules/bodyparts/icons/mammal_parts_greyscale.dmi'
#define BODYPART_ICON_AKULA 'modular_skyrat/modules/bodyparts/icons/akula_parts_greyscale.dmi'
+#define BODYPART_ICON_AQUATIC 'modular_skyrat/modules/bodyparts/icons/aquatic_parts_greyscale.dmi'
#define BODYPART_ICON_GHOUL 'modular_skyrat/modules/bodyparts/icons/ghoul_bodyparts.dmi'
#define BODYPART_ICON_INSECT 'modular_skyrat/modules/bodyparts/icons/insect_parts_greyscale.dmi'
#define BODYPART_ICON_LIZARD 'modular_skyrat/modules/bodyparts/icons/lizard_parts_greyscale.dmi'
diff --git a/code/__DEFINES/~skyrat_defines/signals.dm b/code/__DEFINES/~skyrat_defines/signals.dm
index 414f68c1f26..1645b301f65 100644
--- a/code/__DEFINES/~skyrat_defines/signals.dm
+++ b/code/__DEFINES/~skyrat_defines/signals.dm
@@ -20,7 +20,7 @@
///The gun needs to update the gun hud!
#define COMSIG_UPDATE_AMMO_HUD "update_ammo_hud"
-/// Used by /obj/item/melee/hammer
+/// Used by /obj/item/melee/breaching_hammer
#define COMSIG_BREACHING "breaching_signal_woop_woop"
///The gun has jammed.
#define COMSIG_GUN_JAMMED "gun_jammed"
@@ -59,6 +59,9 @@
///from base of /obj/effect/abstract/liquid_turf/Initialize() (/obj/effect/abstract/liquid_turf/liquids)
#define COMSIG_TURF_LIQUIDS_CREATION "turf_liquids_creation"
+/// listens to wet_stacks, if wetting a mob above 10 stacks it will signal the akula race trait to apply its buffs and nerfs
+#define COMSIG_MOB_TRIGGER_WET_SKIN "mob_trigger_wet_skin"
+
//when someone casts their fishing rod
#define COMSIG_START_FISHING "start_fishing"
//when someone pulls back their fishing rod
diff --git a/code/__DEFINES/~skyrat_defines/traits.dm b/code/__DEFINES/~skyrat_defines/traits.dm
index f949db61027..f6bfc4fa6f3 100644
--- a/code/__DEFINES/~skyrat_defines/traits.dm
+++ b/code/__DEFINES/~skyrat_defines/traits.dm
@@ -33,6 +33,15 @@
/// One can breath under water, you get me?
#define TRAIT_WATER_BREATHING "water_breathing"
+/// The trait which Akulas inherit, for their species mechanic revolving around wet_stacks
+#define TRAIT_SLICK_SKIN "slick_skin"
+/// The trait which is applied when a `slick skin` trait haver actually gets wet_stacks
+#define TRAIT_SLIPPERY "slippery"
+/// The minimum amount of tiles a TRAIT_SLIPPERY haver will slide on slip
+#define SLIPPERY_MIN 5
+/// The maximum amount of tiles a TRAIT_SLIPPERY haver will slide on slip
+#define SLIPPERY_MAX 9
+
/// Under the effect of a numbling agent, such as morphine, for surgery.
#define TRAIT_NUMBED "numbed"
diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm
index 2ad8e2a4121..6fa6903be2e 100644
--- a/code/__HELPERS/icon_smoothing.dm
+++ b/code/__HELPERS/icon_smoothing.dm
@@ -45,11 +45,87 @@ DEFINE_BITFIELD(smoothing_junction, list(
"NORTHWEST_JUNCTION" = NORTHWEST_JUNCTION,
))
-
#define NO_ADJ_FOUND 0
#define ADJ_FOUND 1
#define NULLTURF_BORDER 2
+GLOBAL_LIST_INIT(adjacent_direction_lookup, generate_adjacent_directions())
+
+/* Attempting to mirror the below
+ * Each 3x3 grid is a tile, with each X representing a direction a border object could be in IN said grid
+ * Directions marked with A are acceptable smoothing targets, M is the example direction
+ * The example given here is of a northfacing border object
+xxx xxx xxx
+xxx AxA xxx
+xxx xAx xxx
+
+xAx xMx xAx
+xxx AxA xxx
+xxx xxx xxx
+
+xxx xxx xxx
+xxx xxx xxx
+xxx xxx xxx
+*/
+/// Encodes connectivity between border objects
+/// Returns a list accessable by a border object's dir, the direction between it and a target, and a target
+/// Said list will return the direction the two objects connect, if any exists (if the target isn't a border object and the direction is fine, return the inverse of the direction in use)
+/proc/generate_adjacent_directions()
+ // Have to hold all conventional dir pairs, so we size to the largest
+ // We don't HAVE diagonal border objects, so I'm gonna pretend they'll never exist
+
+ // You might be like, lemon, can't we use GLOB.cardinals/GLOB.alldirs here
+ // No, they aren't loaded yet. life is pain
+ var/list/cardinals = list(NORTH, SOUTH, EAST, WEST)
+ var/list/alldirs = cardinals + list(NORTH|EAST, SOUTH|EAST, NORTH|WEST, SOUTH|WEST)
+ var/largest_cardinal = max(cardinals)
+ var/largest_dir = max(alldirs)
+
+ var/list/direction_map = new /list(largest_cardinal)
+ for(var/dir in cardinals)
+ var/left = turn(dir, 90)
+ var/right = turn(dir, -90)
+ var/opposite = turn(dir, 180)
+ // Need to encode diagonals here because it's possible, even if it is always false
+ var/list/acceptable_adjacents = new /list(largest_dir)
+ // Alright, what directions are acceptable to us
+ for(var/connectable_dir in (cardinals + NONE))
+ // And what border objects INSIDE those directions are alright
+ var/list/smoothable_dirs = new /list(largest_cardinal + 1) // + 1 because we need to provide space for NONE to be a valid index
+ // None is fine, we want to smooth with things on our own turf
+ // We'll do the two dirs to our left and right
+ // They connect.. "below" us and on their side
+ if(connectable_dir == NONE)
+ smoothable_dirs[left] = opposite | left
+ smoothable_dirs[right] = opposite | right
+ // If it's to our right or left we'll include just the dir matching ours
+ // Left edge touches only our left side, and so on
+ else if (connectable_dir == left)
+ smoothable_dirs[dir] = left
+ else if (connectable_dir == right)
+ smoothable_dirs[dir] = right
+ // If it's straight on we'll include all cardinals but us, since all 3 bits would touch us
+ // Turf opposite gets just our dir as the connection, the other two get our dir + theirs
+ // Since they touch the edges
+ else if(connectable_dir == dir)
+ smoothable_dirs[opposite] = dir
+ smoothable_dirs[left] = dir | left
+ smoothable_dirs[right] = dir | right
+ // otherwise, go HOME, I don't want to encode anything for you
+ else
+ continue
+ acceptable_adjacents[connectable_dir + 1] = smoothable_dirs
+ direction_map[dir] = acceptable_adjacents
+ return direction_map
+
+/// Are two atoms border adjacent, takes a border object, something to compare against, and the direction between A and B
+/// Returns the way in which the first thing is adjacent to the second
+#define CAN_DIAGONAL_SMOOTH(border_obj, target, direction) (\
+ (target.smoothing_flags & SMOOTH_BORDER_OBJECT) ? \
+ GLOB.adjacent_direction_lookup[border_obj.dir][direction + 1]?[target.dir] : \
+ (GLOB.adjacent_direction_lookup[border_obj.dir][direction + 1]) ? turn(direction, 180) : NONE \
+ )
+
#define DEFAULT_UNDERLAY_ICON 'icons/turf/floors.dmi'
#define DEFAULT_UNDERLAY_ICON_STATE "plating"
@@ -298,44 +374,82 @@ DEFINE_BITFIELD(smoothing_junction, list(
var/smooth_border = (smoothing_flags & SMOOTH_BORDER)
var/smooth_obj = (smoothing_flags & SMOOTH_OBJ)
+ var/border_object_smoothing = (smoothing_flags & SMOOTH_BORDER_OBJECT)
- #define SET_ADJ_IN_DIR(direction, direction_flag) \
- set_adj_in_dir: { \
- do { \
- var/turf/neighbor = get_step(src, direction); \
- if(neighbor) { \
- var/neighbor_smoothing_groups = neighbor.smoothing_groups; \
- if(neighbor_smoothing_groups) { \
+ // Did you know you can pass defines into other defines? very handy, lets take advantage of it here to allow 0 cost variation
+ #define SEARCH_ADJ_IN_DIR(direction, direction_flag, ADJ_FOUND, WORLD_BORDER, BORDER_CHECK) \
+ do { \
+ var/turf/neighbor = get_step(src, direction); \
+ if(neighbor && ##BORDER_CHECK(neighbor, direction)) { \
+ var/neighbor_smoothing_groups = neighbor.smoothing_groups; \
+ if(neighbor_smoothing_groups) { \
+ for(var/target in canSmoothWith) { \
+ if(canSmoothWith[target] & neighbor_smoothing_groups[target]) { \
+ ##ADJ_FOUND(neighbor, direction, direction_flag); \
+ } \
+ } \
+ } \
+ if(smooth_obj) { \
+ for(var/atom/movable/thing as anything in neighbor) { \
+ var/thing_smoothing_groups = thing.smoothing_groups; \
+ if(!thing.anchored || isnull(thing_smoothing_groups) || !##BORDER_CHECK(thing, direction)) { \
+ continue; \
+ }; \
for(var/target in canSmoothWith) { \
- if(canSmoothWith[target] & neighbor_smoothing_groups[target]) { \
- new_junction |= direction_flag; \
- break set_adj_in_dir; \
- }; \
- }; \
- }; \
- if(smooth_obj) { \
- for(var/atom/movable/thing as anything in neighbor) { \
- var/thing_smoothing_groups = thing.smoothing_groups; \
- if(!thing.anchored || isnull(thing_smoothing_groups)) { \
- continue; \
- }; \
- for(var/target in canSmoothWith) { \
- if(canSmoothWith[target] & thing_smoothing_groups[target]) { \
- new_junction |= direction_flag; \
- break set_adj_in_dir; \
- }; \
- }; \
- }; \
- }; \
- } else if (smooth_border) { \
- new_junction |= direction_flag; \
- }; \
- } while(FALSE) \
- }
+ if(canSmoothWith[target] & thing_smoothing_groups[target]) { \
+ ##ADJ_FOUND(thing, direction, direction_flag); \
+ } \
+ } \
+ } \
+ } \
+ } else if (smooth_border) { \
+ ##WORLD_BORDER(null, direction, direction_flag); \
+ } \
+ } while(FALSE) \
- for(var/direction in GLOB.cardinals) //Cardinal case first.
- SET_ADJ_IN_DIR(direction, direction)
+ #define BITMASK_FOUND(target, direction, direction_flag) \
+ new_junction |= direction_flag; \
+ break set_adj_in_dir; \
+ /// Check that non border objects use to smooth against border objects
+ /// Returns true if the smooth is acceptable, FALSE otherwise
+ #define BITMASK_ON_BORDER_CHECK(target, direction) (!(target.smoothing_flags & SMOOTH_BORDER_OBJECT) || CAN_DIAGONAL_SMOOTH(target, src, turn(direction, 180)))
+ #define BORDER_FOUND(target, direction, direction_flag) new_junction |= CAN_DIAGONAL_SMOOTH(src, target, direction)
+ // Border objects require an object as context, so we need a dummy. I'm sorry
+ #define WORLD_BORDER_FOUND(target, direction, direction_flag) \
+ var/static/atom/dummy; \
+ if(!dummy) { \
+ dummy = new(); \
+ dummy.smoothing_flags &= ~SMOOTH_BORDER_OBJECT; \
+ } \
+ BORDER_FOUND(dummy, direction, direction_flag);
+ // Handle handle border on border checks. no-op, we handle this check inside CAN_DIAGONAL_SMOOTH
+ #define BORDER_ON_BORDER_CHECK(target, direction) (TRUE)
+
+ // We're building 2 different types of smoothing searches here
+ // One for standard bitmask smoothing (We provide a label so our macro can eary exit, as it wants to do)
+ #define SET_ADJ_IN_DIR(direction, direction_flag) do { set_adj_in_dir: { SEARCH_ADJ_IN_DIR(direction, direction_flag, BITMASK_FOUND, BITMASK_FOUND, BITMASK_ON_BORDER_CHECK) }} while(FALSE)
+ // and another for border object work (Doesn't early exit because we can hit more then one direction by checking the same turf)
+ #define SET_BORDER_ADJ_IN_DIR(direction) SEARCH_ADJ_IN_DIR(direction, direction, BORDER_FOUND, WORLD_BORDER_FOUND, BORDER_ON_BORDER_CHECK)
+
+ // Let's go over all our cardinals
+ if(border_object_smoothing)
+ SET_BORDER_ADJ_IN_DIR(NORTH)
+ SET_BORDER_ADJ_IN_DIR(SOUTH)
+ SET_BORDER_ADJ_IN_DIR(EAST)
+ SET_BORDER_ADJ_IN_DIR(WEST)
+ // We want to check against stuff in our own turf
+ SET_BORDER_ADJ_IN_DIR(NONE)
+ // Border objects don't do diagonals, so GO HOME
+ set_smoothed_icon_state(new_junction)
+ return
+
+ SET_ADJ_IN_DIR(NORTH, NORTH)
+ SET_ADJ_IN_DIR(SOUTH, SOUTH)
+ SET_ADJ_IN_DIR(EAST, EAST)
+ SET_ADJ_IN_DIR(WEST, WEST)
+
+ // If there's nothing going on already
if(!(new_junction & (NORTH|SOUTH)) || !(new_junction & (EAST|WEST)))
set_smoothed_icon_state(new_junction)
return
@@ -356,10 +470,16 @@ DEFINE_BITFIELD(smoothing_junction, list(
set_smoothed_icon_state(new_junction)
+ #undef SET_BORDER_ADJ_IN_DIR
#undef SET_ADJ_IN_DIR
+ #undef BORDER_ON_BORDER_CHECK
+ #undef WORLD_BORDER_FOUND
+ #undef BORDER_FOUND
+ #undef BITMASK_ON_BORDER_CHECK
+ #undef BITMASK_FOUND
+ #undef SEARCH_ADJ_IN_DIR
-
-///Changes the icon state based on the new junction bitmask. Returns the old junction value.
+///Changes the icon state based on the new junction bitmask
/atom/proc/set_smoothed_icon_state(new_junction)
. = smoothing_junction
smoothing_junction = new_junction
@@ -368,12 +488,12 @@ DEFINE_BITFIELD(smoothing_junction, list(
/turf/closed/set_smoothed_icon_state(new_junction)
// Avoid calling ..() here to avoid setting icon_state twice, which is expensive given how hot this proc is
- . = smoothing_junction
+ var/old_junction = smoothing_junction
smoothing_junction = new_junction
if (!(smoothing_flags & SMOOTH_DIAGONAL_CORNERS))
icon_state = "[base_icon_state]-[smoothing_junction]"
- return .
+ return
switch(new_junction)
if(
@@ -387,8 +507,8 @@ DEFINE_BITFIELD(smoothing_junction, list(
SOUTH_JUNCTION|EAST_JUNCTION|SOUTHEAST_JUNCTION,
)
icon_state = "[base_icon_state]-[smoothing_junction]-d"
- if(new_junction == . || fixed_underlay) // Mutable underlays?
- return .
+ if(new_junction == old_junction || fixed_underlay) // Mutable underlays?
+ return
var/junction_dir = reverse_ndir(smoothing_junction)
var/turned_adjacency = REVERSE_DIR(junction_dir)
@@ -537,3 +657,4 @@ DEFINE_BITFIELD(smoothing_junction, list(
#undef DEFAULT_UNDERLAY_ICON
#undef DEFAULT_UNDERLAY_ICON_STATE
+#undef CAN_DIAGONAL_SMOOTH
diff --git a/code/_compile_options.dm b/code/_compile_options.dm
index 9353bc79eeb..2a4854c37b8 100644
--- a/code/_compile_options.dm
+++ b/code/_compile_options.dm
@@ -69,6 +69,10 @@
// We do not ship byond-tracy. Build it yourself here: https://github.com/mafemergency/byond-tracy/
// #define USE_BYOND_TRACY
+// If defined, we will compile with FULL timer debug info, rather then a limited scope
+// Be warned, this increases timer creation cost by 5x
+// #define TIMER_DEBUG
+
// If defined, we will NOT defer asset generation till later in the game, and will instead do it all at once, during initiialize
//#define DO_NOT_DEFER_ASSETS
@@ -94,7 +98,7 @@
#endif
#ifndef PRELOAD_RSC //set to:
-#define PRELOAD_RSC 2 // 0 to allow using external resources or on-demand behaviour;
+#define PRELOAD_RSC 1 // 0 to allow using external resources or on-demand behaviour;
#endif // 1 to use the default behaviour;
// 2 for preloading absolutely everything;
@@ -124,6 +128,8 @@
#define GC_FAILURE_HARD_LOOKUP
//Ensures all early assets can actually load early
#define DO_NOT_DEFER_ASSETS
+//Test at full capacity, the extra cost doesn't matter
+#define TIMER_DEBUG
#endif
#ifdef TGS
diff --git a/code/_globalvars/lists/ambience.dm b/code/_globalvars/lists/ambience.dm
index 386b863d435..640306fa5a2 100644
--- a/code/_globalvars/lists/ambience.dm
+++ b/code/_globalvars/lists/ambience.dm
@@ -102,6 +102,7 @@ GLOBAL_LIST_INIT(space_ambience,list(
'sound/ambience/ambispace2.ogg',
'sound/ambience/ambispace3.ogg',
'sound/ambience/ambispace4.ogg',
+ 'sound/ambience/ambispace5.ogg',
'sound/ambience/title2.ogg',
))
diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm
index efa6b6b5aa7..7b4c4ff64d9 100644
--- a/code/_globalvars/lists/flavor_misc.dm
+++ b/code/_globalvars/lists/flavor_misc.dm
@@ -127,68 +127,6 @@ GLOBAL_LIST_INIT(ghost_forms_with_accessories_list, list(
))
//stores the ghost forms that support hair and other such things
-GLOBAL_LIST_INIT(ai_core_display_screens, sort_list(list(
- ":thinking:",
- "Alien",
- "Angel",
- "Banned",
- "Bliss",
- "Blue",
- "Clown",
- "Database",
- "Dorf",
- "Firewall",
- "Fuzzy",
- "Gentoo",
- "Glitchman",
- "Gondola",
- "Goon",
- "Hades",
- "HAL 9000",
- "Heartline",
- "Helios",
- "House",
- "Inverted",
- "Matrix",
- "Monochrome",
- "Murica",
- "Nanotrasen",
- "Not Malf",
- "Portrait",
- "President",
- "Rainbow",
- "Random",
- "Red October",
- "Red",
- "Static",
- "Syndicat Meow",
- "Text",
- "Too Deep",
- "Triumvirate-M",
- "Triumvirate",
- "Weird",
-)))
-
-/// A form of resolve_ai_icon that is guaranteed to never sleep.
-/// Not always accurate, but always synchronous.
-/proc/resolve_ai_icon_sync(input)
- SHOULD_NOT_SLEEP(TRUE)
-
- if(!input || !(input in GLOB.ai_core_display_screens))
- return "ai"
- else
- if(input == "Random")
- input = pick(GLOB.ai_core_display_screens - "Random")
- return "ai-[lowertext(input)]"
-
-/proc/resolve_ai_icon(input)
- if (input == "Portrait")
- var/datum/portrait_picker/tgui = new(usr)//create the datum
- tgui.ui_interact(usr)//datum has a tgui component, here we open the window
- return "ai-portrait" //just take this until they decide
-
- return resolve_ai_icon_sync(input)
-
GLOBAL_LIST_INIT(security_depts_prefs, sort_list(list(
SEC_DEPT_ENGINEERING,
SEC_DEPT_MEDICAL,
diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm
index 13a6befbd04..14e58869389 100644
--- a/code/controllers/subsystem/atoms.dm
+++ b/code/controllers/subsystem/atoms.dm
@@ -1,11 +1,13 @@
+#define SUBSYSTEM_INIT_SOURCE "subsystem init"
SUBSYSTEM_DEF(atoms)
name = "Atoms"
init_order = INIT_ORDER_ATOMS
flags = SS_NO_FIRE
- var/old_initialized
- /// A count of how many initalize changes we've made. We want to prevent old_initialize being overriden by some other value, breaking init code
- var/initialized_changed = 0
+ /// A stack of list(source, desired initialized state)
+ /// We read the source of init changes from the last entry, and assert that all changes will come with a reset
+ var/list/initialized_state = list()
+ var/base_initialized
var/list/late_loaders = list()
@@ -39,11 +41,11 @@ SUBSYSTEM_DEF(atoms)
if(initialized == INITIALIZATION_INSSATOMS)
return
- set_tracked_initalized(INITIALIZATION_INNEW_MAPLOAD)
+ set_tracked_initalized(INITIALIZATION_INNEW_MAPLOAD, SUBSYSTEM_INIT_SOURCE)
// This may look a bit odd, but if the actual atom creation runtimes for some reason, we absolutely need to set initialized BACK
CreateAtoms(atoms, atoms_to_return)
- clear_tracked_initalize()
+ clear_tracked_initalize(SUBSYSTEM_INIT_SOURCE)
if(late_loaders.len)
for(var/I in 1 to late_loaders.len)
@@ -158,35 +160,43 @@ SUBSYSTEM_DEF(atoms)
return qdeleted || QDELING(A)
-/datum/controller/subsystem/atoms/proc/map_loader_begin()
- set_tracked_initalized(INITIALIZATION_INSSATOMS)
+/datum/controller/subsystem/atoms/proc/map_loader_begin(source)
+ set_tracked_initalized(INITIALIZATION_INSSATOMS, source)
-/datum/controller/subsystem/atoms/proc/map_loader_stop()
- clear_tracked_initalize()
+/datum/controller/subsystem/atoms/proc/map_loader_stop(source)
+ clear_tracked_initalize(source)
-/// Use this to set initialized to prevent error states where old_initialized is overriden. It keeps happening and it's cheesing me off
-/datum/controller/subsystem/atoms/proc/set_tracked_initalized(value)
- if(!initialized_changed)
- old_initialized = initialized
- initialized = value
- else
- stack_trace("We started maploading while we were already maploading. You doing something odd?")
- initialized_changed += 1
+/// Use this to set initialized to prevent error states where the old initialized is overriden, and we end up losing all context
+/// Accepts a state and a source, the most recent state is used, sources exist to prevent overriding old values accidentially
+/datum/controller/subsystem/atoms/proc/set_tracked_initalized(state, source)
+ if(!length(initialized_state))
+ base_initialized = initialized
+ initialized_state += list(list(source, state))
+ initialized = state
-/datum/controller/subsystem/atoms/proc/clear_tracked_initalize()
- initialized_changed -= 1
- if(!initialized_changed)
- initialized = old_initialized
+/datum/controller/subsystem/atoms/proc/clear_tracked_initalize(source)
+ if(!length(initialized_state))
+ return
+ for(var/i in length(initialized_state) to 1 step -1)
+ if(initialized_state[i][1] == source)
+ initialized_state.Cut(i, i+1)
+ break
+
+ if(!length(initialized_state))
+ initialized = base_initialized
+ base_initialized = INITIALIZATION_INNEW_REGULAR
+ return
+ initialized = initialized_state[length(initialized_state)][2]
/// Returns TRUE if anything is currently being initialized
/datum/controller/subsystem/atoms/proc/initializing_something()
- return initialized_changed > 0
+ return length(initialized_state) > 1
/datum/controller/subsystem/atoms/Recover()
initialized = SSatoms.initialized
if(initialized == INITIALIZATION_INNEW_MAPLOAD)
InitializeAtoms()
- old_initialized = SSatoms.old_initialized
+ initialized_state = SSatoms.initialized_state
BadInitializeCalls = SSatoms.BadInitializeCalls
/datum/controller/subsystem/atoms/proc/setupGenetics()
@@ -238,3 +248,5 @@ SUBSYSTEM_DEF(atoms)
var/initlog = InitLog()
if(initlog)
text2file(initlog, "[GLOB.log_directory]/initialize.log")
+
+#undef SUBSYSTEM_INIT_SOURCE
diff --git a/code/controllers/subsystem/persistence.dm b/code/controllers/subsystem/persistence.dm
index 025914a428f..6945dc643f6 100644
--- a/code/controllers/subsystem/persistence.dm
+++ b/code/controllers/subsystem/persistence.dm
@@ -22,6 +22,9 @@ SUBSYSTEM_DEF(persistence)
var/list/obj/structure/sign/picture_frame/photo_frames
var/list/obj/item/storage/photo_album/photo_albums
var/rounds_since_engine_exploded = 0
+ var/delam_highscore = 0
+ var/tram_hits_this_round = 0
+ var/tram_hits_last_round = 0
/datum/controller/subsystem/persistence/Initialize()
load_poly()
@@ -33,8 +36,8 @@ SUBSYSTEM_DEF(persistence)
load_randomized_recipes()
load_custom_outfits()
load_delamination_counter()
+ load_tram_counter()
load_panic_bunker() //SKYRAT EDIT ADDITION - PANICBUNKER
-
load_adventures()
return SS_INIT_SUCCESS
@@ -50,6 +53,8 @@ SUBSYSTEM_DEF(persistence)
save_modular_persistence() // SKYRAT EDIT ADDITION - MODULAR_PERSISTENCE
save_custom_outfits()
save_delamination_counter()
+ if(SStramprocess.can_fire)
+ save_tram_counter()
save_panic_bunker() //SKYRAT EDIT ADDITION - PANICBUNKER
///Loads up Poly's speech buffer.
@@ -534,19 +539,35 @@ SUBSYSTEM_DEF(persistence)
WRITE_FILE(file, json_encode(data))
-/// Location where we save the information about how many rounds it has been since the engine blew up
+/// Location where we save the information about how many rounds it has been since the engine blew up/tram hits
#define DELAMINATION_COUNT_FILEPATH "data/rounds_since_delamination.txt"
+#define DELAMINATION_HIGHSCORE_FILEPATH "data/delamination_highscore.txt"
+#define TRAM_COUNT_FILEPATH "data/tram_hits_last_round.txt"
/datum/controller/subsystem/persistence/proc/load_delamination_counter()
if (!fexists(DELAMINATION_COUNT_FILEPATH))
return
rounds_since_engine_exploded = text2num(file2text(DELAMINATION_COUNT_FILEPATH))
- for (var/obj/structure/sign/delamination_counter/sign as anything in GLOB.map_delamination_counters)
- sign.update_count(rounds_since_engine_exploded)
+ if (fexists(DELAMINATION_HIGHSCORE_FILEPATH))
+ delam_highscore = text2num(file2text(DELAMINATION_HIGHSCORE_FILEPATH))
+ for (var/obj/machinery/incident_display/sign as anything in GLOB.map_delamination_counters)
+ sign.update_delam_count(rounds_since_engine_exploded, delam_highscore)
/datum/controller/subsystem/persistence/proc/save_delamination_counter()
rustg_file_write("[rounds_since_engine_exploded + 1]", DELAMINATION_COUNT_FILEPATH)
+ if((rounds_since_engine_exploded + 1) > delam_highscore)
+ rustg_file_write("[rounds_since_engine_exploded + 1]", DELAMINATION_HIGHSCORE_FILEPATH)
+
+/datum/controller/subsystem/persistence/proc/load_tram_counter()
+ if(!fexists(TRAM_COUNT_FILEPATH))
+ return
+ tram_hits_last_round = text2num(file2text(TRAM_COUNT_FILEPATH))
+
+/datum/controller/subsystem/persistence/proc/save_tram_counter()
+ rustg_file_write("[tram_hits_this_round]", TRAM_COUNT_FILEPATH)
#undef DELAMINATION_COUNT_FILEPATH
+#undef DELAMINATION_HIGHSCORE_FILEPATH
+#undef TRAM_COUNT_FILEPATH
#undef FILE_RECENT_MAPS
#undef KEEP_ROUNDS_MAP
diff --git a/code/controllers/subsystem/processing/digital_clock.dm b/code/controllers/subsystem/processing/digital_clock.dm
new file mode 100644
index 00000000000..5ca22f58beb
--- /dev/null
+++ b/code/controllers/subsystem/processing/digital_clock.dm
@@ -0,0 +1,5 @@
+/// The subsystem used to tick digital clocks
+PROCESSING_SUBSYSTEM_DEF(digital_clock)
+ name = "digital_clock"
+ flags = SS_NO_INIT|SS_BACKGROUND|SS_KEEP_TIMING
+ wait = 1 SECONDS
diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm
index af6f346cd76..9bd56294c69 100644
--- a/code/controllers/subsystem/timer.dm
+++ b/code/controllers/subsystem/timer.dm
@@ -503,11 +503,18 @@ SUBSYSTEM_DEF(timer)
* If the timed event is tracking client time, it will be added to a special bucket.
*/
/datum/timedevent/proc/bucketJoin()
- // Generate debug-friendly name for timer
+#if defined(TIMER_DEBUG)
+ // Generate debug-friendly name for timer, more complex but also more expensive
var/static/list/bitfield_flags = list("TIMER_UNIQUE", "TIMER_OVERRIDE", "TIMER_CLIENT_TIME", "TIMER_STOPPABLE", "TIMER_NO_HASH_WAIT", "TIMER_LOOP")
name = "Timer: [id] ([text_ref(src)]), TTR: [timeToRun], wait:[wait] Flags: [jointext(bitfield_to_list(flags, bitfield_flags), ", ")], \
callBack: [text_ref(callBack)], callBack.object: [callBack.object][text_ref(callBack.object)]([getcallingtype()]), \
callBack.delegate:[callBack.delegate]([callBack.arguments ? callBack.arguments.Join(", ") : ""]), source: [source]"
+#else
+ // Generate a debuggable name for the timer, simpler but wayyyy cheaper, string generation is a bitch and this saves a LOT of time
+ name = "Timer: [id] ([text_ref(src)]), TTR: [timeToRun], wait:[wait] Flags: [flags], \
+ callBack: [text_ref(callBack)], callBack.object: [callBack.object]([getcallingtype()]), \
+ callBack.delegate:[callBack.delegate], source: [source]"
+#endif
if (bucket_joined)
stack_trace("Bucket already joined! [name]")
diff --git a/code/controllers/subsystem/tts.dm b/code/controllers/subsystem/tts.dm
index e6155262325..188d5705974 100644
--- a/code/controllers/subsystem/tts.dm
+++ b/code/controllers/subsystem/tts.dm
@@ -44,7 +44,7 @@ SUBSYSTEM_DEF(tts)
return ..()
/datum/controller/subsystem/tts/stat_entry(msg)
- msg = "Active:[length(in_process_http_messages)]|Standby:[length(queued_http_messages.L)]|Avg:[average_tts_messages_time]"
+ msg = "Active:[length(in_process_http_messages)]|Standby:[length(queued_http_messages?.L)]|Avg:[average_tts_messages_time]"
return ..()
/proc/cmp_word_length_asc(datum/tts_request/a, datum/tts_request/b)
diff --git a/code/datums/actions/mobs/projectileattack.dm b/code/datums/actions/mobs/projectileattack.dm
index 468e498e959..7866e0831ca 100644
--- a/code/datums/actions/mobs/projectileattack.dm
+++ b/code/datums/actions/mobs/projectileattack.dm
@@ -285,6 +285,7 @@
name = "Titan's Finale"
desc = "A single-use ability that shoots a large amount of projectiles around you."
cooldown_time = 2.5 SECONDS
+ projectile_type = /obj/projectile/colossus
/datum/action/cooldown/mob_cooldown/projectile_attack/colossus_final/Activate(atom/target_atom)
. = ..()
diff --git a/code/datums/bodypart_overlays/bodypart_overlay.dm b/code/datums/bodypart_overlays/bodypart_overlay.dm
index 2eb9bcb017b..5b6232fd303 100644
--- a/code/datums/bodypart_overlays/bodypart_overlay.dm
+++ b/code/datums/bodypart_overlays/bodypart_overlay.dm
@@ -4,7 +4,7 @@
///Sometimes we need multiple layers, for like the back, middle and front of the person (EXTERNAL_FRONT, EXTERNAL_ADJACENT, EXTERNAL_BEHIND)
var/layers
///List of all possible layers. Used for looping through in drawing
- var/static/list/all_layers = list(EXTERNAL_FRONT, EXTERNAL_ADJACENT, EXTERNAL_BEHIND, EXTERNAL_FRONT_UNDER_CLOTHES, EXTERNAL_FRONT_OVER) // SKYRAT EDIT - Customization - ORIGINAL: var/static/list/all_layers = list(EXTERNAL_FRONT, EXTERNAL_ADJACENT, EXTERNAL_BEHIND)
+ var/static/list/all_layers = list(EXTERNAL_FRONT, EXTERNAL_ADJACENT, EXTERNAL_BEHIND, EXTERNAL_FRONT_UNDER_CLOTHES, EXTERNAL_FRONT_OVER, EXTERNAL_FRONT_ABOVE_HAIR) // SKYRAT EDIT - Customization - ORIGINAL: var/static/list/all_layers = list(EXTERNAL_FRONT, EXTERNAL_ADJACENT, EXTERNAL_BEHIND)
///Key of the icon states of all the sprite_datums for easy caching
var/cache_key = ""
@@ -51,6 +51,8 @@
return "FRONT_UNDER"
if(-ABOVE_BODY_FRONT_HEAD_LAYER)
return "FRONT_OVER"
+ if(-HEAD_LAYER)
+ return "FRONT_OVER_HAIR"
//SKYRAT EDIT ADDITION END
///Converts a bitflag to the right layer. I'd love to make this a static index list, but byond made an attempt on my life when i did
@@ -67,6 +69,8 @@
return -BODY_FRONT_UNDER_CLOTHES
if(EXTERNAL_FRONT_OVER)
return -ABOVE_BODY_FRONT_HEAD_LAYER
+ if(EXTERNAL_FRONT_ABOVE_HAIR)
+ return -HEAD_LAYER
//SKYRAT EDIT ADDITION END
///Check whether we can draw the overlays. You generally don't want lizard snouts to draw over an EVA suit
diff --git a/code/datums/brain_damage/special.dm b/code/datums/brain_damage/special.dm
index d0be9df52b4..65eb5d31ceb 100644
--- a/code/datums/brain_damage/special.dm
+++ b/code/datums/brain_damage/special.dm
@@ -45,7 +45,7 @@
message = pick_list_replacements(BRAIN_DAMAGE_FILE, "god_neutral")
playsound(get_turf(owner), 'sound/magic/clockwork/invoke_general.ogg', 200, TRUE, 5)
- voice_of_god(message, owner, list("colossus","yell"), 2.5, include_owner, name)
+ voice_of_god(message, owner, list("colossus","yell"), 2.5, include_owner, name, TRUE)
/datum/brain_trauma/special/bluespace_prophet
name = "Bluespace Prophecy"
diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm
index 3debadbda70..83494ef5361 100644
--- a/code/datums/chatmessage.dm
+++ b/code/datums/chatmessage.dm
@@ -13,7 +13,7 @@
/// Approximate height in pixels of an 'average' line, used for height decay
#define CHAT_MESSAGE_APPROX_LHEIGHT 11
/// Max width of chat message in pixels
-#define CHAT_MESSAGE_WIDTH 96
+#define CHAT_MESSAGE_WIDTH 112
/// The dimensions of the chat message icons
#define CHAT_MESSAGE_ICON_SIZE 9
@@ -145,6 +145,10 @@
if (!ismob(target))
extra_classes |= "small"
+ // Why are you yelling?
+ if(copytext_char(text, -2) == "!!")
+ extra_classes |= SPAN_YELL
+
var/list/prefixes
// Append radio icon if from a virtual speaker
@@ -171,7 +175,7 @@
var/tgt_color = extra_classes.Find("italics") ? target.chat_color_darkened : target.chat_color
// Approximate text height
- var/complete_text = "[owner.say_emphasis(text)]"
+ var/complete_text = "[owner.say_emphasis(text)]"
var/mheight
WXH_TO_HEIGHT(owned_by.MeasureText(complete_text, null, CHAT_MESSAGE_WIDTH), mheight)
diff --git a/code/datums/components/crafting/atmospheric.dm b/code/datums/components/crafting/atmospheric.dm
index 29600769f37..955c9704abd 100644
--- a/code/datums/components/crafting/atmospheric.dm
+++ b/code/datums/components/crafting/atmospheric.dm
@@ -29,6 +29,15 @@
time = 2 SECONDS
category = CAT_ATMOSPHERIC
+/datum/crafting_recipe/air_sensor
+ name = "Monitored Air Sensor"
+ result = /obj/item/air_sensor
+ reqs = list(
+ /obj/item/analyzer = 1,
+ /obj/item/stack/sheet/iron = 1,
+ )
+ blacklist = list(/obj/item/analyzer/ranged)
+
/datum/crafting_recipe/pipe/on_craft_completion(mob/user, atom/result)
var/obj/item/pipe/crafted_pipe = result
crafted_pipe.pipe_type = /obj/machinery/atmospherics/pipe/smart
diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm
index 35392298990..428f6c5e881 100644
--- a/code/datums/components/crafting/crafting.dm
+++ b/code/datums/components/crafting/crafting.dm
@@ -122,23 +122,19 @@
if(isstack(item))
var/obj/item/stack/stack = item
.["other"][item.type] += stack.amount
- else if(item.tool_behaviour)
- .["tool_behaviour"] += item.tool_behaviour
- .["other"][item.type] += 1
- else
- if(is_reagent_container(item))
- var/obj/item/reagent_containers/container = item
- if(container.is_drainable())
- for(var/datum/reagent/reagent in container.reagents.reagent_list)
- .["other"][reagent.type] += reagent.volume
+ else if(is_reagent_container(item) && item.is_drainable() && length(item.reagents.reagent_list)) //some container that has some reagents inside it that can be drained
+ var/obj/item/reagent_containers/container = item
+ for(var/datum/reagent/reagent as anything in container.reagents.reagent_list)
+ .["other"][reagent.type] += reagent.volume
+ else //a reagent container that is empty can also be used as a tool. e.g. glass bottle can be used as a rolling pin
+ if(item.tool_behaviour)
+ .["tool_behaviour"] += item.tool_behaviour
.["other"][item.type] += 1
else if (ismachinery(object))
LAZYADDASSOCLIST(.["machinery"], object.type, object)
else if (isstructure(object))
LAZYADDASSOCLIST(.["structures"], object.type, object)
-
-
/// Returns a boolean on whether the tool requirements of the input recipe are satisfied by the input source and surroundings.
/datum/component/personal_crafting/proc/check_tools(atom/source, datum/crafting_recipe/recipe, list/surroundings)
if(!length(recipe.tool_behaviors) && !length(recipe.tool_paths))
diff --git a/code/datums/components/food_storage.dm b/code/datums/components/food_storage.dm
index 5ef93a206a8..60fc3f6c486 100644
--- a/code/datums/components/food_storage.dm
+++ b/code/datums/components/food_storage.dm
@@ -18,9 +18,11 @@
/datum/component/food_storage/Initialize(_minimum_weight_class = WEIGHT_CLASS_SMALL, _bad_chance = 0, _good_chance = 100)
- RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(try_inserting_item))
+ RegisterSignal(parent, COMSIG_ATOM_ATTACKBY_SECONDARY, PROC_REF(try_inserting_item))
RegisterSignal(parent, COMSIG_CLICK_CTRL, PROC_REF(try_removing_item))
RegisterSignal(parent, COMSIG_FOOD_EATEN, PROC_REF(consume_food_storage))
+ RegisterSignal(parent, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, PROC_REF(on_requesting_context_from_item))
+
var/atom/food = parent
initial_volume = food.reagents.total_volume
@@ -29,6 +31,8 @@
bad_chance_of_discovery = _bad_chance
good_chance_of_discovery = _good_chance
+ food.flags_1 |= HAS_CONTEXTUAL_SCREENTIPS_1
+
/datum/component/food_storage/Destroy(force, silent)
if(stored_item)
stored_item.forceMove(stored_item.drop_location())
@@ -199,3 +203,26 @@
//if there's nothing else in the food, or we found nothing valid
stored_item = null
return FALSE
+
+/**
+ * Adds context sensitivy directly to the processable file for screentips
+ * Arguments:
+ * * source - refers to item that will display its screentip
+ * * context - refers to, in this case, an item that can be inserted into another item
+ * * held_item - refers to item in user's hand, typically the one that will be inserted into the food item
+ * * user - refers to user who will see the screentip when the proper context and tool are there
+ */
+
+/datum/component/food_storage/proc/on_requesting_context_from_item(datum/source, list/context, obj/item/held_item, mob/user)
+ SIGNAL_HANDLER
+ . = NONE
+
+ if(isnull(held_item) || held_item == source)
+ context[SCREENTIP_CONTEXT_CTRL_LMB] = "Remove embedded item (if any)"
+ . = CONTEXTUAL_SCREENTIP_SET
+
+ if(istype(held_item) && held_item.w_class <= WEIGHT_CLASS_SMALL && held_item != source && !IS_EDIBLE(held_item))
+ context[SCREENTIP_CONTEXT_RMB] = "Embed item"
+ . = CONTEXTUAL_SCREENTIP_SET
+
+ return .
diff --git a/code/datums/components/fullauto.dm b/code/datums/components/fullauto.dm
index 044619d594a..d02f090ae20 100644
--- a/code/datums/components/fullauto.dm
+++ b/code/datums/components/fullauto.dm
@@ -62,10 +62,8 @@
if(autofire_stat == AUTOFIRE_STAT_FIRING)
stop_autofiring() //Let's stop shooting to avoid issues.
return
- if(iscarbon(user))
- var/mob/living/carbon/arizona_ranger = user
- if(arizona_ranger.is_holding(parent))
- autofire_on(arizona_ranger.client)
+ if(user.is_holding(parent))
+ autofire_on(user.client)
// There is a gun and there is a user wielding it. The component now waits for the mouse click.
/datum/component/automatic_fire/proc/autofire_on(client/usercli)
diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm
index 404b2e99709..19b9548076c 100644
--- a/code/datums/components/material_container.dm
+++ b/code/datums/components/material_container.dm
@@ -139,28 +139,58 @@
//don't attack the machine
if(!(mat_container_flags & MATCONTAINER_ANY_INTENT) && user.combat_mode)
return
+ //can't allow abstract, hologram items
+ if((held_item.item_flags & ABSTRACT) || (held_item.flags_1 & HOLOGRAM_1))
+ return
+ //untouchable
+ if(held_item.resistance_flags & INDESTRUCTIBLE)
+ return
//user defined conditions
if(precondition && !precondition.Invoke(user))
return
- //loop through all contents inside this atom and salvage their material as well but in reverse so we don't delete parents before processing their children
+ //get all contents of this item reccursively
var/list/contents = held_item.get_all_contents_type(/obj/item)
+ //anything that isn't a stack cannot be split so find out if we have enough space, we don't want to consume half the contents of an object & leave it in a broken state
+ if(!isstack(held_item))
+ var/total_amount = 0
+ for(var/obj/item/weapon in contents)
+ total_amount += get_item_material_amount(weapon, breakdown_flags)
+ if(!has_space(total_amount))
+ to_chat(user, span_warning("[parent] doesn't have enough space for [held_item] [contents.len > 1 ? "And it's contents" : ""]!"))
+ return
+
+ /**
+ * to reduce chat spams we group all messages and print them after everything is over
+ * usefull when we are trying to insert all stock parts of an RPED into the autolathe for example
+ */
+ var/list/inserts = list()
+ var/list/errors = list()
+
+ //loop through all contents inside this atom and salvage their material as well but in reverse so we don't delete parents before processing their children
for(var/i = length(contents); i >= 1 ; i--)
var/obj/item/target = contents[i]
- //not a solid sub type
- if(target.item_flags & ABSTRACT)
+ //not a solid subtype or an hologram
+ if((target.item_flags & ABSTRACT) || (target.flags_1 & HOLOGRAM_1))
if(target == active_held) //was this the original item in the players hand? put it back because we coudn't salvage it
user.put_in_active_hand(target)
continue
- //item is either not real, not allowed for redemption, not in the allowed types
- if((target.flags_1 & HOLOGRAM_1) || (target.item_flags & NO_MAT_REDEMPTION) || (allowed_item_typecache && !is_type_in_typecache(target, allowed_item_typecache)))
+
+ //item is either not allowed for redemption, not in the allowed types
+ if((target.item_flags & NO_MAT_REDEMPTION) || (allowed_item_typecache && !is_type_in_typecache(target, allowed_item_typecache)))
if(!(mat_container_flags & MATCONTAINER_SILENT))
to_chat(user, span_warning("[parent] won't accept [target]!"))
if(target == active_held) //was this the original item in the players hand? put it back because we coudn't salvage it
user.put_in_active_hand(target)
continue
+ //untouchable, move it out the way, code copied from recycler
+ if(target.resistance_flags & INDESTRUCTIBLE)
+ if(!isturf(target.loc) && !isliving(target.loc))
+ target.forceMove(get_turf(parent))
+ continue
+
//if stack, check if we want to read precise amount of sheets to insert
var/obj/item/stack/item_stack = null
if(isstack(target) && precise_insertion)
@@ -187,9 +217,11 @@
return
//insert the item
+ var/item_name = target.name
var/inserted = insert_item(target, breakdown_flags = mat_container_flags)
if(inserted > 0)
. += inserted
+ var/message = null
//stack was either split by the container(!QDELETED(target) means the container only consumed a part of it) or by the player, put whats left back of the original stack back in players hand
if((!QDELETED(target) || was_stack_split))
@@ -203,16 +235,27 @@
//was this the original item in the players hand? put what's left back in the player's hand
if(!isnull(original_item))
user.put_in_active_hand(original_item)
+ message = "Only [inserted] amount of [item_name] was consumed by [parent]."
- to_chat(user, span_notice("You insert a material total of [inserted] into [parent]."))
+ //collect all messages to print later
+ if(!message)
+ message = "[item_name] worth [inserted] material was consumed by [parent]."
+ if(inserts[message])
+ inserts[message] += 1
+ else
+ inserts[message] = 1
else
- //decode the error & print it
var/error_msg
if(inserted == -2)
- error_msg = "[parent] has insufficient space to accept the [target]"
+ error_msg = "[parent] has insufficient space to accept [target]"
else
error_msg = "[target] has insufficient materials to be accepted by [parent]"
- to_chat(user, span_warning(error_msg))
+
+ //collect all messages to print later
+ if(errors[error_msg])
+ errors[error_msg] += 1
+ else
+ errors[error_msg] = 1
//player split the stack by the requested amount but even that split amount could not be salvaged. merge it back with the original
if(!isnull(item_stack) && was_stack_split)
@@ -224,6 +267,18 @@
if(!isnull(original_item))
user.put_in_active_hand(original_item)
+ //print successfull inserts
+ for(var/success_msg in inserts)
+ var/count = inserts[success_msg]
+ for(var/i in 1 to count)
+ to_chat(user, span_notice(success_msg))
+
+ //print errors last
+ for(var/error_msg in errors)
+ var/count = errors[error_msg]
+ for(var/i in 1 to count)
+ to_chat(user, span_warning(error_msg))
+
/**
* Splits a stack. we don't use /obj/item/stack/proc/split_stack because Byond complains that should only be called asynchronously.
* This proc is also more faster because it doesn't deal with mobs, copying evidences or refreshing atom storages
@@ -521,6 +576,11 @@
mat = GET_MATERIAL_REF(mat)
return materials[mat]
+/datum/component/material_container/ui_static_data(mob/user)
+ var/list/data = list()
+ data["SHEET_MATERIAL_AMOUNT"] = SHEET_MATERIAL_AMOUNT
+ return data
+
/// List format is list(material_name = list(amount = ..., ref = ..., etc.))
/datum/component/material_container/ui_data(mob/user)
var/list/data = list()
diff --git a/code/datums/components/mind_linker.dm b/code/datums/components/mind_linker.dm
index 7e8b21c5345..7a499484ea8 100644
--- a/code/datums/components/mind_linker.dm
+++ b/code/datums/components/mind_linker.dm
@@ -268,7 +268,7 @@
var/datum/component/mind_linker/linker = target
var/mob/living/linker_parent = linker.parent
- var/message = sanitize(tgui_input_text(owner, "Enter a message to transmit.", "[linker.network_name] Telepathy"))
+ var/message = tgui_input_text(owner, "Enter a message to transmit.", "[linker.network_name] Telepathy")
if(!message || QDELETED(src) || QDELETED(owner) || owner.stat == DEAD)
return
diff --git a/code/datums/components/uplink.dm b/code/datums/components/uplink.dm
index 02156f69aa7..e4ae35dad26 100644
--- a/code/datums/components/uplink.dm
+++ b/code/datums/components/uplink.dm
@@ -48,6 +48,7 @@
has_progression = FALSE,
datum/uplink_handler/uplink_handler_override,
)
+
if(!isitem(parent))
return COMPONENT_INCOMPATIBLE
@@ -119,6 +120,7 @@
/// Sets the telecrystals of the uplink. It is bad practice to use this outside of the component itself.
/datum/component/uplink/proc/set_telecrystals(new_telecrystal_amount)
uplink_handler.telecrystals = new_telecrystal_amount
+ uplink_handler.on_update()
/datum/component/uplink/InheritComponent(datum/component/uplink/uplink)
lockable |= uplink.lockable
@@ -145,6 +147,11 @@
if(istype(item, /obj/item/stack/telecrystal))
load_tc(user, item)
+ if(!istype(item))
+ return
+
+ SEND_SIGNAL(item, COMSIG_ITEM_ATTEMPT_TC_REIMBURSE, user, src)
+
/datum/component/uplink/proc/on_examine(datum/source, mob/user, list/examine_list)
SIGNAL_HANDLER
diff --git a/code/datums/diseases/wizarditis.dm b/code/datums/diseases/wizarditis.dm
index f5a716befb3..8f14f9edef7 100644
--- a/code/datums/diseases/wizarditis.dm
+++ b/code/datums/diseases/wizarditis.dm
@@ -9,106 +9,177 @@
viable_mobtypes = list(/mob/living/carbon/human)
disease_flags = CAN_CARRY|CAN_RESIST|CURABLE
spreading_modifier = 0.75
- desc = "Some speculate that this virus is the cause of the Space Wizard Federation's existence. Subjects affected show the signs of brain damage, yelling obscure sentences or total gibberish. On late stages subjects sometime express the feelings of inner power, and, cite, 'the ability to control the forces of cosmos themselves!' A gulp of strong, manly spirits usually reverts them to normal, humanlike, condition."
+ desc = "Some speculate that this virus is the cause of the Space Wizard Federation's existence. \
+ Subjects affected show the signs of brain damage, yelling obscure sentences or total gibberish. \
+ On late stages subjects sometime express the feelings of inner power, and cite \
+ 'the ability to control the forces of cosmos themselves!' \
+ A gulp of strong, manly spirits usually reverts them to normal, humanlike, condition. \
+ A form of magical grounding can help, too, but will not cure it on its own."
severity = DISEASE_SEVERITY_HARMFUL
required_organs = list(/obj/item/bodypart/head)
-/*
-BIRUZ BENNAR
-SCYAR NILA - teleport
-NEC CANTIO - dis techno
-EI NATH - shocking grasp
-AULIE OXIN FIERA - knock
-TARCOL MINTI ZHERI - forcewall
-STI KALY - blind
-*/
+ /// List of random non-targeted spells to pick from to cast
+ var/list/datum/action/cooldown/spell/random_spells = list()
+ /// List of random targeted spells to pick from to cast
+ var/list/datum/action/cooldown/spell/random_targeted_spells = list()
+
+ /// The hat type to give the infected
+ var/hat_type
+ /// The robe type to give the infected
+ var/robe_type
+
+/datum/disease/wizarditis/after_add()
+ switch(pick("blue", "red", "yellow"))
+ if("blue")
+ hat_type = /obj/item/clothing/head/wizard
+ robe_type = /obj/item/clothing/suit/wizrobe
+ if("red")
+ hat_type = /obj/item/clothing/head/wizard/red
+ robe_type = /obj/item/clothing/suit/wizrobe/red
+ if("yellow")
+ hat_type = /obj/item/clothing/head/wizard/yellow
+ robe_type = /obj/item/clothing/suit/wizrobe/yellow
+
+ init_spells()
+
+/datum/disease/wizarditis/Destroy()
+ QDEL_LIST(random_spells)
+ QDEL_LIST(random_targeted_spells)
+ return ..()
/datum/disease/wizarditis/stage_act(seconds_per_tick, times_fired)
. = ..()
if(!.)
return
+ if(affected_mob.can_block_magic(charge_cost = 0))
+ update_stage(1)
+ return
+
+ if(stage >= 3 && SPT_PROB(0.15 * stage, seconds_per_tick))
+ var/datum/action/cooldown/spell/picked = pick(random_spells)
+ if(!picked.try_invoke(affected_mob, feedback = FALSE))
+ to_chat(affected_mob, span_danger("You feel something building up inside... but the feeling passes."))
+ return
+
+ picked.spell_feedback(affected_mob)
+ return
+
+ if(stage <= 3 && SPT_PROB(0.33 * stage, seconds_per_tick))
+ affected_mob.manual_emote("sniffles.")
+
switch(stage)
if(2)
- if(SPT_PROB(0.25, seconds_per_tick))
- affected_mob.say(pick("You shall not pass!", "Expeliarmus!", "By Merlins beard!", "Feel the power of the Dark Side!"), forced = "wizarditis")
- if(SPT_PROB(0.25, seconds_per_tick))
+ if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_danger("You feel [pick("that you don't have enough mana", "that the winds of magic are gone", "an urge to summon familiar")]."))
- if(3)
- if(SPT_PROB(0.25, seconds_per_tick))
- affected_mob.say(pick("NEC CANTIO!","AULIE OXIN FIERA!", "STI KALY!", "TARCOL MINTI ZHERI!"), forced = "wizarditis")
- if(SPT_PROB(0.25, seconds_per_tick))
- to_chat(affected_mob, span_danger("You feel [pick("the magic bubbling in your veins","that this location gives you a +1 to INT","an urge to summon familiar")]."))
- if(4)
- if(SPT_PROB(0.5, seconds_per_tick))
- affected_mob.say(pick("NEC CANTIO!","AULIE OXIN FIERA!","STI KALY!","EI NATH!"), forced = "wizarditis")
- return
- if(SPT_PROB(0.25, seconds_per_tick))
- to_chat(affected_mob, span_danger("You feel [pick("the tidal wave of raw power building inside","that this location gives you a +2 to INT and +1 to WIS","an urge to teleport")]."))
- spawn_wizard_clothes(50)
- if(SPT_PROB(0.005, seconds_per_tick))
- teleport()
+ if(3)
+ if(SPT_PROB(1, seconds_per_tick))
+ to_chat(affected_mob, span_danger("You feel [pick("the magic bubbling in your veins", "that this location gives you a +1 to INT", "an urge to summon familiar")]."))
+ spawn_wizard_clothes(10)
+
+ if(4)
+ if(SPT_PROB(1, seconds_per_tick))
+ to_chat(affected_mob, span_danger("You feel [pick("the tidal wave of raw power building inside", "that this location gives you a +2 to INT and +1 to WIS", "an urge to teleport")]."))
+ spawn_wizard_clothes(50)
+
+ if(SPT_PROB(0.2, seconds_per_tick))
+ if(prob(15))
+ var/list/targets = list()
+ var/datum/action/cooldown/spell/target_picked = pick(random_targeted_spells)
+ for(var/mob/living/potential_target in view(affected_mob))
+ if(potential_target == affected_mob)
+ continue
+ targets += potential_target
+
+ if(length(targets))
+ target_picked.Activate(pick(targets))
+ affected_mob.emote("cough")
+ return
+
+ var/datum/action/cooldown/spell/picked = pick(random_spells)
+ picked.Activate(affected_mob)
+ affected_mob.emote("sneeze")
+ return
/datum/disease/wizarditis/proc/spawn_wizard_clothes(chance = 0)
- if(ishuman(affected_mob))
- var/mob/living/carbon/human/H = affected_mob
- if(prob(chance))
- if(!istype(H.head, /obj/item/clothing/head/wizard))
- if(!H.dropItemToGround(H.head))
- qdel(H.head)
- H.equip_to_slot_or_del(new /obj/item/clothing/head/wizard(H), ITEM_SLOT_HEAD)
- return
- if(prob(chance))
- if(!istype(H.wear_suit, /obj/item/clothing/suit/wizrobe))
- if(!H.dropItemToGround(H.wear_suit))
- qdel(H.wear_suit)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe(H), ITEM_SLOT_OCLOTHING)
- return
- if(prob(chance))
- if(!istype(H.shoes, /obj/item/clothing/shoes/sandal/magic))
- if(!H.dropItemToGround(H.shoes))
- qdel(H.shoes)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal/magic(H), ITEM_SLOT_FEET)
- return
- else
- var/mob/living/carbon/H = affected_mob
- if(prob(chance))
- var/obj/item/staff/S = new(H)
- if(!H.put_in_hands(S))
- qdel(S)
+ if(prob(chance) && affected_mob.usable_hands >= 1)
+ var/obj/item/staff/funny_staff = new(affected_mob)
+ if(!affected_mob.put_in_hands(funny_staff))
+ qdel(funny_staff)
-
-/datum/disease/wizarditis/proc/teleport()
- var/list/theareas = get_areas_in_range(80, affected_mob)
- for(var/area/space/S in theareas)
- theareas -= S
-
- if(!theareas || !theareas.len)
+ if(!ishuman(affected_mob))
return
- var/area/thearea = pick(theareas)
- var/list/L = list()
- var/turf/mob_turf = get_turf(affected_mob)
- for(var/turf/T in get_area_turfs(thearea.type))
- if(!is_valid_z_level(T, mob_turf))
- continue
- if(T.name == "space")
- continue
- if(!T.density)
- var/clear = 1
- for(var/obj/O in T)
- if(O.density)
- clear = 0
- break
- if(clear)
- L+=T
+ var/mob/living/carbon/human/human_mob = affected_mob
+ if(prob(chance) && !(human_mob.head?.item_flags & CASTING_CLOTHES))
+ if(human_mob.dropItemToGround(human_mob.head))
+ human_mob.equip_to_slot_or_del(new hat_type(human_mob), ITEM_SLOT_HEAD)
- if(!L)
- return
+ if(prob(chance) && !(human_mob.wear_suit?.item_flags & CASTING_CLOTHES))
+ if(human_mob.dropItemToGround(human_mob.wear_suit))
+ human_mob.equip_to_slot_or_del(new robe_type(human_mob), ITEM_SLOT_OCLOTHING)
- affected_mob.say("SCYAR NILA [uppertext(thearea.name)]!", forced = "wizarditis teleport")
- affected_mob.forceMove(pick(L))
+ if(prob(chance) && !istype(human_mob.shoes, /obj/item/clothing/shoes/sandal/magic))
+ if(human_mob.dropItemToGround(human_mob.shoes))
+ human_mob.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal/magic(human_mob), ITEM_SLOT_FEET)
- return
+/datum/disease/wizarditis/proc/init_spells()
+ // Some self cast spells
+ var/datum/action/cooldown/spell/teleport/area_teleport/wizard/sneeze_teleport = new(src)
+ sneeze_teleport.randomise_selection = TRUE
+ random_spells += sneeze_teleport
+
+ var/datum/action/cooldown/spell/emp/disable_tech/sneeze_emp = new(src)
+ sneeze_emp.emp_heavy = 1
+ sneeze_emp.emp_light = 2
+ random_spells += sneeze_emp
+
+ var/datum/action/cooldown/spell/apply_mutations/mutate/sneeze_mutate = new(src)
+ sneeze_mutate.mutation_duration = 3 SECONDS
+ random_spells += sneeze_mutate
+
+ var/datum/action/cooldown/spell/aoe/knock/sneeze_knock = new(src)
+ random_spells += sneeze_knock
+
+ var/datum/action/cooldown/spell/forcewall/sneeze_forcewall = new(src)
+ random_spells += sneeze_forcewall
+
+ var/datum/action/cooldown/spell/teleport/radius_turf/blink/sneeze_blink = new(src)
+ sneeze_blink.inner_tele_radius = 1
+ sneeze_blink.outer_tele_radius = 3
+ random_spells += sneeze_blink
+
+ var/datum/action/cooldown/spell/smoke/sneeze_smoke = new(src)
+ sneeze_smoke.smoke_amt = 2
+ random_spells += sneeze_smoke
+
+ var/datum/action/cooldown/spell/spacetime_dist/sneeze_spacetime = new(src)
+ sneeze_spacetime.scramble_radius = 2
+ sneeze_spacetime.duration = 5 SECONDS
+ random_spells += sneeze_spacetime
+
+ var/datum/action/cooldown/spell/timestop/sneeze_timestop = new(src)
+ sneeze_timestop.timestop_range = 1 // heh
+ sneeze_timestop.timestop_duration = 5 SECONDS
+ random_spells += sneeze_timestop
+
+ var/datum/action/cooldown/spell/aoe/repulse/sneeze_repulse = new(src)
+ sneeze_repulse.aoe_radius = 2
+ sneeze_repulse.max_throw = 3
+ random_spells += sneeze_repulse
+
+ // Some targeted spells
+ var/datum/action/cooldown/spell/pointed/blind/cough_blind = new(src)
+ cough_blind.eye_blind_duration = 2 SECONDS
+ cough_blind.eye_blur_duration = 10 SECONDS
+ random_targeted_spells += cough_blind
+
+ var/datum/action/cooldown/spell/pointed/projectile/lightningbolt/cough_zap = new(src)
+ cough_zap.bolt_range /= 3
+ cough_zap.bolt_power /= 3
+ random_targeted_spells += cough_zap
+
+ var/datum/action/cooldown/spell/pointed/swap/cough_swap = new(src)
+ random_targeted_spells += cough_swap
diff --git a/code/datums/dna.dm b/code/datums/dna.dm
index 25476d04220..3b01e7e0935 100644
--- a/code/datums/dna.dm
+++ b/code/datums/dna.dm
@@ -397,10 +397,10 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block())
set_uni_feature_block(blocknumber, construct_block(GLOB.moth_markings_list.Find(features["moth_markings"]), GLOB.moth_markings_list.len))
if(DNA_MUSHROOM_CAPS_BLOCK)
set_uni_feature_block(blocknumber, construct_block(GLOB.caps_list.Find(features["caps"]), GLOB.caps_list.len))
-*/
-//SKYRAT EDIT REMOVAL END
if(DNA_POD_HAIR_BLOCK)
set_uni_feature_block(blocknumber, construct_block(GLOB.pod_hair_list.Find(features["pod_hair"]), GLOB.pod_hair_list.len))
+*/
+//SKYRAT EDIT REMOVAL END
//Please use add_mutation or activate_mutation instead
/datum/dna/proc/force_give(datum/mutation/human/HM)
diff --git a/code/datums/elements/cuffsnapping.dm b/code/datums/elements/cuffsnapping.dm
index 19a59bd4c7c..c0dfdcf6091 100644
--- a/code/datums/elements/cuffsnapping.dm
+++ b/code/datums/elements/cuffsnapping.dm
@@ -68,6 +68,9 @@
/datum/element/cuffsnapping/proc/try_cuffsnap_target(obj/item/cutter, mob/living/carbon/target, mob/cutter_user, params)
SIGNAL_HANDLER
+ if(!istype(target)) //we aren't the kind of mob that can even have cuffs, so we skip.
+ return
+
if(!target.handcuffed)
return
diff --git a/code/datums/elements/relay_attackers.dm b/code/datums/elements/relay_attackers.dm
index 23503bfbcc2..faf4122e27d 100644
--- a/code/datums/elements/relay_attackers.dm
+++ b/code/datums/elements/relay_attackers.dm
@@ -34,12 +34,13 @@
/datum/element/relay_attackers/proc/after_attackby(atom/target, obj/item/weapon, mob/attacker)
SIGNAL_HANDLER
if(weapon.force)
- relay_attacker(target, attacker)
+ relay_attacker(target, attacker, weapon.damtype == STAMINA ? ATTACKER_STAMINA_ATTACK : NONE)
/datum/element/relay_attackers/proc/on_attack_generic(atom/target, mob/living/attacker, list/modifiers)
SIGNAL_HANDLER
- if(attacker.combat_mode || LAZYACCESS(modifiers, RIGHT_CLICK))
- relay_attacker(target, attacker)
+ var/shoving = LAZYACCESS(modifiers, RIGHT_CLICK) ? ATTACKER_SHOVING : NONE
+ if(attacker.combat_mode || shoving)
+ relay_attacker(target, attacker, shoving)
/datum/element/relay_attackers/proc/on_attack_npc(atom/target, mob/living/attacker)
SIGNAL_HANDLER
@@ -52,7 +53,7 @@
return
if(!ismob(hit_projectile.firer))
return
- relay_attacker(target, hit_projectile.firer)
+ relay_attacker(target, hit_projectile.firer, hit_projectile.damage_type == STAMINA ? ATTACKER_STAMINA_ATTACK : NONE)
/datum/element/relay_attackers/proc/on_hitby(atom/target, atom/movable/hit_atom, skipcatch = FALSE, hitpush = TRUE, blocked = FALSE, datum/thrownthing/throwingdatum)
SIGNAL_HANDLER
@@ -64,7 +65,7 @@
var/mob/thrown_by = hit_item.thrownby?.resolve()
if(!ismob(thrown_by))
return
- relay_attacker(target, thrown_by)
+ relay_attacker(target, thrown_by, hit_item.damtype == STAMINA ? ATTACKER_STAMINA_ATTACK : NONE)
/datum/element/relay_attackers/proc/on_attack_hulk(atom/target, mob/attacker)
SIGNAL_HANDLER
@@ -75,5 +76,5 @@
relay_attacker(target, mecha_attacker)
/// Send out a signal identifying whoever just attacked us (usually a mob but sometimes a mech or turret)
-/datum/element/relay_attackers/proc/relay_attacker(atom/victim, atom/attacker)
- SEND_SIGNAL(victim, COMSIG_ATOM_WAS_ATTACKED, attacker)
+/datum/element/relay_attackers/proc/relay_attacker(atom/victim, atom/attacker, attack_flags)
+ SEND_SIGNAL(victim, COMSIG_ATOM_WAS_ATTACKED, attacker, attack_flags)
diff --git a/code/datums/elements/uplink_reimburse.dm b/code/datums/elements/uplink_reimburse.dm
new file mode 100644
index 00000000000..5387f245d8c
--- /dev/null
+++ b/code/datums/elements/uplink_reimburse.dm
@@ -0,0 +1,49 @@
+/**
+ * Uplinik Reimburse element.
+ * When element is applied onto items, it allows them to be reimbursed if an user pokes an item with a uplink component with them.
+ *
+ * Element is only compatible with items.
+ */
+
+/datum/element/uplink_reimburse
+ element_flags = ELEMENT_BESPOKE
+ argument_hash_start_idx = 1
+ /// TC to refund!
+ var/refundable_tc = 1
+
+/datum/element/uplink_reimburse/Attach(datum/target, refundable_tc = 1)
+ . = ..()
+
+ if(!isitem(target))
+ return ELEMENT_INCOMPATIBLE
+
+ src.refundable_tc = refundable_tc
+
+ RegisterSignal(target, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
+ RegisterSignal(target, COMSIG_ITEM_ATTEMPT_TC_REIMBURSE, PROC_REF(reimburse))
+
+/datum/element/uplink_reimburse/Detach(datum/target)
+ UnregisterSignal(target, list(COMSIG_ATOM_ATTACKBY, COMSIG_ATOM_EXAMINE))
+
+ return ..()
+
+///signal called on parent being examined
+/datum/element/uplink_reimburse/proc/on_examine(datum/target, mob/user, list/examine_list)
+ SIGNAL_HANDLER
+
+ if(!IS_TRAITOR(user) && !IS_NUKE_OP(user))
+ examine_list += span_warning("There's a label on the side, but it's written in indecipherable gibberish. You have no idea what it means!")
+ return
+
+ examine_list += span_notice("There's a label written in codespeak on the side, saying that this item can be refunded for [refundable_tc] by applying it onto an uplink.")
+
+/datum/element/uplink_reimburse/proc/reimburse(obj/item/refund_item, mob/user, datum/component/uplink/uplink_comp)
+ SIGNAL_HANDLER
+
+ if(!uplink_comp)
+ CRASH("No uplink component in arguments detected")
+
+ to_chat(user, span_notice("You tap [uplink_comp.uplink_handler] with [refund_item], and a moment after [refund_item] disappears in a puff of red smoke!"))
+ do_sparks(2, source = uplink_comp.uplink_handler)
+ uplink_comp.add_telecrystals(refundable_tc)
+ qdel(refund_item)
diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm
index ee7901c5f8d..1fd94e5dbc8 100644
--- a/code/datums/mood_events/generic_negative_events.dm
+++ b/code/datums/mood_events/generic_negative_events.dm
@@ -370,23 +370,6 @@
mood_change = -1
timeout = 30 SECONDS
-//SKYRAT EDIT START: Mainly surgery for now.
-/datum/mood_event/mild_surgery
- description = "Even if I couldn't feel most of it, it feels wrong being awake while somebody works on your body. Ugh!\n"
- mood_change = -1
- timeout = 5 MINUTES
-
-/datum/mood_event/severe_surgery
- description = "Wait, THEY CUT ME OPEN - AND I FELT EVERY SECOND OF IT!\n"
- mood_change = -4
- timeout = 15 MINUTES
-
-/datum/mood_event/robot_surgery
- description = "Having my robotic parts messed with while I was conscious felt wrong... if only I had a sleep mode!\n"
- mood_change = -4
- timeout = 10 MINUTES
-//SKYRAT EDIT END
-
/datum/mood_event/gamer_withdrawal
description = "I wish I was gaming right now..."
mood_change = -5
diff --git a/code/datums/status_effects/debuffs/drunk.dm b/code/datums/status_effects/debuffs/drunk.dm
index f9ca6afd193..00b3465dd0f 100644
--- a/code/datums/status_effects/debuffs/drunk.dm
+++ b/code/datums/status_effects/debuffs/drunk.dm
@@ -1,10 +1,12 @@
+// SKYRAT EDIT CHANGE BEGIN (#21546 DRUNK EFFECTS)
// Defines for the ballmer peak.
-#define BALLMER_PEAK_LOW_END 12.9
-#define BALLMER_PEAK_HIGH_END 13.8
-#define BALLMER_PEAK_WINDOWS_ME 26
+#define BALLMER_PEAK_LOW_END 25.8 // Original 12.9
+#define BALLMER_PEAK_HIGH_END 27.6 // Original 13.8
+#define BALLMER_PEAK_WINDOWS_ME 37 // Original 26
/// The threshld which determine if someone is tipsy vs drunk
-#define TIPSY_THRESHOLD 6
+#define TIPSY_THRESHOLD 21 // Original 6
+// SKYRAT EDIT CHANGE END (#21546 DRUNK EFFECTS)
/**
* The drunk status effect.
@@ -144,6 +146,8 @@
if(drunk_value > BALLMER_PEAK_WINDOWS_ME) // by this point you're into windows ME territory
owner.say(pick_list_replacements(VISTA_FILE, "ballmer_windows_me_msg"), forced = "ballmer")
+ // SKYRAT EDIT CHANGE BEGIN (#21546 DRUNK EFFECTS)
+ /* ORIGINAL
// Drunk slurring scales in intensity based on how drunk we are -at 16 you will likely not even notice it,
// but when we start to scale up you definitely will
if(drunk_value >= 16)
@@ -171,6 +175,33 @@
// Over 71, we will constantly have blurry eyes
if(drunk_value >= 71)
owner.set_eye_blur_if_lower((drunk_value * 2 SECONDS) - 140 SECONDS)
+ */
+
+ // And drunk people will always lose jitteriness
+ owner.adjust_jitter(-6 SECONDS)
+
+ // Over 41, we have a 10% chance to gain confusion and occasionally slur words, scaling with drunk_value
+ if(drunk_value >= 41)
+ if(prob(clamp(drunk_value - 8, 0, 100)))
+ owner.adjust_timed_status_effect(4 SECONDS, /datum/status_effect/speech/slurring/drunk, max_duration = 20 SECONDS)
+ if(prob(10))
+ owner.adjust_confusion(4 SECONDS)
+
+ // Over 61, we start to get blurred vision
+ if(drunk_value >= 61)
+ owner.set_dizzy_if_lower(45 SECONDS)
+ if(prob(15))
+ owner.adjust_eye_blur_up_to(4 SECONDS, 20 SECONDS)
+
+ // Over 71, we will constantly have blurry eyes, we might vomit
+ if(drunk_value >= 71)
+ owner.set_eye_blur_if_lower(20 SECONDS)
+ if(prob(3))
+ owner.adjust_confusion(15 SECONDS)
+ if(iscarbon(owner))
+ var/mob/living/carbon/carbon_owner = owner
+ carbon_owner.vomit() // Vomiting clears toxloss - consider this a blessing
+ // SKYRAT EDIT CHANGE END (#21546 DRUNK EFFECTS)
// Over 81, we will gain constant toxloss
if(drunk_value >= 81)
diff --git a/code/datums/voice_of_god_command.dm b/code/datums/voice_of_god_command.dm
index 4c2526f6cac..a66da9ba6ef 100644
--- a/code/datums/voice_of_god_command.dm
+++ b/code/datums/voice_of_god_command.dm
@@ -26,13 +26,13 @@ GLOBAL_LIST_INIT(voice_of_god_commands, init_voice_of_god_commands())
* The first matching command (from a list of static datums) the listeners must obey,
* and the return value of this proc the cooldown variable of the command dictates. (only relevant for things with cooldowns i guess)
*/
-/proc/voice_of_god(message, mob/living/user, list/span_list, base_multiplier = 1, include_speaker = FALSE, forced = null)
+/proc/voice_of_god(message, mob/living/user, list/span_list, base_multiplier = 1, include_speaker = FALSE, forced = null, ignore_spam = FALSE)
var/log_message = uppertext(message)
var/is_cultie = IS_CULTIST(user)
if(LAZYLEN(span_list) && is_cultie)
span_list = list("narsiesmall")
- if(!user.say(message, spans = span_list, sanitize = FALSE))
+ if(!user.say(message, spans = span_list, sanitize = FALSE, ignore_spam = ignore_spam, forced = forced))
return
message = lowertext(message)
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 677b8371c1b..5772593f4cd 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -1170,6 +1170,8 @@
SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE, dir, newdir)
dir = newdir
SEND_SIGNAL(src, COMSIG_ATOM_POST_DIR_CHANGE, dir, newdir)
+ if(smoothing_flags & SMOOTH_BORDER_OBJECT)
+ QUEUE_SMOOTH_NEIGHBORS(src)
/**
* Called when the atom log's in or out
@@ -2062,7 +2064,7 @@
active_hud.screentip_text.maptext = ""
return
- active_hud.screentip_text.maptext_y = 0
+ active_hud.screentip_text.maptext_y = 16 // 16px lines us up with the action buttons top left corner
var/lmb_rmb_line = ""
var/ctrl_lmb_ctrl_rmb_line = ""
var/alt_lmb_alt_rmb_line = ""
@@ -2129,15 +2131,15 @@
extra_lines++
if(extra_lines)
- extra_context = "
[lmb_rmb_line][ctrl_lmb_ctrl_rmb_line][alt_lmb_alt_rmb_line][shift_lmb_ctrl_shift_lmb_line]"
- //first extra line pushes atom name line up 10px, subsequent lines push it up 9px, this offsets that and keeps the first line in the same place
- active_hud.screentip_text.maptext_y = -10 + (extra_lines - 1) * -9
+ extra_context = "
[lmb_rmb_line][ctrl_lmb_ctrl_rmb_line][alt_lmb_alt_rmb_line][shift_lmb_ctrl_shift_lmb_line]"
+ //first extra line pushes atom name line up 11px, subsequent lines push it up 8px, this offsets that and keeps the first line in the same place
+ active_hud.screentip_text.maptext_y = 5 + (extra_lines - 1) * -8
if (screentips_enabled == SCREENTIP_PREFERENCE_CONTEXT_ONLY && extra_context == "")
active_hud.screentip_text.maptext = ""
else
//We inline a MAPTEXT() here, because there's no good way to statically add to a string like this
- active_hud.screentip_text.maptext = "[name][extra_context]"
+ active_hud.screentip_text.maptext = "[name][extra_context]"
/// Gets a merger datum representing the connected blob of objects in the allowed_types argument
/atom/proc/GetMergeGroup(id, list/allowed_types)
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index 60fd0711426..5d2c7be48b2 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -341,7 +341,7 @@
. = ..()
var/mat_capacity = 0
for(var/datum/stock_part/matter_bin/new_matter_bin in component_parts)
- mat_capacity += new_matter_bin.tier * 75000
+ mat_capacity += new_matter_bin.tier * (37.5*SHEET_MATERIAL_AMOUNT)
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
materials.max_amount = mat_capacity
diff --git a/code/game/machinery/computer/atmos_computers/__identifiers.dm b/code/game/machinery/computer/atmos_computers/__identifiers.dm
index 2b007885cc7..653f0fbaa38 100644
--- a/code/game/machinery/computer/atmos_computers/__identifiers.dm
+++ b/code/game/machinery/computer/atmos_computers/__identifiers.dm
@@ -32,13 +32,14 @@
#define ATMOS_GAS_MONITOR_WASTE "waste"
#define ATMOS_GAS_MONITOR_ENGINE "engine"
-///maps a chamber id to its air sensor
-#define CHAMBER_SENSOR_FROM_ID(chamber_id) ((chamber_id) + "_sensor")
///maps an air sensor's chamber id to its input valve[ i.e. outlet_injector] id
#define CHAMBER_INPUT_FROM_ID(chamber_id) ((chamber_id) + "_in")
///maps an air sensor's chamber id to its output valve[i.e. vent pump] id
#define CHAMBER_OUTPUT_FROM_ID(chamber_id) ((chamber_id) + "_out")
+///list of all air sensor's created round start
+GLOBAL_LIST_EMPTY(map_loaded_sensors)
+
// Human-readble names of these funny tags.
GLOBAL_LIST_INIT(station_gas_chambers, list(
ATMOS_GAS_MONITOR_O2 = "Oxygen Supply",
diff --git a/code/game/machinery/computer/atmos_computers/_air_sensor.dm b/code/game/machinery/computer/atmos_computers/_air_sensor.dm
index 45d705236d3..1436e1a9267 100644
--- a/code/game/machinery/computer/atmos_computers/_air_sensor.dm
+++ b/code/game/machinery/computer/atmos_computers/_air_sensor.dm
@@ -5,14 +5,26 @@
icon = 'icons/obj/stationobjs.dmi'
icon_state = "gsensor1"
resistance_flags = FIRE_PROOF
-
+ power_channel = AREA_USAGE_ENVIRON
+ active_power_usage = BASE_MACHINE_IDLE_CONSUMPTION * 1.5
var/on = TRUE
/// The unique string that represents which atmos chamber to associate with.
var/chamber_id
+ /// The inlet[injector] controlled by this sensor
+ var/inlet_id
+ /// The outlet[vent pump] controlled by this sensor
+ var/outlet_id
/obj/machinery/air_sensor/Initialize(mapload)
- id_tag = CHAMBER_SENSOR_FROM_ID(chamber_id)
+ id_tag = assign_random_name()
+
+ //this global list of air sensors is available to all station monitering consoles round start and to new consoles made during the round
+ if(mapload)
+ GLOB.map_loaded_sensors[chamber_id] = id_tag
+ inlet_id = CHAMBER_INPUT_FROM_ID(chamber_id)
+ outlet_id = CHAMBER_OUTPUT_FROM_ID(chamber_id)
+
var/static/list/multitool_tips = list(
TOOL_MULTITOOL = list(
SCREENTIP_CONTEXT_LMB = "Link logged injectors/vents",
@@ -27,21 +39,45 @@
reset()
return ..()
+/obj/machinery/air_sensor/return_air()
+ if(!on)
+ return
+ . = ..()
+ use_power(active_power_usage) //use power for analyzing gases
+
+/obj/machinery/air_sensor/process()
+ //update appearance according to power state
+ if(machine_stat & NOPOWER)
+ if(on)
+ on = FALSE
+ update_appearance()
+ else if(!on)
+ on = TRUE
+ update_appearance()
+
+/obj/machinery/air_sensor/examine(mob/user)
+ . = ..()
+ . += span_notice("Use multitool to link it to an injector/vent or reset it's ports")
+ . += span_notice("Click with hand to turn it off.")
+
+/obj/machinery/air_sensor/attack_hand(mob/living/user, list/modifiers)
+ . = ..()
+
+ //switched off version of this air sensor but still anchored to the ground
+ var/obj/item/air_sensor/sensor = new(drop_location(), inlet_id, outlet_id)
+ sensor.set_anchored(TRUE)
+ sensor.balloon_alert(user, "sensor turned off")
+
+ //delete self
+ qdel(src)
+
/obj/machinery/air_sensor/update_icon_state()
icon_state = "gsensor[on]"
return ..()
/obj/machinery/air_sensor/proc/reset()
- var/input_id = CHAMBER_INPUT_FROM_ID(chamber_id)
- if(GLOB.objects_by_id_tag[input_id] != null)
- var/obj/machinery/atmospherics/components/unary/outlet_injector/injector = GLOB.objects_by_id_tag[input_id]
- injector.disconnect_chamber()
-
- var/output_id = CHAMBER_OUTPUT_FROM_ID(chamber_id)
- if(GLOB.objects_by_id_tag[output_id] != null)
- var/obj/machinery/atmospherics/components/unary/vent_pump/pump = GLOB.objects_by_id_tag[output_id]
- pump.disconnect_chamber()
-
+ inlet_id = null
+ outlet_id = null
///right click with multi tool to disconnect everything
/obj/machinery/air_sensor/multitool_act_secondary(mob/living/user, obj/item/tool)
@@ -50,16 +86,14 @@
return TRUE
/obj/machinery/air_sensor/multitool_act(mob/living/user, obj/item/multitool/multi_tool)
- .= ..()
-
- if (!istype(multi_tool))
- return .
+ . = ..()
if(istype(multi_tool.buffer, /obj/machinery/atmospherics/components/unary/outlet_injector))
var/obj/machinery/atmospherics/components/unary/outlet_injector/input = multi_tool.buffer
- input.chamber_id = chamber_id
- GLOB.objects_by_id_tag[CHAMBER_INPUT_FROM_ID(chamber_id)] = input
+ inlet_id = input.id_tag
+ multi_tool.buffer = null
balloon_alert(user, "connected to input")
+
else if(istype(multi_tool.buffer, /obj/machinery/atmospherics/components/unary/vent_pump))
var/obj/machinery/atmospherics/components/unary/vent_pump/output = multi_tool.buffer
//so its no longer controlled by air alarm
@@ -69,11 +103,127 @@
output.pressure_checks = ATMOS_INTERNAL_BOUND
output.internal_pressure_bound = 4000
output.external_pressure_bound = 0
- output.chamber_id = chamber_id
- GLOB.objects_by_id_tag[CHAMBER_OUTPUT_FROM_ID(chamber_id)] = output
+ //finally assign it to this sensor
+ outlet_id = output.id_tag
+ multi_tool.buffer = null
balloon_alert(user, "connected to output")
+
else
multi_tool.buffer = src
balloon_alert(user, "added to multitool buffer")
return TRUE
+
+/**
+ * A portable version of the /obj/machinery/air_sensor
+ * Wrenching it & turning it on will convert it back to /obj/machinery/air_sensor
+ * Unwelding /obj/machinery/air_sensor will turn it back to /obj/item/air_sensor
+ * The logic is same as meters
+ */
+/obj/item/air_sensor
+ name = "Air Sensor"
+ desc = "A device designed to detect gases and their concentration in an area."
+ icon = 'icons/obj/stationobjs.dmi'
+ icon_state = "gsensor0"
+ custom_materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT, /datum/material/glass = SMALL_MATERIAL_AMOUNT)
+ /// The injector linked with this sensor
+ var/input_id
+ /// The vent pump linked with this sensor
+ var/output_id
+
+/obj/item/air_sensor/Initialize(mapload, inlet, outlet)
+ . = ..()
+ register_context()
+ input_id = inlet
+ output_id = outlet
+
+/obj/item/air_sensor/add_context(atom/source, list/context, obj/item/held_item, mob/user)
+ if(isnull(held_item))
+ return NONE
+
+ if(held_item.tool_behaviour == TOOL_WRENCH)
+ context[SCREENTIP_CONTEXT_LMB] = anchored ? "Unwrench" : "Wrench"
+ return CONTEXTUAL_SCREENTIP_SET
+
+ if(held_item.tool_behaviour == TOOL_WELDER && !anchored)
+ context[SCREENTIP_CONTEXT_LMB] = "Dismantle"
+ return CONTEXTUAL_SCREENTIP_SET
+
+ return NONE
+
+/obj/item/air_sensor/examine(mob/user)
+ . = ..()
+ if(anchored)
+ . += span_notice("It's [EXAMINE_HINT("wrenched")] in place")
+ else
+ . += span_notice("It should be [EXAMINE_HINT("wrenched")] in place to turn it on.")
+ . += span_notice("It could be [EXAMINE_HINT("welded")] apart.")
+ . += span_notice("Click with hand to turn it on.")
+
+/obj/item/air_sensor/attack_hand(mob/user, list/modifiers)
+ . = ..()
+ if(!anchored)
+ return
+
+ //List of air sensor's by name
+ var/list/available_sensors = list()
+ for(var/chamber_id in GLOB.station_gas_chambers)
+ //don't let it conflict with existing distro & waste moniter meter's
+ if(chamber_id == ATMOS_GAS_MONITOR_DISTRO)
+ continue
+ if(chamber_id == ATMOS_GAS_MONITOR_WASTE)
+ continue
+ available_sensors += GLOB.station_gas_chambers[chamber_id]
+
+ //make the choice
+ var/chamber_name = tgui_input_list(user, "Select Sensor Purpose", "Select Sensor ID", available_sensors)
+ if(isnull(chamber_name))
+ return
+
+ //map chamber name back to id
+ var/target_chamber
+ for(var/chamber_id in GLOB.station_gas_chambers)
+ if(GLOB.station_gas_chambers[chamber_id] != chamber_name)
+ continue
+ target_chamber = chamber_id
+ break
+
+ //build the sensor from the subtypes of sensor's available
+ var/static/list/chamber_subtypes = null
+ if(isnull(chamber_subtypes))
+ chamber_subtypes = subtypesof(/obj/machinery/air_sensor)
+ for(var/obj/machinery/air_sensor/sensor as anything in chamber_subtypes)
+ if(initial(sensor.chamber_id) != target_chamber)
+ continue
+
+ //make real air sensor in it's place
+ var/obj/machinery/air_sensor/new_sensor = new sensor(get_turf(src))
+ new_sensor.inlet_id = input_id
+ new_sensor.outlet_id = output_id
+ new_sensor.balloon_alert(user, "sensor turned on")
+ qdel(src)
+
+ break
+
+/obj/item/air_sensor/wrench_act(mob/living/user, obj/item/tool)
+ if(default_unfasten_wrench(user, tool) == SUCCESSFUL_UNFASTEN)
+ return TOOL_ACT_TOOLTYPE_SUCCESS
+ return
+
+/obj/item/air_sensor/welder_act(mob/living/user, obj/item/tool)
+ if(!tool.tool_start_check(user, amount = 1))
+ return
+
+ loc.balloon_alert(user, "dismantling sensor")
+ if(!tool.use_tool(src, user, 2 SECONDS, volume = 30, amount = 1))
+ return
+ loc.balloon_alert(user, "sensor dismanteled")
+
+ deconstruct(TRUE)
+ return TOOL_ACT_TOOLTYPE_SUCCESS
+
+/obj/item/air_sensor/deconstruct(disassembled)
+ if(!(flags_1 & NODECONSTRUCT_1))
+ new /obj/item/analyzer(loc)
+ new /obj/item/stack/sheet/iron(loc, 1)
+ return ..()
diff --git a/code/game/machinery/computer/atmos_computers/_atmos_control.dm b/code/game/machinery/computer/atmos_computers/_atmos_control.dm
index dd885e2c1dd..57403a27d3d 100644
--- a/code/game/machinery/computer/atmos_computers/_atmos_control.dm
+++ b/code/game/machinery/computer/atmos_computers/_atmos_control.dm
@@ -7,7 +7,7 @@
circuit = /obj/item/circuitboard/computer/atmos_control
light_color = LIGHT_COLOR_CYAN
- /// Which sensors/input/outlets do we want to listen to.
+ /// Which sensors do we want to listen to.
/// Assoc of list[chamber_id] = readable_chamber_name
var/list/atmos_chambers
@@ -19,12 +19,33 @@
/// Whether we are allowed to reconnect.
var/reconnecting = TRUE
+ /// Was this computer multitooled before. If so copy the list connected_sensors as it now mantain's it's own sensors independent of the map loaded one's
+ var/was_multi_tooled = FALSE
+
+ /// list of all sensors[key is chamber id, value is id of air sensor linked to this chamber] monitered by this computer
+ var/list/connected_sensors
+
/obj/machinery/computer/atmos_control/Initialize(mapload, obj/item/circuitboard/C)
. = ..()
+
+ var/static/list/multitool_tips = list(
+ TOOL_MULTITOOL = list(
+ SCREENTIP_CONTEXT_LMB = "Link Sensor",
+ )
+ )
+ AddElement(/datum/element/contextual_screentip_tools, multitool_tips)
+
+ //all newly constructed/round start computers by default have access to this list
+ connected_sensors = GLOB.map_loaded_sensors
+
//special case for the station monitering console. We dont want to loose these chambers during reconnecting
if(!control && !isnull(atmos_chambers))
always_displayed_chambers = atmos_chambers.Copy()
+/obj/machinery/computer/atmos_control/examine(mob/user)
+ . = ..()
+ . += span_notice("Use a multitool to link a air sensor to this computer")
+
/// Reconnect only works for station based chambers.
/obj/machinery/computer/atmos_control/proc/reconnect(mob/user)
if(!reconnecting)
@@ -33,16 +54,25 @@
// We only prompt the user with the sensors that are actually available.
var/available_devices = list()
- for (var/chamber_identifier in GLOB.station_gas_chambers)
- if (!(CHAMBER_INPUT_FROM_ID(chamber_identifier) in GLOB.objects_by_id_tag) && !(CHAMBER_OUTPUT_FROM_ID(chamber_identifier) in GLOB.objects_by_id_tag))
+ for (var/chamber_identifier in connected_sensors)
+ //this sensor was destroyed at the time of reconnecting
+ var/obj/machinery/sensor = GLOB.objects_by_id_tag[connected_sensors[chamber_identifier]]
+ if(QDELETED(sensor))
+ continue
+
+ //non master computers don't have access to these station moniters. Only done to give master computer's special access to these chambers and make them feel special or something
+ if(chamber_identifier == ATMOS_GAS_MONITOR_DISTRO)
+ continue
+ if(chamber_identifier == ATMOS_GAS_MONITOR_WASTE)
continue
available_devices[GLOB.station_gas_chambers[chamber_identifier]] = chamber_identifier
// As long as we dont put any funny chars in the strings it should match.
var/new_name = tgui_input_list(user, "Select the device set", "Reconnect", available_devices)
+ if(isnull(new_name))
+ return FALSE
var/new_id = available_devices[new_name]
-
if(isnull(new_id))
return FALSE
@@ -57,6 +87,22 @@
return TRUE
+/obj/machinery/computer/atmos_control/multitool_act(mob/living/user, obj/item/multitool/multi_tool)
+ . = ..()
+
+ if(istype(multi_tool.buffer, /obj/machinery/air_sensor))
+ var/obj/machinery/air_sensor/sensor = multi_tool.buffer
+ //computers reference a global map loaded list of sensor's but as soon a user attempt's to edit it, make a copy of that list so other computers aren't affected
+ if(!was_multi_tooled)
+ connected_sensors = connected_sensors.Copy()
+ was_multi_tooled = TRUE
+ //register the sensor's unique ID with it's assositated chamber
+ connected_sensors[sensor.chamber_id] = sensor.id_tag
+ user.balloon_alert(user, "sensor connected to [src]")
+ return TOOL_ACT_TOOLTYPE_SUCCESS
+
+ return
+
/obj/machinery/computer/atmos_control/ui_interact(mob/user, datum/tgui/ui)
. = ..()
ui = SStgui.try_update_ui(user, src, ui)
@@ -82,23 +128,26 @@
chamber_info["id"] = chamber_id
chamber_info["name"] = atmos_chambers[chamber_id]
- var/obj/machinery/sensor = GLOB.objects_by_id_tag[CHAMBER_SENSOR_FROM_ID(chamber_id)]
- if (!isnull(sensor))
+ var/obj/machinery/sensor = GLOB.objects_by_id_tag[connected_sensors[chamber_id]]
+ if(!QDELETED(sensor))
chamber_info["gasmix"] = gas_mixture_parser(sensor.return_air())
- var/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/input = GLOB.objects_by_id_tag[CHAMBER_INPUT_FROM_ID(chamber_id)]
- if (!isnull(input))
- chamber_info["input_info"] = list(
- "active" = input.on,
- "amount" = input.volume_rate,
- )
+ if(istype(sensor, /obj/machinery/air_sensor)) //distro & waste loop are not air sensors and don't have these functions
+ var/obj/machinery/air_sensor/air_sensor = sensor
- var/obj/machinery/atmospherics/components/unary/vent_pump/output = GLOB.objects_by_id_tag[CHAMBER_OUTPUT_FROM_ID(chamber_id)]
- if (!isnull(output))
- chamber_info["output_info"] = list(
- "active" = output.on,
- "amount" = output.internal_pressure_bound,
- )
+ var/obj/machinery/atmospherics/components/unary/outlet_injector/input = GLOB.objects_by_id_tag[air_sensor.inlet_id || ""]
+ if (!QDELETED(input))
+ chamber_info["input_info"] = list(
+ "active" = input.on,
+ "amount" = input.volume_rate,
+ )
+
+ var/obj/machinery/atmospherics/components/unary/vent_pump/output = GLOB.objects_by_id_tag[air_sensor.outlet_id || ""]
+ if (!QDELETED(output))
+ chamber_info["output_info"] = list(
+ "active" = output.on,
+ "amount" = output.internal_pressure_bound,
+ )
data["chambers"] += list(chamber_info)
return data
@@ -115,37 +164,66 @@
if (!(chamber in atmos_chambers))
return TRUE
- var/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/input = GLOB.objects_by_id_tag[CHAMBER_INPUT_FROM_ID(chamber)]
- input?.on = !input.on
+ var/obj/machinery/air_sensor/sensor = GLOB.objects_by_id_tag[connected_sensors[chamber]]
+ if(QDELETED(sensor))
+ return TRUE
+
+ var/obj/machinery/atmospherics/components/unary/outlet_injector/input = GLOB.objects_by_id_tag[sensor.inlet_id || ""]
+ if(QDELETED(input))
+ return TRUE
+
+ input.on = !input.on
input.update_appearance(UPDATE_ICON)
if("toggle_output")
if (!(chamber in atmos_chambers))
return TRUE
- var/obj/machinery/atmospherics/components/unary/vent_pump/output = GLOB.objects_by_id_tag[CHAMBER_OUTPUT_FROM_ID(chamber)]
- output?.on = !output.on
+ var/obj/machinery/air_sensor/sensor = GLOB.objects_by_id_tag[connected_sensors[chamber]]
+ if(QDELETED(sensor))
+ return TRUE
+
+ var/obj/machinery/atmospherics/components/unary/vent_pump/output = GLOB.objects_by_id_tag[sensor.outlet_id || ""]
+ if(QDELETED(output))
+ return TRUE
+
+ output.on = !output.on
output.update_appearance(UPDATE_ICON)
if("adjust_input")
if (!(chamber in atmos_chambers))
return TRUE
+ var/obj/machinery/air_sensor/sensor = GLOB.objects_by_id_tag[connected_sensors[chamber]]
+ if(QDELETED(sensor))
+ return TRUE
+
+ var/obj/machinery/atmospherics/components/unary/outlet_injector/input = GLOB.objects_by_id_tag[sensor.inlet_id || ""]
+ if(QDELETED(input))
+ return TRUE
+
var/target = text2num(params["rate"])
if(isnull(target))
return TRUE
target = clamp(target, 0, MAX_TRANSFER_RATE)
- var/obj/machinery/atmospherics/components/unary/outlet_injector/input = GLOB.objects_by_id_tag[CHAMBER_INPUT_FROM_ID(chamber)]
- input?.volume_rate = clamp(target, 0, min(input.airs[1].volume, MAX_TRANSFER_RATE))
+ input.volume_rate = clamp(target, 0, min(input.airs[1].volume, MAX_TRANSFER_RATE))
if("adjust_output")
if (!(chamber in atmos_chambers))
return TRUE
+ var/obj/machinery/air_sensor/sensor = GLOB.objects_by_id_tag[connected_sensors[chamber]]
+ if(QDELETED(sensor))
+ return TRUE
+
+ var/obj/machinery/atmospherics/components/unary/vent_pump/output = GLOB.objects_by_id_tag[sensor.outlet_id || ""]
+ if(QDELETED(output))
+ return TRUE
+
var/target = text2num(params["rate"])
if(isnull(target))
return TRUE
+ target = clamp(target, 0, ATMOS_PUMP_MAX_PRESSURE)
- var/obj/machinery/atmospherics/components/unary/vent_pump/output = GLOB.objects_by_id_tag[CHAMBER_OUTPUT_FROM_ID(chamber)]
- output?.internal_pressure_bound = clamp(target, 0, ATMOS_PUMP_MAX_PRESSURE)
+ output.internal_pressure_bound = target
if("reconnect")
reconnect(usr)
diff --git a/code/game/machinery/computer/atmos_computers/inlets.dm b/code/game/machinery/computer/atmos_computers/inlets.dm
index 5379a15c725..32de77cc632 100644
--- a/code/game/machinery/computer/atmos_computers/inlets.dm
+++ b/code/game/machinery/computer/atmos_computers/inlets.dm
@@ -1,6 +1,8 @@
/obj/machinery/atmospherics/components/unary/outlet_injector/monitored
on = TRUE
volume_rate = MAX_TRANSFER_RATE
+ /// The air sensor type this injector is linked to
+ var/chamber_id
/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/Initialize(mapload)
id_tag = CHAMBER_INPUT_FROM_ID(chamber_id)
diff --git a/code/game/machinery/computer/atmos_computers/meters.dm b/code/game/machinery/computer/atmos_computers/meters.dm
index 9ff6578852b..9cfe3072a69 100644
--- a/code/game/machinery/computer/atmos_computers/meters.dm
+++ b/code/game/machinery/computer/atmos_computers/meters.dm
@@ -3,7 +3,9 @@
var/chamber_id
/obj/machinery/meter/monitored/Initialize(mapload, new_piping_layer)
- id_tag = CHAMBER_SENSOR_FROM_ID(chamber_id)
+ id_tag = assign_random_name()
+ if(mapload)
+ GLOB.map_loaded_sensors[chamber_id] = id_tag
. = ..()
/obj/machinery/meter/monitored/layer2
diff --git a/code/game/machinery/digital_clock.dm b/code/game/machinery/digital_clock.dm
new file mode 100644
index 00000000000..99cd1894725
--- /dev/null
+++ b/code/game/machinery/digital_clock.dm
@@ -0,0 +1,158 @@
+/obj/machinery/digital_clock
+ name = "digital clock"
+ desc = "An ultra-futuristic, sleek, advanced, next-gen normal digital clock that tells the time. Powered by bluespace. Despite supposedly being better in every way to classic clocks, it just doesn't feel the same. They just don't make them the way they used to..."
+ icon_state = "digital_clock_base"
+ icon = 'icons/obj/digital_clock.dmi'
+ verb_say = "beeps"
+ verb_ask = "bloops"
+ verb_exclaim = "blares"
+ density = FALSE
+ layer = ABOVE_WINDOW_LAYER
+ custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 7, /datum/material/glass = SHEET_MATERIAL_AMOUNT * 4)
+
+/obj/item/wallframe/digital_clock
+ name = "digital clock frame"
+ desc = "Used to build digital clocks, just secure to the wall."
+ icon_state = "digital_clock_base"
+ icon = 'icons/obj/digital_clock.dmi'
+ custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 7, /datum/material/glass = SHEET_MATERIAL_AMOUNT * 4)
+ result_path = /obj/machinery/digital_clock
+ pixel_shift = 28
+
+/obj/machinery/digital_clock/wrench_act_secondary(mob/living/user, obj/item/tool)
+ . = ..()
+ balloon_alert(user, "[anchored ? "un" : ""]securing...")
+ tool.play_tool_sound(src)
+ if(tool.use_tool(src, user, 6 SECONDS))
+ playsound(loc, 'sound/items/deconstruct.ogg', 50, vary = TRUE)
+ balloon_alert(user, "[anchored ? "un" : ""]secured")
+ deconstruct()
+ return TRUE
+
+/obj/machinery/digital_clock/welder_act(mob/living/user, obj/item/tool)
+ if(user.combat_mode)
+ return
+ if(atom_integrity >= max_integrity)
+ balloon_alert(user, "it doesn't need repairs!")
+ return TRUE
+ balloon_alert(user, "repairing display...")
+ if(!tool.use_tool(src, user, 4 SECONDS, amount = 0, volume=50))
+ return TRUE
+ balloon_alert(user, "repaired")
+ atom_integrity = max_integrity
+ set_machine_stat(machine_stat & ~BROKEN)
+ update_appearance()
+ return TRUE
+
+/obj/machinery/digital_clock/multitool_act(mob/living/user, obj/item/tool)
+ if(user.combat_mode)
+ return
+ if(!(obj_flags & EMAGGED))
+ return
+ balloon_alert(user, "resetting...")
+ tool.play_tool_sound(src)
+ if(tool.use_tool(src, user, 6 SECONDS))
+ playsound(loc, 'sound/items/deconstruct.ogg', 50, vary = TRUE)
+ balloon_alert(user, "reset")
+ obj_flags &= ~EMAGGED
+ return TRUE
+
+/obj/machinery/digital_clock/emag_act(mob/user)
+ if(obj_flags & EMAGGED)
+ return
+ playsound(src, SFX_SPARKS, 100, vary = TRUE, extrarange = SHORT_RANGE_SOUND_EXTRARANGE)
+ do_sparks(3, cardinal_only = FALSE, source = src)
+ obj_flags |= EMAGGED
+
+/obj/machinery/digital_clock/emp_act(severity)
+ . = ..()
+ emag_act()
+
+/obj/machinery/digital_clock/deconstruct(disassembled = TRUE)
+ if(flags_1 & NODECONSTRUCT_1)
+ return
+ if(disassembled)
+ new /obj/item/wallframe/digital_clock(drop_location())
+ else
+ new /obj/item/stack/sheet/iron(drop_location(), 2)
+ new /obj/item/shard(drop_location())
+ new /obj/item/shard(drop_location())
+ qdel(src)
+
+/obj/machinery/digital_clock/Initialize(mapload)
+ . = ..()
+ START_PROCESSING(SSdigital_clock, src)
+
+/obj/machinery/digital_clock/Destroy()
+ STOP_PROCESSING(SSdigital_clock, src)
+ return ..()
+
+/obj/machinery/digital_clock/process(seconds_per_tick)
+ if(machine_stat & NOPOWER)
+ return
+ update_appearance()
+
+
+/obj/machinery/digital_clock/update_appearance(updates=ALL)
+ . = ..()
+ if(machine_stat & (NOPOWER|BROKEN))
+ set_light(0)
+ return
+ set_light(l_range = 1.5, l_power = 0.7, l_color = LIGHT_COLOR_BLUE) // blue light
+
+/obj/machinery/digital_clock/update_overlays()
+ . = ..()
+
+ if(machine_stat & (NOPOWER|BROKEN))
+ return
+ . += update_time()
+ return .
+
+/obj/machinery/digital_clock/proc/update_time()
+ var/station_minutes
+ if(obj_flags & EMAGGED)
+ station_minutes = rand(0, 99)
+ else
+ station_minutes = text2num(station_time_timestamp(format = "mm"))
+
+ // tenth / the '3' in '31' / 31 -> 3.1 -> 3
+ var/station_minute_tenth = station_minutes >= 10 ? round(station_minutes * 0.1) : 0
+ // one / the '1' in '31' / 31 -> 31 - (3 * 10) -> 31 - 30 -> 1
+ var/station_minute_one = station_minutes - (station_minute_tenth * 10)
+
+ var/station_hours
+
+ if(obj_flags & EMAGGED)
+ station_hours = rand(0, 99)
+ else
+ station_hours = text2num(station_time_timestamp(format = "hh"))
+
+ // one / the '1' in '12' / 12 -> 1.2 -> 1
+ var/station_hours_tenth = station_minutes >= 10 ? round(station_hours * 0.1) : 0
+ // tenth / the '2' in '12' / 12 -> 12 - (1 * 10) -> 12 - 10 -> 2
+ var/station_hours_one = station_hours - (station_hours_tenth * 10)
+
+ var/return_overlays = list()
+
+ var/mutable_appearance/minute_one_overlay = mutable_appearance('icons/obj/digital_clock.dmi', "+[station_minute_one]")
+ minute_one_overlay.pixel_w = 0
+ return_overlays += minute_one_overlay
+
+ var/mutable_appearance/minute_tenth_overlay = mutable_appearance('icons/obj/digital_clock.dmi', "+[station_minute_tenth]")
+ minute_tenth_overlay.pixel_w = -4
+ return_overlays += minute_tenth_overlay
+
+ var/mutable_appearance/separator = mutable_appearance('icons/obj/digital_clock.dmi', "+separator")
+ return_overlays += separator
+
+ var/mutable_appearance/hour_one_overlay = mutable_appearance('icons/obj/digital_clock.dmi', "+[station_hours_one]")
+ hour_one_overlay.pixel_w = -10
+ return_overlays += hour_one_overlay
+
+ var/mutable_appearance/hour_tenth_overlay = mutable_appearance('icons/obj/digital_clock.dmi', "+[station_hours_tenth]")
+ hour_tenth_overlay.pixel_w = -14
+ return_overlays += hour_tenth_overlay
+
+ return return_overlays
+
+MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/digital_clock, 28)
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index b67be3847eb..6dad3c261c5 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -156,11 +156,6 @@
/obj/machinery/door/airlock/Initialize(mapload)
. = ..()
- //SKYRAT EDIT ADDITION BEGIN - Door aesthetic overhaul
- if(multi_tile)
- SetBounds()
- update_overlays()
- //SKYRAT EDIT END
wires = set_wires()
if(glass)
airlock_material = "glass"
@@ -1212,10 +1207,12 @@
var/dangerous_close = !safe || force_crush
if(!dangerous_close)
- for(var/atom/movable/M in get_turf(src))
- if(M.density && M != src) //something is blocking the door
- autoclose_in(DOOR_CLOSE_WAIT)
- return FALSE
+ for(var/turf/checked_turf in get_turfs()) // SKYRAT EDIT ADD
+ //for(var/atom/movable/M in get_turf(src)) // Original
+ for(var/atom/movable/M in checked_turf) // SKYRAT EDIT CHANGE
+ if(M.density && M != src) //something is blocking the door
+ autoclose_in(DOOR_CLOSE_WAIT)
+ return FALSE
if(!try_to_force_door_shut(forced))
return FALSE
diff --git a/code/game/machinery/incident_display.dm b/code/game/machinery/incident_display.dm
new file mode 100644
index 00000000000..00da0ffa21a
--- /dev/null
+++ b/code/game/machinery/incident_display.dm
@@ -0,0 +1,374 @@
+GLOBAL_LIST_EMPTY(map_delamination_counters)
+
+/// Display days since last delam on incident sign
+#define DISPLAY_DELAM (1<<0)
+/// Display current number of tram hits on incident sign
+#define DISPLAY_TRAM (1<<1)
+
+DEFINE_BITFIELD(sign_features, list(
+ "DISPLAY_DELAM" = DISPLAY_DELAM,
+ "DISPLAY_TRAM" = DISPLAY_TRAM,
+))
+
+#define TREND_RISING "rising"
+#define TREND_FALLING "falling"
+
+#define NAME_DUAL "safety incident display"
+#define NAME_DELAM "delamination incident display"
+#define NAME_TRAM "tram incident display"
+
+#define DESC_DUAL "A display that provides information on the station's safety record. Features an advert for SAFETY MOTH."
+#define DESC_DELAM "A signs describe how long it's been since the last delamination incident. Features an advert for SAFETY MOTH."
+#define DESC_TRAM "A display that provides the number of tram related safety incidents this shift. Features an advert for SAFETY MOTH."
+
+/**
+ * List of safety statistic signs on the map that have delam counting enabled.
+ * Required as persistence subsystem loads after the ones present at mapload, and to reset to 0 upon explosion.
+ */
+
+/obj/machinery/incident_display
+ name = NAME_DELAM
+ desc = DESC_DELAM
+ icon = 'icons/obj/machines/incident_display.dmi'
+ icon_preview = "stat_display_delam"
+ icon_state = "stat_display_delam"
+ verb_say = "beeps"
+ verb_ask = "bloops"
+ verb_exclaim = "blares"
+ idle_power_usage = 450
+ max_integrity = 150
+ integrity_failure = 0.75
+ custom_materials = list(/datum/material/titanium = SHEET_MATERIAL_AMOUNT * 4, /datum/material/alloy/titaniumglass = SHEET_MATERIAL_AMOUNT * 4)
+ /// What statistics we want the sign to display
+ var/sign_features = DISPLAY_DELAM
+ /// Tram hits before hazard warning
+ var/hit_threshold = 0
+ /// Tram hits
+ var/hit_count = 0
+ /// Shifts without delam
+ var/last_delam = 0
+ /// Delam record high-score
+ var/delam_record = 0
+
+/obj/machinery/incident_display/dual
+ name = NAME_DUAL
+ desc = DESC_DUAL
+ icon_preview = "stat_display_dual"
+ icon_state = "stat_display_dual"
+ sign_features = DISPLAY_DELAM | DISPLAY_TRAM
+
+/obj/machinery/incident_display/delam
+ name = NAME_DELAM
+ desc = DESC_DELAM
+ icon_preview = "stat_display_delam"
+ icon_state = "stat_display_delam"
+ sign_features = DISPLAY_DELAM
+
+/obj/machinery/incident_display/tram
+ name = NAME_TRAM
+ desc = DESC_TRAM
+ icon_preview = "stat_display_tram"
+ icon_state = "stat_display_tram"
+ sign_features = DISPLAY_TRAM
+
+MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/incident_display, 32)
+MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/incident_display/delam, 32)
+MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/incident_display/dual, 32)
+MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/incident_display/tram, 32)
+
+/obj/machinery/incident_display/Initialize(mapload)
+ ..()
+ return INITIALIZE_HINT_LATELOAD
+
+/obj/machinery/incident_display/LateInitialize()
+ . = ..()
+ GLOB.map_delamination_counters += src
+ update_delam_count(SSpersistence.rounds_since_engine_exploded, SSpersistence.delam_highscore)
+ for(var/obj/structure/industrial_lift/tram/tram as anything in GLOB.lifts)
+ RegisterSignal(tram, COMSIG_TRAM_COLLISION, PROC_REF(update_tram_count))
+
+ update_appearance()
+
+/obj/machinery/incident_display/Destroy()
+ GLOB.map_delamination_counters -= src
+ return ..()
+
+/obj/machinery/incident_display/welder_act(mob/living/user, obj/item/tool)
+ if(user.combat_mode)
+ return FALSE
+
+ if(atom_integrity >= max_integrity && !(machine_stat & BROKEN))
+ balloon_alert(user, "it doesn't need repairs!")
+ return TRUE
+
+ balloon_alert(user, "repairing display...")
+ if(!tool.use_tool(src, user, 4 SECONDS, amount = 0, volume=50))
+ return TRUE
+
+ balloon_alert(user, "repaired")
+ atom_integrity = max_integrity
+ set_machine_stat(machine_stat & ~BROKEN)
+ update_appearance()
+ return TRUE
+
+// Switch modes with multitool
+/obj/machinery/incident_display/multitool_act(mob/living/user, obj/item/tool)
+ if(user.combat_mode)
+ return FALSE
+
+ if(sign_features == DISPLAY_TRAM)
+ tool.play_tool_sound(src)
+ balloon_alert(user, "set to dual")
+ name = NAME_DUAL
+ desc = DESC_DUAL
+ icon_state = "stat_display_dual"
+ sign_features = DISPLAY_DELAM | DISPLAY_TRAM
+ update_delam_count(SSpersistence.rounds_since_engine_exploded, SSpersistence.delam_highscore)
+ update_tram_count(src, SSpersistence.tram_hits_this_round)
+ update_appearance()
+ return TRUE
+ else if(sign_features == DISPLAY_DELAM)
+ tool.play_tool_sound(src)
+ balloon_alert(user, "set to tram")
+ name = NAME_TRAM
+ desc = DESC_TRAM
+ icon_state = "stat_display_tram"
+ sign_features = DISPLAY_TRAM
+ update_tram_count(src, SSpersistence.tram_hits_this_round)
+ update_appearance()
+ return TRUE
+ else if(sign_features == (DISPLAY_DELAM + DISPLAY_TRAM))
+ tool.play_tool_sound(src)
+ balloon_alert(user, "set to delam")
+ name = NAME_DELAM
+ desc = DESC_DELAM
+ icon_state = "stat_display_delam"
+ sign_features = DISPLAY_DELAM
+ update_delam_count(SSpersistence.rounds_since_engine_exploded, SSpersistence.delam_highscore)
+ update_appearance()
+ return TRUE
+
+// EMP causes the display to display random numbers or outright break.
+/obj/machinery/incident_display/emp_act(severity)
+ . = ..()
+ if(prob(50))
+ set_machine_stat(machine_stat | BROKEN)
+ update_appearance()
+ return
+ name = NAME_DUAL
+ desc = DESC_DUAL
+ icon_state = "stat_display_dual"
+ sign_features = DISPLAY_DELAM | DISPLAY_TRAM
+ hit_threshold = rand(1,99)
+ hit_count = rand(1,99)
+ last_delam = rand(1,99)
+ delam_record = rand(1,99)
+ update_appearance()
+
+/obj/machinery/incident_display/deconstruct()
+ if(flags_1 & NODECONSTRUCT_1)
+ return
+
+ new /obj/item/stack/sheet/mineral/titanium(drop_location(), 2)
+ new /obj/item/shard(drop_location())
+ new /obj/item/shard(drop_location())
+
+ qdel(src)
+
+/obj/machinery/incident_display/proc/update_delam_count(new_count, record)
+ delam_record = record
+ last_delam = min(new_count, 199)
+ update_appearance()
+
+/obj/machinery/incident_display/proc/update_tram_count(source, tram_collisions)
+ SIGNAL_HANDLER
+
+ hit_count = min(tram_collisions, 199)
+ update_appearance()
+
+/obj/machinery/incident_display/update_appearance(updates=ALL)
+ . = ..()
+ if(machine_stat & NOPOWER)
+ icon_state = "stat_display_blank"
+ set_light(0)
+ return
+
+ if(machine_stat & BROKEN)
+ icon_state = "stat_display_broken"
+ set_light(l_range = 1.7, l_power = 1.5, l_color = LIGHT_COLOR_DARK_BLUE)
+ return
+
+ if(sign_features == (DISPLAY_DELAM + DISPLAY_TRAM))
+ icon_state = "stat_display_dual"
+ else if(sign_features == DISPLAY_DELAM)
+ icon_state = "stat_display_delam"
+ else if(sign_features == DISPLAY_TRAM)
+ icon_state = "stat_display_tram"
+
+ set_light(l_range = 1.7, l_power = 1.5, l_color = LIGHT_COLOR_FAINT_BLUE)
+
+/obj/machinery/incident_display/update_overlays()
+ . = ..()
+ if(machine_stat & (NOPOWER|BROKEN))
+ return
+
+ var/mutable_appearance/moff_base_emissive = emissive_appearance(icon, "moff_base_emissive", src, alpha = src.alpha)
+ . += moff_base_emissive
+
+ if(sign_features & DISPLAY_DELAM)
+ var/mutable_appearance/delam_base_emissive = emissive_appearance(icon, "delam_base_emissive", src, alpha = src.alpha)
+ var/delam_display_color
+ . += delam_base_emissive
+ if(!last_delam)
+ delam_display_color = LIGHT_COLOR_INTENSE_RED
+ else
+ delam_display_color = LIGHT_COLOR_HOLY_MAGIC
+
+ var/delam_pos1 = last_delam % 10
+ var/mutable_appearance/delam_pos1_overlay = mutable_appearance(icon, "num_[delam_pos1]")
+ var/mutable_appearance/delam_pos1_emissive = emissive_appearance(icon, "num_[delam_pos1]_e", src, alpha = src.alpha)
+ delam_pos1_overlay.color = delam_display_color
+ delam_pos1_overlay.pixel_w = 9
+ delam_pos1_emissive.pixel_w = 9
+ delam_pos1_overlay.pixel_z = 4
+ delam_pos1_emissive.pixel_z = 4
+ . += delam_pos1_overlay
+ . += delam_pos1_emissive
+
+ var/delam_pos2 = (last_delam / 10) % 10
+ var/mutable_appearance/delam_pos2_overlay = mutable_appearance(icon, "num_[delam_pos2]")
+ var/mutable_appearance/delam_pos2_emissive = emissive_appearance(icon, "num_[delam_pos2]_e", src, alpha = src.alpha)
+ delam_pos2_overlay.color = delam_display_color
+ delam_pos2_overlay.pixel_w = 4
+ delam_pos2_emissive.pixel_w = 4
+ delam_pos2_overlay.pixel_z = 4
+ delam_pos2_emissive.pixel_z = 4
+ . += delam_pos2_overlay
+ . += delam_pos2_emissive
+
+ if(last_delam >= 100)
+ var/mutable_appearance/there_i_fixed_it_overlay = mutable_appearance(icon, "num_100_red")
+ var/mutable_appearance/there_i_fixed_it_emissive = emissive_appearance(icon, "num_100_red", src, alpha = src.alpha)
+ . += there_i_fixed_it_overlay
+ . += there_i_fixed_it_emissive
+
+ if(last_delam == delam_record)
+ var/mutable_appearance/delam_trend_overlay = mutable_appearance(icon, TREND_RISING)
+ var/mutable_appearance/delam_trend_emissive = emissive_appearance(icon, "[TREND_RISING]_e", src, alpha = src.alpha)
+ delam_trend_overlay.color = LIGHT_COLOR_VIVID_GREEN
+ delam_trend_overlay.pixel_w = 1
+ delam_trend_emissive.pixel_w = 1
+ delam_trend_overlay.pixel_z = 6
+ delam_trend_emissive.pixel_z = 6
+ . += delam_trend_overlay
+ . += delam_trend_emissive
+ else
+ var/mutable_appearance/delam_trend_overlay = mutable_appearance(icon, TREND_FALLING)
+ var/mutable_appearance/delam_trend_emissive = emissive_appearance(icon, "[TREND_FALLING]_e", src, alpha = src.alpha)
+ delam_trend_overlay.color = LIGHT_COLOR_INTENSE_RED
+ delam_trend_overlay.pixel_w = 1
+ delam_trend_emissive.pixel_w = 1
+ delam_trend_overlay.pixel_z = 6
+ delam_trend_emissive.pixel_z = 6
+ . += delam_trend_overlay
+ . += delam_trend_emissive
+
+ if(sign_features & DISPLAY_TRAM)
+ var/mutable_appearance/tram_base_emissive = emissive_appearance(icon, "tram_base_emissive", src, alpha = src.alpha)
+ var/tram_display_color = LIGHT_COLOR_BABY_BLUE
+
+ var/tram_pos1 = hit_count % 10
+ var/mutable_appearance/tram_pos1_overlay = mutable_appearance(icon, "num_[tram_pos1]")
+ var/mutable_appearance/tram_pos1_emissive = emissive_appearance(icon, "num_[tram_pos1]_e", src, alpha = src.alpha)
+ . += tram_base_emissive
+ tram_pos1_overlay.color = tram_display_color
+ tram_pos1_overlay.pixel_w = 9
+ tram_pos1_emissive.pixel_w = 9
+ tram_pos1_overlay.pixel_z = -6
+ tram_pos1_emissive.pixel_z = -6
+ . += tram_pos1_overlay
+ . += tram_pos1_emissive
+
+ var/tram_pos2 = (hit_count / 10) % 10
+ var/mutable_appearance/tram_pos2_overlay = mutable_appearance(icon, "num_[tram_pos2]")
+ var/mutable_appearance/tram_pos2_emissive = emissive_appearance(icon, "num_[tram_pos2]_e", src, alpha = src.alpha)
+ tram_pos2_overlay.color = tram_display_color
+ tram_pos2_overlay.pixel_w = 4
+ tram_pos2_emissive.pixel_w = 4
+ tram_pos2_overlay.pixel_z = -6
+ tram_pos2_emissive.pixel_z = -6
+ . += tram_pos2_overlay
+ . += tram_pos2_emissive
+
+ if(hit_count >= 100)
+ var/mutable_appearance/there_i_fixed_it_overlay = mutable_appearance(icon, "num_100_blue")
+ var/mutable_appearance/there_i_fixed_it_emissive = emissive_appearance(icon, "num_100_blue", src, alpha = src.alpha)
+ . += there_i_fixed_it_overlay
+ . += there_i_fixed_it_emissive
+
+ if(hit_count > SSpersistence.tram_hits_last_round)
+ var/mutable_appearance/tram_trend_overlay = mutable_appearance(icon, TREND_RISING)
+ var/mutable_appearance/tram_trend_emissive = emissive_appearance(icon, "[TREND_RISING]_e", src, alpha = src.alpha)
+ tram_trend_overlay.color = LIGHT_COLOR_INTENSE_RED
+ tram_trend_overlay.pixel_w = 1
+ tram_trend_emissive.pixel_w = 1
+ tram_trend_overlay.pixel_z = -4
+ tram_trend_emissive.pixel_z = -4
+ . += tram_trend_overlay
+ . += tram_trend_emissive
+ else
+ var/mutable_appearance/tram_trend_overlay = mutable_appearance(icon, TREND_FALLING)
+ var/mutable_appearance/tram_trend_emissive = emissive_appearance(icon, "[TREND_FALLING]_e", src, alpha = src.alpha)
+ tram_trend_overlay.color = LIGHT_COLOR_VIVID_GREEN
+ tram_trend_overlay.pixel_w = 1
+ tram_trend_emissive.pixel_w = 1
+ tram_trend_overlay.pixel_z = -4
+ tram_trend_emissive.pixel_z = -4
+ . += tram_trend_overlay
+ . += tram_trend_emissive
+
+/obj/machinery/incident_display/examine(mob/user)
+ . = ..()
+
+ if(sign_features & DISPLAY_DELAM)
+ . += span_info("It has been [last_delam] shift\s since the last delamination event at this Nanotrasen facility.")
+ switch (last_delam)
+ if(0)
+ . += span_info("In case you didn't notice.
")
+ if(1)
+ . += span_info("Let's do better today.
")
+ if(2 to 5)
+ . += span_info("There's room for improvement.
")
+ if(6 to 10)
+ . += span_info("Good work!
")
+ if(69)
+ . += span_info("Nice.
")
+ else
+ . += span_info("Incredible!
")
+
+ if(sign_features & DISPLAY_TRAM)
+ . += span_info("The station has had [hit_count] tram incident\s this shift.")
+ switch (hit_count)
+ if(0)
+ . += span_info("Fantastic! Champions of safety.
")
+ if(1)
+ . += span_info("Let's do better tomorrow.
")
+ if(2 to 5)
+ . += span_info("There's room for improvement.
")
+ if(6 to 10)
+ . += span_info("Good work! Nanotrasen's finest!
")
+ if(69)
+ . += span_info("Nice.
")
+ else
+ . += span_info("Incredible! You're probably reading this from medbay.
")
+
+#undef DISPLAY_DELAM
+#undef DISPLAY_TRAM
+
+#undef NAME_DUAL
+#undef NAME_DELAM
+#undef NAME_TRAM
+
+#undef DESC_DUAL
+#undef DESC_DELAM
+#undef DESC_TRAM
diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm
index bcae22d096f..c7b2889d884 100644
--- a/code/game/machinery/limbgrower.dm
+++ b/code/game/machinery/limbgrower.dm
@@ -185,7 +185,10 @@
use_power(power)
flick("limbgrower_fill", src)
icon_state = "limbgrower_idleon"
- selected_category = params["active_tab"]
+ var/temp_category = params["active_tab"]
+ if( ! (temp_category in categories) )
+ return FALSE //seriously come on
+ selected_category = temp_category
addtimer(CALLBACK(src, PROC_REF(build_item), consumed_reagents_list), production_speed * production_coefficient)
return TRUE
diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm
index 6d6b3897333..81aba0a347e 100644
--- a/code/game/machinery/status_display.dm
+++ b/code/game/machinery/status_display.dm
@@ -1,11 +1,15 @@
// Status display
-// (formerly Countdown timer display)
-#define MAX_STATIC_WIDTH 25
-#define FONT_STYLE "5pt 'Small Fonts'"
+#define MAX_STATIC_WIDTH 22
+#define FONT_STYLE "12pt 'TinyUnicode'"
#define SCROLL_RATE (0.04 SECONDS) // time per pixel
-#define LINE1_Y -7 // SKYRAT EDIT CHANGE - AESTHETICS - originally -8
-#define LINE2_Y -14 // SKYRAT EDIT CHANGE - AESTHETICS - originally -15
+#define SCROLL_PADDING 2 // how many pixels we chop to make a smooth loop
+#define LINE1_X 1
+#define LINE1_Y -4
+#define LINE2_X 1
+#define LINE2_Y -11
+#define STATUS_DISPLAY_FONT_DATUM /datum/font/tiny_unicode/size_12pt
+
/// Status display which can show images and scrolling text.
/obj/machinery/status_display
name = "status display"
@@ -124,14 +128,14 @@
* * message - the new message text.
* Returns new /obj/effect/overlay/status_display_text or null if unchanged.
*/
-/obj/machinery/status_display/proc/update_message(obj/effect/overlay/status_display_text/overlay, line_y, message, x_offset)
+/obj/machinery/status_display/proc/update_message(obj/effect/overlay/status_display_text/overlay, line_y, message, x_offset, line_pair)
if(overlay && message == overlay.message)
return null
if(overlay)
qdel(overlay)
- var/obj/effect/overlay/status_display_text/new_status_display_text = new(src, line_y, message, text_color, header_text_color, x_offset)
+ var/obj/effect/overlay/status_display_text/new_status_display_text = new(src, line_y, message, text_color, header_text_color, x_offset, line_pair)
// Draw our object visually "in front" of this display, taking advantage of sidemap
new_status_display_text.pixel_y = -32
new_status_display_text.pixel_z = 32
@@ -149,7 +153,7 @@
return
set_light(1.5, 0.7, LIGHT_COLOR_BLUE) // blue light
-/obj/machinery/status_display/update_overlays()
+/obj/machinery/status_display/update_overlays(updates)
. = ..()
if(machine_stat & (NOPOWER|BROKEN))
@@ -167,10 +171,18 @@
if(current_picture == AI_DISPLAY_DONT_GLOW) // If the thing's off, don't display the emissive yeah?
return .
else
- var/overlay = update_message(message1_overlay, LINE1_Y, message1)
+ var/line1_metric
+ var/line2_metric
+ var/line_pair
+ var/datum/font/display_font = new STATUS_DISPLAY_FONT_DATUM()
+ line1_metric = display_font.get_metrics(message1)
+ line2_metric = display_font.get_metrics(message2)
+ line_pair = (line1_metric > line2_metric ? line1_metric : line2_metric)
+
+ var/overlay = update_message(message1_overlay, LINE1_Y, message1, LINE1_X, line_pair)
if(overlay)
message1_overlay = overlay
- overlay = update_message(message2_overlay, LINE2_Y, message2)
+ overlay = update_message(message2_overlay, LINE2_Y, message2, LINE2_X, line_pair)
if(overlay)
message2_overlay = overlay
@@ -178,7 +190,7 @@
if(message1 == "" && message2 == "")
return
- . += emissive_appearance(icon, "outline", src, alpha = src.alpha)
+ . += emissive_appearance('modular_skyrat/modules/aesthetics/status_display/icons/status_display.dmi', "outline", src, alpha = src.alpha) // SKYRAT EDIT CHANGE - AESTHETICS
// Timed process - performs nothing in the base class
/obj/machinery/status_display/process()
@@ -245,39 +257,23 @@
// If the line is short enough to not marquee, and it matches this, it's a header.
var/static/regex/header_regex = regex("^-.*-$")
- /// Width of each character, including kerning gap afterwards.
- /// We don't use rich text or anything fancy, so we can bake these values.
- var/static/list/char_widths = list(
- // ! " # $ % & ' ( ) * + , - . /
- 1, 2, 3, 5, 4, 5, 5, 2, 3, 3, 3, 4, 2, 3, 2, 3,
- // 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
- 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 3, 3, 3, 3,
- // @ A B C D E F G H I J K L M N O
- 7, 5, 5, 5, 5, 4, 4, 5, 5, 2, 4, 5, 4, 6, 5, 5,
- // P Q R S T U V W X Y Z [ \ ] ^ _
- 5, 5, 5, 5, 4, 5, 4, 6, 4, 4, 4, 3, 3, 3, 4, 4,
- // ` a b c d e f g h i j k l m n o
- 3, 5, 5, 5, 5, 4, 4, 5, 5, 2, 4, 5, 4, 6, 5, 5,
- // p q r s t u v w x y z { | } ~
- 5, 5, 5, 5, 4, 5, 4, 6, 4, 4, 4, 3, 2, 3, 4,
- )
-
-/obj/effect/overlay/status_display_text/Initialize(mapload, yoffset, line, text_color, header_text_color, xoffset = 0)
+/obj/effect/overlay/status_display_text/Initialize(mapload, yoffset, line, text_color, header_text_color, xoffset = 0, line_pair)
. = ..()
maptext_y = yoffset
message = line
- var/line_width = measure_width(line)
+ var/datum/font/display_font = new STATUS_DISPLAY_FONT_DATUM()
+ var/line_width = display_font.get_metrics(line)
if(line_width > MAX_STATIC_WIDTH)
// Marquee text
- var/marquee_message = "[line] - [line] - [line]"
+ var/marquee_message = "[line] [line] [line]"
// Width of full content. Must of these is never revealed unless the user inputted a single character.
- var/full_marquee_width = measure_width(marquee_message)
+ var/full_marquee_width = display_font.get_metrics("[marquee_message] ")
// We loop after only this much has passed.
- var/looping_marquee_width = measure_width("[line] - ")
+ var/looping_marquee_width = (display_font.get_metrics("[line] ]") - SCROLL_PADDING)
maptext = generate_text(marquee_message, center = FALSE, text_color = text_color)
maptext_width = full_marquee_width
@@ -287,45 +283,24 @@
add_filter("mask", 1, alpha_mask_filter(icon = icon(icon, "outline")))
// Scroll.
- var/time = looping_marquee_width * SCROLL_RATE
- animate(src, maptext_x = -looping_marquee_width, time = time, loop = -1)
- animate(maptext_x = 0, time = 0)
+ var/time = line_pair * SCROLL_RATE
+ animate(src, maptext_x = (-looping_marquee_width) + MAX_STATIC_WIDTH, time = time, loop = -1)
+ animate(maptext_x = MAX_STATIC_WIDTH, time = 0)
else
// Centered text
var/color = header_regex.Find(line) ? header_text_color : text_color
maptext = generate_text(line, center = TRUE, text_color = color)
maptext_x = xoffset //Defaults to 0, this would be centered unless overided
-/**
- * A hyper-streamlined version of MeasureText that doesn't support different fonts, rich formatting, or multiline.
- * But it also doesn't require a client.
- *
- * Returns the width in pixels
- *
- * Arguments:
- * * text - the text to measure
- */
-/obj/effect/overlay/status_display_text/proc/measure_width(text)
- var/width = 0
- for(var/text_idx in 1 to length(text))
- var/ascii = text2ascii(text, text_idx)
- if(!(ascii in 0x20 to 0x7E))
- // So we can't possibly runtime, even though the input should be in range already.
- width += 3
- continue
- width += char_widths[ascii - 0x1F]
-
- return width
-
/**
* Generate the actual maptext.
* Arguments:
* * text - the text to display
- * * center - center the text if TRUE, otherwise left-align
+ * * center - center the text if TRUE, otherwise right-align (the direction the text is coming from)
* * text_color - the text color
*/
/obj/effect/overlay/status_display_text/proc/generate_text(text, center, text_color)
- return {"