diff --git a/.github/actions/restore_or_install_byond/action.yml b/.github/actions/restore_or_install_byond/action.yml
index 02e264b374d7..5a8d970d8441 100644
--- a/.github/actions/restore_or_install_byond/action.yml
+++ b/.github/actions/restore_or_install_byond/action.yml
@@ -29,7 +29,15 @@ runs:
echo "BYOND_MAJOR=$BYOND_MAJOR" >> $GITHUB_ENV
echo "BYOND_MINOR=$BYOND_MINOR" >> $GITHUB_ENV
+ - name: Find fastest APT mirror
+ if: env.BYOND_MAJOR >= 516 && env.BYOND_MINOR >= 1664
+ uses: vegardit/fast-apt-mirror.sh@v1
+ with:
+ sample-size: 8192
+ sample-time: 5
- name: Install 32-bit libcurl
+ # Only required in 516.1664+
+ if: env.BYOND_MAJOR >= 516 && env.BYOND_MINOR >= 1664
shell: bash
run: |
sudo dpkg --add-architecture i386
diff --git a/.github/workflows/run_linters.yml b/.github/workflows/run_linters.yml
index 31949d7fcede..51cb5c8b478d 100644
--- a/.github/workflows/run_linters.yml
+++ b/.github/workflows/run_linters.yml
@@ -95,16 +95,25 @@ jobs:
id: map-filter
uses: dorny/paths-filter@v4
with:
+ list-files: shell
filters: |
- run_maps:
- - '**.dmm'
+ tool_edits:
- 'tools/maplint/**'
- 'tools/mapmerge2/**'
+ map_edits:
+ - '**.dmm'
+
- name: Run Map Checks
- if: steps.linter-setup.conclusion == 'success' && !cancelled() && steps.map-filter.outputs.run_maps == 'true'
+ if: steps.linter-setup.conclusion == 'success' && !cancelled() && (steps.map-filter.outputs.tool_edits == 'true' || steps.map-filter.outputs.map_edits == 'true')
run: |
- tools/bootstrap/python -m mapmerge2.dmm_test
- tools/bootstrap/python -m tools.maplint.source
+ if [ "${{ steps.map-filter.outputs.tool_edits }}" = "true" ]; then
+ MAPS=$(find . -type f -name "*.dmm")
+ else
+ MAPS="${{ steps.map-filter.outputs.map_edits_files }}"
+ fi
+
+ tools/bootstrap/python -m mapmerge2.dmm_test $MAPS
+ tools/bootstrap/python -m tools.maplint.source $MAPS
- name: Check Cutter
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: tools/bootstrap/python -m tools.icon_cutter.check
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index e0b41e4482f0..b23299970ec5 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -1,16 +1,6 @@
{
"version": "2.0.0",
"tasks": [
- {
- "type": "shell",
- "command": "tools/bootstrap/python tools/build_bt.py",
- "windows": {
- "command": ".\\tools\\bootstrap\\python.bat tools/build_bt.py"
- },
- "group": "build",
- "presentation": { "reveal": "silent", "panel": "shared" },
- "label": "Compile BT Trees"
- },
{
"type": "process",
"command": "tools/build/build.sh",
@@ -27,7 +17,7 @@
"kind": "build",
"isDefault": true
},
- "dependsOn": ["dm: reparse", "Compile BT Trees"],
+ "dependsOn": "dm: reparse",
"label": "Build All"
},
{
diff --git a/SpacemanDMM.toml b/SpacemanDMM.toml
index 5ed9edb2f5ce..c0e275716020 100644
--- a/SpacemanDMM.toml
+++ b/SpacemanDMM.toml
@@ -12,3 +12,7 @@ use_typepath_names = true
[debugger]
engine = "auxtools"
+
+[map_renderer.render_passes]
+icon-smoothing = false
+icon-smoothing-2025 = true
diff --git a/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm b/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm
index 91b8ea9bc116..75b16b116c23 100644
--- a/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm
+++ b/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm
@@ -8,6 +8,12 @@
/obj/item/pen/blue{
pixel_x = -5
},
+/obj/machinery/button/door{
+ pixel_y = 7;
+ id = "golemship";
+ name = "shutter button";
+ desc = "The shutter control switch for the main research vessel."
+ },
/turf/open/floor/mineral/titanium/purple,
/area/ruin/powered/golem_ship)
"aU" = (
@@ -139,6 +145,13 @@
/obj/machinery/reagentgrinder,
/turf/open/floor/mineral/titanium/purple,
/area/ruin/powered/golem_ship)
+"ge" = (
+/obj/effect/spawner/structure/window/reinforced/shuttle,
+/obj/machinery/door/poddoor/preopen{
+ id = "golemship_bedroom"
+ },
+/turf/open/floor/plating,
+/area/ruin/powered/golem_ship)
"gv" = (
/obj/structure/closet,
/obj/item/storage/bag/ore,
@@ -185,6 +198,9 @@
/area/ruin/powered/golem_ship)
"lF" = (
/obj/effect/spawner/structure/window/reinforced/shuttle,
+/obj/machinery/door/poddoor/preopen{
+ id = "golemship"
+ },
/turf/open/floor/plating,
/area/ruin/powered/golem_ship)
"lH" = (
@@ -195,6 +211,9 @@
pixel_x = 4;
pixel_y = -8
},
+/obj/machinery/button/door/directional/south{
+ id = "golemship_bedroom"
+ },
/turf/open/floor/wood,
/area/ruin/powered/golem_ship)
"mU" = (
@@ -630,6 +649,7 @@
/obj/item/fishing_rod,
/obj/item/fishing_rod,
/obj/item/fishing_rod,
+/obj/item/storage/box/lights/tubes,
/turf/open/floor/mineral/titanium/purple,
/area/ruin/powered/golem_ship)
"LN" = (
@@ -818,8 +838,8 @@
(1,1,1) = {"
wN
Df
-lF
-lF
+ge
+ge
Df
wN
wN
@@ -838,7 +858,7 @@ Df
Df
WL
Ro
-lF
+ge
wN
wN
lF
@@ -856,7 +876,7 @@ Df
bu
ET
tY
-lF
+ge
wN
wN
Df
@@ -870,13 +890,13 @@ Df
wN
"}
(4,1,1) = {"
-lF
+ge
cp
cN
lH
Df
-lF
-lF
+ge
+ge
Df
WM
sS
@@ -888,7 +908,7 @@ lF
wN
"}
(5,1,1) = {"
-lF
+ge
Pe
fk
fk
@@ -911,8 +931,8 @@ gz
aU
Pa
Df
-lF
-lF
+ge
+ge
Df
LN
sS
@@ -944,7 +964,7 @@ wN
(8,1,1) = {"
Df
Df
-lF
+ge
Df
Df
wN
diff --git a/_maps/RandomZLevels/Academy.dmm b/_maps/RandomZLevels/Academy.dmm
index 745c71a50476..801abed1233d 100644
--- a/_maps/RandomZLevels/Academy.dmm
+++ b/_maps/RandomZLevels/Academy.dmm
@@ -1743,7 +1743,8 @@
/area/awaymission/caves/academy)
"lK" = (
/obj/effect/immovablerod{
- dir = 4
+ dir = 4;
+ should_augury = 0
},
/obj/effect/mapping_helpers/no_tele_turf,
/turf/open/floor/plating,
diff --git a/_maps/RandomZLevels/heretic.dmm b/_maps/RandomZLevels/heretic.dmm
index c64a0abbb0e7..a341d6e28ddb 100644
--- a/_maps/RandomZLevels/heretic.dmm
+++ b/_maps/RandomZLevels/heretic.dmm
@@ -1106,8 +1106,7 @@
/obj/structure/transport/linear/tram,
/obj/structure/thermoplastic/light,
/obj/machinery/computer/tram_controls/heretic_tram_computer{
- icon_state = "tram_alt_controls";
- dir = 8
+ dir = 4
},
/turf/open/floor/engine,
/area/awaymission/caves/heretic_laboratory)
diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm
index b964ab1b2183..04e8f9adf255 100644
--- a/_maps/map_files/KiloStation/KiloStation.dmm
+++ b/_maps/map_files/KiloStation/KiloStation.dmm
@@ -90,15 +90,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"aaV" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/public/glass{
- name = "Chapel Hallway"
- },
-/turf/open/floor/iron/dark,
-/area/station/hallway/primary/fore)
"abg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/decal/cleanable/blood/old,
@@ -117,14 +108,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/office)
-"abq" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/obj/machinery/meter,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"abB" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/security/glass{
@@ -178,6 +161,18 @@
},
/turf/open/floor/engine,
/area/station/ai/satellite/chamber)
+"abU" = (
+/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/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/purple/anticorner/contrasted,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/tile/purple,
+/obj/machinery/duct,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science)
"aca" = (
/obj/structure/disposalpipe/trunk,
/obj/structure/disposaloutlet{
@@ -187,6 +182,11 @@
/obj/effect/turf_decal/stripes/box,
/turf/open/floor/plating/airless,
/area/space/nearstation)
+"ach" = (
+/obj/machinery/light/small/directional/west,
+/obj/structure/sign/warning/directional/west,
+/turf/open/misc/asteroid/airless,
+/area/space/nearstation)
"acj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/hydroponics/constructable,
@@ -216,6 +216,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/spawner/random/structure/tank_holder,
/turf/open/floor/plating,
/area/station/maintenance/aft)
"acu" = (
@@ -254,10 +255,6 @@
/obj/machinery/disposal/bin/tagger,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/cmo)
-"acF" = (
-/obj/structure/sign/warning/radiation,
-/turf/closed/wall/rust,
-/area/station/engineering/atmos)
"acJ" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -278,13 +275,6 @@
/obj/structure/grille,
/turf/open/floor/plating/airless,
/area/space/nearstation)
-"acT" = (
-/obj/structure/lattice,
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
- dir = 5
- },
-/turf/open/space/basic,
-/area/space/nearstation)
"acW" = (
/obj/structure/flora/bush/lavendergrass/style_random,
/obj/structure/flora/bush/sparsegrass/style_random,
@@ -342,6 +332,12 @@
/obj/structure/cable/layer3,
/turf/open/floor/engine,
/area/station/ai/satellite/foyer)
+"adM" = (
+/obj/item/kirbyplants/organic/plant21,
+/obj/machinery/airalarm/directional/east,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
+/turf/open/floor/iron/dark/corner,
+/area/station/hallway/primary/central/fore)
"adR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/stripes/line,
@@ -424,10 +420,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
-"aeL" = (
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
-/turf/closed/wall/rust,
-/area/station/engineering/atmos)
"aeS" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -490,18 +482,18 @@
/obj/machinery/computer/security/telescreen/minisat/directional/west,
/turf/open/floor/engine,
/area/station/ai/satellite/foyer)
-"afY" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/purple{
- dir = 1
+"afV" = (
+/obj/machinery/door/airlock/atmos/glass{
+ name = "Auxiliary Chamber"
},
-/obj/effect/turf_decal/tile/purple/half/contrasted{
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
-/obj/machinery/light/floor,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/lobby)
+/turf/open/floor/engine,
+/area/station/engineering/atmos)
"agt" = (
/turf/closed/wall/rust,
/area/space/nearstation)
@@ -540,6 +532,21 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/science/xenobiology)
+"agI" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+/turf/open/space/basic,
+/area/space/nearstation)
+"ahl" = (
+/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/stripes/line,
+/obj/effect/turf_decal/tile/red/anticorner/contrasted,
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/firealarm/directional/east,
+/turf/open/floor/iron,
+/area/station/security/processing)
"ahz" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/yellow/half/contrasted{
@@ -551,6 +558,13 @@
},
/turf/open/floor/iron,
/area/station/commons/storage/primary)
+"ahG" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/light_switch/directional/north,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"ahJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -582,12 +596,45 @@
},
/turf/open/floor/wood,
/area/station/service/lawoffice)
+"aic" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"aig" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/caution/stand_clear,
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/aft)
+"aim" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"ain" = (
+/obj/machinery/power/turbine/turbine_outlet,
+/turf/open/floor/engine,
+/area/station/maintenance/disposal/incinerator)
"aiB" = (
/obj/structure/window/spawner/directional/east,
/obj/structure/window/spawner/directional/north,
@@ -621,14 +668,6 @@
},
/turf/open/floor/iron,
/area/station/security/office)
-"aiR" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/status_display/evac/directional/north,
-/obj/machinery/light/warm/directional/north,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"ajb" = (
/obj/effect/turf_decal/tile/brown/half/contrasted{
dir = 4
@@ -643,14 +682,6 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating/airless,
/area/space/nearstation)
-"ajo" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 6
- },
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"ajs" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/old,
@@ -689,14 +720,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance/office)
-"ajv" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"ajw" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/white/line{
@@ -704,25 +727,18 @@
},
/turf/open/floor/iron,
/area/station/security/prison)
-"ajH" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 9
+"ajL" = (
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 8
},
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
-"ajR" = (
-/obj/structure/table/wood/fancy/blue,
-/obj/effect/turf_decal/siding/wood{
+/obj/effect/turf_decal/tile/purple{
dir = 8
},
-/obj/item/reagent_containers/cup/glass/trophy/bronze_cup,
-/obj/machinery/camera/autoname/directional/west,
-/obj/machinery/light/warm/dim/directional/west,
-/turf/open/floor/carpet/royalblue,
-/area/station/service/chapel/office)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/light/warm/directional/west,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/auxlab)
"ajZ" = (
/obj/structure/flora/tree/jungle/small,
/turf/open/floor/grass,
@@ -743,6 +759,12 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/science/auxlab)
+"akm" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/hydroponics/garden)
"akC" = (
/obj/effect/turf_decal/bot,
/obj/effect/turf_decal/tile/neutral/half/contrasted,
@@ -776,6 +798,14 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance/storage)
+"akS" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Security Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/security/brig,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/aft)
"akV" = (
/obj/structure/sign/departments/security,
/turf/closed/wall/rust,
@@ -828,10 +858,38 @@
/obj/structure/cable/layer3,
/turf/open/floor/engine,
/area/station/ai/satellite/chamber)
+"alA" = (
+/obj/structure/closet/secure_closet/brig,
+/obj/effect/turf_decal/tile/red/half/contrasted,
+/turf/open/floor/iron,
+/area/station/security/execution/transfer)
+"alJ" = (
+/obj/structure/table/wood/fancy,
+/obj/effect/turf_decal/siding/wideplating/dark/corner{
+ dir = 4
+ },
+/obj/item/food/grown/flower/harebell,
+/obj/item/food/grown/flower/harebell{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/food/grown/flower/harebell{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/machinery/wall_healer/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
"alL" = (
/obj/effect/decal/cleanable/dirt,
+/obj/structure/ore_box,
+/obj/effect/turf_decal/bot,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"alO" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"alQ" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -856,19 +914,18 @@
/area/station/commons/locker)
"amq" = (
/obj/effect/turf_decal/stripes/corner,
-/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
dir = 1
},
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
/obj/machinery/camera/directional/west{
name = "engineering camera";
network = list("ss13","engine");
c_tag = "SMES Room"
},
/obj/machinery/firealarm/directional/west,
+/obj/effect/turf_decal/tile/red/opposingcorners{
+ dir = 1
+ },
/turf/open/floor/iron,
/area/station/engineering/supermatter/room)
"amr" = (
@@ -914,6 +971,15 @@
},
/turf/open/floor/plating,
/area/station/science/robotics/lab)
+"amC" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/engineering/main)
"amG" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/structure/girder,
@@ -939,33 +1005,27 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
+"anf" = (
+/obj/machinery/status_display/evac/directional/south,
+/obj/effect/turf_decal/tile/blue/half/contrasted,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/machinery/light/warm/dim/directional/south,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
+"anq" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/machinery/atmospherics/components/tank/air/layer4{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"anr" = (
/obj/machinery/power/tracker,
/obj/effect/turf_decal/box,
/obj/structure/cable,
/turf/open/floor/iron/solarpanel/airless,
/area/space/nearstation)
-"anw" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 4;
- name = "Plasma to Incinerator"
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/hidden{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"anz" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -976,24 +1036,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/lockers)
-"anE" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/holopad/secure,
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
-"anF" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 5
- },
-/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/half/contrasted,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"anG" = (
/obj/structure/sign/nanotrasen,
/turf/closed/wall/r_wall/rust,
@@ -1007,6 +1049,13 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"anT" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/light/floor,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
"aoe" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating/airless,
@@ -1047,6 +1096,14 @@
/obj/effect/decal/cleanable/blood/old,
/turf/open/misc/asteroid/lowpressure,
/area/space/nearstation)
+"aoD" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"aoE" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
@@ -1059,6 +1116,18 @@
/obj/machinery/power/apc/auto_name/directional/north,
/turf/open/floor/iron/dark,
/area/station/service/chapel/funeral)
+"apd" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/shieldgen,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/camera/directional/west{
+ c_tag = "Secure Storage";
+ name = "engineering camera";
+ network = list("ss13","engine")
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/engineering/supermatter/room)
"api" = (
/obj/structure/window/reinforced/spawner/directional/south,
/obj/structure/window/reinforced/spawner/directional/north,
@@ -1120,6 +1189,19 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"apH" = (
+/obj/structure/sign/poster/official/anniversary_vintage_reprint/directional/north,
+/obj/machinery/camera/directional/north{
+ c_tag = "Chemistry North";
+ network = list("ss13","medbay")
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/chemistry)
"apL" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -1151,17 +1233,6 @@
/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
-"aqu" = (
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/machinery/duct,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/pharmacy)
"aqv" = (
/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -1172,29 +1243,6 @@
},
/turf/open/space/basic,
/area/space/nearstation)
-"aqx" = (
-/obj/item/radio/intercom/directional/west,
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/service/hydroponics)
-"aqE" = (
-/obj/machinery/requests_console/directional/south{
- department = "Janitorial";
- name = "Janitorial Requests Console"
- },
-/obj/effect/mapping_helpers/requests_console/assistance,
-/obj/effect/turf_decal/stripes/corner,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/purple/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/obj/machinery/light/warm/directional/south,
-/turf/open/floor/iron,
-/area/station/service/janitor)
"aqQ" = (
/obj/effect/turf_decal/sand/plating,
/obj/item/stack/sheet/glass,
@@ -1245,29 +1293,12 @@
/obj/item/tank/internals/emergency_oxygen/empty,
/turf/open/misc/asteroid/lowpressure,
/area/space/nearstation)
-"arU" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"arX" = (
/obj/structure/table,
/obj/item/reagent_containers/cup/glass/drinkingglass,
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
-"asc" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/machinery/duct,
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"asj" = (
/turf/closed/wall/rust,
/area/station/maintenance/department/electrical)
@@ -1390,22 +1421,6 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/plating,
/area/station/maintenance/department/crew_quarters/bar)
-"avl" = (
-/obj/machinery/button/flasher{
- id = "visitorflash";
- pixel_x = -6;
- pixel_y = 24;
- req_access = list("brig")
- },
-/obj/machinery/button/door/directional/north{
- id = "visitation";
- name = "Visitation Shutters";
- pixel_x = 8;
- req_access = list("brig")
- },
-/obj/machinery/light/dim/directional/north,
-/turf/open/floor/iron/showroomfloor,
-/area/station/security/execution/transfer)
"avo" = (
/obj/structure/sign/warning/biohazard,
/turf/closed/wall/rust,
@@ -1422,10 +1437,20 @@
/turf/open/floor/plating,
/area/station/security/prison)
"avx" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/end,
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"avy" = (
/obj/structure/table/wood,
/obj/effect/turf_decal/siding/wood{
@@ -1498,6 +1523,14 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
+"awz" = (
+/obj/machinery/status_display/evac/directional/north,
+/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron,
+/area/station/security/courtroom)
"awG" = (
/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
dir = 4
@@ -1629,11 +1662,33 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/crew_quarters/bar)
+"ayx" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/atmospherics/components/unary/passive_vent{
+ dir = 4;
+ name = "killroom vent"
+ },
+/turf/open/floor/circuit/telecomms,
+/area/station/science/xenobiology)
"ayC" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/caution/stand_clear,
/turf/open/floor/iron/dark,
/area/station/medical/treatment_center)
+"ayK" = (
+/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/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"ayY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -1663,6 +1718,15 @@
/obj/machinery/telecomms/broadcaster/preset_right,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/station/tcommsat/server)
+"azE" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"aAg" = (
/turf/closed/wall/r_wall/rust,
/area/station/ai/satellite/chamber)
@@ -1685,21 +1749,6 @@
/obj/structure/sign/poster/official/safety_eye_protection/directional/east,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
-"aAQ" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 9
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"aAR" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/bot,
@@ -1713,6 +1762,24 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
+"aAS" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"aAT" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/warning/pods/directional/north,
@@ -1726,27 +1793,26 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"aBi" = (
+"aBl" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
+ dir = 10
},
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"aBk" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
},
-/obj/effect/turf_decal/tile/purple/half/contrasted,
-/obj/effect/turf_decal/tile/purple,
-/obj/structure/sign/poster/contraband/lusty_xenomorph/directional/north,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
/obj/machinery/duct,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science)
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"aBB" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/gibs/robot_debris,
@@ -1769,13 +1835,15 @@
/obj/effect/landmark/navigate_destination/dorms,
/turf/open/floor/iron/dark,
/area/station/commons/locker)
-"aCg" = (
+"aBH" = (
+/obj/structure/chair/sofa/left/brown{
+ dir = 1
+ },
/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/purple/half/contrasted,
-/obj/effect/turf_decal/tile/purple,
-/obj/machinery/light/warm/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/auxlab)
+/obj/structure/sign/poster/contraband/the_big_gas_giant_truth/directional/west,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/cargo/miningoffice)
"aCi" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/line{
@@ -1815,20 +1883,6 @@
/obj/structure/marker_beacon/burgundy,
/turf/open/floor/plating/airless,
/area/space/nearstation)
-"aCN" = (
-/obj/machinery/computer/shuttle/labor{
- dir = 1
- },
-/obj/structure/sign/warning/vacuum/external/directional/south,
-/obj/machinery/camera/directional/south{
- c_tag = "Transferring Centre Dock"
- },
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/red/half/contrasted,
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/security/processing)
"aDF" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -1917,10 +1971,6 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
-"aEg" = (
-/obj/structure/girder,
-/turf/open/floor/plating/airless,
-/area/space/nearstation)
"aEi" = (
/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
dir = 10
@@ -1993,6 +2043,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 10
},
+/obj/structure/sign/warning/directional/west,
/turf/open/floor/plating/airless,
/area/space/nearstation)
"aEt" = (
@@ -2016,8 +2067,19 @@
/obj/effect/turf_decal/stripes/line{
dir = 6
},
+/obj/structure/sign/warning/directional/east,
/turf/open/floor/plating/airless,
/area/space/nearstation)
+"aEw" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 4;
+ name = "Air to External Air Ports"
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/storage)
"aEC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -2050,42 +2112,41 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"aFh" = (
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
- dir = 1
- },
-/obj/machinery/iv_drip,
-/obj/machinery/airalarm/directional/north,
-/obj/effect/turf_decal/loading_area{
+"aEV" = (
+/obj/machinery/recharge_station,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 8
},
+/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/iron/showroomfloor,
-/area/station/medical/treatment_center)
-"aFj" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted,
-/obj/effect/turf_decal/tile/yellow,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/effect/turf_decal/box,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
+/area/station/medical/paramedic)
"aFn" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/tcommsat/computer)
-"aGd" = (
+"aFA" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
+"aFD" = (
/obj/structure/table,
-/obj/machinery/camera/directional/west{
- c_tag = "Incinerator Construction Area";
- name = "atmospherics camera";
- network = list("ss13","engine")
+/obj/item/stack/medical/mesh,
+/obj/item/stack/medical/suture,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
},
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
+/obj/machinery/wall_healer/directional/north,
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/lobby)
"aGn" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -2093,11 +2154,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
-"aGs" = (
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
-/obj/machinery/meter,
-/turf/closed/wall/r_wall/rust,
-/area/station/engineering/atmos)
"aGu" = (
/obj/effect/turf_decal/delivery,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -2114,14 +2170,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel)
-"aGM" = (
-/obj/structure/chair/stool/directional/south,
-/obj/effect/landmark/start/atmospheric_technician,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"aGQ" = (
/obj/effect/turf_decal/loading_area{
dir = 1
@@ -2130,18 +2178,15 @@
dir = 1;
name = "External Gas to Loop"
},
-/turf/open/floor/iron/dark,
+/turf/open/floor/iron/dark/textured_large,
/area/station/engineering/supermatter/room)
-"aGR" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
+"aGU" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
},
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/duct,
-/turf/open/floor/engine,
-/area/station/engineering/main)
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"aGZ" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -2153,6 +2198,16 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
+"aHy" = (
+/obj/structure/table,
+/obj/item/storage/box/bodybags{
+ pixel_x = 6
+ },
+/obj/item/storage/box/gloves{
+ pixel_x = -5
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/funeral)
"aHz" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/decal/cleanable/dirt,
@@ -2178,23 +2233,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/office)
-"aHM" = (
-/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/item/kirbyplants/organic/plant21,
-/obj/structure/extinguisher_cabinet/directional/north,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"aHQ" = (
/obj/effect/turf_decal/delivery,
/obj/structure/closet/secure_closet/chief_medical,
@@ -2206,6 +2244,27 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/cmo)
+"aId" = (
+/obj/machinery/computer/security/mining{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/status_display/evac/directional/east,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/cargo/miningdock)
+"aIe" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"aIl" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -2234,6 +2293,14 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/security/office)
+"aIE" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/engineering/atmos/pumproom)
"aII" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/vending/wardrobe/cargo_wardrobe,
@@ -2283,27 +2350,6 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/security/lockers)
-"aJH" = (
-/obj/structure/plasticflaps/opaque,
-/obj/machinery/navbeacon{
- codes_txt = "delivery;dir=8";
- location = "Atmospherics";
- name = "navigation beacon (Atmospherics Delivery)"
- },
-/obj/machinery/door/window/left/directional/west{
- name = "Atmospherics Delivery Access";
- req_access = list("atmospherics")
- },
-/obj/machinery/door/poddoor/preopen{
- id = "atmos";
- name = "Atmospherics Blast Door"
- },
-/obj/effect/turf_decal/delivery,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"aJM" = (
/obj/machinery/hydroponics/soil,
/obj/item/shovel/spade,
@@ -2324,6 +2370,13 @@
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
+"aKk" = (
+/obj/machinery/airalarm/directional/north,
+/obj/machinery/computer/cargo,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/cargo/sorting)
"aKr" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
@@ -2349,17 +2402,6 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/ai/satellite/interior)
-"aKU" = (
-/obj/machinery/door/airlock/external{
- name = "Prison External Airlock"
- },
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "kilo-maint-1"
- },
-/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
-/turf/open/floor/plating,
-/area/station/maintenance/port/lesser)
"aKY" = (
/obj/structure/sign/warning/electric_shock,
/turf/closed/wall/r_wall,
@@ -2400,18 +2442,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
-"aLJ" = (
-/obj/machinery/computer/security/mining{
- dir = 8
- },
-/obj/effect/turf_decal/bot,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/status_display/evac/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/cargo/miningdock)
"aLK" = (
/obj/structure/closet/crate,
/obj/item/hand_labeler,
@@ -2419,12 +2449,6 @@
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"aLP" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"aMa" = (
/turf/open/floor/iron,
/area/station/hallway/primary/central)
@@ -2466,6 +2490,14 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"aMz" = (
+/obj/machinery/newscaster/directional/east,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/machinery/light/warm/dim/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/funeral)
"aMJ" = (
/obj/structure/plasticflaps/opaque,
/obj/machinery/navbeacon{
@@ -2506,6 +2538,14 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science)
+"aMT" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/structure/bookcase/random,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/station/service/library)
"aMU" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 1
@@ -2521,6 +2561,13 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/genetics)
+"aMY" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/spawner/xmastree,
+/obj/effect/landmark/event_spawn,
+/obj/machinery/light/floor,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
"aNa" = (
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
dir = 8
@@ -2640,6 +2687,36 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/command/gateway)
+"aOM" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/computer/atmos_alert,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
+"aON" = (
+/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/table,
+/obj/item/storage/box/disks{
+ pixel_x = 5;
+ pixel_y = 9
+ },
+/obj/item/storage/box/bodybags{
+ pixel_x = -8;
+ pixel_y = 9
+ },
+/obj/item/storage/box/gloves{
+ pixel_x = 6;
+ pixel_y = 1
+ },
+/obj/item/flesh_shears{
+ pixel_x = -10;
+ pixel_y = -5
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/genetics)
"aPg" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark,
@@ -2674,6 +2751,13 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"aPB" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/airalarm/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"aPF" = (
/obj/machinery/door/firedoor,
/obj/machinery/light/small/directional/east,
@@ -2756,13 +2840,6 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"aRy" = (
-/obj/machinery/duct,
-/obj/machinery/atmospherics/pipe/layer_manifold/cyan/hidden{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"aRB" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -2820,15 +2897,6 @@
dir = 4
},
/area/station/service/chapel)
-"aSv" = (
-/obj/effect/landmark/start/atmospheric_technician,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"aSX" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -2909,6 +2977,10 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/recharge_floor,
/area/station/science/robotics/mechbay)
+"aUi" = (
+/obj/effect/turf_decal/box/white,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"aUn" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -2928,17 +3000,19 @@
/obj/structure/flora/rock/pile/style_random,
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
-"aUE" = (
-/obj/machinery/newscaster/directional/south,
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/structure/table/wood/fancy/red,
-/obj/structure/sign/painting/large/library{
- dir = 8;
- pixel_x = -29
+"aUG" = (
+/obj/effect/spawner/random/structure/chair_flipped,
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
+"aUI" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/atmos/glass{
+ name = "Distribution Loop"
},
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
/turf/open/floor/iron/dark,
-/area/station/service/library)
+/area/station/engineering/atmos/pumproom)
"aUU" = (
/obj/structure/table,
/obj/machinery/light/small/directional/west,
@@ -3042,34 +3116,12 @@
},
/turf/open/floor/iron,
/area/station/security/office)
-"aWw" = (
-/obj/structure/table,
-/obj/item/clipboard,
-/obj/item/airlock_painter{
- pixel_x = -4;
- pixel_y = 4
- },
-/obj/item/airlock_painter,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/hallway)
-"aWD" = (
-/turf/closed/wall/r_wall,
-/area/station/engineering/atmos/storage/gas)
-"aWF" = (
-/obj/machinery/door/airlock/external{
- name = "Atmospherics External Airlock"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/obj/effect/mapping_helpers/burnt_floor,
+"aWi" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/security/processing)
"aWI" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -3116,6 +3168,15 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"aXS" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 6
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"aYd" = (
/obj/effect/turf_decal/bot,
/obj/effect/spawner/random/structure/crate,
@@ -3143,18 +3204,24 @@
/obj/machinery/newscaster/directional/north,
/turf/open/floor/iron/dark,
/area/station/service/chapel/monastery)
+"aYG" = (
+/obj/machinery/computer/shuttle/mining{
+ dir = 8;
+ req_access = null
+ },
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
+ },
+/obj/structure/extinguisher_cabinet/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/cargo/miningdock)
"aYI" = (
/obj/effect/turf_decal/delivery,
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"aYN" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
"aYU" = (
/obj/machinery/rnd/production/techfab/department/security,
/obj/effect/turf_decal/stripes/box,
@@ -3163,27 +3230,27 @@
},
/turf/open/floor/iron/dark,
/area/station/security/office)
-"aYW" = (
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/engineering/lobby)
-"aZe" = (
+"aZb" = (
/obj/structure/window/reinforced/spawner/directional/west,
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
+/obj/machinery/atmospherics/components/trinary/filter/atmos/co2,
+/obj/effect/turf_decal/tile/dark/opposingcorners{
dir = 4
},
-/obj/effect/turf_decal/tile/red/fourcorners,
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/engineering/atmos)
+"aZf" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/item/radio/intercom/directional/south,
+/obj/structure/closet/emcloset/anchored,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"aZh" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/food/pie_smudge,
@@ -3210,6 +3277,23 @@
/obj/machinery/duct,
/turf/open/floor/wood,
/area/station/service/bar/atrium)
+"bak" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/security/glass{
+ name = "Engineering Security Post"
+ },
+/obj/effect/turf_decal/siding/red/corner{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/access/all/security/general,
+/obj/machinery/duct,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/security/checkpoint/engineering)
"bax" = (
/turf/closed/wall,
/area/station/commons/storage/primary)
@@ -3222,17 +3306,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"baC" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/camera/directional/north{
- c_tag = "Atmospherics Lockers";
- name = "atmospherics camera";
- network = list("ss13","engine")
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/structure/closet/secure_closet/atmospherics,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"baE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -3287,6 +3360,14 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/fore)
+"bby" = (
+/obj/effect/landmark/event_spawn,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
"bbA" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
@@ -3301,14 +3382,37 @@
"bbO" = (
/turf/closed/wall/r_wall,
/area/station/service/chapel/storage)
-"bcm" = (
-/obj/structure/girder,
+"bbQ" = (
+/obj/structure/sign/warning/directional/north,
+/turf/open/space/basic,
+/area/space/nearstation)
+"bbR" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/plating,
-/area/station/maintenance/port/lesser)
+/area/station/hallway/secondary/entry)
+"bbY" = (
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/iron/smooth_half{
+ dir = 4
+ },
+/area/station/engineering/atmos)
"bcs" = (
/obj/structure/sign/warning/explosives,
/turf/closed/wall/r_wall,
/area/station/science/ordnance/bomb)
+"bcP" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"bcY" = (
/obj/structure/table,
/obj/machinery/reagentgrinder,
@@ -3317,6 +3421,9 @@
/obj/effect/turf_decal/tile/yellow/half/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
+"bda" = (
+/turf/closed/wall/r_wall/rust,
+/area/station/maintenance/disposal/incinerator)
"bdk" = (
/obj/machinery/modular_computer/preset/curator{
dir = 8
@@ -3365,16 +3472,6 @@
},
/turf/open/floor/iron/dark,
/area/station/security/checkpoint/medical)
-"bdU" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"bdX" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -3429,72 +3526,40 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"bfh" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/command{
- name = "Chief Engineer's Office"
- },
-/obj/effect/turf_decal/siding/yellow/corner{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/ce,
-/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/command/heads_quarters/ce)
-"bfA" = (
-/obj/effect/turf_decal/stripes/line,
+"bfy" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
+"bfC" = (
+/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
-"bfQ" = (
-/obj/effect/turf_decal/tile/red/half/contrasted{
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 1
},
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/obj/structure/cable,
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/effect/turf_decal/box,
/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
-"bgj" = (
-/obj/structure/table,
-/obj/structure/extinguisher_cabinet/directional/east,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/item/clothing/glasses/hud/security/sunglasses/gars{
- pixel_x = 3;
- pixel_y = -2
- },
-/obj/item/clothing/glasses/hud/security/sunglasses/gars{
- pixel_x = 3;
- pixel_y = 2
+/area/station/security/processing)
+"bgd" = (
+/obj/machinery/light/directional/south,
+/obj/machinery/computer/turbine_computer{
+ dir = 1;
+ mapping_id = "main_turbine"
},
-/obj/item/clothing/glasses/hud/security/sunglasses{
- pixel_x = -3;
- pixel_y = 2
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{
+ dir = 9
},
-/obj/item/clothing/glasses/hud/security/sunglasses{
- pixel_x = -3;
- pixel_y = -2
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{
+ dir = 9
},
-/obj/machinery/light/small/red/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/security/armory)
+/obj/structure/cable,
+/obj/item/radio/intercom/directional/east,
+/obj/machinery/airalarm/directional/south,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/smooth_large,
+/area/station/maintenance/disposal/incinerator)
"bgl" = (
/turf/closed/wall/r_wall,
/area/station/command/heads_quarters/hop)
@@ -3585,6 +3650,29 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/storage)
+"bim" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/cargo/miningdock)
+"bip" = (
+/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/cable,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/commons/fitness/recreation)
"biq" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/iron/dark,
@@ -3611,8 +3699,8 @@
/area/station/security/execution/transfer)
"bjb" = (
/obj/effect/turf_decal/delivery,
-/obj/structure/closet/secure_closet/engineering_electrical,
/obj/structure/sign/warning/radiation/directional/east,
+/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/iron/dark,
/area/station/engineering/main)
"bjz" = (
@@ -3626,11 +3714,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"bjJ" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"bjN" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -3651,23 +3734,19 @@
/area/space/nearstation)
"bkn" = (
/obj/effect/turf_decal/delivery,
-/obj/structure/closet/secure_closet/engineering_welding,
+/obj/structure/rack,
+/obj/item/weldingtool/largetank,
+/obj/item/weldingtool/largetank,
+/obj/item/clothing/head/utility/welding,
+/obj/item/clothing/head/utility/welding,
/turf/open/floor/iron/dark,
/area/station/engineering/main)
-"bks" = (
-/obj/effect/turf_decal/loading_area{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
+"bkI" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/plasma_input{
dir = 4
},
-/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible,
-/obj/effect/turf_decal/tile/green/anticorner/contrasted,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/atmos/pumproom)
+/turf/open/floor/engine/plasma,
+/area/station/engineering/atmos)
"bkK" = (
/obj/machinery/rnd/server/master,
/turf/open/floor/circuit/green/telecomms/mainframe,
@@ -3699,15 +3778,17 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/robotics/lab)
-"blm" = (
-/obj/effect/landmark/blobstart,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
+"ble" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
-/turf/open/floor/iron/dark/telecomms,
-/area/station/science/server)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/hallway/primary/fore)
"bln" = (
/obj/structure/table/reinforced,
/obj/machinery/door/firedoor,
@@ -3728,13 +3809,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"blw" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"blx" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass{
@@ -3743,16 +3817,6 @@
/obj/effect/landmark/navigate_destination/dockarrival,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/entry)
-"bly" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/entry)
"blA" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -3773,10 +3837,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
-"blX" = (
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
-/turf/closed/wall,
-/area/station/engineering/atmos)
"blZ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -3817,6 +3877,22 @@
},
/turf/open/floor/iron,
/area/station/cargo/drone_bay)
+"bna" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/tile/red/half/contrasted,
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/caution/stand_clear,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/security/processing)
+"bnf" = (
+/obj/item/wrench,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"bnl" = (
/obj/machinery/disposal/bin/tagger,
/obj/effect/turf_decal/bot,
@@ -3840,6 +3916,12 @@
dir = 1
},
/area/station/service/chapel)
+"bnr" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"bnB" = (
/obj/structure/frame/computer,
/obj/effect/turf_decal/siding/thinplating/dark,
@@ -3847,14 +3929,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/service/chapel/storage)
-"bnS" = (
-/obj/machinery/teleport/station,
-/obj/machinery/status_display/evac/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/ai/satellite/foyer)
"bnT" = (
/obj/effect/turf_decal/stripes/end{
dir = 1
@@ -3862,6 +3936,7 @@
/obj/machinery/light/small/directional/north,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/structure/sign/warning/secure_area/directional/north,
/turf/open/floor/engine,
/area/station/engineering/gravity_generator)
"bnY" = (
@@ -3878,16 +3953,13 @@
/obj/structure/cable,
/turf/open/space/basic,
/area/space/nearstation)
-"boj" = (
-/obj/item/clothing/head/helmet/toggleable/justice/escape{
- name = "justice helmet"
- },
-/obj/structure/sign/poster/official/the_owl/directional/north,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/item/clothing/suit/costume/justice,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
+"bol" = (
+/obj/machinery/portable_atmospherics/canister,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/obj/effect/turf_decal/box,
+/obj/machinery/status_display/evac/directional/north,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"boo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible,
/obj/machinery/door/window/left/directional/north{
@@ -3914,13 +3986,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"boG" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"boO" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/brown/half/contrasted{
@@ -3932,6 +3997,15 @@
/obj/effect/turf_decal/loading_area,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
+"boW" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"bpg" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 8
@@ -3944,6 +4018,13 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark/corner,
/area/station/hallway/primary/central/fore)
+"bpk" = (
+/obj/machinery/light/warm/directional/west,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 6
+ },
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"bpn" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/mining/glass{
@@ -4028,6 +4109,12 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/science)
+"bqc" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/wood,
+/area/station/commons/vacant_room/commissary)
"bqd" = (
/obj/structure/chair/sofa/bench/left{
dir = 1
@@ -4095,29 +4182,6 @@
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
-"brE" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 5
- },
-/obj/machinery/meter,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
-"brG" = (
-/obj/structure/cable,
-/obj/machinery/power/terminal{
- dir = 8
- },
-/obj/machinery/light/directional/north,
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/maintenance/department/chapel/monastery)
"bsa" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
@@ -4215,6 +4279,11 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/engineering/storage_shared)
+"bsW" = (
+/obj/effect/landmark/start/medical_doctor,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
"bsZ" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -4286,29 +4355,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"btQ" = (
-/obj/effect/decal/cleanable/blood/oil,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
-/obj/machinery/light/small/broken/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/storage)
-"buf" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/spawner/xmastree,
-/obj/effect/landmark/event_spawn,
-/obj/machinery/light/floor,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
-"buk" = (
-/obj/machinery/camera/directional/north{
- c_tag = "Atmospherics Tank - O2";
- name = "atmospherics camera";
- network = list("ss13","engine")
- },
-/turf/open/floor/engine/o2,
-/area/station/engineering/atmos)
"bum" = (
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
dir = 4
@@ -4317,24 +4363,35 @@
/area/station/security/processing)
"buq" = (
/obj/effect/turf_decal/tile/blue/half/contrasted,
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/treatment_center)
-"buu" = (
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/atmos)
"buJ" = (
/obj/structure/bed/dogbed/runtime,
/mob/living/basic/pet/cat/runtime,
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/cmo)
+"buO" = (
+/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible,
+/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"bvA" = (
/obj/structure/chair/comfy/brown{
color = "#c45c57";
@@ -4390,21 +4447,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/brig)
-"bwF" = (
-/obj/machinery/newscaster/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/science/lobby)
-"bwN" = (
-/obj/effect/turf_decal/box/white,
-/obj/effect/turf_decal/arrows/white{
- color = "#0000FF";
- pixel_y = 15
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"bwW" = (
/obj/machinery/door/airlock/maintenance,
/obj/effect/mapping_helpers/airlock/unres/delayed{
@@ -4434,59 +4476,20 @@
/obj/effect/mapping_helpers/airalarm/tlv_no_checks,
/turf/open/floor/engine/telecomms,
/area/station/tcommsat/server)
-"bxE" = (
-/obj/machinery/portable_atmospherics/pump,
-/obj/effect/turf_decal/box,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{
- dir = 1
- },
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/hallway)
"bxG" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/poster/contraband/random/directional/south,
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"bya" = (
-/obj/item/kirbyplants/organic/plant2{
- pixel_y = 3
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/machinery/firealarm/directional/north,
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/security/processing)
"byb" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/cargo)
-"byd" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/vending/cigarette,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/hallway/primary/aft)
+"byi" = (
+/obj/effect/spawner/structure/window/reinforced/plasma,
+/turf/open/floor/plating/airless,
+/area/station/engineering/supermatter/room)
"bys" = (
/obj/effect/turf_decal/siding/blue{
dir = 5
@@ -4569,20 +4572,29 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron/dark,
/area/station/service/chapel/dock)
-"bAc" = (
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
- dir = 4
- },
+"bzK" = (
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
+"bzQ" = (
+/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
+/obj/machinery/camera/autoname/directional/east,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
},
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/wood,
+/area/station/commons/vacant_room/commissary)
"bAi" = (
/obj/structure/sign/departments/security,
/turf/closed/wall,
/area/station/maintenance/fore)
+"bAq" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/central)
"bAS" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm/directional/west,
@@ -4603,11 +4615,19 @@
/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
-"bBb" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
+"bBa" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Air to Mix"
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"bBe" = (
/obj/machinery/airalarm/directional/south,
/obj/effect/turf_decal/bot,
@@ -4615,6 +4635,21 @@
/obj/effect/mapping_helpers/airalarm/tlv_cold_room,
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/medical/coldroom)
+"bBn" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/blue{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/tile/blue/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/duct,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
"bBr" = (
/obj/machinery/door/airlock/engineering{
name = "Emergency Storage"
@@ -4627,16 +4662,6 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/aft)
-"bBE" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable,
-/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/iron,
-/area/station/engineering/atmos)
"bBF" = (
/turf/closed/wall/r_wall,
/area/station/science/robotics/lab)
@@ -4663,22 +4688,12 @@
/obj/item/seeds/watermelon,
/turf/open/floor/grass,
/area/station/security/prison/garden)
-"bCe" = (
-/obj/structure/table,
-/obj/item/hfr_box/core,
-/obj/item/hfr_box/corner,
-/obj/item/hfr_box/corner,
-/obj/item/hfr_box/corner,
-/obj/item/hfr_box/corner,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
+"bCa" = (
+/obj/structure/bookcase/random/fiction,
+/obj/item/radio/intercom/directional/north,
+/obj/machinery/light/warm/dim/directional/north,
+/turf/open/floor/wood,
+/area/station/service/library)
"bCz" = (
/obj/structure/table/reinforced,
/obj/machinery/door/firedoor,
@@ -4699,6 +4714,38 @@
},
/turf/open/floor/iron,
/area/station/cargo/sorting)
+"bCE" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 1
+ },
+/obj/machinery/firealarm/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/storage)
+"bCH" = (
+/obj/effect/turf_decal/siding/yellow{
+ dir = 9
+ },
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
+"bCL" = (
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/duct,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/pharmacy)
"bCO" = (
/obj/item/paper_bin{
pixel_x = -4;
@@ -4762,36 +4809,6 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/service/library)
-"bDP" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/portable_atmospherics/scrubber/huge,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
-"bDQ" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/fireaxecabinet/directional/north,
-/obj/machinery/camera/directional/north{
- c_tag = "Atmospherics Scrubbers";
- name = "atmospherics camera";
- network = list("ss13","engine")
- },
-/obj/effect/turf_decal/bot,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"bDV" = (
/obj/structure/sink/directional/south,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -4804,14 +4821,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/commons/toilet/restrooms)
-"bEa" = (
-/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible,
-/obj/structure/lattice/catwalk,
-/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible{
- dir = 4
- },
-/turf/open/space/basic,
-/area/space/nearstation)
"bEd" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 4;
@@ -4834,6 +4843,21 @@
},
/turf/open/floor/plating/rust,
/area/station/maintenance/department/crew_quarters/bar)
+"bEf" = (
+/obj/structure/urinal/directional/north,
+/obj/machinery/duct,
+/turf/open/floor/plating/rust,
+/area/station/security/prison/shower)
+"bEk" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Mix to Ports"
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"bFm" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -4847,15 +4871,6 @@
/obj/structure/cable,
/turf/closed/wall/rust,
/area/station/maintenance/department/electrical)
-"bFv" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage_shared)
"bFw" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -4867,49 +4882,46 @@
/obj/effect/turf_decal/tile/red/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/service/bar/atrium)
-"bFI" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/plating/airless,
-/area/space/nearstation)
-"bGa" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/conveyor{
- dir = 1;
- id = "QMLoad";
- name = "off ramp"
- },
-/obj/machinery/camera/directional/east{
- c_tag = "Cargo Ramps";
- name = "cargo camera";
- network = list("ss13","qm")
- },
+"bFA" = (
+/obj/structure/table,
+/obj/item/clipboard,
+/obj/item/flashlight/seclite,
+/obj/item/flashlight/seclite,
+/obj/item/flashlight/seclite,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/toy/figure/secofficer,
+/obj/structure/extinguisher_cabinet/directional/east,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 8
},
-/obj/machinery/light/directional/east,
/turf/open/floor/iron/dark,
-/area/station/cargo/storage)
-"bGj" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/power/terminal{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
+/area/station/security/lockers)
+"bFB" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
+"bFE" = (
+/obj/item/kirbyplants/organic/applebush,
+/obj/effect/turf_decal/stripes/corner{
dir = 8
},
+/obj/machinery/airalarm/directional/west,
+/obj/machinery/status_display/ai/directional/north,
/obj/effect/turf_decal/tile/red{
dir = 1
},
-/obj/item/radio/intercom/directional/west,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
/turf/open/floor/iron,
-/area/station/engineering/supermatter/room)
+/area/station/hallway/secondary/entry)
+"bFI" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"bGx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible,
/obj/effect/decal/cleanable/dirt,
@@ -4929,14 +4941,21 @@
/obj/structure/cable/layer3,
/turf/open/floor/engine,
/area/station/ai/satellite/chamber)
-"bGK" = (
-/obj/structure/table/reinforced/plastitaniumglass,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/cell_charger,
-/obj/item/stock_parts/power_store/cell,
-/obj/machinery/light/small/broken/directional/south,
+"bGN" = (
+/obj/machinery/light/warm/dim/directional/west,
/turf/open/floor/iron/dark,
-/area/station/service/chapel/storage)
+/area/station/service/chapel/funeral)
+"bHh" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Port Mix to East Ports"
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"bHj" = (
/obj/structure/table,
/obj/item/paper_bin/construction{
@@ -4981,6 +5000,16 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"bHD" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/disposal/bin/tagger,
+/obj/structure/extinguisher_cabinet/directional/west,
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/structure/disposalpipe/trunk,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
+/obj/machinery/light/warm/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"bHK" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -5004,13 +5033,6 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron,
/area/station/cargo/drone_bay)
-"bHT" = (
-/obj/effect/turf_decal/trimline/red/filled/line{
- dir = 4
- },
-/obj/machinery/computer/security/telescreen/entertainment/directional/east,
-/turf/open/floor/iron/white,
-/area/station/security/prison/mess)
"bId" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -5020,6 +5042,13 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"bIi" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/structure/noticeboard/directional/east,
+/turf/open/floor/wood,
+/area/station/commons/vacant_room/commissary)
"bIm" = (
/obj/structure/table,
/obj/item/transfer_valve{
@@ -5049,30 +5078,18 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/security/execution/transfer)
-"bIx" = (
-/obj/effect/landmark/event_spawn,
-/obj/machinery/holopad,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron/showroomfloor,
-/area/station/security/execution/transfer)
+"bIE" = (
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
+ },
+/obj/effect/spawner/structure/window/reinforced/plasma,
+/turf/open/floor/plating,
+/area/station/engineering/supermatter/room)
"bIR" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"bJi" = (
-/obj/machinery/door/airlock/external{
- name = "Engineering External Airlock"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/iron/dark,
-/area/station/engineering/supermatter/room)
"bJm" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -5082,6 +5099,17 @@
},
/turf/open/floor/iron,
/area/station/security/brig)
+"bJo" = (
+/obj/structure/bed,
+/obj/item/bedsheet/medical,
+/obj/effect/decal/cleanable/blood/old,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/machinery/camera/autoname/directional/west,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/virology)
"bJv" = (
/turf/open/floor/engine{
name = "Holodeck Projector Floor"
@@ -5114,6 +5142,44 @@
/obj/effect/spawner/structure/window/bronze,
/turf/open/floor/plating,
/area/station/maintenance/department/chapel)
+"bJX" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"bJY" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
+/turf/open/space/basic,
+/area/space/nearstation)
+"bKa" = (
+/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/siding/purple{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/lobby)
"bKc" = (
/turf/closed/wall,
/area/station/maintenance/department/medical/central)
@@ -5126,19 +5192,31 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/medical/virology)
-"bKH" = (
-/obj/structure/table,
-/obj/item/storage/toolbox/electrical{
- pixel_x = -4;
- pixel_y = 4
+"bKR" = (
+/obj/machinery/status_display/ai/directional/south,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
},
-/obj/item/storage/toolbox/electrical,
-/obj/machinery/firealarm/directional/west,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
+ dir = 1
},
+/obj/structure/frame/computer{
+ anchored = 1;
+ dir = 1
+ },
+/obj/machinery/light/small/directional/south,
/turf/open/floor/iron/dark,
-/area/station/commons/storage/primary)
+/area/station/cargo/drone_bay)
+"bKS" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Mix Outlet Pump"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/green/fourcorners,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"bKU" = (
/obj/effect/turf_decal/bot,
/obj/machinery/airalarm/directional/north,
@@ -5154,14 +5232,17 @@
/obj/effect/turf_decal/tile/purple/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/science/robotics/lab)
-"bLu" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Security Maintenance"
+"bLo" = (
+/obj/structure/table,
+/obj/item/aicard,
+/obj/item/assembly/flash/handheld,
+/obj/item/assembly/flash/handheld,
+/obj/machinery/airalarm/directional/east,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
},
-/obj/effect/mapping_helpers/airlock/access/all/security/general,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
-/area/station/maintenance/aft)
+/area/station/engineering/storage/tech)
"bLF" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/disposalpipe/segment{
@@ -5200,18 +5281,6 @@
/obj/item/toy/basketball,
/turf/open/floor/iron,
/area/station/security/prison)
-"bMD" = (
-/obj/machinery/atmospherics/components/binary/tank_compressor{
- dir = 8
- },
-/obj/effect/turf_decal/delivery,
-/obj/structure/sign/poster/random/directional/north,
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/cold/directional/north,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/ordnance)
"bMH" = (
/obj/structure/extinguisher_cabinet/directional/south,
/obj/effect/turf_decal/delivery,
@@ -5236,11 +5305,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"bNg" = (
-/obj/structure/flora/bush/flowers_br/style_random,
-/obj/effect/turf_decal/siding/thinplating/dark,
-/turf/open/floor/grass,
-/area/station/service/chapel)
"bNl" = (
/obj/docking_port/stationary/escape_pod{
dir = 4
@@ -5267,32 +5331,13 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security/prison/safe)
-"bOm" = (
-/obj/item/storage/fancy/cigarettes/cigars{
- pixel_x = 2;
- pixel_y = 6
- },
-/obj/item/storage/fancy/cigarettes/cigars/havana{
- pixel_x = 2;
- pixel_y = 8
- },
-/obj/item/storage/fancy/cigarettes/cigars/cohiba{
- pixel_x = 2;
- pixel_y = 10
- },
-/obj/item/holosign_creator/robot_seat/bar,
-/obj/machinery/status_display/evac/directional/west,
-/obj/structure/table,
-/obj/machinery/camera/directional/west{
- c_tag = "Bar";
- name = "bar camera"
- },
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 4
+"bOw" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
},
-/obj/machinery/light/warm/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/service/bar)
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"bOD" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -5301,6 +5346,14 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard)
+"bOO" = (
+/obj/machinery/door/poddoor/shutters{
+ id = "secmechbay";
+ name = "Security Mech Bay Shutters";
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/station/security/mechbay)
"bOR" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/preopen{
@@ -5310,6 +5363,24 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/science/xenobiology)
+"bPr" = (
+/obj/item/storage/toolbox/mechanical,
+/obj/item/crowbar,
+/obj/item/flashlight,
+/obj/item/flashlight,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/structure/rack,
+/obj/effect/turf_decal/bot,
+/obj/item/radio/intercom/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/storage)
+"bPD" = (
+/obj/effect/turf_decal/bot/left,
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"bPH" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -5336,6 +5407,11 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/misc/asteroid/airless,
/area/station/hallway/secondary/entry)
+"bPT" = (
+/obj/structure/lattice,
+/obj/structure/transit_tube/crossing/horizontal,
+/turf/open/space/basic,
+/area/space/nearstation)
"bPX" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/misc/asteroid/airless,
@@ -5403,6 +5479,18 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
+"bRk" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/light/small/directional/south,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"bRo" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -5452,16 +5540,6 @@
/obj/machinery/chem_dispenser,
/turf/open/floor/iron/dark,
/area/station/medical/chemistry)
-"bSg" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
-/obj/machinery/door/airlock/atmos/glass{
- name = "Distribution Loop"
- },
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/pumproom)
"bSi" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
@@ -5501,23 +5579,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"bST" = (
-/obj/machinery/ai_slipper{
- uses = 10
- },
-/obj/effect/turf_decal/box,
-/obj/machinery/flasher/directional/north{
- id = "AI";
- name = "Meatbag Pacifier";
- pixel_x = 26
- },
-/obj/machinery/camera/directional/south{
- c_tag = "AI Chamber Core";
- name = "core camera";
- network = list("aicore")
- },
-/turf/open/floor/engine,
-/area/station/ai/satellite/chamber)
"bSX" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -5528,31 +5589,13 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"bTC" = (
-/obj/machinery/airalarm/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/green/half/contrasted,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/virology)
-"bTF" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/machinery/computer/operating{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/vitals_reader/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/medical/surgery/theatre)
+"bTO" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/engineering/atmos/pumproom)
"bUd" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -5588,6 +5631,21 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/execution/education)
+"bUo" = (
+/obj/machinery/firealarm/directional/north,
+/obj/machinery/camera/directional/north{
+ c_tag = "Arrivals Dock";
+ name = "shuttle camera"
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/structure/closet/firecloset,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"bUp" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -5678,6 +5736,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/courtroom)
+"bVl" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblue,
+/area/station/service/chapel/office)
"bVp" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -5698,25 +5763,18 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"bWx" = (
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 4;
- name = "Air to Mix"
+"bWu" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
},
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/blue/opposingcorners{
+/obj/structure/cable,
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
dir = 1
},
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/atmos)
-"bWE" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/closed/wall/r_wall,
-/area/station/engineering/supermatter/room)
+/turf/open/floor/plating,
+/area/station/maintenance/disposal)
"bWZ" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -5792,6 +5850,16 @@
/obj/effect/turf_decal/caution/stand_clear,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
+"bXx" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"bXz" = (
/turf/closed/wall,
/area/station/service/kitchen/coldroom)
@@ -5813,6 +5881,15 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/lobby)
+"bXB" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/disposal/bin/tagger,
+/obj/item/radio/intercom/directional/east,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/hos)
"bXX" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -5827,20 +5904,12 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/plating/airless,
/area/station/hallway/secondary/entry)
-"bYg" = (
-/obj/machinery/firealarm/directional/west,
-/obj/machinery/computer/atmos_control/ordnancemix{
- dir = 4
+"bYh" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
},
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/ordnance)
-"bYT" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/machinery/power/shieldwallgen,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/command/teleporter)
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"bZg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -5880,16 +5949,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel/funeral)
-"bZS" = (
-/obj/structure/rack,
-/obj/effect/spawner/random/techstorage/rnd_secure_all,
-/obj/machinery/status_display/shuttle{
- pixel_y = -32
- },
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/station/engineering/storage/tech)
"bZY" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/structure/crate,
@@ -6026,60 +6085,42 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/ai/satellite/interior)
-"ccw" = (
-/obj/structure/closet/secure_closet/security/engine,
-/obj/effect/turf_decal/delivery,
-/obj/structure/reagent_dispensers/wall/peppertank/directional/south,
-/obj/item/crowbar,
-/obj/item/book/manual/wiki/security_space_law,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/security/checkpoint/engineering)
"ccz" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/old,
/obj/structure/grille/broken,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"ccQ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible,
-/obj/machinery/meter,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
+"ccP" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
},
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
},
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/command/bridge)
"ccR" = (
-/obj/structure/sign/warning/engine_safety/directional/north,
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 1
},
/obj/effect/turf_decal/tile/red{
dir = 1
},
+/obj/structure/table,
+/obj/item/storage/box{
+ pixel_y = 3;
+ pixel_x = -3
+ },
+/obj/item/stack/package_wrap,
+/obj/item/hand_labeler,
+/obj/machinery/incident_display/delam/directional/north,
/turf/open/floor/iron,
/area/station/engineering/main)
-"ccS" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/light/small/directional/south,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/station/maintenance/solars/starboard/fore)
"ccW" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -6190,6 +6231,13 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
+"cdP" = (
+/obj/machinery/door/airlock/maintenance,
+/obj/structure/disposalpipe/segment,
+/obj/effect/mapping_helpers/airlock/unres/delayed,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/aft)
"cdV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/circuit/green{
@@ -6213,15 +6261,6 @@
"cdZ" = (
/turf/closed/wall/rust,
/area/station/ai/satellite/chamber)
-"cec" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 1;
- name = "East Ports to West Ports"
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"cee" = (
/obj/structure/sign/poster/contraband/revolver,
/turf/closed/wall,
@@ -6258,6 +6297,12 @@
/obj/effect/turf_decal/tile/blue/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/lobby)
+"cem" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"ceq" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -6266,6 +6311,14 @@
},
/turf/open/floor/plating,
/area/station/ai/satellite/chamber)
+"ceu" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"cev" = (
/obj/structure/transit_tube/diagonal/topleft,
/obj/structure/lattice,
@@ -6302,15 +6355,6 @@
"ceG" = (
/turf/closed/wall/r_wall/rust,
/area/station/ai/satellite/atmos)
-"ceO" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/entry)
"ceT" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 1
@@ -6319,29 +6363,14 @@
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance/storage)
"ceW" = (
-/obj/effect/turf_decal/delivery,
/obj/effect/turf_decal/stripes/corner,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 1
},
/obj/machinery/recharge_station,
+/obj/effect/turf_decal/bot_red,
/turf/open/floor/iron/dark,
/area/station/engineering/storage_shared)
-"ceY" = (
-/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/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science)
"cfm" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/girder/displaced,
@@ -6398,6 +6427,13 @@
},
/turf/open/floor/iron,
/area/station/command/heads_quarters/hop)
+"cgg" = (
+/obj/machinery/biogenerator,
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/security/prison/garden)
"cgj" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/duct,
@@ -6414,15 +6450,6 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/ai/satellite/interior)
-"cgr" = (
-/obj/effect/turf_decal/trimline/green/filled/line{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/airalarm/directional/north,
-/obj/machinery/light/warm/directional/north,
-/turf/open/floor/iron,
-/area/station/security/prison/garden)
"cgH" = (
/obj/item/storage/medkit/regular{
pixel_x = 3;
@@ -6455,6 +6482,14 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/ai/satellite/interior)
+"cgO" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"cgT" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -6587,26 +6622,28 @@
},
/turf/open/floor/engine,
/area/station/ai/satellite/foyer)
+"cik" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/computer/mechpad{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/button/door/directional/south{
+ id = "Skynet_launch";
+ name = "Mech Bay Door Control"
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/science/robotics/mechbay)
"cio" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/engine,
/area/station/ai/satellite/foyer)
-"cir" = (
-/obj/structure/cable,
-/obj/machinery/wall_healer/directional/north,
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"cit" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -6757,16 +6794,6 @@
},
/turf/open/floor/plating/airless,
/area/space/nearstation)
-"ckg" = (
-/obj/machinery/door/airlock/external{
- name = "Atmospherics External Airlock"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "atmos_end_big_lad"
- },
-/turf/open/floor/plating/airless,
-/area/station/maintenance/disposal/incinerator)
"ckm" = (
/mob/living/carbon/human/species/monkey,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -6792,10 +6819,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/science/auxlab)
-"ckr" = (
-/obj/structure/grille/broken,
-/turf/open/floor/plating/airless,
-/area/space/nearstation)
"ckA" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/dirt,
@@ -6812,6 +6835,13 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"ckU" = (
+/obj/machinery/portable_atmospherics/canister,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/obj/effect/turf_decal/box,
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"cld" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -6836,55 +6866,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/ai/satellite/foyer)
-"clo" = (
-/obj/structure/extinguisher_cabinet/directional/south,
-/obj/structure/table,
-/obj/item/stock_parts/micro_laser{
- pixel_x = -7;
- pixel_y = -3
- },
-/obj/item/stock_parts/micro_laser{
- pixel_x = -1;
- pixel_y = 3
- },
-/obj/item/stock_parts/micro_laser{
- pixel_x = -5;
- pixel_y = 4
- },
-/obj/item/stock_parts/micro_laser{
- pixel_x = -3;
- pixel_y = -2
- },
-/obj/item/stock_parts/scanning_module{
- pixel_x = 12;
- pixel_y = -1
- },
-/obj/item/stock_parts/scanning_module{
- pixel_x = 10;
- pixel_y = 1
- },
-/obj/item/stock_parts/scanning_module{
- pixel_x = 13;
- pixel_y = 4
- },
-/obj/item/stock_parts/scanning_module{
- pixel_x = 8;
- pixel_y = -1
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/cargo/drone_bay)
-"clt" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
"clw" = (
/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
dir = 9
@@ -6904,33 +6885,6 @@
},
/turf/open/floor/plating/airless,
/area/space/nearstation)
-"clL" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/meter,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
-"clM" = (
-/obj/item/kirbyplants/organic/plant5,
-/obj/structure/noticeboard/directional/east,
-/obj/item/paper/monitorkey,
-/obj/machinery/camera/directional/east{
- c_tag = "Chief Engineer's Office";
- name = "engineering camera";
- network = list("ss13","engine")
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/ce)
"clN" = (
/obj/structure/chair/office{
dir = 1
@@ -6973,15 +6927,6 @@
},
/turf/open/floor/plating/airless,
/area/space/nearstation)
-"clY" = (
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 5
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/turf/open/floor/plating/airless,
-/area/space/nearstation)
"cml" = (
/turf/closed/wall/rust,
/area/station/service/library)
@@ -6998,19 +6943,37 @@
},
/turf/open/floor/iron/dark,
/area/station/service/bar/atrium)
+"cmM" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 4;
+ name = "O2 to Airmix"
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"cmQ" = (
/turf/open/floor/cult,
/area/station/service/chapel/office)
-"cmR" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"cmU" = (
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating/airless,
/area/space/nearstation)
+"cmZ" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/button/door/directional/south{
+ id = "engsm";
+ name = "Radiation Shutters Toggle";
+ req_access = list("engineering");
+ pixel_y = -26
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"cnc" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/purple/half/contrasted,
@@ -7046,6 +7009,15 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
+"cnu" = (
+/obj/structure/grille,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/sign/warning/directional/west,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"cnM" = (
/obj/structure/flora/bush/lavendergrass/style_random,
/obj/effect/turf_decal/sand/plating,
@@ -7074,9 +7046,13 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating,
/area/space/nearstation)
-"cok" = (
-/turf/closed/wall/r_wall,
-/area/space/nearstation)
+"con" = (
+/obj/machinery/rnd/production/techfab/department/medical,
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/stripes/box,
+/obj/machinery/light/cold/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/medical/storage)
"cop" = (
/obj/structure/railing{
dir = 8
@@ -7100,10 +7076,6 @@
},
/turf/open/floor/plating/airless,
/area/station/hallway/secondary/entry)
-"cow" = (
-/obj/structure/grille,
-/turf/closed/wall/r_wall,
-/area/space/nearstation)
"cox" = (
/mob/living/basic/sloth/citrus,
/obj/effect/turf_decal/tile/brown/half/contrasted{
@@ -7128,6 +7100,18 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"coS" = (
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 9
+ },
+/obj/structure/sign/warning/gas_mask/directional/south,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/item/kirbyplants/organic/plant3,
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"cpC" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -7140,18 +7124,6 @@
/obj/machinery/status_display/evac/directional/south,
/turf/open/floor/plating,
/area/station/maintenance/solars/port/aft)
-"cpW" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/effect/mapping_helpers/apc/cell_10k,
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter/room)
-"cpY" = (
-/obj/item/pickaxe,
-/turf/open/floor/plating/airless,
-/area/space/nearstation)
"cpZ" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -7163,6 +7135,15 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"cqh" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Pure to Incinerator"
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"cqm" = (
/obj/structure/table,
/obj/item/clipboard,
@@ -7190,23 +7171,6 @@
"cqr" = (
/turf/closed/wall/r_wall/rust,
/area/station/science/ordnance/storage)
-"cqA" = (
-/obj/machinery/atmospherics/components/tank/plasma{
- dir = 4
- },
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
-"cqD" = (
-/obj/effect/turf_decal/trimline/green/filled/line{
- dir = 4
- },
-/obj/machinery/duct,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/security/prison/garden)
"cqE" = (
/obj/structure/flora/bush/fullgrass/style_random,
/turf/open/floor/grass,
@@ -7242,6 +7206,13 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security/prison/garden)
+"cqR" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/pumproom)
"cqT" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/dirt,
@@ -7256,15 +7227,6 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
-"cre" = (
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"crh" = (
/obj/structure/cable,
/obj/machinery/holopad/secure,
@@ -7279,11 +7241,6 @@
"cry" = (
/turf/open/space/basic,
/area/space/nearstation)
-"crz" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"crG" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/lattice/catwalk,
@@ -7330,15 +7287,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"csk" = (
-/obj/effect/decal/cleanable/blood/old,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"cso" = (
/obj/structure/table,
/obj/item/kitchen/fork/plastic,
@@ -7381,6 +7329,15 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/ce)
+"ctp" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/portables_connector/layer4,
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/effect/turf_decal/box,
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/aft)
"ctt" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -7432,18 +7389,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/armory)
-"cuB" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/camera/directional/north{
- c_tag = "Head of Security's Office"
- },
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/machinery/photocopier,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/light/warm/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/hos)
"cuD" = (
/obj/structure/sign/departments/security/directional/south,
/obj/structure/flora/grass/jungle/b/style_random,
@@ -7486,6 +7431,18 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"cva" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "CO2 to Pure"
+ },
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 4
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"cvi" = (
/obj/effect/turf_decal/siding/thinplating/light{
dir = 1
@@ -7565,23 +7522,6 @@
/obj/structure/girder,
/turf/open/floor/plating,
/area/station/maintenance/department/security)
-"cxa" = (
-/obj/machinery/computer/records/security{
- dir = 1
- },
-/obj/effect/turf_decal/bot,
-/obj/machinery/airalarm/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/security/checkpoint/medical)
-"cxB" = (
-/obj/machinery/computer/station_alert,
-/obj/effect/turf_decal/bot,
-/obj/machinery/newscaster/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/ce)
"cxO" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -7619,6 +7559,19 @@
/obj/structure/displaycase/trophy,
/turf/open/floor/wood,
/area/station/service/library)
+"cyJ" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/purple{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple,
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/lobby)
"cyP" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -7639,6 +7592,18 @@
/obj/item/seeds/ambrosia,
/turf/open/floor/grass,
/area/station/security/prison/garden)
+"czf" = (
+/obj/machinery/door/airlock/external{
+ name = "Prison External Airlock"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/port/lesser)
"czj" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/command{
@@ -7647,6 +7612,14 @@
/obj/effect/mapping_helpers/airlock/access/all/command/eva,
/turf/open/floor/iron/dark,
/area/station/command/eva)
+"czu" = (
+/obj/structure/grille/broken,
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"czv" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -7692,19 +7665,11 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"czR" = (
-/obj/machinery/firealarm/directional/south,
-/obj/effect/turf_decal/tile/blue{
+"czO" = (
+/turf/open/floor/iron/smooth_half{
dir = 8
},
-/obj/structure/table/glass,
-/obj/machinery/microwave{
- pixel_y = 5
- },
-/obj/effect/turf_decal/tile/blue/anticorner/contrasted,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/break_room)
+/area/station/engineering/atmos)
"czT" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -7722,31 +7687,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"cAk" = (
-/obj/structure/table,
-/obj/item/stack/sheet/plasteel/fifty{
- amount = 10;
- pixel_x = 4;
- pixel_y = 4
- },
-/obj/item/stack/sheet/rglass{
- amount = 50
- },
-/obj/item/stack/sheet/rglass{
- amount = 50
- },
-/obj/item/clothing/shoes/magboots{
- pixel_x = 4;
- pixel_y = 4
- },
-/obj/item/clothing/shoes/magboots,
-/obj/machinery/airalarm/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/light/cold/dim/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/command/eva)
"cAl" = (
/obj/effect/landmark/start/scientist,
/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
@@ -7791,6 +7731,32 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"cBk" = (
+/obj/machinery/flasher/directional/west{
+ id = "AI";
+ name = "Meatbag Pacifier"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/end{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
+"cBo" = (
+/obj/effect/turf_decal/siding/yellow{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
"cBD" = (
/obj/structure/flora/grass/jungle/a/style_random,
/obj/effect/turf_decal/sand/plating,
@@ -7826,23 +7792,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/command/bridge)
-"cCe" = (
-/obj/structure/sign/warning/fire,
-/obj/structure/grille,
-/turf/closed/wall/r_wall,
-/area/station/engineering/atmos)
-"cCJ" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 8;
- name = "Port Mix to East Ports"
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"cCS" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -7850,6 +7799,7 @@
/obj/structure/disposalpipe/segment{
dir = 10
},
+/obj/machinery/holopad,
/turf/open/floor/carpet/red,
/area/station/service/chapel)
"cDf" = (
@@ -7903,18 +7853,22 @@
"cEr" = (
/turf/closed/wall,
/area/station/command/bridge)
-"cEu" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"cES" = (
/obj/structure/bookcase/random/fiction,
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/fore)
+"cFk" = (
+/obj/machinery/newscaster/directional/south,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/structure/table/wood/fancy/red,
+/obj/structure/sign/painting/large/library{
+ dir = 8;
+ pixel_x = -29
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/station/service/library)
"cFq" = (
/obj/machinery/door/airlock/maintenance,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -7941,18 +7895,15 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/command/heads_quarters/hos)
-"cGd" = (
-/obj/structure/table,
-/obj/item/storage/box/bodybags{
- pixel_y = 5
- },
-/obj/item/pen,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
+"cGf" = (
+/obj/machinery/light/small/directional/south,
+/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
dir = 8
},
-/obj/machinery/light/cold/directional/south,
+/obj/effect/turf_decal/bot,
+/obj/structure/sign/warning/vacuum/external/directional/south,
/turf/open/floor/iron/dark,
-/area/station/medical/medbay/lobby)
+/area/station/hallway/secondary/exit/departure_lounge)
"cGl" = (
/obj/machinery/disposal/bin/tagger,
/obj/effect/turf_decal/bot,
@@ -7966,8 +7917,9 @@
"cGm" = (
/obj/effect/turf_decal/bot,
/obj/structure/closet,
-/obj/structure/grille/broken,
/obj/item/analyzer,
+/obj/effect/spawner/random/maintenance,
+/obj/item/t_scanner,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
"cGr" = (
@@ -8011,6 +7963,30 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"cGZ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/brown/visible,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"cHd" = (
+/obj/item/kirbyplants/random,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
+"cHe" = (
+/obj/structure/chair/stool/directional/west,
+/obj/effect/landmark/start/atmospheric_technician,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"cHg" = (
/obj/structure/chair/pew{
dir = 8
@@ -8026,14 +8002,6 @@
/obj/structure/lattice/catwalk,
/turf/open/floor/plating/airless,
/area/space/nearstation)
-"cHv" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted,
-/obj/effect/turf_decal/tile/yellow,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"cHz" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -8136,6 +8104,12 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/office)
+"cIr" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/red,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"cIC" = (
/obj/structure/cable,
/obj/machinery/duct,
@@ -8146,6 +8120,17 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plastic,
/area/station/hallway/secondary/service)
+"cIS" = (
+/obj/effect/turf_decal/tile/blue/anticorner/contrasted,
+/obj/structure/closet/secure_closet/paramedic,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/machinery/camera/autoname/directional/east,
+/obj/machinery/airalarm/directional/east,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/paramedic)
"cIU" = (
/turf/closed/wall/rust,
/area/station/construction/mining/aux_base)
@@ -8194,6 +8179,7 @@
},
/obj/machinery/light/small/directional/north,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/structure/sign/warning/secure_area/directional/north,
/turf/open/floor/engine,
/area/station/engineering/gravity_generator)
"cJh" = (
@@ -8235,11 +8221,34 @@
/obj/structure/grille/broken,
/turf/open/floor/plating/airless,
/area/space/nearstation)
+"cJZ" = (
+/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/turf_decal/stripes/corner,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/landmark/firealarm_sanity,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/port/greater)
"cKd" = (
/obj/effect/turf_decal/box/corners,
/obj/structure/sign/warning/electric_shock/directional/south,
/turf/open/floor/engine,
/area/station/science/xenobiology)
+"cKr" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"cKz" = (
/obj/structure/sign/departments/cargo,
/turf/closed/wall,
@@ -8253,6 +8262,15 @@
},
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
+"cKW" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/airalarm/directional/north,
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/hallway/primary/fore)
"cKY" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 8
@@ -8271,21 +8289,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"cLu" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 5
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"cLx" = (
/obj/structure/chair/office/light,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
@@ -8350,6 +8353,17 @@
/obj/effect/turf_decal/tile/purple/anticorner/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance)
+"cME" = (
+/obj/structure/window/reinforced/plasma/spawner/directional/east,
+/obj/structure/cable,
+/obj/machinery/power/energy_accumulator/tesla_coil/anchored,
+/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{
+ dir = 8
+ },
+/turf/open/floor/circuit/green{
+ luminosity = 2
+ },
+/area/station/engineering/supermatter/engine)
"cMT" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -8361,6 +8375,21 @@
/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/central)
+"cNJ" = (
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "packagereturn";
+ name = "crate return belt"
+ },
+/obj/effect/turf_decal/bot,
+/obj/machinery/camera/directional/south{
+ c_tag = "Delivery Office";
+ name = "cargo camera";
+ network = list("ss13","qm")
+ },
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/cargo/sorting)
"cNZ" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/turf_decal/sand/plating,
@@ -8414,17 +8443,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/medical/virology)
-"cPp" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold/green/visible,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
-"cPw" = (
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"cPM" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -8442,6 +8460,14 @@
/obj/machinery/camera/directional/west,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/fore)
+"cPW" = (
+/obj/effect/turf_decal/box/corners{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"cPZ" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -8468,22 +8494,33 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"cQt" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter/room)
+"cQg" = (
+/obj/structure/bed,
+/obj/machinery/iv_drip,
+/obj/item/bedsheet/medical,
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/security/medical)
+"cQq" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/disposal/bin/tagger,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/commons/locker)
"cQJ" = (
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"cQN" = (
-/obj/effect/spawner/structure/window/hollow/reinforced/middle,
-/obj/structure/transit_tube,
-/turf/open/floor/plating,
-/area/space/nearstation)
"cQR" = (
/turf/closed/wall,
/area/station/maintenance/department/cargo)
@@ -8495,6 +8532,16 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/central/fore)
+"cRb" = (
+/obj/structure/table,
+/obj/machinery/status_display/ai/directional/west,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/light/cold/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/ai/satellite/foyer)
"cRq" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral{
@@ -8512,15 +8559,6 @@
"cRv" = (
/turf/closed/wall,
/area/station/service/chapel/monastery)
-"cRM" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"cRO" = (
/obj/item/toy/figure/qm{
pixel_x = -17
@@ -8539,21 +8577,6 @@
},
/turf/open/floor/carpet/orange,
/area/station/command/heads_quarters/qm)
-"cRQ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/duct,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
-"cRV" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/blood/splatter/oil,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/storage)
"cRW" = (
/obj/machinery/door/poddoor/shutters/preopen{
dir = 4;
@@ -8563,19 +8586,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/medical/pharmacy)
-"cSj" = (
-/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/turf_decal/stripes/corner,
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/landmark/firealarm_sanity,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/port/greater)
"cSl" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/firealarm/directional/north,
@@ -8603,19 +8613,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
-"cSU" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/components/binary/pump{
- name = "Pure to Fuel Pipe"
- },
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"cSX" = (
/obj/machinery/computer/records/security{
dir = 8
@@ -8624,26 +8621,6 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/security/warden)
-"cSZ" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/effect/turf_decal/siding/yellow{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"cTh" = (
/obj/machinery/porta_turret/ai{
dir = 1
@@ -8726,20 +8703,11 @@
/obj/effect/spawner/random/trash/cigbutt,
/turf/open/floor/iron,
/area/station/security/prison)
-"cUA" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
+"cUC" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/carbon_output{
dir = 4
},
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
+/turf/open/floor/engine/co2,
/area/station/engineering/atmos)
"cUD" = (
/obj/machinery/door/airlock/maintenance,
@@ -8752,13 +8720,15 @@
/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/lesser)
-"cUM" = (
-/obj/machinery/meter,
-/obj/machinery/atmospherics/pipe/smart/manifold/violet/visible{
+"cUL" = (
+/obj/effect/turf_decal/stripes/line{
dir = 8
},
/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/duct,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Pure to Crystallizer"
+ },
/turf/open/floor/iron,
/area/station/engineering/atmos)
"cUR" = (
@@ -8769,13 +8739,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/engine,
/area/station/ai/satellite/foyer)
-"cVb" = (
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
- dir = 4
- },
-/obj/structure/lattice/catwalk,
-/turf/open/space/basic,
-/area/space/nearstation)
"cVg" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/stripes/line{
@@ -8805,20 +8768,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"cWb" = (
-/obj/structure/table,
-/obj/item/radio{
- pixel_x = -4;
- pixel_y = 6
- },
-/obj/item/radio{
- pixel_x = 4;
- pixel_y = 6
- },
-/obj/item/stack/package_wrap,
-/obj/item/hand_labeler,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"cWi" = (
/obj/structure/plasticflaps,
/obj/machinery/conveyor{
@@ -8834,20 +8783,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron/dark/corner,
/area/station/hallway/primary/central/fore)
-"cWp" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/gulag_item_reclaimer{
- dir = 8;
- pixel_x = 30
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red/anticorner/contrasted,
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/security/processing)
"cWu" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -8876,16 +8811,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/hydroponics/garden)
-"cWN" = (
-/obj/machinery/door/airlock/external{
- name = "Atmospherics External Airlock"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"cWQ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -8956,20 +8881,6 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
-"cXz" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/closet/secure_closet/personal,
-/obj/item/storage/backpack,
-/obj/item/storage/backpack/satchel,
-/obj/item/clothing/suit/hooded/wintercoat,
-/obj/item/clothing/shoes/winterboots,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/commons/locker)
"cXH" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -9012,10 +8923,12 @@
"cXZ" = (
/turf/closed/wall,
/area/station/hallway/primary/fore)
-"cYc" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/turf/closed/wall/r_wall,
-/area/station/engineering/supermatter/engine)
+"cYe" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
+/obj/effect/spawner/structure/window/reinforced/plasma,
+/turf/open/floor/plating,
+/area/station/engineering/supermatter/room)
"cYk" = (
/obj/structure/rack,
/obj/item/storage/toolbox/mechanical,
@@ -9074,16 +8987,14 @@
},
/turf/open/floor/iron/dark,
/area/station/science/genetics)
-"cYK" = (
-/obj/machinery/flasher/portable,
+"cYB" = (
+/obj/structure/table/reinforced/plastitaniumglass,
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/firealarm/directional/north,
-/obj/effect/turf_decal/box,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
- },
+/obj/machinery/cell_charger,
+/obj/item/stock_parts/power_store/cell,
+/obj/machinery/light/small/broken/directional/south,
/turf/open/floor/iron/dark,
-/area/station/security/armory)
+/area/station/service/chapel/storage)
"cYN" = (
/obj/structure/chair{
dir = 8
@@ -9100,6 +9011,16 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/crew_quarters/bar)
+"cZf" = (
+/obj/machinery/portable_atmospherics/scrubber,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/obj/effect/turf_decal/box,
+/obj/effect/turf_decal/tile/red/opposingcorners{
+ dir = 1
+ },
+/obj/structure/sign/poster/official/wtf_is_co2/directional/north,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"cZh" = (
/obj/machinery/door/airlock/maintenance,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -9114,6 +9035,22 @@
/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/lesser)
+"cZk" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/red{
+ dir = 9
+ },
+/obj/effect/landmark/start/depsec/supply,
+/obj/effect/turf_decal/tile/red/anticorner/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/security/checkpoint/supply)
"cZo" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -9122,16 +9059,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/miningdock)
-"cZN" = (
-/obj/effect/turf_decal/siding/red{
- dir = 9
- },
-/obj/effect/turf_decal/tile/red/anticorner/contrasted{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
"cZT" = (
/obj/effect/turf_decal/bot,
/obj/machinery/light/small/directional/south,
@@ -9162,16 +9089,33 @@
/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard)
-"daL" = (
-/obj/effect/turf_decal/stripes/line{
+"daM" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/railing{
dir = 1
},
-/obj/machinery/atmospherics/pipe/smart/manifold/violet/visible{
- dir = 1
+/obj/item/analyzer{
+ pixel_x = 4;
+ pixel_y = 4
},
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
+/obj/item/analyzer,
+/obj/structure/rack,
+/obj/item/wrench,
+/obj/item/wrench,
+/turf/open/floor/iron/smooth_large,
/area/station/engineering/atmos)
+"dbe" = (
+/obj/structure/table,
+/obj/item/stack/sheet/iron/fifty,
+/obj/item/stack/sheet/glass/fifty,
+/obj/machinery/airalarm/directional/east,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/light/cold/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/ai/satellite/maintenance/storage)
"dbp" = (
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/dirt,
@@ -9197,6 +9141,10 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/dark,
/area/station/medical/morgue)
+"dbP" = (
+/obj/effect/spawner/structure/window/reinforced/tinted,
+/turf/open/floor/plating,
+/area/station/commons/vacant_room/commissary)
"dbR" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/decal/cleanable/dirt,
@@ -9209,6 +9157,11 @@
/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"dcg" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/grass,
+/area/station/science/auxlab)
"dch" = (
/obj/effect/turf_decal/stripes/asteroid/line{
dir = 4
@@ -9244,15 +9197,6 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/service/library)
-"dcA" = (
-/obj/structure/sign/warning/biohazard/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/green/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/virology)
"dcD" = (
/obj/structure/table,
/obj/item/surgical_drapes,
@@ -9294,20 +9238,20 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/science/research)
-"ddb" = (
-/obj/machinery/camera/directional/north{
- c_tag = "Atmospherics Tank - N2";
- name = "atmospherics camera";
- network = list("ss13","engine")
- },
-/turf/open/floor/engine/n2,
-/area/station/engineering/atmos)
"ddp" = (
/obj/effect/turf_decal/siding/wood{
dir = 4
},
/turf/open/floor/wood,
/area/station/service/bar/atrium)
+"ddq" = (
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 4
+ },
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating,
+/area/station/engineering/atmos/pumproom)
"ddw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -9329,6 +9273,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/closed/wall,
/area/station/maintenance/starboard)
+"ddR" = (
+/obj/machinery/atmospherics/pipe/smart/simple/brown/visible,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/engine,
+/area/station/engineering/atmos)
"ddS" = (
/obj/effect/turf_decal/bot,
/obj/structure/table,
@@ -9387,42 +9336,35 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/iron,
/area/station/cargo/miningdock)
-"deF" = (
-/obj/machinery/portable_atmospherics/canister/air{
- pixel_x = 4
- },
-/obj/item/clothing/mask/breath{
- pixel_x = 4;
- pixel_y = 4
- },
-/obj/structure/sign/poster/contraband/random/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
+"deB" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 9
},
-/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{
- dir = 8
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
+ dir = 9
},
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/entry)
+/obj/effect/turf_decal/stripes/corner,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"deI" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/grille,
+/obj/effect/spawner/random/maintenance,
+/obj/structure/closet/cardboard,
+/obj/effect/spawner/random/entertainment/cigarette_pack,
+/obj/effect/spawner/random/entertainment/lighter,
/turf/open/floor/plating,
/area/station/maintenance/aft)
+"deL" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/science/auxlab)
"deZ" = (
/obj/structure/chair,
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
-"dfc" = (
-/obj/machinery/status_display/ai/directional/west,
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/cable/layer3,
-/turf/open/floor/engine,
-/area/station/ai/satellite/chamber)
"dfi" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -9437,14 +9379,6 @@
/obj/effect/mapping_helpers/airlock/access/all/command/general,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"dfk" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/decal/cleanable/ash/large,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"dfv" = (
/obj/machinery/rnd/production/circuit_imprinter/department/science,
/obj/effect/turf_decal/bot,
@@ -9501,12 +9435,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/hallway/secondary/exit/departure_lounge)
-"dgg" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/pipedispenser/disposal,
-/obj/machinery/status_display/evac/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"dgi" = (
/obj/machinery/light/small/directional/west,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -9518,41 +9446,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"dgo" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/firealarm/directional/north,
-/obj/structure/cable,
-/obj/machinery/camera/directional/north{
- c_tag = "Supermatter Engine";
- name = "supermatter camera";
- network = list("engine")
- },
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
-"dgp" = (
-/obj/structure/closet/emcloset/anchored,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/station/service/chapel)
-"dgu" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/portable_atmospherics/scrubber,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible,
-/obj/machinery/airalarm/directional/north,
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/atmos)
"dgw" = (
/obj/structure/sign/warning/docking,
/turf/closed/wall/rust,
@@ -9569,52 +9462,12 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
-"dgE" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/components/trinary/mixer/airmix,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"dgG" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
+"dgJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/engineering/hallway)
-"dgP" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
- dir = 4
- },
-/obj/machinery/computer/atmos_control/nitrous_tank{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
+/obj/effect/turf_decal/tile/purple/anticorner/contrasted,
/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/atmos)
+/area/station/science/ordnance/office)
"dgW" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/delivery,
@@ -9653,12 +9506,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"dhG" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/holopad,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"dhL" = (
/obj/docking_port/stationary{
dir = 4;
@@ -9729,19 +9576,6 @@
/obj/effect/turf_decal/tile/purple/half/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/engineering/circuit_workshop)
-"diP" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/machinery/defibrillator_mount/directional/west,
-/obj/machinery/stasis{
- dir = 4
- },
-/obj/effect/turf_decal/box,
-/obj/machinery/vitals_reader/directional/north,
-/obj/machinery/light/cold/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/medical/treatment_center)
"diQ" = (
/obj/effect/turf_decal/delivery,
/obj/effect/turf_decal/stripes/line{
@@ -9773,6 +9607,16 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/storage)
+"diY" = (
+/obj/structure/chair/office/light{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/computer/security/telescreen/ordnance/directional/east,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/ordnance)
"diZ" = (
/obj/structure/sign/painting/library_secure{
pixel_x = -32
@@ -9788,12 +9632,34 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/fore)
+"djh" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/camera/directional/north{
+ c_tag = "Atmospherics Lockers";
+ name = "atmospherics camera";
+ network = list("ss13","engine")
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/structure/closet/secure_closet/atmospherics,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/cable,
+/obj/item/pickaxe/mini,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/storage)
"djo" = (
/obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{
dir = 8
},
/turf/open/floor/iron/dark/airless,
/area/station/science/ordnance/freezerchamber)
+"djy" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"djC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -9806,6 +9672,32 @@
},
/turf/open/floor/iron,
/area/station/security/courtroom)
+"djM" = (
+/obj/structure/cable,
+/obj/structure/chair/sofa/right/maroon{
+ dir = 4
+ },
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/machinery/airalarm/directional/south,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/bar/atrium)
+"djN" = (
+/obj/machinery/computer/records/security{
+ dir = 1
+ },
+/obj/effect/turf_decal/bot,
+/obj/machinery/airalarm/directional/south,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/security/checkpoint/medical)
"djW" = (
/obj/machinery/airalarm/directional/south,
/obj/machinery/camera/directional/south{
@@ -9826,13 +9718,6 @@
/obj/effect/turf_decal/tile/red/opposingcorners,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
-"dka" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/light/floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"dke" = (
/obj/machinery/firealarm/directional/west,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -9849,33 +9734,24 @@
/obj/machinery/holopad,
/turf/open/floor/carpet/blue,
/area/station/command/heads_quarters/hop)
+"dkz" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"dkA" = (
/obj/structure/flora/bush/leavy/style_random,
/obj/machinery/light/small/directional/south,
/obj/structure/flora/bush/flowers_yw/style_random,
/turf/open/floor/grass,
/area/station/service/hydroponics/garden)
-"dkD" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"dkE" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/security/glass{
- name = "Security Checkpoint"
- },
-/obj/effect/mapping_helpers/airlock/access/all/security/general,
-/turf/open/floor/iron/dark,
-/area/station/hallway/primary/aft)
"dkH" = (
/obj/structure/cable,
/obj/machinery/duct,
@@ -9944,22 +9820,25 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/command/heads_quarters/rd)
+"dls" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"dlI" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/showroomfloor,
/area/station/science/robotics/lab)
-"dlO" = (
-/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
- dir = 4
- },
-/obj/structure/table/glass,
-/obj/structure/cable,
-/obj/structure/fireaxecabinet/jawsofrecovery/directional/east,
-/obj/item/surgicaldrill,
-/obj/item/toy/figure/paramedic,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/paramedic)
"dlS" = (
/obj/machinery/light/floor,
/turf/open/floor/engine/vacuum,
@@ -10075,13 +9954,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/brig)
-"dnS" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"dod" = (
/obj/effect/landmark/start/head_of_personnel,
/obj/structure/chair/office{
@@ -10089,15 +9961,6 @@
},
/turf/open/floor/carpet/blue,
/area/station/command/heads_quarters/hop)
-"dof" = (
-/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/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"doj" = (
/obj/effect/turf_decal/stripes/corner,
/obj/effect/decal/cleanable/dirt,
@@ -10157,6 +10020,26 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/solars/starboard/fore)
+"doV" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/binary/valve{
+ dir = 8;
+ name = "Port Valve"
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"dpb" = (
+/obj/effect/turf_decal/delivery,
+/obj/structure/closet/crate/silvercrate,
+/obj/item/screwdriver/power,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/vault)
"dpc" = (
/obj/effect/turf_decal/siding/thinplating/dark/end{
dir = 4
@@ -10213,36 +10096,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"dqh" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/closet/firecloset,
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/turf/open/floor/plating,
-/area/station/hallway/secondary/exit/departure_lounge)
-"dqk" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/end{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
-"dqq" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron/dark,
-/area/station/command/bridge)
-"dqv" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/light/warm/directional/south,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"dqw" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -10254,22 +10107,6 @@
/obj/effect/turf_decal/tile/purple/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/science/robotics/lab)
-"dqF" = (
-/obj/effect/decal/cleanable/ash,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
-"dqJ" = (
-/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/machinery/computer/security/telescreen/monastery/directional/south,
-/turf/open/floor/iron/grimy,
-/area/station/hallway/primary/fore)
"dqL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -10278,21 +10115,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"drk" = (
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/structure/cable,
-/obj/structure/table,
-/obj/item/book/manual/wiki/atmospherics,
-/obj/item/stack/sheet/rglass{
- amount = 20;
- pixel_x = 2;
- pixel_y = -2
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
"drl" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/tile/purple,
@@ -10361,14 +10183,6 @@
/obj/machinery/griddle,
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
-"drX" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
"dsc" = (
/obj/machinery/door/airlock/command/glass{
name = "Control Room"
@@ -10415,6 +10229,19 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
+"dsx" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/binary/pump/on{
+ name = "Gas to Cold Loop";
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"dsD" = (
/obj/structure/sign/departments/cargo,
/turf/closed/wall,
@@ -10450,6 +10277,13 @@
/obj/effect/turf_decal/tile/green/fourcorners,
/turf/open/floor/iron/checker,
/area/station/service/hydroponics)
+"dsX" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 4
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
"dtg" = (
/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input{
dir = 4
@@ -10476,6 +10310,17 @@
/obj/effect/mapping_helpers/airlock/unres/delayed,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/fore)
+"dtE" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/purple,
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/showroomfloor,
+/area/station/command/heads_quarters/rd)
"dtP" = (
/obj/effect/turf_decal/siding/wood{
dir = 9
@@ -10490,6 +10335,25 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/storage/primary)
+"dtV" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"dus" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"duA" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/masks,
@@ -10520,34 +10384,9 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"dva" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"dvk" = (
/turf/closed/wall/r_wall/rust,
/area/station/maintenance/department/bridge)
-"dvq" = (
-/obj/machinery/door/airlock/external{
- name = "Atmospherics External Airlock"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/space/nearstation)
"dvs" = (
/obj/machinery/firealarm/directional/north,
/obj/machinery/camera/autoname/directional/north{
@@ -10564,9 +10403,40 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron,
/area/station/command/eva)
+"dvF" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"dvI" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/computer/station_alert,
+/obj/machinery/requests_console/directional/east{
+ department = "Atmospherics";
+ name = "Atmospherics Requests Console"
+ },
+/obj/effect/mapping_helpers/requests_console/supplies,
+/obj/effect/mapping_helpers/requests_console/assistance,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"dvN" = (
/turf/open/misc/asteroid/lowpressure,
/area/space/nearstation)
+"dwa" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/station/engineering/supermatter/room)
"dwc" = (
/obj/structure/table,
/obj/item/radio/intercom{
@@ -10584,6 +10454,21 @@
/obj/machinery/computer/security/telescreen/minisat/directional/south,
/turf/open/floor/plating,
/area/station/hallway/primary/central/fore)
+"dwj" = (
+/obj/effect/turf_decal/siding/thinplating/light/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/monastery)
+"dwq" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"dwx" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -10598,14 +10483,6 @@
"dwz" = (
/turf/closed/wall/rust,
/area/station/maintenance/space_hut/plasmaman)
-"dwB" = (
-/obj/machinery/meter,
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
- dir = 10
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
"dwL" = (
/obj/effect/turf_decal/stripes/line,
/obj/structure/disposalpipe/segment,
@@ -10629,20 +10506,8 @@
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
"dxm" = (
-/obj/structure/sign/warning/secure_area,
/turf/closed/wall/rust,
/area/station/engineering/gravity_generator)
-"dxq" = (
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/dark/visible,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"dxu" = (
/obj/machinery/camera/directional/west{
c_tag = "Xenobiology Cell 1";
@@ -10701,6 +10566,22 @@
/obj/structure/sign/warning/electric_shock,
/turf/closed/wall/r_wall,
/area/station/command/bridge)
+"dyL" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
+ },
+/obj/structure/sign/warning/electric_shock/directional/south,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
+"dyP" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"dyX" = (
/obj/structure/reagent_dispensers/cooking_oil,
/obj/effect/turf_decal/delivery,
@@ -10717,17 +10598,16 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"dzt" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
+"dzK" = (
+/obj/structure/window/spawner/directional/east,
+/obj/structure/window/spawner/directional/south,
+/obj/structure/window/spawner/directional/west,
+/obj/structure/flora/bush/large/style_random{
+ pixel_y = 0
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
+/obj/structure/flora/bush/fullgrass/style_random,
+/turf/open/floor/grass,
+/area/station/medical/medbay/central)
"dzL" = (
/obj/machinery/modular_computer/preset/engineering{
dir = 8
@@ -10740,6 +10620,23 @@
"dzS" = (
/turf/closed/wall,
/area/station/security/lockers)
+"dAb" = (
+/obj/machinery/portable_atmospherics/canister/air{
+ pixel_x = 4
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = 4;
+ pixel_y = 4
+ },
+/obj/structure/sign/poster/contraband/random/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/entry)
"dAu" = (
/obj/structure/closet/crate,
/obj/effect/turf_decal/stripes/line{
@@ -10763,6 +10660,19 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/lobby)
+"dAP" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/machinery/computer/operating{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/vitals_reader/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/medical/surgery/theatre)
"dAQ" = (
/obj/machinery/door/airlock/research/glass{
name = "Ordnance Lab"
@@ -10840,6 +10750,14 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/robotics/lab)
+"dBG" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 2;
+ name = "Pure to Aux"
+ },
+/obj/effect/turf_decal/tile/bar/fourcorners,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"dBV" = (
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/dirt,
@@ -10847,21 +10765,15 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/showroomfloor,
/area/station/science)
-"dBX" = (
-/obj/structure/disposalpipe/trunk{
- dir = 4
- },
-/obj/machinery/disposal/bin/tagger,
-/obj/effect/turf_decal/bot,
-/obj/machinery/firealarm/directional/west,
-/obj/machinery/status_display/supply{
- pixel_y = -32
+"dBY" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
+ dir = 8
},
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
dir = 4
},
-/turf/open/floor/iron/dark,
-/area/station/cargo/storage)
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/ordnance)
"dCd" = (
/obj/effect/turf_decal/siding/wood,
/obj/structure/table/wood/fancy/blue,
@@ -10879,6 +10791,9 @@
"dCM" = (
/turf/closed/wall/rust,
/area/station/service/bar/atrium)
+"dCO" = (
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"dCW" = (
/obj/structure/closet/secure_closet/freezer/fridge,
/obj/structure/extinguisher_cabinet/directional/west,
@@ -10886,6 +10801,23 @@
/obj/machinery/light/cold/directional/west,
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/service/kitchen/coldroom)
+"dDg" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/power/terminal{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/supermatter/room)
"dDp" = (
/obj/structure/mirror/directional/north,
/obj/structure/sink/directional/south,
@@ -10966,18 +10898,17 @@
/turf/open/floor/iron/dark,
/area/station/service/chapel/dock)
"dFa" = (
-/obj/structure/closet/crate/trashcart/laundry,
-/obj/effect/spawner/random/contraband/prison,
-/obj/item/clothing/under/rank/prisoner,
-/obj/item/clothing/under/rank/prisoner,
-/obj/item/clothing/under/rank/prisoner/skirt,
-/obj/item/clothing/under/rank/prisoner/skirt,
-/obj/effect/turf_decal/tile/blue/opposingcorners{
+/obj/effect/turf_decal/stripes/corner{
dir = 1
},
-/obj/structure/cable,
-/turf/open/floor/iron/cafeteria,
-/area/station/security/prison/garden)
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"dFj" = (
/obj/effect/turf_decal/delivery,
/obj/effect/decal/cleanable/dirt,
@@ -10993,15 +10924,6 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/miningdock)
-"dFC" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/machinery/door/airlock{
- name = "Prison Kitchen"
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/security/prison/mess)
"dFM" = (
/obj/machinery/door/airlock/maintenance,
/obj/structure/cable,
@@ -11011,6 +10933,17 @@
/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/lesser)
+"dGb" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible,
+/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"dGo" = (
/obj/machinery/computer/security/telescreen/auxbase/directional/north,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -11060,10 +10993,21 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"dGS" = (
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/airlock/external/glass{
+ name = "Atmospherics External Airlock"
+ },
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"dGX" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/duct,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
/turf/open/floor/iron,
/area/station/engineering/main)
"dHc" = (
@@ -11090,6 +11034,20 @@
/obj/structure/sign/warning/secure_area,
/turf/closed/wall/r_wall,
/area/station/engineering/storage/tech)
+"dHE" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/item/mmi,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/storage)
+"dHG" = (
+/obj/structure/grille,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/sign/warning/directional/east,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"dHL" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/old,
@@ -11103,11 +11061,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"dIg" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
"dIh" = (
/obj/effect/turf_decal/siding/wood{
dir = 5
@@ -11134,17 +11087,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/dark,
/area/station/service/chapel/dock)
-"dIB" = (
-/obj/effect/turf_decal/tile/red/half/contrasted,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
-"dIN" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible/layer2,
-/turf/closed/wall/r_wall,
-/area/station/maintenance/aft)
"dIQ" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -11165,25 +11107,6 @@
},
/turf/open/floor/iron,
/area/station/service/chapel/storage)
-"dIX" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/filingcabinet,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/machinery/firealarm/directional/south{
- pixel_x = -32
- },
-/obj/item/radio/intercom/directional/south,
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/security/checkpoint/engineering)
"dJd" = (
/obj/effect/turf_decal/loading_area{
dir = 4
@@ -11248,17 +11171,6 @@
},
/turf/closed/wall/r_wall,
/area/station/science/ordnance/bomb)
-"dJt" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 9
- },
-/obj/machinery/computer/turbine_computer{
- dir = 1;
- mapping_id = "main_turbine"
- },
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
"dJw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -11272,6 +11184,13 @@
},
/turf/open/floor/iron,
/area/station/engineering/main)
+"dJP" = (
+/obj/machinery/firealarm/directional/west,
+/obj/machinery/computer/atmos_control/ordnancemix{
+ dir = 4
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/ordnance)
"dJS" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -11298,13 +11217,6 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/morgue)
-"dKg" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/light/floor,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
"dKo" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -11337,33 +11249,37 @@
"dKz" = (
/obj/structure/rack,
/obj/effect/turf_decal/bot,
-/obj/item/storage/belt/utility{
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/item/storage/belt/utility,
-/obj/item/clothing/head/utility/welding,
-/obj/item/clothing/head/utility/welding,
/obj/effect/turf_decal/stripes/corner{
dir = 8
},
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
dir = 1
},
+/obj/item/storage/belt/utility,
+/obj/item/storage/belt/utility,
+/obj/item/storage/belt/utility,
+/obj/item/clothing/glasses/meson/engine,
+/obj/item/clothing/glasses/meson/engine,
+/obj/item/clothing/glasses/meson/engine,
/turf/open/floor/iron/dark,
/area/station/engineering/storage_shared)
"dKB" = (
-/obj/machinery/computer/order_console/cook{
+/obj/machinery/air_sensor/nitrous_tank,
+/turf/open/floor/engine/n2o,
+/area/station/engineering/atmos)
+"dKF" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/railing/corner{
dir = 8
},
-/obj/effect/turf_decal/bot,
-/obj/machinery/newscaster/directional/east,
-/obj/machinery/camera/directional/east{
- c_tag = "Kitchen Coldroom";
- name = "kitchen camera"
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/service/kitchen/coldroom)
+/obj/machinery/light/floor,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
"dKJ" = (
/turf/closed/wall/r_wall/rust,
/area/station/command/heads_quarters/captain/private)
@@ -11390,6 +11306,13 @@
/obj/effect/turf_decal/siding/wood/corner,
/turf/open/floor/wood,
/area/station/command/heads_quarters/captain)
+"dKV" = (
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 6
+ },
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"dKZ" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -11398,14 +11321,6 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating/airless,
/area/space/nearstation)
-"dLg" = (
-/obj/machinery/firealarm/directional/south,
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/lab)
"dLh" = (
/obj/machinery/door/airlock/command/glass{
name = "Bridge Access"
@@ -11447,10 +11362,33 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/lobby)
-"dLD" = (
-/obj/machinery/light/warm/dim/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/funeral)
+"dLK" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/bot,
+/obj/structure/rack,
+/obj/item/wrench,
+/obj/item/storage/toolbox/emergency{
+ pixel_y = 4
+ },
+/obj/item/hand_labeler,
+/obj/item/stack/package_wrap,
+/obj/machinery/button/door/directional/east{
+ id = "commissaryshutter";
+ name = "Commissary Shutter Toggle";
+ pixel_x = 26;
+ pixel_y = 7
+ },
+/obj/machinery/button/door/directional/east{
+ id = "commissarydoor";
+ name = "Commissary Door Lock";
+ normaldoorcontrol = 1;
+ pixel_x = 26;
+ pixel_y = -2;
+ specialfunctions = 4
+ },
+/turf/open/floor/wood,
+/area/station/commons/vacant_room/commissary)
"dLL" = (
/obj/structure/flora/bush/ferny,
/turf/open/misc/asteroid,
@@ -11466,6 +11404,29 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
+"dLP" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/blue/corner{
+ dir = 8
+ },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/tile/blue/half/contrasted,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/storage)
+"dLR" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
+ dir = 1
+ },
+/obj/structure/sign/warning/fire/directional/north,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"dMd" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -11492,11 +11453,29 @@
"dME" = (
/turf/closed/wall,
/area/station/cargo/warehouse)
-"dMR" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/table_frame,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
+"dNA" = (
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
+ dir = 4
+ },
+/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior,
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/machinery/airlock_controller/incinerator_atmos{
+ pixel_y = -28
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/atmospherics/pipe/smart/simple/brown/visible/layer2{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/engine,
/area/station/maintenance/disposal/incinerator)
"dNL" = (
/obj/machinery/button/flasher{
@@ -11514,18 +11493,6 @@
/obj/machinery/computer/security/telescreen/interrogation/directional/north,
/turf/open/floor/iron,
/area/station/security/prison)
-"dNT" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/obj/machinery/gizmo/toggle/tucker_tubes,
-/turf/open/floor/engine,
-/area/station/science/auxlab)
-"dOa" = (
-/obj/machinery/portable_atmospherics/canister/plasma,
-/obj/item/radio/intercom/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance/storage)
"dOg" = (
/obj/item/kirbyplants/organic/plant22,
/turf/open/floor/iron/dark,
@@ -11543,14 +11510,9 @@
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment,
/obj/effect/mapping_helpers/broken_floor,
+/obj/item/assembly/mousetrap,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"dOA" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"dOL" = (
/obj/structure/table,
/obj/machinery/microwave{
@@ -11576,6 +11538,19 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"dOY" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/light_switch/directional/west,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/machinery/firealarm/directional/south,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/disposal/bin/tagger,
+/turf/open/floor/iron/dark,
+/area/station/medical/office)
"dPn" = (
/obj/structure/cable,
/obj/machinery/photocopier,
@@ -11585,10 +11560,13 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/hop)
-"dPr" = (
-/obj/structure/sign/warning/fire,
-/turf/closed/wall/r_wall,
-/area/station/engineering/supermatter/engine)
+"dPu" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/gizmo/toggle/tucker_tubes,
+/turf/open/floor/engine,
+/area/station/science/auxlab)
"dPK" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt,
@@ -11610,6 +11588,44 @@
/obj/structure/sign/poster/contraband/random/directional/west,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"dQa" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/thermomachine/heater{
+ dir = 4
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
+"dQm" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/port)
+"dQo" = (
+/obj/effect/turf_decal/siding/red{
+ dir = 9
+ },
+/obj/effect/turf_decal/tile/red/anticorner/contrasted{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/exit/departure_lounge)
+"dQt" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Pure to Ports"
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"dQx" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 4
@@ -11636,6 +11652,29 @@
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/lobby)
+"dQI" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/latex,
+/obj/item/clothing/gloves/latex,
+/obj/item/storage/box/monkeycubes{
+ pixel_x = 2;
+ pixel_y = 5
+ },
+/obj/item/storage/box/monkeycubes{
+ pixel_y = 3
+ },
+/obj/effect/turf_decal/siding/purple/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 1
+ },
+/obj/item/paper/crumpled{
+ default_raw_text = "This isn't funny, I'm trapped on the least fun room on the station.";
+ name = "poorly written complaint"
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/xenobiology)
"dQK" = (
/obj/effect/turf_decal/delivery,
/obj/machinery/door/poddoor{
@@ -11656,6 +11695,9 @@
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/effect/decal/cleanable/dirt,
/obj/item/clothing/under/rank/engineering/engineer,
+/obj/item/clothing/gloves/color/fyellow,
+/obj/item/storage/toolbox/electrical,
+/obj/structure/sign/poster/contraband/random/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/aft)
"dQS" = (
@@ -11718,25 +11760,6 @@
/obj/structure/cable,
/turf/open/floor/engine/telecomms,
/area/station/tcommsat/server)
-"dRG" = (
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/table,
-/obj/effect/turf_decal/bot,
-/obj/machinery/camera/directional/east{
- c_tag = "Cargo Office";
- name = "cargo camera";
- network = list("ss13","qm")
- },
-/obj/machinery/fax{
- fax_name = "Cargo Office";
- name = "Cargo Office Fax Machine"
- },
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/cargo/office)
"dRR" = (
/obj/effect/turf_decal/bot,
/obj/structure/bodycontainer/morgue,
@@ -11778,15 +11801,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"dSo" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/machinery/status_display/evac/directional/north,
-/obj/machinery/light/warm/directional/north,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"dSt" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -11813,13 +11827,6 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/exit/departure_lounge)
-"dSz" = (
-/obj/machinery/rnd/production/techfab/department/medical,
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/stripes/box,
-/obj/machinery/light/cold/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/medical/storage)
"dSB" = (
/obj/machinery/door/airlock/public/glass{
name = "Garden"
@@ -11827,6 +11834,32 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/dark,
/area/station/service/hydroponics/garden)
+"dSD" = (
+/obj/item/storage/fancy/cigarettes/cigars{
+ pixel_x = 2;
+ pixel_y = 6
+ },
+/obj/item/storage/fancy/cigarettes/cigars/havana{
+ pixel_x = 2;
+ pixel_y = 8
+ },
+/obj/item/storage/fancy/cigarettes/cigars/cohiba{
+ pixel_x = 2;
+ pixel_y = 10
+ },
+/obj/item/holosign_creator/robot_seat/bar,
+/obj/machinery/status_display/evac/directional/west,
+/obj/structure/table,
+/obj/machinery/camera/directional/west{
+ c_tag = "Bar";
+ name = "bar camera"
+ },
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 4
+ },
+/obj/machinery/light/warm/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/service/bar)
"dSG" = (
/obj/structure/table,
/obj/item/paper_bin{
@@ -11854,6 +11887,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/solars/port/fore)
+"dSX" = (
+/obj/machinery/disposal/bin/tagger,
+/obj/effect/turf_decal/bot,
+/obj/item/radio/intercom/directional/east,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/tile/blue/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/hop)
"dTd" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -11870,10 +11916,13 @@
/obj/item/integrated_circuit/loaded/hello_world,
/turf/open/floor/iron/showroomfloor,
/area/station/engineering/circuit_workshop)
-"dTG" = (
-/obj/structure/transit_tube/crossing,
-/turf/open/floor/plating,
-/area/station/maintenance/fore)
+"dTF" = (
+/obj/machinery/holopad,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/white,
+/area/station/security/prison/mess)
"dTQ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/yellow/half/contrasted,
@@ -11911,25 +11960,6 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/service/bar)
-"dUg" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/security/processing)
-"dUm" = (
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
"dUn" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -11955,6 +11985,13 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/virology)
+"dUr" = (
+/obj/structure/transit_tube/curved/flipped{
+ dir = 1
+ },
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space/nearstation)
"dUE" = (
/obj/structure/chair{
dir = 1
@@ -12018,13 +12055,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark,
/area/station/service/chapel/storage)
-"dVn" = (
-/obj/machinery/computer/bank_machine,
-/obj/structure/sign/warning/secure_area/directional/north,
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/station/command/vault)
"dVB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -12034,16 +12064,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
-"dVE" = (
-/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/stripes/corner{
- dir = 4
- },
-/obj/machinery/light/cold/directional/north,
-/turf/open/floor/engine,
-/area/station/tcommsat/computer)
"dVN" = (
/obj/structure/closet/secure_closet/personal/cabinet,
/obj/item/clothing/head/fedora,
@@ -12058,6 +12078,18 @@
/obj/item/clothing/suit/toggle/jacket/det_trench/noir,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
+"dVU" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/machinery/status_display/ai/directional/north,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/security/execution/transfer)
"dWj" = (
/obj/machinery/door/airlock/maintenance/external{
name = "Mass Driver Intersection"
@@ -12099,24 +12131,18 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/cargo/storage)
-"dXh" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/stripes/corner{
+"dWQ" = (
+/obj/machinery/atmospherics/components/binary/tank_compressor{
dir = 8
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
+/obj/effect/turf_decal/delivery,
+/obj/structure/sign/poster/random/directional/north,
+/obj/effect/turf_decal/tile/purple/half/contrasted{
dir = 1
},
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/ordnance)
"dXz" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -12126,6 +12152,9 @@
},
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
+"dXD" = (
+/turf/open/floor/engine,
+/area/station/engineering/atmos)
"dXI" = (
/obj/structure/flora/bush/lavendergrass/style_random,
/turf/open/floor/grass,
@@ -12158,6 +12187,26 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating/airless,
/area/station/maintenance/solars/port/aft)
+"dYp" = (
+/obj/item/reagent_containers/cup/glass/flask/gold{
+ pixel_x = 3;
+ pixel_y = 8
+ },
+/obj/item/reagent_containers/cup/glass/bottle/rum{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{
+ pixel_x = 7;
+ pixel_y = 4
+ },
+/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass,
+/obj/structure/table/wood,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/cable,
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/carpet/royalblack,
+/area/station/command/heads_quarters/captain)
"dYy" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -12172,13 +12221,6 @@
/obj/item/wirecutters,
/turf/open/floor/iron/dark,
/area/station/security/office)
-"dYH" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/newscaster/directional/north,
-/obj/machinery/computer/atmos_control/nocontrol/master,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"dYQ" = (
/obj/effect/turf_decal/bot,
/obj/machinery/holopad,
@@ -12212,12 +12254,6 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"dZS" = (
-/obj/machinery/door/airlock/atmos/glass,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
"eah" = (
/obj/structure/closet,
/obj/item/stack/rods/ten,
@@ -12251,41 +12287,43 @@
dir = 8
},
/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/showroomfloor,
/area/station/medical/paramedic)
-"eaw" = (
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
- dir = 10
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
-"eaQ" = (
+"eba" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/stripes/line{
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
+/obj/machinery/status_display/evac/directional/north,
+/obj/effect/turf_decal/tile/red{
dir = 1
},
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
+/obj/effect/turf_decal/tile/blue{
dir = 4
},
-/obj/effect/turf_decal/tile/blue,
+/obj/machinery/light/directional/north,
/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
-"ebp" = (
-/obj/effect/turf_decal/delivery,
+/area/station/hallway/primary/starboard)
+"ebr" = (
+/obj/structure/closet/secure_closet/bar,
+/obj/item/flashlight/lantern,
+/obj/effect/turf_decal/bot,
+/obj/machinery/airalarm/directional/west,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/item/storage/photo_album/bar,
/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
+/area/station/service/bar/backroom)
+"ebu" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"eby" = (
/obj/effect/turf_decal/stripes/white/corner{
dir = 4
@@ -12310,6 +12348,20 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron,
/area/station/cargo/sorting)
+"ebI" = (
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/obj/effect/turf_decal/siding/brown{
+ dir = 1
+ },
+/obj/structure/railing/corner/end{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/smooth_half,
+/area/station/engineering/atmos/pumproom)
"ebK" = (
/obj/effect/turf_decal/siding/wood{
dir = 9
@@ -12351,6 +12403,19 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/plating,
/area/station/maintenance/department/cargo)
+"ect" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/machinery/turretid{
+ control_area = "/area/station/ai/upload/chamber";
+ name = "AI Upload Turret Control";
+ pixel_x = -30
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"ecE" = (
/turf/closed/wall/rust,
/area/station/service/chapel/storage)
@@ -12364,6 +12429,22 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/virology)
+"ecP" = (
+/obj/effect/landmark/start/atmospheric_technician,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/pumproom)
+"ecR" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"ecY" = (
/obj/structure/sign/warning/docking,
/turf/closed/wall,
@@ -12404,12 +12485,13 @@
/turf/open/floor/iron,
/area/station/service/hydroponics)
"een" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible,
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/yellow{
dir = 8
},
+/obj/machinery/portable_atmospherics/pump,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2,
/turf/open/floor/iron/dark/corner{
dir = 1
},
@@ -12422,16 +12504,6 @@
dir = 1
},
/area/station/hallway/primary/starboard)
-"eeq" = (
-/obj/machinery/door/airlock/maintenance,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment,
-/obj/effect/mapping_helpers/airlock/unres/delayed,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/aft)
"eer" = (
/turf/closed/wall,
/area/station/medical/office)
@@ -12459,27 +12531,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"eeJ" = (
-/obj/structure/table,
-/obj/item/hand_labeler,
-/obj/item/crowbar/red,
-/obj/item/gps/mining,
-/obj/effect/decal/cleanable/cobweb,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light_switch/directional/north,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
+"eeG" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/status_display/ai/directional/west,
+/obj/effect/turf_decal/tile/blue/half/contrasted{
+ dir = 8
},
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
+/obj/effect/turf_decal/tile/neutral{
dir = 1
},
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/machinery/light/directional/west,
/turf/open/floor/iron,
-/area/station/cargo/miningdock)
+/area/station/hallway/primary/aft)
"eeQ" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/line{
@@ -12500,6 +12564,15 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/science)
+"eeT" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"efe" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -12517,11 +12590,6 @@
"efG" = (
/turf/closed/wall,
/area/station/maintenance/fore)
-"efO" = (
-/obj/machinery/light/small/directional/west,
-/obj/machinery/portable_atmospherics/canister/air,
-/turf/open/floor/plating,
-/area/station/maintenance/port/lesser)
"efP" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -12537,13 +12605,6 @@
},
/turf/open/floor/iron,
/area/station/command/teleporter)
-"efS" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/light/empty/directional/north,
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"efV" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -12589,13 +12650,12 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/engine/xenobio,
/area/station/science/xenobiology)
-"egH" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
+"egP" = (
+/obj/machinery/atmospherics/components/unary/passive_vent{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"egU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/landmark/event_spawn,
@@ -12610,13 +12670,6 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/carpet/red,
/area/station/service/chapel)
-"ehx" = (
-/obj/machinery/atmospherics/components/unary/passive_vent{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/box,
-/turf/open/floor/plating/airless,
-/area/space/nearstation)
"ehF" = (
/obj/machinery/door/airlock/command{
name = "Command Catering Access"
@@ -12652,6 +12705,14 @@
},
/turf/open/floor/wood,
/area/station/command/heads_quarters/captain)
+"eit" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"eiz" = (
/obj/structure/cable,
/obj/machinery/duct,
@@ -12679,16 +12740,6 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/storage)
-"eiJ" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"eiW" = (
/obj/structure/lattice/catwalk,
/obj/structure/railing,
@@ -12735,6 +12786,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"ejr" = (
+/obj/machinery/telecomms/server/presets/common,
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/station/tcommsat/server)
"ejt" = (
/obj/structure/railing/corner{
dir = 4
@@ -12795,11 +12850,34 @@
"ekm" = (
/turf/closed/wall/r_wall,
/area/station/engineering/supermatter/room)
+"ekA" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/airalarm/directional/south,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/machinery/disposal/bin/tagger,
+/obj/machinery/light/cold/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/pharmacy)
"ekB" = (
/obj/effect/turf_decal/tile/blue,
/obj/effect/turf_decal/tile/blue/half/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/treatment_center)
+"ekC" = (
+/obj/machinery/status_display/evac/directional/north,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/iron/dark,
+/area/station/service/bar/backroom)
"ekL" = (
/turf/closed/wall/rust,
/area/station/service/kitchen/coldroom)
@@ -12845,21 +12923,6 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/security/detectives_office)
-"elm" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/machinery/computer/atmos_control/carbon_tank{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible,
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/tile/neutral/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"elw" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -12905,6 +12968,14 @@
},
/turf/open/misc/asteroid,
/area/space/nearstation)
+"emk" = (
+/obj/machinery/teleport/station,
+/obj/machinery/status_display/evac/directional/east,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/teleporter)
"emo" = (
/obj/effect/decal/cleanable/blood/old,
/obj/structure/chair/office{
@@ -12946,6 +13017,21 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
+"emC" = (
+/obj/structure/table/wood/fancy/black,
+/obj/item/food/grown/flower/poppy/geranium{
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/item/food/grown/flower/poppy/geranium{
+ pixel_x = 6;
+ pixel_y = 6
+ },
+/obj/item/food/grown/flower/poppy/geranium,
+/obj/machinery/firealarm/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
"emU" = (
/obj/machinery/door/poddoor/incinerator_atmos_aux,
/turf/open/floor/engine,
@@ -12965,13 +13051,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"eni" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
-/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/incinerator_input{
- dir = 8
- },
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
"enj" = (
/obj/machinery/door/airlock/maintenance,
/obj/effect/mapping_helpers/airlock/abandoned,
@@ -12984,18 +13063,6 @@
/obj/structure/barricade/wooden/crude,
/turf/open/floor/iron/dark,
/area/station/maintenance/fore)
-"enr" = (
-/obj/structure/table,
-/obj/item/storage/box/lights/mixed{
- pixel_y = 5
- },
-/obj/item/analyzer{
- pixel_x = 4;
- pixel_y = 4
- },
-/obj/item/analyzer,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"enP" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
@@ -13026,21 +13093,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/storage_shared)
-"enU" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 4;
- name = "Gas to Chamber"
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
- dir = 1
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/xenobiology)
"eob" = (
/obj/structure/sign/warning,
/turf/closed/wall,
@@ -13084,24 +13136,22 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/medical/virology)
-"epi" = (
-/obj/machinery/button/door/directional/north{
- id = "Biohazard";
- name = "Emergency Research Lockdown";
- pixel_x = -8;
- req_access = list("research")
+"epl" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/firealarm/directional/west,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
},
-/obj/structure/table,
-/obj/machinery/recharger,
-/obj/effect/turf_decal/tile/red/anticorner/contrasted{
- dir = 4
+/obj/effect/spawner/xmastree/rdrod,
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
},
-/obj/effect/turf_decal/tile/red{
- dir = 4
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 8
},
-/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/showroomfloor,
-/area/station/security/checkpoint/science)
+/area/station/science/lobby)
"ept" = (
/obj/structure/cable,
/obj/effect/landmark/event_spawn,
@@ -13150,14 +13200,32 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/xenobiology)
+"epJ" = (
+/obj/structure/rack,
+/obj/effect/turf_decal/bot,
+/obj/item/radio{
+ pixel_x = 4;
+ pixel_y = 3
+ },
+/obj/item/radio{
+ pixel_x = -4;
+ pixel_y = 6
+ },
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"epN" = (
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"eqi" = (
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/chemistry)
+"eqr" = (
+/obj/structure/grille/broken,
+/turf/open/misc/asteroid/airless,
+/area/space/nearstation)
+"eqt" = (
+/obj/structure/flora/bush/flowers_pp/style_random,
+/obj/effect/turf_decal/siding/thinplating/dark,
+/turf/open/floor/grass,
+/area/station/service/chapel)
"eqx" = (
/obj/machinery/conveyor{
dir = 5;
@@ -13219,15 +13287,6 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/department/crew_quarters/bar)
-"erk" = (
-/obj/effect/decal/cleanable/blood/footprints{
- dir = 4;
- pixel_x = 24;
- pixel_y = 8
- },
-/obj/machinery/light/small/broken/directional/north,
-/turf/open/floor/plating/rust,
-/area/station/security/prison/shower)
"erl" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/airalarm/directional/north,
@@ -13236,38 +13295,32 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/cargo/office)
-"ero" = (
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible,
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/engineering/atmos/pumproom)
-"erp" = (
-/obj/structure/closet/wardrobe/miner,
-/obj/effect/turf_decal/delivery,
-/obj/item/clothing/suit/hooded/wintercoat/miner,
-/obj/item/clothing/suit/hooded/wintercoat/miner,
-/obj/item/clothing/suit/hooded/wintercoat/miner,
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow/opposingcorners{
+"erx" = (
+/obj/structure/table,
+/obj/item/stack/sheet/iron/fifty,
+/obj/item/stack/sheet/iron/fifty,
+/obj/item/construction/plumbing,
+/obj/item/construction/plumbing,
+/obj/machinery/light_switch/directional/north,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 1
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/cargo/miningdock)
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/chemistry)
"erH" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/medical/pharmacy)
+"erM" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/closet/firecloset,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/station/hallway/secondary/exit/departure_lounge)
"erN" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -13278,6 +13331,12 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"esl" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron/cafeteria,
+/area/station/security/prison/garden)
"esn" = (
/obj/structure/table/reinforced,
/obj/item/clipboard,
@@ -13310,6 +13369,28 @@
/obj/structure/chair/stool/directional/south,
/turf/open/floor/iron/grimy,
/area/station/security/prison)
+"esC" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/plating,
+/area/station/security/execution/education)
+"esD" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Emergency Storage"
+ },
+/obj/effect/mapping_helpers/airlock/unres/delayed{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/entry)
"esG" = (
/turf/closed/wall/r_wall/rust,
/area/station/maintenance/port/fore)
@@ -13337,6 +13418,16 @@
},
/turf/closed/wall,
/area/station/engineering/atmos)
+"ete" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"etm" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -13355,21 +13446,23 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/primary/starboard)
+"etp" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Atmos to Loop"
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"etD" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/service/kitchen)
-"etH" = (
-/obj/structure/table,
-/obj/item/aicard,
-/obj/item/assembly/flash/handheld,
-/obj/item/assembly/flash/handheld,
-/obj/machinery/airalarm/directional/east,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
"etO" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -13398,22 +13491,14 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"eva" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/disposal/bin/tagger,
-/obj/structure/extinguisher_cabinet/directional/west,
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/structure/disposalpipe/trunk,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
-/obj/machinery/light/warm/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"evb" = (
-/obj/structure/tank_dispenser,
-/obj/effect/turf_decal/delivery,
/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/structure/closet/secure_closet/engineering_welding,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
+ },
/turf/open/floor/iron/dark,
/area/station/engineering/main)
"evs" = (
@@ -13435,13 +13520,27 @@
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
"evD" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
/obj/effect/landmark/start/paramedic,
/obj/machinery/duct,
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/paramedic)
+"evW" = (
+/obj/structure/cable,
+/obj/effect/landmark/start/hangover,
+/obj/structure/disposalpipe/sorting/mail/flip{
+ dir = 8;
+ name = "disposals sorting disposal pipe"
+ },
+/obj/effect/mapping_helpers/mail_sorting/supply/disposals,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"ewa" = (
/obj/effect/turf_decal/tile/blue/opposingcorners,
/obj/effect/landmark/event_spawn,
@@ -13457,16 +13556,6 @@
},
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
-"ewt" = (
-/obj/effect/turf_decal/arrows/red{
- dir = 4;
- pixel_x = -15
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"ewC" = (
/obj/structure/chair/pew/left{
dir = 8
@@ -13479,6 +13568,16 @@
dir = 4
},
/area/station/service/chapel)
+"ewH" = (
+/obj/structure/closet/emcloset/anchored,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/station/service/chapel)
"ewK" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -13511,15 +13610,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"ewZ" = (
-/obj/machinery/recharge_station,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/blue/half/contrasted{
- dir = 8
+"exb" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
},
-/obj/structure/extinguisher_cabinet/directional/west,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/paramedic)
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"exg" = (
/obj/structure/sign/warning/vacuum/external,
/turf/closed/wall,
@@ -13586,16 +13687,6 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"eyv" = (
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
- dir = 4
- },
-/obj/machinery/meter,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"eyA" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -13605,28 +13696,18 @@
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/lobby)
-"eyJ" = (
-/obj/machinery/airalarm/directional/west,
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
- dir = 8
- },
-/obj/machinery/vending/coffee,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/break_room)
"eyU" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/command/bridge)
+"eyZ" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/newscaster/directional/north,
+/obj/machinery/computer/atmos_control/nocontrol/master,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"ezl" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -13700,12 +13781,6 @@
},
/turf/closed/wall/rust,
/area/station/engineering/atmos)
-"eAu" = (
-/obj/effect/turf_decal/box/white{
- color = "#52B4E9"
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"eAF" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -13715,24 +13790,28 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel)
-"eAQ" = (
-/obj/effect/spawner/random/engineering/tracking_beacon,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
-"eBm" = (
+"eAK" = (
/obj/structure/cable,
-/obj/structure/table,
-/obj/machinery/reagentgrinder{
- pixel_y = 5
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
+ dir = 8
},
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/storage)
+"eAQ" = (
+/obj/effect/landmark/start/cyborg,
+/obj/machinery/airalarm/directional/north,
+/obj/machinery/camera/motion/directional/west{
+ c_tag = "ai_upload Foyer";
+ name = "upload camera";
+ network = list("aiupload")
},
-/turf/open/floor/iron/dark,
-/area/station/service/hydroponics)
+/obj/machinery/computer/security/telescreen/aiupload/directional/west,
+/obj/machinery/recharge_station,
+/turf/open/floor/circuit/green{
+ luminosity = 2
+ },
+/area/station/ai/upload/chamber)
"eBu" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -13763,6 +13842,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/central)
+"eBY" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/pumproom)
"eCd" = (
/turf/closed/wall,
/area/station/hallway/secondary/service)
@@ -13789,23 +13873,33 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
-"eCH" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/structure/extinguisher_cabinet/directional/west,
-/obj/machinery/status_display/ai/directional/south,
-/obj/structure/cable/layer3,
-/turf/open/floor/engine,
-/area/station/ai/satellite/chamber)
+"eCR" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"eCU" = (
/obj/effect/turf_decal/siding/wood{
dir = 8
},
/turf/open/floor/iron/grimy,
/area/station/service/chapel/office)
+"eCW" = (
+/obj/structure/table,
+/obj/item/storage/box/bodybags{
+ pixel_x = 4;
+ pixel_y = 6
+ },
+/obj/item/storage/box/bodybags{
+ pixel_y = 2
+ },
+/obj/machinery/light_switch/directional/east,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"eDg" = (
/obj/structure/displaycase/captain,
/obj/machinery/firealarm/directional/west,
@@ -13814,6 +13908,17 @@
},
/turf/open/floor/wood/large,
/area/station/command/heads_quarters/captain)
+"eDl" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/airlock/security/glass{
+ name = "Engineering Security Post"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/security/general,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden,
+/turf/open/floor/iron/dark,
+/area/station/security/checkpoint/engineering)
"eDq" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/purple/half/contrasted{
@@ -13846,30 +13951,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/storage)
-"eDw" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/purple/corner{
- dir = 4
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/lobby)
-"eDR" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light_switch/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple/half/contrasted,
-/obj/effect/turf_decal/tile/purple,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/auxlab)
"eDT" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -13886,6 +13967,15 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"eEd" = (
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/brown/visible/layer2{
+ dir = 6
+ },
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/disposal/incinerator)
"eEe" = (
/obj/structure/sign/warning/electric_shock/directional/south,
/obj/effect/decal/cleanable/dirt,
@@ -13912,20 +14002,16 @@
},
/turf/open/floor/iron/grimy,
/area/station/security/prison)
-"eEB" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
+"eEE" = (
+/obj/machinery/status_display/ai/directional/east,
+/obj/machinery/camera/directional/north{
+ c_tag = "ai_upload Turrets";
+ name = "upload camera";
+ network = list("aiupload")
},
-/obj/effect/turf_decal/tile/blue,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/obj/item/kirbyplants/photosynthetic,
+/turf/open/floor/circuit/red,
+/area/station/ai/upload/chamber)
"eEJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -13933,51 +14019,17 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/aft)
-"eEU" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"eEX" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"eEY" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
-"eEZ" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/engine,
-/area/station/engineering/main)
-"eFn" = (
-/obj/machinery/atmospherics/components/binary/pump/on{
- dir = 1;
- name = "Mix to Filter"
- },
-/obj/effect/decal/cleanable/dirt,
+"eFy" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/light/floor,
/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
+/area/station/hallway/primary/fore)
"eFE" = (
/obj/structure/transit_tube/crossing,
/obj/effect/turf_decal/sand/plating,
@@ -14070,11 +14122,20 @@
"eHc" = (
/turf/closed/wall,
/area/station/engineering/lobby)
-"eHf" = (
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible,
-/obj/structure/lattice,
-/turf/open/space/basic,
-/area/space/nearstation)
+"eHe" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/duct,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/commons/fitness/recreation)
"eHu" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -14086,17 +14147,6 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/iron/cafeteria,
/area/station/service/kitchen)
-"eHw" = (
-/obj/effect/turf_decal/tile/blue/anticorner/contrasted,
-/obj/structure/closet/secure_closet/paramedic,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/machinery/camera/autoname/directional/east,
-/obj/machinery/airalarm/directional/east,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/paramedic)
"eHI" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 4
@@ -14146,6 +14196,20 @@
/obj/effect/mapping_helpers/airlock/access/all/security/brig,
/turf/open/floor/iron/dark,
/area/station/security/execution/transfer)
+"eIJ" = (
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/yellow{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/storage_shared)
"eIM" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/burnt_floor,
@@ -14160,6 +14224,17 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science)
+"eIS" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/machinery/atmospherics/components/binary/pump/off{
+ dir = 4;
+ name = "O2 To Pure"
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"eIT" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -14189,6 +14264,15 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/wood/large,
/area/station/service/bar/atrium)
+"eJn" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/fore)
"eJq" = (
/turf/closed/wall/r_wall/rust,
/area/station/science/robotics/lab)
@@ -14201,15 +14285,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"eJH" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/directional/south,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"eJN" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -14224,19 +14299,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"eKa" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/camera/directional/east{
- c_tag = "Starboard Hallway Cargo Counter";
- name = "starboard camera"
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow,
-/obj/machinery/light/directional/east,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"eKk" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -14244,20 +14306,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"eKA" = (
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 4
- },
-/obj/item/kirbyplants/organic/plant3,
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"eKG" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/loading_area,
@@ -14281,21 +14329,6 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation)
-"eLf" = (
-/obj/structure/disposalpipe/trunk{
- dir = 4
- },
-/obj/machinery/disposal/bin/tagger,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"eLm" = (
/turf/closed/wall,
/area/station/security/checkpoint/customs)
@@ -14345,6 +14378,24 @@
},
/turf/open/floor/iron,
/area/station/command/eva)
+"eMe" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
+/obj/machinery/shower/directional/west{
+ name = "emergency shower"
+ },
+/obj/effect/turf_decal/box/corners{
+ dir = 8
+ },
+/obj/effect/turf_decal/box/corners{
+ dir = 1
+ },
+/obj/structure/fluff/shower_drain,
+/turf/open/floor/iron/textured_large,
+/area/station/engineering/atmos)
"eMf" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -14356,14 +14407,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"eMg" = (
-/obj/structure/table,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/light/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/security/courtroom)
"eMo" = (
/obj/structure/sign/departments/evac,
/turf/closed/wall,
@@ -14376,6 +14419,13 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/department/crew_quarters/bar)
+"eMu" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"eMB" = (
/obj/machinery/light_switch/directional/west,
/obj/structure/noticeboard/directional/south,
@@ -14396,6 +14446,20 @@
/obj/effect/mapping_helpers/airlock/access/all/command/general,
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
+"eMJ" = (
+/obj/machinery/recharge_station,
+/obj/effect/turf_decal/bot,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/firealarm/directional/south,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/science/robotics/mechbay)
"eMW" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -14423,44 +14487,12 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"eNV" = (
-/obj/machinery/power/terminal{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
-"eOe" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/caution/stand_clear,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/security/processing)
"eOh" = (
/obj/structure/table/reinforced,
/obj/structure/reagent_dispensers/servingdish,
/obj/effect/turf_decal/tile/red,
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
-"eOi" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/duct,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
"eOl" = (
/obj/structure/table/wood,
/obj/item/flashlight/lamp/green,
@@ -14474,37 +14506,11 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"eOt" = (
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
-"eOA" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/bot,
-/obj/structure/rack,
-/obj/item/wrench,
-/obj/item/storage/toolbox/emergency{
- pixel_y = 4
- },
-/obj/item/hand_labeler,
-/obj/item/stack/package_wrap,
-/obj/machinery/button/door/directional/east{
- id = "commissaryshutter";
- name = "Commissary Shutter Toggle";
- pixel_x = 26;
- pixel_y = 7
- },
-/obj/machinery/button/door/directional/east{
- id = "commissarydoor";
- name = "Commissary Door Lock";
- normaldoorcontrol = 1;
- pixel_x = 26;
- pixel_y = -2;
- specialfunctions = 4
- },
-/turf/open/floor/wood,
-/area/station/commons/vacant_room/commissary)
+"eOz" = (
+/obj/structure/flora/bush/ferny/style_random,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/grass,
+/area/station/science/auxlab)
"eOG" = (
/obj/effect/turf_decal/delivery,
/obj/effect/decal/cleanable/cobweb/cobweb2,
@@ -14524,21 +14530,20 @@
},
/turf/open/floor/circuit/red,
/area/station/ai/upload/chamber)
-"eOV" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/tile/brown/anticorner/contrasted,
-/obj/effect/turf_decal/tile/yellow,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"eOW" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
/obj/machinery/duct,
-/turf/open/floor/iron,
+/obj/structure/table,
+/obj/item/stack/sheet/rglass{
+ amount = 50;
+ pixel_x = 2;
+ pixel_y = -2
+ },
+/obj/item/stack/sheet/plasteel/fifty{
+ pixel_x = -2;
+ pixel_y = 2
+ },
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
+/turf/open/floor/iron/dark,
/area/station/engineering/main)
"ePb" = (
/obj/structure/lattice/catwalk,
@@ -14593,14 +14598,6 @@
/obj/item/storage/medkit/regular,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
-"eQf" = (
-/obj/structure/lattice/catwalk,
-/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible,
-/turf/open/space/basic,
-/area/space/nearstation)
"eQg" = (
/obj/structure/window/spawner/directional/south,
/obj/structure/window/spawner/directional/north,
@@ -14612,40 +14609,6 @@
/obj/structure/flora/bush/sunny/style_random,
/turf/open/floor/plating,
/area/station/hallway/secondary/exit/departure_lounge)
-"eQh" = (
-/obj/structure/table,
-/obj/item/stack/sheet/iron/fifty,
-/obj/item/stack/sheet/iron/fifty,
-/obj/item/stack/sheet/iron/fifty,
-/obj/item/stack/sheet/glass/fifty,
-/obj/item/storage/belt/utility,
-/obj/item/clothing/head/utility/welding,
-/obj/item/clothing/glasses/welding,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/airalarm/directional/west,
-/obj/structure/extinguisher_cabinet/directional/north,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron/dark,
-/area/station/science/robotics/lab)
-"eQj" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/siding/yellow{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"eQq" = (
/obj/structure/rack,
/obj/effect/turf_decal/bot,
@@ -14704,30 +14667,6 @@
/obj/effect/mapping_helpers/airlock/access/all/command/gateway,
/turf/open/floor/iron/dark,
/area/station/command/gateway)
-"eQW" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
- dir = 1
- },
-/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/half/contrasted{
- dir = 4
- },
-/obj/machinery/light/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
-"eRl" = (
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/cargo/miningdock)
"eRp" = (
/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
@@ -14770,20 +14709,18 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
-"eRK" = (
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
-/obj/machinery/air_sensor/incinerator_tank,
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
-"eSl" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/carbon_output{
+"eRU" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 1
},
-/turf/open/floor/engine/co2,
-/area/station/engineering/atmos)
+/obj/structure/table,
+/obj/item/clothing/gloves/latex,
+/obj/item/paper/guides/jobs/medical/morgue,
+/obj/item/pen,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"eSu" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -14804,6 +14741,31 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/surgery/theatre)
+"eSB" = (
+/obj/structure/sign/warning/biohazard/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/green/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/virology)
+"eSU" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science)
"eSY" = (
/obj/machinery/airalarm/directional/north,
/obj/structure/rack,
@@ -14857,6 +14819,17 @@
/obj/effect/turf_decal/tile/red/opposingcorners,
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
+"eUg" = (
+/obj/structure/sign/painting/library{
+ pixel_x = 32
+ },
+/obj/machinery/photocopier,
+/obj/item/radio/intercom/directional/south,
+/obj/effect/turf_decal/box/white,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/service/library)
"eUk" = (
/obj/item/radio/intercom/directional/north,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -14891,19 +14864,6 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/storage)
-"eUy" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/status_display/ai/directional/west,
-/obj/effect/turf_decal/tile/blue/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/light/directional/west,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"eUM" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
/turf/closed/wall/r_wall,
@@ -14911,6 +14871,23 @@
"eUN" = (
/turf/closed/wall,
/area/station/medical/psychology)
+"eUO" = (
+/obj/item/clipboard{
+ pixel_x = -4
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/structure/rack,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/item/folder/yellow,
+/obj/item/book/manual/wiki/atmospherics,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"eUT" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/green{
@@ -14921,16 +14898,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"eUU" = (
-/obj/machinery/vending/cola/red,
-/obj/effect/turf_decal/trimline/red/filled/line{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/turf/open/floor/iron/white,
-/area/station/security/prison/mess)
"eVL" = (
/obj/effect/spawner/structure/window/reinforced/plasma,
/turf/open/floor/plating,
@@ -14995,6 +14962,26 @@
/obj/machinery/power/apc/auto_name/directional/north,
/turf/open/floor/engine,
/area/station/ai/satellite/foyer)
+"eXG" = (
+/obj/structure/cable,
+/obj/structure/chair/sofa/left/maroon{
+ dir = 8
+ },
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/landmark/start/hangover,
+/obj/machinery/camera/directional/south{
+ c_tag = "Atrium Port";
+ name = "service camera"
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/bar/atrium)
"eXJ" = (
/obj/machinery/conveyor_switch/oneway{
id = "QMLoad2";
@@ -15133,15 +15120,12 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/xenobiology)
-"eZi" = (
-/obj/effect/turf_decal/siding/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 1
+"eZc" = (
+/obj/machinery/atmospherics/pipe/layer_manifold/cyan/hidden{
+ dir = 8
},
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
+/turf/closed/wall/r_wall,
+/area/station/maintenance/disposal/incinerator)
"eZm" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -15182,13 +15166,6 @@
/obj/structure/sign/warning/docking,
/turf/closed/wall,
/area/station/cargo/miningoffice)
-"faC" = (
-/obj/structure/table,
-/obj/machinery/firealarm/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/light/warm/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/commons/locker)
"faN" = (
/obj/structure/cable,
/obj/structure/chair/office{
@@ -15197,17 +15174,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"faY" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/security/processing)
"faZ" = (
/obj/structure/chair/sofa/left/maroon{
dir = 4
@@ -15260,6 +15226,15 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/pharmacy)
+"fct" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/railing,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"fcv" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -15268,6 +15243,16 @@
/obj/machinery/duct,
/turf/open/floor/iron/dark,
/area/station/medical/cryo)
+"fcE" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/structure/closet/secure_closet/medical2,
+/turf/open/floor/iron/dark,
+/area/station/medical/virology)
"fcX" = (
/obj/structure/table/wood,
/obj/machinery/camera/directional/west{
@@ -15286,26 +15271,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/bar/backroom)
-"fdd" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/spawner/random/engineering/tracking_beacon,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"fdp" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/power/smes,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
"fdA" = (
/obj/structure/table_frame/wood,
/turf/open/floor/carpet/green,
@@ -15323,6 +15288,26 @@
"fdY" = (
/turf/closed/wall,
/area/station/medical/medbay/lobby)
+"feb" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/effect/turf_decal/siding/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"fej" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
@@ -15333,6 +15318,14 @@
},
/turf/open/floor/iron,
/area/station/cargo/miningdock)
+"fep" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/light/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/security/courtroom)
"fez" = (
/obj/structure/cable,
/obj/structure/chair/office{
@@ -15355,6 +15348,14 @@
},
/turf/open/floor/iron,
/area/station/engineering/storage_shared)
+"feS" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"feU" = (
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/cobweb/cobweb2,
@@ -15371,16 +15372,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"feW" = (
-/obj/machinery/computer/mech_bay_power_console{
- dir = 4
- },
-/obj/item/radio/intercom/directional/north,
-/obj/structure/cable,
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/station/science/robotics/mechbay)
"ffa" = (
/turf/open/floor/plating/airless,
/area/station/hallway/secondary/exit/departure_lounge)
@@ -15447,34 +15438,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/science/xenobiology)
-"ffQ" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/binary/pump/on{
- name = "Gas to Cold Loop"
- },
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
-"ffT" = (
-/obj/effect/decal/cleanable/blood/old,
-/obj/machinery/atmospherics/components/tank/air/layer4{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
-"fgb" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/spawner/random/structure/steam_vent,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"fgo" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/obj/effect/turf_decal/tile/red/opposingcorners,
@@ -15483,13 +15446,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/commons/storage/art)
-"fgx" = (
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"fgy" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -15516,16 +15472,6 @@
/obj/machinery/computer/operating,
/turf/open/floor/iron/dark,
/area/station/medical/morgue)
-"fgH" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/airlock/engineering/glass{
- name = "Laser Room"
- },
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
-/turf/open/floor/iron/dark,
-/area/station/engineering/supermatter/room)
"fgJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -15536,14 +15482,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"fhc" = (
-/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/fourcorners,
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/security/brig)
"fhe" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/bot,
@@ -15556,15 +15494,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"fhq" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"fhs" = (
/obj/structure/closet/emcloset,
/obj/effect/turf_decal/delivery,
@@ -15577,29 +15506,27 @@
/obj/structure/table/wood,
/turf/open/floor/wood/tile,
/area/station/service/library)
-"fhw" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
-"fhC" = (
-/obj/effect/turf_decal/tile/red/half/contrasted{
+"fhx" = (
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/red{
- dir = 4
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
},
-/obj/effect/turf_decal/tile/neutral{
+/obj/effect/turf_decal/tile/blue{
dir = 1
},
+/obj/machinery/atmospherics/components/binary/pump/on{
+ name = "Internal Waste Ports to Filter";
+ dir = 8
+ },
/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
+/area/station/engineering/atmos)
+"fhE" = (
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/obj/machinery/light/cold/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance/storage)
"fhH" = (
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/dirt,
@@ -15622,6 +15549,19 @@
/obj/structure/cable,
/turf/open/floor/iron/checker,
/area/station/security/mechbay)
+"fhM" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/closet/cardboard,
+/obj/structure/sign/warning/no_smoking{
+ pixel_x = 30
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/space_heater,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard)
"fhP" = (
/obj/structure/window/reinforced/spawner/directional/south,
/obj/structure/window/reinforced/spawner/directional/north,
@@ -15631,6 +15571,16 @@
/obj/structure/flora/bush/sparsegrass/style_random,
/turf/open/floor/grass,
/area/station/service/hydroponics)
+"fhR" = (
+/obj/item/clothing/head/helmet/toggleable/justice/escape{
+ name = "justice helmet"
+ },
+/obj/structure/sign/poster/official/the_owl/directional/north,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/item/clothing/suit/costume/justice,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"fhY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -15655,12 +15605,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
-"fiC" = (
-/obj/effect/decal/cleanable/blood/old,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"fiH" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -15693,6 +15637,16 @@
},
/turf/open/floor/wood/large,
/area/station/service/bar/atrium)
+"fjk" = (
+/obj/machinery/vending/wardrobe/law_wardrobe,
+/obj/structure/extinguisher_cabinet/directional/east,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/service/lawoffice)
"fjw" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -15718,19 +15672,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/lockers)
-"fjG" = (
-/obj/effect/turf_decal/stripes/white/line{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
- },
-/obj/structure/mannequin/skeleton{
- dir = 8
- },
-/obj/item/radio/intercom/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"fjI" = (
/obj/structure/chair/office{
dir = 4
@@ -15743,6 +15684,26 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/solars/starboard/fore)
+"fjZ" = (
+/obj/structure/table/wood,
+/obj/item/storage/fancy/candle_box,
+/obj/item/storage/fancy/candle_box,
+/obj/item/storage/fancy/candle_box{
+ pixel_x = 6;
+ pixel_y = 5
+ },
+/obj/item/storage/fancy/candle_box{
+ pixel_x = -5;
+ pixel_y = 5
+ },
+/obj/item/storage/box/matches{
+ pixel_x = -3;
+ pixel_y = 2
+ },
+/obj/machinery/computer/security/telescreen/monastery/directional/north,
+/obj/machinery/light/warm/dim/directional/north,
+/turf/open/floor/iron/grimy,
+/area/station/service/chapel/office)
"fkw" = (
/obj/effect/landmark/start/hangover,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -15779,13 +15740,6 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/service/kitchen)
-"flx" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"flH" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -15798,6 +15752,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
+"flJ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/structure/cable,
+/obj/item/kirbyplants/photosynthetic,
+/turf/open/floor/iron/dark,
+/area/station/ai/upload/chamber)
"flL" = (
/obj/machinery/door/airlock/highsecurity{
name = "AI Chamber"
@@ -15819,6 +15780,19 @@
/obj/structure/cable/layer3,
/turf/open/floor/iron/dark,
/area/station/ai/satellite/interior)
+"flM" = (
+/obj/structure/cable,
+/obj/structure/table,
+/obj/machinery/reagentgrinder{
+ pixel_y = 5
+ },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/hydroponics)
"fmm" = (
/obj/machinery/light/small/directional/north,
/obj/structure/dresser,
@@ -15846,18 +15820,6 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/primary/central)
-"fmv" = (
-/obj/structure/table/wood,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/machinery/newscaster/directional/west,
-/obj/item/camera{
- pixel_y = 4
- },
-/obj/item/hand_tele,
-/turf/open/floor/wood/large,
-/area/station/command/heads_quarters/captain)
"fmx" = (
/obj/effect/turf_decal/loading_area{
dir = 1
@@ -15879,28 +15841,6 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron/dark,
/area/station/commons/locker)
-"fmA" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
-"fmK" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/hallway/primary/aft)
"fmV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -15912,20 +15852,23 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/service/hydroponics)
-"fmY" = (
-/obj/effect/decal/cleanable/dirt,
+"fmX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
/obj/structure/cable,
-/obj/machinery/light/floor,
+/obj/item/kirbyplants/organic/plant21,
+/obj/structure/extinguisher_cabinet/directional/north,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
/turf/open/floor/iron,
-/area/station/cargo/storage)
+/area/station/hallway/primary/starboard)
"fne" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -15944,34 +15887,18 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/storage)
-"fnf" = (
-/obj/item/storage/medkit/regular{
- pixel_x = 3;
- pixel_y = -3
- },
-/obj/item/storage/medkit/brute{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/medkit/brute,
-/obj/item/storage/medkit/brute{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/structure/table/glass,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/machinery/door/window/left/directional/east{
- name = "First-Aid Supplies";
- req_access = list("medical")
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
+"fnr" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/machinery/computer/atmos_control/plasma_tank{
dir = 4
},
-/turf/open/floor/iron/dark,
-/area/station/medical/storage)
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/effect/turf_decal/tile/yellow/opposingcorners{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"fnu" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -16016,6 +15943,10 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark,
/area/station/service/bar/atrium)
+"foa" = (
+/obj/effect/spawner/structure/window/reinforced/plasma,
+/turf/open/floor/plating/airless,
+/area/station/engineering/atmos/pumproom)
"fob" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -16031,6 +15962,12 @@
/obj/machinery/status_display/ai/directional/east,
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
+"foG" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 10
+ },
+/turf/closed/wall/r_wall,
+/area/station/engineering/supermatter/engine)
"foP" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -16067,6 +16004,17 @@
/obj/item/clothing/glasses/sunglasses/big,
/turf/open/floor/carpet/green,
/area/station/service/lawoffice)
+"foV" = (
+/obj/structure/chair/stool/directional/south,
+/obj/structure/cable,
+/obj/effect/landmark/navigate_destination/incinerator,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/disposal/incinerator)
"fpk" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -16075,16 +16023,6 @@
},
/turf/open/floor/engine,
/area/station/ai/satellite/atmos)
-"fpn" = (
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/commons/fitness/recreation)
"fpx" = (
/obj/structure/chair/office/light{
dir = 4
@@ -16116,6 +16054,15 @@
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
+"fpN" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/chemistry)
"fpQ" = (
/obj/effect/turf_decal/loading_area{
dir = 8
@@ -16138,11 +16085,20 @@
/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
/turf/open/floor/iron/dark/airless,
/area/station/science/ordnance/freezerchamber)
+"fqd" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/cargo/miningdock)
"fqe" = (
/obj/structure/extinguisher_cabinet/directional/east,
/obj/structure/cable,
-/obj/structure/closet/radiation,
-/obj/item/clothing/glasses/meson,
/obj/machinery/power/apc/auto_name/directional/north,
/turf/open/floor/circuit/green{
luminosity = 2
@@ -16174,17 +16130,6 @@
},
/turf/open/floor/iron/dark/corner,
/area/station/hallway/primary/starboard)
-"fqu" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/purple,
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 4
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron/showroomfloor,
-/area/station/command/heads_quarters/rd)
"fqG" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -16215,16 +16160,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/storage_shared)
-"fqO" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"fqP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/disposal/bin/tagger,
@@ -16276,6 +16211,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"frV" = (
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/security/prison/garden)
"fsd" = (
/obj/machinery/door/airlock/maintenance,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -16287,18 +16234,20 @@
/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard)
-"fse" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 10
+"fsf" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/heater{
+ dir = 1
},
/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
+ dir = 4
},
-/obj/effect/turf_decal/tile/blue{
- dir = 1
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
},
/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/area/station/engineering/atmos/pumproom)
"fsj" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -16317,10 +16266,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"fsu" = (
-/obj/structure/sign/warning/secure_area,
-/turf/closed/wall,
-/area/station/engineering/atmos)
"fsx" = (
/obj/effect/turf_decal/box/corners{
dir = 4
@@ -16330,6 +16275,24 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
+"fsB" = (
+/obj/machinery/atmospherics/components/trinary/filter/layer2,
+/obj/machinery/button/door/incinerator_vent_atmos_main{
+ pixel_x = 26;
+ pixel_y = -4
+ },
+/obj/machinery/button/door/incinerator_vent_atmos_aux{
+ pixel_x = 26;
+ pixel_y = 6
+ },
+/obj/machinery/camera/directional/east{
+ c_tag = "Atmospherics Incinerator";
+ name = "atmospherics camera";
+ network = list("ss13","engine")
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/iron/smooth_large,
+/area/station/maintenance/disposal/incinerator)
"fsJ" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -16365,18 +16328,21 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/ai/upload/chamber)
-"fts" = (
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
- dir = 5
+"ftq" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Atmospherics Maintenance"
},
-/obj/effect/turf_decal/stripes/corner{
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/obj/machinery/duct,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
+/turf/open/floor/iron/dark,
+/area/station/maintenance/aft)
"ftz" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -16392,29 +16358,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/kitchen)
-"ftJ" = (
-/obj/effect/decal/cleanable/cobweb,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/firealarm/directional/west,
-/obj/item/radio/intercom/directional/north,
-/obj/machinery/pdapainter/supply,
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/qm)
-"ftS" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/machinery/button/door/directional/west{
- id = "Secure Storage";
- name = "Secure Storage Toggle";
- req_access = list("engine_equip")
- },
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"ftX" = (
/obj/machinery/power/smes,
/obj/effect/turf_decal/bot,
@@ -16467,6 +16410,12 @@
"fuB" = (
/turf/closed/wall/rust,
/area/station/maintenance/starboard/aft)
+"fuM" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"fuX" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -16496,6 +16445,17 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/fore)
+"fva" = (
+/obj/structure/table,
+/obj/structure/bedsheetbin,
+/obj/machinery/status_display/evac/directional/south,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/cold/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/commons/toilet/restrooms)
"fvb" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -16568,22 +16528,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"fvQ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/hallway)
"fvT" = (
/obj/machinery/computer/records/security{
dir = 4
@@ -16608,29 +16552,12 @@
},
/turf/open/floor/iron/dark/corner,
/area/station/hallway/primary/port)
-"fwd" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/turf_decal/siding/yellow{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
+"fwm" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 5
},
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
-"fwf" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"fwJ" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/siding/wood{
@@ -16638,12 +16565,35 @@
},
/turf/open/floor/iron/grimy,
/area/station/service/chapel/office)
+"fwR" = (
+/obj/structure/table,
+/obj/item/stack/sheet/iron/fifty,
+/obj/item/stack/sheet/iron/fifty,
+/obj/item/clothing/head/utility/welding{
+ pixel_x = 4;
+ pixel_y = 4
+ },
+/obj/item/clothing/head/utility/welding,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/storage)
"fxd" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small/directional/north,
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/central)
+"fxq" = (
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{
+ dir = 5
+ },
+/obj/machinery/power/smes,
+/obj/structure/cable,
+/obj/effect/turf_decal/delivery/red,
+/turf/open/floor/iron/smooth_large,
+/area/station/maintenance/disposal/incinerator)
"fxt" = (
/obj/machinery/chem_heater/withbuffer,
/obj/effect/turf_decal/bot,
@@ -16652,21 +16602,28 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/pharmacy)
+"fxu" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/trinary/mixer/airmix,
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"fxw" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/security/mechbay)
-"fxB" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible,
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 8;
- name = "Air to Mix"
+"fxy" = (
+/obj/machinery/status_display/ai/directional/west,
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
},
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
+/obj/structure/cable/layer3,
+/turf/open/floor/engine,
+/area/station/ai/satellite/chamber)
"fxP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/table,
@@ -16721,6 +16678,15 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
+"fyd" = (
+/obj/effect/turf_decal/arrows/white{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/iron/smooth_half{
+ dir = 8
+ },
+/area/station/engineering/atmos)
"fyf" = (
/obj/structure/table/wood,
/obj/item/clipboard,
@@ -16729,17 +16695,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/courtroom)
-"fyh" = (
-/obj/structure/table,
-/obj/machinery/processor{
- pixel_y = 6
- },
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/service/kitchen)
"fyj" = (
/obj/structure/cable,
/turf/closed/wall/r_wall,
@@ -16795,6 +16750,12 @@
/obj/item/kirbyplants/random,
/turf/open/floor/iron/dark,
/area/station/service/chapel)
+"fyQ" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/wall_healer/directional/south,
+/obj/machinery/light/directional/south,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"fyZ" = (
/obj/structure/chair/office/light{
dir = 4
@@ -16831,6 +16792,13 @@
/obj/effect/spawner/random/structure/crate,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"fzA" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"fzG" = (
/obj/machinery/vending/medical,
/obj/effect/turf_decal/delivery,
@@ -16865,14 +16833,33 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"fAk" = (
-/obj/machinery/status_display/evac/directional/north,
-/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
+"fzQ" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/office)
+"fAA" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green/anticorner/contrasted,
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 6
+ },
+/obj/structure/railing/corner/end{
dir = 4
},
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/turf/open/floor/iron,
-/area/station/security/courtroom)
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"fAI" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/trimline/purple/filled/line{
@@ -16889,18 +16876,6 @@
dir = 8
},
/area/station/service/chapel)
-"fAW" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/machinery/status_display/ai/directional/north,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/security/execution/transfer)
"fBh" = (
/obj/machinery/door/airlock/maintenance,
/obj/structure/disposalpipe/segment{
@@ -16913,6 +16888,15 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/department/cargo)
+"fBj" = (
+/obj/machinery/door/airlock/public/glass{
+ name = "Auxiliary Dock"
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/exit/departure_lounge)
"fBm" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/window/reinforced/spawner/directional/west,
@@ -16942,13 +16926,6 @@
/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office,
/turf/open/floor/iron/dark,
/area/station/service/chapel/office)
-"fBw" = (
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"fBF" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -16963,6 +16940,31 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/command/heads_quarters/hop)
+"fBV" = (
+/obj/machinery/atmospherics/components/trinary/filter{
+ dir = 4
+ },
+/obj/effect/turf_decal/delivery,
+/obj/machinery/light_switch/directional/north,
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/ordnance)
+"fBW" = (
+/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/bar/anticorner/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible,
+/obj/structure/railing/corner/end/flip{
+ dir = 8
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"fBX" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral/half/contrasted,
@@ -17015,20 +17017,12 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating,
/area/station/maintenance/solars/port/fore)
-"fCe" = (
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
-"fCf" = (
-/obj/structure/flora/bush/flowers_yw/style_random,
-/obj/effect/turf_decal/siding/thinplating/dark,
-/turf/open/floor/grass,
-/area/station/service/chapel)
+"fCm" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/grille/broken,
+/obj/effect/spawner/random/trash/caution_sign,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"fCs" = (
/obj/structure/chair/wood{
dir = 8
@@ -17078,6 +17072,10 @@
},
/turf/open/floor/iron/dark,
/area/station/security/lockers)
+"fDo" = (
+/obj/machinery/air_sensor/carbon_tank,
+/turf/open/floor/engine/co2,
+/area/station/engineering/atmos)
"fDB" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/grunge{
@@ -17088,10 +17086,6 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/locker)
-"fDS" = (
-/obj/machinery/air_sensor/carbon_tank,
-/turf/open/floor/engine/co2,
-/area/station/engineering/atmos)
"fDT" = (
/obj/structure/closet/secure_closet/brig{
name = "Prisoner Locker"
@@ -17101,16 +17095,12 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/security/execution/transfer)
-"fEb" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/trinary/mixer{
- name = "plasma mixer"
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
+"fDU" = (
+/obj/structure/chair/comfy/brown{
+ dir = 4
},
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
+/turf/open/floor/carpet/royalblack,
+/area/station/command/heads_quarters/captain)
"fEc" = (
/obj/item/kirbyplants/organic/applebush,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -17150,21 +17140,6 @@
/obj/effect/mapping_helpers/airlock/access/all/medical/general,
/turf/open/floor/iron/dark,
/area/station/medical/storage)
-"fEu" = (
-/obj/effect/turf_decal/siding/yellow{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"fEC" = (
/obj/machinery/camera/directional/east{
c_tag = "Xenobiology Cell 6";
@@ -17247,6 +17222,12 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
+"fFG" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"fFH" = (
/obj/structure/chair/sofa/right/brown,
/obj/effect/landmark/start/psychologist,
@@ -17332,6 +17313,24 @@
/obj/machinery/iv_drip,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/virology)
+"fGW" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
+ dir = 1
+ },
+/obj/machinery/meter,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
+"fHc" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/railing/corner/end/flip{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"fHj" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -17350,17 +17349,6 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
-"fHH" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
- dir = 4
- },
-/obj/machinery/computer/atmos_control/plasma_tank{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple/fourcorners,
-/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/atmos)
"fHZ" = (
/obj/structure/table,
/obj/item/assembly/signaler{
@@ -17525,15 +17513,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/captain)
-"fJy" = (
-/obj/machinery/flasher/portable,
-/obj/effect/turf_decal/box,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/machinery/light/small/red/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/security/armory)
"fJz" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -17626,17 +17605,12 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
-"fKD" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/obj/machinery/airalarm/directional/south,
-/obj/effect/mapping_helpers/airalarm/engine_access,
-/obj/effect/mapping_helpers/airalarm/link{
- chamber_id = "engine"
- },
-/obj/effect/mapping_helpers/airalarm/tlv_no_checks,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
+"fKG" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/machinery/atmospherics/components/trinary/filter/atmos/n2o,
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"fKJ" = (
/obj/structure/flora/bush/sparsegrass/style_random,
/obj/structure/flora/bush/lavendergrass/style_random,
@@ -17660,19 +17634,20 @@
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/station/ai/satellite/maintenance/storage)
-"fLi" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"fLf" = (
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/turf_decal/tile/red/half/contrasted,
+/obj/machinery/holopad/secure,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron,
+/area/station/security/office)
+"fLh" = (
/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/landmark/event_spawn,
-/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/light/floor,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
-/area/station/command/bridge)
+/area/station/engineering/atmos)
"fLo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -17727,26 +17702,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/solars/starboard/fore)
-"fLE" = (
-/obj/item/clothing/mask/gas/sechailer{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/clothing/mask/gas/sechailer,
-/obj/item/clothing/mask/gas/sechailer{
- pixel_x = 3;
- pixel_y = -3
- },
-/obj/item/flashlight/seclite,
-/obj/item/flashlight/seclite,
-/obj/item/flashlight/seclite,
-/obj/effect/decal/cleanable/cobweb,
-/obj/machinery/airalarm/directional/west,
-/obj/structure/table,
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/light/small/red/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/security/armory)
"fLH" = (
/obj/effect/decal/cleanable/blood/old,
/obj/machinery/air_sensor/ordnance_burn_chamber,
@@ -17777,27 +17732,6 @@
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron,
/area/station/command/bridge)
-"fMA" = (
-/obj/structure/table/wood/fancy/black,
-/obj/item/food/grown/flower/poppy/geranium{
- pixel_x = -6;
- pixel_y = 6
- },
-/obj/item/food/grown/flower/poppy/geranium{
- pixel_x = 6;
- pixel_y = 6
- },
-/obj/item/food/grown/flower/poppy/geranium,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
-"fMF" = (
-/obj/machinery/camera/directional/west{
- c_tag = "Atmospherics Tank - Plasma";
- name = "atmospherics camera";
- network = list("ss13","engine")
- },
-/turf/open/floor/engine/plasma,
-/area/station/engineering/atmos)
"fML" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -17827,6 +17761,36 @@
/obj/structure/flora/grass/jungle/b/style_random,
/turf/open/misc/asteroid,
/area/station/maintenance/port/lesser)
+"fNW" = (
+/obj/structure/table,
+/obj/item/clipboard,
+/obj/item/disk/computer/ordnance,
+/obj/item/disk/computer/ordnance,
+/obj/item/disk/computer/ordnance,
+/obj/item/circuitboard/aicore{
+ pixel_y = 5
+ },
+/obj/item/hand_labeler,
+/obj/machinery/airalarm/directional/west,
+/obj/item/pai_card{
+ pixel_x = 6
+ },
+/obj/item/aicard,
+/obj/item/taperecorder{
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/rd)
+"fNX" = (
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"fOd" = (
/obj/machinery/chem_master/condimaster{
desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments.";
@@ -17878,11 +17842,15 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
-"fOH" = (
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
-/obj/machinery/meter,
-/turf/closed/wall/r_wall,
-/area/station/engineering/atmos)
+"fOz" = (
+/obj/item/kirbyplants,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/station/command/bridge)
"fOI" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/old,
@@ -17919,21 +17887,6 @@
dir = 4
},
/area/station/hallway/primary/fore)
-"fPk" = (
-/obj/structure/table/wood,
-/obj/item/folder/red,
-/obj/item/lighter{
- pixel_x = -4;
- pixel_y = 4
- },
-/obj/item/cigarette/cigar/cohiba{
- pixel_x = 6
- },
-/obj/item/cigarette/cigar,
-/obj/machinery/airalarm/directional/west,
-/obj/item/paper_bin,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/hos)
"fPp" = (
/obj/effect/landmark/start/hangover,
/obj/effect/turf_decal/stripes/line{
@@ -17960,6 +17913,19 @@
/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/lesser)
+"fPt" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/closet/secure_closet/personal,
+/obj/item/storage/backpack,
+/obj/item/storage/backpack/satchel,
+/obj/item/clothing/suit/hooded/wintercoat,
+/obj/item/clothing/shoes/winterboots,
+/obj/machinery/airalarm/directional/north,
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/commons/locker)
"fPN" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/power/apc/auto_name/directional/north,
@@ -18033,6 +17999,15 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
+"fQI" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"fQM" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -18057,22 +18032,13 @@
/obj/machinery/duct,
/turf/open/floor/iron/grimy,
/area/station/security/prison/safe)
-"fQY" = (
-/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/highsecurity{
- name = "AI Upload"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+"fRa" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"fRf" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/brown/half/contrasted{
@@ -18083,14 +18049,17 @@
},
/turf/open/floor/iron,
/area/station/cargo/warehouse)
-"fRm" = (
+"fRl" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line{
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 8
},
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"fRp" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -18127,23 +18096,6 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
-"fRC" = (
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 5
- },
-/obj/effect/turf_decal/stripes/corner,
-/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/machinery/duct,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"fRP" = (
/obj/structure/chair{
dir = 8
@@ -18162,13 +18114,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/auxlab)
-"fSm" = (
-/obj/machinery/gulag_teleporter,
-/obj/effect/turf_decal/box,
-/obj/effect/turf_decal/stripes/corner,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/security/processing)
"fSt" = (
/turf/closed/wall/r_wall/rust,
/area/station/engineering/storage_shared)
@@ -18263,17 +18208,6 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/ai/satellite/maintenance/storage)
-"fTa" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/machinery/duct,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
"fTr" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -18292,6 +18226,21 @@
/obj/machinery/power/apc/auto_name/directional/west,
/turf/open/floor/iron/dark,
/area/station/security/processing)
+"fTV" = (
+/obj/structure/table/wood/fancy,
+/obj/effect/turf_decal/siding/wideplating/dark/corner,
+/obj/item/food/grown/flower/poppy{
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/item/food/grown/flower/poppy{
+ pixel_x = 6;
+ pixel_y = 6
+ },
+/obj/item/food/grown/flower/poppy,
+/obj/machinery/airalarm/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
"fTW" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/rack,
@@ -18318,14 +18267,13 @@
/obj/effect/turf_decal/tile/red/anticorner/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/security/brig)
-"fUj" = (
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/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/hallway/primary/central/fore)
+"fUi" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"fUp" = (
/obj/machinery/chem_heater/withbuffer,
/obj/effect/decal/cleanable/dirt,
@@ -18334,6 +18282,20 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/chemistry)
+"fUH" = (
+/obj/machinery/computer/shuttle/labor{
+ dir = 1
+ },
+/obj/structure/sign/warning/vacuum/external/directional/south,
+/obj/machinery/camera/directional/south{
+ c_tag = "Transferring Centre Dock"
+ },
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/red/half/contrasted,
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/security/processing)
"fUQ" = (
/obj/effect/turf_decal/stripes/line,
/obj/structure/sign/warning/vacuum/external/directional/west,
@@ -18374,30 +18336,6 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/starboard)
-"fVl" = (
-/obj/item/radio/intercom/directional/west,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 4;
- name = "N2 to Pure"
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
-"fVB" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/shieldgen,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/camera/directional/west{
- c_tag = "Secure Storage";
- name = "engineering camera";
- network = list("ss13","engine")
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/supermatter/room)
"fVF" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -18423,23 +18361,23 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
-"fWg" = (
-/obj/structure/table,
-/obj/item/clipboard,
-/obj/item/folder/red,
-/obj/item/restraints/handcuffs,
-/obj/item/melee/baseball_bat{
- desc = "A staple of security force interrogations.";
- icon_state = "baseball_bat_metal";
- name = "kneecapper"
+"fVX" = (
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible,
+/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{
+ dir = 4
},
-/obj/machinery/status_display/ai/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
+ dir = 1
},
-/obj/machinery/light/dim/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/security/execution/education)
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"fWk" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 8
@@ -18472,6 +18410,16 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"fWZ" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 8
+ },
+/obj/machinery/meter,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"fXm" = (
/obj/structure/table,
/obj/item/clipboard,
@@ -18493,35 +18441,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"fXK" = (
-/obj/structure/chair/sofa/bench/right{
- dir = 4
- },
-/obj/effect/landmark/start/assistant,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/machinery/light/dim/directional/west,
-/turf/open/floor/wood,
-/area/station/service/chapel/monastery)
"fXL" = (
/turf/closed/wall/rust,
/area/station/service/chapel/office)
-"fXP" = (
-/obj/machinery/newscaster/directional/east,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/machinery/light/warm/dim/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/funeral)
"fXQ" = (
-/obj/effect/turf_decal/caution/stand_clear,
/obj/machinery/door/poddoor/shutters/radiation/preopen{
id = "engsm";
- name = "Radiation Chamber Shutters"
+ name = "Radiation Chamber Shutters";
+ dir = 8
},
-/turf/open/floor/iron/dark,
+/obj/effect/turf_decal/caution/stand_clear{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/textured_large,
/area/station/engineering/supermatter/engine)
"fXS" = (
/obj/machinery/door/firedoor,
@@ -18552,6 +18484,32 @@
/obj/machinery/duct,
/turf/open/floor/iron/dark,
/area/station/service/janitor)
+"fYt" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/conveyor{
+ dir = 1;
+ id = "QMLoad";
+ name = "off ramp"
+ },
+/obj/machinery/camera/directional/east{
+ c_tag = "Cargo Ramps";
+ name = "cargo camera";
+ network = list("ss13","qm")
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/light/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/cargo/storage)
+"fYv" = (
+/obj/structure/chair/office{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/dark,
+/area/station/hallway/primary/aft)
"fYw" = (
/turf/closed/wall/r_wall,
/area/station/medical/surgery/theatre)
@@ -18572,21 +18530,19 @@
/obj/machinery/computer/security/telescreen/med_sec/directional/south,
/turf/open/floor/iron/dark,
/area/station/security/checkpoint/medical)
-"fZj" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
+"fYV" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Plasma to Pure"
},
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
-"fZk" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/effect/turf_decal/tile/yellow/opposingcorners{
+ dir = 1
},
-/obj/effect/turf_decal/box,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"fZy" = (
/obj/effect/turf_decal/siding/blue/corner{
dir = 1
@@ -18602,13 +18558,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/service/chapel/funeral)
-"gab" = (
-/obj/machinery/computer/atmos_control/nocontrol/incinerator{
- dir = 4
- },
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
"gao" = (
/obj/machinery/door/airlock/research{
name = "Testing Lab"
@@ -18640,11 +18589,22 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/pharmacy)
+"gaN" = (
+/obj/structure/closet/secure_closet/psychology,
+/obj/item/radio/intercom/directional/north,
+/turf/open/floor/carpet,
+/area/station/medical/psychology)
"gaR" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"gaX" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"gba" = (
/obj/machinery/light/directional/west,
/obj/structure/extinguisher_cabinet/directional/north{
@@ -18657,6 +18617,22 @@
dir = 1
},
/area/station/hallway/primary/central/fore)
+"gbc" = (
+/obj/structure/table,
+/obj/item/paper_bin{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/item/pen,
+/obj/item/toy/figure/atmos{
+ pixel_x = 8;
+ pixel_y = 6
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"gbd" = (
/obj/structure/cable,
/obj/structure/sink/directional/east,
@@ -18717,11 +18693,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
-"gbx" = (
-/obj/structure/cable,
-/obj/machinery/light/floor,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/xenobiology)
"gbB" = (
/obj/item/disk/computer/medical,
/obj/item/disk/computer/medical,
@@ -18739,12 +18710,14 @@
name = "Gravity Generator Blast Door"
},
/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/caution/stand_clear,
/obj/machinery/button/door/directional/north{
id = "gravity";
name = "Gravity Generator Lockdown";
req_one_access = list("command","tech_storage")
},
+/obj/effect/turf_decal/caution/stand_clear{
+ dir = 8
+ },
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/aft)
"gbO" = (
@@ -18776,11 +18749,21 @@
/obj/machinery/status_display/evac/directional/north,
/turf/open/floor/iron/dark,
/area/station/maintenance/fore)
-"gbY" = (
-/obj/effect/turf_decal/bot/left,
-/obj/effect/decal/cleanable/ash,
+"gcc" = (
+/obj/effect/turf_decal/siding/thinplating/dark{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
+"gcj" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted,
+/obj/effect/turf_decal/tile/yellow,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/obj/effect/turf_decal/box,
/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
+/area/station/hallway/secondary/exit/departure_lounge)
"gcp" = (
/obj/effect/turf_decal/bot,
/obj/structure/window/reinforced/spawner/directional/south,
@@ -18799,39 +18782,22 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"gcy" = (
-/obj/structure/table,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
+"gcA" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/item/radio/intercom/directional/north,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"gcL" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/spawner/random/engineering/tracking_beacon,
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation)
-"gcV" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/structure/table,
-/obj/item/clothing/gloves/latex,
-/obj/item/paper/guides/jobs/medical/morgue,
-/obj/item/pen,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
-"gdf" = (
-/obj/structure/table,
-/obj/machinery/status_display/ai/directional/west,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/machinery/light/cold/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/ai/satellite/foyer)
"gdA" = (
/obj/machinery/door/airlock/maintenance,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -18932,6 +18898,11 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/medical/morgue)
+"geW" = (
+/obj/structure/lattice,
+/obj/structure/transit_tube,
+/turf/open/space/basic,
+/area/space/nearstation)
"gfc" = (
/obj/structure/filingcabinet,
/obj/effect/turf_decal/bot_white,
@@ -18959,17 +18930,27 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
-"gfy" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/holopad,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron/showroomfloor,
-/area/station/security/warden)
"gfz" = (
/obj/structure/flora/bush/sparsegrass/style_random,
/obj/structure/flora/bush/stalky/style_random,
/turf/open/floor/grass,
/area/station/service/hydroponics/garden)
+"gfJ" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/item/kirbyplants/organic/plant16,
+/obj/effect/turf_decal/box/corners{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"ggb" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
@@ -18983,22 +18964,6 @@
},
/turf/open/floor/iron/chapel,
/area/station/service/chapel)
-"ggD" = (
-/obj/structure/table,
-/obj/item/storage/crayons,
-/obj/item/clothing/under/color/grey{
- pixel_x = 4;
- pixel_y = 4
- },
-/obj/item/clothing/under/color/grey,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/commons/fitness/recreation)
"ggF" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -19038,6 +19003,16 @@
/obj/machinery/light_switch/directional/west,
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/service/kitchen/coldroom)
+"ghr" = (
+/obj/effect/decal/cleanable/cobweb,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/firealarm/directional/west,
+/obj/item/radio/intercom/directional/north,
+/obj/machinery/pdapainter/supply,
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/qm)
"ght" = (
/obj/structure/cable,
/obj/effect/mapping_helpers/broken_floor,
@@ -19094,27 +19069,19 @@
/obj/effect/mapping_helpers/airlock/access/all/security/brig,
/turf/open/floor/plating,
/area/station/security/execution/transfer)
-"gin" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
-"gip" = (
-/obj/machinery/light/directional/south,
-/obj/structure/disposalpipe/segment{
- dir = 4
+"gil" = (
+/obj/machinery/requests_console/directional/south{
+ department = "Janitorial";
+ name = "Janitorial Requests Console"
},
-/obj/effect/turf_decal/tile/red/half/contrasted,
-/obj/effect/turf_decal/tile/neutral,
+/obj/effect/mapping_helpers/requests_console/assistance,
+/obj/effect/turf_decal/stripes/corner,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/purple/half/contrasted,
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/light/warm/directional/south,
/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
+/area/station/service/janitor)
"gix" = (
/obj/effect/turf_decal/box,
/obj/structure/cable,
@@ -19127,6 +19094,20 @@
},
/turf/open/floor/engine,
/area/station/engineering/storage/tech)
+"giC" = (
+/obj/structure/cable,
+/obj/machinery/wall_healer/directional/north,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"giH" = (
/obj/structure/sign/poster/official/help_others,
/turf/closed/wall/r_wall/rust,
@@ -19160,12 +19141,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"giU" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/portable_atmospherics/canister/oxygen,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"gjv" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -19189,6 +19164,16 @@
/obj/structure/cable,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/virology)
+"gjB" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/thinplating/dark{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/wideplating/dark/corner,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
"gjD" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -19223,6 +19208,14 @@
},
/turf/open/floor/iron/dark,
/area/station/service/hydroponics/garden)
+"gjM" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/structure/window/spawner/directional/east,
+/obj/structure/table/optable,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"gjP" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/door/window/right/directional/south{
@@ -19266,14 +19259,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/science/robotics/lab)
-"gkx" = (
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
-/obj/structure/lattice/catwalk,
-/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible{
- dir = 4
- },
-/turf/open/space/basic,
-/area/space/nearstation)
"gkD" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -19297,6 +19282,16 @@
/obj/effect/turf_decal/tile/purple/anticorner/contrasted,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"gkX" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/kirbyplants/organic/plant21{
+ desc = "After his promotion, he was transferred to Kilo Station to serve as the gateway's protector.";
+ name = "rodger"
+ },
+/obj/effect/turf_decal/tile/blue/half/contrasted,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/command/gateway)
"glo" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/cobweb/cobweb2,
@@ -19311,6 +19306,16 @@
"glI" = (
/turf/closed/indestructible/opshuttle,
/area/station/science/ordnance/bomb)
+"glJ" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/ce)
+"glQ" = (
+/obj/structure/lattice,
+/obj/structure/sign/warning/fire/directional/west,
+/turf/open/space/basic,
+/area/space/nearstation)
"glX" = (
/obj/machinery/holopad,
/turf/open/floor/carpet/green,
@@ -19363,6 +19368,15 @@
/obj/structure/sign/warning/pods,
/turf/closed/wall/rust,
/area/station/maintenance/starboard)
+"gmU" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/public/glass{
+ name = "Chapel Hallway"
+ },
+/turf/open/floor/iron/dark,
+/area/station/hallway/primary/fore)
"gne" = (
/obj/machinery/door/airlock/public/glass{
name = "Docking Hallway"
@@ -19381,6 +19395,12 @@
"gnh" = (
/turf/closed/wall/r_wall,
/area/station/service/chapel)
+"gnj" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/service/chapel)
"gnp" = (
/obj/structure/table/wood,
/obj/effect/turf_decal/siding/wood/end,
@@ -19392,22 +19412,6 @@
/obj/item/flashlight/lantern,
/turf/open/floor/carpet/red,
/area/station/service/chapel)
-"gns" = (
-/obj/machinery/status_display/ai/directional/south,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/structure/frame/computer{
- anchored = 1;
- dir = 1
- },
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/cargo/drone_bay)
"gny" = (
/obj/structure/cable,
/obj/effect/turf_decal/sand/plating,
@@ -19482,13 +19486,6 @@
/obj/machinery/light/floor,
/turf/open/floor/engine/n2,
/area/station/engineering/atmos)
-"got" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/firealarm/directional/south,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"gou" = (
/obj/effect/turf_decal/box/corners{
dir = 8
@@ -19498,17 +19495,6 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/gravity_generator)
-"goz" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"goG" = (
/obj/effect/turf_decal/siding/yellow{
dir = 4
@@ -19521,6 +19507,26 @@
/obj/effect/turf_decal/tile/red,
/turf/open/floor/iron,
/area/station/engineering/storage_shared)
+"goL" = (
+/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/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/brown/hidden{
+ dir = 10
+ },
+/turf/open/floor/iron,
+/area/station/engineering/hallway)
+"goO" = (
+/obj/structure/flora/bush/flowers_yw/style_random,
+/obj/effect/turf_decal/siding/thinplating/dark,
+/turf/open/floor/grass,
+/area/station/service/chapel)
"goY" = (
/obj/structure/chair/pew/right{
dir = 4
@@ -19534,12 +19540,6 @@
},
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
-"gpe" = (
-/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrous_input{
- dir = 1
- },
-/turf/open/floor/engine/n2o,
-/area/station/engineering/atmos)
"gpy" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -19580,11 +19580,6 @@
},
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"gpL" = (
-/obj/effect/spawner/structure/window/reinforced/plasma,
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible,
-/turf/open/floor/plating/airless,
-/area/station/engineering/supermatter/room)
"gpM" = (
/obj/item/kirbyplants/organic/plant21,
/obj/effect/turf_decal/tile/red{
@@ -19618,18 +19613,6 @@
/obj/effect/turf_decal/tile/red/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/service/bar/atrium)
-"gpX" = (
-/obj/structure/table,
-/obj/item/folder{
- pixel_x = -4
- },
-/obj/item/pai_card,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/commons/fitness/recreation)
"gqk" = (
/obj/machinery/chem_heater/withbuffer,
/obj/effect/turf_decal/bot,
@@ -19690,11 +19673,32 @@
/obj/item/clothing/suit/toggle/jacket/det_trench/noir,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"gqL" = (
+/obj/structure/transit_tube/horizontal,
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space/nearstation)
"gqR" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
+"grj" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/dark{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/dark{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/station/maintenance/disposal/incinerator)
"grq" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -19721,10 +19725,6 @@
},
/turf/open/floor/iron,
/area/station/security/office)
-"gry" = (
-/obj/structure/sign/warning/fire,
-/turf/closed/wall/r_wall,
-/area/station/maintenance/aft)
"grQ" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/hatch{
@@ -19742,17 +19742,6 @@
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/station/solars/port/fore)
-"grZ" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"gse" = (
/obj/structure/chair/pew/left{
dir = 8
@@ -19764,15 +19753,6 @@
dir = 1
},
/area/station/service/chapel)
-"gso" = (
-/obj/structure/closet/secure_closet/engineering_personal,
-/obj/item/clothing/suit/hooded/wintercoat/engineering,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/light_switch/directional/north,
-/obj/item/pickaxe/mini,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage_shared)
"gsr" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -19801,16 +19781,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"gsB" = (
-/obj/structure/table,
-/obj/item/pipe_dispenser,
-/obj/item/holosign_creator/atmos,
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"gsO" = (
/obj/effect/landmark/start/cargo_technician,
/obj/structure/chair/office{
@@ -19824,34 +19794,13 @@
},
/turf/open/floor/iron,
/area/station/cargo/office)
-"gsR" = (
-/obj/structure/table/wood,
-/obj/item/storage/photo_album/library{
- pixel_x = -4;
- pixel_y = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/item/taperecorder{
- pixel_x = 5;
- pixel_y = 4
- },
-/obj/item/camera,
-/obj/item/pen{
- pixel_x = -7;
- pixel_y = -5
- },
-/obj/machinery/light/small/directional/west,
-/obj/machinery/camera/directional/west{
- c_tag = "Library Backroom";
- name = "library camera"
- },
-/obj/structure/sign/painting/large/library_private{
- dir = 8;
- pixel_x = -29
+"gth" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 4
},
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/turf/open/floor/iron/dark,
-/area/station/service/library)
+/turf/open/floor/plating,
+/area/station/engineering/atmos)
"gtj" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
@@ -19903,18 +19852,20 @@
"gtW" = (
/turf/closed/wall/r_wall,
/area/station/command/heads_quarters/rd)
+"gtX" = (
+/obj/machinery/teleport/station,
+/obj/machinery/status_display/evac/directional/east,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/ai/satellite/foyer)
"gua" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/showroomfloor,
/area/station/security/medical)
-"guq" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
"guu" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -19940,17 +19891,23 @@
"guJ" = (
/turf/open/misc/asteroid,
/area/station/maintenance/port/lesser)
-"guS" = (
-/obj/structure/extinguisher_cabinet/directional/south,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
+"guQ" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/camera/directional/east{
+ c_tag = "E.V.A. Storage";
+ name = "command camera"
},
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
-/obj/effect/turf_decal/tile/red,
-/obj/machinery/vending/tool,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
+/obj/machinery/suit_storage_unit/standard_unit{
+ desc = "An industrial suit storage device carrying retro space suits. Neat!";
+ helmet_type = /obj/item/clothing/head/helmet/space;
+ suit_type = /obj/item/clothing/suit/space
+ },
+/obj/machinery/status_display/ai/directional/east,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/eva)
"guT" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/landmark/blobstart,
@@ -19961,20 +19918,15 @@
/obj/structure/grille,
/turf/closed/wall/r_wall/rust,
/area/station/engineering/atmos)
-"gve" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line{
+"gvt" = (
+/obj/machinery/status_display/evac/directional/west,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
dir = 4
},
-/turf/open/floor/iron/smooth_large,
-/area/station/maintenance/department/chapel/monastery)
-"gvu" = (
-/obj/machinery/portable_atmospherics/canister,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible,
-/obj/effect/turf_decal/box,
-/obj/machinery/status_display/evac/directional/north,
/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
+/area/station/security/courtroom)
"gvx" = (
/obj/structure/closet/secure_closet/evidence,
/obj/effect/turf_decal/bot,
@@ -19982,6 +19934,24 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron/dark,
/area/station/security/evidence)
+"gvD" = (
+/obj/structure/table,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/effect/spawner/random/aimodule/harmful,
+/obj/machinery/door/window/brigdoor/left/directional/south{
+ name = "High-Risk Modules";
+ req_access = list("captain")
+ },
+/turf/open/floor/circuit/red,
+/area/station/ai/upload/chamber)
+"gvI" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/item/radio/intercom/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"gvM" = (
/obj/structure/cable,
/obj/structure/table,
@@ -20006,10 +19976,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"gwk" = (
-/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden,
-/turf/closed/wall,
-/area/station/security/checkpoint/engineering)
"gwn" = (
/obj/effect/turf_decal/box,
/obj/machinery/shower/directional/east,
@@ -20028,13 +19994,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/commons/toilet/restrooms)
-"gwr" = (
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/structure/closet/radiation,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
"gwI" = (
/obj/structure/chair{
dir = 8
@@ -20064,15 +20023,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/engineering/circuit_workshop)
-"gxi" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
-/obj/machinery/camera/autoname/directional/north,
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
"gxu" = (
/obj/effect/turf_decal/delivery,
/obj/structure/cable,
@@ -20083,6 +20033,16 @@
/obj/effect/turf_decal/tile/purple/half/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/science/lab)
+"gxG" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"gxN" = (
/obj/machinery/holopad,
/obj/effect/turf_decal/bot,
@@ -20091,16 +20051,6 @@
/obj/effect/turf_decal/tile/blue/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/lobby)
-"gxS" = (
-/obj/machinery/vending/wardrobe/bar_wardrobe,
-/obj/effect/turf_decal/delivery,
-/obj/effect/decal/cleanable/cobweb,
-/obj/item/radio/intercom/directional/west,
-/obj/structure/extinguisher_cabinet/directional/north,
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/service/bar/backroom)
"gxW" = (
/obj/structure/sign/warning/electric_shock,
/turf/closed/wall,
@@ -20129,12 +20079,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/cargo/bitrunning/den)
-"gyn" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrous_output{
- dir = 1
- },
-/turf/open/floor/engine/n2o,
-/area/station/engineering/atmos)
"gyv" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/rack,
@@ -20157,25 +20101,15 @@
},
/turf/open/floor/iron/dark,
/area/station/command/gateway)
-"gyR" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/camera/directional/east{
- c_tag = "Brig Warden's Office"
- },
-/obj/machinery/airalarm/directional/east,
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 4
+"gzf" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
},
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/light/dim/directional/east,
+/obj/effect/turf_decal/box,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/cable,
/turf/open/floor/iron,
-/area/station/security/brig)
-"gyV" = (
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
+/area/station/hallway/primary/aft)
"gzh" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -20217,20 +20151,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"gzZ" = (
-/obj/effect/spawner/random/trash/hobo_squat,
-/turf/open/floor/plating,
-/area/station/maintenance/port/lesser)
-"gAd" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/kirbyplants/organic/plant21{
- desc = "After his promotion, he was transferred to Kilo Station to serve as the gateway's protector.";
- name = "rodger"
- },
-/obj/effect/turf_decal/tile/blue/half/contrasted,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/command/gateway)
"gAF" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -20266,15 +20186,31 @@
/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/lesser)
-"gBk" = (
-/obj/structure/reagent_dispensers/water_cooler,
-/obj/machinery/button/door/directional/east{
- name = "Psychology Privacy Shutters";
- id = "psychprivacy"
+"gBh" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{
+ dir = 1
},
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/psychology)
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{
+ dir = 1
+ },
+/obj/effect/spawner/structure/window/reinforced/plasma,
+/turf/open/floor/plating,
+/area/station/maintenance/disposal/incinerator)
+"gBj" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/fore)
"gBx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -20336,11 +20272,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"gCq" = (
-/obj/structure/chair/stool/directional/west,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/commons/locker)
"gCu" = (
/obj/structure/chair{
dir = 8
@@ -20468,16 +20399,15 @@
/obj/machinery/newscaster/directional/south,
/turf/open/floor/wood,
/area/station/maintenance/department/crew_quarters/bar)
-"gEo" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible/layer2,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
+"gEx" = (
+/obj/effect/spawner/random/vending/colavend,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
},
-/turf/open/floor/iron,
-/area/station/engineering/hallway)
+/obj/machinery/light/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/hallway/primary/port)
"gEB" = (
/obj/machinery/disposal/bin/tagger,
/obj/effect/turf_decal/bot,
@@ -20496,6 +20426,42 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/qm)
+"gEJ" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/obj/item/assembly/prox_sensor{
+ desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left.";
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/item/assembly/prox_sensor{
+ desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left.";
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/item/assembly/prox_sensor{
+ desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left.";
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/item/assembly/prox_sensor{
+ desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left.";
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/item/stock_parts/power_store/cell/high,
+/obj/item/stock_parts/power_store/cell/high,
+/obj/item/stock_parts/power_store/cell/high,
+/obj/item/crowbar/red,
+/obj/item/toy/figure/roboticist{
+ pixel_x = 6
+ },
+/obj/machinery/light_switch/directional/north,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/robotics/lab)
"gER" = (
/obj/machinery/airalarm/directional/north,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -20595,25 +20561,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/lobby)
-"gGi" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/structure/grille/broken,
-/turf/open/floor/plating/airless,
-/area/space/nearstation)
-"gGp" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/machinery/firealarm/directional/west,
-/obj/machinery/camera/directional/south{
- c_tag = "Laser Room Port";
- name = "laser room camera";
- network = list("ss13","engine")
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter/room)
"gGq" = (
/obj/structure/table,
/obj/machinery/light/small/directional/east,
@@ -20640,22 +20587,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/aft)
-"gGD" = (
-/obj/machinery/flasher/directional/east{
- id = "AI";
- name = "Meatbag Pacifier"
+"gGK" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 8
},
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/end{
- dir = 4
+/obj/machinery/portable_atmospherics/canister/anesthetic_mix,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
},
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
-"gGF" = (
-/obj/structure/grille/broken,
-/obj/structure/lattice,
-/turf/open/space/basic,
-/area/space/nearstation)
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/medical/cryo)
"gGR" = (
/obj/structure/bodycontainer/morgue{
dir = 8
@@ -20682,6 +20626,7 @@
/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
dir = 4
},
+/obj/effect/turf_decal/delivery,
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
"gHe" = (
@@ -20696,16 +20641,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"gHg" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/monastery)
"gHA" = (
/obj/structure/table/reinforced,
/obj/effect/turf_decal/delivery,
@@ -20763,22 +20698,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"gIe" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/item/kirbyplants/organic/plant16,
-/obj/effect/turf_decal/box/corners{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"gIo" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/wrench,
@@ -20787,6 +20706,11 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"gIs" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"gIt" = (
/obj/machinery/door/airlock/maintenance,
/obj/structure/cable,
@@ -20797,10 +20721,6 @@
/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/department/security)
-"gIv" = (
-/obj/item/kirbyplants/random,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
"gIw" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/old,
@@ -20812,24 +20732,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"gIC" = (
-/obj/effect/turf_decal/tile/red,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/effect/turf_decal/box,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
-"gID" = (
-/obj/machinery/vending/wardrobe/law_wardrobe,
-/obj/structure/extinguisher_cabinet/directional/east,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/service/lawoffice)
"gIE" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -20845,46 +20747,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"gIJ" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "departures-entrance"
- },
-/obj/machinery/door/airlock/public/glass{
- name = "Departure Lounge"
- },
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
-"gIW" = (
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
-"gIX" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 6
- },
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
-"gJa" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/iron/dark,
-/area/station/engineering/supermatter/room)
"gJc" = (
/obj/structure/railing{
dir = 1
@@ -20920,18 +20782,9 @@
network = list("ss13","engine")
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/item/radio/intercom/directional/south,
/turf/open/floor/engine,
/area/station/engineering/gravity_generator)
-"gJw" = (
-/obj/structure/rack,
-/obj/effect/turf_decal/bot,
-/obj/item/wrench,
-/obj/effect/decal/cleanable/cobweb,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/tank/internals/oxygen,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/ai/satellite/atmos)
"gJz" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/corner{
@@ -20966,10 +20819,13 @@
/obj/item/stack/cable_coil/five,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
-"gJK" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible,
-/turf/closed/wall/rust,
-/area/station/maintenance/disposal/incinerator)
+"gJX" = (
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"gKd" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -21006,26 +20862,26 @@
"gKI" = (
/turf/closed/wall/rust,
/area/station/cargo/miningoffice)
-"gKR" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/effect/turf_decal/stripes/line,
+"gKJ" = (
+/obj/item/radio/intercom/directional/west,
/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 4;
+ name = "Nitrogen Outlet"
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
+"gKR" = (
/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/main)
-"gKS" = (
-/obj/machinery/disposal/bin/tagger,
-/obj/effect/turf_decal/bot,
-/obj/item/radio/intercom/directional/east,
-/obj/structure/disposalpipe/trunk{
+/obj/effect/turf_decal/tile/neutral{
dir = 1
},
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/effect/turf_decal/tile/blue/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/hop)
+/turf/open/floor/iron,
+/area/station/engineering/main)
"gLm" = (
/obj/machinery/status_display/ai/directional/south,
/obj/effect/decal/cleanable/dirt,
@@ -21035,14 +20891,15 @@
/obj/structure/sign/departments/medbay/alt,
/turf/closed/wall,
/area/station/security/medical)
-"gLG" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
+"gLw" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/poddoor/preopen{
+ id = "atmos";
+ name = "Atmospherics Blast Door"
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/engineering/atmos/office)
"gLH" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -21059,6 +20916,13 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/crew_quarters/bar)
+"gLS" = (
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 9
+ },
+/turf/closed/wall/r_wall,
+/area/station/engineering/supermatter/engine)
"gLT" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -21069,6 +20933,19 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"gMa" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/components/binary/pump/on/layer4{
+ dir = 8;
+ name = "Air Supply Pump";
+ target_pressure = 1200;
+ hide = 1
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"gMg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -21077,14 +20954,12 @@
/obj/effect/turf_decal/caution/stand_clear,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"gMh" = (
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/turf/open/floor/iron/stairs/left{
- dir = 4
- },
-/area/station/service/chapel)
+"gMi" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/hallway/primary/aft)
"gMp" = (
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/dirt,
@@ -21100,6 +20975,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/prison/safe)
+"gMu" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
+"gMx" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/blue/half/contrasted,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"gMy" = (
/obj/structure/lattice,
/obj/structure/window/reinforced/spawner/directional/west,
@@ -21113,13 +21001,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/department/cargo)
-"gMB" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/carpet/royalblue,
-/area/station/service/chapel/office)
"gMC" = (
/obj/machinery/camera/directional/south{
c_tag = "Engineering Storage";
@@ -21128,6 +21009,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/red,
/turf/open/floor/iron,
/area/station/engineering/main)
"gME" = (
@@ -21143,18 +21025,23 @@
/obj/structure/sign/poster/contraband/random/directional/west,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"gML" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/siding/purple/end{
+"gMS" = (
+/obj/machinery/portable_atmospherics/scrubber,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/obj/machinery/airalarm/directional/north,
+/obj/effect/turf_decal/tile/red/opposingcorners{
dir = 1
},
-/obj/machinery/duct,
-/obj/machinery/light/small/directional/north,
+/obj/effect/turf_decal/box,
/turf/open/floor/iron/showroomfloor,
-/area/station/science/auxlab)
+/area/station/engineering/atmos)
+"gMV" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"gNq" = (
/obj/machinery/vending/wardrobe/medi_wardrobe,
/obj/effect/turf_decal/bot,
@@ -21164,6 +21051,14 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/storage)
+"gNy" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/binary/pump{
+ name = "Ports to Engine"
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"gNz" = (
/turf/closed/wall/r_wall/rust,
/area/station/science/auxlab)
@@ -21177,6 +21072,17 @@
/obj/structure/cable,
/turf/open/space/basic,
/area/space/nearstation)
+"gNF" = (
+/obj/machinery/airalarm/directional/south,
+/obj/machinery/camera/directional/south{
+ c_tag = "Laser Room Starboard";
+ name = "laser room camera";
+ network = list("ss13","engine")
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/plating,
+/area/station/engineering/supermatter/room)
"gNI" = (
/obj/structure/transit_tube,
/obj/structure/lattice,
@@ -21237,6 +21143,16 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/security/processing)
+"gOu" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/entry)
"gOG" = (
/obj/item/food/breadslice/plain,
/obj/item/food/breadslice/plain,
@@ -21250,22 +21166,28 @@
/obj/structure/closet/crate,
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
-"gOP" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/door/airlock/maintenance,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-maint-passthrough"
+"gOI" = (
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/delivery,
+/obj/structure/disposalpipe/segment{
+ dir = 5
},
-/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
-/obj/effect/mapping_helpers/airlock/unres/delayed{
- dir = 1
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
+"gOZ" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 1;
+ name = "Air to Distro"
+ },
+/obj/machinery/status_display/ai/directional/east,
+/obj/effect/turf_decal/stripes/white/corner{
+ dir = 4
},
/turf/open/floor/iron/dark,
-/area/station/science)
+/area/station/engineering/atmos/pumproom)
"gPa" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -21283,6 +21205,25 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/central)
+"gPk" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/airlock/hatch{
+ name = "Engine Access"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"gPy" = (
/obj/effect/turf_decal/bot,
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
@@ -21400,27 +21341,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/cargo/office)
-"gQM" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/conveyor{
- dir = 4;
- id = "QMLoad2";
- name = "on ramp"
- },
-/obj/item/radio/intercom/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/cargo/storage)
-"gQV" = (
-/obj/machinery/camera/directional/west{
- c_tag = "Atmospherics Tank - CO2";
- name = "atmospherics camera";
- network = list("ss13","engine")
- },
-/turf/open/floor/engine/co2,
-/area/station/engineering/atmos)
"gRg" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/preopen{
@@ -21430,14 +21350,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/science/xenobiology)
-"gRw" = (
-/obj/effect/turf_decal/trimline/red/filled/line{
- dir = 4
- },
-/obj/machinery/airalarm/directional/east,
-/obj/machinery/light/dim/directional/east,
-/turf/open/floor/iron/white,
-/area/station/security/prison/mess)
"gRP" = (
/obj/item/kirbyplants/random,
/obj/machinery/status_display/ai/directional/south,
@@ -21451,6 +21363,11 @@
},
/turf/open/floor/iron,
/area/station/command/bridge)
+"gRQ" = (
+/obj/structure/fluff/divine/nexus,
+/obj/machinery/light/small/red/directional/west,
+/turf/open/floor/mineral/silver,
+/area/station/service/chapel/office)
"gSc" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 4
@@ -21464,25 +21381,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
-"gSm" = (
-/obj/item/storage/box/chemimp{
- pixel_x = 6;
- pixel_y = 6
- },
-/obj/item/storage/box/trackimp{
- pixel_x = -6;
- pixel_y = 6
- },
-/obj/structure/table,
-/obj/structure/reagent_dispensers/wall/peppertank/directional/south,
-/obj/item/storage/box/firingpins,
-/obj/item/storage/box/firingpins,
-/obj/item/storage/lockbox/loyalty,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/security/armory)
"gSp" = (
/obj/effect/turf_decal/tile/brown/half/contrasted{
dir = 4
@@ -21497,16 +21395,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
-"gSz" = (
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 4
- },
-/obj/machinery/status_display/evac/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"gSF" = (
/turf/closed/wall/r_wall,
/area/station/security/prison/mess)
@@ -21534,26 +21422,6 @@
/obj/effect/mapping_helpers/airlock/access/all/science/rd,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
-"gTc" = (
-/obj/structure/table,
-/obj/item/tank/internals/emergency_oxygen{
- pixel_x = 6
- },
-/obj/item/tank/internals/emergency_oxygen{
- pixel_x = -6
- },
-/obj/item/clothing/mask/gas,
-/obj/item/clothing/mask/gas,
-/obj/machinery/airalarm/directional/west,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
-"gTg" = (
-/obj/structure/grille/broken,
-/turf/open/floor/plating,
-/area/station/maintenance/port/lesser)
"gTr" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -21606,17 +21474,24 @@
},
/turf/open/floor/iron/dark,
/area/station/service/hydroponics)
-"gTT" = (
-/obj/machinery/status_display/ai/directional/east,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/kirbyplants/photosynthetic,
-/obj/machinery/camera/motion/directional/south{
- c_tag = "ai_upload Consoles";
- network = list("aiupload");
- name = "upload camera"
+"gTP" = (
+/obj/effect/turf_decal/arrows/white,
+/turf/open/floor/iron/smooth_half,
+/area/station/engineering/atmos)
+"gUc" = (
+/obj/structure/table,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/rods/fifty,
+/obj/item/stack/rods/fifty,
+/obj/item/grenade/chem_grenade/smart_metal_foam,
+/obj/item/grenade/chem_grenade/smart_metal_foam,
+/obj/machinery/light_switch/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
},
/turf/open/floor/iron/dark,
-/area/station/ai/upload/chamber)
+/area/station/engineering/atmos/storage)
"gUw" = (
/obj/machinery/power/solar{
id = "aftport";
@@ -21696,24 +21571,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"gVy" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/machinery/duct,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"gVC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -21726,6 +21583,15 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/science/research)
+"gVV" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"gWb" = (
/obj/effect/landmark/secequipment,
/obj/effect/turf_decal/bot,
@@ -21741,6 +21607,28 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"gWy" = (
+/obj/effect/landmark/start/warden,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron/showroomfloor,
+/area/station/security/warden)
+"gWP" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/closet/secure_closet/personal,
+/obj/item/storage/backpack,
+/obj/item/storage/backpack/satchel,
+/obj/item/clothing/suit/hooded/wintercoat,
+/obj/item/clothing/shoes/winterboots,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/commons/locker)
"gWT" = (
/obj/machinery/door/airlock/maintenance/external/glass{
name = "Construction Zone"
@@ -21762,18 +21650,6 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/sorting)
-"gXh" = (
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 9
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/pumproom)
"gXG" = (
/obj/structure/cable,
/obj/structure/disposalpipe/junction/flip{
@@ -21794,14 +21670,18 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"gXX" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/portable_atmospherics/canister/air,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"gXO" = (
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 4
+ },
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/pumproom)
"gYl" = (
/obj/effect/turf_decal/stripes/corner,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -21815,27 +21695,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"gYq" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/obj/machinery/light_switch/directional/north,
-/obj/item/kirbyplants/organic/plant5,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 10
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"gYx" = (
/obj/machinery/door/poddoor/shutters/preopen{
dir = 1;
@@ -21865,6 +21724,24 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"gYP" = (
+/obj/structure/rack,
+/obj/item/storage/toolbox/emergency{
+ pixel_y = 5
+ },
+/obj/item/stack/cable_coil,
+/obj/item/wirecutters,
+/obj/effect/turf_decal/bot,
+/obj/machinery/airalarm/directional/west,
+/obj/structure/extinguisher_cabinet/directional/north,
+/obj/machinery/camera/directional/north{
+ c_tag = "Recreation Arcade";
+ name = "recreation camera"
+ },
+/obj/effect/decal/cleanable/cobweb,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron/dark,
+/area/station/commons/fitness/recreation)
"gYV" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -21890,12 +21767,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/paramedic)
-"gZO" = (
-/obj/structure/sign/warning/electric_shock/directional/north,
-/obj/structure/cable,
-/obj/machinery/power/smes/full,
-/turf/open/floor/circuit/red/telecomms,
-/area/station/tcommsat/server)
"hah" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/corner,
@@ -21970,38 +21841,15 @@
/obj/effect/turf_decal/tile/red/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/service/bar/atrium)
-"hbI" = (
-/obj/structure/rack,
-/obj/effect/turf_decal/bot,
-/obj/item/storage/box/bodybags{
- pixel_y = 5
- },
-/obj/item/storage/medkit/regular{
- empty = 1;
- name = "First-Aid (empty)"
- },
-/obj/item/storage/medkit/regular{
- empty = 1;
- name = "First-Aid (empty)"
- },
-/obj/item/storage/medkit/regular{
- empty = 1;
- name = "First-Aid (empty)"
- },
-/obj/item/stack/package_wrap,
-/obj/item/healthanalyzer,
-/obj/item/healthanalyzer,
-/obj/item/healthanalyzer,
-/obj/machinery/camera/directional/north{
- c_tag = "Robotics Lab";
- name = "science camera";
- network = list("ss13","rd")
+"hbL" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Laser Room"
},
-/obj/item/radio/intercom/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/light/cold/directional/north,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
/turf/open/floor/iron/dark,
-/area/station/science/robotics/lab)
+/area/station/engineering/supermatter/room)
"hbT" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -22013,16 +21861,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"hct" = (
-/obj/machinery/computer/pandemic,
-/obj/effect/turf_decal/delivery,
-/obj/item/radio/intercom/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/light/cold/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/medical/virology)
"hcH" = (
/obj/structure/table/reinforced,
/obj/effect/turf_decal/delivery,
@@ -22132,6 +21970,18 @@
/obj/effect/turf_decal/tile/blue/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/storage)
+"hdK" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/disposal/bin/tagger,
+/obj/structure/extinguisher_cabinet/directional/north,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/exit/departure_lounge)
"hdY" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/line,
@@ -22247,16 +22097,6 @@
/obj/structure/sign/warning/secure_area,
/turf/closed/wall/r_wall,
/area/station/maintenance/port/greater)
-"hgS" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron/dark,
-/area/station/commons/fitness/recreation)
"hgW" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -22288,15 +22128,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/security/prison)
-"hhy" = (
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/machinery/camera/autoname/directional/north,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"hhE" = (
/obj/item/kirbyplants/organic/plant18,
/obj/machinery/light_switch/directional/west{
@@ -22316,18 +22147,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/lab)
-"hhJ" = (
-/obj/machinery/flasher/directional/west{
- id = "AI";
- name = "Meatbag Pacifier"
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/end{
- dir = 8
- },
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
"hhX" = (
/obj/item/kirbyplants/organic/plant21,
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
@@ -22352,6 +22171,27 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/showroomfloor,
/area/station/science/auxlab)
+"hir" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
+"hix" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/carpet/green,
+/area/station/service/lawoffice)
+"hiK" = (
+/obj/structure/window/reinforced/plasma/spawner/directional/east,
+/obj/structure/cable,
+/obj/machinery/power/energy_accumulator/grounding_rod/anchored,
+/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{
+ dir = 8
+ },
+/turf/open/floor/circuit/green{
+ luminosity = 2
+ },
+/area/station/engineering/supermatter/engine)
"hiQ" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -22364,7 +22204,6 @@
/obj/machinery/door/airlock/highsecurity{
name = "Gravity Generator Room"
},
-/obj/machinery/duct,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/aft)
"hjh" = (
@@ -22388,12 +22227,11 @@
dir = 4
},
/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 8
},
/obj/effect/turf_decal/tile/red{
- dir = 1
+ dir = 8
},
/turf/open/floor/iron,
/area/station/engineering/supermatter/room)
@@ -22412,6 +22250,21 @@
},
/turf/open/floor/iron/dark,
/area/station/command/bridge)
+"hjA" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/corner,
+/obj/structure/table,
+/obj/item/stack/cable_coil{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/item/pipe_dispenser,
+/obj/item/holosign_creator/atmos,
+/obj/machinery/light/warm/directional/east,
+/obj/structure/sign/warning/vacuum/external/directional/east,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"hjE" = (
/obj/effect/turf_decal/bot,
/obj/effect/turf_decal/stripes/corner{
@@ -22437,11 +22290,25 @@
/obj/effect/turf_decal/caution/stand_clear,
/turf/open/floor/iron/dark,
/area/station/cargo/warehouse)
-"hjR" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/window/reinforced/spawner/directional/east,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
+"hjO" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/structure/table,
+/obj/item/experi_scanner{
+ pixel_x = -4
+ },
+/obj/item/experi_scanner{
+ pixel_x = 4
+ },
+/obj/machinery/requests_console/directional/north{
+ department = "Research Lab";
+ name = "Research Requests Console"
+ },
+/obj/effect/mapping_helpers/requests_console/assistance,
+/obj/effect/mapping_helpers/requests_console/ore_update,
+/obj/effect/mapping_helpers/requests_console/announcement,
+/obj/effect/mapping_helpers/requests_console/information,
+/turf/open/floor/iron/dark,
+/area/station/science/research)
"hjZ" = (
/obj/machinery/door/morgue{
name = "Booze Storage";
@@ -22458,6 +22325,17 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
+"hkl" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"hkp" = (
/turf/closed/wall/r_wall/rust,
/area/station/medical/virology)
@@ -22489,12 +22367,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/aft)
-"hky" = (
-/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/carbon_input{
- dir = 1
- },
-/turf/open/floor/engine/co2,
-/area/station/engineering/atmos)
"hkA" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -22531,11 +22403,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"hkK" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"hkL" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -22630,40 +22497,9 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/department/crew_quarters/bar)
-"hmr" = (
-/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/cable,
-/obj/effect/turf_decal/siding/yellow{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"hms" = (
/turf/closed/wall,
/area/station/medical/cryo)
-"hmK" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 9
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"hmO" = (
/turf/closed/wall,
/area/station/security/processing)
@@ -22678,16 +22514,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"hnb" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 4;
- name = "Pure to Mix"
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
"hne" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -22734,20 +22560,6 @@
},
/turf/open/floor/iron,
/area/station/service/janitor)
-"hnD" = (
-/obj/machinery/firealarm/directional/south,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/rnd/production/circuit_imprinter,
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/red,
-/turf/open/floor/iron/dark,
-/area/station/engineering/lobby)
"hnL" = (
/obj/machinery/telecomms/server/presets/engineering,
/turf/open/floor/circuit/green/telecomms/mainframe,
@@ -22759,18 +22571,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance)
-"hob" = (
-/obj/machinery/airalarm/directional/west,
-/obj/machinery/rnd/production/techfab/department/service,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/machinery/light/cold/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/service)
"hoz" = (
/obj/structure/table/wood,
/obj/structure/mirror/directional/west,
@@ -22794,18 +22594,6 @@
},
/turf/open/floor/iron,
/area/station/commons/locker)
-"hoI" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 10
- },
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"hoK" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral{
@@ -22815,23 +22603,6 @@
dir = 8
},
/area/station/hallway/primary/port)
-"hoV" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/rack,
-/obj/item/storage/belt/utility,
-/obj/item/weldingtool/largetank,
-/obj/item/clothing/head/utility/welding,
-/obj/machinery/firealarm/directional/east,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"hpg" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/grille,
@@ -22867,15 +22638,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/checkpoint/science)
-"hpD" = (
-/obj/machinery/camera/directional/north{
- c_tag = "Atrium Starboard";
- name = "service camera"
- },
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/machinery/light/warm/directional/north,
-/turf/open/floor/iron/showroomfloor,
-/area/station/service/bar/atrium)
"hpG" = (
/obj/effect/turf_decal/box,
/obj/machinery/power/solar{
@@ -22995,13 +22757,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"hqW" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"hqZ" = (
/obj/structure/window/reinforced/spawner/directional/south,
/obj/structure/window/reinforced/spawner/directional/north,
@@ -23012,23 +22767,24 @@
/obj/structure/flora/bush/grassy/style_random,
/turf/open/floor/grass,
/area/station/service/hydroponics)
-"hrg" = (
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 8;
- id = "ceprivate";
- name = "Chief Engineer's Privacy Shutters"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/engineering/lobby)
"hri" = (
/obj/structure/dresser,
/turf/open/floor/wood,
/area/station/commons/locker)
+"hrx" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
+"hrC" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/light/floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"hrN" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
@@ -23122,6 +22878,17 @@
/obj/structure/table/reinforced/rglass,
/turf/open/floor/iron/dark,
/area/station/medical/treatment_center)
+"htB" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"htJ" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -23134,6 +22901,13 @@
/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"htM" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"htP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -23189,6 +22963,10 @@
/area/station/security/prison/safe)
"hur" = (
/obj/machinery/duct,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
/turf/open/floor/iron,
/area/station/engineering/main)
"huK" = (
@@ -23212,15 +22990,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/treatment_center)
-"huS" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"hvj" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/status_display/evac/directional/north,
@@ -23269,17 +23038,15 @@
/obj/structure/barricade/wooden/crude,
/turf/open/floor/plating/rust,
/area/station/security/prison)
-"hvL" = (
-/obj/structure/table,
-/obj/item/stack/medical/mesh,
-/obj/item/stack/medical/suture,
-/obj/effect/turf_decal/tile/neutral{
+"hwf" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/reagent_dispensers/water_cooler,
+/obj/machinery/firealarm/directional/south,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 8
},
-/obj/machinery/wall_healer/directional/north,
-/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron/dark,
-/area/station/medical/medbay/lobby)
+/area/station/commons/fitness/recreation)
"hwr" = (
/obj/structure/disposaloutlet{
dir = 8
@@ -23362,25 +23129,18 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/service/kitchen)
-"hxF" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
+"hxE" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
},
-/obj/structure/cable,
-/obj/effect/decal/cleanable/blood/old,
-/obj/effect/mapping_helpers/broken_floor,
/obj/effect/turf_decal/bot,
-/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
- dir = 1
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
},
-/turf/open/floor/plating,
-/area/station/maintenance/disposal)
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
+/obj/machinery/disposal/bin/tagger,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/chemistry)
"hxP" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -23392,40 +23152,6 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/carpet/blue,
/area/station/command/heads_quarters/hop)
-"hxZ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/camera/autoname/directional/east,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/wood,
-/area/station/commons/vacant_room/commissary)
-"hyd" = (
-/obj/structure/chair{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/effect/mapping_helpers/burnt_floor,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/plating,
-/area/station/security/execution/education)
-"hyk" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 1
- },
-/obj/machinery/portable_atmospherics/canister/nitrogen,
-/obj/effect/turf_decal/box,
-/obj/machinery/light/warm/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/engineering/supermatter/room)
"hyl" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -23434,20 +23160,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"hyp" = (
-/obj/machinery/light/small/directional/west,
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark,
-/area/station/command/bridge)
"hyq" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -23465,9 +23177,24 @@
/area/station/commons/vacant_room/commissary)
"hyJ" = (
/obj/effect/turf_decal/bot,
-/obj/structure/ore_box,
+/obj/structure/closet,
+/obj/item/assembly/timer,
+/obj/item/electronics/airlock,
+/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"hyP" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/status_display/ai/directional/west,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/effect/turf_decal/box,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/vault)
"hyQ" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -23479,15 +23206,6 @@
},
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
-"hzx" = (
-/obj/machinery/portable_atmospherics/canister/nitrogen,
-/obj/machinery/light/cold/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance/storage)
-"hzC" = (
-/obj/structure/flora/rock/icy/style_2,
-/turf/open/misc/asteroid/airless,
-/area/space/nearstation)
"hzE" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -23503,22 +23221,31 @@
/obj/structure/closet,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
-"hAc" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/shower/directional/east{
- name = "emergency shower"
- },
-/obj/effect/turf_decal/box/corners,
-/obj/effect/turf_decal/box/corners{
+"hzP" = (
+/obj/machinery/firealarm/directional/south,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/blue{
dir = 8
},
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/duct,
+/turf/open/floor/iron/showroomfloor,
+/area/station/commons/toilet/restrooms)
+"hAs" = (
+/obj/machinery/status_display/ai/directional/east,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/engine,
+/area/station/ai/satellite/chamber)
"hAJ" = (
/turf/closed/wall,
/area/station/engineering/storage/tech)
@@ -23529,25 +23256,14 @@
"hAP" = (
/turf/closed/wall/r_wall,
/area/station/security/evidence)
-"hAT" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/structure/table,
-/obj/item/experi_scanner{
- pixel_x = -4
- },
-/obj/item/experi_scanner{
- pixel_x = 4
- },
-/obj/machinery/requests_console/directional/north{
- department = "Research Lab";
- name = "Research Requests Console"
+"hAX" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 2;
+ name = "Pure to Mix"
},
-/obj/effect/mapping_helpers/requests_console/assistance,
-/obj/effect/mapping_helpers/requests_console/ore_update,
-/obj/effect/mapping_helpers/requests_console/announcement,
-/obj/effect/mapping_helpers/requests_console/information,
-/turf/open/floor/iron/dark,
-/area/station/science/research)
+/obj/effect/turf_decal/tile/green/fourcorners,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"hBa" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/corner{
@@ -23579,14 +23295,6 @@
},
/turf/open/floor/plating,
/area/station/cargo/storage)
-"hBk" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible,
-/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/engineering/atmos/pumproom)
"hBm" = (
/obj/machinery/door/airlock/maintenance,
/obj/effect/mapping_helpers/airlock/abandoned,
@@ -23667,6 +23375,20 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/science/ordnance)
+"hCb" = (
+/obj/structure/table,
+/obj/item/storage/box/deputy,
+/obj/item/stack/package_wrap,
+/obj/item/hand_labeler,
+/obj/machinery/camera/directional/west{
+ c_tag = "Warden's Office"
+ },
+/obj/structure/reagent_dispensers/wall/peppertank/directional/west,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/security/warden)
"hCd" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/red/half/contrasted{
@@ -23689,6 +23411,10 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/brig)
+"hCv" = (
+/obj/machinery/light/dim/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/monastery)
"hCK" = (
/obj/structure/table,
/obj/item/clothing/gloves/color/orange,
@@ -23768,18 +23494,19 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"hDV" = (
-/obj/effect/turf_decal/stripes/line{
+"hDU" = (
+/obj/machinery/firealarm/directional/south,
+/obj/effect/turf_decal/tile/blue{
dir = 8
},
-/obj/machinery/portable_atmospherics/pump,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible,
-/obj/machinery/newscaster/directional/north,
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 1
+/obj/structure/table/glass,
+/obj/machinery/microwave{
+ pixel_y = 5
},
+/obj/effect/turf_decal/tile/blue/anticorner/contrasted,
+/obj/machinery/light/small/directional/south,
/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/atmos)
+/area/station/medical/break_room)
"hEa" = (
/obj/item/kirbyplants/organic/applebush,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -23789,17 +23516,18 @@
dir = 1
},
/area/station/hallway/primary/central/fore)
-"hEh" = (
-/obj/structure/rack,
-/obj/effect/spawner/random/techstorage/service_all,
-/obj/effect/turf_decal/bot,
-/obj/machinery/status_display/ai/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/effect/spawner/random/techstorage/arcade_boards,
-/obj/effect/spawner/random/techstorage/arcade_boards,
-/obj/machinery/light/cold/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
+"hEj" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/duct,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/storage)
"hEk" = (
/obj/structure/table,
/obj/item/stack/package_wrap,
@@ -23827,19 +23555,6 @@
/obj/item/papercutter,
/turf/open/floor/iron/dark,
/area/station/cargo/sorting)
-"hEq" = (
-/obj/structure/sign/poster/official/anniversary_vintage_reprint/directional/north,
-/obj/machinery/camera/directional/north{
- c_tag = "Chemistry North";
- network = list("ss13","medbay")
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/cold/directional/north,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/chemistry)
"hEw" = (
/obj/structure/table/wood,
/obj/item/paper_bin{
@@ -23871,58 +23586,9 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/cmo)
-"hEU" = (
-/obj/structure/disposaloutlet,
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/box,
-/turf/open/floor/plating/airless,
-/area/space/nearstation)
"hEV" = (
/turf/open/floor/engine/vacuum,
/area/station/engineering/atmos)
-"hEY" = (
-/obj/machinery/atmospherics/components/binary/pump/on{
- dir = 1;
- name = "Air to Distro"
- },
-/obj/structure/sign/warning/fire/directional/east,
-/obj/machinery/camera/directional/east{
- c_tag = "Atmospherics Distribution Loop";
- name = "atmospherics camera";
- network = list("ss13","engine")
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/pumproom)
-"hFf" = (
-/obj/structure/bed,
-/obj/machinery/iv_drip,
-/obj/item/bedsheet/medical,
-/obj/effect/decal/cleanable/blood/old,
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/security/medical)
-"hFm" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"hFx" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -23946,12 +23612,30 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/closed/wall/r_wall,
/area/station/science/ordnance/office)
+"hFC" = (
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/ai_law_rack/base/core,
+/turf/open/floor/iron/dark,
+/area/station/ai/upload/chamber)
"hGf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/iron,
/area/station/command/bridge)
+"hGh" = (
+/obj/structure/table,
+/obj/item/storage/box/bodybags{
+ pixel_y = 5
+ },
+/obj/item/pen,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/light/cold/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/lobby)
"hGm" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -23971,6 +23655,17 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/virology)
+"hGr" = (
+/obj/structure/chair/office,
+/obj/effect/turf_decal/siding/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/exit/departure_lounge)
"hGC" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/box/white,
@@ -23979,20 +23674,28 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/storage)
-"hGG" = (
-/obj/structure/table,
-/obj/item/clipboard,
-/obj/item/flashlight/seclite,
-/obj/item/flashlight/seclite,
-/obj/item/flashlight/seclite,
+"hGM" = (
+/obj/structure/sign/warning,
+/turf/closed/wall/r_wall,
+/area/station/security/prison/safe)
+"hGU" = (
+/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/dirt,
-/obj/item/toy/figure/secofficer,
-/obj/structure/extinguisher_cabinet/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
+/obj/machinery/ore_silo,
+/obj/machinery/airalarm/directional/north,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
dir = 8
},
+/obj/machinery/light/small/red/directional/east,
/turf/open/floor/iron/dark,
-/area/station/security/lockers)
+/area/station/command/vault)
+"hGV" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"hGX" = (
/obj/effect/turf_decal/bot,
/obj/structure/closet/emcloset,
@@ -24003,12 +23706,6 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/entry)
-"hHf" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/machinery/meter,
-/obj/machinery/duct,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/cryo)
"hHg" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 4
@@ -24038,6 +23735,27 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/execution/transfer)
+"hHn" = (
+/obj/item/radio/intercom/directional/south,
+/obj/item/flatpack/flatpacker,
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/stripes/corner,
+/obj/item/radio/intercom/directional/south,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/lobby)
+"hHz" = (
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/hallway/primary/starboard)
"hHL" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -24062,15 +23780,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"hIp" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"hIq" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -24087,15 +23796,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/wood,
/area/station/maintenance/starboard/fore)
-"hIy" = (
-/obj/machinery/door/airlock/public/glass{
- name = "Auxiliary Dock"
+"hIz" = (
+/obj/structure/railing/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/thinplating/dark{
+ dir = 4
},
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
+/area/station/service/chapel)
"hIS" = (
/obj/structure/rack,
/obj/effect/spawner/random/techstorage/rnd_all,
@@ -24205,6 +23914,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/security/processing)
+"hKf" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{
+ dir = 8
+ },
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 4
+ },
+/obj/machinery/meter,
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"hKg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -24248,13 +23969,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"hKF" = (
-/obj/structure/chair/office{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"hKQ" = (
/obj/structure/table/wood,
/obj/item/clipboard,
@@ -24277,9 +23991,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark,
/area/station/security/checkpoint/supply)
-"hKW" = (
-/turf/open/floor/plating,
-/area/station/maintenance/fore)
"hLj" = (
/obj/machinery/telecomms/server/presets/security,
/turf/open/floor/circuit/green/telecomms/mainframe,
@@ -24299,34 +24010,19 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/engineering/circuit_workshop)
-"hLs" = (
-/obj/structure/closet/crate/freezer,
-/obj/item/reagent_containers/blood,
-/obj/item/reagent_containers/blood{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/item/reagent_containers/blood/a_minus,
-/obj/item/reagent_containers/blood/b_minus{
- pixel_x = -4;
- pixel_y = 4
- },
-/obj/item/reagent_containers/blood/b_plus{
- pixel_x = 1;
- pixel_y = 2
- },
-/obj/item/reagent_containers/blood/o_minus,
-/obj/item/reagent_containers/blood/o_plus{
- pixel_x = -2;
- pixel_y = -1
+"hLw" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
},
-/obj/item/reagent_containers/blood/random,
-/obj/item/reagent_containers/blood/random,
-/obj/item/reagent_containers/blood/random,
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/medical/virology)
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/sign/warning/vacuum/external/directional/east,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/duct,
+/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only,
+/turf/open/floor/plating,
+/area/station/science)
"hLz" = (
/obj/structure/disposalpipe/sorting/mail/flip{
dir = 8;
@@ -24341,6 +24037,20 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/storage)
+"hLI" = (
+/obj/structure/table/wood,
+/obj/machinery/reagentgrinder{
+ pixel_y = 5
+ },
+/obj/item/toy/figure/bartender{
+ pixel_x = -7
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/service/bar/backroom)
"hLO" = (
/obj/structure/plasticflaps,
/obj/machinery/conveyor{
@@ -24357,16 +24067,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"hLY" = (
-/obj/machinery/status_display/ai/directional/east,
-/obj/machinery/camera/directional/north{
- c_tag = "ai_upload Turrets";
- name = "upload camera";
- network = list("aiupload")
- },
-/obj/item/kirbyplants/photosynthetic,
-/turf/open/floor/circuit/red,
-/area/station/ai/upload/chamber)
"hMf" = (
/obj/structure/table/reinforced,
/obj/structure/desk_bell{
@@ -24408,30 +24108,12 @@
"hMN" = (
/turf/closed/wall,
/area/station/service/chapel/funeral)
-"hMU" = (
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"hMW" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance)
-"hMY" = (
-/obj/item/kirbyplants/organic/plant16,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"hMZ" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/poddoor/preopen{
@@ -24448,18 +24130,6 @@
/obj/effect/mapping_helpers/airlock/access/all/command/general,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/bridge)
-"hNh" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/hallway/primary/port)
"hNi" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -24471,15 +24141,6 @@
dir = 8
},
/area/station/hallway/primary/starboard)
-"hNy" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"hNF" = (
/obj/structure/lattice/catwalk,
/obj/structure/disposalpipe/segment,
@@ -24489,17 +24150,6 @@
/obj/structure/marker_beacon/burgundy,
/turf/open/space/basic,
/area/space/nearstation)
-"hNG" = (
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/hallway/primary/fore)
"hNI" = (
/turf/closed/wall/rust,
/area/station/security/detectives_office)
@@ -24562,6 +24212,16 @@
/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/fore)
+"hOw" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"hOA" = (
/obj/structure/flora/rock/pile/style_random,
/obj/structure/flora/bush/ferny,
@@ -24642,6 +24302,11 @@
/obj/effect/spawner/random/structure/crate,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"hPy" = (
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/hallway/primary/aft)
"hPz" = (
/obj/structure/sign/warning/secure_area,
/turf/closed/wall,
@@ -24693,22 +24358,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"hQd" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/computer/mechpad{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/button/door/directional/south{
- id = "Skynet_launch";
- name = "Mech Bay Door Control"
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/science/robotics/mechbay)
"hQg" = (
/obj/item/kirbyplants/organic/plant3,
/obj/structure/disposalpipe/segment,
@@ -24724,6 +24373,13 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/exit/departure_lounge)
+"hQv" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/item/radio/intercom/directional/north,
+/obj/machinery/light/warm/dim/directional/north,
+/turf/open/floor/iron,
+/area/station/security/prison)
"hQA" = (
/obj/structure/sink/directional/south,
/obj/machinery/atmospherics/components/tank/air/layer4,
@@ -24755,17 +24411,6 @@
/obj/machinery/power/apc/auto_name/directional/east,
/turf/open/floor/engine/telecomms,
/area/station/tcommsat/server)
-"hRe" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/disposal/bin/tagger,
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/commons/locker)
"hRf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -24786,18 +24431,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark,
/area/station/construction/mining/aux_base)
-"hRj" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 8;
- name = "Mix to Ports"
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
- },
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"hRo" = (
/obj/machinery/door/poddoor/preopen{
id = "transittube_ai";
@@ -24815,16 +24448,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance/storage)
-"hRJ" = (
-/obj/structure/chair/office/light{
- dir = 4
- },
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 4
- },
-/obj/machinery/computer/security/telescreen/ordnance/directional/east,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/ordnance)
"hRU" = (
/obj/structure/table,
/obj/machinery/cell_charger,
@@ -24836,14 +24459,6 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark,
/area/station/science/lab)
-"hRY" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"hRZ" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
@@ -24876,12 +24491,6 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"hSv" = (
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 4
- },
-/turf/closed/wall,
-/area/station/engineering/atmos)
"hSy" = (
/obj/effect/turf_decal/bot,
/obj/machinery/light/directional/west,
@@ -24895,6 +24504,24 @@
},
/turf/open/floor/iron/dark,
/area/station/security/checkpoint/customs)
+"hSF" = (
+/obj/structure/table,
+/obj/item/paper_bin{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/item/pen,
+/obj/item/stamp/denied{
+ pixel_x = 8;
+ pixel_y = 6
+ },
+/obj/item/stamp/granted{
+ pixel_x = 8;
+ pixel_y = 2
+ },
+/obj/machinery/firealarm/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/exit/departure_lounge)
"hSJ" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/structure/window/reinforced/spawner/directional/south,
@@ -24925,36 +24552,13 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"hTn" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"hTm" = (
+/obj/machinery/light_switch/directional/south,
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science)
-"hTo" = (
-/obj/item/tank/internals/emergency_oxygen/engi{
- pixel_x = -5
- },
-/obj/item/tank/internals/emergency_oxygen/engi{
- pixel_x = 5
- },
-/obj/item/geiger_counter,
-/obj/item/geiger_counter,
-/obj/structure/table,
-/obj/structure/sign/warning/xeno_mining/directional/west,
-/obj/machinery/light/warm/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/engineering/supermatter/room)
+/turf/open/floor/engine,
+/area/station/ai/satellite/interior)
"hTz" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 8
@@ -24971,6 +24575,16 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/engineering/hallway)
+"hTE" = (
+/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/machinery/light/dim/directional/south,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"hTK" = (
/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
@@ -24986,23 +24600,31 @@
},
/turf/open/floor/iron/dark,
/area/station/service/hydroponics/garden)
+"hTO" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/railing/corner/end{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"hTQ" = (
/obj/structure/plasticflaps/opaque,
/turf/open/floor/plating,
/area/station/security/prison/shower)
-"hUn" = (
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+"hUq" = (
+/obj/structure/lattice,
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/structure/table,
-/obj/item/storage/box/disks{
- pixel_y = 5
- },
-/obj/item/clothing/gloves/latex,
-/obj/item/clothing/gloves/latex,
-/obj/machinery/light/cold/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/science/research)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/structure/transit_tube/diagonal/topleft,
+/turf/open/space/basic,
+/area/space/nearstation)
"hUw" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -25075,12 +24697,25 @@
/obj/item/wirecutters,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"hVf" = (
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
+ },
+/obj/item/flatpack/flatpacker,
+/obj/effect/turf_decal/delivery,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/science/lab)
"hVj" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/burnt_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/aft)
"hVl" = (
@@ -25096,16 +24731,22 @@
/obj/item/toy/plush/nukeplushie,
/turf/open/floor/plating/airless,
/area/space/nearstation)
-"hVH" = (
+"hVD" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
/obj/effect/turf_decal/stripes/line{
- dir = 1
+ dir = 8
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter/room)
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"hVL" = (
/obj/machinery/computer/slot_machine,
/obj/effect/turf_decal/bot_white,
@@ -25152,20 +24793,31 @@
dir = 8
},
/area/station/hallway/primary/fore)
-"hXa" = (
-/obj/structure/table,
-/obj/item/storage/box/deputy,
-/obj/item/stack/package_wrap,
-/obj/item/hand_labeler,
-/obj/machinery/camera/directional/west{
- c_tag = "Warden's Office"
+"hWK" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet/directional/west,
+/obj/machinery/status_display/ai/directional/south,
+/obj/structure/cable/layer3,
+/turf/open/floor/engine,
+/area/station/ai/satellite/chamber)
+"hWO" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
+ dir = 1
},
-/obj/structure/reagent_dispensers/wall/peppertank/directional/west,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/structure/extinguisher_cabinet/directional/north,
+/obj/effect/turf_decal/stripes/red/line{
dir = 4
},
+/obj/machinery/meter/monitored/waste_loop,
/turf/open/floor/iron/dark,
-/area/station/security/warden)
+/area/station/engineering/atmos/pumproom)
"hXe" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -25174,24 +24826,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"hXg" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible,
-/obj/machinery/space_heater,
-/obj/machinery/airalarm/directional/east,
-/obj/structure/sign/poster/contraband/fun_police/directional/south,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/security/execution/education)
"hXK" = (
/obj/structure/sign/directions/security{
pixel_y = -40
@@ -25211,20 +24845,9 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"hXL" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/computer/station_alert,
-/obj/machinery/requests_console/directional/east{
- department = "Atmospherics";
- name = "Atmospherics Requests Console"
- },
-/obj/effect/mapping_helpers/requests_console/supplies,
-/obj/effect/mapping_helpers/requests_console/assistance,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
+"hXP" = (
+/turf/closed/wall,
+/area/station/engineering/atmos/storage)
"hYo" = (
/obj/structure/bed,
/obj/item/bedsheet/red,
@@ -25234,13 +24857,25 @@
/obj/effect/landmark/start/prisoner,
/turf/open/floor/iron,
/area/station/security/prison/safe)
-"hYr" = (
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/machinery/light/floor,
+"hYq" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/trinary/mixer{
+ name = "plasma mixer"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+/area/station/engineering/atmos)
"hYu" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -25338,6 +24973,16 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
+"hZv" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"hZP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -25375,23 +25020,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/lobby)
-"hZU" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/camera/directional/east{
- c_tag = "E.V.A. Storage";
- name = "command camera"
- },
-/obj/machinery/suit_storage_unit/standard_unit{
- desc = "An industrial suit storage device carrying retro space suits. Neat!";
- helmet_type = /obj/item/clothing/head/helmet/space;
- suit_type = /obj/item/clothing/suit/space
- },
-/obj/machinery/status_display/ai/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/command/eva)
"iai" = (
/obj/machinery/vending/hydronutrients,
/obj/structure/railing{
@@ -25548,12 +25176,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"icm" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/science/auxlab)
"icp" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -25579,11 +25201,8 @@
},
/obj/item/clothing/head/utility/hardhat/orange{
name = "protective hat";
- pixel_y = 6
+ pixel_y = 5
},
-/obj/item/clothing/glasses/meson/engine,
-/obj/item/clothing/glasses/meson/engine,
-/obj/item/clothing/glasses/meson/engine,
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron/dark,
/area/station/engineering/storage_shared)
@@ -25651,18 +25270,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/security/execution/transfer)
-"idf" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/commons/fitness/recreation)
"idh" = (
/obj/structure/disposalpipe/sorting/mail/flip{
dir = 4;
@@ -25679,15 +25286,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/fore)
-"idk" = (
-/obj/structure/window/reinforced/plasma/spawner/directional/west,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/machinery/power/energy_accumulator/tesla_coil/anchored,
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/station/engineering/supermatter/engine)
"idq" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 1
@@ -25771,6 +25369,28 @@
/obj/effect/turf_decal/tile/purple,
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance/office)
+"iex" = (
+/obj/effect/turf_decal/bot,
+/obj/effect/decal/cleanable/cobweb,
+/obj/item/book{
+ desc = "An undeniably handy book.";
+ icon_state = "bookknock";
+ name = "A Simpleton's Guide to Safe-cracking with Stethoscopes"
+ },
+/obj/item/stack/spacecash/c500{
+ pixel_x = 4;
+ pixel_y = 4
+ },
+/obj/item/stack/spacecash/c1000,
+/obj/item/gun/ballistic/automatic/pistol/deagle/gold,
+/obj/machinery/status_display/ai/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/structure/safe/vault,
+/obj/machinery/light/small/red/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/command/vault)
"ieI" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -25781,6 +25401,13 @@
},
/turf/open/floor/iron,
/area/station/command/teleporter)
+"ieK" = (
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 5
+ },
+/turf/closed/wall/r_wall,
+/area/station/engineering/supermatter/engine)
"ieV" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
@@ -25799,13 +25426,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
-"ifB" = (
-/obj/structure/sign/warning/no_smoking{
- pixel_x = 30
- },
-/obj/machinery/duct,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"ifQ" = (
/obj/structure/sign/warning/electric_shock,
/turf/closed/wall/r_wall,
@@ -25843,6 +25463,17 @@
},
/turf/open/floor/iron/dark,
/area/station/service/janitor)
+"igq" = (
+/obj/structure/window/reinforced/plasma/spawner/directional/west,
+/obj/structure/cable,
+/obj/machinery/power/energy_accumulator/tesla_coil/anchored,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 9
+ },
+/turf/open/floor/circuit/green{
+ luminosity = 2
+ },
+/area/station/engineering/supermatter/engine)
"igC" = (
/obj/effect/turf_decal/bot,
/obj/machinery/disposal/bin/tagger,
@@ -25868,6 +25499,25 @@
},
/turf/open/floor/iron/dark/corner,
/area/station/hallway/primary/port)
+"igY" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "departures-entrance"
+ },
+/obj/machinery/door/airlock/public/glass{
+ name = "Departure Lounge"
+ },
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/exit/departure_lounge)
+"igZ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/end{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"ihg" = (
/turf/closed/wall/r_wall,
/area/station/ai/satellite/maintenance/storage)
@@ -25889,24 +25539,27 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
+"ihH" = (
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"ihU" = (
/turf/closed/wall/rust,
/area/station/cargo/sorting)
+"ihZ" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"iio" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"iiG" = (
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"iiQ" = (
/obj/effect/turf_decal/box,
/obj/structure/toilet{
@@ -25959,12 +25612,22 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/security/office)
-"ijr" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
+"ijs" = (
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 8;
+ name = "Air to Internal Air Ports"
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"iju" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -26053,20 +25716,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel/monastery)
-"ikh" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 4;
- name = "Mix to Distro"
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
"ikm" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -26098,10 +25747,6 @@
/obj/effect/mapping_helpers/airlock/access/all/medical/psychology,
/turf/open/floor/iron/dark,
/area/station/medical/psychology)
-"ikt" = (
-/obj/structure/plaque/static_plaque/atmos,
-/turf/closed/wall/rust,
-/area/station/engineering/atmos)
"iku" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
@@ -26152,20 +25797,23 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/science)
-"ikI" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/disposal/bin/tagger,
-/obj/item/radio/intercom/directional/east,
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/hos)
"ikO" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
+"ikP" = (
+/obj/structure/bodycontainer/morgue{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot_white,
+/obj/machinery/airalarm/directional/east,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"ikR" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -26183,6 +25831,13 @@
/obj/structure/sign/poster/contraband/missing_gloves,
/turf/closed/wall/rust,
/area/station/maintenance/port/fore)
+"ilh" = (
+/obj/machinery/computer/bank_machine,
+/obj/structure/sign/warning/secure_area/directional/north,
+/turf/open/floor/circuit/green{
+ luminosity = 2
+ },
+/area/station/command/vault)
"ill" = (
/obj/machinery/computer/teleporter{
dir = 8
@@ -26237,6 +25892,21 @@
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/commons/fitness/recreation)
+"ilW" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
+ dir = 9
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"imo" = (
/obj/structure/sign/directions/science{
dir = 4;
@@ -26296,21 +25966,10 @@
"ing" = (
/turf/closed/wall/rust,
/area/station/service/chapel/dock)
-"inE" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
+"inz" = (
+/obj/structure/girder,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"inF" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -26325,14 +25984,15 @@
/obj/machinery/airalarm/directional/south,
/turf/open/floor/iron/checker,
/area/station/security/mechbay)
-"iol" = (
-/obj/structure/railing/corner,
-/obj/item/kirbyplants/random,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
"ios" = (
/turf/closed/wall/rust,
/area/station/service/kitchen)
+"ioC" = (
+/obj/effect/turf_decal/siding/thinplating/dark{
+ dir = 1
+ },
+/turf/open/floor/grass,
+/area/station/service/chapel)
"ioQ" = (
/turf/closed/wall,
/area/station/engineering/circuit_workshop)
@@ -26350,20 +26010,11 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/space/nearstation)
-"ioW" = (
-/obj/structure/reagent_dispensers/fueltank,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/machinery/light/directional/north,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
+"ioV" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/door_assembly/door_assembly_atmo,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"ipb" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/stripes/corner{
@@ -26381,17 +26032,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/cargo/bitrunning/den)
-"ipf" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/engineering/hallway)
"ipg" = (
/obj/effect/decal/cleanable/blood/oil,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -26399,14 +26039,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/hallway/primary/aft)
-"ipn" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/machinery/newscaster/directional/south,
-/obj/machinery/light/cold/dim/directional/south,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"ipo" = (
/obj/machinery/chem_master/condimaster{
desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments.";
@@ -26418,6 +26050,13 @@
},
/turf/open/floor/iron/dark,
/area/station/service/hydroponics)
+"ipA" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/start/chaplain,
+/obj/machinery/light/floor,
+/turf/open/floor/carpet/red,
+/area/station/service/chapel)
"ipC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -26448,14 +26087,6 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/service/library)
-"ipJ" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 1;
- name = "Mix Outlet Pump"
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
"ipL" = (
/obj/structure/closet/crate/hydroponics,
/obj/item/crowbar/red,
@@ -26493,6 +26124,17 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/storage/tech)
+"iqg" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/disposal/bin/tagger,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/virology)
"iqk" = (
/obj/structure/flora/rock/pile/style_random{
pixel_x = 4;
@@ -26504,27 +26146,35 @@
},
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
-"iqC" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 2;
- id = "chemistry_shutters_2";
- name = "Chemistry Hall Shutters"
+"iqr" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/simple/violet/visible{
+ dir = 4
},
-/turf/open/floor/plating,
-/area/station/medical/paramedic)
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"iqz" = (
+/obj/structure/rack,
+/obj/effect/spawner/random/techstorage/rnd_secure_all,
+/obj/machinery/status_display/shuttle{
+ pixel_y = -32
+ },
+/turf/open/floor/circuit/green{
+ luminosity = 2
+ },
+/area/station/engineering/storage/tech)
+"iqC" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/marker_beacon/burgundy,
+/turf/open/space/basic,
+/area/space/nearstation)
"iqN" = (
/obj/effect/turf_decal/stripes/corner,
/obj/effect/mapping_helpers/burnt_floor,
/obj/effect/spawner/random/structure/crate,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"iqO" = (
-/mob/living/carbon/human/species/monkey,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/grass,
-/area/station/science/auxlab)
"iqQ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/airalarm/directional/south,
@@ -26544,6 +26194,37 @@
/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
+"ird" = (
+/obj/machinery/status_display/evac/directional/west,
+/obj/effect/turf_decal/tile/blue/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/machinery/light/cold/directional/west,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
+"irg" = (
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/machinery/computer/atmos_control/nocontrol/incinerator{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{
+ dir = 6
+ },
+/obj/machinery/power/terminal{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/smooth_large,
+/area/station/maintenance/disposal/incinerator)
"iri" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -26618,6 +26299,17 @@
dir = 1
},
/area/station/hallway/primary/fore)
+"irW" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/railing/corner/end{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"irZ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -26630,16 +26322,14 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/science/robotics/lab)
-"ist" = (
-/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
+"isb" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
},
-/obj/machinery/light/warm/directional/east,
-/turf/open/floor/iron,
-/area/station/cargo/miningdock)
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/closet/crate/trashcart,
+/turf/open/floor/plating,
+/area/station/maintenance/disposal)
"isD" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -26656,11 +26346,35 @@
/obj/structure/cable,
/obj/effect/mapping_helpers/burnt_floor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/sign/warning/secure_area/directional/west,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
"isS" = (
/turf/open/floor/iron/grimy,
/area/station/security/prison)
+"isZ" = (
+/obj/machinery/status_display/ai/directional/east,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/kirbyplants/photosynthetic,
+/obj/machinery/camera/motion/directional/south{
+ c_tag = "ai_upload Consoles";
+ network = list("aiupload");
+ name = "upload camera"
+ },
+/turf/open/floor/iron/dark,
+/area/station/ai/upload/chamber)
+"itj" = (
+/obj/machinery/door/airlock/external{
+ name = "Prison External Airlock"
+ },
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "kilo-maint-1"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
"itn" = (
/turf/closed/wall/r_wall/rust,
/area/station/command/vault)
@@ -26690,6 +26404,17 @@
},
/turf/open/floor/plating,
/area/station/maintenance/solars/starboard/fore)
+"ity" = (
+/obj/item/radio/intercom/directional/west,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"itC" = (
/obj/effect/turf_decal/bot,
/obj/structure/closet/firecloset,
@@ -26704,6 +26429,21 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/grimy,
/area/station/service/chapel/office)
+"itK" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
+"itN" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"itR" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -26717,12 +26457,10 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/psychology)
-"iug" = (
-/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/plasma_input{
- dir = 1
- },
-/turf/open/floor/engine/plasma,
-/area/station/engineering/atmos)
+"iui" = (
+/obj/machinery/telecomms/server/presets/supply,
+/turf/open/floor/circuit/green/telecomms/mainframe,
+/area/station/tcommsat/server)
"iun" = (
/obj/machinery/door/airlock/medical{
id_tag = "Shower_1";
@@ -26756,6 +26494,13 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"iuN" = (
+/obj/structure/table,
+/obj/machinery/firealarm/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/commons/locker)
"iuP" = (
/obj/machinery/computer/teleporter{
dir = 8
@@ -26771,6 +26516,14 @@
},
/turf/open/floor/iron/dark,
/area/station/command/teleporter)
+"iuR" = (
+/obj/structure/sign/warning/vacuum/external/directional/west,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/plating,
+/area/station/maintenance/disposal)
"ivh" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -26780,6 +26533,22 @@
},
/turf/open/floor/plating,
/area/station/command/heads_quarters/cmo)
+"ivi" = (
+/obj/structure/table/wood/fancy/black,
+/obj/item/food/grown/flower/poppy/lily{
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/item/food/grown/flower/poppy/lily{
+ pixel_x = 6;
+ pixel_y = 6
+ },
+/obj/item/food/grown/flower/poppy/lily,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/mapping_helpers/apc/cell_5k,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/monastery)
"ivm" = (
/obj/effect/turf_decal/delivery,
/obj/structure/closet/firecloset,
@@ -26814,6 +26583,20 @@
/obj/structure/closet/emcloset,
/turf/open/floor/plating,
/area/station/maintenance/department/security)
+"ivY" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
+"iwc" = (
+/obj/machinery/light/small/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/blue/half/contrasted,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"iwf" = (
/obj/structure/transit_tube/curved/flipped{
dir = 1
@@ -26836,6 +26619,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"iwx" = (
+/obj/machinery/airalarm/directional/south,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/green/half/contrasted,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/virology)
"iwB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -26860,24 +26655,19 @@
},
/turf/open/floor/iron/dark,
/area/station/security/lockers)
-"iwM" = (
-/obj/effect/spawner/structure/window/reinforced/plasma,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter/room)
-"iwS" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
-"iwT" = (
-/obj/effect/turf_decal/delivery,
-/obj/structure/closet/radiation,
-/obj/item/clothing/glasses/meson,
+"iwV" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/light/floor,
/turf/open/floor/iron/dark,
+/area/station/commons/fitness/recreation)
+"ixb" = (
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
+/obj/machinery/meter,
+/turf/open/floor/iron/smooth,
/area/station/engineering/atmos)
"ixc" = (
/obj/effect/turf_decal/stripes/line,
@@ -26925,6 +26715,20 @@
dir = 1
},
/area/station/hallway/primary/central)
+"ixp" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
+ dir = 1
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"ixx" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/landmark/event_spawn,
@@ -26941,13 +26745,6 @@
"ixB" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/department/chapel/monastery)
-"ixE" = (
-/obj/structure/window/spawner/directional/west,
-/obj/structure/window/spawner/directional/east,
-/obj/structure/window/spawner/directional/north,
-/obj/structure/flora/bush/fullgrass/style_random,
-/turf/open/floor/grass,
-/area/station/medical/medbay/central)
"ixO" = (
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/blood/old,
@@ -26955,19 +26752,6 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/command/heads_quarters/hop)
-"ixR" = (
-/obj/machinery/airalarm/directional/north,
-/obj/machinery/navbeacon{
- codes_txt = "delivery;dir=8";
- location = "QM #1"
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/effect/turf_decal/delivery,
-/obj/effect/decal/cleanable/blood/oil,
-/mob/living/basic/bot/mulebot,
-/turf/open/floor/iron/dark,
-/area/station/cargo/warehouse)
"iyd" = (
/obj/machinery/door/poddoor/incinerator_atmos_main,
/turf/open/floor/engine,
@@ -26993,6 +26777,13 @@
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
/turf/open/floor/iron/dark,
/area/station/maintenance/fore)
+"iyy" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/light/floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"iyB" = (
/obj/machinery/atmospherics/components/binary/valve/layer4,
/obj/effect/turf_decal/stripes/line,
@@ -27071,6 +26862,16 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
+"izw" = (
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
+/obj/machinery/duct,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Engineering Storage"
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/main)
"izL" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/bot,
@@ -27094,24 +26895,29 @@
/obj/machinery/vending/clothing,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/entry)
-"iAf" = (
-/obj/effect/turf_decal/bot,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/closet/crate,
-/obj/structure/grille/broken,
-/obj/item/clothing/gloves/color/fyellow,
-/obj/item/flashlight,
-/obj/item/flashlight/flare,
-/obj/item/relic,
-/obj/structure/sign/poster/contraband/random/directional/west,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard)
+"iAh" = (
+/obj/structure/reagent_dispensers/watertank,
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/storage)
"iAo" = (
/obj/structure/lattice,
/obj/structure/sign/warning/secure_area/directional/south,
/turf/open/space/basic,
/area/space/nearstation)
+"iAr" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/binary/pump/on{
+ name = "Air to Mix";
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"iAC" = (
/obj/machinery/suit_storage_unit/rd,
/obj/effect/turf_decal/delivery,
@@ -27120,12 +26926,6 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
-"iAE" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/obj/effect/turf_decal/delivery,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/engineering/supermatter/room)
"iAR" = (
/obj/effect/turf_decal/delivery,
/obj/effect/decal/cleanable/dirt,
@@ -27133,20 +26933,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"iAU" = (
-/obj/structure/table,
-/obj/item/stack/sheet/iron/fifty,
-/obj/item/stack/sheet/iron/fifty,
-/obj/item/clothing/head/utility/welding{
- pixel_x = 4;
- pixel_y = 4
- },
-/obj/item/clothing/head/utility/welding,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"iBc" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/holosign/barrier/atmos,
@@ -27254,15 +27040,6 @@
},
/turf/open/misc/asteroid,
/area/station/maintenance/port/greater)
-"iCf" = (
-/obj/structure/railing/corner{
- dir = 4
- },
-/obj/effect/turf_decal/siding/thinplating/dark{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
"iCK" = (
/obj/effect/turf_decal/bot,
/obj/machinery/conveyor{
@@ -27289,6 +27066,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/exit/departure_lounge)
+"iCQ" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/station/engineering/atmos)
"iCV" = (
/obj/effect/turf_decal/tile/blue{
dir = 4
@@ -27314,6 +27098,13 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"iCZ" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 4
+ },
+/obj/machinery/computer/security/telescreen/entertainment/directional/east,
+/turf/open/floor/iron/white,
+/area/station/security/prison/mess)
"iDh" = (
/obj/machinery/navbeacon{
codes_txt = "patrol;next_patrol=Upload";
@@ -27324,6 +27115,62 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"iDo" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/service/chapel/dock)
+"iDs" = (
+/obj/machinery/airalarm/directional/east,
+/obj/effect/turf_decal/tile/purple,
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
+"iDw" = (
+/obj/structure/reagent_dispensers/fueltank/large,
+/obj/effect/turf_decal/delivery,
+/obj/structure/railing{
+ dir = 1
+ },
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
+"iDQ" = (
+/obj/structure/table,
+/obj/structure/extinguisher_cabinet/directional/east,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/item/clothing/glasses/hud/security/sunglasses/gars{
+ pixel_x = 3;
+ pixel_y = -2
+ },
+/obj/item/clothing/glasses/hud/security/sunglasses/gars{
+ pixel_x = 3;
+ pixel_y = 2
+ },
+/obj/item/clothing/glasses/hud/security/sunglasses{
+ pixel_x = -3;
+ pixel_y = 2
+ },
+/obj/item/clothing/glasses/hud/security/sunglasses{
+ pixel_x = -3;
+ pixel_y = -2
+ },
+/obj/machinery/light/small/red/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/security/armory)
+"iEc" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/canister,
+/obj/effect/turf_decal/box,
+/obj/machinery/light/warm/directional/south,
+/turf/open/floor/iron/dark/textured_large,
+/area/station/engineering/supermatter/room)
"iEi" = (
/obj/structure/chair{
dir = 4
@@ -27334,14 +27181,6 @@
},
/turf/open/floor/iron/dark,
/area/station/security/office)
-"iEr" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/machinery/light/directional/west,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"iEu" = (
/obj/effect/turf_decal/delivery,
/obj/effect/decal/cleanable/cobweb,
@@ -27374,27 +27213,24 @@
/obj/structure/sign/warning/docking,
/turf/closed/wall,
/area/ruin/space/has_grav/abandoned_warehouse)
-"iEG" = (
-/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/siding/yellow{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/storage_shared)
+"iEF" = (
+/obj/structure/flora/bush/flowers_br/style_random,
+/obj/effect/turf_decal/siding/thinplating/dark,
+/turf/open/floor/grass,
+/area/station/service/chapel)
"iFa" = (
/obj/machinery/light/small/directional/south,
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/structure/crate,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"iFb" = (
+/obj/structure/chair/office{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"iFd" = (
/obj/structure/sign/warning/electric_shock,
/turf/closed/wall/rust,
@@ -27436,6 +27272,14 @@
},
/turf/open/floor/iron/dark,
/area/station/service/bar/atrium)
+"iFD" = (
+/obj/machinery/atmospherics/components/unary/passive_vent{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"iFE" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
@@ -27493,14 +27337,14 @@
/turf/open/floor/iron/dark,
/area/station/security/brig)
"iGg" = (
-/obj/machinery/atmospherics/components/trinary/filter{
- dir = 1
- },
-/obj/effect/turf_decal/bot,
/obj/machinery/light/small/directional/west,
/obj/effect/turf_decal/tile/yellow{
dir = 8
},
+/obj/effect/turf_decal/delivery,
+/obj/machinery/atmospherics/components/trinary/filter/layer2{
+ dir = 1
+ },
/turf/open/floor/iron/dark/corner{
dir = 1
},
@@ -27538,22 +27382,6 @@
},
/turf/open/floor/iron,
/area/station/science/robotics/mechbay)
-"iGQ" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{
- dir = 4
- },
-/obj/effect/turf_decal/delivery,
-/obj/machinery/portable_atmospherics/canister/air,
-/obj/machinery/status_display/evac/directional/west,
-/obj/effect/turf_decal/stripes/end{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/machinery/light/cold/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/ai/satellite/atmos)
"iGT" = (
/obj/structure/table,
/obj/item/storage/box/lights/mixed{
@@ -27651,6 +27479,15 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
+"iHU" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 2;
+ id = "chemistry_shutters_2";
+ name = "Chemistry Hall Shutters"
+ },
+/turf/open/floor/plating,
+/area/station/medical/paramedic)
"iHY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -27677,15 +27514,6 @@
/obj/machinery/wall_healer/directional/south,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"iID" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/blood/old,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/fore)
"iIF" = (
/obj/structure/table/glass,
/obj/item/clothing/gloves/latex,
@@ -27699,12 +27527,15 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/medical/pharmacy)
-"iIS" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/machinery/light/cold/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/chemistry)
+"iIQ" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/obj/machinery/meter,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
+ dir = 6
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"iJf" = (
/obj/machinery/mech_bay_recharge_port,
/obj/structure/sign/warning/no_smoking{
@@ -27771,18 +27602,6 @@
},
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
-"iJL" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/atmospherics/components/binary/pump/on/layer4{
- dir = 4;
- name = "Airlock Pump";
- target_pressure = 300;
- hide = 1
- },
-/turf/open/floor/plating,
-/area/station/hallway/secondary/entry)
"iJN" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
@@ -27822,6 +27641,11 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/security/checkpoint/customs)
+"iKt" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/violet/visible,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"iKy" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
@@ -27852,38 +27676,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron/grimy,
/area/station/service/chapel/office)
-"iKV" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
-"iKX" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/extinguisher_cabinet/directional/west,
-/obj/machinery/shower/directional/east{
- name = "emergency shower"
- },
-/obj/effect/turf_decal/box/corners,
-/obj/effect/turf_decal/box/corners{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"iLd" = (
-/obj/structure/table,
-/obj/item/storage/box/bodybags{
- pixel_x = 6
- },
-/obj/item/storage/box/gloves{
- pixel_x = -5
- },
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/funeral)
"iLj" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -27906,43 +27698,16 @@
/obj/item/storage/fancy/candle_box,
/turf/open/floor/iron/dark,
/area/station/service/chapel)
-"iLF" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
-"iLI" = (
-/obj/machinery/firealarm/directional/east,
-/obj/machinery/computer/dna_console{
- dir = 8
- },
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
+"iLK" = (
+/obj/machinery/conveyor{
+ dir = 8;
+ id = "mining"
},
-/obj/machinery/light/cold/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/science/genetics)
-"iLN" = (
-/obj/effect/turf_decal/tile/blue{
+/obj/machinery/bouldertech/refinery{
dir = 8
},
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
-"iLQ" = (
-/obj/machinery/portable_atmospherics/canister,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 1
- },
-/obj/effect/turf_decal/box,
/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
+/area/station/cargo/miningoffice)
"iLS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -27963,30 +27728,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"iLX" = (
-/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/table,
-/obj/item/storage/box/disks{
- pixel_x = 5;
- pixel_y = 9
- },
-/obj/item/storage/box/bodybags{
- pixel_x = -8;
- pixel_y = 9
- },
-/obj/item/storage/box/gloves{
- pixel_x = 6;
- pixel_y = 1
- },
-/obj/item/flesh_shears{
- pixel_x = -10;
- pixel_y = -5
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/genetics)
"iMu" = (
/obj/effect/turf_decal/tile/purple/half/contrasted{
dir = 1
@@ -28046,19 +27787,6 @@
/obj/machinery/vending/boozeomat,
/turf/closed/wall,
/area/station/service/bar)
-"iMS" = (
-/obj/machinery/computer/security{
- dir = 4
- },
-/obj/effect/turf_decal/bot,
-/obj/item/radio/intercom/directional/west,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/machinery/light/warm/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
"iMX" = (
/turf/open/floor/engine/air,
/area/station/engineering/atmos)
@@ -28082,38 +27810,16 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark/corner,
/area/station/hallway/primary/starboard)
-"iNm" = (
-/obj/effect/landmark/event_spawn,
-/obj/effect/decal/cleanable/dirt,
-/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/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"iNz" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/blue/half/contrasted,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
-"iNH" = (
-/obj/structure/chair/sofa/right/maroon{
- dir = 8
- },
-/obj/structure/railing{
- dir = 4
- },
-/obj/machinery/newscaster/directional/north,
+"iNw" = (
+/obj/effect/spawner/random/vending/snackvend,
+/obj/effect/turf_decal/bot,
+/obj/machinery/airalarm/directional/east,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
+ dir = 8
},
+/obj/machinery/light/directional/east,
/turf/open/floor/iron/dark,
-/area/station/service/bar/atrium)
+/area/station/hallway/primary/central/fore)
"iNK" = (
/obj/machinery/status_display/evac/directional/south,
/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
@@ -28218,14 +27924,6 @@
/obj/machinery/power/apc/auto_name/directional/north,
/turf/open/floor/iron/recharge_floor,
/area/station/science/robotics/mechbay)
-"iPG" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/structure/window/spawner/directional/east,
-/obj/structure/table/optable,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"iPY" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -28252,29 +27950,16 @@
/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/security/prison/garden)
-"iQh" = (
-/obj/machinery/computer/communications{
- dir = 1
- },
-/obj/structure/plaque/static_plaque/golden/captain{
- pixel_y = -32
- },
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/warm/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain)
"iQt" = (
/turf/closed/wall/rust,
/area/station/commons/fitness/recreation)
-"iQD" = (
-/obj/machinery/atmospherics/components/unary/thermomachine/freezer,
-/obj/item/radio/intercom/directional/north,
-/obj/machinery/light/cold/directional/north,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/cryo)
+"iQJ" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/newscaster/directional/north,
+/obj/machinery/computer/security/qm,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/qm)
"iQK" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/dirt,
@@ -28334,6 +28019,17 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/command/heads_quarters/rd)
+"iSa" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/pumproom)
"iSb" = (
/obj/machinery/door/poddoor{
id = "QMLoaddoor";
@@ -28346,6 +28042,10 @@
},
/turf/open/floor/plating,
/area/station/cargo/storage)
+"iSu" = (
+/obj/effect/turf_decal/tile/yellow,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"iSw" = (
/turf/closed/wall/rust,
/area/station/security/checkpoint/customs)
@@ -28384,10 +28084,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/eva)
-"iSQ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible,
-/turf/closed/wall/r_wall,
-/area/station/maintenance/disposal/incinerator)
"iSS" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -28431,30 +28127,6 @@
},
/turf/open/floor/iron,
/area/station/service/theater)
-"iTB" = (
-/obj/structure/rack,
-/obj/item/clothing/gloves/color/black,
-/obj/item/clothing/gloves/color/black,
-/obj/item/clothing/gloves/color/black,
-/obj/item/clothing/suit/hazardvest,
-/obj/item/clothing/suit/hazardvest,
-/obj/item/clothing/suit/hazardvest,
-/obj/item/clothing/mask/gas,
-/obj/item/clothing/mask/gas,
-/obj/effect/turf_decal/bot,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
-"iTF" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/light/small/red/directional/south,
-/turf/open/floor/engine,
-/area/station/command/vault)
"iTL" = (
/obj/structure/chair{
dir = 4
@@ -28483,13 +28155,6 @@
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/engine/vacuum,
/area/station/science/ordnance/bomb)
-"iUc" = (
-/obj/effect/turf_decal/siding/wood,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/carpet/royalblue,
-/area/station/service/chapel/office)
"iUm" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -28506,6 +28171,22 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron/showroomfloor,
/area/station/science/lobby)
+"iUC" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/wall_healer/directional/east,
+/obj/machinery/light/warm/directional/east,
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"iUH" = (
/turf/closed/wall,
/area/station/science/ordnance)
@@ -28530,6 +28211,21 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
+"iVh" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/duct,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
+ dir = 10
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"iVj" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/department/security)
@@ -28584,12 +28280,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"iVK" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/service/chapel/dock)
"iVL" = (
/turf/closed/mineral/random/labormineral,
/area/station/hallway/secondary/entry)
@@ -28607,6 +28297,12 @@
/obj/structure/sign/poster/contraband/random/directional/south,
/turf/closed/wall,
/area/station/maintenance/port/lesser)
+"iVS" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"iVV" = (
/obj/structure/table,
/obj/item/paper_bin,
@@ -28616,6 +28312,34 @@
},
/turf/open/floor/iron/dark,
/area/station/security/evidence)
+"iWf" = (
+/obj/structure/table/wood,
+/obj/item/storage/photo_album/library{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/item/taperecorder{
+ pixel_x = 5;
+ pixel_y = 4
+ },
+/obj/item/camera,
+/obj/item/pen{
+ pixel_x = -7;
+ pixel_y = -5
+ },
+/obj/machinery/light/small/directional/west,
+/obj/machinery/camera/directional/west{
+ c_tag = "Library Backroom";
+ name = "library camera"
+ },
+/obj/structure/sign/painting/large/library_private{
+ dir = 8;
+ pixel_x = -29
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/station/service/library)
"iWj" = (
/obj/structure/table,
/obj/effect/turf_decal/bot,
@@ -28656,23 +28380,27 @@
/obj/effect/turf_decal/siding/red,
/turf/open/floor/iron,
/area/station/security/checkpoint/customs)
+"iWQ" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/showroomfloor,
+/area/station/command/heads_quarters/rd)
"iWT" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
},
/turf/open/floor/plating/airless,
/area/station/hallway/secondary/exit/departure_lounge)
-"iWV" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/disposal/bin/tagger,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/virology)
"iXd" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -28683,38 +28411,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"iXh" = (
-/obj/structure/table/wood/fancy,
-/obj/item/food/grown/flower/harebell,
-/obj/item/food/grown/flower/harebell{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/food/grown/flower/harebell{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/machinery/firealarm/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
-"iXo" = (
-/obj/machinery/requests_console/directional/west{
- department = "Engineering";
- name = "Engineering Requests Console"
- },
-/obj/effect/mapping_helpers/requests_console/information,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/bot,
-/obj/machinery/microwave/engineering/cell_included,
-/obj/structure/table,
-/obj/item/storage/box/donkpockets{
- pixel_y = 5
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/lobby)
"iXD" = (
/obj/machinery/camera/directional/east{
c_tag = "Xenobiology Cell 3";
@@ -28724,12 +28420,6 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"iXL" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"iXM" = (
/obj/structure/table,
/obj/effect/turf_decal/stripes/line{
@@ -28803,6 +28493,19 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"iYp" = (
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/storage/box/disks{
+ pixel_y = 5
+ },
+/obj/item/clothing/gloves/latex,
+/obj/item/clothing/gloves/latex,
+/obj/machinery/light/cold/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/science/research)
"iYq" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -28843,13 +28546,6 @@
/obj/machinery/vending/drugs,
/turf/open/floor/iron/dark,
/area/station/medical/pharmacy)
-"iYD" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/storage)
"iYI" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
@@ -28862,6 +28558,16 @@
},
/turf/open/floor/iron,
/area/station/cargo/warehouse)
+"iYL" = (
+/obj/machinery/computer/pandemic,
+/obj/effect/turf_decal/delivery,
+/obj/item/radio/intercom/directional/east,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/light/cold/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/medical/virology)
"iYS" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/tile/red/anticorner/contrasted{
@@ -28891,6 +28597,15 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/virology)
+"iZl" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/hidden/layer2{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"iZm" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/medical/glass{
@@ -28902,30 +28617,18 @@
/obj/effect/mapping_helpers/airlock/access/all/medical/general,
/turf/open/floor/iron/dark,
/area/station/medical/storage)
-"iZB" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 8;
- name = "Air to Ports"
+"iZq" = (
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
},
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/atmospherics/components/unary/thermomachine/heater/on,
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
},
/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"iZN" = (
-/obj/structure/sign/painting/library{
- pixel_x = 32
- },
-/obj/machinery/photocopier,
-/obj/item/radio/intercom/directional/south,
-/obj/effect/turf_decal/box/white,
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/service/library)
+/area/station/engineering/atmos/pumproom)
"iZV" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -28936,17 +28639,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"jak" = (
-/obj/structure/lattice,
-/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/transit_tube/diagonal/topleft,
-/turf/open/space/basic,
-/area/space/nearstation)
"jas" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -28970,6 +28662,18 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
+"jaz" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/machinery/newscaster/directional/west,
+/obj/item/camera{
+ pixel_y = 4
+ },
+/obj/item/hand_tele,
+/turf/open/floor/wood/large,
+/area/station/command/heads_quarters/captain)
"jaM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/stripes/line,
@@ -28977,6 +28681,16 @@
/obj/structure/cable,
/turf/open/floor/iron/showroomfloor,
/area/station/security/office)
+"jaO" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/maintenance/disposal/incinerator)
"jaR" = (
/obj/effect/turf_decal/bot,
/obj/effect/spawner/random/structure/crate,
@@ -29009,17 +28723,6 @@
/obj/machinery/duct,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
-"jbg" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/effect/landmark/start/atmospheric_technician,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"jbt" = (
/turf/closed/wall/mineral/plastitanium,
/area/station/maintenance/starboard)
@@ -29030,6 +28733,17 @@
},
/turf/open/misc/asteroid,
/area/space/nearstation)
+"jbR" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Emergency Storage"
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/unres/delayed,
+/obj/effect/mapping_helpers/airlock/access/any/service/janitor,
+/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/entry)
"jbV" = (
/obj/structure/lattice/catwalk,
/obj/machinery/camera/motion/directional/north{
@@ -29104,23 +28818,56 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard)
+"jcD" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 8
+ },
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science)
"jcK" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/command/bridge)
-"jdd" = (
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/showroomfloor,
-/area/station/security/warden)
-"jdi" = (
-/obj/structure/closet/secure_closet/atmospherics,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
+"jcQ" = (
+/obj/effect/turf_decal/delivery,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
+/area/station/engineering/lobby)
+"jcR" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light_switch/directional/south,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple/half/contrasted,
+/obj/effect/turf_decal/tile/purple,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/auxlab)
+"jdc" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold/supply/hidden/layer4,
+/obj/machinery/duct,
+/obj/structure/sign/warning/directional/south,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"jdl" = (
/obj/structure/flora/bush/flowers_yw/style_random,
/turf/open/floor/grass,
@@ -29145,36 +28892,6 @@
"jds" = (
/turf/closed/wall,
/area/station/service/kitchen)
-"jdu" = (
-/obj/effect/landmark/start/scientist,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/machinery/light/floor,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/xenobiology)
-"jdB" = (
-/obj/structure/table,
-/obj/item/tank/jetpack/carbondioxide{
- pixel_x = -4;
- pixel_y = 6
- },
-/obj/item/tank/jetpack/carbondioxide{
- pixel_y = 2
- },
-/obj/item/wrench,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/machinery/light/cold/dim/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/command/eva)
"jdE" = (
/obj/machinery/camera/directional/north{
c_tag = "Fore Hallway Diner";
@@ -29200,6 +28917,18 @@
/obj/structure/sign/warning/biohazard,
/turf/closed/wall/r_wall,
/area/station/medical/virology)
+"jdS" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/firealarm/directional/north,
+/turf/open/floor/iron,
+/area/station/security/processing)
"jdW" = (
/obj/structure/table/reinforced,
/obj/machinery/door/poddoor/shutters{
@@ -29217,6 +28946,13 @@
/obj/structure/cable,
/turf/open/floor/iron/showroomfloor,
/area/station/science/xenobiology)
+"jeg" = (
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/suit_storage_unit/atmos,
+/obj/machinery/status_display/ai/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/storage)
"jes" = (
/obj/structure/girder,
/obj/effect/turf_decal/stripes/corner,
@@ -29287,6 +29023,62 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
+"jfe" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/atmospherics/pipe/smart/simple/brown/hidden{
+ dir = 9
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/storage)
+"jfp" = (
+/obj/structure/extinguisher_cabinet/directional/south,
+/obj/structure/table,
+/obj/item/stock_parts/micro_laser{
+ pixel_x = -7;
+ pixel_y = -3
+ },
+/obj/item/stock_parts/micro_laser{
+ pixel_x = -1;
+ pixel_y = 3
+ },
+/obj/item/stock_parts/micro_laser{
+ pixel_x = -5;
+ pixel_y = 4
+ },
+/obj/item/stock_parts/micro_laser{
+ pixel_x = -3;
+ pixel_y = -2
+ },
+/obj/item/stock_parts/scanning_module{
+ pixel_x = 12;
+ pixel_y = -1
+ },
+/obj/item/stock_parts/scanning_module{
+ pixel_x = 10;
+ pixel_y = 1
+ },
+/obj/item/stock_parts/scanning_module{
+ pixel_x = 13;
+ pixel_y = 4
+ },
+/obj/item/stock_parts/scanning_module{
+ pixel_x = 8;
+ pixel_y = -1
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/cargo/drone_bay)
"jfy" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -29324,10 +29116,30 @@
/obj/structure/window/reinforced/spawner/directional/north,
/turf/open/floor/plating,
/area/station/hallway/primary/central/fore)
+"jgc" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/tile/red/half/contrasted,
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/security/processing)
"jgf" = (
/obj/structure/disposalpipe/segment,
/turf/closed/wall,
/area/station/maintenance/starboard/aft)
+"jgh" = (
+/obj/structure/bed,
+/obj/machinery/iv_drip,
+/obj/effect/turf_decal/bot_white/right,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/item/bedsheet/medical,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/central)
"jgn" = (
/obj/effect/decal/cleanable/blood/old,
/obj/structure/table/optable{
@@ -29414,6 +29226,19 @@
"jgN" = (
/turf/open/floor/iron/dark,
/area/station/service/chapel/funeral)
+"jgQ" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"jhc" = (
/obj/structure/table/bronze,
/obj/item/clothing/head/costume/bronze{
@@ -29473,16 +29298,6 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron,
/area/station/cargo/office)
-"jhE" = (
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/atmospherics/components/tank/air/layer4{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/entry)
"jhH" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -29513,31 +29328,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/security/prison)
-"jhY" = (
-/obj/structure/spirit_board,
-/turf/open/floor/cult,
-/area/station/service/chapel/office)
-"jia" = (
-/obj/machinery/atmospherics/components/unary/thermomachine/heater{
- dir = 1
- },
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
-"jig" = (
-/obj/machinery/requests_console/directional/east{
- department = "Garden";
- name = "Garden Requests Console"
- },
-/obj/effect/turf_decal/siding/green{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/service/hydroponics/garden)
"jij" = (
/obj/machinery/computer/records/security{
dir = 4
@@ -29636,13 +29426,6 @@
"jjs" = (
/turf/closed/wall/r_wall/rust,
/area/station/maintenance/starboard/aft)
-"jjF" = (
-/obj/effect/turf_decal/trimline/green/filled/line{
- dir = 4
- },
-/obj/structure/sink/directional/north,
-/turf/open/floor/iron,
-/area/station/security/prison/garden)
"jjP" = (
/obj/structure/table,
/obj/effect/decal/cleanable/cobweb/cobweb2,
@@ -29689,12 +29472,21 @@
/obj/effect/turf_decal/stripes/end,
/turf/open/floor/iron/checker,
/area/station/security/mechbay)
-"jkB" = (
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 9
+"jkI" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/turf/closed/wall,
-/area/station/engineering/atmos)
+/obj/structure/sign/poster/contraband/random/directional/south,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
+"jkS" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/wood,
+/area/station/service/bar/atrium)
"jkW" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -29716,6 +29508,12 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/dark,
/area/station/service/chapel/monastery)
+"jmh" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
+ dir = 1
+ },
+/turf/closed/wall,
+/area/station/engineering/atmos)
"jmj" = (
/obj/machinery/bluespace_beacon,
/obj/effect/turf_decal/stripes/line{
@@ -29727,6 +29525,18 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/command/teleporter)
+"jmt" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/requests_console/directional/east{
+ department = "Pharmacy";
+ name = "Pharmacy Requests Console"
+ },
+/obj/effect/mapping_helpers/requests_console/ore_update,
+/obj/effect/mapping_helpers/requests_console/supplies,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
+/obj/machinery/chem_dispenser,
+/turf/open/floor/iron/dark,
+/area/station/medical/pharmacy)
"jmw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -29735,6 +29545,13 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/security/brig)
+"jmy" = (
+/obj/structure/railing/corner{
+ dir = 8
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
"jmK" = (
/obj/structure/railing/corner{
dir = 4
@@ -29777,20 +29594,13 @@
/obj/machinery/duct,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
-"jnl" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
+"jnm" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/holopad/secure,
/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/hallway/primary/fore)
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"jnp" = (
/turf/closed/wall/rust,
/area/station/cargo/drone_bay)
@@ -29804,21 +29614,21 @@
"joh" = (
/turf/closed/wall/rust,
/area/station/command/heads_quarters/hos)
-"jon" = (
-/obj/effect/turf_decal/trimline/green/filled/line{
- dir = 4
- },
-/obj/item/reagent_containers/cup/watering_can,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/security/prison/garden)
"jop" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/medical/storage)
+"jos" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/warm/directional/west,
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"joC" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -29885,6 +29695,24 @@
dir = 4
},
/area/station/service/chapel)
+"jpe" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/station/engineering/atmos)
+"jpo" = (
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 10
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green/anticorner/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"jpx" = (
/obj/structure/railing{
dir = 4
@@ -29896,6 +29724,18 @@
/obj/item/pai_card,
/turf/open/floor/iron/dark,
/area/station/science/lobby)
+"jpD" = (
+/obj/machinery/light/directional/south,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red/half/contrasted,
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"jpF" = (
/obj/effect/turf_decal/siding/blue{
dir = 9
@@ -29923,6 +29763,18 @@
"jqb" = (
/turf/closed/wall,
/area/station/security/detectives_office)
+"jqC" = (
+/obj/machinery/portable_atmospherics/pump,
+/obj/machinery/airalarm/directional/south,
+/obj/effect/turf_decal/box,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/hallway)
"jqI" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/burnt_floor,
@@ -29970,9 +29822,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/caution/stand_clear,
/obj/structure/cable,
-/obj/machinery/duct,
+/obj/effect/turf_decal/caution/stand_clear{
+ dir = 8
+ },
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/aft)
"jre" = (
@@ -30022,11 +29875,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/central)
-"jrR" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
-/turf/open/floor/plating,
-/area/station/engineering/atmos/pumproom)
"jrT" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -30037,6 +29885,12 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/security/prison)
+"jsa" = (
+/obj/effect/turf_decal/box/white{
+ color = "#EFB341"
+ },
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"jsc" = (
/obj/machinery/light_switch/directional/east{
pixel_x = 23;
@@ -30060,6 +29914,12 @@
},
/turf/open/floor/engine,
/area/station/ai/satellite/foyer)
+"jsn" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"jso" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -30072,6 +29932,21 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"jsp" = (
+/obj/item/tank/internals/emergency_oxygen/engi{
+ pixel_x = -5
+ },
+/obj/item/tank/internals/emergency_oxygen/engi{
+ pixel_x = 5
+ },
+/obj/item/geiger_counter,
+/obj/item/geiger_counter,
+/obj/machinery/light/warm/directional/west,
+/obj/structure/rack,
+/obj/effect/turf_decal/bot,
+/obj/structure/sign/warning/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/engineering/supermatter/room)
"jsI" = (
/obj/structure/hoop{
dir = 8
@@ -30085,14 +29960,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"jsR" = (
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/hallway/primary/starboard)
"jsV" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters{
@@ -30153,6 +30020,22 @@
/obj/structure/flora/bush/sparsegrass/style_random,
/turf/open/misc/asteroid,
/area/station/hallway/secondary/exit/departure_lounge)
+"jur" = (
+/obj/structure/table,
+/obj/machinery/camera/directional/west{
+ c_tag = "ai_upload";
+ name = "upload camera";
+ network = list("aiupload")
+ },
+/obj/item/radio/intercom/directional/west,
+/obj/effect/spawner/round_default_module,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/light/cold/dim/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/ai/upload/chamber)
"jus" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -30161,6 +30044,16 @@
/obj/machinery/status_display/evac/directional/north,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/central)
+"juy" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/meter,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"juF" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/space_heater,
@@ -30177,35 +30070,41 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
-"juR" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
+"juZ" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
},
-/obj/machinery/airalarm/directional/south,
-/obj/machinery/camera/directional/south{
- c_tag = "Laser Room Starboard";
- name = "laser room camera";
- network = list("ss13","engine")
+/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
+ dir = 4
},
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter/room)
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/auxlab)
"jvh" = (
-/obj/effect/turf_decal/delivery,
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/south,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 1
},
-/obj/structure/reagent_dispensers/watertank,
+/obj/structure/tank_dispenser,
+/obj/effect/turf_decal/bot,
/turf/open/floor/iron/dark,
/area/station/engineering/storage_shared)
-"jvQ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/burnt_floor,
+"jvE" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/light/small/directional/south,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
+ dir = 8
+ },
/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
+/area/station/maintenance/solars/starboard/fore)
"jvR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/stripes/line{
@@ -30232,12 +30131,39 @@
/obj/effect/mapping_helpers/airlock/access/all/command/general,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
+"jwk" = (
+/obj/structure/chair/sofa/bench/left{
+ dir = 4
+ },
+/obj/effect/landmark/start/assistant,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/station/service/chapel/monastery)
"jwn" = (
/obj/effect/turf_decal/tile/red{
dir = 1
},
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"jwq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"jws" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"jwu" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -30257,9 +30183,25 @@
/obj/structure/closet/emcloset,
/turf/open/floor/iron/dark,
/area/station/cargo/miningdock)
+"jwC" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/spawner/random/structure/steam_vent,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"jwV" = (
/turf/closed/wall/r_wall/rust,
/area/station/engineering/atmos)
+"jxt" = (
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"jxy" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -30286,6 +30228,15 @@
},
/turf/closed/wall/rust,
/area/space/nearstation)
+"jyu" = (
+/obj/machinery/vending/wardrobe/atmos_wardrobe,
+/obj/effect/turf_decal/bot,
+/obj/machinery/newscaster/directional/south,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/storage)
"jyF" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -30336,13 +30287,6 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/station/engineering/lobby)
-"jzm" = (
-/obj/effect/turf_decal/delivery,
-/obj/item/radio/intercom/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/suit_storage_unit/atmos,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"jzo" = (
/obj/structure/chair{
dir = 1
@@ -30364,44 +30308,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"jzu" = (
-/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/machinery/status_display/evac/directional/north,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/machinery/light/directional/north,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
-"jzw" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
-"jzx" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/airalarm/directional/north,
-/turf/open/floor/iron/dark/corner{
- dir = 4
- },
-/area/station/hallway/primary/fore)
"jzB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -30413,6 +30319,8 @@
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 8
},
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
/turf/open/floor/iron/showroomfloor,
/area/station/command/heads_quarters/cmo)
"jzF" = (
@@ -30420,10 +30328,6 @@
/obj/structure/sign/poster/contraband/random/directional/south,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"jzH" = (
-/obj/structure/sign/warning/secure_area,
-/turf/closed/wall/r_wall,
-/area/station/engineering/gravity_generator)
"jAc" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -30447,6 +30351,18 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/drone_bay)
+"jAq" = (
+/obj/effect/turf_decal/siding/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/command/heads_quarters/ce)
"jAu" = (
/obj/structure/table/wood,
/obj/effect/turf_decal/siding/wood{
@@ -30468,9 +30384,11 @@
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/space/nearstation)
-"jBf" = (
+"jAV" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 9
+ },
/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/duct,
/turf/open/floor/iron,
/area/station/engineering/atmos)
"jBi" = (
@@ -30560,37 +30478,20 @@
"jCm" = (
/turf/closed/wall,
/area/station/maintenance/department/crew_quarters/bar)
-"jCF" = (
-/obj/effect/turf_decal/siding/blue{
- dir = 4
- },
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/tile/blue/half/contrasted{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
-"jCP" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner{
+"jCJ" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 1
},
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
+/obj/machinery/firealarm/directional/south,
+/obj/machinery/light/warm/directional/south,
+/obj/machinery/camera/directional/south{
+ c_tag = "Atmospherics Mix Tanks";
+ name = "atmospherics camera";
+ network = list("ss13","engine")
},
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"jCZ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/insectguts,
@@ -30603,17 +30504,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/commons/locker)
-"jDv" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/conveyor{
- dir = 4;
- id = "packagereturn";
- name = "crate return belt"
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/cargo/sorting)
"jDy" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -30628,6 +30518,14 @@
/obj/effect/turf_decal/tile/red/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/service/bar/atrium)
+"jDB" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "atmos";
+ name = "Atmospherics Blast Door"
+ },
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/station/engineering/atmos/office)
"jDF" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -30635,6 +30533,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/service/kitchen/coldroom)
+"jDJ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/sign/warning/electric_shock/directional/south,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
"jEd" = (
/obj/structure/table,
/obj/machinery/firealarm/directional/west,
@@ -30694,34 +30600,10 @@
},
/turf/open/floor/engine/telecomms,
/area/station/tcommsat/server)
-"jEG" = (
-/obj/structure/table/wood/fancy/black,
-/obj/item/food/grown/flower/poppy/geranium{
- pixel_x = -6;
- pixel_y = 6
- },
-/obj/item/food/grown/flower/poppy/geranium{
- pixel_x = 6;
- pixel_y = 6
- },
-/obj/item/food/grown/flower/poppy/geranium,
-/obj/machinery/firealarm/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
"jEK" = (
/obj/structure/sign/warning/docking,
/turf/closed/wall,
/area/station/hallway/secondary/entry)
-"jEO" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/door/poddoor/preopen{
- id = "atmos";
- name = "Atmospherics Blast Door"
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/engineering/atmos/storage/gas)
"jEQ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -30736,17 +30618,6 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
-"jEW" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"jFq" = (
/obj/structure/barricade/wooden/crude,
/obj/machinery/door/airlock/bronze,
@@ -30797,12 +30668,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"jFZ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/airalarm/directional/north,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"jGt" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -30814,6 +30679,22 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"jGy" = (
+/obj/effect/turf_decal/loading_area{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
+"jGQ" = (
+/obj/structure/cable,
+/turf/open/misc/asteroid/airless,
+/area/space/nearstation)
"jGU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/stripes/line{
@@ -30832,6 +30713,18 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"jHb" = (
+/obj/item/kirbyplants/organic/plant16,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"jHm" = (
/obj/vehicle/ridden/janicart,
/obj/item/key/janitor,
@@ -30856,24 +30749,25 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/paramedic)
+"jHw" = (
+/obj/machinery/airalarm/directional/north,
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=8";
+ location = "QM #1"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/effect/turf_decal/delivery,
+/obj/effect/decal/cleanable/blood/oil,
+/mob/living/basic/bot/mulebot,
+/turf/open/floor/iron/dark,
+/area/station/cargo/warehouse)
"jHy" = (
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/space_heater,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"jHP" = (
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/light/warm/directional/west,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/auxlab)
"jHR" = (
/obj/effect/turf_decal/bot,
/obj/effect/turf_decal/stripes/line{
@@ -30904,41 +30798,35 @@
},
/turf/open/floor/iron/dark,
/area/station/service/hydroponics)
-"jHW" = (
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/machinery/camera/directional/north{
- c_tag = "Morgue Entrance";
- name = "medical camera";
- network = list("ss13","medical")
- },
-/obj/machinery/firealarm/directional/north,
-/obj/effect/turf_decal/siding/white{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/tile/blue/half/contrasted{
+"jIj" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/extinguisher_cabinet/directional/east,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 4
},
-/turf/open/floor/iron/dark,
-/area/station/hallway/primary/fore)
-"jIi" = (
-/obj/structure/railing/corner{
- dir = 8
+/obj/machinery/light/directional/east,
+/turf/open/floor/iron/dark/corner,
+/area/station/hallway/primary/port)
+"jIr" = (
+/obj/machinery/camera/directional/west{
+ c_tag = "Atmospherics Tank - O2";
+ name = "atmospherics camera";
+ network = list("ss13","engine")
},
-/obj/item/kirbyplants/random,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
+/turf/open/floor/engine/o2,
+/area/station/engineering/atmos)
"jIt" = (
/obj/machinery/door/poddoor/shutters/radiation/preopen{
id = "engsm";
- name = "Radiation Chamber Shutters"
+ name = "Radiation Chamber Shutters";
+ dir = 8
},
-/obj/effect/turf_decal/caution/stand_clear,
/obj/structure/cable,
-/turf/open/floor/iron/dark,
+/obj/effect/turf_decal/caution/stand_clear{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/textured_large,
/area/station/engineering/supermatter/engine)
"jID" = (
/obj/effect/decal/cleanable/dirt,
@@ -30949,6 +30837,21 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"jIO" = (
+/obj/structure/filingcabinet/chestdrawer,
+/obj/effect/turf_decal/bot,
+/obj/machinery/firealarm/directional/south,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/blue{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/tile/blue/anticorner/contrasted,
+/obj/machinery/light/dim/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
"jIR" = (
/obj/structure/closet/crate/solarpanel_small,
/obj/effect/turf_decal/delivery,
@@ -31100,6 +31003,11 @@
dir = 1
},
/area/station/hallway/primary/fore)
+"jJK" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/space_heater,
+/turf/open/floor/iron/dark/textured_large,
+/area/station/engineering/atmos)
"jJN" = (
/obj/effect/turf_decal/stripes/end,
/obj/effect/decal/cleanable/dirt,
@@ -31114,6 +31022,15 @@
/obj/effect/turf_decal/tile/blue/anticorner/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/lobby)
+"jKc" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/public/glass{
+ name = "Arrivals Dock"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/entry)
"jKj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -31184,17 +31101,6 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/medical/morgue)
-"jKU" = (
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
-/obj/effect/decal/cleanable/dirt,
-/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/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"jKZ" = (
/obj/machinery/vending/sustenance,
/turf/open/floor/iron/white,
@@ -31213,16 +31119,6 @@
/obj/effect/turf_decal/tile/red/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/service/bar/atrium)
-"jLs" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/shower/directional/west,
-/obj/effect/turf_decal/box,
-/obj/structure/fluff/shower_drain,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/main)
"jLy" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -31248,14 +31144,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"jLM" = (
-/obj/machinery/door/airlock/maintenance,
-/obj/effect/mapping_helpers/airlock/unres/delayed{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/aft)
"jLT" = (
/obj/machinery/computer/mech_bay_power_console{
dir = 4
@@ -31319,17 +31207,6 @@
/obj/structure/sign/warning/vacuum/external,
/turf/closed/wall/rust,
/area/station/maintenance/starboard)
-"jNq" = (
-/obj/machinery/door/airlock/engineering{
- name = "Emergency Storage"
- },
-/obj/effect/mapping_helpers/airlock/unres/delayed{
- dir = 8
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/entry)
"jNt" = (
/obj/machinery/navbeacon{
codes_txt = "patrol;next_patrol=Arrivals";
@@ -31339,6 +31216,12 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"jNx" = (
+/obj/machinery/shower/directional/west,
+/obj/effect/turf_decal/box,
+/obj/structure/fluff/shower_drain,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/cryo)
"jNM" = (
/obj/structure/table/reinforced,
/obj/item/folder/blue{
@@ -31441,17 +31324,54 @@
},
/turf/open/floor/wood,
/area/station/commons/locker)
-"jPA" = (
-/obj/machinery/conveyor/inverted{
- dir = 5;
- id = "mining"
+"jPu" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
},
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/cargo/miningoffice)
+/obj/machinery/shower/directional/east{
+ name = "emergency shower"
+ },
+/obj/effect/turf_decal/box/corners,
+/obj/effect/turf_decal/box/corners{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
+/obj/structure/fluff/shower_drain,
+/turf/open/floor/iron/textured_large,
+/area/station/engineering/atmos)
"jPB" = (
/turf/closed/wall/rust,
/area/station/security/courtroom)
+"jPH" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/airalarm/directional/south,
+/obj/effect/mapping_helpers/airalarm/engine_access,
+/obj/effect/mapping_helpers/airalarm/link{
+ chamber_id = "engine"
+ },
+/obj/effect/mapping_helpers/airalarm/tlv_no_checks,
+/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
+"jQd" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/firealarm/directional/west,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"jQh" = (
/obj/structure/lattice,
/obj/structure/disposalpipe/segment{
@@ -31486,6 +31406,16 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/aft)
+"jQU" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard)
"jQV" = (
/obj/structure/flora/bush/lavendergrass/style_random,
/obj/structure/flora/bush/sparsegrass/style_random,
@@ -31510,6 +31440,16 @@
/obj/structure/chair/office,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
+"jRh" = (
+/obj/item/radio/intercom/directional/south,
+/obj/structure/rack,
+/obj/effect/turf_decal/bot,
+/obj/item/storage/belt/utility,
+/obj/item/t_scanner,
+/obj/item/t_scanner,
+/obj/item/t_scanner,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"jRm" = (
/obj/structure/table/wood,
/obj/machinery/fax{
@@ -31556,11 +31496,22 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/showroomfloor,
/area/station/science/auxlab)
-"jRG" = (
-/obj/structure/table/reinforced/plastitaniumglass,
-/obj/item/mmi,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/storage)
+"jRA" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/disposalpipe/junction/flip{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
+"jRL" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/sign/warning/directional/east,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"jRR" = (
/obj/structure/cable,
/obj/machinery/door/airlock/maintenance{
@@ -31587,6 +31538,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/sign/warning/vacuum/directional/west,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
"jSw" = (
@@ -31602,10 +31554,6 @@
/obj/effect/turf_decal/tile/purple/half/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/science/lobby)
-"jSC" = (
-/obj/structure/sign/warning/electric_shock,
-/turf/closed/wall/rust,
-/area/station/maintenance/aft)
"jSE" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -31690,6 +31638,32 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"jTI" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
+"jTK" = (
+/obj/structure/table/glass,
+/obj/item/crowbar{
+ pixel_x = -8;
+ pixel_y = 11
+ },
+/obj/item/emergency_bed{
+ pixel_x = 7;
+ pixel_y = 10
+ },
+/obj/item/emergency_bed,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/office)
"jUa" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/bot,
@@ -31771,11 +31745,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/wood,
/area/station/maintenance/department/crew_quarters/bar)
-"jVW" = (
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/hallway/primary/aft)
"jVZ" = (
/obj/structure/disposalpipe/segment,
/obj/effect/landmark/event_spawn,
@@ -31793,6 +31762,13 @@
/obj/effect/mapping_helpers/airlock/access/all/supply/general,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
+"jWu" = (
+/obj/machinery/gulag_teleporter,
+/obj/effect/turf_decal/box,
+/obj/effect/turf_decal/stripes/corner,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/security/processing)
"jWw" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -31827,12 +31803,6 @@
/obj/machinery/suit_storage_unit/engine,
/turf/open/floor/iron/dark,
/area/station/engineering/storage_shared)
-"jWN" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"jXd" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -31861,11 +31831,17 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/aft)
-"jXU" = (
-/obj/effect/landmark/start/paramedic,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
+"jXS" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/pumproom)
"jXX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -31875,33 +31851,13 @@
},
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
-"jYc" = (
-/obj/machinery/meter,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 10
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"jYd" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock/security/glass{
- name = "Engineering Security Post"
- },
-/obj/effect/mapping_helpers/airlock/access/all/security/general,
-/turf/open/floor/iron/dark,
-/area/station/security/checkpoint/engineering)
+"jYa" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/frame/machine,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"jYe" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/turf_decal/stripes/corner,
@@ -31917,13 +31873,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/security/prison/garden)
-"jYo" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"jYp" = (
/obj/structure/table,
/obj/item/storage/toolbox/mechanical{
@@ -31938,6 +31887,16 @@
/obj/effect/turf_decal/tile/purple/half/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance/storage)
+"jYq" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 10
+ },
+/obj/machinery/meter,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"jYx" = (
/obj/structure/table,
/obj/item/paper_bin{
@@ -31961,17 +31920,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/sorting)
-"jYT" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible,
-/obj/machinery/firealarm/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/pumproom)
"jYX" = (
/obj/machinery/door/airlock/external/glass{
name = "Monastery External Airlock"
@@ -31983,6 +31931,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/plating,
/area/station/service/chapel)
+"jZa" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/mapping_helpers/apc/cell_10k,
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/plating,
+/area/station/engineering/supermatter/room)
"jZJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -31992,6 +31948,21 @@
/obj/machinery/nuclearbomb/beer,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
+"jZK" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/siding/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden,
+/turf/open/floor/iron,
+/area/station/security/checkpoint/engineering)
"kac" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -32010,6 +31981,13 @@
/obj/effect/landmark/navigate_destination/chemfactory,
/turf/open/floor/iron/dark,
/area/station/medical/chemistry)
+"kau" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"kax" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -32056,12 +32034,6 @@
/obj/effect/mapping_helpers/airlock/access/all/supply/general,
/turf/open/floor/iron/dark,
/area/station/cargo/miningoffice)
-"kba" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/security/processing)
"kbc" = (
/obj/structure/sign/poster/random/directional/north,
/obj/effect/spawner/random/structure/steam_vent,
@@ -32088,6 +32060,15 @@
/obj/structure/flora/rock/pile/style_random,
/turf/open/floor/grass,
/area/station/service/chapel/monastery)
+"kbs" = (
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/machinery/camera/autoname/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"kbv" = (
/obj/effect/turf_decal/delivery,
/obj/structure/reagent_dispensers/fueltank,
@@ -32097,18 +32078,6 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/primary/aft)
-"kbw" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/binary/pump/on{
- dir = 4;
- name = "O2 to Airmix"
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"kbx" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -32126,19 +32095,6 @@
},
/turf/open/floor/iron,
/area/station/security/prison)
-"kbR" = (
-/obj/structure/table/wood/fancy/black,
-/obj/item/food/grown/flower/poppy/lily{
- pixel_x = -6;
- pixel_y = 6
- },
-/obj/item/food/grown/flower/poppy/lily{
- pixel_x = 6;
- pixel_y = 6
- },
-/obj/item/food/grown/flower/poppy/lily,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/monastery)
"kbV" = (
/obj/structure/table,
/obj/item/storage/box/evidence,
@@ -32176,6 +32132,17 @@
},
/turf/open/floor/iron,
/area/station/security/courtroom)
+"kcv" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/security/processing)
"kcx" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -32234,6 +32201,21 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"kda" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/brown/visible{
+ dir = 9
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"kdr" = (
/obj/effect/turf_decal/box/corners{
dir = 1
@@ -32255,18 +32237,6 @@
"kem" = (
/turf/closed/wall/rust,
/area/station/security/processing)
-"kep" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/security/glass{
- name = "Engineering Security Post"
- },
-/obj/effect/turf_decal/siding/red/corner{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/access/all/security/general,
-/obj/machinery/duct,
-/turf/open/floor/iron/dark,
-/area/station/security/checkpoint/engineering)
"kex" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
@@ -32292,6 +32262,12 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/entry)
+"keQ" = (
+/obj/effect/decal/cleanable/ash,
+/turf/open/floor/iron/smooth_half{
+ dir = 4
+ },
+/area/station/engineering/atmos)
"kfh" = (
/obj/effect/turf_decal/box/corners{
dir = 1
@@ -32302,36 +32278,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/gateway)
-"kfx" = (
-/obj/structure/table,
-/obj/machinery/light_switch/directional/north{
- pixel_x = -8
- },
-/obj/item/clothing/gloves/color/orange,
-/obj/item/reagent_containers/spray/cleaner{
- pixel_x = -4;
- pixel_y = 4
- },
-/obj/item/flashlight{
- pixel_y = 4
- },
-/obj/item/flashlight{
- pixel_y = 4
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/machinery/button/door/directional/north{
- id = "custodialwagon";
- name = "Custodial Bay Toggle";
- pixel_x = 8;
- req_access = list("janitor")
- },
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/service/janitor)
"kfT" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -32351,14 +32297,27 @@
/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
/turf/open/floor/iron/dark,
/area/station/security/execution/transfer)
+"kgo" = (
+/turf/closed/wall/r_wall,
+/area/station/engineering/atmos/office)
+"kgt" = (
+/obj/effect/turf_decal/box/corners{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"kgB" = (
-/obj/structure/table,
-/obj/machinery/cell_charger,
-/obj/item/stock_parts/power_store/cell/high,
/obj/item/radio/intercom/directional/south,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
+/obj/structure/rack,
+/obj/item/mod/module/plasma_stabilizer,
+/obj/item/mod/module/thermal_regulator,
+/obj/effect/turf_decal/bot,
+/obj/item/screwdriver,
/turf/open/floor/iron/dark,
/area/station/engineering/storage_shared)
"kgD" = (
@@ -32381,24 +32340,18 @@
/obj/effect/mapping_helpers/airlock/access/all/security/brig,
/turf/open/floor/iron/dark,
/area/station/security/processing)
-"kgU" = (
-/obj/machinery/computer/cargo,
-/obj/effect/turf_decal/bot,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/airalarm/directional/east,
-/obj/machinery/requests_console/directional/north{
- department = "Quartermaster's Desk";
- name = "Quartermaster's Requests Console"
+"kgS" = (
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 8;
+ name = "Waste to Filter"
},
-/obj/effect/mapping_helpers/requests_console/announcement,
-/obj/effect/mapping_helpers/requests_console/supplies,
-/obj/structure/extinguisher_cabinet/directional/north{
- pixel_x = 32
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
},
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/qm)
+/turf/open/floor/iron,
+/area/station/engineering/atmos/pumproom)
"khe" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/line{
@@ -32418,6 +32371,39 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/command/heads_quarters/cmo)
+"khu" = (
+/turf/open/floor/engine/plasma,
+/area/station/engineering/atmos)
+"khx" = (
+/obj/structure/table,
+/obj/machinery/light_switch/directional/north{
+ pixel_x = -8
+ },
+/obj/item/clothing/gloves/color/orange,
+/obj/item/reagent_containers/spray/cleaner{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/item/flashlight{
+ pixel_y = 4
+ },
+/obj/item/flashlight{
+ pixel_y = 4
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/button/door/directional/north{
+ id = "custodialwagon";
+ name = "Custodial Bay Toggle";
+ pixel_x = 8;
+ req_access = list("janitor")
+ },
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/janitor)
"khy" = (
/obj/structure/sign/warning/biohazard,
/turf/closed/wall,
@@ -32454,14 +32440,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron/showroomfloor,
/area/station/security/lockers)
-"kix" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
"kiG" = (
/obj/structure/chair{
dir = 1
@@ -32490,17 +32468,16 @@
},
/turf/open/floor/iron,
/area/station/security/office)
-"kja" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/machinery/atmospherics/components/trinary/filter/atmos/co2{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/tile/neutral/opposingcorners{
+"kjc" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
},
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
+/obj/effect/landmark/start/station_engineer,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"kji" = (
/obj/structure/table/glass,
/obj/item/assembly/timer{
@@ -32560,10 +32537,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/bar/atrium)
-"kjG" = (
-/obj/effect/spawner/structure/window/reinforced/tinted,
-/turf/open/floor/plating,
-/area/station/commons/vacant_room/commissary)
"kjK" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -32655,23 +32628,6 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/iron,
/area/station/science/robotics/mechbay)
-"klw" = (
-/obj/machinery/shower/directional/west,
-/obj/effect/turf_decal/box,
-/obj/structure/fluff/shower_drain,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/cryo)
-"klA" = (
-/obj/effect/landmark/event_spawn,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"klK" = (
/obj/structure/railing{
dir = 4
@@ -32696,7 +32652,37 @@
},
/turf/open/floor/iron/dark,
/area/station/service/hydroponics/garden)
+"klM" = (
+/obj/structure/railing/corner,
+/obj/item/kirbyplants/random,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
+"klT" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 10
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"kmo" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
/turf/open/floor/iron,
/area/station/engineering/main)
"kmt" = (
@@ -32710,10 +32696,16 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/medical/morgue)
-"kmK" = (
-/obj/structure/flora/rock,
-/turf/open/misc/asteroid/airless,
-/area/space/nearstation)
+"kmJ" = (
+/obj/effect/landmark/event_spawn,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/duct,
+/obj/machinery/light/floor,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/xenobiology)
"kmN" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 4
@@ -32731,11 +32723,6 @@
},
/turf/open/floor/iron/grimy,
/area/station/service/chapel/office)
-"knh" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/turf/closed/wall/r_wall,
-/area/station/engineering/atmos/storage/gas)
"knk" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment,
@@ -32756,14 +32743,6 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/science/lab)
-"knv" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/space_heater,
-/obj/machinery/atmospherics/components/binary/pump/on{
- name = "External Waste Ports to Filter"
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"knR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -32818,6 +32797,11 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/hallway/primary/aft)
+"kpm" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/turf_decal/bot/right,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"kpH" = (
/obj/effect/turf_decal/tile/red/half/contrasted,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -32825,6 +32809,18 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance/storage)
+"kpI" = (
+/obj/machinery/computer/operating{
+ dir = 1;
+ name = "Robotics Operating Computer"
+ },
+/obj/effect/turf_decal/bot,
+/obj/item/radio/intercom/directional/south,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/robotics/lab)
"kpS" = (
/obj/structure/railing{
dir = 1
@@ -32883,17 +32879,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/bar)
-"kqL" = (
-/obj/machinery/status_display/evac/directional/west,
-/obj/effect/turf_decal/tile/blue/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/machinery/light/cold/directional/west,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
"kra" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -32928,14 +32913,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/showroomfloor,
/area/station/science)
-"krr" = (
-/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
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"krv" = (
/obj/machinery/porta_turret/ai{
dir = 4
@@ -32969,6 +32946,15 @@
},
/turf/open/floor/engine/telecomms,
/area/station/tcommsat/server)
+"krT" = (
+/obj/effect/decal/cleanable/blood/footprints{
+ dir = 4;
+ pixel_x = 24;
+ pixel_y = 8
+ },
+/obj/machinery/light/small/broken/directional/north,
+/turf/open/floor/plating/rust,
+/area/station/security/prison/shower)
"krY" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -32997,7 +32983,7 @@
name = "External Gas to Loop"
},
/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/dark,
+/turf/open/floor/iron/dark/textured_large,
/area/station/engineering/supermatter/room)
"ksr" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -33012,19 +32998,26 @@
},
/turf/open/floor/iron/dark/corner,
/area/station/hallway/primary/port)
-"ksu" = (
-/obj/effect/turf_decal/stripes/line{
+"ksz" = (
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
+"ksE" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
dir = 1
},
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/sign/warning/vacuum/external/directional/east,
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/duct,
-/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only,
-/turf/open/floor/plating,
-/area/station/science)
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"ksJ" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
@@ -33087,23 +33080,16 @@
},
/turf/open/floor/engine,
/area/station/science/auxlab)
-"kuf" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"kuk" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
+/obj/structure/reagent_dispensers/plumbed,
+/obj/effect/turf_decal/delivery/white{
+ color = "#52B4E9"
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
/area/station/maintenance/aft)
"kun" = (
/obj/effect/turf_decal/bot,
@@ -33123,12 +33109,6 @@
/obj/effect/mapping_helpers/airlock/access/all/supply/vault,
/turf/open/floor/iron/dark,
/area/station/command/vault)
-"kuE" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/light/floor,
-/turf/open/floor/iron/dark,
-/area/station/commons/fitness/recreation)
"kuK" = (
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/structure/rack,
@@ -33142,16 +33122,19 @@
/obj/structure/sign/warning/electric_shock,
/turf/closed/wall/r_wall,
/area/station/maintenance/port/aft)
+"kuV" = (
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/turf/closed/wall/r_wall/rust,
+/area/station/engineering/atmos)
+"kvd" = (
+/turf/closed/wall/r_wall/rust,
+/area/station/engineering/atmos/pumproom)
"kvl" = (
/turf/closed/wall/r_wall/rust,
/area/station/security/evidence)
-"kvE" = (
-/obj/machinery/airalarm/directional/north,
-/obj/machinery/computer/cargo,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/cargo/sorting)
"kvL" = (
/obj/effect/turf_decal/bot,
/obj/machinery/computer/piratepad_control/civilian{
@@ -33161,11 +33144,6 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark/textured,
/area/station/cargo/sorting)
-"kvM" = (
-/obj/machinery/meter,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/turf/closed/wall/r_wall,
-/area/station/engineering/supermatter/engine)
"kvU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/grimy,
@@ -33197,15 +33175,6 @@
/obj/structure/closet/firecloset/full,
/turf/open/floor/iron,
/area/station/service/chapel/dock)
-"kwt" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/rack,
-/obj/item/storage/toolbox/emergency,
-/obj/item/stack/rods/ten,
-/obj/machinery/camera/autoname/directional/south,
-/obj/machinery/light/dim/directional/south,
-/turf/open/floor/iron/checker,
-/area/station/security/mechbay)
"kwx" = (
/obj/structure/sign/xenobio_guide,
/turf/closed/wall/rust,
@@ -33248,6 +33217,11 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"kxg" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"kxr" = (
/obj/structure/flora/bush/jungle/c/style_2,
/obj/structure/flora/bush/ferny,
@@ -33316,13 +33290,16 @@
/obj/item/kirbyplants/random,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/fore)
-"kyR" = (
+"kyF" = (
/obj/effect/turf_decal/stripes/line{
- dir = 4
+ dir = 8
},
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"kyU" = (
/obj/machinery/light/small/directional/north,
/obj/machinery/shieldgen,
@@ -33330,6 +33307,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/fore)
+"kzg" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/light/directional/south,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"kzh" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -33356,6 +33341,16 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
+"kzC" = (
+/obj/machinery/computer/records/medical{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/cmo)
"kzG" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/wood{
@@ -33376,6 +33371,12 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/lab)
+"kzO" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"kzP" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -33402,38 +33403,12 @@
/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/fore)
-"kzZ" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/shower/directional/east{
- name = "emergency shower"
- },
-/obj/structure/extinguisher_cabinet/directional/west,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 8
- },
-/obj/structure/fluff/shower_drain,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/pharmacy)
"kAb" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"kAg" = (
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"kAj" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -33446,26 +33421,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"kAr" = (
-/obj/structure/table/wood,
-/obj/item/storage/fancy/candle_box,
-/obj/item/storage/fancy/candle_box,
-/obj/item/storage/fancy/candle_box{
- pixel_x = 6;
- pixel_y = 5
- },
-/obj/item/storage/fancy/candle_box{
- pixel_x = -5;
- pixel_y = 5
- },
-/obj/item/storage/box/matches{
- pixel_x = -3;
- pixel_y = 2
- },
-/obj/machinery/computer/security/telescreen/monastery/directional/north,
-/obj/machinery/light/warm/dim/directional/north,
-/turf/open/floor/iron/grimy,
-/area/station/service/chapel/office)
"kAt" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -33563,44 +33518,12 @@
/obj/effect/spawner/random/structure/crate,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"kCi" = (
-/obj/structure/cable,
-/obj/effect/landmark/start/hangover,
-/obj/structure/disposalpipe/sorting/mail/flip{
- dir = 8;
- name = "disposals sorting disposal pipe"
- },
-/obj/effect/mapping_helpers/mail_sorting/supply/disposals,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/effect/turf_decal/box,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
-"kCk" = (
-/turf/closed/wall/rust,
-/area/station/maintenance/disposal/incinerator)
"kCm" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/burnt_floor,
/obj/structure/closet/firecloset,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"kCK" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
-"kCR" = (
-/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"kCZ" = (
/obj/effect/turf_decal/tile/blue,
/obj/effect/turf_decal/tile/blue/half/contrasted,
@@ -33620,6 +33543,15 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/xenobiology)
+"kDf" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"kDg" = (
/obj/machinery/computer/apc_control,
/obj/effect/turf_decal/bot,
@@ -33652,12 +33584,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/treatment_center)
-"kDy" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"kDC" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -33681,6 +33607,19 @@
/obj/structure/sign/warning/secure_area,
/turf/closed/wall,
/area/station/engineering/storage/tech)
+"kEn" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 10
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"kEp" = (
/obj/structure/flora/grass/jungle/a/style_random{
icon_state = "grassb2"
@@ -33705,16 +33644,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/cryo)
-"kEQ" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/tank_dispenser,
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"kES" = (
/obj/machinery/door/airlock/security{
aiControlDisabled = 1;
@@ -33733,6 +33662,17 @@
/obj/effect/mapping_helpers/airlock/access/all/security/armory,
/turf/open/floor/iron/dark,
/area/station/security/execution/education)
+"kFf" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 9
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/bot,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/railing,
+/obj/machinery/electrolyzer,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"kFl" = (
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/stripes/line{
@@ -33798,12 +33738,13 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance)
-"kFY" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/closet/crate/freezer/surplus_limbs,
-/obj/item/radio/intercom/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/surgery/theatre)
+"kFT" = (
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 10
+ },
+/obj/machinery/light/warm/directional/east,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"kGj" = (
/obj/machinery/door/airlock/engineering{
name = "Port Bow Solar Access"
@@ -33819,17 +33760,6 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/solars/port/fore)
-"kGm" = (
-/obj/structure/bed,
-/obj/machinery/iv_drip,
-/obj/effect/turf_decal/bot_white/right,
-/obj/effect/turf_decal/stripes/corner,
-/obj/item/bedsheet/medical,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/central)
"kGs" = (
/obj/machinery/door/morgue{
name = "Religious Equipment";
@@ -33850,6 +33780,22 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/command/gateway)
+"kGL" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 4
+ },
+/obj/machinery/light/warm/directional/west,
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
+"kGP" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"kHh" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -33876,15 +33822,8 @@
/obj/effect/turf_decal/delivery,
/obj/structure/reagent_dispensers/fueltank,
/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
+/turf/open/floor/iron/dark,
/area/station/maintenance/aft)
-"kHt" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
"kHw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -33904,23 +33843,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"kHK" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/machinery/meter,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
-"kHN" = (
-/obj/structure/closet/secure_closet/psychology,
-/obj/item/radio/intercom/directional/north,
-/turf/open/floor/carpet,
-/area/station/medical/psychology)
-"kHQ" = (
-/obj/structure/sign/poster/official/wtf_is_co2,
-/turf/closed/wall,
-/area/station/engineering/atmos)
"kHR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -33939,6 +33861,47 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
+"kIm" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/landmark/start/atmospheric_technician,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 10
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/machinery/firealarm/directional/east,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"kIr" = (
+/obj/structure/table,
+/obj/item/paper_bin{
+ pixel_x = -5
+ },
+/obj/item/pen{
+ pixel_x = -5
+ },
+/obj/machinery/flasher/directional/east{
+ id = "hopflash";
+ name = "Crowd Pacifier"
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/machinery/status_display/evac/directional/north,
+/obj/structure/desk_bell{
+ pixel_x = 7;
+ pixel_y = 10
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/hop)
"kIz" = (
/obj/structure/table/reinforced,
/obj/effect/turf_decal/delivery,
@@ -34011,11 +33974,54 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/wood,
/area/station/maintenance/port/greater)
+"kJB" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"kJH" = (
/obj/effect/turf_decal/bot,
/obj/machinery/holopad,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/surgery/theatre)
+"kJK" = (
+/obj/effect/landmark/secequipment,
+/obj/effect/turf_decal/bot,
+/obj/machinery/status_display/evac/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/security/office)
+"kJM" = (
+/obj/structure/cable,
+/obj/structure/table/wood,
+/obj/machinery/computer/libraryconsole/bookmanagement{
+ pixel_y = 5
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/station/service/library)
+"kKc" = (
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 4
+ },
+/obj/item/reagent_containers/cup/watering_can,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/security/prison/garden)
"kKm" = (
/obj/machinery/door/airlock/public/glass{
name = "Library"
@@ -34044,6 +34050,19 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/department/crew_quarters/bar)
+"kLf" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/table,
+/obj/item/storage/toolbox/electrical{
+ pixel_y = 3
+ },
+/obj/item/multitool{
+ pixel_x = -4;
+ pixel_y = 2
+ },
+/obj/item/stack/cable_coil,
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"kLo" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 8
@@ -34053,12 +34072,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"kLx" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
-/obj/machinery/meter,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"kLy" = (
/obj/structure/flora/bush/pale/style_random{
icon_state = "fernybush_3"
@@ -34162,14 +34175,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"kMR" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/sign/warning/electric_shock/directional/south,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/port/lesser)
"kNe" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -34196,18 +34201,6 @@
/obj/item/pen,
/turf/open/floor/iron/dark,
/area/station/service/bar/atrium)
-"kNz" = (
-/obj/structure/grille/broken,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"kNG" = (
/obj/structure/sign/poster/official/help_others,
/turf/closed/wall,
@@ -34268,6 +34261,21 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
+"kNV" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Gas to Chamber"
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/xenobiology)
"kNY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -34295,6 +34303,18 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/fore)
+"kOj" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/camera/directional/north{
+ c_tag = "Head of Security's Office"
+ },
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/machinery/photocopier,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/hos)
"kOt" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -34307,21 +34327,6 @@
/obj/structure/sign/warning/biohazard,
/turf/closed/wall,
/area/station/science/ordnance)
-"kOx" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"kOJ" = (
/obj/machinery/teleport/hub,
/obj/effect/turf_decal/delivery,
@@ -34340,6 +34345,14 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"kPb" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/caution/stand_clear,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/security/processing)
"kPd" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -34358,6 +34371,21 @@
dir = 1
},
/area/station/hallway/primary/fore)
+"kPj" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/structure/sign/departments/science/alt/directional/north,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science)
"kPk" = (
/obj/machinery/door/airlock/maintenance,
/obj/effect/mapping_helpers/airlock/unres/delayed{
@@ -34379,15 +34407,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/misc/asteroid,
/area/space/nearstation)
-"kPv" = (
-/obj/effect/landmark/event_spawn,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"kPI" = (
/obj/structure/closet/secure_closet/miner,
/obj/effect/turf_decal/delivery,
@@ -34397,14 +34416,6 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/miningdock)
-"kPK" = (
-/obj/machinery/button/ignition/incinerator/atmos{
- pixel_x = 8;
- pixel_y = 36
- },
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
"kPO" = (
/turf/closed/wall/rust,
/area/station/commons/storage/primary)
@@ -34523,15 +34534,6 @@
/obj/effect/turf_decal/tile/blue/half/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/central)
-"kRD" = (
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"kRU" = (
/obj/structure/table,
/obj/item/pai_card,
@@ -34541,15 +34543,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/bar/atrium)
-"kSe" = (
-/obj/machinery/light/small/directional/south,
-/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
- dir = 8
- },
-/obj/effect/turf_decal/bot,
-/obj/structure/sign/warning/vacuum/external/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
"kSn" = (
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/dirt,
@@ -34575,17 +34568,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/janitor)
-"kSs" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/binary/pump/off{
- dir = 4;
- name = "O2 To Pure"
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"kSx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -34596,20 +34578,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/storage)
-"kSJ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
+"kSy" = (
+/obj/structure/closet/bombcloset,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
},
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
+/turf/open/floor/iron/dark,
+/area/station/science/lobby)
"kSR" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -34661,6 +34636,15 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/command/eva)
+"kTr" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/fore)
"kTJ" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -34695,14 +34679,6 @@
/obj/structure/cable,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/psychology)
-"kUB" = (
-/obj/structure/table,
-/obj/item/wrench,
-/obj/item/crowbar,
-/obj/item/analyzer,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"kUJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
@@ -34753,6 +34729,11 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/service/bar)
+"kVb" = (
+/obj/machinery/firealarm/directional/north,
+/obj/machinery/light/floor,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
"kVd" = (
/obj/structure/chair/pew/right{
dir = 8
@@ -34805,17 +34786,6 @@
/obj/item/exodrone,
/turf/open/floor/plating,
/area/station/cargo/drone_bay)
-"kVJ" = (
-/obj/effect/turf_decal/siding/thinplating/light/corner{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/monastery)
-"kVN" = (
-/obj/structure/lattice,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
-/turf/open/space/basic,
-/area/space/nearstation)
"kVY" = (
/obj/machinery/door/airlock/command{
name = "Gateway"
@@ -34867,14 +34837,6 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/maintenance/fore)
-"kWN" = (
-/obj/machinery/airalarm/directional/west,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/cargo/drone_bay)
"kWW" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/door/airlock/security/glass{
@@ -34893,15 +34855,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/carpet/royalblue,
/area/station/service/chapel/office)
-"kXA" = (
-/obj/item/kirbyplants,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/turf/open/floor/iron/dark,
-/area/station/command/bridge)
"kXJ" = (
/obj/machinery/door/poddoor/preopen{
id = "xeno1";
@@ -35046,6 +34999,16 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
+"kZs" = (
+/obj/machinery/firealarm/directional/east,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/byteforge,
+/obj/machinery/camera/autoname/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/cargo/bitrunning/den)
"kZw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/siding/wood{
@@ -35068,22 +35031,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/service/kitchen)
-"kZz" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"kZH" = (
/obj/machinery/firealarm/directional/west,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -35128,13 +35075,12 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/security/brig)
-"kZU" = (
-/obj/machinery/portable_atmospherics/canister/nitrogen,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
+"kZS" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/effect/spawner/random/trash/graffiti,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"kZX" = (
/obj/structure/lattice/catwalk,
/obj/structure/transit_tube/crossing,
@@ -35144,16 +35090,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/space/nearstation)
-"kZY" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter/room)
"lac" = (
/turf/closed/wall,
/area/station/command/gateway)
@@ -35165,14 +35101,6 @@
/obj/machinery/status_display/ai/directional/north,
/turf/open/floor/engine/telecomms,
/area/station/tcommsat/server)
-"laf" = (
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
"lam" = (
/obj/machinery/disposal/bin/tagger,
/obj/effect/turf_decal/bot,
@@ -35182,15 +35110,26 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/service/lawoffice)
-"lax" = (
-/obj/structure/closet/secure_closet/brig{
- name = "Prisoner Locker"
+"lau" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
},
-/obj/effect/turf_decal/bot,
-/obj/machinery/airalarm/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/security/execution/transfer)
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/maintenance/disposal/incinerator)
+"lav" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science)
"laB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -35207,16 +35146,20 @@
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
+"lbb" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 2;
+ name = "Cold Loop Bypass"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"lby" = (
/turf/closed/wall,
/area/station/science/robotics/mechbay)
-"lbz" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/green/anticorner/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/virology)
"lbD" = (
/obj/structure/closet/secure_closet/security/sec,
/obj/effect/turf_decal/bot,
@@ -35226,15 +35169,10 @@
},
/turf/open/floor/iron/dark,
/area/station/security/lockers)
-"lbE" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 1
- },
-/obj/machinery/light/cold/dim/directional/east,
-/obj/machinery/newscaster/directional/east,
-/turf/open/floor/iron/cafeteria,
-/area/station/security/prison/garden)
+"lbG" = (
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"lbJ" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -35244,6 +35182,11 @@
"lbO" = (
/turf/closed/wall,
/area/station/service/library)
+"lbZ" = (
+/obj/effect/spawner/random/structure/girder,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/central)
"lcg" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/airalarm/directional/north,
@@ -35276,10 +35219,13 @@
"lcn" = (
/obj/machinery/door/poddoor/shutters/radiation/preopen{
id = "engsm";
- name = "Radiation Chamber Shutters"
+ name = "Radiation Chamber Shutters";
+ dir = 4
},
-/obj/effect/turf_decal/caution/stand_clear,
-/turf/open/floor/iron/dark,
+/obj/effect/turf_decal/caution/stand_clear{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/textured_large,
/area/station/engineering/supermatter/engine)
"lcw" = (
/obj/effect/spawner/structure/window/reinforced,
@@ -35321,6 +35267,12 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/department/crew_quarters/bar)
+"lcP" = (
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"lcZ" = (
/obj/machinery/door/airlock/engineering{
name = "Electrical Maintenance"
@@ -35352,13 +35304,6 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/storage)
-"lec" = (
-/obj/machinery/door/poddoor/preopen{
- id = "brigfrontdoor";
- name = "Front Security Blast Door"
- },
-/turf/open/floor/iron/dark,
-/area/station/security/brig)
"lep" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/obj/machinery/computer/operating{
@@ -35416,16 +35361,25 @@
"leH" = (
/turf/closed/wall/r_wall/rust,
/area/station/maintenance/solars/port/fore)
-"leR" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/machinery/newscaster/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
+"leJ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/splatter/oil,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
},
/turf/open/floor/iron/dark,
-/area/station/security/lockers)
+/area/station/service/chapel/storage)
+"leU" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/railing,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"lfd" = (
/obj/structure/table/reinforced,
/obj/effect/turf_decal/tile/purple{
@@ -35471,6 +35425,20 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/maintenance/disposal/incinerator)
+"lfN" = (
+/obj/structure/table,
+/obj/item/stack/sheet/iron/ten,
+/obj/item/stack/cable_coil,
+/obj/item/storage/backpack/duffelbag/sec/surgery{
+ pixel_y = 5
+ },
+/obj/item/wirecutters,
+/obj/machinery/firealarm/directional/east,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/security/execution/education)
"lfQ" = (
/obj/structure/closet/secure_closet/security/med,
/obj/effect/turf_decal/delivery,
@@ -35532,6 +35500,21 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"lgz" = (
+/obj/structure/table,
+/obj/machinery/newscaster/directional/east,
+/obj/effect/turf_decal/siding/green{
+ dir = 8
+ },
+/obj/item/storage/bag/plants/portaseeder,
+/obj/item/crowbar/red,
+/obj/item/plant_analyzer,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/hydroponics/garden)
"lgC" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line,
@@ -35541,6 +35524,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"lgI" = (
+/obj/structure/girder,
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
"lgQ" = (
/obj/structure/transit_tube/horizontal{
dir = 1
@@ -35558,10 +35545,6 @@
/obj/effect/decal/remains/human,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
-"lhm" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/turf/closed/wall/r_wall,
-/area/station/engineering/supermatter/engine)
"lhv" = (
/obj/machinery/shower/directional/east,
/obj/item/soap/nanotrasen,
@@ -35576,16 +35559,6 @@
/obj/machinery/oven/range,
/turf/open/floor/iron/dark,
/area/station/service/kitchen)
-"lhG" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
"lhJ" = (
/obj/structure/table,
/obj/machinery/power/apc/auto_name/directional/north,
@@ -35644,38 +35617,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/science)
-"liK" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible/layer2,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
-"lja" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
-"ljb" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/siding/red{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/security/checkpoint/engineering)
"ljy" = (
/obj/structure/chair{
dir = 4
@@ -35695,9 +35636,30 @@
name = "Gravity Generator Access"
},
/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
-/obj/machinery/duct,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/aft)
+"ljH" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible,
+/obj/machinery/space_heater,
+/obj/machinery/airalarm/directional/east,
+/obj/structure/sign/poster/contraband/fun_police/directional/south,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/security/execution/education)
+"lkg" = (
+/obj/structure/sign/warning/directional/north,
+/turf/open/misc/asteroid/airless,
+/area/space/nearstation)
"lkl" = (
/obj/effect/turf_decal/bot,
/obj/machinery/holopad,
@@ -35722,6 +35684,15 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/starboard)
+"lkS" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/security/brig)
"lkW" = (
/obj/structure/sign/departments/engineering/directional/south,
/obj/machinery/camera/directional/south{
@@ -35743,19 +35714,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"lln" = (
-/obj/machinery/modular_computer/preset/command{
- dir = 4
- },
-/obj/machinery/requests_console/directional/west{
- department = "Head of Personnel's Desk";
- name = "Head of Personnel's Requests Console"
- },
-/obj/effect/mapping_helpers/requests_console/announcement,
-/obj/effect/mapping_helpers/requests_console/information,
-/obj/effect/mapping_helpers/requests_console/assistance,
-/turf/open/floor/carpet/blue,
-/area/station/command/heads_quarters/hop)
"llr" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -35769,13 +35727,18 @@
/obj/effect/mapping_helpers/airlock/access/all/medical/general,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
-"llu" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
+"llw" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 10
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"llI" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/decal/cleanable/dirt,
@@ -35785,17 +35748,18 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/lesser)
+"llP" = (
+/obj/structure/closet/secure_closet/brig{
+ name = "Prisoner Locker"
+ },
+/obj/effect/turf_decal/bot,
+/obj/machinery/airalarm/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/security/execution/transfer)
"llY" = (
/turf/closed/wall/r_wall,
/area/station/medical/pharmacy)
-"lmb" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"lme" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -35859,19 +35823,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/security/brig)
-"lmN" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/blue/corner{
- dir = 8
- },
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/tile/blue/half/contrasted,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/storage)
"lmO" = (
/turf/closed/wall/rust,
/area/station/cargo/storage)
@@ -35882,6 +35833,28 @@
/obj/effect/turf_decal/tile/blue/half/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/office)
+"lne" = (
+/obj/structure/fireaxecabinet/directional/north,
+/obj/machinery/camera/directional/north{
+ c_tag = "Atmospherics Scrubbers";
+ name = "atmospherics camera";
+ network = list("ss13","engine")
+ },
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/brown/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"lnm" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -35893,6 +35866,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"lnx" = (
+/obj/structure/transit_tube/crossing,
+/turf/open/floor/plating,
+/area/station/maintenance/fore)
"lny" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -35916,6 +35893,16 @@
/obj/machinery/status_display/evac/directional/south,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/central/fore)
+"lou" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot,
+/obj/structure/railing,
+/obj/structure/closet/radiation,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"lox" = (
/obj/effect/turf_decal/trimline/green/line{
dir = 5
@@ -35923,16 +35910,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"loE" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard)
"loI" = (
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/dirt,
@@ -35940,18 +35917,6 @@
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"loJ" = (
-/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/cable,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red,
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/commons/fitness/recreation)
"loO" = (
/obj/machinery/airlock_sensor/incinerator_ordmix{
pixel_x = -24
@@ -35977,6 +35942,12 @@
"lpt" = (
/turf/closed/wall/r_wall/rust,
/area/station/command/heads_quarters/captain)
+"lpA" = (
+/obj/effect/decal/cleanable/ash/large,
+/turf/open/floor/iron/smooth_half{
+ dir = 8
+ },
+/area/station/engineering/atmos)
"lpH" = (
/obj/structure/rack,
/obj/effect/turf_decal/bot,
@@ -35995,6 +35966,19 @@
},
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
+"lqe" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/item/radio/intercom/directional/north,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/structure/table,
+/obj/item/storage/medkit/emergency,
+/turf/open/floor/iron,
+/area/station/commons/fitness/recreation)
"lql" = (
/obj/machinery/light/small/directional/west,
/obj/effect/turf_decal/stripes/corner{
@@ -36030,11 +36014,6 @@
/obj/structure/flora/bush/stalky/style_random,
/turf/open/floor/grass,
/area/station/service/hydroponics/garden)
-"lqC" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/plating/airless,
-/area/station/maintenance/disposal/incinerator)
"lqE" = (
/obj/machinery/power/solar_control{
dir = 8;
@@ -36067,25 +36046,6 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
-"lqO" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/door/airlock/atmos{
- name = "Incinerator"
- },
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 6
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/obj/machinery/duct,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"lqP" = (
/obj/machinery/door/airlock/grunge{
id_tag = "Cabin_1";
@@ -36117,6 +36077,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/wood,
/area/station/command/heads_quarters/captain)
+"lrm" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 6
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"lrp" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -36139,14 +36105,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"lrM" = (
-/obj/machinery/power/shieldwallgen/xenobiologyaccess,
-/obj/effect/turf_decal/box,
-/obj/structure/extinguisher_cabinet/directional/west,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/science/xenobiology)
"lrO" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -36191,37 +36149,6 @@
},
/turf/open/floor/iron,
/area/station/command/heads_quarters/hos)
-"lsf" = (
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 4
- },
-/turf/closed/wall,
-/area/station/engineering/atmos)
-"lsk" = (
-/obj/effect/turf_decal/tile/green/anticorner/contrasted{
- dir = 4
- },
-/obj/structure/closet/l3closet/virology,
-/obj/item/tank/internals/emergency_oxygen,
-/obj/item/tank/internals/emergency_oxygen,
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/structure/sink/directional/west,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/virology)
-"lst" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"lsu" = (
/obj/machinery/door/airlock/external{
name = "Solar Maintenance"
@@ -36250,16 +36177,6 @@
},
/turf/open/floor/wood,
/area/station/command/heads_quarters/hos)
-"lsW" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 8;
- name = "Pure to Ports"
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"lsX" = (
/obj/structure/sign/departments/restroom,
/turf/closed/wall,
@@ -36281,6 +36198,16 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/service/library)
+"ltf" = (
+/obj/structure/cable,
+/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/machinery/light/floor,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
"lth" = (
/obj/effect/turf_decal/bot,
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
@@ -36298,13 +36225,6 @@
},
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
-"lts" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
"lue" = (
/obj/structure/sign/warning/fire/directional/east,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -36348,6 +36268,15 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"luC" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/blue/half/contrasted,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/firealarm/directional/south,
+/obj/item/kirbyplants/organic/plant21,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"luI" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -36395,21 +36324,6 @@
},
/turf/open/floor/iron/dark,
/area/station/science/robotics/mechbay)
-"lvg" = (
-/obj/structure/sign/departments/cargo/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/hallway/primary/fore)
-"lvw" = (
-/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"lvy" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -36419,6 +36333,25 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/service/bar)
+"lvE" = (
+/obj/structure/table,
+/obj/item/tank/jetpack/carbondioxide{
+ pixel_x = -4;
+ pixel_y = 6
+ },
+/obj/item/tank/jetpack/carbondioxide{
+ pixel_y = 2
+ },
+/obj/item/wrench,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/light/cold/dim/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/command/eva)
"lvP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -36431,46 +36364,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron/showroomfloor,
/area/station/security/office)
-"lvR" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/science/xenobiology)
-"lvS" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/structure/cable,
-/obj/structure/sign/poster/contraband/random/directional/east,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
-"lvZ" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/fore)
-"lwj" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/computer/records/security{
- dir = 4
- },
-/obj/machinery/newscaster/directional/west,
-/obj/machinery/camera/directional/west{
- c_tag = "Security Office Computers"
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/security/office)
"lwn" = (
/obj/structure/closet/secure_closet/evidence,
/obj/effect/turf_decal/bot,
@@ -36485,28 +36378,6 @@
"lwu" = (
/turf/closed/wall,
/area/station/security/medical)
-"lwz" = (
-/obj/structure/closet/secure_closet/chemical,
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/structure/extinguisher_cabinet/directional/west,
-/obj/item/storage/box/pillbottles,
-/obj/item/storage/box/pillbottles,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/pharmacy)
-"lwM" = (
-/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/stripes/line,
-/obj/effect/turf_decal/tile/red/anticorner/contrasted,
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/firealarm/directional/east,
-/turf/open/floor/iron,
-/area/station/security/processing)
"lwT" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
@@ -36530,8 +36401,16 @@
/obj/effect/turf_decal/siding/wood{
dir = 1
},
+/obj/machinery/holopad,
/turf/open/floor/wood,
/area/station/service/lawoffice)
+"lwX" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/security/prison/mess)
"lxf" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
@@ -36561,11 +36440,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/engineering/circuit_workshop)
-"lxu" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"lxw" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -36658,14 +36532,6 @@
},
/turf/open/floor/iron,
/area/station/command/eva)
-"lza" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/effect/turf_decal/box,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"lzg" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -36674,20 +36540,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/security/office)
-"lzA" = (
-/obj/structure/cable,
-/obj/structure/table/wood,
-/obj/machinery/computer/libraryconsole/bookmanagement{
- pixel_y = 5
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/turf/open/floor/iron/dark,
-/area/station/service/library)
"lzF" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -36697,6 +36549,26 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/iron,
/area/station/cargo/miningdock)
+"lAi" = (
+/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/turf_decal/siding/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/machinery/computer/security/telescreen/minisat/directional/east,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden,
+/turf/open/floor/iron,
+/area/station/security/checkpoint/engineering)
"lAk" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -36758,15 +36630,6 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron/dark,
/area/station/maintenance/fore)
-"lAV" = (
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 4
- },
-/obj/effect/landmark/event_spawn,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"lAW" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -36790,16 +36653,16 @@
/obj/effect/turf_decal/tile/purple,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"lBu" = (
-/obj/machinery/newscaster/directional/south,
-/obj/effect/turf_decal/siding/white{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
+"lBE" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable,
+/obj/machinery/door/poddoor/shutters{
+ name = "Virology Isolation Shutters";
+ id = "virocells";
+ dir = 1
},
-/turf/open/floor/iron/dark,
-/area/station/hallway/primary/fore)
+/turf/open/floor/plating,
+/area/station/medical/surgery/theatre)
"lBN" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -36867,13 +36730,6 @@
/obj/structure/flora/bush/flowers_pp/style_random,
/turf/open/floor/grass,
/area/station/service/chapel)
-"lCU" = (
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/directional/north,
-/turf/open/floor/iron,
-/area/station/security/brig)
"lCV" = (
/obj/machinery/door/airlock/mining{
name = "Auxiliary Base"
@@ -36910,9 +36766,6 @@
/turf/closed/wall/r_wall,
/area/station/maintenance/starboard)
"lDB" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
- },
/obj/effect/turf_decal/stripes/line{
dir = 8
},
@@ -36921,12 +36774,24 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/effect/landmark/generic_maintenance_landmark,
/turf/open/floor/plating,
/area/station/maintenance/aft)
"lDK" = (
/obj/machinery/atmospherics/components/tank/air,
/turf/open/floor/iron/dark,
/area/station/service/chapel/storage)
+"lDN" = (
+/obj/structure/flora/bush/flowers_br/style_random,
+/obj/effect/turf_decal/siding/thinplating/dark{
+ dir = 1
+ },
+/turf/open/floor/grass,
+/area/station/service/chapel)
"lDS" = (
/obj/structure/filingcabinet/security,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -36937,6 +36802,28 @@
},
/turf/open/floor/iron/dark,
/area/station/security/detectives_office)
+"lDT" = (
+/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"lDU" = (
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"lDV" = (
/obj/item/kirbyplants/organic/plant2{
pixel_y = 3
@@ -36966,16 +36853,6 @@
/obj/structure/sign/warning/docking,
/turf/closed/wall,
/area/station/maintenance/starboard)
-"lEz" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable,
-/obj/machinery/door/poddoor/shutters{
- name = "Virology Isolation Shutters";
- id = "virocells";
- dir = 1
- },
-/turf/open/floor/plating,
-/area/station/medical/surgery/theatre)
"lED" = (
/obj/machinery/telecomms/message_server/preset,
/turf/open/floor/circuit/green/telecomms/mainframe,
@@ -36985,6 +36862,38 @@
/obj/structure/flora/bush/grassy/style_random,
/turf/open/floor/grass,
/area/station/service/hydroponics/garden)
+"lEK" = (
+/obj/machinery/button/flasher{
+ id = "visitorflash";
+ pixel_x = -6;
+ pixel_y = 24;
+ req_access = list("brig")
+ },
+/obj/machinery/button/door/directional/north{
+ id = "visitation";
+ name = "Visitation Shutters";
+ pixel_x = 8;
+ req_access = list("brig")
+ },
+/obj/machinery/light/dim/directional/north,
+/turf/open/floor/iron/showroomfloor,
+/area/station/security/execution/transfer)
+"lEN" = (
+/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/highsecurity{
+ name = "AI Upload"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"lEQ" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -37002,6 +36911,13 @@
/obj/machinery/duct,
/turf/open/floor/iron/dark,
/area/station/security/execution/transfer)
+"lES" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"lFr" = (
/obj/effect/turf_decal/stripes/line{
dir = 9
@@ -37027,6 +36943,23 @@
"lFC" = (
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"lFL" = (
+/obj/structure/table,
+/obj/item/clipboard,
+/obj/item/folder/red,
+/obj/item/restraints/handcuffs,
+/obj/item/melee/baseball_bat{
+ desc = "A staple of security force interrogations.";
+ icon_state = "baseball_bat_metal";
+ name = "kneecapper"
+ },
+/obj/machinery/status_display/ai/directional/east,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/light/dim/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/security/execution/education)
"lFN" = (
/obj/structure/sign/departments/psychology/directional/west,
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
@@ -37047,13 +36980,6 @@
},
/turf/open/floor/plating/rust,
/area/station/maintenance/department/security)
-"lGa" = (
-/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/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"lGs" = (
/turf/closed/wall,
/area/station/security/warden)
@@ -37070,14 +36996,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/robotics/lab)
-"lGT" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/structure/grille/broken,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard)
"lGV" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
@@ -37089,16 +37007,6 @@
/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
-"lHt" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/item/radio/intercom/directional/west,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/hallway/primary/starboard)
"lHE" = (
/obj/structure/table/wood,
/obj/structure/displaycase/forsale/kitchen{
@@ -37110,6 +37018,19 @@
/obj/machinery/door/firedoor,
/turf/open/floor/wood,
/area/station/service/bar)
+"lHK" = (
+/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 = 1
+ },
+/obj/effect/landmark/event_spawn,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/command/bridge)
"lHX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -37124,21 +37045,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/central)
-"lIf" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/button/door/directional/south{
- id = "custodialwagon";
- name = "Custodial Bay Toggle";
- req_access = list("janitor")
- },
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/mob/living/basic/bot/cleanbot/autopatrol,
-/obj/effect/turf_decal/tile/purple/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"lIr" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/stripes/line{
@@ -37153,11 +37059,20 @@
"lIs" = (
/turf/closed/wall/rust,
/area/station/security/execution/education)
-"lIA" = (
-/obj/structure/sign/poster/contraband/self_ai_liberation/directional/west,
-/obj/item/kirbyplants/photosynthetic,
-/turf/open/floor/circuit,
-/area/station/ai/upload/chamber)
+"lIy" = (
+/obj/structure/table/wood/fancy,
+/obj/item/food/grown/flower/poppy{
+ pixel_x = 6;
+ pixel_y = 6
+ },
+/obj/item/food/grown/flower/poppy{
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/item/food/grown/flower/poppy,
+/obj/machinery/firealarm/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
"lIR" = (
/obj/machinery/door/poddoor/shutters{
dir = 1;
@@ -37210,6 +37125,14 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"lJI" = (
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/turf/open/floor/iron/stairs/left{
+ dir = 4
+ },
+/area/station/service/chapel)
"lJJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/hydroponics/constructable,
@@ -37236,18 +37159,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/checkpoint/medical)
-"lJM" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/table,
-/obj/item/storage/toolbox/electrical{
- pixel_y = 3
- },
-/obj/item/multitool{
- pixel_x = -4;
- pixel_y = 2
- },
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"lJR" = (
/obj/machinery/button/crematorium/indestructible{
pixel_x = -25
@@ -37356,6 +37267,20 @@
/obj/structure/sign/departments/engineering,
/turf/closed/wall,
/area/ruin/space/has_grav/abandoned_warehouse)
+"lLM" = (
+/obj/machinery/camera/directional/east{
+ c_tag = "Transferring Centre"
+ },
+/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/red/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/airalarm/directional/east,
+/turf/open/floor/iron,
+/area/station/security/processing)
"lLN" = (
/obj/structure/fans/tiny,
/obj/machinery/door/poddoor/massdriver_chapel,
@@ -37380,10 +37305,34 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/wood,
/area/station/service/bar/atrium)
+"lMg" = (
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
+ dir = 4
+ },
+/obj/machinery/air_sensor/incinerator_tank,
+/obj/machinery/atmospherics/pipe/smart/simple/brown/visible/layer2{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/station/maintenance/disposal/incinerator)
"lMh" = (
/obj/effect/landmark/event_spawn,
/turf/open/floor/glass,
/area/station/service/hydroponics)
+"lMk" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/machinery/light_switch/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/camera/motion/directional/south{
+ c_tag = "Vault";
+ name = "vault camera";
+ network = list("vault")
+ },
+/obj/machinery/light/small/red/directional/south,
+/turf/open/floor/engine,
+/area/station/command/vault)
"lMo" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
@@ -37394,6 +37343,35 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"lMp" = (
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"lMv" = (
+/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/siding/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/simple/brown/hidden{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
"lMx" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -37408,6 +37386,11 @@
/obj/effect/decal/remains/human,
/turf/open/floor/engine/vacuum,
/area/station/science/ordnance/burnchamber)
+"lMV" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"lMZ" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/caution/stand_clear,
@@ -37416,35 +37399,20 @@
},
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"lNd" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"lNe" = (
/obj/docking_port/stationary/escape_pod,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"lNf" = (
+/obj/machinery/atmospherics/components/trinary/mixer/flipped{
+ dir = 4
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"lNn" = (
/turf/open/floor/engine/n2o,
/area/station/engineering/atmos)
-"lNp" = (
-/obj/machinery/atmospherics/components/trinary/filter/flipped{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
"lNK" = (
/obj/effect/turf_decal/siding/yellow{
dir = 8
@@ -37457,6 +37425,12 @@
},
/turf/open/floor/iron,
/area/station/engineering/lobby)
+"lNL" = (
+/obj/structure/filingcabinet/chestdrawer,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/security/courtroom)
"lNP" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/purple{
@@ -37507,16 +37481,44 @@
},
/turf/open/floor/plating/airless,
/area/station/hallway/secondary/entry)
+"lOD" = (
+/obj/structure/table,
+/obj/machinery/camera/directional/east{
+ c_tag = "Garden"
+ },
+/obj/effect/turf_decal/siding/green{
+ dir = 8
+ },
+/obj/item/shovel/spade,
+/obj/item/hatchet,
+/obj/item/cultivator,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/item/shovel/spade,
+/obj/item/cultivator,
+/obj/item/hatchet,
+/obj/item/plant_analyzer,
+/obj/item/reagent_containers/cup/bottle/nutrient/rh{
+ pixel_x = 2;
+ pixel_y = 1
+ },
+/obj/item/reagent_containers/cup/bottle/nutrient/ez,
+/obj/machinery/light/warm/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/service/hydroponics/garden)
"lOG" = (
/turf/closed/wall/rust,
/area/station/service/chapel/monastery)
-"lON" = (
-/obj/effect/spawner/random/vending/snackvend,
+"lOS" = (
+/obj/machinery/airalarm/directional/west,
+/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
+ dir = 4
},
/turf/open/floor/iron/dark,
-/area/station/security/courtroom)
+/area/station/cargo/drone_bay)
"lOX" = (
/turf/closed/wall/r_wall,
/area/station/engineering/supermatter/engine)
@@ -37558,21 +37560,6 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"lPh" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/table,
-/obj/machinery/requests_console/directional/west{
- department = "Security";
- name = "Security Requests Console"
- },
-/obj/effect/mapping_helpers/requests_console/information,
-/obj/effect/mapping_helpers/requests_console/assistance,
-/obj/machinery/light_switch/directional/north,
-/obj/effect/decal/cleanable/cobweb,
-/obj/machinery/computer/security/telescreen/engine,
-/turf/open/floor/iron/dark,
-/area/station/security/checkpoint/engineering)
"lPK" = (
/obj/machinery/door/airlock/external{
name = "Departure Shuttle Airlock";
@@ -37584,10 +37571,44 @@
/obj/effect/mapping_helpers/airlock/access/all/supply/general,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/exit/departure_lounge)
+"lPR" = (
+/obj/structure/table,
+/obj/item/stack/sheet/iron/fifty,
+/obj/item/stack/sheet/iron/fifty,
+/obj/item/stack/sheet/iron/fifty,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/storage/belt/utility,
+/obj/item/clothing/head/utility/welding,
+/obj/item/clothing/glasses/welding,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/airalarm/directional/west,
+/obj/structure/extinguisher_cabinet/directional/north,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron/dark,
+/area/station/science/robotics/lab)
"lPU" = (
/obj/machinery/shower/directional/west,
/turf/open/floor/plastic,
/area/station/security/prison/shower)
+"lPV" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 4
+ },
+/obj/machinery/door/airlock/hatch{
+ name = "Engine Access"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/station/engineering/atmos/pumproom)
"lPX" = (
/obj/effect/turf_decal/stripes/line{
dir = 9
@@ -37614,17 +37635,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
-"lQj" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/siding/yellow{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red,
-/turf/open/floor/iron,
-/area/station/engineering/storage_shared)
"lQu" = (
/obj/effect/turf_decal/stripes/corner,
/obj/effect/turf_decal/stripes/corner{
@@ -37644,6 +37654,22 @@
/obj/effect/landmark/start/chaplain,
/turf/open/floor/iron/dark,
/area/station/service/chapel)
+"lQx" = (
+/obj/structure/table,
+/obj/item/storage/crayons,
+/obj/item/clothing/under/color/grey{
+ pixel_x = 4;
+ pixel_y = 4
+ },
+/obj/item/clothing/under/color/grey,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/commons/fitness/recreation)
"lQB" = (
/obj/effect/turf_decal/stripes/corner,
/obj/effect/decal/cleanable/dirt,
@@ -37683,6 +37709,17 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"lRj" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/hallway/primary/aft)
"lRk" = (
/turf/closed/wall,
/area/station/maintenance/starboard/fore)
@@ -37712,11 +37749,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
-"lRS" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"lRZ" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
@@ -37725,13 +37757,6 @@
/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/science)
-"lSd" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"lSl" = (
/obj/machinery/door/airlock/public/glass{
name = "Auxiliary Dock"
@@ -37763,6 +37788,24 @@
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
+"lSW" = (
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 4
+ },
+/obj/machinery/duct,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/security/prison/garden)
+"lTb" = (
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 4
+ },
+/obj/structure/closet/firecloset,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"lTc" = (
/obj/structure/rack,
/obj/effect/turf_decal/bot,
@@ -37786,6 +37829,13 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/office)
+"lTy" = (
+/obj/effect/spawner/random/vending/snackvend,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/security/courtroom)
"lTM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -37802,23 +37852,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/security/courtroom)
-"lUG" = (
-/obj/structure/table,
-/obj/item/clothing/under/rank/prisoner/skirt{
- pixel_x = -13;
- pixel_y = 5
- },
-/obj/item/clothing/under/rank/prisoner/skirt{
- pixel_x = 9;
- pixel_y = 5
- },
-/obj/item/clothing/under/rank/prisoner{
- pixel_x = -2;
- pixel_y = 5
- },
-/obj/effect/turf_decal/tile/red/half/contrasted,
-/turf/open/floor/iron,
-/area/station/security/execution/transfer)
"lUH" = (
/obj/structure/table/reinforced,
/obj/structure/window/reinforced/spawner/directional/east,
@@ -37852,24 +37885,16 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/command/heads_quarters/cmo)
-"lVe" = (
-/turf/closed/wall,
-/area/station/science)
-"lVf" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
+"lVc" = (
+/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
dir = 4
},
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/turf/open/space/basic,
+/area/space/nearstation)
+"lVe" = (
+/turf/closed/wall,
+/area/station/science)
"lVi" = (
/obj/structure/table,
/obj/item/paper_bin,
@@ -37899,14 +37924,13 @@
/obj/structure/marker_beacon/burgundy,
/turf/open/floor/plating/airless,
/area/space/nearstation)
-"lVx" = (
-/obj/machinery/status_display/evac/directional/north,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/iron/dark,
-/area/station/service/bar/backroom)
+"lVy" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"lVD" = (
/obj/structure/table,
/obj/item/paper_bin{
@@ -37932,6 +37956,18 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
+"lVH" = (
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 10
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/item/kirbyplants/organic/plant3,
+/obj/structure/sign/warning/directional/north,
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"lVL" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/stripes/corner{
@@ -37947,6 +37983,11 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/server)
+"lVT" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/storage)
"lWg" = (
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/dirt,
@@ -38004,17 +38045,6 @@
/obj/machinery/light/directional/south,
/turf/open/floor/plating/airless,
/area/station/hallway/secondary/entry)
-"lWF" = (
-/obj/structure/chair/office,
-/obj/effect/turf_decal/siding/red{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
"lWJ" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
@@ -38038,16 +38068,18 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/engineering/storage/tech)
-"lWV" = (
-/obj/structure/table/wood,
-/obj/machinery/computer/records/medical/laptop{
- dir = 4;
- pixel_y = 3;
- pixel_x = 3
+"lXd" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
},
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/psychology)
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"lXe" = (
/obj/structure/table,
/obj/item/storage/box/lights/mixed{
@@ -38058,20 +38090,32 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/primary/port)
-"lXj" = (
-/obj/machinery/firealarm/directional/south,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/disposalpipe/segment{
+"lXu" = (
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
dir = 4
},
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/blue{
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"lXA" = (
+/obj/effect/turf_decal/loading_area{
+ dir = 4;
+ pixel_x = 5
+ },
+/obj/effect/turf_decal/stripes/line{
dir = 8
},
-/obj/effect/turf_decal/tile/red,
-/obj/machinery/duct,
-/turf/open/floor/iron/showroomfloor,
-/area/station/commons/toilet/restrooms)
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
"lXB" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/effect/decal/cleanable/dirt,
@@ -38121,13 +38165,6 @@
},
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/abandoned_warehouse)
-"lXT" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
"lYa" = (
/obj/structure/chair/comfy/brown,
/obj/effect/landmark/start/detective,
@@ -38140,6 +38177,7 @@
/obj/machinery/atmospherics/components/binary/pump{
name = "Gas to Chamber"
},
+/obj/structure/sign/warning/fire/directional/east,
/turf/open/floor/circuit/green{
luminosity = 2
},
@@ -38147,6 +38185,18 @@
"lYg" = (
/turf/closed/wall,
/area/station/science/robotics/lab)
+"lYx" = (
+/obj/structure/table,
+/obj/item/food/ready_donk/donkrange_chicken,
+/obj/item/food/ready_donk/donkhiladas{
+ pixel_y = 5
+ },
+/obj/item/food/ready_donk/country_chicken{
+ pixel_y = 10
+ },
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/cargo/miningoffice)
"lYE" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -38200,6 +38250,47 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/hos)
+"lZt" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/turf_decal/bot,
+/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/starboard)
+"lZz" = (
+/obj/structure/rack,
+/obj/effect/turf_decal/bot,
+/obj/item/storage/medkit/o2,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/machinery/light/small/directional/east,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/clothing/mask/breath,
+/obj/item/clothing/mask/breath,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/entry)
+"lZJ" = (
+/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/cable,
+/obj/effect/turf_decal/siding/yellow{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"lZK" = (
/obj/structure/cable,
/obj/structure/table,
@@ -38375,26 +38466,23 @@
},
/turf/open/floor/iron,
/area/station/service/janitor)
-"mcs" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 6
+"mcr" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
},
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/red{
+/obj/effect/turf_decal/tile/blue{
dir = 8
},
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
-"mcu" = (
-/obj/structure/flora/bush/flowers_br/style_random,
-/obj/effect/turf_decal/siding/thinplating/dark{
- dir = 1
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
},
-/turf/open/floor/grass,
-/area/station/service/chapel)
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"mcN" = (
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
@@ -38431,11 +38519,6 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard)
-"mdy" = (
-/obj/structure/flora/bush/flowers_yw/style_random,
-/obj/machinery/light/dim/directional/east,
-/turf/open/floor/grass,
-/area/station/service/chapel)
"mdB" = (
/obj/machinery/door/airlock/external{
name = "External Freight Airlock"
@@ -38464,10 +38547,36 @@
},
/turf/open/floor/iron,
/area/station/security/brig)
-"mdX" = (
-/obj/effect/turf_decal/bot/right,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
+"mdJ" = (
+/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/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/light/cold/directional/north,
+/obj/machinery/holopad/secure,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/engine,
+/area/station/tcommsat/computer)
+"mdL" = (
+/obj/structure/table,
+/obj/machinery/recharger,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/light/dim/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/security/brig)
+"mdR" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/light/directional/west,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"mee" = (
/obj/effect/turf_decal/bot,
/obj/structure/closet/firecloset,
@@ -38476,6 +38585,14 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/primary/starboard)
+"mei" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/closet/secure_closet/hydroponics,
+/obj/structure/sign/poster/contraband/kudzu/directional/east,
+/obj/effect/turf_decal/tile/green/fourcorners,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/checker,
+/area/station/service/hydroponics)
"mej" = (
/obj/structure/cable,
/obj/machinery/icecream_vat,
@@ -38491,6 +38608,13 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
+"meN" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"meP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -38501,22 +38625,6 @@
/obj/effect/mapping_helpers/mail_sorting/science/ordnance,
/turf/open/floor/iron/showroomfloor,
/area/station/science/lobby)
-"meR" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red,
-/obj/machinery/wall_healer/directional/east,
-/obj/machinery/light/warm/directional/east,
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"meU" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
@@ -38560,20 +38668,6 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/command/vault)
-"mfE" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/camera/directional/west{
- c_tag = "Supermatter Terminal";
- name = "engineering camera";
- network = list("ss13","engine")
- },
-/obj/machinery/light_switch/directional/west,
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"mfF" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 4
@@ -38631,6 +38725,11 @@
/obj/effect/turf_decal/tile/purple,
/turf/open/floor/iron/showroomfloor,
/area/station/science/lab)
+"mga" = (
+/obj/structure/chair/stool/directional/west,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/commons/locker)
"mgn" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -38659,6 +38758,14 @@
},
/turf/open/floor/iron,
/area/station/command/bridge)
+"mgB" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 4
+ },
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating,
+/area/station/engineering/atmos/pumproom)
"mgC" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/security/glass{
@@ -38678,19 +38785,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"mgU" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/firealarm/directional/west,
-/obj/machinery/suit_storage_unit/standard_unit{
- desc = "An industrial suit storage device carrying retro space suits. Neat!";
- helmet_type = /obj/item/clothing/head/helmet/space;
- suit_type = /obj/item/clothing/suit/space
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/command/eva)
"mha" = (
/obj/machinery/porta_turret/ai,
/obj/machinery/airalarm/directional/west,
@@ -38700,6 +38794,11 @@
luminosity = 2
},
/area/station/ai/satellite/interior)
+"mhh" = (
+/obj/effect/spawner/random/engineering/tracking_beacon,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
"mhi" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -38710,6 +38809,12 @@
dir = 1
},
/area/station/hallway/primary/starboard)
+"mhE" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/noticeboard/directional/east,
+/obj/machinery/computer/gateway_control,
+/turf/open/floor/iron/dark,
+/area/station/command/gateway)
"mhP" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -38722,6 +38827,13 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/lab)
+"mhQ" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/bar/half/contrasted,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"mid" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -38732,6 +38844,20 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
+"mih" = (
+/obj/structure/table/wood/fancy,
+/obj/item/food/grown/flower/harebell,
+/obj/item/food/grown/flower/harebell{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/food/grown/flower/harebell{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/machinery/firealarm/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
"mii" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -38754,6 +38880,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/aft)
+"mil" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
"mis" = (
/obj/structure/frame/machine,
/obj/effect/turf_decal/stripes/line{
@@ -38828,6 +38961,10 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/dark,
/area/station/service/chapel/storage)
+"mjB" = (
+/obj/effect/spawner/random/trash/hobo_squat,
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
"mjG" = (
/obj/effect/turf_decal/bot,
/obj/machinery/status_display/door_timer{
@@ -38847,12 +38984,6 @@
"mjW" = (
/turf/closed/wall,
/area/station/cargo/miningdock)
-"mkj" = (
-/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"mkk" = (
/turf/closed/wall/rust,
/area/station/hallway/secondary/entry)
@@ -38881,6 +39012,15 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"mkY" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/public/glass{
+ name = "Chapel Hallway"
+ },
+/turf/open/floor/iron/dark,
+/area/station/hallway/primary/fore)
"mle" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -38957,24 +39097,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"mlK" = (
-/obj/effect/decal/cleanable/ash,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
-"mlT" = (
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/machinery/door/window/left/directional/north{
- name = "Inner Pipe Access";
- req_access = list("atmospherics")
- },
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"mma" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -39008,6 +39130,21 @@
},
/turf/open/floor/iron/dark,
/area/station/security/detectives_office)
+"mmm" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/old,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 8
+ },
+/obj/machinery/camera/autoname/directional/west,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science)
"mmo" = (
/obj/machinery/light/small/directional/north,
/obj/structure/dresser,
@@ -39062,6 +39199,28 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"mmM" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/purple/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/lobby)
+"mmN" = (
+/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"mmY" = (
/obj/structure/sign/warning/docking,
/turf/closed/wall/rust,
@@ -39074,29 +39233,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"mno" = (
-/obj/structure/window/reinforced/plasma/spawner/directional/west,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/machinery/power/energy_accumulator/grounding_rod/anchored,
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/station/engineering/supermatter/engine)
-"mnE" = (
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"mnG" = (
/obj/machinery/door/firedoor/heavy,
/obj/machinery/door/airlock/medical/glass{
@@ -39190,13 +39326,6 @@
/obj/effect/decal/cleanable/blood/old,
/turf/open/floor/iron/showroomfloor,
/area/station/security/checkpoint/science)
-"moK" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/decal/cleanable/ash,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"mpv" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -39231,6 +39360,17 @@
/obj/structure/sign/poster/contraband/random/directional/west,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"mqy" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/computer/atmos_control/mix_tank{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green/half/contrasted,
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"mqC" = (
/turf/open/floor/iron,
/area/station/security/prison)
@@ -39258,7 +39398,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
-/obj/machinery/duct,
/turf/open/floor/engine,
/area/station/engineering/gravity_generator)
"mqU" = (
@@ -39281,13 +39420,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"mrz" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
- },
-/obj/machinery/light/broken/directional/west,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"mrB" = (
/obj/effect/turf_decal/bot,
/obj/machinery/status_display/door_timer{
@@ -39327,6 +39459,11 @@
},
/turf/open/floor/iron/dark,
/area/station/security/checkpoint/customs)
+"mrL" = (
+/obj/structure/cable,
+/obj/machinery/light/floor,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/xenobiology)
"mrR" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/bot,
@@ -39350,12 +39487,14 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/engineering/storage/tcomms)
-"msy" = (
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/cable,
-/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
+"msj" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
/turf/open/floor/iron/dark,
-/area/station/science/ordnance/storage)
+/area/station/science/xenobiology)
"msL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -39399,6 +39538,16 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
+"mtn" = (
+/obj/machinery/flasher/portable,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/firealarm/directional/north,
+/obj/effect/turf_decal/box,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/security/armory)
"mtq" = (
/obj/structure/chair/office/light,
/obj/effect/landmark/start/research_director,
@@ -39504,6 +39653,15 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
+"mvx" = (
+/obj/effect/turf_decal/siding/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/exit/departure_lounge)
"mvz" = (
/obj/machinery/door/airlock/research{
name = "Ordnance Lab"
@@ -39526,19 +39684,15 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/security/execution/transfer)
-"mvW" = (
-/turf/open/floor/engine/plasma,
-/area/station/engineering/atmos)
-"mvX" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/machinery/atmospherics/components/trinary/filter/atmos/n2o{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron/showroomfloor,
+"mvH" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/cable,
+/obj/structure/table,
+/obj/item/hfr_box/body/fuel_input,
+/obj/item/hfr_box/body/interface,
+/obj/item/hfr_box/body/moderator_input,
+/obj/item/hfr_box/body/waste_output,
+/turf/open/floor/iron,
/area/station/engineering/atmos)
"mwe" = (
/obj/machinery/smartfridge,
@@ -39584,6 +39738,19 @@
},
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
+"mwx" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"mwy" = (
/obj/machinery/newscaster/directional/west,
/obj/machinery/airalarm/directional/north,
@@ -39621,18 +39788,12 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"mwU" = (
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
+"mwW" = (
+/obj/effect/decal/cleanable/ash,
+/turf/open/floor/iron/smooth_half{
+ dir = 8
},
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
-/obj/machinery/disposal/bin/tagger,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/chemistry)
+/area/station/engineering/atmos)
"mxf" = (
/turf/closed/wall/r_wall/rust,
/area/station/security/execution/transfer)
@@ -39676,20 +39837,6 @@
/obj/machinery/duct,
/turf/open/floor/iron,
/area/station/security/brig)
-"mxT" = (
-/obj/machinery/recharge_station,
-/obj/effect/turf_decal/bot,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/firealarm/directional/south,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/science/robotics/mechbay)
"myc" = (
/obj/structure/rack,
/obj/item/wirecutters{
@@ -39716,12 +39863,6 @@
"myp" = (
/turf/closed/wall/r_wall,
/area/station/security/prison/garden)
-"myt" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/wall_healer/directional/south,
-/obj/machinery/light/directional/south,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"myS" = (
/obj/effect/turf_decal/box,
/obj/structure/cable,
@@ -39798,16 +39939,20 @@
},
/turf/open/floor/iron/dark,
/area/station/ai/satellite/maintenance/storage)
+"mAn" = (
+/obj/structure/table,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/item/storage/medkit/emergency,
+/obj/item/clothing/under/rank/security/officer,
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
"mBm" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/engineering/storage/tech)
-"mBp" = (
-/obj/structure/lattice,
-/obj/structure/transit_tube/horizontal,
-/turf/open/space/basic,
-/area/space/nearstation)
"mBS" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 1
@@ -39882,6 +40027,13 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"mCA" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"mCF" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -39890,16 +40042,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"mCG" = (
-/obj/effect/decal/cleanable/dirt,
-/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/stripes/line{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
"mCO" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -39933,11 +40075,6 @@
"mDD" = (
/turf/closed/wall/rust,
/area/ruin/space/has_grav/abandoned_warehouse)
-"mDY" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted,
-/obj/effect/turf_decal/tile/yellow,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"mEg" = (
/turf/closed/wall/r_wall/rust,
/area/station/security/prison/mess)
@@ -39950,6 +40087,22 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/central)
+"mEz" = (
+/obj/structure/table,
+/obj/item/toy/cards/deck{
+ pixel_x = -9
+ },
+/obj/item/storage/dice{
+ pixel_x = -8;
+ pixel_y = 11
+ },
+/obj/item/storage/photo_album/prison{
+ pixel_x = 8;
+ pixel_y = -3
+ },
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/grimy,
+/area/station/security/prison)
"mEH" = (
/obj/effect/turf_decal/box/corners,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -40016,14 +40169,23 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/primary/fore)
-"mGi" = (
-/obj/effect/landmark/event_spawn,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
+"mGe" = (
+/obj/structure/table,
+/obj/item/clothing/head/utility/welding{
+ pixel_y = 4
+ },
+/obj/machinery/camera/directional/north{
+ c_tag = "Tool Storage";
+ name = "engineering camera";
+ network = list("ss13","engine")
+ },
+/obj/structure/cable,
+/obj/item/clothing/gloves/color/fyellow,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/light/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/commons/storage/primary)
"mGj" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -40041,17 +40203,34 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
-"mHa" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"mGw" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/computer/records/security{
+ dir = 4
+ },
+/obj/machinery/newscaster/directional/west,
+/obj/machinery/camera/directional/west{
+ c_tag = "Security Office Computers"
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/security/office)
+"mGO" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/light/small/directional/south,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
dir = 4
},
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
+/turf/open/floor/plating,
+/area/station/maintenance/solars/port/fore)
"mHc" = (
/obj/machinery/door/airlock/command{
name = "Captain's Office"
@@ -40086,15 +40265,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/service/chapel)
-"mHh" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/reagent_dispensers/water_cooler,
-/obj/machinery/firealarm/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/commons/fitness/recreation)
"mHm" = (
/obj/effect/landmark/start/depsec/medical,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -40131,21 +40301,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"mIi" = (
-/obj/structure/table,
-/obj/item/storage/box/bodybags{
- pixel_x = 4;
- pixel_y = 6
- },
-/obj/item/storage/box/bodybags{
- pixel_y = 2
- },
-/obj/machinery/light_switch/directional/east,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"mIo" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -40163,18 +40318,18 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
/turf/open/floor/iron/dark,
/area/station/tcommsat/server)
-"mIC" = (
-/obj/machinery/computer/operating{
- dir = 1;
- name = "Robotics Operating Computer"
+"mIs" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/purple{
+ dir = 1
},
-/obj/effect/turf_decal/bot,
-/obj/item/radio/intercom/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 1
},
-/turf/open/floor/iron/dark,
-/area/station/science/robotics/lab)
+/obj/machinery/light/floor,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/lobby)
"mIR" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -40206,6 +40361,11 @@
/mob/living/basic/bot/secbot/pingsky,
/turf/open/floor/engine,
/area/station/ai/satellite/interior)
+"mJj" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"mJk" = (
/obj/machinery/door/poddoor/shutters/preopen{
dir = 1;
@@ -40240,28 +40400,31 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/grimy,
/area/station/security/prison)
-"mJP" = (
-/obj/machinery/atmospherics/components/binary/pump/on{
- dir = 4;
- name = "Nitrogen Outlet"
+"mJM" = (
+/obj/machinery/camera/directional/east{
+ c_tag = "Cryogenics";
+ name = "medical camera";
+ network = list("ss13","medical")
},
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
+/obj/machinery/status_display/evac/directional/east,
+/obj/structure/bed/medical{
dir = 4
},
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
-"mKe" = (
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
},
-/obj/effect/turf_decal/siding/yellow{
- dir = 1
+/obj/effect/turf_decal/box,
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/medical/treatment_center)
+"mKp" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
},
+/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron,
-/area/station/engineering/lobby)
+/area/station/engineering/atmos/pumproom)
"mKv" = (
/obj/structure/chair/comfy,
/obj/item/radio/intercom/command/directional/north,
@@ -40305,6 +40468,20 @@
/obj/machinery/light/small/directional/east,
/turf/open/water/no_planet_atmos/deep,
/area/station/service/hydroponics/garden)
+"mLa" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/atmos/glass{
+ name = "Distribution Loop"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/pumproom)
"mLb" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -40335,6 +40512,31 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/execution/education)
+"mLz" = (
+/obj/structure/table,
+/obj/item/stack/sheet/plasteel/fifty{
+ amount = 10;
+ pixel_x = 4;
+ pixel_y = 4
+ },
+/obj/item/stack/sheet/rglass{
+ amount = 50
+ },
+/obj/item/stack/sheet/rglass{
+ amount = 50
+ },
+/obj/item/clothing/shoes/magboots{
+ pixel_x = 4;
+ pixel_y = 4
+ },
+/obj/item/clothing/shoes/magboots,
+/obj/machinery/airalarm/directional/south,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/light/cold/dim/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/command/eva)
"mLE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -40347,9 +40549,6 @@
/obj/machinery/ntnet_relay,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/station/tcommsat/server)
-"mLN" = (
-/turf/closed/wall,
-/area/station/maintenance/disposal/incinerator)
"mLP" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -40357,6 +40556,11 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark,
/area/station/security/office)
+"mLV" = (
+/obj/effect/turf_decal/bot/right,
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"mMa" = (
/obj/effect/turf_decal/bot,
/obj/structure/closet/crate/freezer/blood,
@@ -40382,10 +40586,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel)
-"mMu" = (
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/dark,
-/area/station/ai/upload/chamber)
"mMv" = (
/obj/structure/lattice/catwalk,
/obj/structure/cable,
@@ -40408,11 +40608,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"mMB" = (
-/obj/machinery/meter,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/turf/closed/wall/r_wall,
-/area/station/engineering/supermatter/engine)
"mMJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/stripes/corner{
@@ -40423,6 +40618,20 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"mML" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
+"mMY" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"mNm" = (
/turf/closed/wall/r_wall/rust,
/area/station/security/execution/education)
@@ -40487,18 +40696,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/dark,
/area/station/security/execution/education)
-"mOg" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"mOz" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -40512,27 +40709,22 @@
},
/turf/open/floor/iron,
/area/station/command/bridge)
-"mOC" = (
-/obj/machinery/camera/directional/east{
- c_tag = "Transferring Centre"
+"mPm" = (
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/showroomfloor,
+/area/station/security/warden)
+"mPw" = (
+/obj/effect/turf_decal/box,
+/obj/structure/fluff/shower_drain,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
},
-/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/red/half/contrasted{
- dir = 4
+/obj/machinery/shower/directional/west{
+ name = "emergency shower"
},
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/airalarm/directional/east,
-/turf/open/floor/iron,
-/area/station/security/processing)
-"mPB" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/newscaster/directional/north,
-/obj/machinery/computer/security/qm,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/qm)
+/area/station/engineering/main)
"mPC" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/delivery,
@@ -40582,6 +40774,38 @@
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"mPW" = (
+/obj/structure/rack,
+/obj/effect/turf_decal/bot,
+/obj/item/storage/box/bodybags{
+ pixel_y = 5
+ },
+/obj/item/storage/medkit/regular{
+ empty = 1;
+ name = "First-Aid (empty)"
+ },
+/obj/item/storage/medkit/regular{
+ empty = 1;
+ name = "First-Aid (empty)"
+ },
+/obj/item/storage/medkit/regular{
+ empty = 1;
+ name = "First-Aid (empty)"
+ },
+/obj/item/stack/package_wrap,
+/obj/item/healthanalyzer,
+/obj/item/healthanalyzer,
+/obj/item/healthanalyzer,
+/obj/machinery/camera/directional/north{
+ c_tag = "Robotics Lab";
+ name = "science camera";
+ network = list("ss13","rd")
+ },
+/obj/item/radio/intercom/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/science/robotics/lab)
"mQe" = (
/obj/effect/turf_decal/bot,
/obj/machinery/holopad,
@@ -40595,26 +40819,12 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
-"mQs" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/light/warm/directional/south,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"mQu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
/turf/open/floor/iron/showroomfloor,
/area/station/security/checkpoint/science)
-"mQB" = (
-/obj/effect/turf_decal/arrows/white,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"mQN" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -40644,12 +40854,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/engine,
/area/station/ai/satellite/atmos)
-"mQW" = (
-/obj/effect/turf_decal/box/white{
- color = "#EFB341"
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"mQY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -40738,31 +40942,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark,
/area/station/security/execution/education)
-"mRV" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
-"mSe" = (
-/obj/structure/table,
-/obj/machinery/cell_charger,
-/obj/item/stock_parts/power_store/cell/high,
-/obj/item/screwdriver{
- pixel_y = 18
- },
-/obj/item/radio/intercom/directional/south,
-/obj/machinery/firealarm/directional/west,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/commons/fitness/recreation)
"mSf" = (
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
dir = 4
@@ -40780,30 +40959,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"mSm" = (
-/obj/structure/table,
-/obj/item/stack/cable_coil{
- pixel_x = 3;
- pixel_y = -7
- },
-/obj/machinery/camera/directional/east{
- c_tag = "Incinerator Entrance";
- name = "atmospherics camera";
- network = list("ss13","engine")
- },
-/obj/item/hfr_box/body/fuel_input,
-/obj/item/hfr_box/body/interface,
-/obj/item/hfr_box/body/moderator_input,
-/obj/item/hfr_box/body/waste_output,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"mSq" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/dirt,
@@ -40812,25 +40967,34 @@
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
-"mSs" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
+"mSx" = (
+/obj/machinery/firealarm/directional/west,
+/obj/machinery/camera/directional/south{
+ c_tag = "Laser Room Port";
+ name = "laser room camera";
+ network = list("ss13","engine")
},
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/plating,
+/area/station/engineering/supermatter/room)
"mSC" = (
/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/shower/directional/west{
+ name = "emergency shower"
+ },
+/obj/effect/turf_decal/box/corners{
+ dir = 8
+ },
+/obj/effect/turf_decal/box/corners{
dir = 1
},
-/obj/structure/cable,
-/obj/machinery/duct,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
+/obj/structure/fluff/shower_drain,
+/turf/open/floor/iron/textured_large,
+/area/station/engineering/atmos)
"mSE" = (
/obj/machinery/door/airlock/grunge{
name = "Crematorium"
@@ -40841,16 +41005,14 @@
/obj/effect/mapping_helpers/airlock/access/all/service/crematorium,
/turf/open/floor/iron/dark,
/area/station/service/chapel/funeral)
-"mSM" = (
-/obj/machinery/portable_atmospherics/canister/oxygen,
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
-"mST" = (
-/obj/structure/reagent_dispensers/fueltank,
-/obj/effect/turf_decal/delivery,
+"mSZ" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/security/glass{
+ name = "Security Checkpoint"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
+/area/station/hallway/primary/aft)
"mTk" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -40865,6 +41027,30 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron/showroomfloor,
/area/station/science)
+"mTm" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/closet/crate/freezer/surplus_limbs,
+/obj/item/radio/intercom/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/surgery/theatre)
+"mTn" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/sign/nanotrasen{
+ pixel_y = 32
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/light/directional/north,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/central/fore)
"mTz" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -40920,19 +41106,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron,
/area/station/security/prison)
-"mUH" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/closet/cardboard,
-/obj/structure/sign/warning/no_smoking{
- pixel_x = 30
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/machinery/space_heater,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard)
"mUT" = (
/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
@@ -40941,16 +41114,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/cargo/bitrunning/den)
-"mUV" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/yellow,
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"mVf" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -40962,31 +41125,6 @@
/obj/effect/turf_decal/tile/purple/half/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/command/heads_quarters/rd)
-"mVo" = (
-/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/structure/cable,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/hallway)
-"mVr" = (
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/machinery/light/warm/directional/west,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"mVu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/landmark/start/shaft_miner,
@@ -41041,11 +41179,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/security/prison)
-"mWM" = (
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"mWR" = (
/obj/effect/turf_decal/stripes/line,
/obj/structure/disposalpipe/segment,
@@ -41099,12 +41232,34 @@
/obj/structure/sign/poster/contraband/random/directional/south,
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/service/kitchen/coldroom)
+"mXS" = (
+/obj/effect/landmark/start/warden,
+/obj/structure/chair/office,
+/obj/effect/turf_decal/tile/red/half/contrasted,
+/turf/open/floor/iron/showroomfloor,
+/area/station/security/warden)
"mYv" = (
/obj/effect/turf_decal/siding/thinplating/dark/end{
dir = 8
},
/turf/open/floor/glass/reinforced,
/area/station/service/chapel/monastery)
+"mYM" = (
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
+/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
+ dir = 4
+ },
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/machinery/door/window/left/directional/east{
+ name = "Inner Pipe Access";
+ req_access = list("atmospherics")
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"mYV" = (
/obj/structure/chair{
dir = 8
@@ -41128,17 +41283,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"mZb" = (
-/obj/structure/reagent_dispensers/fueltank,
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"mZn" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/crate,
@@ -41150,7 +41294,11 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/burnt_floor,
/obj/structure/reagent_dispensers/plumbed,
-/turf/open/floor/plating,
+/obj/effect/turf_decal/delivery/white{
+ color = "#52B4E9"
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/aft)
"mZF" = (
/obj/effect/turf_decal/stripes/corner{
@@ -41175,6 +41323,25 @@
/obj/effect/landmark/generic_maintenance_landmark,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
+"mZN" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"mZO" = (
/obj/structure/chair,
/obj/effect/landmark/start/hangover,
@@ -41194,13 +41361,21 @@
},
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"mZT" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible,
-/turf/closed/wall/rust,
-/area/space/nearstation)
"mZW" = (
/turf/closed/wall/r_wall,
/area/station/service/bar/atrium)
+"nae" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden,
+/turf/open/floor/iron,
+/area/station/engineering/hallway)
"nam" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/caution/stand_clear,
@@ -41216,6 +41391,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/engineering/main)
+"nar" = (
+/obj/machinery/conveyor/inverted{
+ dir = 6;
+ id = "mining"
+ },
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/cargo/miningoffice)
"nas" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 4
@@ -41271,22 +41454,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"naO" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/effect/mapping_helpers/burnt_floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/entry)
-"naQ" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"naY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -41302,15 +41469,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/medical/office)
-"nbn" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/rack,
-/obj/structure/grille/broken,
-/obj/item/wallframe/apc,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"nbu" = (
/obj/structure/table,
/obj/machinery/recharger,
@@ -41335,15 +41493,6 @@
/obj/item/radio/intercom/prison/directional/south,
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
-"nbG" = (
-/obj/machinery/vending/dinnerware,
-/obj/effect/turf_decal/bot,
-/obj/machinery/newscaster/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/service/kitchen)
"nbH" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/decal/cleanable/cobweb/cobweb2,
@@ -41385,6 +41534,19 @@
/obj/effect/turf_decal/caution/stand_clear,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/central/fore)
+"nbV" = (
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/firealarm/directional/south,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/box,
+/obj/machinery/vitals_reader/directional/east,
+/obj/structure/bed/medical{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/treatment_center)
"nbZ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -41394,16 +41556,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel/monastery)
-"nce" = (
-/obj/machinery/vending/wardrobe/sec_wardrobe,
-/obj/effect/turf_decal/bot,
-/obj/structure/reagent_dispensers/wall/peppertank/directional/west,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/machinery/light/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/security/lockers)
"ncj" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -41413,10 +41565,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"nct" = (
-/obj/structure/sign/warning,
-/turf/closed/wall/r_wall,
-/area/station/security/prison/safe)
"ncz" = (
/obj/structure/flora/bush/pale/style_random,
/turf/open/misc/asteroid,
@@ -41453,6 +41601,10 @@
"ncH" = (
/turf/open/floor/iron,
/area/station/cargo/storage)
+"ncM" = (
+/obj/item/pickaxe,
+/turf/open/misc/asteroid/airless,
+/area/space/nearstation)
"ncQ" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -41477,53 +41629,38 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"ndj" = (
-/obj/effect/decal/cleanable/dirt,
+"ncU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
- dir = 5
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
-"ndq" = (
-/obj/machinery/door/poddoor/shutters{
- id = "secmechbay";
- name = "Security Mech Bay Shutters";
- dir = 1
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 10
},
-/turf/open/floor/plating,
-/area/station/security/mechbay)
+/obj/machinery/duct,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
"ndz" = (
/obj/machinery/smartfridge/extract/preloaded,
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
-"ndC" = (
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 1
+"ndN" = (
+/obj/machinery/ai_slipper{
+ uses = 10
},
-/turf/open/floor/iron/cafeteria,
-/area/station/security/prison/garden)
-"ndP" = (
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
- dir = 4
+/obj/effect/turf_decal/box,
+/obj/machinery/flasher/directional/north{
+ id = "AI";
+ name = "Meatbag Pacifier";
+ pixel_x = 26
},
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
+/obj/machinery/camera/directional/south{
+ c_tag = "AI Chamber Core";
+ name = "core camera";
+ network = list("aicore")
},
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
+/turf/open/floor/engine,
+/area/station/ai/satellite/chamber)
"ndS" = (
/obj/effect/turf_decal/loading_area{
dir = 4
@@ -41536,16 +41673,6 @@
/obj/effect/landmark/start/cook,
/turf/open/floor/iron/cafeteria,
/area/station/service/kitchen)
-"nec" = (
-/obj/effect/turf_decal/arrows/white{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"nep" = (
/obj/structure/cable,
/obj/machinery/modular_computer/preset/command,
@@ -41603,6 +41730,15 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"nfc" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"nfd" = (
/obj/structure/sign/warning/vacuum/external,
/turf/closed/wall,
@@ -41613,18 +41749,6 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
-"nfF" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/requests_console/directional/east{
- department = "Pharmacy";
- name = "Pharmacy Requests Console"
- },
-/obj/effect/mapping_helpers/requests_console/ore_update,
-/obj/effect/mapping_helpers/requests_console/supplies,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
-/obj/machinery/chem_dispenser,
-/turf/open/floor/iron/dark,
-/area/station/medical/pharmacy)
"nfI" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -41674,6 +41798,19 @@
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
+"ngB" = (
+/obj/effect/turf_decal/siding/blue{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/tile/blue/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
"ngF" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/burnt_floor,
@@ -41690,18 +41827,6 @@
/obj/effect/decal/remains/human,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"nhc" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/table_frame,
-/obj/machinery/camera/directional/north{
- c_tag = "Incinerator";
- name = "atmospherics camera";
- network = list("ss13","engine")
- },
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"nhd" = (
/obj/machinery/flasher/directional/north{
id = "AI";
@@ -41738,44 +41863,18 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/aft)
-"nhO" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 4
- },
-/obj/effect/landmark/start/atmospheric_technician,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"nhZ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/burnt_floor,
/obj/machinery/light/small/directional/west,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"nie" = (
-/obj/structure/sign/warning/fire,
-/turf/closed/wall/r_wall,
-/area/station/maintenance/disposal/incinerator)
"nig" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/misc/asteroid,
/area/space/nearstation)
-"nim" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
-/obj/structure/chair/stool/directional/south,
-/obj/structure/cable,
-/obj/effect/landmark/navigate_destination/incinerator,
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
"niy" = (
/obj/machinery/photocopier,
/obj/effect/turf_decal/box/white,
@@ -41783,11 +41882,29 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
+"niJ" = (
+/obj/effect/landmark/start/scientist,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/machinery/light/floor,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/xenobiology)
"niQ" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
+"niX" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/light/warm/directional/south,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"njd" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
@@ -41893,6 +42010,14 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/genetics)
+"nlz" = (
+/obj/machinery/airalarm/directional/west,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/end{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"nlA" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood,
@@ -41900,27 +42025,6 @@
"nlR" = (
/turf/closed/wall/rust,
/area/station/medical/pharmacy)
-"nlT" = (
-/obj/item/radio/intercom/directional/south,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 4
- },
-/obj/item/flatpack/flatpacker,
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/red,
-/turf/open/floor/iron/dark,
-/area/station/engineering/lobby)
-"nme" = (
-/obj/structure/chair/sofa/bench/left{
- dir = 4
- },
-/obj/effect/landmark/start/assistant,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/turf/open/floor/wood,
-/area/station/service/chapel/monastery)
"nmq" = (
/obj/machinery/conveyor_switch/oneway{
dir = 8;
@@ -41959,6 +42063,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/showroomfloor,
/area/station/science/auxlab)
+"nmL" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/cargo/office)
"nmR" = (
/obj/machinery/modular_computer/preset/id{
dir = 8
@@ -41976,21 +42089,38 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
-"nnd" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
+"nni" = (
+/obj/structure/reagent_dispensers/watertank,
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/ai/satellite/atmos)
+"nnk" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
-/area/space/nearstation)
-"nny" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/portable_atmospherics/canister/nitrogen,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
+/area/station/engineering/atmos/storage)
+"nnv" = (
+/obj/structure/table,
+/obj/item/tank/internals/emergency_oxygen{
+ pixel_x = 6
+ },
+/obj/item/tank/internals/emergency_oxygen{
+ pixel_x = -6
+ },
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/light/warm/directional/west,
+/obj/structure/sign/poster/contraband/atmosia_independence/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"nnA" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/siding/red{
@@ -42008,6 +42138,23 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/command/teleporter)
+"nnX" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
+"nod" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/security/processing)
"nol" = (
/obj/machinery/disposal/bin/tagger,
/obj/effect/turf_decal/bot,
@@ -42018,6 +42165,37 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark,
/area/station/service/hydroponics)
+"noq" = (
+/obj/structure/table,
+/obj/machinery/processor{
+ pixel_y = 6
+ },
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/kitchen)
+"noz" = (
+/obj/item/clothing/mask/gas/sechailer{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/clothing/mask/gas/sechailer,
+/obj/item/clothing/mask/gas/sechailer{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/item/flashlight/seclite,
+/obj/item/flashlight/seclite,
+/obj/item/flashlight/seclite,
+/obj/effect/decal/cleanable/cobweb,
+/obj/machinery/airalarm/directional/west,
+/obj/structure/table,
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/light/small/red/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/security/armory)
"noE" = (
/obj/structure/chair,
/obj/effect/turf_decal/tile/red{
@@ -42028,6 +42206,14 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"noK" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/camera/autoname/directional/east,
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/engine,
+/area/station/science/auxlab)
"noM" = (
/obj/structure/sign/warning/secure_area,
/turf/closed/wall,
@@ -42105,10 +42291,6 @@
/obj/effect/turf_decal/tile/red,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"npR" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/closed/wall,
-/area/station/security/checkpoint/engineering)
"nqg" = (
/obj/structure/closet/secure_closet/security/cargo,
/obj/effect/turf_decal/delivery,
@@ -42143,14 +42325,19 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/medical/morgue)
-"nqn" = (
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/atmospherics/components/tank/air{
+"nqo" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
dir = 1
},
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"nqs" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/preopen{
@@ -42159,6 +42346,11 @@
},
/turf/open/floor/engine,
/area/station/science/auxlab)
+"nqt" = (
+/obj/machinery/light/small/directional/west,
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
"nqx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/decal/cleanable/dirt,
@@ -42175,23 +42367,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/xenobiology)
-"nqF" = (
-/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/highsecurity{
- name = "AI Upload"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload,
-/obj/effect/landmark/navigate_destination/aiupload,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
"nqX" = (
/obj/structure/lattice,
/obj/structure/disposalpipe/segment{
@@ -42202,6 +42377,18 @@
/obj/structure/cable,
/turf/open/space/basic,
/area/space/nearstation)
+"nrb" = (
+/obj/item/kirbyplants/organic/plant5,
+/obj/structure/noticeboard/directional/east,
+/obj/item/paper/monitorkey,
+/obj/machinery/camera/directional/east{
+ c_tag = "Chief Engineer's Office";
+ name = "engineering camera";
+ network = list("ss13","engine")
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/ce)
"nrh" = (
/obj/machinery/door/airlock/maintenance,
/obj/effect/mapping_helpers/airlock/abandoned,
@@ -42228,11 +42415,13 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/pharmacy)
-"nrm" = (
-/obj/item/nullrod,
-/obj/structure/table/wood,
-/turf/open/floor/cult,
-/area/station/service/chapel/office)
+"nrp" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/structure/sign/warning/hot_temp/directional/west,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"nrv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -42242,6 +42431,10 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"nrz" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/station/ai/upload/chamber)
"nrB" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/grille/broken,
@@ -42337,17 +42530,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
-"ntf" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/airalarm/directional/south,
-/obj/machinery/atmospherics/components/binary/valve/digital/on{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"ntn" = (
/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -42365,6 +42547,16 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/bitrunning/den)
+"nts" = (
+/obj/structure/closet/radiation,
+/obj/item/clothing/glasses/meson,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"ntE" = (
/obj/structure/sign/departments/security/directional/west,
/obj/structure/disposalpipe/segment,
@@ -42389,10 +42581,6 @@
/obj/effect/decal/cleanable/blood/old,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"ntH" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"nuf" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
@@ -42402,6 +42590,12 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/entry)
+"nuj" = (
+/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/station/engineering/atmos/pumproom)
"nul" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -42412,47 +42606,11 @@
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
"nuo" = (
-/obj/effect/turf_decal/stripes/corner,
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/dirt,
+/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/maintenance/aft)
-"nuy" = (
-/obj/structure/table,
-/obj/machinery/cell_charger,
-/obj/item/assembly/prox_sensor{
- desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left.";
- pixel_x = -6;
- pixel_y = 6
- },
-/obj/item/assembly/prox_sensor{
- desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left.";
- pixel_x = -6;
- pixel_y = 6
- },
-/obj/item/assembly/prox_sensor{
- desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left.";
- pixel_x = -6;
- pixel_y = 6
- },
-/obj/item/assembly/prox_sensor{
- desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left.";
- pixel_x = -6;
- pixel_y = 6
- },
-/obj/item/stock_parts/power_store/cell/high,
-/obj/item/stock_parts/power_store/cell/high,
-/obj/item/stock_parts/power_store/cell/high,
-/obj/item/crowbar/red,
-/obj/item/toy/figure/roboticist{
- pixel_x = 6
- },
-/obj/machinery/light_switch/directional/north,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/science/robotics/lab)
"nuz" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -42478,6 +42636,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
+"nuP" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/airalarm/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/structure/closet/secure_closet/atmospherics,
+/obj/item/pickaxe/mini,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/storage)
"nuS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -42501,6 +42667,25 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/hos)
+"nvk" = (
+/obj/effect/turf_decal/plaque{
+ icon_state = "L9"
+ },
+/obj/machinery/camera/directional/north{
+ c_tag = "Fore Hallway Centre";
+ name = "fore camera"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"nvq" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 1
@@ -42510,6 +42695,8 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
/turf/open/floor/iron/showroomfloor,
/area/station/science/genetics)
"nvA" = (
@@ -42565,6 +42752,37 @@
},
/turf/open/floor/plastic,
/area/station/hallway/secondary/service)
+"nvQ" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/entry)
+"nvU" = (
+/obj/machinery/button/door/atmos_test_room_mainvent_1{
+ pixel_y = -26;
+ name = "Axuiliary Chamber Vent Control"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Aux Output"
+ },
+/obj/effect/turf_decal/tile/bar/fourcorners,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
+"nwd" = (
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"nwf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -42594,13 +42812,6 @@
/obj/effect/turf_decal/tile/purple/half/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/science/genetics)
-"nwu" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/airalarm/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/structure/closet/secure_closet/atmospherics,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"nwE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -42624,16 +42835,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"nwN" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"nwP" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/effect/turf_decal/tile/purple/anticorner/contrasted,
@@ -42697,6 +42898,14 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/lobby)
+"nxo" = (
+/obj/structure/closet/secure_closet/hydroponics,
+/obj/effect/turf_decal/bot,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/newscaster/directional/south,
+/obj/effect/turf_decal/tile/green/fourcorners,
+/turf/open/floor/iron/checker,
+/area/station/service/hydroponics)
"nxx" = (
/obj/structure/lattice/catwalk,
/obj/structure/disposalpipe/segment,
@@ -42705,22 +42914,14 @@
/obj/structure/cable,
/turf/open/space/basic,
/area/space/nearstation)
-"nxX" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/carpet/green,
-/area/station/service/lawoffice)
-"nxY" = (
-/obj/structure/extinguisher_cabinet/directional/east,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+"nya" = (
+/obj/structure/flora/bush/sparsegrass/style_random,
+/obj/structure/flora/bush/sparsegrass/style_random,
+/obj/effect/turf_decal/siding/thinplating/dark{
dir = 1
},
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/turf/open/floor/grass,
+/area/station/service/chapel)
"nym" = (
/obj/machinery/door/airlock/maintenance{
name = "Engineering Maintenance"
@@ -42729,26 +42930,19 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"nyA" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/table,
-/obj/item/storage/belt/utility,
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
+"nyE" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/airalarm/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/dock)
"nyN" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/computer/security/telescreen/research/directional/west,
/turf/open/floor/iron/showroomfloor,
/area/station/security/checkpoint/science)
-"nyV" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
"nzz" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/stripes/line{
@@ -42771,14 +42965,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"nzR" = (
-/obj/effect/landmark/start/warden,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron/showroomfloor,
-/area/station/security/warden)
"nzW" = (
/obj/effect/turf_decal/tile/red/half/contrasted{
dir = 4
@@ -42805,6 +42991,33 @@
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/engine,
/area/station/ai/satellite/atmos)
+"nAl" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/airlock/atmos/glass{
+ name = "Auxiliary Chamber"
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/station/engineering/atmos)
+"nAq" = (
+/obj/item/radio/intercom/directional/south,
+/obj/effect/turf_decal/tile/green/half/contrasted,
+/obj/machinery/light/cold/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/virology)
+"nAw" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/bridge)
"nAE" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -42829,24 +43042,6 @@
},
/turf/open/floor/plating,
/area/station/security/detectives_office)
-"nBd" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
-"nBl" = (
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue/half/contrasted{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/pharmacy)
"nBD" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -42883,6 +43078,12 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/break_room)
+"nCa" = (
+/obj/effect/turf_decal/bot,
+/obj/effect/spawner/random/structure/crate_abandoned,
+/obj/machinery/light/warm/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/exit/departure_lounge)
"nCc" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/iron,
@@ -42891,9 +43092,45 @@
/obj/effect/turf_decal/delivery,
/obj/structure/closet/radiation,
/obj/item/clothing/glasses/meson,
-/obj/item/radio/intercom/directional/south,
+/obj/structure/sign/warning/radiation/rad_area/directional/east,
/turf/open/floor/iron/dark,
/area/station/engineering/gravity_generator)
+"nCi" = (
+/obj/machinery/light/small/directional/north,
+/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot,
+/obj/structure/sign/warning/vacuum/external/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/exit/departure_lounge)
+"nCo" = (
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron,
+/area/station/cargo/miningdock)
+"nCq" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/siding/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/landmark/start/depsec/engineering,
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/machinery/duct,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/security/checkpoint/engineering)
"nCs" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -42919,53 +43156,33 @@
dir = 8
},
/area/station/hallway/primary/fore)
+"nCF" = (
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 6
+ },
+/turf/closed/wall/r_wall,
+/area/station/engineering/supermatter/engine)
"nCI" = (
/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"nCK" = (
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 4
- },
-/obj/machinery/light/directional/south,
-/obj/machinery/airalarm/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
-"nCL" = (
-/turf/open/floor/plating,
-/area/station/maintenance/port/lesser)
-"nDi" = (
-/obj/machinery/meter,
+"nCJ" = (
/obj/effect/turf_decal/stripes/line{
- dir = 10
+ dir = 4
},
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 4
},
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 8
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Mix to Distro"
},
-/obj/effect/turf_decal/tile/blue/opposingcorners,
/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"nDk" = (
-/obj/structure/table/wood,
-/obj/structure/cable,
-/obj/item/pen/fountain{
- pixel_x = 4
- },
-/obj/item/storage/photo_album/chapel{
- pixel_x = -16
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/grimy,
-/area/station/service/chapel/office)
+/area/station/engineering/atmos/pumproom)
+"nCL" = (
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
"nDp" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -42975,13 +43192,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"nDu" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/light/floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"nDM" = (
/obj/machinery/button/door/directional/south{
id = "ordnancemix";
@@ -42999,6 +43209,24 @@
/obj/effect/turf_decal/tile/purple/half/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance)
+"nDO" = (
+/obj/structure/sign/poster/contraband/self_ai_liberation/directional/west,
+/obj/item/kirbyplants/photosynthetic,
+/turf/open/floor/circuit,
+/area/station/ai/upload/chamber)
+"nDR" = (
+/obj/effect/turf_decal/bot,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/closet/crate,
+/obj/structure/grille/broken,
+/obj/item/clothing/gloves/color/fyellow,
+/obj/item/flashlight,
+/obj/item/flashlight/flare,
+/obj/item/relic,
+/obj/structure/sign/poster/contraband/random/directional/west,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard)
"nDS" = (
/obj/machinery/photocopier,
/obj/effect/turf_decal/bot,
@@ -43030,16 +43258,6 @@
/obj/structure/lattice/catwalk,
/turf/open/misc/asteroid,
/area/station/maintenance/port/greater)
-"nEg" = (
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"nEk" = (
/obj/machinery/door/poddoor/shutters{
dir = 8;
@@ -43083,11 +43301,6 @@
/obj/item/kirbyplants/organic/plant10,
/turf/open/floor/iron/dark,
/area/station/science/lobby)
-"nEB" = (
-/obj/structure/flora/bush/flowers_pp/style_random,
-/obj/effect/turf_decal/siding/thinplating/dark,
-/turf/open/floor/grass,
-/area/station/service/chapel)
"nEQ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -43112,11 +43325,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/hydroponics/garden)
-"nFl" = (
-/obj/structure/urinal/directional/north,
-/obj/machinery/duct,
-/turf/open/floor/plating/rust,
-/area/station/security/prison/shower)
"nFm" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/yellow/half/contrasted{
@@ -43138,14 +43346,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/commons/storage/primary)
-"nFw" = (
-/obj/structure/grille/broken,
-/obj/effect/decal/cleanable/blood/old,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"nFy" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -43166,6 +43366,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"nGa" = (
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/cable,
+/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance/storage)
"nGt" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -43177,13 +43383,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"nGx" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/security/brig)
"nGC" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 4
@@ -43215,37 +43414,6 @@
/obj/structure/cable,
/turf/open/floor/engine/telecomms,
/area/station/tcommsat/server)
-"nGM" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/disposal/bin/tagger,
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
- dir = 5
- },
-/obj/structure/disposalpipe/trunk{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
-"nGT" = (
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/machinery/door/window/left/directional/east{
- name = "Inner Pipe Access";
- req_access = list("atmospherics")
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"nHd" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/yellow/half/contrasted{
@@ -43264,6 +43432,35 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"nHH" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
+ dir = 6
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/engineering/hallway)
+"nHI" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "brigfrontdoor";
+ name = "Front Security Blast Door"
+ },
+/obj/structure/extinguisher_cabinet/directional/north,
+/obj/effect/turf_decal/caution/stand_clear,
+/turf/open/floor/iron/dark,
+/area/station/security/brig)
"nHO" = (
/turf/closed/wall/rust,
/area/station/service/janitor)
@@ -43285,6 +43482,8 @@
/area/station/maintenance/starboard)
"nIh" = (
/obj/effect/decal/cleanable/dirt,
+/obj/structure/grille/broken,
+/obj/structure/sign/warning/directional/south,
/turf/open/floor/plating,
/area/station/maintenance/aft)
"nIq" = (
@@ -43317,6 +43516,16 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"nID" = (
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"nIR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -43347,6 +43556,10 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/ai/satellite/interior)
+"nJq" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+/turf/closed/wall/rust,
+/area/station/engineering/atmos)
"nJv" = (
/obj/structure/filingcabinet,
/obj/effect/turf_decal/bot,
@@ -43455,6 +43668,14 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/medical/virology)
+"nKK" = (
+/obj/structure/reagent_dispensers/watertank,
+/obj/effect/turf_decal/delivery,
+/obj/structure/railing{
+ dir = 1
+ },
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"nKO" = (
/obj/structure/sign/warning/electric_shock,
/turf/closed/wall/r_wall,
@@ -43486,21 +43707,28 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"nLt" = (
-/obj/structure/table,
-/obj/machinery/firealarm/directional/west,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/ai_module/law/supplied/freeform,
-/obj/item/ai_module/law/supplied/freeform,
-/obj/item/ai_module/law/supplied/freeform,
-/turf/open/floor/iron/dark,
-/area/station/ai/upload/chamber)
"nLT" = (
/obj/docking_port/stationary/escape_pod{
dir = 2
},
/turf/open/space/basic,
/area/space)
+"nLY" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/door/airlock/maintenance,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-maint-passthrough"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
+/obj/effect/mapping_helpers/airlock/unres/delayed{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/science)
"nLZ" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -43515,13 +43743,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"nMh" = (
-/obj/machinery/light_switch/directional/south,
-/obj/effect/decal/cleanable/blood/old,
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/engine,
-/area/station/ai/satellite/interior)
"nMj" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -43553,18 +43774,14 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"nMX" = (
-/obj/machinery/computer/crew{
- dir = 1
- },
-/obj/effect/turf_decal/bot,
-/obj/item/radio/intercom/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/security/checkpoint/medical)
+"nMT" = (
+/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/fourcorners,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/security/brig)
"nNb" = (
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
@@ -43631,6 +43848,17 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/ruin/space/has_grav/abandoned_warehouse)
+"nOO" = (
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"nOR" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -43662,18 +43890,6 @@
/obj/machinery/incident_display/delam/directional/north,
/turf/open/floor/iron/dark,
/area/station/engineering/lobby)
-"nPx" = (
-/obj/structure/railing{
- dir = 4
- },
-/obj/effect/turf_decal/siding/wideplating/dark/corner{
- dir = 4
- },
-/obj/effect/turf_decal/siding/thinplating/dark{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
"nPS" = (
/obj/structure/rack,
/obj/item/storage/toolbox/drone,
@@ -43692,6 +43908,7 @@
"nPT" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/burnt_floor,
+/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/maintenance/aft)
"nPV" = (
@@ -43716,6 +43933,13 @@
},
/turf/open/floor/iron/dark,
/area/station/service/bar/atrium)
+"nQn" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/machinery/light/dim/directional/west,
+/turf/open/floor/iron/white,
+/area/station/security/prison/mess)
"nQo" = (
/obj/machinery/door/firedoor/border_only{
dir = 1
@@ -43724,6 +43948,19 @@
dir = 1
},
/area/station/service/chapel)
+"nQr" = (
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue/half/contrasted{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/pharmacy)
"nQs" = (
/obj/structure/chair/pew/left{
dir = 4
@@ -43741,6 +43978,12 @@
/obj/effect/turf_decal/box,
/turf/open/floor/engine,
/area/station/science/xenobiology)
+"nQy" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/machinery/meter,
+/obj/machinery/duct,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/cryo)
"nQK" = (
/turf/closed/wall/r_wall/rust,
/area/station/security/prison/shower)
@@ -43755,19 +43998,24 @@
/obj/machinery/status_display/evac/directional/south,
/turf/open/floor/plating,
/area/station/cargo/storage)
-"nSa" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/closet/secure_closet/personal,
-/obj/item/storage/backpack,
-/obj/item/storage/backpack/satchel,
-/obj/item/clothing/suit/hooded/wintercoat,
-/obj/item/clothing/shoes/winterboots,
+"nQP" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/fore)
+"nRh" = (
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 1
+ },
+/obj/structure/cable,
/obj/machinery/airalarm/directional/north,
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
/obj/machinery/light/warm/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/commons/locker)
+/turf/open/floor/iron,
+/area/station/security/prison/garden)
"nSh" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -43800,10 +44048,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/cargo)
-"nTo" = (
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating/airless,
-/area/space/nearstation)
"nTr" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -43817,6 +44061,14 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/hop)
+"nTv" = (
+/obj/machinery/conveyor/inverted{
+ dir = 5;
+ id = "mining"
+ },
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/cargo/miningoffice)
"nTz" = (
/obj/structure/table,
/obj/item/pen/fountain,
@@ -43844,6 +44096,19 @@
/obj/item/stamp/granted,
/turf/open/floor/carpet/orange,
/area/station/command/heads_quarters/qm)
+"nTC" = (
+/obj/structure/table,
+/obj/item/clipboard,
+/obj/item/airlock_painter{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/item/airlock_painter,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/hallway)
"nTG" = (
/obj/effect/spawner/random/vending/snackvend,
/obj/effect/turf_decal/bot,
@@ -43858,6 +44123,10 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/bridge)
+"nTX" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/space/nearstation)
"nUf" = (
/obj/machinery/newscaster/directional/north,
/obj/item/kirbyplants/random,
@@ -43868,13 +44137,18 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/wood,
/area/station/maintenance/starboard/fore)
+"nUK" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/cargo/miningdock)
"nUZ" = (
-/obj/structure/reagent_dispensers/fueltank,
-/obj/effect/turf_decal/delivery,
/obj/structure/extinguisher_cabinet/directional/south,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/bot_red,
/turf/open/floor/iron/dark,
/area/station/engineering/storage_shared)
"nVc" = (
@@ -43891,6 +44165,11 @@
/obj/structure/flora/rock/pile/style_random,
/turf/open/misc/asteroid,
/area/station/maintenance/port/greater)
+"nVA" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/end,
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"nVK" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -43913,23 +44192,23 @@
/obj/structure/reagent_dispensers/plumbed,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"nWU" = (
-/obj/structure/tank_dispenser,
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"nWW" = (
/obj/machinery/iv_drip,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/virology)
-"nXg" = (
-/obj/effect/landmark/start/warden,
-/obj/structure/chair/office,
-/obj/effect/turf_decal/tile/red/half/contrasted,
-/turf/open/floor/iron/showroomfloor,
-/area/station/security/warden)
+"nXh" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/vending/cigarette,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/hallway/primary/aft)
"nXp" = (
/obj/structure/table/reinforced,
/obj/machinery/button/door{
@@ -43976,17 +44255,18 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/hos)
-"nYg" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
+"nYh" = (
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
},
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/yellow{
+ dir = 1
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+/area/station/engineering/lobby)
"nYo" = (
/obj/structure/table,
/obj/item/storage/backpack/duffelbag/engineering{
@@ -44054,18 +44334,6 @@
/obj/structure/noticeboard/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"nZF" = (
-/obj/effect/turf_decal/siding/yellow{
- dir = 9
- },
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"nZG" = (
/obj/structure/lattice/catwalk,
/obj/machinery/button/door/directional/east{
@@ -44104,17 +44372,6 @@
"oam" = (
/turf/closed/wall,
/area/station/maintenance/disposal)
-"oat" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/firealarm/directional/west,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"oay" = (
/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{
dir = 1
@@ -44140,37 +44397,23 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"oaK" = (
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
- dir = 4
- },
-/obj/structure/lattice/catwalk,
-/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
-/turf/open/space/basic,
-/area/space/nearstation)
-"obh" = (
-/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)
"obi" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
/obj/structure/grille/broken,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"obv" = (
-/obj/structure/displaycase/labcage,
-/obj/effect/turf_decal/box,
-/obj/machinery/firealarm/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
+"obk" = (
+/obj/structure/window/reinforced/plasma/spawner/directional/west,
+/obj/structure/cable,
+/obj/machinery/power/energy_accumulator/grounding_rod/anchored,
+/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
+ dir = 4
},
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/rd)
+/turf/open/floor/circuit/green{
+ luminosity = 2
+ },
+/area/station/engineering/supermatter/engine)
"obM" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -44180,21 +44423,6 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/locker)
-"obO" = (
-/obj/machinery/firealarm/directional/north,
-/obj/machinery/camera/directional/north{
- c_tag = "Arrivals Dock";
- name = "shuttle camera"
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/structure/closet/firecloset,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"obU" = (
/obj/structure/table/glass,
/obj/item/clothing/gloves/latex,
@@ -44210,17 +44438,6 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/virology)
-"ocd" = (
-/obj/machinery/atmospherics/components/trinary/filter{
- dir = 4
- },
-/obj/effect/turf_decal/delivery,
-/obj/machinery/light_switch/directional/north,
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/ordnance)
"oce" = (
/obj/structure/flora/bush/lavendergrass/style_random,
/obj/structure/flora/bush/sparsegrass/style_random,
@@ -44236,6 +44453,9 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
+"ock" = (
+/turf/open/floor/plating,
+/area/station/maintenance/fore)
"ocn" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -44243,6 +44463,16 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
+"oco" = (
+/obj/effect/turf_decal/arrows/red{
+ dir = 4;
+ pixel_x = -15
+ },
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/iron/smooth_half{
+ dir = 8
+ },
+/area/station/engineering/atmos)
"oct" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/rack,
@@ -44261,6 +44491,7 @@
/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
dir = 4
},
+/obj/effect/turf_decal/delivery,
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
"ocz" = (
@@ -44288,14 +44519,17 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"ocQ" = (
-/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/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/red,
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
+"ocP" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/obj/effect/turf_decal/tile/bar/anticorner/contrasted,
+/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible{
+ dir = 4
+ },
+/obj/structure/railing/corner/end{
+ dir = 4
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"ocS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -44325,6 +44559,28 @@
/obj/structure/plasticflaps/kitchen,
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
+"odo" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/command/heads_quarters/ce)
+"ods" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"odA" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating/airless,
@@ -44334,20 +44590,18 @@
/obj/structure/flora/bush/pointy/style_random,
/turf/open/floor/grass,
/area/station/service/hydroponics/garden)
+"oeq" = (
+/obj/effect/turf_decal/tile/yellow,
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/hidden/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"oeF" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
-"oeL" = (
-/obj/structure/cable,
-/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/machinery/light/floor,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
"oeS" = (
/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrogen_input{
dir = 4
@@ -44364,18 +44618,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"ofe" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/tile/neutral/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"ofg" = (
/turf/closed/wall,
/area/station/medical/pharmacy)
@@ -44430,14 +44672,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/solars/starboard/aft)
-"ofu" = (
-/obj/machinery/power/emitter/welded{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter/room)
"ofx" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/preopen{
@@ -44459,6 +44693,12 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/paramedic)
+"ofC" = (
+/obj/machinery/power/smes/engineering,
+/obj/structure/cable,
+/obj/item/radio/intercom/directional/east,
+/turf/open/floor/circuit/red,
+/area/station/engineering/supermatter/room)
"ogk" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/brown/half/contrasted{
@@ -44471,20 +44711,6 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating/lowpressure,
/area/space/nearstation)
-"ohe" = (
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 4
- },
-/obj/structure/sign/warning/vacuum/external/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/duct,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"ohj" = (
/obj/effect/turf_decal/loading_area{
dir = 8
@@ -44507,6 +44733,26 @@
/obj/structure/sign/warning/docking,
/turf/closed/wall,
/area/station/cargo/miningdock)
+"ohU" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/command/heads_quarters/ce)
"oic" = (
/obj/structure/chair/sofa/bench/left{
dir = 4
@@ -44556,22 +44802,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/xenobiology)
-"oix" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 1
- },
-/obj/effect/turf_decal/box,
-/obj/machinery/portable_atmospherics/canister,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
"oiE" = (
/obj/machinery/computer/order_console/mining,
/obj/effect/turf_decal/bot,
@@ -44599,31 +44829,37 @@
/obj/effect/decal/cleanable/blood/old,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
+"oiL" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/supply/hidden/layer4{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"oiO" = (
/turf/closed/wall/mineral/bronze,
/area/station/maintenance/department/chapel)
-"oiR" = (
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
-/obj/machinery/portable_atmospherics/scrubber,
-/obj/machinery/light/warm/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"oiS" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"oiU" = (
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"oiV" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/remains/human,
@@ -44638,11 +44874,6 @@
},
/turf/open/floor/carpet/green,
/area/station/service/lawoffice)
-"ojG" = (
-/obj/effect/landmark/event_spawn,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"ojZ" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -44653,32 +44884,18 @@
/turf/open/floor/iron,
/area/station/hallway/primary/central)
"oki" = (
-/obj/machinery/airalarm/directional/west,
-/obj/machinery/status_display/evac/directional/north,
/obj/effect/decal/cleanable/cobweb,
/obj/structure/cable,
/obj/machinery/power/smes/full,
+/obj/machinery/airalarm/directional/north,
+/obj/item/radio/intercom/directional/west,
/turf/open/floor/circuit/green{
luminosity = 2
},
/area/station/engineering/gravity_generator)
-"okk" = (
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
-/obj/structure/lattice/catwalk,
-/turf/open/space/basic,
-/area/space/nearstation)
"okp" = (
/turf/closed/wall/r_wall/rust,
/area/station/engineering/supermatter/engine)
-"okq" = (
-/obj/machinery/portable_atmospherics/scrubber,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible,
-/obj/effect/turf_decal/box,
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/atmos)
"okt" = (
/obj/machinery/door/window/left/directional/east{
name = "Creature Cell";
@@ -44693,29 +44910,6 @@
},
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
-"okE" = (
-/obj/structure/table,
-/obj/item/clothing/gloves/latex,
-/obj/item/clothing/gloves/latex,
-/obj/item/storage/box/monkeycubes{
- pixel_x = 2;
- pixel_y = 5
- },
-/obj/item/storage/box/monkeycubes{
- pixel_y = 3
- },
-/obj/effect/turf_decal/siding/purple/corner{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 1
- },
-/obj/item/paper/crumpled{
- default_raw_text = "This isn't funny, I'm trapped on the least fun room on the station.";
- name = "poorly written complaint"
- },
-/turf/open/floor/iron/dark,
-/area/station/science/xenobiology)
"okJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
@@ -44725,9 +44919,49 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"okM" = (
+/obj/item/kirbyplants/organic/plant21,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 8
+ },
+/area/station/hallway/primary/central/fore)
"okN" = (
/turf/closed/wall/rust,
/area/station/service/bar/backroom)
+"okT" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/station/engineering/supermatter/room)
+"oln" = (
+/obj/machinery/computer/records/security{
+ dir = 4
+ },
+/obj/machinery/requests_console/directional/north{
+ department = "Security";
+ name = "Security Requests Console"
+ },
+/obj/effect/mapping_helpers/requests_console/assistance,
+/obj/effect/mapping_helpers/requests_console/supplies,
+/obj/effect/turf_decal/tile/red/anticorner/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron/showroomfloor,
+/area/station/security/checkpoint/science)
"olv" = (
/obj/structure/flora/bush/grassy/style_random,
/obj/structure/flora/bush/sparsegrass/style_random,
@@ -44742,18 +44976,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/aft)
-"olF" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/button/door/directional/south{
- id = "morgueprivacy";
- name = "Morgue Privacy Shutter";
- pixel_x = -8
- },
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"olL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -44786,6 +45008,14 @@
},
/turf/open/floor/iron/checker,
/area/station/security/mechbay)
+"olY" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"omi" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/landmark/start/medical_doctor,
@@ -44805,21 +45035,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/central)
-"omr" = (
-/obj/machinery/conveyor{
- dir = 4;
- id = "packagereturn";
- name = "crate return belt"
- },
-/obj/effect/turf_decal/bot,
-/obj/machinery/camera/directional/south{
- c_tag = "Delivery Office";
- name = "cargo camera";
- network = list("ss13","qm")
- },
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/cargo/sorting)
"omH" = (
/obj/machinery/door/poddoor/shutters{
id = "Skynet_launch";
@@ -44858,6 +45073,15 @@
luminosity = 2
},
/area/station/science/robotics/mechbay)
+"onj" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"onm" = (
/obj/structure/rack,
/obj/effect/turf_decal/bot,
@@ -44884,20 +45108,6 @@
/obj/item/circuitboard/machine/telecomms/processor,
/turf/open/floor/iron/dark,
/area/station/engineering/storage/tcomms)
-"onn" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/yellow{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/command/heads_quarters/ce)
"ons" = (
/obj/machinery/recharger{
pixel_x = -7
@@ -44927,27 +45137,15 @@
},
/turf/open/floor/iron/dark,
/area/station/security/warden)
-"onu" = (
-/obj/structure/closet/secure_closet/security/sec,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/security/lockers)
-"ooo" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/airalarm/directional/south,
-/obj/structure/disposalpipe/trunk{
+"ool" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 1
},
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/machinery/disposal/bin/tagger,
-/obj/machinery/light/cold/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/pharmacy)
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/obj/effect/turf_decal/box,
+/obj/machinery/light/warm/directional/south,
+/turf/open/floor/iron/dark/textured_large,
+/area/station/engineering/supermatter/room)
"oou" = (
/obj/machinery/telecomms/receiver/preset_right,
/obj/effect/turf_decal/stripes/line{
@@ -44960,13 +45158,6 @@
},
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/station/tcommsat/server)
-"oow" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"ooR" = (
/obj/structure/transit_tube/crossing,
/obj/structure/disposalpipe/segment{
@@ -44974,6 +45165,11 @@
},
/turf/open/floor/plating,
/area/station/maintenance/fore)
+"opy" = (
+/obj/machinery/suit_storage_unit/industrial/loader,
+/obj/machinery/light/warm/directional/south,
+/turf/open/floor/iron,
+/area/station/cargo/warehouse)
"opL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -45001,6 +45197,14 @@
/obj/structure/flora/grass/jungle/b/style_5,
/turf/open/misc/asteroid,
/area/station/maintenance/port/greater)
+"oqC" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/machinery/newscaster/directional/south,
+/obj/machinery/light/cold/dim/directional/south,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"oqN" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/engineering{
@@ -45009,13 +45213,6 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage,
/turf/open/floor/iron/dark,
/area/station/engineering/storage/tech)
-"oqW" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
"ore" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/stripes/corner{
@@ -45060,34 +45257,18 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
-"orI" = (
-/obj/machinery/teleport/station,
-/obj/machinery/status_display/evac/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
+"orG" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "brigfrontdoor";
+ name = "Front Security Blast Door"
},
/turf/open/floor/iron/dark,
-/area/station/command/teleporter)
+/area/station/security/brig)
"orT" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/tcommsat/computer)
-"orW" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science)
"orY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/extinguisher_cabinet/directional/south,
@@ -45141,13 +45322,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"otn" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/effect/spawner/random/gizmo,
-/turf/open/floor/engine,
-/area/station/science/auxlab)
"otr" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -45169,40 +45343,26 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"ouk" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
+"otT" = (
+/obj/machinery/newscaster/directional/south,
+/obj/effect/turf_decal/siding/white{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/hallway/primary/fore)
+"oub" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/turf/open/floor/plating,
+/area/station/maintenance/central)
"oup" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/engineering/atmos)
-"ouC" = (
-/obj/effect/turf_decal/stripes/line,
-/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/half/contrasted,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"ouE" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"ouM" = (
/obj/structure/cable,
/obj/effect/landmark/start/hangover,
@@ -45213,18 +45373,6 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/space/basic,
/area/space/nearstation)
-"ouX" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"ova" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -45287,35 +45435,6 @@
/obj/structure/cable,
/turf/open/floor/iron/grimy,
/area/station/hallway/primary/fore)
-"owl" = (
-/obj/structure/table,
-/obj/item/mmi,
-/obj/item/bodypart/chest/robot{
- pixel_y = 4
- },
-/obj/item/bodypart/leg/right/robot{
- pixel_x = 6
- },
-/obj/item/bodypart/arm/right/robot{
- pixel_x = 6;
- pixel_y = 6
- },
-/obj/item/bodypart/leg/left/robot{
- pixel_x = -6
- },
-/obj/item/bodypart/arm/left/robot{
- pixel_x = -6;
- pixel_y = 6
- },
-/obj/item/bodypart/head/robot,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
"owm" = (
/obj/effect/turf_decal/bot,
/obj/effect/turf_decal/stripes/corner,
@@ -45390,14 +45509,6 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation)
-"owT" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
- dir = 10
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
"owX" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -45409,65 +45520,6 @@
/obj/item/kirbyplants/organic/plant21,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"oxn" = (
-/obj/effect/turf_decal/box,
-/obj/structure/cable,
-/obj/machinery/power/shieldwallgen/xenobiologyaccess,
-/obj/effect/mapping_helpers/burnt_floor,
-/obj/structure/sign/warning/gas_mask/directional/north,
-/turf/open/floor/plating,
-/area/station/science/xenobiology)
-"oxG" = (
-/obj/item/canvas/nineteen_nineteen,
-/obj/item/canvas/nineteen_nineteen,
-/obj/item/canvas/nineteen_nineteen,
-/obj/item/canvas/nineteen_nineteen,
-/obj/structure/table/rolling,
-/obj/item/storage/crayons{
- pixel_x = -6;
- pixel_y = 6
- },
-/obj/effect/spawner/random/contraband/prison,
-/obj/item/storage/crayons{
- pixel_x = -6;
- pixel_y = 1
- },
-/obj/item/paper_bin{
- pixel_x = 11;
- pixel_y = 4
- },
-/obj/item/pen{
- pixel_x = 13;
- pixel_y = 9
- },
-/obj/item/pen{
- pixel_x = 11;
- pixel_y = 6
- },
-/obj/item/pen{
- pixel_x = 11;
- pixel_y = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron/grimy,
-/area/station/security/prison)
-"oxJ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/yellow{
- dir = 1
- },
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/command/heads_quarters/ce)
"oxK" = (
/obj/structure/table,
/obj/machinery/light/small/directional/north,
@@ -45479,6 +45531,20 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
+"oxY" = (
+/obj/machinery/portable_atmospherics/scrubber,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/machinery/firealarm/directional/south{
+ pixel_x = -5
+ },
+/obj/effect/turf_decal/box,
+/obj/effect/turf_decal/tile/red/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/hallway)
"oyA" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -45496,18 +45562,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"oyK" = (
+/obj/structure/closet/secure_closet/security/sec,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/security/lockers)
"oyP" = (
/obj/effect/landmark/start/hangover,
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
-"ozk" = (
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
- dir = 9
- },
-/obj/structure/lattice,
-/turf/open/space/basic,
-/area/space/nearstation)
"ozt" = (
/obj/structure/chair/office/light,
/obj/effect/landmark/start/depsec/medical,
@@ -45578,7 +45643,8 @@
},
/obj/machinery/portable_atmospherics/canister/nitrogen,
/obj/effect/turf_decal/box,
-/turf/open/floor/iron/dark,
+/obj/structure/sign/warning/fire/directional/west,
+/turf/open/floor/iron/dark/textured_large,
/area/station/engineering/supermatter/room)
"oAo" = (
/obj/structure/cable,
@@ -45587,19 +45653,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"oAF" = (
-/obj/structure/bed,
-/obj/machinery/iv_drip,
-/obj/effect/turf_decal/bot_white/right,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/item/bedsheet/medical,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/central)
"oAJ" = (
/obj/effect/turf_decal/bot,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -45707,17 +45760,14 @@
/obj/machinery/button/door/directional/west{
id = "gravity";
name = "Gravity Generator Lockdown";
- req_one_access = list("command","tech_storage")
+ req_one_access = list("command","tech_storage");
+ pixel_x = -26
},
/turf/open/floor/engine,
/area/station/engineering/gravity_generator)
"oCo" = (
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
+/obj/effect/turf_decal/tile/red,
/turf/open/floor/iron,
/area/station/engineering/main)
"oCr" = (
@@ -45791,36 +45841,28 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark/corner,
/area/station/hallway/primary/central/fore)
+"oCU" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/decal/cleanable/ash{
+ pixel_y = 6;
+ pixel_x = -3
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"oDh" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/structure/table,
-/obj/item/stock_parts/power_store/cell/emproof{
- pixel_x = 6;
- pixel_y = -6
- },
-/obj/item/grenade/chem_grenade/smart_metal_foam{
- pixel_x = 6
- },
-/obj/item/grenade/chem_grenade/smart_metal_foam{
- pixel_x = -2
+/obj/effect/turf_decal/bot,
+/obj/structure/rack,
+/obj/item/storage/box/lights/mixed{
+ pixel_y = 3
},
-/obj/item/crowbar,
-/obj/item/stack/sheet/glass/fifty,
-/obj/item/stack/sheet/glass/fifty,
-/obj/item/stack/sheet/glass/fifty,
-/obj/item/stack/sheet/iron/fifty,
-/obj/item/stack/sheet/iron/fifty,
-/obj/item/stack/sheet/iron/fifty,
+/obj/item/stack/cable_coil,
+/obj/item/screwdriver,
/turf/open/floor/iron/dark,
/area/station/engineering/main)
-"oDt" = (
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
- dir = 8
- },
-/obj/structure/lattice/catwalk,
-/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
-/turf/open/space/basic,
-/area/space/nearstation)
"oDG" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -45842,6 +45884,19 @@
/obj/effect/turf_decal/tile/red/half/contrasted,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
+"oEQ" = (
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 8;
+ id = "ceprivate";
+ name = "Chief Engineer's Privacy Shutters"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/engineering/lobby)
"oFf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -45853,13 +45908,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"oFk" = (
-/obj/structure/transit_tube/curved/flipped{
- dir = 1
- },
-/obj/structure/lattice,
-/turf/open/space/basic,
-/area/space/nearstation)
"oFl" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -45906,6 +45954,22 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/service/kitchen/coldroom)
+"oGt" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
+ dir = 10
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/iron,
+/area/station/engineering/hallway)
"oGu" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -45916,6 +45980,17 @@
/obj/effect/turf_decal/siding/thinplating/dark,
/turf/open/floor/iron/smooth_large,
/area/station/maintenance/department/chapel/monastery)
+"oGw" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/machinery/atmospherics/components/binary/pump/on/layer4{
+ dir = 2;
+ name = "Airlock Pump";
+ target_pressure = 300;
+ hide = 1
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"oGV" = (
/obj/machinery/status_display/evac/directional/south,
/obj/effect/turf_decal/tile/purple/half/contrasted,
@@ -45960,17 +46035,6 @@
/obj/structure/cable,
/turf/open/floor/iron/showroomfloor,
/area/station/security/office)
-"oHB" = (
-/obj/machinery/door/airlock/engineering{
- name = "Emergency Storage"
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/unres/delayed,
-/obj/effect/mapping_helpers/airlock/access/any/service/janitor,
-/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/entry)
"oHD" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -45996,17 +46060,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"oIf" = (
-/obj/effect/turf_decal/bot,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/ore_silo,
-/obj/machinery/airalarm/directional/north,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
- },
-/obj/machinery/light/small/red/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/command/vault)
"oIg" = (
/obj/effect/turf_decal/delivery,
/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
@@ -46074,14 +46127,6 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron,
/area/station/cargo/sorting)
-"oJr" = (
-/obj/structure/reagent_dispensers/watertank,
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"oJs" = (
/obj/structure/table,
/obj/item/clipboard,
@@ -46115,27 +46160,6 @@
/obj/structure/chair/stool/directional/north,
/turf/open/floor/wood,
/area/station/service/library)
-"oJW" = (
-/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/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/purple/anticorner/contrasted,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/tile/purple,
-/obj/machinery/duct,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science)
-"oKp" = (
-/obj/structure/chair/office/light{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"oKJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -46174,20 +46198,17 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation)
-"oLp" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
-/obj/structure/lattice,
-/turf/open/space/basic,
-/area/space/nearstation)
-"oLq" = (
-/obj/structure/table,
-/obj/effect/turf_decal/stripes/corner{
+"oLn" = (
+/obj/structure/chair/sofa/bench/right{
dir = 4
},
-/obj/item/storage/medkit/emergency,
-/obj/item/clothing/under/rank/security/officer,
-/turf/open/floor/plating,
-/area/station/maintenance/port/lesser)
+/obj/effect/landmark/start/assistant,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/machinery/light/dim/directional/west,
+/turf/open/floor/wood,
+/area/station/service/chapel/monastery)
"oLs" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -46205,6 +46226,20 @@
"oLH" = (
/turf/closed/wall/r_wall/rust,
/area/station/maintenance/starboard)
+"oLN" = (
+/obj/machinery/modular_computer/preset/cargochat/engineering{
+ dir = 8
+ },
+/obj/machinery/light_switch/directional/east,
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"oLQ" = (
/obj/effect/turf_decal/bot,
/obj/machinery/newscaster/directional/north,
@@ -46222,6 +46257,18 @@
/obj/structure/sign/warning/electric_shock,
/turf/closed/wall/r_wall/rust,
/area/station/engineering/supermatter/room)
+"oMm" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"oMq" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/purple/anticorner/contrasted,
@@ -46262,6 +46309,29 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/medical/coldroom)
+"oMP" = (
+/obj/machinery/camera/directional/east{
+ c_tag = "Atmospherics Distribution Loop";
+ name = "atmospherics camera";
+ network = list("ss13","engine")
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 9
+ },
+/obj/structure/sign/warning/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/pumproom)
+"oMS" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 4
+ },
+/obj/machinery/airalarm/directional/east,
+/obj/machinery/light/dim/directional/east,
+/turf/open/floor/iron/white,
+/area/station/security/prison/mess)
"oMU" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt,
@@ -46312,10 +46382,6 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/primary/aft)
-"oNr" = (
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"oNH" = (
/obj/structure/disposalpipe/junction/flip,
/turf/open/floor/iron,
@@ -46331,18 +46397,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/cargo/office)
-"oOo" = (
-/obj/structure/chair/office{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/dark,
-/area/station/hallway/primary/aft)
-"oOW" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"oPh" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/holopad,
@@ -46373,30 +46427,31 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/wood,
/area/station/command/heads_quarters/captain)
-"oPN" = (
-/obj/item/kirbyplants/organic/plant21,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
+"oPD" = (
+/obj/structure/table,
+/obj/item/storage/toolbox/mechanical{
+ pixel_x = -4;
+ pixel_y = 4
},
-/turf/open/floor/iron/dark/corner{
- dir = 8
+/obj/item/storage/toolbox/mechanical,
+/obj/item/flashlight,
+/obj/item/flashlight,
+/obj/item/radio/intercom/directional/south,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
},
-/area/station/hallway/primary/central/fore)
-"oPO" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 4
+/obj/structure/sign/warning/fire/directional/east,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
},
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
-"oPS" = (
-/obj/item/radio/intercom/directional/south,
-/obj/effect/turf_decal/tile/green/half/contrasted,
-/obj/machinery/light/cold/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/virology)
+/area/station/commons/storage/primary)
+"oPK" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"oPX" = (
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{
dir = 8
@@ -46410,21 +46465,14 @@
"oQg" = (
/turf/closed/wall/r_wall,
/area/station/science/auxlab)
-"oQh" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/status_display/evac/directional/east,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark/corner{
- dir = 4
- },
-/area/station/hallway/primary/port)
"oQk" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
+/obj/item/chair/stool{
+ pixel_y = 2;
+ pixel_x = 2;
+ dir = 2
+ },
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
"oQl" = (
@@ -46432,17 +46480,26 @@
/obj/effect/turf_decal/box,
/turf/open/floor/engine/xenobio,
/area/station/science/xenobiology)
-"oQm" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter/room)
"oQv" = (
/obj/structure/bookcase/random,
/obj/structure/cable,
/turf/open/floor/iron/grimy,
/area/station/security/prison)
+"oQw" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/camera/directional/east{
+ c_tag = "Brig Warden's Office"
+ },
+/obj/machinery/airalarm/directional/east,
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/light/dim/directional/east,
+/turf/open/floor/iron,
+/area/station/security/brig)
"oQz" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -46463,6 +46520,21 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"oQJ" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/light/small/directional/south,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/turf_decal/bot,
+/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/solars/port/aft)
"oQL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -46487,6 +46559,16 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/sorting)
+"oRB" = (
+/obj/effect/decal/cleanable/dirt,
+/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/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"oRI" = (
/obj/effect/spawner/random/structure/table,
/obj/item/flashlight/flare/candle{
@@ -46516,26 +46598,20 @@
},
/turf/open/floor/iron,
/area/station/security/office)
-"oRX" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/structure/table,
-/obj/item/surgery_tray/full,
-/obj/machinery/light/cold/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/medical/surgery/theatre)
-"oSd" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/blue{
- dir = 8
+"oSa" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/gulag_item_reclaimer{
+ dir = 8;
+ pixel_x = 30
},
-/obj/structure/disposalpipe/segment{
- dir = 5
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
+/obj/effect/turf_decal/tile/red/anticorner/contrasted,
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/security/processing)
"oSf" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 8
@@ -46545,13 +46621,23 @@
/obj/effect/turf_decal/tile/purple/half/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance/freezerchamber)
-"oSq" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/tile/yellow{
+"oSn" = (
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/machinery/door/window/left/directional/east{
+ name = "Inner Pipe Access";
+ req_access = list("atmospherics")
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 8
},
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
+/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"oSs" = (
/obj/structure/flora/grass/jungle/a/style_random,
/obj/effect/turf_decal/stripes/line{
@@ -46611,10 +46697,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"oSW" = (
-/obj/effect/turf_decal/tile/yellow,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"oSX" = (
/obj/item/paper_bin{
pixel_x = -4;
@@ -46647,14 +46729,51 @@
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
+"oTu" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/machinery/light/cold/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/chemistry)
"oTw" = (
/obj/machinery/telecomms/processor/preset_one,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/station/tcommsat/server)
+"oTC" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/service/chapel)
"oTD" = (
/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
/turf/closed/wall/r_wall,
/area/station/science/ordnance/burnchamber)
+"oTN" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/closet/wardrobe/mixed,
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/commons/locker)
+"oTO" = (
+/obj/effect/landmark/start/atmospheric_technician,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/machinery/atmospherics/pipe/smart/simple/brown/hidden{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/storage)
"oTP" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/gibs/old,
@@ -46664,22 +46783,18 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
-"oTQ" = (
+"oTS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/firealarm/directional/west,
+/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/spawner/xmastree/rdrod,
-/obj/effect/turf_decal/tile/purple{
dir = 1
},
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/lobby)
+/obj/structure/cable,
+/obj/structure/sign/poster/contraband/random/directional/east,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"oTU" = (
/obj/effect/turf_decal/box/corners,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -46710,16 +46825,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"oUj" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"oUz" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -46757,6 +46862,17 @@
},
/turf/open/floor/iron,
/area/station/command/teleporter)
+"oUO" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"oUS" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/storage/bag/trash,
@@ -46786,6 +46902,18 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"oVO" = (
+/obj/structure/closet/secure_closet/chemical,
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/structure/extinguisher_cabinet/directional/west,
+/obj/item/storage/box/pillbottles,
+/obj/item/storage/box/pillbottles,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/pharmacy)
"oVP" = (
/obj/structure/flora/bush/sparsegrass/style_random,
/obj/structure/flora/rock,
@@ -46820,6 +46948,16 @@
},
/turf/open/floor/plating,
/area/station/science/genetics)
+"oWp" = (
+/obj/structure/table/wood,
+/obj/machinery/computer/records/medical/laptop{
+ dir = 4;
+ pixel_y = 3;
+ pixel_x = 3
+ },
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/psychology)
"oWx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -46829,11 +46967,32 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"oWE" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/pumproom)
"oWI" = (
/obj/structure/table/reinforced,
/obj/structure/reagent_dispensers/servingdish,
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
+"oWO" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"oWQ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -46853,6 +47012,18 @@
/obj/machinery/shieldgen,
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
+"oWZ" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth_half,
+/area/station/engineering/supermatter/room)
"oXa" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/decal/cleanable/dirt,
@@ -46886,20 +47057,28 @@
/obj/machinery/duct,
/turf/open/floor/iron/dark,
/area/station/security/brig)
-"oXh" = (
-/obj/structure/cable,
-/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/white,
-/area/station/security/prison/mess)
-"oXt" = (
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/caution/stand_clear,
-/obj/machinery/newscaster/directional/south,
-/obj/machinery/light/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/security/brig)
+"oXn" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/shower/directional/east{
+ name = "emergency shower"
+ },
+/obj/structure/extinguisher_cabinet/directional/west,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 8
+ },
+/obj/structure/fluff/shower_drain,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/pharmacy)
+"oXr" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"oXx" = (
/obj/machinery/door/airlock/maintenance,
/obj/structure/disposalpipe/segment,
@@ -46940,6 +47119,21 @@
/obj/machinery/duct,
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation)
+"oYg" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/plating,
+/area/station/security/execution/education)
"oYi" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -46955,40 +47149,12 @@
dir = 1
},
/area/station/hallway/primary/central)
-"oYp" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/security/processing)
"oYx" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/old,
/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"oYE" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
- },
-/obj/machinery/portable_atmospherics/canister/anesthetic_mix,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/airalarm/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/medical/cryo)
-"oYK" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/wood,
-/area/station/commons/vacant_room/commissary)
-"oYN" = (
-/obj/machinery/air_sensor/nitrous_tank,
-/turf/open/floor/engine/n2o,
-/area/station/engineering/atmos)
"oYV" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small/directional/west,
@@ -47010,6 +47176,31 @@
dir = 1
},
/area/station/service/chapel)
+"oZj" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/brown/hidden{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
+"oZo" = (
+/obj/machinery/medical_kiosk{
+ pixel_y = 4
+ },
+/obj/effect/turf_decal/box,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/lobby)
"oZE" = (
/turf/closed/wall/r_wall,
/area/station/security/processing)
@@ -47032,6 +47223,16 @@
/obj/structure/secure_safe/caps_spare,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
+"oZU" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 10
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"oZX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -47077,28 +47278,17 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"pal" = (
-/obj/machinery/door/airlock/external{
- name = "Atmospherics External Airlock"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/pumproom)
+"pau" = (
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"paM" = (
/obj/structure/cable,
/turf/open/floor/wood,
/area/station/maintenance/port/greater)
-"paN" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/item/radio/intercom/directional/north,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"paU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -47122,24 +47312,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/office)
-"pbs" = (
-/obj/structure/sign/warning/vacuum/external,
-/turf/closed/wall/rust,
-/area/station/maintenance/disposal)
-"pbt" = (
-/obj/structure/table,
-/obj/item/stack/sheet/iron/fifty,
-/obj/item/stack/sheet/iron/fifty,
-/obj/item/construction/plumbing,
-/obj/item/construction/plumbing,
-/obj/machinery/light_switch/directional/north,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/cold/directional/north,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/chemistry)
"pbx" = (
/obj/machinery/computer/libraryconsole/bookmanagement,
/obj/structure/table,
@@ -47147,13 +47319,32 @@
/turf/open/floor/iron/grimy,
/area/station/security/prison)
"pbL" = (
-/obj/machinery/duct,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"pbN" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"pbP" = (
+/obj/structure/railing/corner{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/monastery)
"pbY" = (
/obj/structure/flora/rock/pile/style_random,
/turf/open/misc/asteroid,
/area/station/hallway/primary/fore)
+"pca" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"pcc" = (
/obj/effect/turf_decal/loading_area{
dir = 1
@@ -47175,6 +47366,35 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/solars/port/fore)
+"pct" = (
+/obj/structure/table,
+/obj/item/clothing/shoes/sneakers/orange{
+ pixel_x = -6;
+ pixel_y = 10
+ },
+/obj/item/clothing/shoes/sneakers/orange{
+ pixel_x = -6;
+ pixel_y = -2
+ },
+/obj/item/clothing/shoes/sneakers/orange{
+ pixel_x = -6;
+ pixel_y = 4
+ },
+/obj/item/clothing/shoes/sneakers/orange{
+ pixel_x = -6;
+ pixel_y = -8
+ },
+/obj/item/clothing/under/rank/prisoner{
+ pixel_x = 8;
+ pixel_y = 5
+ },
+/obj/machinery/camera/directional/north{
+ c_tag = "Prison Visitation";
+ network = list("ss13","prison")
+ },
+/obj/effect/turf_decal/tile/red/half/contrasted,
+/turf/open/floor/iron,
+/area/station/security/execution/transfer)
"pcC" = (
/obj/effect/turf_decal/tile/red/half/contrasted,
/obj/machinery/vending/coffee,
@@ -47202,6 +47422,21 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"pcP" = (
+/obj/machinery/camera/directional/west{
+ c_tag = "Atmospherics Tank - Aux";
+ name = "atmospherics camera";
+ network = list("ss13","engine")
+ },
+/turf/open/floor/engine/vacuum,
+/area/station/engineering/atmos)
+"pcW" = (
+/obj/item/radio/intercom/directional/north,
+/obj/structure/rack,
+/obj/effect/turf_decal/bot,
+/obj/item/pipe_dispenser,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"pdg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -47249,6 +47484,21 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/cryo)
+"pdK" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/button/door/directional/south{
+ id = "custodialwagon";
+ name = "Custodial Bay Toggle";
+ req_access = list("janitor")
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/mob/living/basic/bot/cleanbot/autopatrol,
+/obj/effect/turf_decal/tile/purple/half/contrasted,
+/obj/effect/turf_decal/tile/blue,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"pdR" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -47277,16 +47527,6 @@
},
/turf/open/floor/engine,
/area/station/ai/satellite/foyer)
-"pet" = (
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"peC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -47300,6 +47540,13 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"peE" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/tile/brown/anticorner/contrasted,
+/obj/effect/turf_decal/tile/yellow,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"peF" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
@@ -47381,20 +47628,19 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/bridge)
-"pgq" = (
-/obj/machinery/door/poddoor/preopen{
- id = "brigfrontdoor";
- name = "Front Security Blast Door"
+"pgn" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
},
-/obj/structure/extinguisher_cabinet/directional/north,
-/obj/effect/turf_decal/caution/stand_clear,
-/turf/open/floor/iron/dark,
-/area/station/security/brig)
-"pgA" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/portable_atmospherics/canister/oxygen,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
"pgG" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/stripes/corner{
@@ -47417,12 +47663,11 @@
/obj/structure/sign/poster/contraband/red_rum,
/turf/closed/wall/rust,
/area/station/maintenance/port/greater)
-"phF" = (
-/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/plating,
-/area/station/maintenance/disposal/incinerator)
+"pht" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/holopad,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"phH" = (
/obj/structure/bodycontainer/morgue,
/obj/effect/turf_decal/bot_white,
@@ -47430,6 +47675,15 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron/dark,
/area/station/medical/morgue)
+"phJ" = (
+/obj/machinery/flasher/portable,
+/obj/effect/turf_decal/box,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/machinery/light/small/red/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/security/armory)
"phK" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -47450,6 +47704,20 @@
},
/turf/open/misc/asteroid,
/area/space/nearstation)
+"phS" = (
+/obj/machinery/airalarm/directional/north,
+/obj/machinery/camera/directional/north{
+ c_tag = "Engineering Desk";
+ name = "engineering camera";
+ network = list("ss13","engine")
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/rnd/production/protolathe/department/engineering,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/dark,
+/area/station/engineering/lobby)
"phY" = (
/obj/effect/turf_decal/delivery,
/obj/effect/turf_decal/tile/yellow,
@@ -47493,13 +47761,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"pim" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/item/radio/intercom/directional/north,
-/obj/machinery/light/warm/dim/directional/north,
-/turf/open/floor/iron,
-/area/station/security/prison)
"pio" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/dirt,
@@ -47526,10 +47787,6 @@
/obj/effect/turf_decal/tile/red/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/service/bar/atrium)
-"piD" = (
-/obj/structure/sign/warning/electric_shock,
-/turf/closed/wall,
-/area/station/engineering/supermatter/room)
"piH" = (
/obj/machinery/light/small/directional/east,
/obj/structure/bed,
@@ -47566,7 +47823,6 @@
dir = 4
},
/obj/machinery/light/small/directional/north,
-/obj/structure/sign/warning/vacuum/directional/west,
/obj/effect/decal/cleanable/cobweb,
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/poster/contraband/random/directional/north,
@@ -47603,19 +47859,18 @@
},
/turf/open/floor/iron/dark,
/area/station/command/teleporter)
-"pjx" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/corner{
+"pjw" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{
dir = 1
},
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/blue{
- dir = 8
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{
+ dir = 5
},
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{
+ dir = 1
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"pjC" = (
/obj/machinery/status_display/ai/directional/south,
/obj/effect/turf_decal/stripes/corner{
@@ -47642,6 +47897,17 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"pjJ" = (
+/obj/structure/bodycontainer/morgue{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot_white,
+/obj/structure/sign/poster/contraband/random/directional/east,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"pjV" = (
/obj/structure/table/wood,
/obj/machinery/newscaster/directional/east,
@@ -47672,15 +47938,15 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation)
-"pkC" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
- dir = 4
+"pkf" = (
+/obj/structure/disposalpipe/segment{
+ dir = 6
},
-/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible,
-/obj/effect/turf_decal/tile/purple/fourcorners,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/atmos)
+/area/station/medical/medbay/central)
"pkE" = (
/obj/effect/turf_decal/siding/white{
dir = 8
@@ -47729,6 +47995,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"plg" = (
+/obj/machinery/door/airlock/maintenance,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/unres/delayed{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental,
+/obj/effect/mapping_helpers/airlock/access/any/service/janitor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/starboard/aft)
"plj" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -47879,6 +48156,14 @@
},
/turf/open/floor/plating/airless,
/area/space/nearstation)
+"pmP" = (
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{
+ dir = 1
+ },
+/obj/effect/spawner/structure/window/reinforced/plasma,
+/turf/open/floor/plating,
+/area/station/maintenance/disposal/incinerator)
"pnl" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -47979,12 +48264,43 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/fore)
+"pof" = (
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
+/obj/machinery/light/warm/directional/north,
+/obj/machinery/status_display/evac/directional/north,
+/obj/structure/rack,
+/obj/item/clothing/gloves/color/black,
+/obj/item/clothing/gloves/color/black,
+/obj/item/clothing/gloves/color/black,
+/obj/item/clothing/suit/hazardvest,
+/obj/item/clothing/suit/hazardvest,
+/obj/item/clothing/suit/hazardvest,
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/storage)
"pog" = (
/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/security/courtroom)
+"pok" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
+ dir = 1
+ },
+/obj/machinery/iv_drip,
+/obj/machinery/airalarm/directional/north,
+/obj/effect/turf_decal/loading_area{
+ dir = 8
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/treatment_center)
"pon" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -48003,14 +48319,9 @@
},
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/spawner/random/trash/grime,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"poC" = (
-/obj/structure/filingcabinet/chestdrawer,
-/obj/effect/decal/cleanable/cobweb/cobweb2,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/security/courtroom)
"poK" = (
/obj/machinery/suit_storage_unit/ce,
/obj/effect/turf_decal/delivery,
@@ -48053,6 +48364,25 @@
/obj/effect/spawner/random/trash/food_packaging,
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
+"ppo" = (
+/obj/structure/table/wood,
+/obj/item/flashlight/lamp/green{
+ pixel_x = -5;
+ pixel_y = 7
+ },
+/obj/item/pen{
+ pixel_x = 8;
+ pixel_y = 5
+ },
+/obj/item/pen/red{
+ pixel_x = 5;
+ pixel_y = 1
+ },
+/obj/item/toy/figure/detective,
+/obj/item/radio/intercom/directional/east,
+/obj/machinery/light/warm/directional/east,
+/turf/open/floor/carpet/green,
+/area/station/security/detectives_office)
"ppB" = (
/obj/structure/table,
/obj/item/storage/box/syringes{
@@ -48099,14 +48429,6 @@
/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/iron,
/area/station/science/robotics/mechbay)
-"pqp" = (
-/obj/effect/turf_decal/box/corners{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"pqu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -48150,33 +48472,65 @@
"pqD" = (
/turf/closed/wall,
/area/station/maintenance/port/lesser)
-"pqH" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/machinery/light/directional/south,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
+"pqL" = (
+/obj/machinery/door/poddoor/shutters/radiation/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters";
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/caution/stand_clear{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/textured_large,
+/area/station/engineering/supermatter/engine)
+"pqM" = (
+/obj/structure/table,
+/obj/item/folder{
+ pixel_x = -4
+ },
+/obj/item/pai_card,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/commons/fitness/recreation)
"pqS" = (
/turf/open/floor/carpet,
/area/station/medical/psychology)
-"pqU" = (
-/obj/effect/landmark/secequipment,
+"pqV" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/structure/filingcabinet/employment,
+/obj/item/radio/intercom/directional/south,
+/obj/machinery/button/door/directional/east{
+ id = "lawyer_shutters";
+ name = "Law Office Shutters Toggle";
+ req_access = list("lawyer")
+ },
/obj/effect/turf_decal/bot,
-/obj/machinery/status_display/evac/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/dark,
-/area/station/security/office)
-"prc" = (
-/obj/structure/table,
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/effect/spawner/random/aimodule/harmful,
-/obj/machinery/door/window/brigdoor/left/directional/south{
- name = "High-Risk Modules";
- req_access = list("captain")
+/area/station/service/lawoffice)
+"pre" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
},
-/turf/open/floor/circuit/red,
-/area/station/ai/upload/chamber)
+/turf/open/floor/iron/dark,
+/area/station/engineering/main)
+"prf" = (
+/obj/machinery/atmospherics/pipe/smart/simple/brown/visible/layer2{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/disposal/incinerator)
"pri" = (
/obj/structure/window/spawner/directional/north,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -48212,26 +48566,6 @@
},
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
-"prC" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/siding/yellow{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/command/heads_quarters/ce)
"prK" = (
/obj/machinery/disposal/bin/tagger,
/obj/machinery/firealarm/directional/south,
@@ -48313,6 +48647,12 @@
/obj/item/poster/random_contraband,
/turf/open/floor/plating/airless,
/area/space/nearstation)
+"pud" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrous_output{
+ dir = 4
+ },
+/turf/open/floor/engine/n2o,
+/area/station/engineering/atmos)
"puy" = (
/obj/structure/flora/grass/jungle/b/style_random,
/obj/structure/flora/bush/grassy/style_random,
@@ -48345,13 +48685,6 @@
},
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
-"puL" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/tile/red/half/contrasted,
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/security/processing)
"puS" = (
/obj/effect/turf_decal/delivery,
/obj/machinery/power/emitter,
@@ -48379,13 +48712,6 @@
},
/turf/open/floor/iron,
/area/station/service/kitchen)
-"pvi" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/portable_atmospherics/canister/air,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"pvs" = (
/obj/machinery/door/airlock/maintenance{
name = "Security Maintenance"
@@ -48393,16 +48719,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/detective,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/lesser)
-"pvu" = (
-/obj/machinery/vending/wardrobe/atmos_wardrobe,
-/obj/effect/turf_decal/bot,
-/obj/machinery/newscaster/directional/south,
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"pvA" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -48452,6 +48768,14 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/lobby)
+"pws" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 1;
+ name = "Mix to Filter"
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"pwx" = (
/obj/machinery/vending/autodrobe,
/obj/effect/turf_decal/bot,
@@ -48496,13 +48820,6 @@
"pxe" = (
/turf/closed/wall/mineral/plastitanium,
/area/station/maintenance/port/aft)
-"pxl" = (
-/obj/effect/decal/cleanable/blood/old,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/burnt_floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/entry)
"pxE" = (
/obj/structure/sign/warning/electric_shock,
/turf/closed/wall/r_wall,
@@ -48513,6 +48830,25 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"pxI" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible,
+/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"pxN" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -48588,13 +48924,14 @@
/obj/machinery/telecomms/bus/preset_one,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/station/tcommsat/server)
-"pzW" = (
-/obj/structure/cable,
-/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/service/chapel/dock)
+"pzT" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/light/directional/south,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"pAr" = (
/obj/machinery/door/airlock/external/glass{
name = "Supply Door Airlock"
@@ -48643,15 +48980,26 @@
"pBd" = (
/turf/closed/wall/rust,
/area/station/medical/paramedic)
-"pBh" = (
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"pBi" = (
/obj/docking_port/stationary/mining_home/kilo{
dir = 4
},
/turf/open/space/basic,
/area/space)
+"pBC" = (
+/obj/item/radio/intercom/directional/west,
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/service/hydroponics)
+"pBO" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
+/turf/closed/wall/r_wall,
+/area/station/engineering/supermatter/engine)
"pBR" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -48664,33 +49012,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/service/kitchen/coldroom)
-"pBV" = (
-/obj/effect/decal/cleanable/blood/old,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/machinery/door_buttons/airlock_controller{
- idExterior = "virology_airlock_exterior";
- idInterior = "virology_airlock_interior";
- idSelf = "virology_airlock_control";
- name = "Virology Access Console";
- pixel_x = 24;
- pixel_y = -24;
- req_access = list("virology")
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/machinery/firealarm/directional/west,
-/obj/effect/turf_decal/tile/green/anticorner/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/virology)
"pCa" = (
/obj/machinery/door/poddoor/preopen{
id = "xeno3";
@@ -48718,35 +49039,16 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"pCp" = (
-/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = -5
- },
-/obj/item/pen{
- pixel_x = -5
- },
-/obj/machinery/flasher/directional/east{
- id = "hopflash";
- name = "Crowd Pacifier"
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/status_display/evac/directional/north,
-/obj/structure/desk_bell{
- pixel_x = 7;
- pixel_y = 10
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/hop)
"pCu" = (
/turf/open/floor/plating,
/area/station/hallway/primary/fore)
+"pCE" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/carpet/royalblue,
+/area/station/service/chapel/office)
"pCF" = (
/obj/structure/door_assembly/door_assembly_ext{
anchored = 1
@@ -48794,6 +49096,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"pDn" = (
+/obj/effect/turf_decal/stripes/end{
+ dir = 4
+ },
+/obj/item/radio/intercom/directional/east,
+/obj/machinery/status_display/ai/directional/south,
+/turf/open/floor/engine,
+/area/station/tcommsat/computer)
+"pDr" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/portable_atmospherics/scrubber/huge,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"pDs" = (
/obj/effect/turf_decal/stripes/white/corner{
dir = 4
@@ -48862,12 +49177,6 @@
/obj/effect/decal/cleanable/generic,
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
-"pEp" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/entry)
"pEt" = (
/obj/machinery/door/airlock/maintenance,
/obj/structure/cable,
@@ -48895,16 +49204,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
-"pED" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"pEL" = (
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/dirt,
@@ -48957,6 +49256,13 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/sorting)
+"pFL" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/station/ai/upload/chamber)
"pFS" = (
/obj/machinery/disposal/bin/tagger,
/obj/effect/turf_decal/bot,
@@ -48990,12 +49296,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/office)
-"pGc" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/burnt_floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"pGe" = (
/obj/item/kirbyplants,
/obj/effect/turf_decal/tile/neutral{
@@ -49105,12 +49405,6 @@
},
/turf/open/floor/iron,
/area/station/security/courtroom)
-"pIf" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"pIl" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass{
@@ -49121,13 +49415,6 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/exit/departure_lounge)
-"pIm" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/airalarm/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/dock)
"pID" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -49195,13 +49482,6 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation)
-"pJn" = (
-/obj/structure/railing/corner{
- dir = 8
- },
-/obj/item/kirbyplants/random,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/monastery)
"pJr" = (
/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
dir = 1
@@ -49226,23 +49506,42 @@
},
/turf/open/floor/iron/dark/corner,
/area/station/hallway/primary/port)
-"pJJ" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 5
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 9
+"pJI" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "packagereturn";
+ name = "crate return belt"
},
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/cargo/sorting)
"pJM" = (
/obj/structure/table/reinforced,
/obj/structure/window/reinforced/spawner/directional/west,
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
+"pKe" = (
+/obj/item/kirbyplants/organic/plant2{
+ pixel_y = 3
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/firealarm/directional/north,
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/security/processing)
"pKf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -49253,6 +49552,21 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/iron/dark,
/area/station/medical/storage)
+"pKk" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"pKm" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -49306,11 +49620,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/security/prison)
-"pLl" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"pLs" = (
/turf/closed/wall/r_wall,
/area/station/engineering/atmos/pumproom)
@@ -49348,26 +49657,11 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"pLy" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/effect/landmark/start/station_engineer,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"pLB" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark,
/area/station/service/kitchen)
-"pLC" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/radio/intercom/directional/north,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"pLO" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
@@ -49390,12 +49684,43 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron/dark,
/area/station/service/chapel)
-"pMz" = (
+"pMD" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/ai_law_rack/base/core,
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/duct,
+/turf/open/floor/engine,
+/area/station/engineering/main)
+"pMI" = (
+/obj/structure/closet/crate/freezer,
+/obj/item/reagent_containers/blood,
+/obj/item/reagent_containers/blood{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/reagent_containers/blood/a_minus,
+/obj/item/reagent_containers/blood/b_minus{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/item/reagent_containers/blood/b_plus{
+ pixel_x = 1;
+ pixel_y = 2
+ },
+/obj/item/reagent_containers/blood/o_minus,
+/obj/item/reagent_containers/blood/o_plus{
+ pixel_x = -2;
+ pixel_y = -1
+ },
+/obj/item/reagent_containers/blood/random,
+/obj/item/reagent_containers/blood/random,
+/obj/item/reagent_containers/blood/random,
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
-/area/station/ai/upload/chamber)
+/area/station/medical/virology)
"pMS" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -49419,37 +49744,30 @@
/obj/effect/turf_decal/tile/red/half/contrasted,
/turf/open/floor/iron,
/area/station/security/office)
-"pNg" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible,
-/turf/closed/wall,
-/area/station/maintenance/disposal/incinerator)
-"pNh" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
+"pNq" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
},
-/obj/machinery/light/floor,
-/turf/open/floor/iron/dark/corner{
+/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
dir = 1
},
-/area/station/hallway/primary/fore)
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
+"pNy" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"pNA" = (
/obj/effect/turf_decal/siding/wood/corner,
/obj/machinery/newscaster/directional/south,
/turf/open/floor/iron/grimy,
/area/station/service/chapel/office)
-"pNG" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark,
-/area/station/command/bridge)
"pNL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -49476,16 +49794,6 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/miningoffice)
-"pNZ" = (
-/obj/machinery/portable_atmospherics/canister/air,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"pOb" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
@@ -49533,6 +49841,24 @@
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
+"pOA" = (
+/obj/effect/turf_decal/siding/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/exit/departure_lounge)
+"pOC" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/security/warden)
"pOI" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/effect/turf_decal/stripes/line{
@@ -49574,15 +49900,14 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"pOZ" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/table,
-/obj/item/storage/box,
-/obj/item/radio/off{
- pixel_x = 6
- },
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
+"pPc" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"pPe" = (
/obj/effect/turf_decal/loading_area,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -49605,35 +49930,11 @@
/obj/item/book/bible,
/turf/open/floor/carpet/red,
/area/station/service/chapel)
-"pPC" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"pPD" = (
/obj/structure/flora/bush/leavy/style_random,
/obj/structure/flora/bush/sunny/style_random,
/turf/open/floor/grass,
/area/station/service/hydroponics/garden)
-"pPM" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron/showroomfloor,
-/area/station/command/heads_quarters/rd)
"pPZ" = (
/obj/machinery/door/airlock/security/glass{
name = "Hazard Closet"
@@ -49680,6 +49981,18 @@
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"pQF" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/components/binary/pump/on/layer4{
+ dir = 4;
+ name = "Airlock Pump";
+ target_pressure = 300;
+ hide = 1
+ },
+/turf/open/floor/plating,
+/area/station/hallway/secondary/entry)
"pQM" = (
/obj/structure/plasticflaps,
/obj/machinery/conveyor{
@@ -49689,23 +50002,25 @@
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
+"pQS" = (
+/turf/closed/wall/rust,
+/area/station/engineering/atmos/storage)
"pQT" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/blood/old,
/obj/structure/cable,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
-"pRc" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
+"pRd" = (
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/simple/violet/visible{
+ dir = 6
},
-/obj/machinery/light/directional/north,
/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
+/area/station/engineering/atmos)
"pRf" = (
/obj/structure/table,
/obj/item/folder/white,
@@ -49756,6 +50071,15 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"pRx" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"pRF" = (
/obj/docking_port/stationary/random{
dir = 4;
@@ -49764,31 +50088,32 @@
},
/turf/open/space/basic,
/area/space/nearstation)
-"pRL" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/disposal/bin/tagger,
-/obj/structure/extinguisher_cabinet/directional/north,
+"pRM" = (
/obj/structure/disposalpipe/trunk{
- dir = 8
+ dir = 4
},
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
+/obj/machinery/disposal/bin/tagger,
+/obj/effect/turf_decal/bot,
+/obj/machinery/firealarm/directional/west,
+/obj/machinery/status_display/supply{
+ pixel_y = -32
},
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
-"pRO" = (
-/obj/machinery/door/poddoor/preopen{
- id = "atmos";
- name = "Atmospherics Blast Door"
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 4
},
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/engineering/atmos/storage/gas)
+/turf/open/floor/iron/dark,
+/area/station/cargo/storage)
"pRP" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/aft)
+"pRW" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
+ dir = 4
+ },
+/turf/closed/wall/rust,
+/area/station/engineering/atmos)
"pSe" = (
/obj/effect/turf_decal/stripes/corner,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -49802,21 +50127,7 @@
/area/station/science/research)
"pSh" = (
/obj/effect/turf_decal/delivery,
-/obj/structure/table,
-/obj/item/storage/box/lights/mixed,
-/obj/item/stack/rods/twentyfive,
-/obj/item/wrench,
-/obj/item/hand_labeler,
-/obj/item/crowbar,
-/obj/item/electronics/airlock{
- pixel_x = -6;
- pixel_y = 6
- },
-/obj/item/stack/package_wrap,
-/obj/item/electronics/airlock{
- pixel_x = -6;
- pixel_y = 6
- },
+/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/iron/dark,
/area/station/engineering/main)
"pSj" = (
@@ -49848,24 +50159,22 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"pSE" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 4;
- name = "Atmos to Loop"
+"pSG" = (
+/turf/open/floor/iron/showroomfloor,
+/area/station/security/office)
+"pSI" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
},
-/obj/effect/turf_decal/stripes/corner{
+/obj/effect/turf_decal/tile/blue{
dir = 8
},
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
+ dir = 4
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
-"pSG" = (
-/turf/open/floor/iron/showroomfloor,
-/area/station/security/office)
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"pSN" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/mapping_helpers/burnt_floor,
@@ -49875,47 +50184,36 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/solars/port/fore)
-"pSV" = (
-/obj/machinery/medical_kiosk{
- pixel_y = 4
- },
-/obj/effect/turf_decal/box,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/lobby)
-"pSW" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/components/binary/valve/digital/on{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
-"pTd" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+"pTr" = (
+/obj/effect/turf_decal/stripes/corner{
dir = 4
},
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/security/execution/education)
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/table,
+/obj/item/analyzer,
+/obj/item/book/manual/wiki/atmospherics,
+/obj/item/clothing/mask/gas,
+/turf/open/floor/iron,
+/area/station/maintenance/disposal/incinerator)
"pTC" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
/area/station/security/prison)
-"pTL" = (
-/obj/effect/turf_decal/bot/left,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
+"pTN" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/status_display/evac/directional/east,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/hallway/primary/port)
"pTR" = (
/obj/effect/landmark/event_spawn,
/obj/structure/disposalpipe/segment{
@@ -49925,18 +50223,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"pTU" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/auxlab)
"pUb" = (
/obj/structure/table/wood,
/obj/effect/turf_decal/siding/wood/end{
@@ -49967,6 +50253,11 @@
},
/turf/open/floor/iron,
/area/station/security/courtroom)
+"pUw" = (
+/obj/structure/lattice,
+/obj/structure/sign/warning/fire/directional/east,
+/turf/open/space/basic,
+/area/space/nearstation)
"pUA" = (
/obj/structure/table/reinforced,
/obj/structure/disposalpipe/segment{
@@ -49983,6 +50274,17 @@
/obj/structure/cable,
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/hos)
+"pVb" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
+/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"pVd" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -49997,19 +50299,6 @@
"pVz" = (
/turf/closed/wall,
/area/station/maintenance/port/fore)
-"pVF" = (
-/obj/machinery/meter/monitored/waste_loop,
-/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/pumproom)
"pVP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -50035,6 +50324,17 @@
dir = 1
},
/area/station/hallway/primary/central)
+"pVR" = (
+/obj/machinery/door/airlock/external{
+ name = "Prison External Airlock"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/port/lesser)
"pVS" = (
/obj/structure/closet/secure_closet/freezer/kitchen,
/obj/item/reagent_containers/condiment/sugar,
@@ -50042,6 +50342,18 @@
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/service/kitchen/coldroom)
+"pVT" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"pWj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -50060,12 +50372,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"pWx" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/noticeboard/directional/east,
-/obj/machinery/computer/gateway_control,
-/turf/open/floor/iron/dark,
-/area/station/command/gateway)
"pWC" = (
/obj/effect/turf_decal/bot,
/obj/machinery/conveyor{
@@ -50140,6 +50446,24 @@
},
/turf/open/floor/iron,
/area/station/command/bridge)
+"pXA" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/railing/corner/end/flip{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"pXD" = (
+/obj/structure/spirit_board,
+/turf/open/floor/cult,
+/area/station/service/chapel/office)
"pXN" = (
/obj/structure/closet/secure_closet/personal/cabinet,
/obj/machinery/newscaster/directional/east,
@@ -50147,17 +50471,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/wood,
/area/station/commons/locker)
-"pXR" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/burnt_floor,
-/obj/machinery/atmospherics/components/binary/pump/on/layer4{
- dir = 2;
- name = "Airlock Pump";
- target_pressure = 300;
- hide = 1
- },
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"pXU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -50195,15 +50508,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/command/heads_quarters/cmo)
-"pZd" = (
-/obj/machinery/smartfridge/food,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 8;
- id = "kitchenshutters";
- name = "Kitchen Shutters"
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/service/kitchen)
"pZe" = (
/obj/effect/turf_decal/bot,
/obj/structure/rack,
@@ -50229,17 +50533,6 @@
/obj/structure/sign/departments/security,
/turf/closed/wall,
/area/station/hallway/secondary/exit/departure_lounge)
-"pZF" = (
-/obj/structure/reagent_dispensers/watertank,
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/ai/satellite/atmos)
"pZI" = (
/obj/machinery/modular_computer/preset/cargochat/security{
dir = 4
@@ -50275,7 +50568,6 @@
/obj/effect/turf_decal/stripes/line{
dir = 4
},
-/obj/machinery/duct,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
"qaF" = (
@@ -50302,6 +50594,13 @@
/obj/structure/sign/departments/medbay/alt,
/turf/closed/wall,
/area/station/medical/office)
+"qaS" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"qaZ" = (
/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{
dir = 1
@@ -50348,6 +50647,13 @@
/obj/effect/mapping_helpers/airlock/access/all/security/entrance,
/turf/open/floor/iron/dark,
/area/station/security/brig)
+"qby" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/funeral)
"qbA" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -50389,6 +50695,19 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"qbK" = (
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
+ },
+/obj/structure/mannequin/skeleton{
+ dir = 8
+ },
+/obj/item/radio/intercom/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"qbO" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -50434,12 +50753,6 @@
},
/turf/open/floor/iron,
/area/station/security/brig)
-"qca" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/red,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"qci" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -50454,6 +50767,19 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"qcw" = (
+/obj/machinery/modular_computer/preset/command{
+ dir = 4
+ },
+/obj/machinery/requests_console/directional/west{
+ department = "Head of Personnel's Desk";
+ name = "Head of Personnel's Requests Console"
+ },
+/obj/effect/mapping_helpers/requests_console/announcement,
+/obj/effect/mapping_helpers/requests_console/information,
+/obj/effect/mapping_helpers/requests_console/assistance,
+/turf/open/floor/carpet/blue,
+/area/station/command/heads_quarters/hop)
"qcI" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -50468,6 +50794,12 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"qcJ" = (
+/obj/effect/turf_decal/tile/red/half/contrasted,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"qdd" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/decal/cleanable/dirt,
@@ -50499,26 +50831,6 @@
/obj/machinery/door/firedoor,
/turf/open/floor/engine/xenobio,
/area/station/science/xenobiology)
-"qei" = (
-/obj/structure/table/wood/fancy,
-/obj/effect/turf_decal/siding/wideplating/dark/corner,
-/obj/item/food/grown/flower/poppy{
- pixel_x = -6;
- pixel_y = 6
- },
-/obj/item/food/grown/flower/poppy{
- pixel_x = 6;
- pixel_y = 6
- },
-/obj/item/food/grown/flower/poppy,
-/obj/machinery/airalarm/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
-"qel" = (
-/obj/machinery/atmospherics/components/tank/air,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/department/chapel/monastery)
"qew" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -50582,6 +50894,16 @@
},
/turf/open/floor/iron/dark,
/area/station/service/kitchen)
+"qeV" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/landmark/event_spawn,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"qeX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -50602,13 +50924,6 @@
"qfe" = (
/turf/closed/wall/r_wall/rust,
/area/space/nearstation)
-"qfg" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"qfq" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -50627,21 +50942,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"qfv" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 4
- },
-/obj/machinery/duct,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/pharmacy)
"qgu" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/maintenance,
@@ -50656,13 +50956,14 @@
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
"qgC" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
/obj/machinery/atmospherics/components/trinary/filter/atmos{
dir = 8
},
/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
/turf/open/floor/iron,
/area/station/engineering/atmos)
"qgE" = (
@@ -50726,6 +51027,18 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark,
/area/station/commons/storage/art)
+"qhD" = (
+/obj/machinery/computer/order_console/cook{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot,
+/obj/machinery/newscaster/directional/east,
+/obj/machinery/camera/directional/east{
+ c_tag = "Kitchen Coldroom";
+ name = "kitchen camera"
+ },
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/service/kitchen/coldroom)
"qhH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -50735,6 +51048,23 @@
/obj/effect/mapping_helpers/airlock/access/all/science/rd,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
+"qhO" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/box/corners{
+ dir = 1
+ },
+/obj/effect/turf_decal/box/corners{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/maintenance/disposal/incinerator)
"qhT" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron/showroomfloor,
@@ -50770,6 +51100,15 @@
/obj/structure/cable,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/paramedic)
+"qiA" = (
+/obj/structure/table,
+/obj/machinery/firealarm/directional/west,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/ai_module/law/supplied/freeform,
+/obj/item/ai_module/law/supplied/freeform,
+/obj/item/ai_module/law/supplied/freeform,
+/turf/open/floor/iron/dark,
+/area/station/ai/upload/chamber)
"qiB" = (
/obj/effect/turf_decal/stripes/corner,
/obj/item/kirbyplants/random,
@@ -50778,6 +51117,18 @@
},
/turf/open/floor/iron/dark/corner,
/area/station/hallway/primary/starboard)
+"qiH" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/duct,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/storage)
"qiM" = (
/obj/machinery/door/airlock/maintenance,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -50788,13 +51139,25 @@
/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/lesser)
-"qiT" = (
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
+"qjk" = (
+/obj/item/storage/box/chemimp{
+ pixel_x = 6;
+ pixel_y = 6
+ },
+/obj/item/storage/box/trackimp{
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/structure/table,
+/obj/structure/reagent_dispensers/wall/peppertank/directional/south,
+/obj/item/storage/box/firingpins,
+/obj/item/storage/box/firingpins,
+/obj/item/storage/lockbox/loyalty,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
},
/turf/open/floor/iron/dark,
-/area/station/command/bridge)
+/area/station/security/armory)
"qjq" = (
/obj/structure/closet/secure_closet/security,
/obj/effect/turf_decal/delivery,
@@ -50813,12 +51176,6 @@
/obj/effect/spawner/random/structure/girder,
/turf/open/floor/plating/rust,
/area/station/maintenance/department/crew_quarters/bar)
-"qjv" = (
-/obj/effect/decal/cleanable/ash,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"qjK" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
@@ -50829,6 +51186,17 @@
"qjM" = (
/turf/closed/wall/r_wall,
/area/station/medical/paramedic)
+"qjO" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"qkf" = (
/obj/structure/sign/warning/docking,
/turf/closed/wall,
@@ -50881,6 +51249,15 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
+"qkP" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/layer_manifold/cyan/visible{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"qlg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -50920,15 +51297,6 @@
"qlC" = (
/turf/closed/wall/rust,
/area/station/maintenance/fore)
-"qlI" = (
-/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
- dir = 8
- },
-/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/ordnance)
"qlX" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/tank/internals/plasmaman/belt/full,
@@ -50954,10 +51322,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/science/auxlab)
-"qms" = (
-/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
-/turf/open/floor/engine/n2o,
-/area/station/engineering/atmos)
"qmx" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/blue/half/contrasted{
@@ -50966,28 +51330,16 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/security/courtroom)
-"qmM" = (
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
-"qmR" = (
-/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible,
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
+"qmz" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/passive_vent{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"qmW" = (
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"qmZ" = (
-/obj/machinery/camera/directional/north{
- c_tag = "Atmospherics Tank - Air";
- name = "atmospherics camera";
- network = list("ss13","engine")
- },
-/turf/open/floor/engine/air,
-/area/station/engineering/atmos)
"qnc" = (
/obj/machinery/atmospherics/components/binary/valve,
/obj/machinery/door/window/right/directional/north{
@@ -51006,6 +51358,23 @@
},
/turf/open/floor/iron/dark,
/area/station/security/execution/education)
+"qnd" = (
+/obj/structure/lattice,
+/obj/structure/sign/warning/directional/west,
+/turf/open/space/basic,
+/area/space/nearstation)
+"qnk" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/washing_machine,
+/obj/structure/extinguisher_cabinet/directional/north,
+/obj/machinery/light_switch/directional/east,
+/obj/effect/turf_decal/tile/neutral/opposingcorners{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/light/cold/directional/east,
+/turf/open/floor/iron/showroomfloor,
+/area/station/commons/toilet/restrooms)
"qny" = (
/obj/machinery/mineral/stacking_machine{
input_dir = 2
@@ -51019,25 +51388,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/janitor)
-"qnA" = (
-/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/machinery/light/dim/directional/south,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
-"qnH" = (
-/obj/structure/window/reinforced/plasma/spawner/directional/east,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/obj/machinery/power/energy_accumulator/grounding_rod/anchored,
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/station/engineering/supermatter/engine)
"qnK" = (
/obj/machinery/door/airlock/engineering{
name = "Emergency Storage"
@@ -51049,19 +51399,6 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/crew_quarters/bar)
-"qoo" = (
-/obj/machinery/airalarm/directional/west,
-/obj/machinery/camera/directional/west{
- c_tag = "Atmospherics Port Tanks";
- name = "atmospherics camera";
- network = list("ss13","engine")
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"qos" = (
/mob/living/carbon/human/species/monkey,
/turf/open/floor/grass,
@@ -51080,24 +51417,27 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/science/robotics/lab)
-"qoN" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/sign/nanotrasen{
- pixel_y = 32
+"qoK" = (
+/obj/machinery/door/firedoor,
+/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/siding/yellow/corner{
+ dir = 1
},
-/obj/effect/turf_decal/tile/blue{
- dir = 4
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "atmos-entrance"
},
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
+/obj/machinery/door/airlock/atmos{
+ name = "Atmospherics Desk"
},
-/obj/machinery/light/directional/north,
-/turf/open/floor/iron/dark/corner{
- dir = 1
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/effect/landmark/navigate_destination/atmos,
+/obj/machinery/atmospherics/pipe/smart/simple/brown/hidden{
+ dir = 8
},
-/area/station/hallway/primary/central/fore)
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"qoT" = (
/obj/machinery/light/small/directional/east,
/obj/effect/turf_decal/tile/blue{
@@ -51183,6 +51523,30 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
+"qqv" = (
+/obj/machinery/portable_atmospherics/pump,
+/obj/effect/turf_decal/box,
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/hallway)
+"qqK" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"qqM" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -51193,11 +51557,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/engine,
/area/station/engineering/gravity_generator)
-"qqS" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"qqV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/siding/purple{
@@ -51218,17 +51577,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"qrj" = (
-/obj/machinery/status_display/ai/directional/east,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/ai/satellite/chamber)
"qrk" = (
/obj/machinery/power/smes,
/obj/effect/turf_decal/bot,
@@ -51254,14 +51602,6 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation)
-"qrK" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/security/processing)
"qrP" = (
/obj/effect/turf_decal/bot,
/obj/structure/closet/secure_closet/personal,
@@ -51306,10 +51646,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"qsv" = (
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"qsy" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -51330,6 +51666,14 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/lobby)
+"qsY" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/pumproom)
"qth" = (
/obj/machinery/light_switch/directional/west{
pixel_y = 26
@@ -51353,27 +51697,13 @@
},
/turf/open/floor/iron/dark,
/area/station/security/checkpoint/customs)
-"qtO" = (
-/obj/machinery/vending/wardrobe/engi_wardrobe,
-/obj/effect/turf_decal/bot,
-/obj/machinery/camera/directional/north{
- c_tag = "Engineering Lockers";
- name = "engineering camera";
- network = list("ss13","engine")
+"qtH" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
},
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/light/warm/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage_shared)
-"qtS" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/light/floor,
/turf/open/floor/iron,
-/area/station/security/brig)
+/area/station/hallway/primary/starboard)
"qur" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -51388,16 +51718,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
-"quv" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/machinery/button/door/directional/south{
- id = "engsm";
- name = "Radiation Shutters Toggle";
- req_access = list("engineering")
- },
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"quy" = (
/obj/machinery/light/small/directional/west,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -51405,6 +51725,11 @@
},
/turf/open/floor/wood,
/area/station/commons/locker)
+"quF" = (
+/obj/structure/lattice,
+/obj/structure/sign/warning/directional/south,
+/turf/open/space/basic,
+/area/space/nearstation)
"quG" = (
/obj/machinery/door/airlock/maintenance,
/obj/structure/cable,
@@ -51461,16 +51786,6 @@
/obj/structure/flora/rock/style_random,
/turf/open/misc/asteroid/lowpressure,
/area/space/nearstation)
-"qvs" = (
-/obj/effect/turf_decal/stripes/white/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"qvG" = (
/obj/effect/turf_decal/stripes/corner,
/obj/structure/cable,
@@ -51486,22 +51801,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"qvV" = (
-/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = -4;
- pixel_y = 4
- },
-/obj/item/pen,
-/obj/item/toy/figure/atmos{
- pixel_x = 8;
- pixel_y = 6
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"qwa" = (
/obj/structure/chair{
dir = 8
@@ -51538,6 +51837,19 @@
},
/turf/open/floor/carpet/green,
/area/station/service/lawoffice)
+"qwq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/firealarm/directional/north,
+/obj/structure/cable,
+/obj/machinery/camera/directional/north{
+ c_tag = "Supermatter Engine";
+ name = "supermatter camera";
+ network = list("engine")
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"qwx" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -51572,6 +51884,13 @@
/obj/effect/mapping_helpers/airlock/access/all/science/general,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard)
+"qxc" = (
+/obj/item/beacon,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/light/floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"qxh" = (
/obj/effect/turf_decal/siding/wood{
dir = 4
@@ -51618,6 +51937,15 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
+"qxO" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/corner,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"qxQ" = (
/obj/effect/turf_decal/stripes/corner,
/obj/effect/decal/cleanable/dirt,
@@ -51660,34 +51988,10 @@
},
/turf/open/floor/iron,
/area/station/security/office)
-"qyR" = (
-/obj/machinery/atmospherics/components/unary/outlet_injector/on{
- dir = 1
- },
-/turf/open/floor/engine/vacuum,
-/area/station/maintenance/disposal/incinerator)
"qzg" = (
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/station/solars/starboard/fore)
-"qzq" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/public/glass{
- name = "Chapel Hallway"
- },
-/turf/open/floor/iron/dark,
-/area/station/hallway/primary/fore)
-"qzs" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/closet/wardrobe/mixed,
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/commons/locker)
"qzu" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -51703,15 +52007,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"qzz" = (
-/obj/machinery/firealarm/directional/south,
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"qzA" = (
/obj/effect/turf_decal/loading_area,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -51768,22 +52063,14 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/iron/dark,
/area/station/security/checkpoint/supply)
-"qAo" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
-"qAr" = (
-/obj/machinery/computer/records/medical{
- dir = 8
- },
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
+"qAB" = (
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/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/command/heads_quarters/cmo)
+/area/station/hallway/primary/central/fore)
"qAK" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -51807,12 +52094,17 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"qBB" = (
-/obj/effect/turf_decal/siding/thinplating/dark{
+"qBl" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/corner{
dir = 1
},
-/turf/open/floor/grass,
-/area/station/service/chapel)
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 4;
+ name = "Cold Loop to Gas"
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"qBC" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/obj/effect/landmark/start/cook,
@@ -51853,12 +52145,32 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"qCY" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/light/small/red/directional/south,
+/turf/open/floor/engine,
+/area/station/command/vault)
"qCZ" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/hos)
+"qDf" = (
+/obj/machinery/chem_master,
+/obj/effect/turf_decal/bot,
+/obj/machinery/light_switch/directional/south,
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/item/paper/crumpled{
+ default_raw_text = "This isn't funny, I'm trapped on the least fun room on the station.";
+ name = "poorly written complaint"
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/xenobiology)
"qDp" = (
/obj/structure/lattice/catwalk,
/obj/structure/railing{
@@ -51882,18 +52194,6 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron/showroomfloor,
/area/station/science/auxlab)
-"qDC" = (
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/lobby)
-"qDE" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"qDG" = (
/obj/effect/turf_decal/siding/thinplating/dark/end{
dir = 4
@@ -51904,18 +52204,6 @@
/obj/structure/flora/bush/flowers_pp/style_random,
/turf/open/floor/grass,
/area/station/service/chapel/monastery)
-"qDI" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/corner,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"qDX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -51968,18 +52256,6 @@
dir = 1
},
/area/station/hallway/primary/fore)
-"qEM" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
- dir = 6
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter/room)
"qER" = (
/obj/structure/chair/pew{
dir = 8
@@ -51999,30 +52275,6 @@
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/iron/grimy,
/area/station/service/chapel/office)
-"qFb" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/yellow/corner{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
-"qFl" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/turf_decal/box,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"qFw" = (
/obj/machinery/door/airlock/research{
name = "Auxiliary Research"
@@ -52048,7 +52300,9 @@
/area/station/command/heads_quarters/qm)
"qGi" = (
/obj/effect/turf_decal/delivery,
-/obj/structure/reagent_dispensers/plumbed,
+/obj/structure/closet/radiation,
+/obj/item/clothing/glasses/meson,
+/obj/structure/sign/warning/secure_area/directional/west,
/turf/open/floor/iron/dark,
/area/station/engineering/gravity_generator)
"qGq" = (
@@ -52057,6 +52311,10 @@
/obj/effect/turf_decal/tile/purple,
/turf/open/floor/iron/showroomfloor,
/area/station/science/auxlab)
+"qGH" = (
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
+/turf/closed/wall/rust,
+/area/station/engineering/atmos)
"qGK" = (
/turf/closed/wall,
/area/station/medical/storage)
@@ -52067,17 +52325,18 @@
/obj/item/kirbyplants/organic/plant14,
/turf/open/floor/iron/showroomfloor,
/area/station/commons/toilet/restrooms)
-"qHy" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 5
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
+"qHI" = (
+/obj/machinery/light_switch/directional/south,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
},
-/obj/machinery/camera/autoname/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
+/obj/effect/turf_decal/tile/blue/half/contrasted,
+/obj/structure/table/glass,
+/obj/item/mod/module/thermal_regulator,
+/obj/item/mod/module/plasma_stabilizer,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/break_room)
"qHV" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
@@ -52090,6 +52349,30 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"qIf" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/meter,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/pumproom)
+"qIz" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
+"qIJ" = (
+/obj/effect/decal/cleanable/ash/large,
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/iron/smooth_half,
+/area/station/engineering/atmos)
"qJf" = (
/turf/open/floor/wood,
/area/station/service/bar/atrium)
@@ -52137,6 +52420,13 @@
"qJR" = (
/turf/closed/wall/r_wall/rust,
/area/station/maintenance/port/aft)
+"qJT" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/holopad,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/exit/departure_lounge)
"qJY" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/burnt_floor,
@@ -52219,11 +52509,6 @@
/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"qKR" = (
-/obj/effect/decal/cleanable/ash,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"qKS" = (
/obj/effect/turf_decal/bot,
/obj/effect/turf_decal/stripes/corner{
@@ -52336,10 +52621,6 @@
"qNr" = (
/turf/closed/wall,
/area/station/hallway/primary/central/fore)
-"qNH" = (
-/obj/machinery/atmospherics/pipe/layer_manifold/cyan,
-/turf/closed/wall/r_wall/rust,
-/area/station/maintenance/aft)
"qNJ" = (
/obj/machinery/modular_computer/preset/id{
dir = 8
@@ -52389,6 +52670,17 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/medical/pharmacy)
+"qNW" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/bot,
+/obj/structure/sign/warning/directional/east,
+/obj/structure/railing,
+/obj/machinery/disposal/bin/tagger,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"qOd" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -52396,7 +52688,7 @@
"qOq" = (
/obj/effect/turf_decal/loading_area,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/turf/open/floor/iron/dark,
+/turf/open/floor/iron/dark/textured_large,
/area/station/engineering/supermatter/room)
"qOv" = (
/obj/structure/disposalpipe/segment,
@@ -52428,19 +52720,6 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark,
/area/station/service/bar/atrium)
-"qOG" = (
-/obj/structure/cable,
-/obj/structure/table,
-/obj/structure/extinguisher_cabinet/directional/east,
-/obj/item/storage/box/lights/bulbs,
-/obj/machinery/firealarm/directional/south,
-/obj/item/tank/internals/oxygen/red,
-/obj/item/clothing/mask/gas,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
"qOQ" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
@@ -52465,25 +52744,23 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"qPf" = (
-/obj/structure/table/reinforced,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/door/firedoor,
-/obj/item/folder/yellow,
-/obj/machinery/door/poddoor/preopen{
- id = "atmos";
- name = "Atmospherics Blast Door"
+"qOU" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
},
-/obj/machinery/door/window/right/directional/west{
- name = "Atmospherics Desk";
- req_access = list("atmospherics")
+/turf/open/floor/iron/smooth_large,
+/area/station/maintenance/department/chapel/monastery)
+"qOV" = (
+/obj/machinery/vending/cola/red,
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 1
},
-/obj/structure/desk_bell{
- pixel_x = 8;
- pixel_y = 10
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
},
-/turf/open/floor/plating,
-/area/station/engineering/atmos/storage/gas)
+/turf/open/floor/iron/white,
+/area/station/security/prison/mess)
"qPz" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -52495,6 +52772,29 @@
/obj/effect/turf_decal/loading_area,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"qPJ" = (
+/obj/structure/table/wood,
+/obj/item/folder/red,
+/obj/item/lighter{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/item/cigarette/cigar/cohiba{
+ pixel_x = 6
+ },
+/obj/item/cigarette/cigar,
+/obj/machinery/airalarm/directional/west,
+/obj/item/paper_bin,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/hos)
+"qPP" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron/dark,
+/area/station/command/bridge)
"qPU" = (
/obj/structure/bookcase/random/reference,
/turf/open/floor/iron/dark,
@@ -52539,21 +52839,35 @@
},
/turf/open/floor/plating,
/area/station/maintenance/solars/port/aft)
+"qQw" = (
+/obj/structure/chair/sofa/bench{
+ dir = 4
+ },
+/obj/machinery/newscaster/directional/west,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
+"qQB" = (
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/turf/open/floor/iron/stairs/left{
+ dir = 4
+ },
+/area/station/service/chapel/monastery)
+"qQC" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/tank/air/layer4,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/effect/turf_decal/box,
+/obj/machinery/airalarm/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/aft)
"qQQ" = (
/obj/effect/turf_decal/siding/blue{
dir = 1
},
/turf/open/floor/iron,
/area/station/command/bridge)
-"qQR" = (
-/obj/effect/turf_decal/bot,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/vending/wardrobe/hydro_wardrobe,
-/obj/machinery/firealarm/directional/south,
-/obj/effect/turf_decal/tile/green/fourcorners,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/checker,
-/area/station/service/hydroponics)
"qRf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -52589,18 +52903,6 @@
/obj/machinery/recharge_station,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
-"qRp" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible,
-/obj/machinery/door/airlock/atmos/glass{
- name = "Distribution Loop"
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/pumproom)
"qRr" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/corner{
@@ -52669,12 +52971,6 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"qSe" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/violet/visible,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"qSg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -52747,6 +53043,15 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
+"qSS" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"qTg" = (
/obj/effect/turf_decal/bot,
/obj/machinery/shieldgen,
@@ -52758,6 +53063,26 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/service/bar/atrium)
+"qTI" = (
+/obj/effect/landmark/event_spawn,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 5
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"qTJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/brown/half/contrasted{
@@ -52770,24 +53095,6 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
-"qTO" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/machinery/computer/security/telescreen/turbine/directional/west,
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"qTT" = (
/obj/docking_port/stationary/random{
name = "lavaland";
@@ -52813,17 +53120,21 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/entry)
-"qUm" = (
-/obj/structure/closet/secure_closet/bar,
-/obj/item/flashlight/lantern,
-/obj/effect/turf_decal/bot,
-/obj/machinery/airalarm/directional/west,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
+"qUf" = (
+/obj/effect/landmark/blobstart,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
},
-/obj/item/storage/photo_album/bar,
-/turf/open/floor/iron/dark,
-/area/station/service/bar/backroom)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
+/turf/open/floor/iron/dark/telecomms,
+/area/station/science/server)
+"qUo" = (
+/obj/structure/sign/warning/electric_shock/directional/north,
+/obj/structure/cable,
+/obj/machinery/power/smes/full,
+/turf/open/floor/circuit/red/telecomms,
+/area/station/tcommsat/server)
"qUp" = (
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -52845,19 +53156,38 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron/showroomfloor,
/area/station/science/auxlab)
-"qUB" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/blue/half/contrasted,
+"qUx" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/firealarm/directional/south,
-/obj/item/kirbyplants/organic/plant21,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/structure/cable,
/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
+/area/station/hallway/primary/aft)
+"qUB" = (
+/obj/structure/table,
+/obj/item/storage/toolbox/electrical{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/item/storage/toolbox/electrical,
+/obj/machinery/firealarm/directional/west,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/commons/storage/primary)
"qUJ" = (
/obj/effect/spawner/structure/window/reinforced/plasma,
/turf/open/floor/plating,
/area/station/engineering/main)
+"qUK" = (
+/obj/effect/turf_decal/tile/bar/fourcorners,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
+"qUN" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/showroomfloor,
+/area/station/security/execution/transfer)
"qUO" = (
/obj/machinery/airalarm/directional/west,
/obj/effect/turf_decal/stripes/line{
@@ -52866,6 +53196,20 @@
/obj/structure/cable/layer3,
/turf/open/floor/engine,
/area/station/ai/satellite/chamber)
+"qUS" = (
+/obj/structure/table,
+/obj/item/paper_bin{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/item/pen,
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/status_display/evac/directional/south,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/hallway/primary/starboard)
"qUU" = (
/turf/closed/wall/rust,
/area/station/security/checkpoint/engineering)
@@ -52952,11 +53296,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"qVM" = (
-/obj/structure/lattice,
-/obj/structure/girder/reinforced,
-/turf/open/space/basic,
-/area/space/nearstation)
"qVN" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -53012,6 +53351,13 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"qWt" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/caution/stand_clear,
+/obj/machinery/newscaster/directional/south,
+/obj/machinery/light/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/security/brig)
"qWz" = (
/obj/structure/lattice,
/obj/structure/sign/warning/secure_area/directional/east,
@@ -53049,12 +53395,6 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/plating,
/area/station/security/prison)
-"qWT" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/plasma_output{
- dir = 1
- },
-/turf/open/floor/engine/plasma,
-/area/station/engineering/atmos)
"qXa" = (
/obj/structure/cable,
/obj/effect/landmark/start/hangover,
@@ -53076,15 +53416,6 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron,
/area/station/command/bridge)
-"qXw" = (
-/obj/machinery/status_display/evac/directional/west,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/security/courtroom)
"qXA" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
/turf/open/floor/engine/n2,
@@ -53104,12 +53435,36 @@
},
/turf/open/floor/iron/dark,
/area/station/security/evidence)
-"qYe" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
+"qXY" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/table,
+/obj/item/electronics/airlock{
+ pixel_x = -6;
+ pixel_y = 6
},
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/dock)
+/obj/item/electronics/airlock,
+/obj/item/electronics/firealarm,
+/obj/item/electronics/firealarm,
+/obj/item/electronics/firelock{
+ pixel_y = -3;
+ pixel_x = -5
+ },
+/obj/item/electronics/firelock,
+/obj/item/electronics/airalarm{
+ pixel_x = 7;
+ pixel_y = 5
+ },
+/obj/item/electronics/airalarm{
+ pixel_y = -4;
+ pixel_x = 3
+ },
+/obj/item/electronics/apc,
+/obj/item/electronics/apc{
+ pixel_x = -1;
+ pixel_y = 3
+ },
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"qYr" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -53187,15 +53542,6 @@
"qZx" = (
/turf/closed/wall/r_wall/rust,
/area/station/tcommsat/server)
-"qZC" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 1
- },
-/obj/machinery/portable_atmospherics/canister,
-/obj/effect/turf_decal/box,
-/obj/machinery/light/warm/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/engineering/supermatter/room)
"qZL" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -53221,13 +53567,34 @@
"qZX" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/starboard/aft)
-"rah" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/holopad,
+"rak" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/decal/cleanable/blood/gibs/up,
+/obj/structure/sign/poster/official/wtf_is_co2/directional/north,
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/plating,
+/area/station/security/execution/education)
+"rao" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 8
+ },
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science)
"raN" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -53241,22 +53608,23 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"raT" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/power/terminal{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
+"raW" = (
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
+"raX" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/effect/turf_decal/tile/red{
dir = 1
},
+/obj/machinery/light/floor,
/turf/open/floor/iron,
-/area/station/engineering/supermatter/room)
+/area/station/commons/fitness/recreation)
"raY" = (
/obj/effect/turf_decal/siding/wood{
dir = 4
@@ -53279,6 +53647,12 @@
},
/turf/open/floor/engine/n2,
/area/station/engineering/atmos)
+"rbw" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/obj/structure/lattice,
+/obj/structure/sign/warning/hot_temp/directional/east,
+/turf/open/space/basic,
+/area/space/nearstation)
"rbz" = (
/obj/machinery/disposal/bin/tagger,
/obj/effect/turf_decal/bot,
@@ -53308,23 +53682,6 @@
"rbO" = (
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"rbQ" = (
-/obj/structure/table/wood/fancy,
-/obj/effect/turf_decal/siding/wideplating/dark/corner{
- dir = 4
- },
-/obj/item/food/grown/flower/harebell,
-/obj/item/food/grown/flower/harebell{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/food/grown/flower/harebell{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/machinery/wall_healer/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
"rbT" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -53474,6 +53831,21 @@
/obj/effect/spawner/structure/window/reinforced/plasma,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
+"ref" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/binary/pump/on{
+ name = "External Waste Ports to Filter";
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/storage)
"rel" = (
/obj/structure/falsewall{
name = "suspicious wall"
@@ -53497,16 +53869,32 @@
/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
/turf/open/floor/iron/dark,
/area/station/science/ordnance/storage)
-"req" = (
-/obj/effect/turf_decal/bot,
-/obj/effect/spawner/random/structure/crate_abandoned,
-/obj/machinery/light/warm/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
+"res" = (
+/obj/effect/landmark/start/chief_engineer,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/yellow{
+ dir = 5
+ },
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/command/heads_quarters/ce)
"ret" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
/turf/open/floor/engine/vacuum,
/area/station/science/ordnance/burnchamber)
+"rev" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"reJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/airlock/research/glass{
@@ -53534,13 +53922,15 @@
/obj/machinery/power/apc/auto_name/directional/north,
/turf/open/floor/bronze,
/area/station/maintenance/department/chapel)
-"rfm" = (
-/obj/effect/turf_decal/stripes/corner{
+"rfl" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
dir = 4
},
-/obj/machinery/duct,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/entry)
"rfo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -53568,14 +53958,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/iron/dark,
/area/station/security/checkpoint/supply)
-"rfK" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/turf_decal/bot,
-/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/station/maintenance/starboard)
"rfM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -53585,6 +53967,14 @@
},
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
+"rfN" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/station/engineering/supermatter/room)
"rfX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -53595,15 +53985,25 @@
/obj/effect/turf_decal/tile/red,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
-"rgl" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden,
-/obj/machinery/airlock_sensor/incinerator_atmos{
- pixel_x = 24
+"rgq" = (
+/obj/structure/displaycase/labcage,
+/obj/effect/turf_decal/box,
+/obj/machinery/firealarm/directional/south,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
},
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/rd)
+"rgu" = (
+/obj/machinery/computer/mech_bay_power_console{
+ dir = 4
+ },
+/obj/item/radio/intercom/directional/north,
+/obj/structure/cable,
+/turf/open/floor/circuit/green{
+ luminosity = 2
+ },
+/area/station/science/robotics/mechbay)
"rgv" = (
/obj/structure/reagent_dispensers/watertank,
/obj/effect/turf_decal/delivery,
@@ -53611,18 +54011,17 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/entry)
+"rgE" = (
+/obj/machinery/portable_atmospherics/canister,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"rgF" = (
/turf/closed/wall/r_wall/rust,
/area/station/hallway/primary/fore)
-"rgW" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/public/glass{
- name = "Arrivals Dock"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/entry)
"rha" = (
/obj/effect/turf_decal/stripes/line,
/obj/structure/disposalpipe/segment,
@@ -53635,6 +54034,19 @@
"rhd" = (
/turf/closed/wall/r_wall,
/area/station/security/lockers)
+"rhe" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/camera/directional/east{
+ c_tag = "Starboard Hallway Cargo Counter";
+ name = "starboard camera"
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/machinery/light/directional/east,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"rhf" = (
/obj/machinery/door/airlock/maintenance,
/obj/effect/mapping_helpers/airlock/unres/delayed{
@@ -53678,9 +54090,21 @@
"rhN" = (
/turf/closed/wall,
/area/station/commons/locker)
+"rhR" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted,
+/obj/effect/turf_decal/tile/yellow,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"rhT" = (
/turf/closed/wall,
/area/station/service/lawoffice)
+"rib" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/pumproom)
"rif" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -53695,13 +54119,37 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/solars/starboard/fore)
-"riI" = (
-/obj/structure/table,
-/obj/item/clipboard,
-/obj/item/folder/yellow,
-/obj/item/pipe_dispenser,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
+"rih" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/loading_area{
+ dir = 4;
+ pixel_x = 5
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
+"rij" = (
+/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/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science)
"riQ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -53757,13 +54205,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/security/medical)
-"rjk" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/security/prison/mess)
"rjR" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/bot,
@@ -53775,13 +54216,16 @@
/turf/open/floor/plating,
/area/station/maintenance/starboard)
"rjT" = (
-/obj/effect/turf_decal/siding/wood{
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
dir = 1
},
-/obj/structure/bookcase/random,
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/box,
+/obj/structure/fluff/shower_drain,
+/obj/machinery/shower/directional/west{
+ name = "emergency shower"
+ },
/turf/open/floor/iron/dark,
-/area/station/service/library)
+/area/station/engineering/main)
"rjU" = (
/obj/effect/landmark/start/medical_doctor,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -53789,6 +54233,13 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/treatment_center)
+"rkc" = (
+/obj/machinery/portable_atmospherics/canister,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/obj/effect/turf_decal/box,
+/obj/machinery/status_display/ai/directional/north,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"rkn" = (
/obj/item/stack/cable_coil,
/turf/open/misc/asteroid/airless,
@@ -53881,34 +54332,21 @@
/obj/machinery/airalarm/directional/south,
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
-"rms" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/red/half/contrasted{
+"rmu" = (
+/obj/effect/spawner/structure/window,
+/turf/open/floor/plating,
+/area/station/engineering/circuit_workshop)
+"rmy" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 8
},
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/firealarm/directional/north,
-/turf/open/floor/iron,
-/area/station/security/processing)
-"rmt" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/status_display/ai/directional/west,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/effect/turf_decal/box,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible,
+/obj/effect/turf_decal/stripes/white/line{
dir = 4
},
+/obj/machinery/meter/monitored/distro_loop,
/turf/open/floor/iron/dark,
-/area/station/command/vault)
-"rmu" = (
-/obj/effect/spawner/structure/window,
-/turf/open/floor/plating,
-/area/station/engineering/circuit_workshop)
+/area/station/engineering/atmos/pumproom)
"rmJ" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -53954,6 +54392,13 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/service/bar)
+"rnd" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"rnj" = (
/obj/item/clothing/suit/hooded/techpriest{
pixel_y = 8
@@ -53968,17 +54413,31 @@
/turf/open/floor/iron/dark,
/area/station/service/chapel/storage)
"rnp" = (
-/obj/structure/sign/poster/contraband/missing_gloves/directional/east,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
},
-/turf/open/floor/engine,
+/obj/structure/table,
+/obj/item/pipe_dispenser,
+/obj/item/clothing/mask/gas,
+/obj/structure/sign/warning/engine_safety/directional/east,
+/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
-"rnt" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/security/processing)
+"rns" = (
+/obj/structure/railing/corner{
+ dir = 8
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/monastery)
+"rnv" = (
+/obj/machinery/button/ignition/incinerator/atmos{
+ pixel_x = 6;
+ pixel_y = 38
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/disposal/incinerator)
"rnB" = (
/obj/effect/turf_decal/stripes/line{
dir = 9
@@ -54001,14 +54460,6 @@
"rnJ" = (
/turf/open/floor/iron/showroomfloor,
/area/station/medical/surgery/theatre)
-"rnP" = (
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"rnW" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -54020,14 +54471,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"rol" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/machinery/atmospherics/components/trinary/filter/atmos/plasma{
- dir = 4
- },
-/obj/effect/turf_decal/tile/purple/fourcorners,
-/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/atmos)
"ron" = (
/obj/effect/landmark/start/scientist,
/obj/effect/turf_decal/tile/purple/anticorner/contrasted,
@@ -54065,27 +54508,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"rov" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"roy" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"roF" = (
/obj/machinery/door/airlock/command/glass{
name = "Server Access"
@@ -54102,6 +54524,16 @@
},
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
+"roL" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"roO" = (
/obj/structure/grille/broken,
/obj/effect/spawner/random/structure/crate,
@@ -54153,15 +54585,6 @@
/obj/structure/sign/poster/official/pda_ad,
/turf/closed/wall,
/area/station/command/heads_quarters/hop)
-"rqm" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/sign/poster/official/random/directional/south,
-/obj/effect/turf_decal/tile/red/half/contrasted,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"rqn" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -54185,6 +54608,10 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron,
/area/station/commons/storage/art)
+"rqr" = (
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/iron/smooth_half,
+/area/station/engineering/atmos)
"rqs" = (
/obj/effect/turf_decal/bot,
/obj/machinery/computer/security{
@@ -54222,10 +54649,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
-"rqV" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"rqW" = (
/obj/machinery/firealarm/directional/south,
/obj/effect/turf_decal/tile/neutral/half/contrasted,
@@ -54284,15 +54707,6 @@
/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard)
-"rrO" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/structure/sign/poster/contraband/random/directional/west,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"rrQ" = (
/obj/machinery/door/airlock/maintenance,
/obj/effect/mapping_helpers/airlock/abandoned,
@@ -54301,14 +54715,11 @@
/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
-"rrS" = (
-/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{
- dir = 4
- },
-/obj/structure/lattice/catwalk,
-/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
-/turf/open/space/basic,
-/area/space/nearstation)
+"rrW" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/structure/crate_loot,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"rrY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -54334,6 +54745,11 @@
"rsd" = (
/turf/closed/wall/rock/porous,
/area/space/nearstation)
+"rse" = (
+/obj/machinery/atmospherics/components/tank/air,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/department/chapel/monastery)
"rso" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating/airless,
@@ -54343,6 +54759,24 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"rsS" = (
+/obj/machinery/computer/cargo,
+/obj/effect/turf_decal/bot,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/airalarm/directional/east,
+/obj/machinery/requests_console/directional/north{
+ department = "Quartermaster's Desk";
+ name = "Quartermaster's Requests Console"
+ },
+/obj/effect/mapping_helpers/requests_console/announcement,
+/obj/effect/mapping_helpers/requests_console/supplies,
+/obj/structure/extinguisher_cabinet/directional/north{
+ pixel_x = 32
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/qm)
"rsT" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -54371,14 +54805,6 @@
/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/fore)
-"rtc" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/structure/crate,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"rtr" = (
/obj/structure/table/glass,
/obj/item/folder/white,
@@ -54393,6 +54819,13 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/pharmacy)
+"rtv" = (
+/obj/structure/cable,
+/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/service/chapel/dock)
"rtw" = (
/obj/machinery/door/poddoor/shutters/preopen{
dir = 1;
@@ -54424,14 +54857,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/brig)
-"rtF" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{
- dir = 8
- },
-/obj/effect/landmark/start/atmospheric_technician,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
"rtK" = (
/obj/structure/table,
/obj/item/folder,
@@ -54465,6 +54890,28 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/fore)
+"rtO" = (
+/obj/machinery/vending/dinnerware,
+/obj/effect/turf_decal/bot,
+/obj/machinery/newscaster/directional/east,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/kitchen)
+"rtR" = (
+/obj/structure/table/wood/fancy/black,
+/obj/item/food/grown/flower/poppy/geranium{
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/item/food/grown/flower/poppy/geranium{
+ pixel_x = 6;
+ pixel_y = 6
+ },
+/obj/item/food/grown/flower/poppy/geranium,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
"ruo" = (
/obj/machinery/computer/records/security{
dir = 8
@@ -54516,18 +54963,15 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"rvk" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral{
+"rvt" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
dir = 8
},
-/turf/open/floor/iron,
+/obj/effect/turf_decal/bot,
+/obj/structure/railing,
+/obj/structure/closet/secure_closet/atmospherics,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
"rvz" = (
/obj/effect/decal/cleanable/cobweb/cobweb2,
@@ -54554,6 +54998,11 @@
/obj/structure/transit_tube/crossing,
/turf/open/floor/plating/airless,
/area/space/nearstation)
+"rvK" = (
+/obj/structure/flora/bush/lavendergrass/style_random,
+/obj/effect/turf_decal/siding/thinplating/dark,
+/turf/open/floor/grass,
+/area/station/service/chapel)
"rvR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
@@ -54664,22 +55113,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"rxb" = (
-/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/siding/purple{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/lobby)
"rxi" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -54787,13 +55220,16 @@
/obj/item/storage/toolbox/electrical,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"rya" = (
-/obj/effect/turf_decal/box/corners,
+"rye" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/simple/violet/visible{
+ dir = 10
+ },
/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
+/area/station/engineering/atmos)
"ryn" = (
/obj/structure/cable,
/turf/open/floor/plating,
@@ -54827,21 +55263,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"ryZ" = (
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"rzr" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/siding/wood{
@@ -54881,36 +55302,6 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/service/kitchen/coldroom)
-"rzZ" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/structure/table,
-/obj/item/soap/nanotrasen,
-/obj/item/hand_labeler,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/camera/directional/south{
- c_tag = "Recovery Room";
- name = "medical camera";
- network = list("ss13","medical")
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/central)
-"rAt" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/engineering/main)
-"rAA" = (
-/obj/effect/decal/cleanable/ash,
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"rAB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -54950,17 +55341,28 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/service/chapel/dock)
-"rBE" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/airlock/maintenance{
- name = "Atmospherics Maintenance"
+"rBw" = (
+/obj/structure/disposalpipe/sorting/mail/flip{
+ dir = 8;
+ name = "virology sorting disposal pipe"
},
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/aft)
+/obj/effect/mapping_helpers/mail_sorting/medbay/virology,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
+"rBH" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"rBO" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/caution/stand_clear,
@@ -54986,22 +55388,13 @@
"rCi" = (
/turf/closed/wall,
/area/station/hallway/secondary/entry)
-"rCH" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
+"rCB" = (
+/obj/structure/window/spawner/directional/west,
+/obj/structure/window/spawner/directional/east,
+/obj/structure/window/spawner/directional/north,
+/obj/structure/flora/bush/fullgrass/style_random,
+/turf/open/floor/grass,
+/area/station/medical/medbay/central)
"rDd" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -55058,6 +55451,15 @@
/obj/effect/landmark/firealarm_sanity,
/turf/open/floor/iron/dark,
/area/station/command/eva)
+"rDq" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"rDO" = (
/obj/structure/frame/computer{
anchored = 1;
@@ -55069,6 +55471,18 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/maintenance/fore)
+"rEb" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/reagent_dispensers/plumbed,
+/obj/effect/turf_decal/delivery/white{
+ color = "#52B4E9"
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/maintenance/aft)
"rEi" = (
/obj/structure/table/glass,
/obj/machinery/computer/records/medical/laptop,
@@ -55124,6 +55538,16 @@
/obj/machinery/duct,
/turf/open/floor/iron,
/area/station/engineering/storage_shared)
+"rEZ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"rFc" = (
/obj/effect/turf_decal/bot,
/obj/structure/table,
@@ -55189,6 +55613,10 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/security/lockers)
+"rFM" = (
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
+/turf/closed/wall/r_wall,
+/area/station/engineering/supermatter/engine)
"rFN" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/light/small/directional/west,
@@ -55198,6 +55626,14 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"rFR" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/engineering/hallway)
"rFS" = (
/obj/structure/chair/sofa/left/maroon{
dir = 8
@@ -55211,20 +55647,25 @@
},
/turf/open/floor/iron/dark,
/area/station/service/bar/atrium)
-"rGr" = (
-/obj/structure/table/wood,
-/obj/machinery/reagentgrinder{
- pixel_y = 5
+"rGa" = (
+/obj/structure/table/reinforced,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/firedoor,
+/obj/item/folder/yellow,
+/obj/machinery/door/poddoor/preopen{
+ id = "atmos";
+ name = "Atmospherics Blast Door"
},
-/obj/item/toy/figure/bartender{
- pixel_x = -7
+/obj/machinery/door/window/right/directional/west{
+ name = "Atmospherics Desk";
+ req_access = list("atmospherics")
},
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
+/obj/structure/desk_bell{
+ pixel_x = 8;
+ pixel_y = 10
},
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/service/bar/backroom)
+/turf/open/floor/plating,
+/area/station/engineering/atmos/office)
"rGx" = (
/obj/structure/flora/bush/jungle/c/style_2,
/turf/open/misc/asteroid,
@@ -55238,6 +55679,26 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel)
+"rGL" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/structure/grille/broken,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard)
+"rGR" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Air to Ports"
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"rHc" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/obj/structure/disposalpipe/segment{
@@ -55283,6 +55744,28 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"rHE" = (
+/obj/machinery/requests_console/directional/west{
+ department = "Engineering";
+ name = "Engineering Requests Console"
+ },
+/obj/effect/mapping_helpers/requests_console/information,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/turf_decal/bot,
+/obj/machinery/microwave/engineering/cell_included,
+/obj/structure/table,
+/obj/item/storage/box/donkpockets{
+ pixel_y = 5
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/lobby)
+"rHL" = (
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"rHX" = (
/obj/machinery/door/poddoor/shutters{
dir = 1;
@@ -55292,6 +55775,13 @@
/obj/effect/turf_decal/caution/stand_clear,
/turf/open/floor/iron/dark,
/area/station/command/eva)
+"rHZ" = (
+/obj/effect/turf_decal/box,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"rIk" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
@@ -55304,26 +55794,6 @@
dir = 4
},
/area/station/hallway/primary/fore)
-"rIm" = (
-/obj/machinery/airalarm/directional/east,
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
-"rIt" = (
-/obj/structure/sign/painting/library{
- pixel_x = 32
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/service/library)
"rIy" = (
/obj/structure/mop_bucket/janitorialcart,
/obj/effect/turf_decal/delivery,
@@ -55333,15 +55803,11 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/service/janitor)
-"rJt" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/hallway/primary/fore)
+"rJg" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible,
+/obj/machinery/meter,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"rJO" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -55372,6 +55838,20 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
+"rKc" = (
+/obj/machinery/requests_console/directional/east{
+ department = "Garden";
+ name = "Garden Requests Console"
+ },
+/obj/effect/turf_decal/siding/green{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/hydroponics/garden)
"rKf" = (
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/engine,
@@ -55393,20 +55873,18 @@
/obj/machinery/smartfridge/organ,
/turf/open/floor/plating,
/area/station/medical/surgery/theatre)
-"rKm" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/computer/atmos_alert,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"rKn" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/line{
dir = 5
},
-/obj/machinery/duct,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"rKy" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/structure/transit_tube,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"rKI" = (
/obj/machinery/rnd/production/protolathe/department/science,
/obj/effect/turf_decal/bot,
@@ -55467,18 +55945,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"rKZ" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/blood/gibs/up,
-/obj/structure/sign/poster/official/wtf_is_co2/directional/north,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/security/execution/education)
"rLh" = (
/obj/machinery/airalarm/directional/south,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -55551,15 +56017,17 @@
/obj/structure/table_frame,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
-"rMi" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/portable_atmospherics/scrubber/huge,
-/obj/machinery/firealarm/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
+"rMc" = (
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 1
},
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"rMl" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -55592,17 +56060,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/exit/departure_lounge)
-"rNc" = (
-/obj/effect/turf_decal/siding/red{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
"rNe" = (
/obj/structure/chair/sofa/right/brown{
dir = 1
@@ -55626,19 +56083,21 @@
/obj/structure/barricade/wooden/crude,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"rNk" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/decal/cleanable/ash/large,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"rNo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/commons/locker)
+"rNs" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/item/radio/intercom/directional/west,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/starboard)
"rNx" = (
/turf/closed/wall/r_wall/rust,
/area/station/service/chapel)
@@ -55720,6 +56179,16 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"rOr" = (
+/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/light/warm/directional/east,
+/turf/open/floor/iron,
+/area/station/cargo/miningdock)
"rOz" = (
/turf/closed/wall/rust,
/area/station/service/chapel/funeral)
@@ -55748,14 +56217,14 @@
},
/turf/open/floor/plating,
/area/station/science/lab)
-"rON" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/violet/visible{
- dir = 8
+"rOK" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
},
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/area/station/security/processing)
"rOR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -55781,6 +56250,20 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
+"rPi" = (
+/obj/structure/chair/office/light{
+ dir = 1;
+ pixel_y = 3
+ },
+/obj/effect/turf_decal/siding/yellow{
+ dir = 5
+ },
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
"rPl" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 1
@@ -55813,6 +56296,14 @@
},
/turf/open/floor/iron/dark,
/area/station/science/lobby)
+"rPG" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/station/engineering/atmos)
"rPN" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -55834,20 +56325,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"rPR" = (
-/obj/structure/chair/sofa/left/maroon{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/railing{
- dir = 8
- },
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/service/bar/atrium)
"rPU" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/poster/contraband/grey_tide/directional/north,
@@ -55921,19 +56398,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/auxlab)
-"rQO" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/item/radio/intercom/directional/north,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/structure/table,
-/obj/item/storage/medkit/emergency,
-/turf/open/floor/iron,
-/area/station/commons/fitness/recreation)
"rQQ" = (
/obj/machinery/vending/hydronutrients,
/obj/effect/turf_decal/delivery,
@@ -55943,6 +56407,15 @@
},
/turf/open/floor/iron/dark,
/area/station/service/hydroponics)
+"rQT" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/machinery/door/airlock{
+ name = "Prison Kitchen"
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/security/prison/mess)
"rQZ" = (
/obj/structure/cable,
/obj/machinery/door/airlock/maintenance,
@@ -55962,6 +56435,25 @@
/obj/effect/mapping_helpers/airlock/access/all/security/brig,
/turf/open/floor/iron/dark,
/area/station/security/processing)
+"rRc" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"rRm" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/structure/crate,
@@ -55995,16 +56487,6 @@
/obj/machinery/atmospherics/components/unary/outlet_injector/on,
/turf/open/floor/engine/xenobio,
/area/station/science/xenobiology)
-"rRA" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/junction/flip{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"rRC" = (
/obj/machinery/recharge_station,
/obj/effect/turf_decal/bot,
@@ -56077,6 +56559,17 @@
"rSi" = (
/turf/closed/wall/rust,
/area/station/medical/break_room)
+"rSj" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/cable,
+/obj/structure/table,
+/obj/item/hfr_box/core,
+/obj/item/hfr_box/corner,
+/obj/item/hfr_box/corner,
+/obj/item/hfr_box/corner,
+/obj/item/hfr_box/corner,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"rSk" = (
/obj/structure/transit_tube/curved/flipped,
/obj/structure/lattice,
@@ -56106,14 +56599,6 @@
"rTk" = (
/turf/closed/wall,
/area/station/service/chapel/office)
-"rTm" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/engineering/hallway)
"rTp" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -56166,16 +56651,9 @@
/turf/open/floor/engine,
/area/station/ai/satellite/foyer)
"rTL" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/structure/table,
-/obj/effect/spawner/random/armory/barrier_grenades,
-/obj/item/key/security,
-/obj/item/key/security,
-/obj/machinery/light/small/red/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/security/armory)
+/obj/structure/sign/warning/fire/directional/west,
+/turf/open/misc/asteroid/airless,
+/area/space/nearstation)
"rTS" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -56245,22 +56723,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"rUZ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/red{
- dir = 9
- },
-/obj/effect/landmark/start/depsec/supply,
-/obj/effect/turf_decal/tile/red/anticorner/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/light/floor,
+"rVg" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
-/area/station/security/checkpoint/supply)
+/area/station/engineering/atmos)
"rVj" = (
/obj/effect/turf_decal/tile/purple{
dir = 8
@@ -56275,12 +56742,6 @@
/obj/item/stack/cable_coil/cut,
/turf/open/floor/wood,
/area/ruin/space/has_grav/abandoned_warehouse)
-"rVu" = (
-/obj/structure/bookcase/random/fiction,
-/obj/item/radio/intercom/directional/north,
-/obj/machinery/light/warm/dim/directional/north,
-/turf/open/floor/wood,
-/area/station/service/library)
"rVw" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -56313,14 +56774,15 @@
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/engine/telecomms,
/area/station/tcommsat/server)
-"rWT" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/door/poddoor/preopen{
- id = "atmos";
- name = "Atmospherics Blast Door"
- },
-/turf/open/floor/plating,
-/area/station/engineering/atmos/storage/gas)
+"rWh" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/rack,
+/obj/item/storage/toolbox/emergency,
+/obj/item/stack/rods/ten,
+/obj/machinery/camera/autoname/directional/south,
+/obj/machinery/light/dim/directional/south,
+/turf/open/floor/iron/checker,
+/area/station/security/mechbay)
"rXp" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -56348,6 +56810,12 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"rXY" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/showroomfloor,
+/area/station/security/warden)
"rYc" = (
/obj/structure/sign/nanotrasen,
/turf/closed/wall,
@@ -56359,16 +56827,18 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/wood,
/area/station/service/library)
-"rYh" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/engineering/glass{
- name = "Laser Room"
+"rYg" = (
+/obj/machinery/computer/crew{
+ dir = 1
},
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
+/obj/effect/turf_decal/bot,
+/obj/item/radio/intercom/directional/south,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/small/directional/south,
/turf/open/floor/iron/dark,
-/area/station/engineering/supermatter/room)
+/area/station/security/checkpoint/medical)
"rYi" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -56385,18 +56855,24 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"rYA" = (
-/obj/structure/chair/sofa/bench{
- dir = 4
- },
-/obj/machinery/newscaster/directional/west,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"rYK" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/service/library)
+"rYQ" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"rZb" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -56472,13 +56948,6 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating,
/area/space/nearstation)
-"say" = (
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/command/bridge)
"saz" = (
/obj/structure/flora/grass/jungle/b/style_random,
/obj/structure/window/reinforced/spawner/directional/south,
@@ -56605,6 +57074,17 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/captain)
+"sch" = (
+/obj/machinery/flasher/directional/east{
+ id = "AI";
+ name = "Meatbag Pacifier"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/end{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"scp" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/corner{
@@ -56665,11 +57145,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/commons/storage/primary)
-"sda" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/sign/warning/secure_area/directional/south,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal)
"sdd" = (
/obj/structure/table,
/obj/item/clipboard,
@@ -56712,6 +57187,19 @@
/obj/machinery/fax/heads/ce,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/ce)
+"sdN" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/firealarm/directional/west,
+/obj/machinery/suit_storage_unit/standard_unit{
+ desc = "An industrial suit storage device carrying retro space suits. Neat!";
+ helmet_type = /obj/item/clothing/head/helmet/space;
+ suit_type = /obj/item/clothing/suit/space
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/eva)
"sdT" = (
/obj/structure/girder,
/obj/effect/decal/cleanable/dirt,
@@ -56726,6 +57214,21 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/hallway)
+"sek" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer,
+/obj/item/radio/intercom/directional/north,
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/cryo)
+"set" = (
+/obj/structure/sign/departments/cargo/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/fore)
"sex" = (
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 1
@@ -56832,16 +57335,15 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/aft)
-"sfV" = (
+"sfN" = (
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
dir = 4
},
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/pumproom)
"sgh" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -56893,15 +57395,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/armory,
/turf/open/floor/iron/dark,
/area/station/security/office)
-"sgK" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"shk" = (
/obj/machinery/telecomms/bus/preset_four,
/turf/open/floor/circuit/green/telecomms/mainframe,
@@ -56923,14 +57416,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/chapel/monastery)
-"shH" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"shO" = (
/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{
dir = 1
@@ -56973,6 +57458,14 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"sie" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/poddoor/preopen{
+ id = "atmos";
+ name = "Atmospherics Blast Door"
+ },
+/turf/open/floor/plating,
+/area/station/engineering/atmos/office)
"sij" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -56990,15 +57483,6 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/department/medical/central)
-"sip" = (
-/obj/effect/spawner/random/vending/colavend,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
- },
-/obj/machinery/light/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/hallway/primary/port)
"siF" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/kirbyplants/organic/plant16,
@@ -57033,6 +57517,19 @@
/obj/item/toy/plush/ratplush,
/turf/open/floor/bronze/filled,
/area/station/maintenance/department/chapel)
+"siZ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/pumproom)
"sjd" = (
/obj/machinery/door/airlock/maintenance{
name = "Mining Dock Maintenance"
@@ -57051,42 +57548,10 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"sjp" = (
-/obj/effect/decal/cleanable/blood/old,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/entry)
"sjG" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/service/chapel)
-"sjK" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science)
-"sjS" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/service/chapel)
"sjV" = (
/obj/machinery/door/airlock/maintenance,
/obj/effect/mapping_helpers/airlock/abandoned,
@@ -57097,6 +57562,32 @@
/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
+"sjY" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/supply/hidden/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"skh" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/storage)
"skA" = (
/obj/effect/turf_decal/delivery,
/obj/effect/decal/cleanable/dirt,
@@ -57182,27 +57673,21 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
-"slu" = (
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"slz" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"slw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
dir = 4
},
/obj/machinery/duct,
-/obj/machinery/firealarm/directional/south,
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/machinery/light/warm/directional/south,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
/turf/open/floor/iron/showroomfloor,
-/area/station/service/bar/atrium)
+/area/station/medical/pharmacy)
"slB" = (
/obj/structure/chair/pew/left{
dir = 8
@@ -57216,21 +57701,14 @@
dir = 1
},
/area/station/service/chapel)
-"slM" = (
+"slV" = (
+/obj/structure/rack,
+/obj/effect/spawner/random/techstorage/security_all,
/obj/effect/turf_decal/bot,
-/obj/machinery/newscaster/directional/west,
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron,
-/area/station/command/heads_quarters/hop)
-"slX" = (
-/obj/effect/turf_decal/box/corners{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
+/obj/structure/extinguisher_cabinet/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"smb" = (
/obj/effect/turf_decal/bot,
/obj/structure/rack,
@@ -57302,16 +57780,15 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"sni" = (
-/obj/structure/sign/warning/fire,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 4
- },
-/turf/closed/wall,
-/area/station/engineering/atmos)
"snn" = (
/turf/closed/wall/rust,
/area/station/maintenance/department/chapel/monastery)
+"sno" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 5
+ },
+/turf/closed/wall/rust,
+/area/station/engineering/atmos)
"snw" = (
/obj/effect/turf_decal/bot,
/obj/machinery/holopad,
@@ -57347,20 +57824,29 @@
},
/turf/open/floor/carpet/green,
/area/station/service/lawoffice)
-"sog" = (
-/obj/structure/table,
-/obj/item/stack/sheet/iron/ten,
-/obj/item/stack/cable_coil,
-/obj/item/storage/backpack/duffelbag/sec/surgery{
- pixel_y = 5
+"sop" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
+"sot" = (
+/obj/machinery/door/airlock/atmos/glass{
+ name = "Atmospherics"
},
-/obj/item/wirecutters,
-/obj/machinery/firealarm/directional/east,
-/obj/effect/turf_decal/tile/neutral{
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
+ },
+/obj/machinery/duct,
+/obj/effect/turf_decal/stripes/line{
dir = 8
},
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
/turf/open/floor/iron/dark,
-/area/station/security/execution/education)
+/area/station/engineering/atmos/storage)
"soB" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/red/opposingcorners,
@@ -57386,6 +57872,17 @@
/obj/machinery/firealarm/directional/east,
/turf/open/floor/iron/showroomfloor,
/area/station/science)
+"soY" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"soZ" = (
/obj/structure/table/reinforced,
/obj/item/reagent_containers/condiment/saltshaker{
@@ -57418,6 +57915,22 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/carpet/green,
/area/station/maintenance/port/greater)
+"spv" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/cyan/hidden{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/hallway)
"spw" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -57447,20 +57960,6 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"spU" = (
-/obj/machinery/modular_computer/preset/cargochat/engineering{
- dir = 8
- },
-/obj/machinery/light_switch/directional/east,
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"spX" = (
/obj/structure/cable,
/obj/machinery/space_heater,
@@ -57510,6 +58009,15 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/execution/transfer)
+"sqF" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
+ dir = 10
+ },
+/turf/closed/wall/r_wall,
+/area/station/maintenance/disposal/incinerator)
"sqK" = (
/obj/structure/table,
/obj/effect/decal/cleanable/cobweb,
@@ -57564,6 +58072,33 @@
/obj/effect/mapping_helpers/airlock/access/all/security/entrance,
/turf/open/floor/iron/dark,
/area/station/security/brig)
+"srm" = (
+/obj/machinery/light/warm/directional/west,
+/obj/structure/table,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/item/stack/sheet/glass/fifty{
+ pixel_y = -4;
+ pixel_x = 1
+ },
+/obj/item/stack/sheet/glass/fifty{
+ pixel_y = -4;
+ pixel_x = 1
+ },
+/obj/item/stack/sheet/iron/fifty,
+/obj/item/stack/sheet/iron/fifty,
+/turf/open/floor/iron/dark,
+/area/station/engineering/main)
+"srn" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/storage)
"srs" = (
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron/dark,
@@ -57592,12 +58127,32 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
-"srB" = (
-/obj/item/kirbyplants/organic/plant21,
-/obj/machinery/airalarm/directional/east,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
-/turf/open/floor/iron/dark/corner,
-/area/station/hallway/primary/central/fore)
+"srC" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/siding/purple/end{
+ dir = 1
+ },
+/obj/machinery/duct,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/auxlab)
+"srQ" = (
+/obj/structure/sign/warning/cold_temp/directional/north,
+/obj/structure/table,
+/obj/item/storage/pill_bottle/mannitol{
+ pixel_x = 8;
+ pixel_y = 7
+ },
+/obj/item/wrench/medical,
+/obj/item/reagent_containers/cup/beaker/cryoxadone,
+/obj/item/reagent_containers/cup/beaker/cryoxadone,
+/obj/item/reagent_containers/cup/beaker/cryoxadone,
+/obj/item/reagent_containers/cup/beaker/cryoxadone,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/cryo)
"srR" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -57619,19 +58174,21 @@
/obj/effect/landmark/navigate_destination/det,
/turf/open/floor/iron/dark,
/area/station/security/detectives_office)
-"srX" = (
-/obj/effect/turf_decal/stripes/corner{
+"ssg" = (
+/obj/effect/turf_decal/siding/blue{
dir = 4
},
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 4
},
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/obj/machinery/duct,
+/obj/machinery/light/cold/directional/east,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
"ssi" = (
/obj/effect/turf_decal/bot,
/obj/machinery/computer/security{
@@ -57685,6 +58242,22 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"ssD" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"ssF" = (
/obj/structure/cable,
/turf/open/floor/iron,
@@ -57699,6 +58272,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/chapel,
/area/station/service/chapel)
+"ssM" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/sign/warning/hot_temp/directional/north,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"ssQ" = (
+/obj/structure/sign/warning/electric_shock/directional/north,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"ssU" = (
/obj/structure/flora/grass/jungle/a/style_random,
/obj/effect/turf_decal/stripes/line{
@@ -57737,7 +58319,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/obj/effect/spawner/random/structure/crate,
/obj/effect/mapping_helpers/broken_floor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
@@ -57755,10 +58336,12 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/auxlab)
-"stU" = (
-/obj/machinery/telecomms/server/presets/common,
-/turf/open/floor/circuit/green/telecomms/mainframe,
-/area/station/tcommsat/server)
+"suh" = (
+/obj/machinery/pdapainter,
+/obj/structure/sign/poster/official/ian/directional/north,
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/hop)
"suj" = (
/obj/machinery/door/airlock/external{
name = "External Freight Airlock"
@@ -57774,11 +58357,27 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/abandoned_warehouse)
+"suy" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"suA" = (
/obj/effect/turf_decal/delivery,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"suE" = (
+/obj/machinery/camera/directional/north{
+ c_tag = "Atrium Starboard";
+ name = "service camera"
+ },
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/iron/showroomfloor,
+/area/station/service/bar/atrium)
"suQ" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -57794,10 +58393,38 @@
/obj/docking_port/stationary/escape_pod,
/turf/open/space/basic,
/area/space)
+"suY" = (
+/obj/structure/table,
+/obj/item/hand_labeler,
+/obj/item/crowbar/red,
+/obj/item/gps/mining,
+/obj/effect/decal/cleanable/cobweb,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light_switch/directional/north,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/cargo/miningdock)
"svk" = (
/obj/structure/flora/grass/jungle/a/style_random,
/turf/open/misc/asteroid,
/area/station/maintenance/port/greater)
+"svm" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
"svp" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/machinery/atmospherics/components/trinary/filter/atmos/o2,
@@ -57805,6 +58432,23 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/engineering/atmos)
+"svU" = (
+/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/highsecurity{
+ name = "AI Upload"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload,
+/obj/effect/landmark/navigate_destination/aiupload,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"svW" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/rack,
@@ -57830,30 +58474,17 @@
/obj/structure/girder,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"swC" = (
-/obj/structure/table,
-/obj/item/clipboard,
-/obj/item/disk/computer/ordnance,
-/obj/item/disk/computer/ordnance,
-/obj/item/disk/computer/ordnance,
-/obj/item/circuitboard/aicore{
- pixel_y = 5
- },
-/obj/item/hand_labeler,
-/obj/machinery/airalarm/directional/west,
-/obj/item/pai_card{
- pixel_x = 6
- },
-/obj/item/aicard,
-/obj/item/taperecorder{
- pixel_x = -6;
- pixel_y = 6
+"swq" = (
+/obj/effect/turf_decal/siding/yellow{
+ dir = 4
},
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 4
},
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/rd)
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
"swR" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -57889,12 +58520,27 @@
"sxi" = (
/turf/closed/wall/r_wall,
/area/station/service/chapel/office)
+"sxj" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/atmospherics/pipe/smart/simple/brown/hidden{
+ dir = 1
+ },
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
"sxl" = (
/obj/machinery/door/airlock/atmos{
name = "Filter Chamber"
},
/obj/effect/mapping_helpers/airlock/abandoned,
/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/maintenance/aft)
"sxn" = (
@@ -57929,41 +58575,24 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/command/heads_quarters/ce)
-"syl" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/brown{
- dir = 1
+"syh" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/cargo/miningdock)
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"syu" = (
/obj/structure/sign/warning/deathsposal,
/turf/closed/wall,
/area/station/science/xenobiology)
-"syA" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/ce)
"syF" = (
/obj/structure/girder,
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"syU" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"syZ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -58016,6 +58645,15 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"szZ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"sAm" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -58054,21 +58692,6 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark,
/area/station/cargo/sorting)
-"sAV" = (
-/obj/machinery/light/directional/south,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 4
- },
-/obj/effect/decal/cleanable/ash,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"sAZ" = (
/obj/structure/rack,
/obj/effect/turf_decal/bot,
@@ -58086,27 +58709,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark,
/area/station/command/gateway)
-"sBb" = (
-/obj/structure/table/wood,
-/obj/item/storage/fancy/cigarettes/cigars/havana{
- pixel_y = 5
- },
-/obj/item/lighter,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain)
-"sBd" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/dock)
"sBl" = (
/obj/effect/turf_decal/bot,
/obj/effect/turf_decal/stripes/corner{
@@ -58118,17 +58720,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
-"sBm" = (
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 4
- },
-/obj/machinery/firealarm/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"sBz" = (
/obj/structure/sign/warning/secure_area,
/turf/closed/wall,
@@ -58167,11 +58758,18 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/primary/central/fore)
-"sCr" = (
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 1
+"sCm" = (
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 4
},
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"sCr" = (
/obj/effect/decal/cleanable/dirt,
+/obj/machinery/duct,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
/turf/open/floor/iron,
/area/station/engineering/main)
"sCu" = (
@@ -58182,25 +58780,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/science/auxlab)
-"sCx" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/washing_machine,
-/obj/structure/extinguisher_cabinet/directional/north,
-/obj/machinery/light_switch/directional/east,
-/obj/effect/turf_decal/tile/neutral/opposingcorners{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/light/cold/directional/east,
-/turf/open/floor/iron/showroomfloor,
-/area/station/commons/toilet/restrooms)
-"sCy" = (
-/obj/effect/landmark/event_spawn,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/turf_decal/box,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"sCC" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
@@ -58246,35 +58825,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"sCV" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/components/binary/pump/on{
- dir = 4;
- name = "Cold Loop to Gas"
- },
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
-"sCY" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"sDd" = (
/obj/machinery/door/airlock/research{
name = "Ordnance Lab"
@@ -58294,12 +58844,8 @@
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
"sDe" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/closet/crate{
- icon_state = "crateopen"
- },
-/obj/structure/grille/broken,
-/obj/effect/spawner/random/maintenance,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/aft)
"sDq" = (
@@ -58308,10 +58854,12 @@
/obj/structure/closet/wardrobe/mixed,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"sDv" = (
-/obj/structure/table,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
+"sDw" = (
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"sDy" = (
/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{
dir = 4
@@ -58321,6 +58869,24 @@
"sDD" = (
/turf/open/floor/iron/showroomfloor,
/area/station/commons/toilet/restrooms)
+"sDQ" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4{
+ dir = 5
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"sDW" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/stripes/corner,
@@ -58372,6 +58938,32 @@
},
/turf/open/floor/grass,
/area/station/security/prison/garden)
+"sEO" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/portable_atmospherics/scrubber/huge,
+/obj/structure/extinguisher_cabinet/directional/east,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
+"sEU" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating,
+/area/station/engineering/atmos/pumproom)
+"sFe" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"sFg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -58385,25 +58977,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance)
-"sFv" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/siding/red{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/landmark/start/depsec/engineering,
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/security/checkpoint/engineering)
"sFF" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -58423,28 +58996,19 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/brig)
+"sGB" = (
+/obj/machinery/portable_atmospherics/canister/plasma,
+/obj/item/radio/intercom/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance/storage)
"sGF" = (
/obj/effect/turf_decal/siding/wood{
dir = 6
},
+/obj/effect/turf_decal/bot,
+/obj/machinery/holopad,
/turf/open/floor/wood,
/area/station/command/heads_quarters/qm)
-"sGV" = (
-/obj/effect/turf_decal/loading_area,
-/obj/machinery/atmospherics/components/binary/pump/on{
- name = "Unfiltered & Air to Mix"
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green/anticorner/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/atmos/pumproom)
"sHf" = (
/obj/structure/bed/dogbed/renault,
/obj/machinery/button/door/directional/south{
@@ -58482,19 +59046,25 @@
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
"sHo" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/computer/security/labor,
-/obj/machinery/requests_console/directional/north{
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/table,
+/obj/machinery/requests_console/directional/west{
department = "Security";
name = "Security Requests Console"
},
-/obj/effect/mapping_helpers/requests_console/supplies,
+/obj/effect/mapping_helpers/requests_console/information,
/obj/effect/mapping_helpers/requests_console/assistance,
-/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light_switch/directional/north{
+ pixel_x = 6
+ },
/obj/effect/decal/cleanable/cobweb,
-/obj/machinery/airalarm/directional/west,
+/obj/machinery/computer/security/telescreen/engine,
+/obj/machinery/firealarm/directional/north{
+ pixel_x = -5
+ },
/turf/open/floor/iron/dark,
-/area/station/security/checkpoint/supply)
+/area/station/security/checkpoint/engineering)
"sHC" = (
/obj/machinery/door/airlock/public/glass{
name = "Docking Hallway"
@@ -58539,6 +59109,13 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/misc/asteroid,
/area/space/nearstation)
+"sIl" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"sIo" = (
/obj/structure/table,
/obj/item/folder{
@@ -58588,22 +59165,16 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"sIx" = (
-/obj/effect/turf_decal/loading_area{
- dir = 4;
- pixel_x = 5
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
+"sIy" = (
+/obj/structure/rack,
+/obj/effect/turf_decal/bot,
+/obj/item/storage/box/lights/mixed{
+ pixel_y = 5
},
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
+/obj/item/screwdriver,
+/obj/item/stack/cable_coil,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"sIH" = (
/obj/machinery/light_switch/directional/north,
/obj/machinery/bci_implanter,
@@ -58628,17 +59199,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/security/execution/transfer)
-"sJH" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/meter,
-/obj/machinery/light/directional/west,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/machinery/status_display/evac/directional/west,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"sJI" = (
/obj/structure/window/reinforced/spawner/directional/north,
/obj/structure/window/reinforced/spawner/directional/south,
@@ -58650,7 +59210,7 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 8
},
-/turf/open/floor/iron/dark,
+/turf/open/floor/iron/smooth,
/area/station/engineering/atmos)
"sJJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -58659,6 +59219,12 @@
},
/turf/open/floor/engine,
/area/station/tcommsat/computer)
+"sJK" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/carbon_input{
+ dir = 4
+ },
+/turf/open/floor/engine/co2,
+/area/station/engineering/atmos)
"sJM" = (
/turf/closed/wall,
/area/station/medical/break_room)
@@ -58742,6 +59308,12 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel)
+"sKO" = (
+/obj/effect/landmark/event_spawn,
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/showroomfloor,
+/area/station/security/execution/transfer)
"sKV" = (
/obj/structure/closet/crate/wooden/toy,
/obj/effect/turf_decal/box,
@@ -58776,12 +59348,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/lockers)
-"sLl" = (
-/obj/structure/girder,
-/obj/structure/grille,
-/obj/structure/barricade/wooden,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"sLw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -58798,6 +59364,20 @@
},
/turf/open/floor/iron,
/area/station/service/janitor)
+"sLy" = (
+/obj/machinery/computer/communications{
+ dir = 1
+ },
+/obj/structure/plaque/static_plaque/golden/captain{
+ pixel_y = -32
+ },
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/warm/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain)
"sLD" = (
/obj/structure/extinguisher_cabinet/directional/north,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -58825,17 +59405,6 @@
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron,
/area/station/service/janitor)
-"sLW" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/supply/visible{
- dir = 4
- },
-/obj/item/radio/intercom/directional/east,
-/obj/machinery/light/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/pumproom)
"sMa" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -58856,20 +59425,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/security/processing)
-"sMf" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock/atmos{
- name = "Atmospherics"
- },
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "atmos-entrance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"sMh" = (
/turf/closed/wall/rust,
/area/station/hallway/secondary/exit/departure_lounge)
@@ -58882,16 +59437,6 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"sMk" = (
-/obj/effect/spawner/random/vending/snackvend,
-/obj/effect/turf_decal/bot,
-/obj/machinery/airalarm/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/light/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/hallway/primary/central/fore)
"sMu" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -58910,18 +59455,24 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
+"sMG" = (
+/obj/structure/table/wood/fancy/black,
+/obj/item/food/grown/flower/poppy/lily{
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/item/food/grown/flower/poppy/lily{
+ pixel_x = 6;
+ pixel_y = 6
+ },
+/obj/item/food/grown/flower/poppy/lily,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/monastery)
"sMO" = (
/obj/machinery/telecomms/processor/preset_four,
/obj/structure/cable,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/station/tcommsat/server)
-"sMY" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"sNa" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -58933,17 +59484,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"sNc" = (
-/obj/structure/bodycontainer/morgue{
- dir = 8
- },
-/obj/effect/turf_decal/bot_white,
-/obj/structure/sign/poster/contraband/random/directional/east,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"sNe" = (
/obj/structure/filingcabinet/chestdrawer,
/obj/machinery/firealarm/directional/west,
@@ -58956,6 +59496,20 @@
},
/turf/open/floor/iron,
/area/station/command/bridge)
+"sNt" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "brigfrontdoor";
+ name = "Front Security Blast Door"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/caution/stand_clear,
+/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,
+/area/station/security/brig)
"sNx" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/shard,
@@ -58964,16 +59518,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"sND" = (
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"sOi" = (
/obj/effect/turf_decal/bot,
/obj/machinery/status_display/door_timer{
@@ -58990,20 +59534,6 @@
},
/turf/open/floor/iron,
/area/station/security/brig)
-"sOn" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"sOy" = (
/obj/structure/chair{
dir = 1
@@ -59020,6 +59550,15 @@
/obj/machinery/duct,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
+"sOz" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/obj/machinery/light/cold/dim/directional/east,
+/obj/machinery/newscaster/directional/east,
+/turf/open/floor/iron/cafeteria,
+/area/station/security/prison/garden)
"sOD" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -59029,12 +59568,13 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"sOJ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/central)
+"sOM" = (
+/obj/machinery/atmospherics/components/binary/valve/digital/on{
+ dir = 4;
+ name = "Waste Release"
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"sOS" = (
/obj/structure/window/reinforced/spawner/directional/south,
/obj/effect/turf_decal/siding/green,
@@ -59047,10 +59587,6 @@
/obj/structure/flora/bush/jungle/c/style_2,
/turf/open/misc/asteroid,
/area/space/nearstation)
-"sOV" = (
-/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible,
-/turf/closed/wall/r_wall,
-/area/station/maintenance/aft)
"sOX" = (
/obj/machinery/light_switch/directional/south,
/obj/effect/turf_decal/stripes/corner,
@@ -59070,35 +59606,16 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"sPg" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/blood/old,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/obj/machinery/camera/autoname/directional/west,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science)
-"sPG" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/siding/red/corner{
- dir = 1
- },
-/obj/effect/landmark/start/depsec/engineering,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/security/checkpoint/engineering)
+"sPt" = (
+/obj/machinery/vending/wardrobe/bar_wardrobe,
+/obj/effect/turf_decal/delivery,
+/obj/effect/decal/cleanable/cobweb,
+/obj/item/radio/intercom/directional/west,
+/obj/structure/extinguisher_cabinet/directional/north,
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/service/bar/backroom)
"sPK" = (
/obj/effect/turf_decal/sand/plating,
/obj/structure/cable,
@@ -59113,16 +59630,6 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/aft)
-"sQd" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/corner{
- dir = 4
- },
-/area/station/hallway/primary/fore)
"sQj" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/blue{
@@ -59172,6 +59679,16 @@
dir = 4
},
/area/station/service/chapel)
+"sQF" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/status_display/ai/directional/south,
+/obj/machinery/firealarm/directional/east,
+/turf/open/floor/engine,
+/area/station/ai/satellite/chamber)
"sQI" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -59221,14 +59738,6 @@
/obj/effect/turf_decal/tile/green/fourcorners,
/turf/open/floor/iron/checker,
/area/station/service/hydroponics)
-"sRi" = (
-/obj/structure/lattice/catwalk,
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
-/turf/open/space/basic,
-/area/space/nearstation)
"sRm" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -59257,20 +59766,13 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/science/ordnance)
-"sRO" = (
-/obj/structure/sign/warning/cold_temp/directional/north,
+"sRH" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
/obj/structure/table,
-/obj/item/storage/pill_bottle/mannitol{
- pixel_x = 8;
- pixel_y = 7
- },
-/obj/item/wrench/medical,
-/obj/item/reagent_containers/cup/beaker/cryoxadone,
-/obj/item/reagent_containers/cup/beaker/cryoxadone,
-/obj/item/reagent_containers/cup/beaker/cryoxadone,
-/obj/item/reagent_containers/cup/beaker/cryoxadone,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/cryo)
+/obj/item/surgery_tray/full,
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/medical/surgery/theatre)
"sRZ" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -59293,18 +59795,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
-"sSh" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/light/directional/north,
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 8;
- name = "Port to Filter"
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"sSq" = (
/obj/structure/window/reinforced/spawner/directional/south,
/obj/structure/window/reinforced/spawner/directional/north,
@@ -59365,9 +59855,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
-"sSZ" = (
-/turf/closed/wall/r_wall,
-/area/station/engineering/atmos)
"sTe" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -59403,9 +59890,27 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation)
+"sTC" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"sTO" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/solars/port/fore)
+"sTW" = (
+/obj/structure/window/reinforced/plasma/spawner/directional/east,
+/obj/structure/cable,
+/obj/machinery/power/energy_accumulator/tesla_coil/anchored,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 5
+ },
+/turf/open/floor/circuit/green{
+ luminosity = 2
+ },
+/area/station/engineering/supermatter/engine)
"sTZ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -59419,17 +59924,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/office)
-"sUj" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/structure/cable,
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/cargo/office)
"sUq" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -59506,6 +60000,13 @@
dir = 1
},
/area/station/service/chapel/monastery)
+"sVM" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
"sVN" = (
/obj/structure/table,
/obj/item/paper_bin{
@@ -59564,13 +60065,6 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation)
-"sVS" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"sVZ" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -59590,12 +60084,16 @@
/area/station/maintenance/solars/starboard/aft)
"sWj" = (
/obj/structure/table,
-/obj/item/clothing/mask/gas,
-/obj/item/storage/toolbox/electrical,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
},
-/turf/open/floor/engine,
+/obj/item/storage/toolbox/mechanical{
+ pixel_y = 4;
+ pixel_x = 2
+ },
+/obj/item/storage/toolbox/electrical,
+/obj/structure/sign/poster/ripped/directional/east,
+/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
"sWl" = (
/turf/closed/wall/rust,
@@ -59648,12 +60146,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/iron/dark,
/area/station/security/office)
-"sXo" = (
-/obj/structure/chair/comfy/brown{
- dir = 4
- },
-/turf/open/floor/carpet/royalblack,
-/area/station/command/heads_quarters/captain)
"sXB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -59705,12 +60197,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/engineering/lobby)
-"sXQ" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/shieldgen,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/dark,
-/area/station/engineering/supermatter/room)
"sXT" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -59757,20 +60243,21 @@
/obj/effect/spawner/structure/window/reinforced/plasma,
/turf/open/floor/plating,
/area/station/maintenance/disposal/incinerator)
-"sYx" = (
-/obj/machinery/airalarm/directional/north,
-/obj/machinery/camera/directional/north{
- c_tag = "Engineering Desk";
- name = "engineering camera";
- network = list("ss13","engine")
- },
-/obj/structure/disposalpipe/segment{
+"sYK" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/radio/intercom/directional/south,
+/obj/effect/turf_decal/stripes/corner{
dir = 4
},
-/obj/machinery/rnd/production/protolathe/department/engineering,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron/dark,
-/area/station/engineering/lobby)
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple/anticorner/contrasted,
+/obj/effect/turf_decal/tile/purple,
+/obj/machinery/camera/autoname/directional/east,
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/auxlab)
"sYM" = (
/obj/machinery/light/small/directional/south,
/obj/effect/turf_decal/stripes/line{
@@ -59781,16 +60268,17 @@
},
/turf/open/floor/plating,
/area/station/service/chapel)
-"sZb" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/thermomachine/heater{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
+"sYO" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/closed/wall/r_wall,
+/area/station/security/checkpoint/engineering)
+"sYZ" = (
+/mob/living/carbon/human/species/monkey,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/grass,
+/area/station/science/auxlab)
"sZe" = (
/obj/effect/decal/cleanable/greenglow,
/obj/effect/decal/cleanable/dirt,
@@ -59809,19 +60297,6 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating/airless,
/area/space/nearstation)
-"sZz" = (
-/obj/effect/turf_decal/loading_area{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"sZB" = (
/obj/machinery/disposal/delivery_chute{
desc = "Only the worthy may claim the belt";
@@ -59837,30 +60312,14 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/storage/primary)
-"sZC" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/item/radio/intercom/directional/south,
-/obj/structure/disposalpipe/segment{
- dir = 4
+"sZJ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
},
+/obj/effect/turf_decal/stripes/line,
/obj/machinery/duct,
-/obj/machinery/light/warm/directional/south,
-/turf/open/floor/wood,
-/area/station/service/bar/atrium)
-"sZK" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/burnt_floor,
-/obj/machinery/atmospherics/components/binary/pump/on/layer4{
- dir = 2;
- name = "Airlock Pump";
- target_pressure = 300;
- hide = 1
- },
-/obj/effect/spawner/random/structure/tank_holder,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard)
+/turf/open/floor/engine,
+/area/station/engineering/main)
"sZL" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -59870,29 +60329,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
-"sZR" = (
-/obj/structure/table,
-/obj/item/stack/sheet/iron/fifty,
-/obj/item/stack/sheet/glass/fifty,
-/obj/machinery/airalarm/directional/east,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/light/cold/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/ai/satellite/maintenance/storage)
-"sZV" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
-"sZX" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/landmark/start/chaplain,
-/obj/machinery/light/floor,
-/turf/open/floor/carpet/red,
-/area/station/service/chapel)
"tav" = (
/obj/structure/cable,
/obj/effect/turf_decal/bot,
@@ -59905,6 +60341,13 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/ce)
+"taA" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/supermatter/room)
"taM" = (
/obj/machinery/nuclearbomb/selfdestruct,
/turf/open/floor/circuit/green{
@@ -59981,16 +60424,6 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron/showroomfloor,
/area/station/science/genetics)
-"tbz" = (
-/obj/effect/decal/cleanable/blood/old,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/structure/sign/poster/official/enlist/directional/east,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/exit/departure_lounge)
"tbE" = (
/obj/machinery/door/airlock/external{
name = "Arrival Shuttle Airlock"
@@ -60011,15 +60444,6 @@
/obj/effect/mapping_helpers/airlock/access/all/supply/general,
/turf/open/floor/iron/dark,
/area/station/cargo/drone_bay)
-"tcg" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/space_heater,
-/obj/machinery/atmospherics/components/binary/pump/on{
- dir = 1;
- name = "Air to External Air Ports"
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"tck" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/bot,
@@ -60084,13 +60508,6 @@
/obj/machinery/telecomms/processor/preset_three,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/station/tcommsat/server)
-"tdv" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"tdB" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -60098,6 +60515,25 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/treatment_center)
+"tdC" = (
+/obj/item/kirbyplants/organic/plant5,
+/obj/effect/landmark/start/hangover,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
+"tdG" = (
+/obj/structure/extinguisher_cabinet/directional/south,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/vending/tool,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"tdW" = (
/obj/machinery/light_switch/directional/south,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -60129,18 +60565,6 @@
},
/turf/open/floor/carpet/royalblue,
/area/station/command/heads_quarters/captain)
-"teg" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/hidden{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/dark/visible,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
"tej" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
@@ -60185,6 +60609,16 @@
/obj/structure/sign/warning/secure_area,
/turf/closed/wall/r_wall/rust,
/area/station/engineering/supermatter/room)
+"tfe" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/monastery)
"tfh" = (
/obj/structure/disposalpipe/sorting/mail{
dir = 8;
@@ -60232,15 +60666,6 @@
"tfI" = (
/turf/closed/wall/r_wall/rust,
/area/station/service/chapel/office)
-"tfS" = (
-/obj/structure/table,
-/obj/machinery/recharger,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/machinery/light/dim/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/security/brig)
"tfV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -60268,25 +60693,12 @@
},
/turf/open/floor/plating,
/area/station/hallway/primary/fore)
-"tgd" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/red{
- dir = 1
- },
-/obj/effect/landmark/start/depsec/engineering,
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/security/checkpoint/engineering)
+"tge" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/pipedispenser,
+/obj/machinery/status_display/evac/directional/south,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"tgp" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/crate,
@@ -60294,6 +60706,14 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"tgs" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"tgx" = (
/obj/item/storage/toolbox/electrical{
pixel_x = -3;
@@ -60311,10 +60731,6 @@
},
/turf/open/floor/iron/dark,
/area/station/security/warden)
-"tgU" = (
-/obj/structure/flora/rock/pile/style_2,
-/turf/open/misc/asteroid/airless,
-/area/space/nearstation)
"tgZ" = (
/obj/structure/table,
/obj/item/radio{
@@ -60333,11 +60749,13 @@
},
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"thg" = (
-/obj/structure/lattice,
-/obj/structure/transit_tube/crossing/horizontal,
-/turf/open/space/basic,
-/area/space/nearstation)
+"thf" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/hallway/primary/central/fore)
"tho" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 4
@@ -60372,17 +60790,18 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/medical/storage)
-"thT" = (
-/obj/item/radio/intercom/directional/west,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow{
+"thJ" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
-/turf/open/floor/iron,
-/area/station/cargo/storage)
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/iron/smooth_half,
+/area/station/engineering/supermatter/room)
"thU" = (
/obj/structure/cable,
/obj/structure/grille/broken,
@@ -60420,17 +60839,13 @@
/obj/machinery/computer/order_console/bitrunning,
/turf/open/floor/iron/dark,
/area/station/cargo/storage)
-"tjd" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow{
+"tiU" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 4
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/cargo/miningdock)
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"tjv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -60493,6 +60908,15 @@
/obj/machinery/computer/security/telescreen/rd/directional/east,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
+"tkp" = (
+/obj/machinery/smartfridge/food,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 8;
+ id = "kitchenshutters";
+ name = "Kitchen Shutters"
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/service/kitchen)
"tkO" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 1
@@ -60500,7 +60924,8 @@
/obj/machinery/portable_atmospherics/canister,
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/box,
-/turf/open/floor/iron/dark,
+/obj/structure/sign/warning/fire/directional/east,
+/turf/open/floor/iron/dark/textured_large,
/area/station/engineering/supermatter/room)
"tkP" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
@@ -60537,18 +60962,13 @@
},
/turf/open/space/basic,
/area/space)
-"tlt" = (
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
- },
-/obj/item/flatpack/flatpacker,
-/obj/effect/turf_decal/delivery,
-/obj/structure/disposalpipe/segment{
+"tld" = (
+/obj/effect/turf_decal/stripes/line{
dir = 4
},
-/obj/machinery/light/cold/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/science/lab)
+/obj/machinery/light/warm/directional/south,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"tly" = (
/obj/machinery/door/airlock/maintenance{
name = "Xenobiology Maintenance"
@@ -60561,6 +60981,14 @@
/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard)
+"tlz" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"tlA" = (
/obj/structure/flora/bush/lavendergrass/style_random,
/obj/structure/flora/bush/leavy/style_random,
@@ -60691,13 +61119,6 @@
},
/turf/open/floor/plating/plasma/rust,
/area/station/maintenance/space_hut/plasmaman)
-"tmx" = (
-/obj/machinery/modular_computer/preset/id,
-/obj/effect/turf_decal/bot,
-/obj/machinery/computer/security/telescreen/ce/directional/north,
-/obj/machinery/light/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/ce)
"tmD" = (
/obj/machinery/firealarm/directional/west,
/obj/machinery/portable_atmospherics/canister/air,
@@ -60722,6 +61143,18 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
+"tmS" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/rack,
+/obj/structure/grille/broken,
+/obj/item/wallframe/apc,
+/obj/item/electronics/apc{
+ pixel_x = 1;
+ pixel_y = 8
+ },
+/obj/structure/sign/poster/contraband/random/directional/east,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"tmV" = (
/obj/structure/table/wood,
/obj/effect/decal/cleanable/cobweb/cobweb2,
@@ -60745,35 +61178,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
-"tnl" = (
-/obj/structure/rack,
-/obj/item/storage/toolbox/emergency{
- pixel_y = 5
- },
-/obj/item/stack/cable_coil,
-/obj/item/wirecutters,
-/obj/effect/turf_decal/bot,
-/obj/machinery/airalarm/directional/west,
-/obj/structure/extinguisher_cabinet/directional/north,
-/obj/machinery/camera/directional/north{
- c_tag = "Recreation Arcade";
- name = "recreation camera"
- },
-/obj/effect/decal/cleanable/cobweb,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron/dark,
-/area/station/commons/fitness/recreation)
-"tnp" = (
-/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/camera/directional/south{
- c_tag = "Atmospherics Desk";
- name = "atmospherics camera";
- network = list("ss13","engine")
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"tnq" = (
/obj/machinery/computer/security{
dir = 4
@@ -60795,15 +61199,6 @@
/obj/machinery/airalarm/directional/south,
/turf/open/floor/plastic,
/area/station/security/prison/shower)
-"tnC" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"tnH" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -60840,6 +61235,28 @@
/obj/machinery/duct,
/turf/open/floor/iron,
/area/station/engineering/storage_shared)
+"too" = (
+/obj/machinery/airalarm/directional/west,
+/obj/machinery/rnd/production/techfab/department/service,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/light/cold/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/service)
+"toD" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/dark,
+/area/station/commons/fitness/recreation)
"toE" = (
/obj/effect/turf_decal/bot,
/obj/machinery/holopad,
@@ -60907,6 +61324,17 @@
},
/turf/open/floor/iron,
/area/station/security/execution/transfer)
+"tph" = (
+/obj/machinery/door/airlock/maintenance,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/unres/delayed{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/aft)
"tpl" = (
/obj/structure/closet/secure_closet/detective,
/obj/structure/reagent_dispensers/wall/peppertank/directional/north,
@@ -60925,18 +61353,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"tpw" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
- dir = 1
- },
-/obj/machinery/meter,
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
"tpy" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/siding/blue/corner,
@@ -60989,15 +61405,31 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
-"tqt" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"tqr" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/table,
+/obj/item/radio/off{
+ pixel_x = 6
+ },
+/obj/item/radio/off{
+ pixel_y = 4;
+ pixel_x = -4
+ },
+/obj/item/lightreplacer{
+ pixel_y = 2
+ },
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
+"tqv" = (
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 1
+ },
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/spawner/random/structure/steam_vent,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard)
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"tqz" = (
/turf/closed/wall/r_wall/rust,
/area/station/maintenance/central)
@@ -61082,14 +61514,6 @@
/obj/machinery/portable_atmospherics/canister/plasma,
/turf/open/floor/engine/plasma,
/area/station/engineering/atmos)
-"trx" = (
-/obj/machinery/conveyor/inverted{
- dir = 6;
- id = "mining"
- },
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/cargo/miningoffice)
"tsf" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -61104,6 +61528,24 @@
/obj/structure/sign/warning/fire,
/turf/closed/wall/rust,
/area/station/commons/fitness/recreation)
+"tsy" = (
+/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/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/storage_shared)
"tsF" = (
/turf/closed/wall,
/area/station/security/mechbay)
@@ -61126,13 +61568,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"tth" = (
-/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/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"ttn" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/red/half/contrasted{
@@ -61152,6 +61587,20 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/storage/art)
+"ttv" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold/supply/hidden/layer4{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"ttB" = (
/obj/structure/grille/broken,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -61165,10 +61614,9 @@
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
"ttR" = (
-/obj/structure/sign/warning/secure_area/directional/south,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/structure/crate,
/obj/effect/mapping_helpers/burnt_floor,
+/obj/effect/spawner/random/trash/grime,
/turf/open/floor/plating,
/area/station/maintenance/aft)
"ttZ" = (
@@ -61203,24 +61651,28 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/cargo/storage)
-"tur" = (
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
-/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior,
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
+"tul" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
},
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/cargo/miningdock)
"tuF" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted,
/obj/effect/turf_decal/tile/red,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"tuI" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/spawner/random/structure/steam_vent,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard)
"tuP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -61232,30 +61684,31 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"tuS" = (
-/obj/effect/turf_decal/siding/yellow{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/command/heads_quarters/ce)
+"tuR" = (
+/obj/structure/closet/crate/trashcart/laundry,
+/obj/effect/spawner/random/maintenance,
+/obj/effect/spawner/random/clothing/backpack,
+/obj/effect/spawner/random/clothing/gloves,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"tuT" = (
/obj/machinery/holopad,
/obj/effect/turf_decal/bot,
/obj/effect/landmark/start/cook,
/turf/open/floor/iron/dark,
/area/station/service/kitchen)
-"tuV" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
+"tuW" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
},
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"tvu" = (
+/turf/open/floor/iron/stairs/left{
+ dir = 8
+ },
/area/station/hallway/primary/fore)
"tvB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -61268,27 +61721,6 @@
/obj/effect/landmark/start/bitrunner,
/turf/open/floor/iron/dark,
/area/station/cargo/bitrunning/den)
-"tvD" = (
-/obj/structure/table/wood/fancy,
-/obj/item/food/grown/flower/poppy{
- pixel_x = 6;
- pixel_y = 6
- },
-/obj/item/food/grown/flower/poppy{
- pixel_x = -6;
- pixel_y = 6
- },
-/obj/item/food/grown/flower/poppy,
-/obj/machinery/firealarm/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
-"tvH" = (
-/obj/structure/lattice,
-/obj/machinery/atmospherics/components/unary/passive_vent{
- dir = 1
- },
-/turf/open/space/basic,
-/area/space/nearstation)
"tvO" = (
/turf/closed/wall/rust,
/area/station/science/auxlab)
@@ -61361,15 +61793,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/brig,
/turf/open/floor/iron/dark,
/area/station/maintenance/fore)
-"twu" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"twG" = (
/obj/effect/landmark/event_spawn,
/obj/structure/disposalpipe/segment,
@@ -61406,11 +61829,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating/airless,
/area/station/maintenance/solars/starboard/fore)
-"txd" = (
-/obj/structure/lattice,
-/obj/structure/transit_tube,
-/turf/open/space/basic,
-/area/space/nearstation)
"txi" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/structure/table_or_rack,
@@ -61426,14 +61844,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/central/fore)
-"txB" = (
-/obj/structure/closet/secure_closet/hydroponics,
-/obj/effect/turf_decal/bot,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/newscaster/directional/south,
-/obj/effect/turf_decal/tile/green/fourcorners,
-/turf/open/floor/iron/checker,
-/area/station/service/hydroponics)
"tyk" = (
/obj/structure/closet/secure_closet/warden,
/obj/effect/turf_decal/delivery,
@@ -61452,25 +61862,20 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/engine,
/area/station/engineering/main)
-"tyY" = (
-/obj/effect/turf_decal/plaque{
- icon_state = "L9"
- },
-/obj/machinery/camera/directional/north{
- c_tag = "Fore Hallway Centre";
- name = "fore camera"
- },
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
+"tzc" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
},
+/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
+/area/station/engineering/atmos)
+"tze" = (
+/obj/machinery/newscaster/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/lobby)
"tzg" = (
/obj/structure/cable,
/obj/machinery/door/airlock/research{
@@ -61514,19 +61919,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/execution/transfer)
-"tzF" = (
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 1;
- name = "CO2 to Pure"
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"tzI" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -61586,6 +61978,26 @@
/obj/effect/turf_decal/tile/red/half/contrasted,
/turf/open/floor/iron,
/area/station/security/office)
+"tAp" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/button/door/directional/south{
+ id = "morgueprivacy";
+ name = "Morgue Privacy Shutter";
+ pixel_x = -8
+ },
+/obj/machinery/light/small/directional/south,
+/obj/machinery/holopad,
+/obj/effect/turf_decal/box/white{
+ color = "#52B4E9"
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
+"tAs" = (
+/obj/machinery/atmospherics/pipe/smart/simple/brown/visible,
+/turf/closed/wall/r_wall,
+/area/station/engineering/atmos)
"tAx" = (
/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
@@ -61603,38 +62015,11 @@
/obj/item/seeds/carrot,
/turf/open/floor/grass,
/area/station/security/prison/garden)
-"tAN" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 9
- },
-/obj/machinery/button/door/incinerator_vent_atmos_aux{
- pixel_x = 23;
- pixel_y = 7
- },
-/obj/machinery/button/door/incinerator_vent_atmos_main{
- pixel_x = 23;
- pixel_y = -6
- },
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
"tAP" = (
/obj/machinery/airalarm/directional/south,
/obj/effect/turf_decal/tile/yellow/half/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
-"tAX" = (
-/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/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"tBh" = (
/obj/structure/table,
/obj/effect/turf_decal/tile/blue/half/contrasted{
@@ -61660,11 +62045,14 @@
},
/turf/open/floor/plating,
/area/station/hallway/secondary/exit/departure_lounge)
-"tBy" = (
-/obj/machinery/suit_storage_unit/industrial/loader,
-/obj/machinery/light/warm/directional/south,
-/turf/open/floor/iron,
-/area/station/cargo/warehouse)
+"tBB" = (
+/obj/machinery/airalarm/directional/west,
+/obj/effect/turf_decal/bot,
+/obj/machinery/computer/prisoner/gulag_teleporter_computer{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/security/processing)
"tBJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -61673,20 +62061,6 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/department/crew_quarters/bar)
-"tBR" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible,
-/obj/machinery/button/door/atmos_test_room_mainvent_1{
- pixel_y = -22
- },
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"tBT" = (
/obj/effect/turf_decal/delivery,
/obj/machinery/space_heater,
@@ -61716,22 +62090,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
-"tCo" = (
-/obj/item/radio/intercom/directional/east,
-/obj/machinery/computer/station_alert{
- dir = 8
- },
-/obj/effect/turf_decal/bot,
-/obj/machinery/light/warm/directional/east,
-/turf/open/floor/iron,
-/area/station/engineering/main)
-"tCp" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"tCQ" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/security/glass{
@@ -61757,6 +62115,18 @@
/obj/effect/turf_decal/bot_white,
/turf/open/floor/iron/dark/textured_large,
/area/station/service/chapel/funeral)
+"tDn" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/item/radio/intercom/directional/south,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/duct,
+/obj/machinery/light/warm/directional/south,
+/turf/open/floor/wood,
+/area/station/service/bar/atrium)
"tDs" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/disposalpipe/junction{
@@ -61778,6 +62148,12 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
+"tDy" = (
+/obj/machinery/atmospherics/components/unary/passive_vent/layer2{
+ dir = 8
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"tDC" = (
/turf/closed/wall/rust,
/area/station/maintenance/solars/port/fore)
@@ -61800,12 +62176,24 @@
name = "Engine Access Shutters"
},
/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/caution/stand_clear,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
-/obj/machinery/duct,
+/obj/effect/turf_decal/caution/stand_clear{
+ dir = 8
+ },
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
+"tDM" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/tile/yellow,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
+"tDO" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/dock)
"tDR" = (
/obj/structure/window/reinforced/spawner/directional/south,
/obj/effect/turf_decal/delivery,
@@ -61820,12 +62208,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/janitor)
-"tDT" = (
-/obj/effect/turf_decal/siding/thinplating/dark{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
"tDW" = (
/obj/structure/railing/corner{
dir = 8
@@ -61836,6 +62218,22 @@
/obj/effect/turf_decal/tile/red/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/service/bar/atrium)
+"tEe" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/filingcabinet,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/item/radio/intercom/directional/south,
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/security/checkpoint/engineering)
"tEt" = (
/obj/structure/sign/poster/official/no_erp/directional/south,
/obj/machinery/portable_atmospherics/canister/anesthetic_mix,
@@ -61848,6 +62246,16 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"tET" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/structure/sign/poster/official/enlist/directional/east,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/exit/departure_lounge)
"tEX" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -61882,6 +62290,42 @@
/obj/effect/turf_decal/caution/stand_clear,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/port)
+"tFf" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 8
+ },
+/obj/effect/turf_decal/box/red,
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister,
+/obj/machinery/light/cold/directional/east,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/ordnance)
+"tFh" = (
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 4
+ },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/brown{
+ dir = 1
+ },
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/iron/smooth_half,
+/area/station/engineering/atmos/pumproom)
+"tFj" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/item/radio/intercom/directional/west,
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"tFn" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/white/line{
@@ -61890,6 +62334,26 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security/prison)
+"tFt" = (
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/loading_area{
+ dir = 4;
+ pixel_x = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
"tFS" = (
/obj/structure/rack,
/obj/effect/turf_decal/bot,
@@ -61946,6 +62410,18 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/engineering/hallway)
+"tGM" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/anesthetic_mix,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/airalarm/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/medical/cryo)
"tGQ" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -61981,21 +62457,6 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/tcommsat/computer)
-"tHf" = (
-/obj/machinery/light/directional/east,
-/obj/machinery/status_display/ai/directional/east,
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/tank_holder/extinguisher,
-/turf/open/floor/iron,
-/area/station/security/processing)
-"tHs" = (
-/obj/structure/sign/warning/fire,
-/obj/structure/grille,
-/turf/closed/wall/r_wall/rust,
-/area/station/engineering/atmos)
"tHu" = (
/obj/structure/table,
/obj/item/cigarette/cigar{
@@ -62024,6 +62485,13 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/miningoffice)
+"tHK" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/effect/spawner/random/gizmo,
+/turf/open/floor/engine,
+/area/station/science/auxlab)
"tHO" = (
/obj/structure/reflector/box/anchored{
dir = 1
@@ -62070,14 +62538,6 @@
/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/lesser)
-"tIJ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"tIM" = (
/obj/machinery/rnd/experimentor,
/turf/open/floor/engine,
@@ -62090,23 +62550,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"tIX" = (
-/obj/structure/table,
-/obj/item/clothing/head/utility/welding{
- pixel_y = 4
- },
-/obj/machinery/camera/directional/north{
- c_tag = "Tool Storage";
- name = "engineering camera";
- network = list("ss13","engine")
- },
-/obj/structure/cable,
-/obj/item/clothing/gloves/color/fyellow,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/light/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/commons/storage/primary)
"tIY" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -62115,32 +62558,23 @@
/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"tJa" = (
-/obj/machinery/camera/directional/west{
- c_tag = "Atmospherics Tank - N2O";
- name = "atmospherics camera";
- network = list("ss13","engine")
- },
-/turf/open/floor/engine/n2o,
-/area/station/engineering/atmos)
"tJh" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/random/structure/steam_vent,
/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/grille/broken,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"tJK" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/supply/visible{
- dir = 8
+"tJN" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/obj/machinery/meter/monitored/distro_loop,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/pumproom)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/machinery/computer/security/telescreen/monastery/directional/south,
+/turf/open/floor/iron/grimy,
+/area/station/hallway/primary/fore)
"tJX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -62153,18 +62587,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"tKh" = (
-/obj/machinery/airalarm/directional/west,
-/obj/effect/turf_decal/bot,
-/obj/machinery/computer/prisoner/gulag_teleporter_computer{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/security/processing)
-"tKi" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/engineering/atmos/pumproom)
"tKt" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -62238,6 +62660,14 @@
/obj/effect/landmark/navigate_destination,
/turf/open/floor/iron/dark,
/area/station/medical/morgue)
+"tLn" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/sign/warning/hot_temp/directional/east,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"tLo" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/mining/glass{
@@ -62252,62 +62682,25 @@
/obj/effect/mapping_helpers/airlock/access/all/supply/shipping,
/turf/open/floor/iron/dark,
/area/station/cargo/sorting)
+"tLF" = (
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"tLM" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/sign/warning/electric_shock/directional/west,
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/tcommsat/computer)
-"tMo" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/item/radio/intercom/directional/south,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/loading_area{
- dir = 4;
- pixel_x = 5
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"tMu" = (
/obj/machinery/shower/directional/east,
/obj/structure/cable,
/turf/open/floor/plastic,
/area/station/security/prison/shower)
-"tMB" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/command{
- name = "Chief Engineer's Office"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/ce,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/ce)
-"tMC" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/machinery/turretid{
- control_area = "/area/station/ai/upload/chamber";
- name = "AI Upload Turret Control";
- pixel_x = -30
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
"tMO" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/emcloset,
@@ -62348,9 +62741,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/lobby)
-"tNf" = (
-/turf/open/floor/iron,
-/area/station/cargo/miningdock)
"tNj" = (
/obj/effect/turf_decal/bot,
/obj/effect/spawner/random/maintenance/two,
@@ -62365,20 +62755,12 @@
},
/turf/open/floor/engine/vacuum,
/area/station/science/ordnance/bomb)
-"tNB" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
- dir = 8
- },
+"tNM" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
},
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/engineering/atmos)
"tNQ" = (
@@ -62393,12 +62775,10 @@
/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/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 1
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
},
+/obj/effect/turf_decal/tile/red,
/turf/open/floor/iron,
/area/station/engineering/main)
"tNY" = (
@@ -62409,6 +62789,19 @@
/obj/effect/decal/cleanable/blood/old,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
+"tNZ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/machinery/holopad/secure,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/engine/telecomms,
+/area/station/tcommsat/server)
"tOa" = (
/obj/structure/table,
/obj/item/tank/internals/oxygen/red,
@@ -62517,15 +62910,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"tPz" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"tPC" = (
/obj/effect/turf_decal/bot,
/obj/structure/frame/computer{
@@ -62537,11 +62921,28 @@
"tPD" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/fore)
+"tPG" = (
+/obj/effect/turf_decal/delivery,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/supermatter/room)
"tPH" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/security/prison/mess)
+"tPI" = (
+/obj/structure/closet/secure_closet/engineering_personal,
+/obj/item/clothing/suit/hooded/wintercoat/engineering,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/light_switch/directional/north,
+/obj/item/pickaxe/mini,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage_shared)
"tPP" = (
/turf/closed/wall/r_wall,
/area/station/engineering/storage_shared)
@@ -62579,6 +62980,16 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance)
+"tQF" = (
+/obj/machinery/airlock_sensor/incinerator_atmos{
+ pixel_x = 24
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/station/maintenance/disposal/incinerator)
"tQI" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/stripes/box,
@@ -62602,13 +63013,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/science/ordnance/office)
-"tQP" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/decal/cleanable/dirt,
+"tRe" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
-/obj/structure/noticeboard/directional/east,
-/turf/open/floor/wood,
-/area/station/commons/vacant_room/commissary)
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/space/nearstation)
"tRg" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/brown/half/contrasted{
@@ -62621,19 +63033,37 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron,
/area/station/cargo/miningdock)
-"tRk" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/tile/yellow,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
-"tRq" = (
-/obj/machinery/telecomms/server/presets/supply,
-/turf/open/floor/circuit/green/telecomms/mainframe,
-/area/station/tcommsat/server)
+"tRn" = (
+/obj/effect/turf_decal/bot,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/vending/wardrobe/hydro_wardrobe,
+/obj/machinery/firealarm/directional/south,
+/obj/effect/turf_decal/tile/green/fourcorners,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/checker,
+/area/station/service/hydroponics)
"tRw" = (
/obj/machinery/telecomms/bus/preset_three,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/station/tcommsat/server)
+"tRN" = (
+/obj/machinery/button/door/directional/north{
+ id = "Biohazard";
+ name = "Emergency Research Lockdown";
+ pixel_x = -8;
+ req_access = list("research")
+ },
+/obj/structure/table,
+/obj/machinery/recharger,
+/obj/effect/turf_decal/tile/red/anticorner/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron/showroomfloor,
+/area/station/security/checkpoint/science)
"tRO" = (
/obj/structure/sink/directional/west,
/obj/effect/decal/cleanable/blood/old,
@@ -62701,22 +63131,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"tSE" = (
-/obj/structure/table,
-/obj/item/toy/cards/deck{
- pixel_x = -9
- },
-/obj/item/storage/dice{
- pixel_x = -8;
- pixel_y = 11
- },
-/obj/item/storage/photo_album/prison{
- pixel_x = 8;
- pixel_y = -3
- },
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/grimy,
-/area/station/security/prison)
"tSI" = (
/obj/machinery/door/airlock/grunge{
id_tag = "Cabin_4";
@@ -62766,27 +63180,25 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"tTp" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
+"tSZ" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/machinery/computer/atmos_control/carbon_tank{
dir = 4
},
-/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible,
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
+/obj/effect/turf_decal/tile/dark/opposingcorners{
+ dir = 4
},
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
/turf/open/floor/iron/showroomfloor,
/area/station/engineering/atmos)
-"tUc" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
+"tTy" = (
+/obj/structure/chair,
+/obj/effect/turf_decal/bot,
+/obj/machinery/firealarm/directional/north,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/exit/departure_lounge)
"tUe" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -62797,11 +63209,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"tUm" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/closed/wall/r_wall,
-/area/station/maintenance/aft)
"tUr" = (
/obj/structure/table,
/obj/machinery/recharger,
@@ -62810,15 +63217,6 @@
/obj/structure/sign/poster/contraband/the_griffin/directional/east,
/turf/open/floor/iron/dark,
/area/station/maintenance/fore)
-"tUA" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/cargo/office)
"tUO" = (
/obj/structure/railing{
dir = 1
@@ -62850,12 +63248,14 @@
/obj/machinery/recharger,
/turf/open/floor/iron/dark,
/area/station/security/office)
-"tVo" = (
-/obj/machinery/pdapainter,
-/obj/structure/sign/poster/official/ian/directional/north,
-/obj/machinery/light/warm/directional/north,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/hop)
+"tVg" = (
+/obj/machinery/meter,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold/violet/visible{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"tVu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -62873,18 +63273,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/crew_quarters/bar)
-"tVD" = (
-/obj/machinery/door/airlock/external{
- name = "Prison External Airlock"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/port/lesser)
"tVH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -62894,11 +63282,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/hos)
-"tVL" = (
-/obj/structure/fluff/divine/nexus,
-/obj/machinery/light/small/red/directional/west,
-/turf/open/floor/mineral/silver,
-/area/station/service/chapel/office)
"tVS" = (
/obj/effect/turf_decal/bot,
/obj/machinery/computer/prisoner/management{
@@ -62938,6 +63321,15 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/primary/central/fore)
+"tWf" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"tWg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -62947,20 +63339,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"tWx" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/light/small/directional/south,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/solars/port/fore)
"tWA" = (
/obj/structure/table,
/obj/structure/cable,
@@ -63092,25 +63470,6 @@
},
/turf/open/floor/plating,
/area/station/commons/fitness/recreation)
-"tYZ" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 1;
- name = "Plasma to Pure"
- },
-/obj/machinery/camera/directional/south{
- c_tag = "Atmospherics Aft Tanks";
- name = "atmospherics camera";
- network = list("ss13","engine")
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"tZc" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -63119,23 +63478,6 @@
},
/turf/open/floor/plating,
/area/station/command/heads_quarters/cmo)
-"tZe" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"tZf" = (
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/hos)
@@ -63163,18 +63505,6 @@
},
/turf/open/floor/iron,
/area/station/command/bridge)
-"tZz" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/machinery/status_display/evac/directional/north,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
"tZD" = (
/obj/effect/landmark/secequipment,
/obj/effect/turf_decal/bot,
@@ -63202,6 +63532,19 @@
/obj/structure/flora/bush/pale/style_random,
/turf/open/misc/asteroid,
/area/station/maintenance/port/lesser)
+"ual" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
+"uaC" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"uba" = (
/obj/structure/lattice,
/obj/structure/window/reinforced/spawner/directional/east,
@@ -63235,6 +63578,16 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/central)
+"ubD" = (
+/obj/machinery/vending/wardrobe/sec_wardrobe,
+/obj/effect/turf_decal/bot,
+/obj/structure/reagent_dispensers/wall/peppertank/directional/west,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/light/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/security/lockers)
"ubF" = (
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/structure/table/wood,
@@ -63252,6 +63605,17 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
+"ubH" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/engineering/hallway)
"ubM" = (
/obj/effect/turf_decal/delivery,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -63274,6 +63638,12 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"ucC" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"ucG" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/corner{
@@ -63290,18 +63660,6 @@
/obj/structure/cable,
/turf/open/floor/grass,
/area/station/security/prison/garden)
-"udd" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/landmark/event_spawn,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"udn" = (
/obj/structure/girder,
/obj/effect/decal/cleanable/dirt,
@@ -63379,6 +63737,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
+"uem" = (
+/obj/machinery/power/shieldwallgen/xenobiologyaccess,
+/obj/effect/turf_decal/box,
+/obj/structure/extinguisher_cabinet/directional/west,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/plating,
+/area/station/science/xenobiology)
"uet" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -63411,6 +63777,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"ueT" = (
+/obj/machinery/atmospherics/components/binary/pump/off{
+ name = "Filter to Mix"
+ },
+/obj/effect/turf_decal/tile/green/fourcorners,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"ueY" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -63430,19 +63803,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"ufm" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/purple{
- dir = 4
- },
-/obj/effect/turf_decal/tile/purple,
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 4
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/lobby)
"ufy" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -63473,17 +63833,17 @@
},
/turf/open/floor/iron,
/area/station/command/heads_quarters/hop)
-"ufG" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
- dir = 1
+"ufK" = (
+/obj/structure/window/reinforced/plasma/spawner/directional/west,
+/obj/structure/cable,
+/obj/machinery/power/energy_accumulator/tesla_coil/anchored,
+/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
+ dir = 4
},
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
+/turf/open/floor/circuit/green{
+ luminosity = 2
},
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/area/station/engineering/supermatter/engine)
"ufL" = (
/obj/item/radio/intercom/directional/north,
/obj/effect/decal/cleanable/blood/old,
@@ -63517,6 +63877,23 @@
},
/turf/open/floor/carpet,
/area/station/medical/psychology)
+"ugo" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/obj/machinery/door/airlock/atmos/glass{
+ name = "Distribution Loop"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/pumproom)
"ugp" = (
/obj/structure/chair/sofa/bench/right,
/obj/effect/turf_decal/box/corners{
@@ -63542,31 +63919,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/treatment_center)
-"ugr" = (
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"ugx" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/ordnance)
"ugy" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/showroomfloor,
@@ -63607,15 +63959,36 @@
/obj/machinery/fishing_portal_generator,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/service)
-"ugP" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
+"ugU" = (
+/obj/machinery/camera/directional/east{
+ c_tag = "Atmospherics Entrance";
+ name = "atmospherics camera";
+ network = list("ss13","engine")
},
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron/dark/corner{
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/duct,
+/obj/structure/noticeboard/directional/east,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
dir = 1
},
-/area/station/hallway/primary/fore)
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"ugX" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/machinery/computer/atmos_control/nitrous_tank{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"ugY" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -63692,6 +64065,21 @@
},
/turf/open/floor/plating,
/area/station/medical/pharmacy)
+"uiq" = (
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 4
+ },
+/obj/structure/sink/directional/north,
+/turf/open/floor/iron,
+/area/station/security/prison/garden)
+"uit" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage_shared)
"uiu" = (
/obj/structure/table/wood,
/obj/item/flashlight/lamp/green{
@@ -63710,6 +64098,15 @@
/obj/item/tgui_book/manual/dsm,
/turf/open/floor/carpet,
/area/station/medical/psychology)
+"uix" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/incinerator_input{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/brown/visible/layer2{
+ dir = 10
+ },
+/turf/open/floor/engine,
+/area/station/maintenance/disposal/incinerator)
"uiE" = (
/obj/machinery/ai_slipper{
uses = 8
@@ -63720,6 +64117,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/engine,
/area/station/ai/upload/chamber)
+"uiM" = (
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"uiN" = (
/obj/effect/turf_decal/siding/wood,
/obj/structure/chair/stool/directional/south,
@@ -63729,32 +64132,6 @@
/obj/structure/flora/rock,
/turf/open/misc/asteroid,
/area/space/nearstation)
-"ujj" = (
-/obj/effect/turf_decal/siding/blue{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/tile/blue/half/contrasted{
- dir = 4
- },
-/obj/machinery/duct,
-/obj/machinery/light/cold/directional/east,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
-"ujt" = (
-/obj/machinery/door/airlock/external{
- name = "Prison External Airlock"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/port/lesser)
"ujN" = (
/obj/structure/table/reinforced,
/obj/effect/turf_decal/delivery,
@@ -63767,26 +64144,6 @@
},
/turf/open/floor/plating,
/area/station/security/armory)
-"ujT" = (
-/obj/machinery/camera/directional/east{
- c_tag = "Atmospherics Entrance";
- name = "atmospherics camera";
- network = list("ss13","engine")
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"ukc" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
@@ -63819,16 +64176,8 @@
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 4
},
-/obj/machinery/holopad,
-/obj/effect/turf_decal/bot,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/treatment_center)
-"ukz" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/landmark/event_spawn,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"ukM" = (
/obj/structure/sign/warning/vacuum/external/directional/south,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -63846,6 +64195,15 @@
/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/fore)
+"ukO" = (
+/obj/structure/chair/office/light{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"ukQ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -63854,6 +64212,15 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/carpet/red,
/area/station/service/chapel)
+"ukS" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/ordnance)
"ukT" = (
/obj/structure/sign/warning/no_smoking,
/turf/closed/wall,
@@ -63906,15 +64273,6 @@
/obj/structure/sign/warning/secure_area/directional/west,
/turf/open/misc/asteroid/lowpressure,
/area/space/nearstation)
-"ulF" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/obj/machinery/light/directional/east,
-/obj/machinery/status_display/evac/directional/east,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"ulJ" = (
/obj/effect/turf_decal/bot,
/obj/machinery/conveyor{
@@ -63930,29 +64288,23 @@
"ulS" = (
/turf/closed/wall,
/area/station/security/courtroom)
-"ulU" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/structure/rack,
-/obj/item/mod/module/thermal_regulator,
-/obj/item/mod/module/plasma_stabilizer,
-/obj/item/stack/cable_coil,
-/obj/item/electronics/apc,
-/obj/item/stack/cable_coil,
-/obj/item/electronics/apc,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron/dark,
-/area/station/engineering/main)
"ulZ" = (
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
+"umg" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/structure/cable,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/cargo/office)
"umj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -63975,23 +64327,6 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/miningoffice)
-"umC" = (
-/obj/machinery/camera/directional/east{
- c_tag = "Supermatter Waste Line";
- name = "engineering camera";
- network = list("ss13","engine")
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/button/door/directional/east{
- id = "engineaccess";
- name = "Engine Access Lockdown";
- req_access = list("engineering")
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/machinery/duct,
-/obj/machinery/light/warm/directional/east,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"umJ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -64005,10 +64340,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"uni" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/space/nearstation)
"unp" = (
/obj/machinery/camera/directional/north{
c_tag = "Research Hallway";
@@ -64074,25 +64405,6 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/virology)
-"unE" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/yellow{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"unQ" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
@@ -64103,12 +64415,6 @@
},
/turf/open/floor/wood,
/area/station/service/lawoffice)
-"unS" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"uok" = (
/obj/machinery/light/directional/south,
/obj/structure/extinguisher_cabinet/directional/south,
@@ -64154,19 +64460,6 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/miningoffice)
-"uoN" = (
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/landmark/start/atmospheric_technician,
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"uoW" = (
/obj/structure/table,
/obj/item/clothing/gloves/latex,
@@ -64178,10 +64471,48 @@
/obj/structure/window/reinforced/spawner/directional/east,
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
+"upq" = (
+/obj/machinery/light/directional/east,
+/obj/machinery/status_display/ai/directional/east,
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/tank_holder/extinguisher,
+/turf/open/floor/iron,
+/area/station/security/processing)
"upK" = (
/obj/effect/turf_decal/siding/thinplating/dark/end,
/turf/open/floor/glass/reinforced,
/area/station/service/chapel)
+"upO" = (
+/obj/item/storage/medkit/regular{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/item/storage/medkit/brute{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/brute,
+/obj/item/storage/medkit/brute{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/structure/table/glass,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/machinery/door/window/left/directional/east{
+ name = "First-Aid Supplies";
+ req_access = list("medical")
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/storage)
"upS" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -64194,10 +64525,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"upW" = (
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
"upZ" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/north,
@@ -64214,16 +64541,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"uqi" = (
-/obj/effect/turf_decal/box/corners{
- dir = 8
- },
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"uqv" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -64255,13 +64572,21 @@
dir = 4
},
/area/station/hallway/primary/fore)
-"uqS" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"uqP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/yellow/corner{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/brown/hidden{
+ dir = 6
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
"uqT" = (
/obj/structure/grille/broken,
/obj/effect/turf_decal/stripes/line,
@@ -64311,12 +64636,35 @@
dir = 8
},
/area/station/service/chapel)
-"urv" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+"uri" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/sign/poster/official/random/directional/south,
+/obj/effect/turf_decal/tile/red/half/contrasted,
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
+"urn" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{
+ dir = 5
+ },
/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/central)
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"urE" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/loading_area{
@@ -64352,30 +64700,11 @@
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance)
"uso" = (
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/structure/reagent_dispensers/fueltank,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
+/obj/structure/closet/secure_closet/engineering_electrical,
/turf/open/floor/iron/dark,
/area/station/engineering/main)
-"usp" = (
-/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/turf_decal/siding/red{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/machinery/computer/security/telescreen/minisat/directional/east,
-/turf/open/floor/iron,
-/area/station/security/checkpoint/engineering)
"usr" = (
/turf/closed/wall/r_wall,
/area/station/engineering/gravity_generator)
@@ -64435,18 +64764,16 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"utk" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
+"utm" = (
+/obj/machinery/atmospherics/components/binary/crystallizer{
+ dir = 4
},
-/turf/open/floor/iron,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
+"uts" = (
+/obj/machinery/atmospherics/pipe/smart/simple/brown/visible,
+/turf/closed/wall,
/area/station/engineering/atmos)
"utw" = (
/obj/effect/turf_decal/stripes/line{
@@ -64454,6 +64781,44 @@
},
/turf/open/space/basic,
/area/space/nearstation)
+"utC" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/camera/directional/west{
+ c_tag = "Supermatter Terminal";
+ name = "engineering camera";
+ network = list("ss13","engine")
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
+"utD" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/door_buttons/airlock_controller{
+ idExterior = "virology_airlock_exterior";
+ idInterior = "virology_airlock_interior";
+ idSelf = "virology_airlock_control";
+ name = "Virology Access Console";
+ pixel_x = 24;
+ pixel_y = -24;
+ req_access = list("virology")
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/machinery/firealarm/directional/west,
+/obj/effect/turf_decal/tile/green/anticorner/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/virology)
"utH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -64470,6 +64835,23 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"utO" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"utX" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"uuu" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass{
@@ -64479,31 +64861,27 @@
/obj/effect/landmark/navigate_destination/tools,
/turf/open/floor/iron/dark,
/area/station/commons/storage/primary)
-"uuC" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
+"uuV" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 1
},
-/turf/open/floor/iron,
-/area/station/engineering/hallway)
-"uuK" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 10
- },
-/turf/open/floor/plating,
-/area/station/engineering/atmos/pumproom)
+/turf/open/floor/engine/vacuum,
+/area/station/engineering/atmos)
"uuW" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
/turf/open/floor/iron/dark,
/area/station/science/ordnance/storage)
+"uve" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/airalarm/directional/south,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"uvi" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -64528,12 +64906,6 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/engine)
-"uvO" = (
-/obj/effect/mapping_helpers/burnt_floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"uvT" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -64545,6 +64917,13 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
+"uwk" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/structure/sign/warning/gas_mask/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"uwl" = (
/obj/structure/chair/pew{
dir = 4
@@ -64583,16 +64962,21 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/locker)
-"uwP" = (
-/obj/effect/decal/cleanable/dirt,
+"uwQ" = (
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 4
+ },
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
+/obj/structure/sign/warning/no_smoking/directional/south,
+/obj/structure/railing/corner/end/flip{
dir = 4
},
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
+/obj/effect/turf_decal/siding/brown{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/iron/smooth_half,
+/area/station/engineering/atmos/pumproom)
"uwR" = (
/obj/item/kirbyplants/organic/plant21,
/obj/effect/landmark/start/hangover,
@@ -64604,6 +64988,27 @@
dir = 8
},
/area/station/hallway/primary/port)
+"uwS" = (
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
+ dir = 4
+ },
+/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior,
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/atmospherics/pipe/smart/simple/brown/visible/layer2{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/station/maintenance/disposal/incinerator)
"uwX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -64620,6 +65025,13 @@
/obj/effect/turf_decal/box/corners,
/turf/open/floor/engine/xenobio,
/area/station/science/xenobiology)
+"uxc" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/simple/violet/visible,
+/obj/machinery/meter,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"uxz" = (
/obj/structure/chair,
/obj/effect/landmark/start/hangover,
@@ -64642,6 +65054,16 @@
"uxN" = (
/turf/closed/wall/r_wall,
/area/station/command/vault)
+"uxO" = (
+/obj/structure/table/wood/fancy/blue,
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/item/reagent_containers/cup/glass/trophy/bronze_cup,
+/obj/machinery/camera/autoname/directional/west,
+/obj/machinery/light/warm/dim/directional/west,
+/turf/open/floor/carpet/royalblue,
+/area/station/service/chapel/office)
"uyl" = (
/obj/effect/landmark/event_spawn,
/obj/effect/turf_decal/tile/blue/half/contrasted{
@@ -64655,10 +65077,44 @@
"uyK" = (
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"uyS" = (
+/obj/machinery/firealarm/directional/south,
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/lab)
+"uyU" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/machinery/power/shieldwallgen,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/command/teleporter)
"uyX" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/solars/starboard/aft)
+"uzi" = (
+/obj/effect/decal/cleanable/blood/oil,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
+/obj/machinery/light/small/broken/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/storage)
+"uzA" = (
+/obj/structure/sign/painting/library{
+ pixel_x = 32
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/service/library)
"uzD" = (
/obj/machinery/door/airlock/atmos{
name = "Atmospherics Connector"
@@ -64678,18 +65134,6 @@
/obj/machinery/duct,
/turf/open/floor/iron,
/area/station/security/prison/shower)
-"uzQ" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"uAb" = (
/obj/structure/girder,
/obj/effect/decal/cleanable/dirt,
@@ -64705,6 +65149,13 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/cargo)
+"uAd" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
"uAe" = (
/obj/structure/window/spawner/directional/south,
/obj/structure/window/spawner/directional/east,
@@ -64736,14 +65187,6 @@
},
/turf/open/floor/glass/reinforced,
/area/station/service/chapel)
-"uAt" = (
-/obj/machinery/door/airlock/atmos/glass,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/engine/vacuum,
-/area/station/maintenance/disposal/incinerator)
"uAA" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 8
@@ -64752,10 +65195,6 @@
dir = 8
},
/area/station/hallway/primary/port)
-"uAE" = (
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
-/turf/closed/wall/rust,
-/area/station/engineering/atmos/pumproom)
"uAF" = (
/obj/effect/turf_decal/delivery,
/obj/machinery/vending/clothing,
@@ -64774,11 +65213,26 @@
},
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"uBd" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/cargo/miningdock)
+"uBf" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/lobby)
+"uBk" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad2";
+ name = "on ramp"
+ },
+/obj/item/radio/intercom/directional/south,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/cargo/storage)
"uBo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -64791,6 +65245,25 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/commons/toilet/restrooms)
+"uBx" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/pumproom)
+"uBz" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/wideplating/dark/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/thinplating/dark{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
"uBM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -64839,18 +65312,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
-"uCJ" = (
-/obj/structure/disposalpipe/sorting/mail/flip{
- dir = 8;
- name = "virology sorting disposal pipe"
- },
-/obj/effect/mapping_helpers/mail_sorting/medbay/virology,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
"uCQ" = (
/obj/effect/decal/cleanable/cobweb,
/obj/structure/frame/machine,
@@ -64869,16 +65330,6 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/command/vault)
-"uCS" = (
-/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/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"uDe" = (
/obj/machinery/light/small/directional/north,
/obj/effect/turf_decal/siding/thinplating/dark,
@@ -64896,21 +65347,18 @@
/obj/structure/table/wood,
/turf/open/floor/cult,
/area/station/service/chapel/office)
+"uDp" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/structure/sign/poster/contraband/random/directional/west,
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
"uDt" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"uDQ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"uDT" = (
/obj/machinery/airalarm/directional/north,
/obj/effect/turf_decal/tile/red/half/contrasted{
@@ -64956,18 +65404,6 @@
/obj/effect/turf_decal/siding/wideplating/dark/corner,
/turf/open/floor/iron/dark,
/area/station/service/chapel)
-"uFb" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/stripes/corner,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/engineering/hallway)
"uFe" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/airalarm/directional/south,
@@ -65044,13 +65480,13 @@
/area/station/hallway/primary/fore)
"uGm" = (
/obj/effect/decal/cleanable/blood/old,
-/obj/structure/grille/broken,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/obj/structure/sign/poster/contraband/random/directional/south,
/obj/effect/mapping_helpers/broken_floor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/spawner/random/structure/steam_vent,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
"uGn" = (
@@ -65204,13 +65640,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/bar/atrium)
-"uHU" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"uHY" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -65223,19 +65652,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"uId" = (
-/obj/item/radio/intercom/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/bot,
-/obj/machinery/holopad,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/red/half/contrasted,
-/obj/machinery/duct,
-/obj/machinery/light/dim/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/security/execution/transfer)
"uIs" = (
/obj/machinery/turretid{
control_area = "/area/station/ai/satellite/interior";
@@ -65270,6 +65686,17 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/fore)
+"uJe" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/effect/spawner/random/armory/barrier_grenades,
+/obj/item/key/security,
+/obj/item/key/security,
+/obj/machinery/light/small/red/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/security/armory)
"uJg" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/decal/cleanable/dirt,
@@ -65278,6 +65705,18 @@
},
/turf/open/floor/plating,
/area/station/maintenance/solars/port/aft)
+"uJm" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/machinery/atmospherics/components/binary/pump/on/layer4{
+ dir = 2;
+ name = "Airlock Pump";
+ target_pressure = 300;
+ hide = 1
+ },
+/obj/effect/spawner/random/structure/tank_holder,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard)
"uJn" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 9
@@ -65310,7 +65749,6 @@
name = "Supermatter Engine"
},
/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
-/obj/machinery/duct,
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
"uJP" = (
@@ -65368,6 +65806,19 @@
/obj/structure/cable,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/station/tcommsat/server)
+"uKk" = (
+/obj/effect/turf_decal/tile/green/anticorner/contrasted{
+ dir = 4
+ },
+/obj/structure/closet/l3closet/virology,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/structure/sink/directional/west,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/virology)
"uKp" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/stripes/corner{
@@ -65394,23 +65845,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/security/brig)
-"uLb" = (
-/obj/machinery/camera/directional/east{
- c_tag = "Cryogenics";
- name = "medical camera";
- network = list("ss13","medical")
- },
-/obj/machinery/status_display/evac/directional/east,
-/obj/structure/bed/medical{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/box,
-/obj/machinery/light/cold/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/medical/treatment_center)
"uLt" = (
/obj/effect/turf_decal/bot,
/obj/structure/reagent_dispensers/watertank,
@@ -65442,18 +65876,6 @@
},
/turf/open/floor/iron/dark/corner,
/area/station/hallway/primary/port)
-"uLL" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
"uLW" = (
/obj/structure/table,
/obj/machinery/cell_charger{
@@ -65470,6 +65892,21 @@
},
/turf/open/floor/iron/dark,
/area/station/science/ordnance/office)
+"uLY" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/atmos{
+ name = "Atmospherics"
+ },
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "atmos-entrance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/atmospherics/pipe/smart/simple/brown/hidden{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/storage)
"uMf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
@@ -65479,7 +65916,10 @@
/turf/open/floor/engine,
/area/station/tcommsat/computer)
"uMk" = (
-/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red/opposingcorners,
/turf/open/floor/iron,
/area/station/engineering/main)
"uMz" = (
@@ -65488,15 +65928,58 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
+"uMB" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
+ dir = 1
+ },
+/obj/structure/sign/warning/fire/directional/north,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"uMD" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/security/brig)
+"uME" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/rack,
+/obj/item/storage/belt/utility,
+/obj/item/weldingtool/largetank,
+/obj/item/clothing/head/utility/welding,
+/obj/machinery/firealarm/directional/east{
+ pixel_y = -4
+ },
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 1
+ },
+/obj/machinery/light_switch/directional/east{
+ pixel_y = 6
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"uMG" = (
/turf/closed/wall/rust,
/area/station/medical/cryo)
+"uMJ" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
+/obj/effect/turf_decal/tile/red/fourcorners,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "N2 to Pure"
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
+"uNe" = (
+/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
+/obj/machinery/atmospherics/pipe/bridge_pipe/dark/visible,
+/turf/open/floor/engine/n2o,
+/area/station/engineering/atmos)
"uNi" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -65511,21 +65994,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/science/research)
-"uNv" = (
-/obj/machinery/power/turbine/turbine_outlet,
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
-"uNy" = (
-/obj/machinery/newscaster/directional/east,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"uNI" = (
/obj/structure/table,
/obj/item/paper_bin,
@@ -65544,52 +66012,24 @@
"uNO" = (
/turf/closed/wall,
/area/station/commons/toilet/restrooms)
-"uNR" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/entry)
"uNY" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
},
/obj/effect/decal/cleanable/blood/old,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/obj/effect/mapping_helpers/burnt_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/aft)
"uOa" = (
-/obj/structure/sign/warning/secure_area,
/turf/closed/wall,
/area/station/engineering/gravity_generator)
"uOd" = (
/obj/item/kirbyplants/random,
/turf/open/floor/iron/dark,
/area/station/service/chapel/monastery)
-"uOg" = (
-/obj/structure/table,
-/obj/machinery/newscaster/directional/east,
-/obj/effect/turf_decal/siding/green{
- dir = 8
- },
-/obj/item/storage/bag/plants/portaseeder,
-/obj/item/crowbar/red,
-/obj/item/plant_analyzer,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/service/hydroponics/garden)
-"uOl" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"uOo" = (
/obj/machinery/newscaster/directional/west,
/obj/effect/spawner/random/entertainment/arcade{
@@ -65600,13 +66040,6 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation)
-"uOp" = (
-/obj/effect/turf_decal/siding/thinplating/light/corner{
- dir = 4
- },
-/obj/machinery/airalarm/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/monastery)
"uOz" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/poster/contraband/random/directional/west,
@@ -65631,11 +66064,6 @@
/obj/structure/cable,
/turf/open/floor/iron/grimy,
/area/station/hallway/primary/fore)
-"uOC" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible,
-/turf/open/floor/plating,
-/area/station/engineering/atmos)
"uPm" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -65643,10 +66071,29 @@
/obj/effect/turf_decal/stripes/line{
dir = 10
},
-/obj/item/radio/intercom/directional/south,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/engine,
/area/station/engineering/gravity_generator)
+"uPo" = (
+/obj/structure/reagent_dispensers/water_cooler,
+/obj/machinery/button/door/directional/east{
+ name = "Psychology Privacy Shutters";
+ id = "psychprivacy"
+ },
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/psychology)
+"uPz" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/button/door/directional/west{
+ id = "Secure Storage";
+ name = "Secure Storage Toggle";
+ req_access = list("engine_equip")
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"uPM" = (
/obj/machinery/door/airlock/public/glass{
name = "Security Hallway"
@@ -65655,12 +66102,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/aft)
-"uPX" = (
-/obj/machinery/meter,
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
"uQj" = (
/obj/structure/cable,
/obj/machinery/pdapainter/security,
@@ -65720,11 +66161,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"uQJ" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"uQN" = (
/obj/item/kirbyplants/organic/plant21,
/obj/effect/turf_decal/stripes/corner,
@@ -65742,6 +66178,21 @@
/obj/item/knife/kitchen,
/turf/open/floor/iron/dark,
/area/station/service/kitchen)
+"uQX" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/command{
+ name = "Chief Engineer's Office"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/ce,
+/obj/effect/turf_decal/siding/yellow/corner{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/ce)
"uRf" = (
/obj/structure/bodycontainer/morgue,
/obj/effect/turf_decal/bot_white,
@@ -65778,80 +66229,13 @@
/obj/effect/mapping_helpers/airlock/access/all/supply/general,
/turf/open/floor/iron/dark,
/area/station/cargo/miningoffice)
-"uRv" = (
-/obj/item/kirbyplants/organic/applebush,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/airalarm/directional/west,
-/obj/machinery/status_display/ai/directional/north,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"uRG" = (
/mob/living/carbon/human/species/monkey/punpun,
/turf/open/floor/wood/large,
/area/station/service/bar/atrium)
-"uRK" = (
-/obj/structure/railing/corner{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/monastery)
-"uRL" = (
-/obj/item/kirbyplants/organic/plant5,
-/obj/effect/landmark/start/hangover,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"uRT" = (
/turf/closed/wall/r_wall,
/area/station/science)
-"uSd" = (
-/obj/effect/decal/cleanable/blood/old,
-/obj/structure/sign/departments/science/alt/directional/north,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science)
-"uSu" = (
-/obj/machinery/computer/shuttle/mining{
- dir = 8;
- req_access = null
- },
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
- },
-/obj/structure/extinguisher_cabinet/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/cargo/miningdock)
-"uSB" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/atmospherics/components/unary/thermomachine/heater/on{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/structure/sign/warning/xeno_mining/directional/east,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/pumproom)
"uSH" = (
/turf/closed/wall/r_wall,
/area/station/engineering/main)
@@ -65887,6 +66271,21 @@
},
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
+"uTB" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/purple/half/contrasted,
+/obj/effect/turf_decal/tile/purple,
+/obj/machinery/light/warm/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/auxlab)
+"uTC" = (
+/obj/machinery/camera/directional/west{
+ c_tag = "Atmospherics Tank - N2";
+ name = "atmospherics camera";
+ network = list("ss13","engine")
+ },
+/turf/open/floor/engine/n2,
+/area/station/engineering/atmos)
"uTG" = (
/obj/structure/table,
/obj/effect/decal/cleanable/dirt,
@@ -65907,6 +66306,25 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/lobby)
+"uTO" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible,
+/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"uTY" = (
/obj/machinery/power/emitter/welded{
dir = 4
@@ -65939,10 +66357,28 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/office)
-"uUA" = (
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
-/turf/closed/wall,
-/area/station/engineering/atmos/pumproom)
+"uUy" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"uUM" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/sign/warning/directional/east,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"uUO" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -65950,6 +66386,28 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/aft)
+"uUP" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"uUS" = (
/turf/closed/wall,
/area/station/maintenance/solars/port/aft)
@@ -65980,21 +66438,46 @@
"uVQ" = (
/turf/closed/wall,
/area/station/maintenance/solars/starboard/fore)
-"uVU" = (
+"uWc" = (
+/obj/effect/turf_decal/box/corners{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
+"uWd" = (
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/machinery/atmospherics/pipe/smart/simple/brown/hidden{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/storage)
+"uWv" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line{
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible,
+/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible{
dir = 8
},
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
+ dir = 1
+ },
/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
+/area/station/engineering/atmos)
"uWz" = (
/obj/machinery/portable_atmospherics/canister/air,
/turf/open/floor/engine/air,
/area/station/engineering/atmos)
-"uWA" = (
-/obj/structure/sign/warning/fire,
-/turf/closed/wall/r_wall/rust,
-/area/station/engineering/supermatter/engine)
"uWM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -66016,13 +66499,6 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/central/fore)
-"uWP" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/machinery/light/dim/directional/west,
-/turf/open/floor/iron/white,
-/area/station/security/prison/mess)
"uWQ" = (
/obj/structure/flora/rock/pile/style_random{
pixel_x = -6;
@@ -66113,16 +66589,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/dark,
/area/station/science)
-"uYg" = (
-/obj/effect/landmark/event_spawn,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/machinery/duct,
-/obj/machinery/light/floor,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/xenobiology)
"uYh" = (
/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
/obj/structure/disposalpipe/segment{
@@ -66140,33 +66606,13 @@
/obj/structure/chair/stool/bar/directional/west,
/turf/open/floor/wood,
/area/station/maintenance/port/greater)
-"uYw" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible,
-/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner{
+"uYt" = (
+/obj/effect/turf_decal/siding/thinplating/light/corner{
dir = 4
},
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"uYx" = (
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
- dir = 8
- },
-/turf/closed/wall/r_wall,
-/area/station/maintenance/disposal/incinerator)
-"uYM" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
+/obj/machinery/airalarm/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/monastery)
"uYP" = (
/obj/machinery/door/firedoor,
/obj/structure/disposalpipe/segment,
@@ -66181,20 +66627,22 @@
/obj/effect/mapping_helpers/airlock/access/all/science/general,
/turf/open/floor/iron/dark,
/area/station/science/research)
-"uYZ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 9
+"uYW" = (
+/obj/machinery/newscaster/directional/north,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
},
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/blue{
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/chemistry)
+"uZc" = (
+/obj/effect/turf_decal/arrows/white{
+ color = "#0077AA";
+ pixel_y = 15
+ },
+/turf/open/floor/iron/smooth_half{
dir = 4
},
-/obj/effect/turf_decal/tile/red,
-/obj/machinery/duct,
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/commons/fitness/recreation)
+/area/station/engineering/atmos)
"uZg" = (
/obj/structure/sign/warning/electric_shock,
/turf/closed/wall/rust,
@@ -66220,6 +66668,11 @@
},
/turf/open/floor/iron,
/area/station/security/office)
+"uZJ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/entry)
"uZL" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -66272,25 +66725,21 @@
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance/burnchamber)
"uZZ" = (
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
+/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{
+ dir = 8
+ },
/turf/closed/wall,
/area/station/engineering/atmos)
-"vac" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
-"vae" = (
-/obj/effect/turf_decal/box,
-/turf/open/floor/engine,
-/area/station/science/auxlab)
-"vak" = (
-/obj/machinery/firealarm/directional/north,
-/obj/machinery/light/floor,
+"vag" = (
+/obj/structure/table,
+/obj/item/wrench,
+/obj/item/crowbar,
+/obj/item/analyzer,
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/airalarm/directional/west,
+/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/dark,
-/area/station/service/chapel)
+/area/station/engineering/atmos/office)
"vao" = (
/obj/effect/turf_decal/tile/purple,
/obj/effect/turf_decal/tile/purple/half/contrasted{
@@ -66311,24 +66760,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/office)
-"vaz" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/loading_area{
- dir = 4;
- pixel_x = 5
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"vaI" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -66368,24 +66799,14 @@
"vbi" = (
/turf/closed/wall/r_wall/rust,
/area/station/maintenance/fore)
-"vbj" = (
-/obj/machinery/door/firedoor,
-/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/siding/yellow/corner{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "atmos-entrance"
- },
-/obj/machinery/door/airlock/atmos{
- name = "Atmospherics Desk"
+"vbm" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/binary/valve/digital{
+ name = "Waste Release";
+ dir = 8
},
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/obj/effect/landmark/navigate_destination/atmos,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"vbo" = (
/obj/structure/chair/stool/bar/directional/east,
/obj/effect/decal/cleanable/dirt,
@@ -66393,23 +66814,6 @@
/obj/effect/turf_decal/tile/red/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/service/bar/atrium)
-"vbx" = (
-/obj/machinery/meter,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 10
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"vbP" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -66428,26 +66832,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/pharmacy)
-"vbV" = (
-/obj/structure/cable,
-/obj/structure/chair/sofa/left/maroon{
- dir = 8
- },
-/obj/structure/railing{
- dir = 4
- },
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start/hangover,
-/obj/machinery/camera/directional/south{
- c_tag = "Atrium Port";
- name = "service camera"
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/service/bar/atrium)
"vct" = (
/obj/effect/spawner/random/engineering/tracking_beacon,
/obj/machinery/camera/directional/north{
@@ -66457,13 +66841,6 @@
},
/turf/open/floor/engine/xenobio,
/area/station/science/xenobiology)
-"vcx" = (
-/obj/item/beacon,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/light/floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"vcL" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/airalarm/directional/south,
@@ -66472,6 +66849,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/department/crew_quarters/bar)
+"vdr" = (
+/obj/effect/turf_decal/box/white{
+ color = "#0077AA"
+ },
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"vdy" = (
/obj/machinery/door/morgue{
name = "Confession Booth (Chaplain)";
@@ -66498,13 +66881,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/solars/port/fore)
-"vdS" = (
-/obj/structure/lattice,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 6
- },
-/turf/open/space/basic,
-/area/space/nearstation)
"vea" = (
/obj/structure/closet/secure_closet/personal/cabinet,
/obj/machinery/newscaster/directional/west,
@@ -66517,6 +66893,20 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/wood,
/area/station/commons/locker)
+"vec" = (
+/obj/machinery/computer/station_alert,
+/obj/effect/turf_decal/bot,
+/obj/machinery/newscaster/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/ce)
+"ved" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/shieldgen,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/engineering/supermatter/room)
"vek" = (
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/effect/decal/cleanable/dirt,
@@ -66524,10 +66914,8 @@
/area/station/maintenance/port/aft)
"ves" = (
/obj/effect/turf_decal/bot,
-/obj/structure/rack,
-/obj/item/clothing/gloves/color/fyellow,
-/obj/item/storage/toolbox/electrical,
-/turf/open/floor/plating,
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/iron/dark,
/area/station/maintenance/aft)
"veu" = (
/turf/open/floor/iron,
@@ -66538,6 +66926,18 @@
/obj/structure/cable,
/turf/open/floor/wood/parquet,
/area/station/service/bar/backroom)
+"vey" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"veN" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/medical/glass{
@@ -66562,13 +66962,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"veY" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/hallway/primary/central/fore)
"veZ" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/hatch{
@@ -66619,35 +67012,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/abandoned_warehouse)
-"vfO" = (
-/obj/structure/lattice,
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
- dir = 4
- },
-/turf/open/space/basic,
-/area/space/nearstation)
-"vfW" = (
-/obj/effect/turf_decal/bot,
-/obj/effect/decal/cleanable/cobweb,
-/obj/item/book{
- desc = "An undeniably handy book.";
- icon_state = "bookknock";
- name = "A Simpleton's Guide to Safe-cracking with Stethoscopes"
- },
-/obj/item/stack/spacecash/c500{
- pixel_x = 4;
- pixel_y = 4
- },
-/obj/item/stack/spacecash/c1000,
-/obj/item/gun/ballistic/automatic/pistol/deagle/gold,
-/obj/machinery/status_display/ai/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/structure/safe/vault,
-/obj/machinery/light/small/red/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/command/vault)
"vgc" = (
/obj/structure/sign/warning/vacuum/directional/east,
/obj/effect/decal/cleanable/blood/old,
@@ -66696,15 +67060,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"vgZ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"vha" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -66731,20 +67086,15 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/science)
-"vhp" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 4
- },
-/obj/machinery/door/airlock/atmos/glass{
- name = "Atmospherics"
+"vho" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
},
+/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/plating,
+/area/station/engineering/supermatter/room)
"vhx" = (
/mob/living/basic/slime,
/turf/open/floor/engine,
@@ -66753,35 +67103,26 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/service/chapel/funeral)
+"vhQ" = (
+/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/camera/directional/south{
+ c_tag = "Atmospherics Desk";
+ name = "atmospherics camera";
+ network = list("ss13","engine")
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
"vhZ" = (
/obj/effect/spawner/structure/electrified_grille,
/turf/open/floor/plating/rust,
/area/station/security/prison)
-"vij" = (
-/obj/effect/turf_decal/tile/blue,
-/obj/machinery/firealarm/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/box,
-/obj/machinery/vitals_reader/directional/east,
-/obj/structure/bed/medical{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/treatment_center)
"viq" = (
/obj/structure/lattice/catwalk,
/obj/structure/railing,
/turf/open/space/basic,
/area/space/nearstation)
-"vis" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"viu" = (
/obj/machinery/computer/security/hos{
dir = 1
@@ -66821,6 +67162,17 @@
name = "Holodeck Projector Floor"
},
/area/station/holodeck/rec_center)
+"vjy" = (
+/obj/machinery/door/airlock/maintenance,
+/obj/effect/mapping_helpers/airlock/unres/delayed{
+ dir = 4
+ },
+/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/cable,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/aft)
"vjY" = (
/obj/machinery/door/airlock/maintenance,
/obj/effect/mapping_helpers/airlock/unres/delayed{
@@ -66837,6 +67189,16 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/exit/departure_lounge)
+"vkf" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/light/directional/west,
+/obj/structure/cable,
+/obj/machinery/status_display/evac/directional/west,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"vkh" = (
/turf/closed/wall,
/area/station/hallway/primary/central)
@@ -66926,10 +67288,6 @@
dir = 4
},
/area/station/service/chapel/funeral)
-"vkY" = (
-/obj/structure/girder/reinforced,
-/turf/open/space/basic,
-/area/space/nearstation)
"vld" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -66999,6 +67357,19 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
+"vlD" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/command{
+ name = "Chief Engineer's Office"
+ },
+/obj/effect/turf_decal/siding/yellow/corner{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/ce,
+/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/command/heads_quarters/ce)
"vlJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -67022,6 +67393,7 @@
/obj/structure/grille/broken,
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/maintenance/aft)
"vmq" = (
@@ -67050,21 +67422,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"vmV" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/radio/intercom/directional/south,
-/obj/effect/turf_decal/stripes/corner{
+"vmY" = (
+/obj/effect/turf_decal/stripes/line{
dir = 4
},
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple/anticorner/contrasted,
-/obj/effect/turf_decal/tile/purple,
-/obj/machinery/camera/autoname/directional/east,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/auxlab)
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"vmZ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -67173,6 +67539,19 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
+"voe" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/turf_decal/siding/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"voo" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/landmark/event_spawn,
@@ -67189,20 +67568,6 @@
},
/turf/open/floor/wood,
/area/station/service/theater)
-"vpd" = (
-/obj/structure/table,
-/obj/item/clipboard{
- pixel_x = -4
- },
-/obj/item/book/manual/wiki/atmospherics,
-/obj/item/storage/belt/utility,
-/obj/item/t_scanner,
-/obj/item/t_scanner,
-/obj/item/t_scanner,
-/obj/machinery/light/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"vps" = (
/obj/structure/sign/warning/electric_shock,
/turf/closed/wall/r_wall,
@@ -67235,12 +67600,6 @@
},
/turf/open/floor/iron/dark,
/area/station/security/office)
-"vpX" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/sign/poster/contraband/random/directional/west,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"vpY" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -67260,15 +67619,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"vqf" = (
-/obj/machinery/module_duplicator,
-/obj/machinery/newscaster/directional/north,
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/cold/directional/north,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/ordnance/office)
"vqr" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -67293,12 +67643,6 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/storage/art)
-"vqv" = (
-/obj/item/wrench,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"vqw" = (
/turf/closed/wall/r_wall,
/area/station/tcommsat/computer)
@@ -67347,6 +67691,10 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel)
+"vrF" = (
+/obj/structure/sign/warning/fire/directional/east,
+/turf/open/space/basic,
+/area/space/nearstation)
"vrN" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -67449,6 +67797,14 @@
},
/turf/open/floor/bronze,
/area/station/maintenance/department/chapel)
+"vtx" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted,
+/obj/effect/turf_decal/tile/yellow,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"vtF" = (
/turf/open/floor/iron/showroomfloor,
/area/station/medical/treatment_center)
@@ -67457,34 +67813,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"vum" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"vun" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"vuu" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -67501,13 +67829,11 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"vuD" = (
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
+"vuA" = (
+/obj/structure/flora/bush/flowers_yw/style_random,
+/obj/machinery/light/dim/directional/east,
+/turf/open/floor/grass,
+/area/station/service/chapel)
"vuF" = (
/obj/machinery/light_switch/directional/west,
/obj/machinery/disposal/bin/tagger,
@@ -67528,23 +67854,6 @@
"vuQ" = (
/turf/closed/wall/r_wall,
/area/station/hallway/primary/starboard)
-"vuZ" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
-"vvb" = (
-/obj/machinery/conveyor{
- dir = 8;
- id = "mining"
- },
-/obj/machinery/bouldertech/refinery{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/cargo/miningoffice)
"vvd" = (
/obj/machinery/mech_bay_recharge_port,
/obj/machinery/airalarm/directional/west,
@@ -67608,17 +67917,6 @@
/obj/effect/mapping_helpers/ianbirthday,
/turf/open/floor/wood,
/area/station/command/heads_quarters/hop)
-"vvE" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/yellow{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"vvH" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -67661,6 +67959,17 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/storage/primary)
+"vwu" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/brown/hidden{
+ dir = 10
+ },
+/turf/open/floor/iron,
+/area/station/engineering/hallway)
"vwv" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -67673,11 +67982,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"vww" = (
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/red,
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"vwH" = (
/obj/structure/table/wood,
/obj/machinery/computer/records/medical/laptop,
@@ -67692,6 +67996,21 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/department/bridge)
+"vwU" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"vxa" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -67714,20 +68033,15 @@
dir = 4
},
/area/station/hallway/primary/fore)
-"vxr" = (
-/obj/machinery/computer/atmos_control/mix_tank{
- dir = 1
- },
-/obj/effect/turf_decal/bot,
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green/half/contrasted,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
+"vxg" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/machinery/atmospherics/components/trinary/filter/atmos/plasma,
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/effect/turf_decal/tile/yellow/opposingcorners{
dir = 1
},
/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/atmos/pumproom)
+/area/station/engineering/atmos)
"vxC" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -67805,6 +68119,12 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/lab)
+"vyL" = (
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible,
+/obj/machinery/meter,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"vyN" = (
/turf/open/floor/engine,
/area/station/engineering/supermatter/engine)
@@ -67835,25 +68155,6 @@
/obj/structure/sink/kitchen/directional/west,
/turf/open/floor/plastic,
/area/station/hallway/secondary/service)
-"vzt" = (
-/obj/machinery/atmospherics/components/binary/pump/on{
- dir = 8;
- name = "Waste to Filter"
- },
-/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/neutral/half/contrasted,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/pumproom)
-"vzu" = (
-/obj/effect/turf_decal/stripes/end{
- dir = 4
- },
-/obj/item/radio/intercom/directional/east,
-/obj/machinery/status_display/ai/directional/south,
-/turf/open/floor/engine,
-/area/station/tcommsat/computer)
"vzy" = (
/turf/closed/wall,
/area/station/service/janitor)
@@ -67866,14 +68167,6 @@
},
/turf/open/floor/circuit/telecomms,
/area/station/science/xenobiology)
-"vzR" = (
-/obj/machinery/light/small/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/blue/half/contrasted,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"vzZ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -67934,50 +68227,30 @@
},
/turf/open/floor/iron/dark,
/area/station/service/kitchen)
-"vAG" = (
+"vBg" = (
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/event_spawn,
-/obj/machinery/duct,
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/hidden/layer4{
- dir = 8
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
},
-/obj/machinery/atmospherics/pipe/bridge_pipe/supply/hidden/layer4,
+/obj/machinery/light/directional/north,
/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
+/area/station/hallway/primary/aft)
"vBi" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"vBl" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/binary/valve/digital{
- name = "Waste Release"
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
+"vBw" = (
+/obj/item/radio/intercom/directional/east,
+/obj/machinery/computer/station_alert{
dir = 8
},
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/machinery/light/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
-"vBt" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
- dir = 4
- },
-/obj/machinery/light/small/directional/south,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter/room)
+/obj/effect/turf_decal/bot,
+/obj/machinery/light/warm/directional/east,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"vBE" = (
/obj/structure/chair{
dir = 4
@@ -68012,7 +68285,6 @@
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
"vBS" = (
@@ -68023,6 +68295,11 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/security/office)
+"vBY" = (
+/obj/effect/turf_decal/bot/left,
+/obj/effect/decal/cleanable/ash,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"vCa" = (
/obj/structure/table/wood,
/obj/effect/decal/cleanable/dirt,
@@ -68062,15 +68339,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"vCp" = (
-/obj/effect/turf_decal/box/corners{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"vCA" = (
/obj/effect/landmark/start/hangover,
/obj/structure/disposalpipe/segment{
@@ -68117,33 +68385,51 @@
},
/turf/open/floor/iron,
/area/station/security/courtroom)
-"vDc" = (
-/obj/machinery/firealarm/directional/east,
-/obj/effect/decal/cleanable/cobweb/cobweb2,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/byteforge,
-/obj/machinery/camera/autoname/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/light/small/directional/east,
+"vDi" = (
+/obj/structure/table/glass,
+/obj/item/folder/white,
+/obj/item/folder/white,
+/obj/item/crowbar/red,
+/obj/item/wrench,
+/obj/item/storage/box/syringes{
+ pixel_x = 4;
+ pixel_y = 6
+ },
+/obj/item/storage/box/beakers{
+ pixel_y = 2
+ },
+/obj/machinery/airalarm/directional/east,
+/obj/structure/noticeboard/directional/south,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/item/storage/pill_bottle/sepsisillin{
+ pixel_x = -5;
+ pixel_y = -2
+ },
/turf/open/floor/iron/dark,
-/area/station/cargo/bitrunning/den)
+/area/station/medical/virology)
"vDk" = (
/turf/closed/wall,
/area/station/engineering/supermatter/room)
+"vDm" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"vDD" = (
/obj/machinery/smartfridge/drinks,
/turf/open/floor/wood,
/area/station/hallway/secondary/service)
-"vDK" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
"vDO" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/command/glass{
@@ -68236,18 +68522,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/virology)
-"vFe" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/grass,
-/area/station/science/auxlab)
-"vFp" = (
-/obj/structure/railing/corner,
-/obj/effect/turf_decal/siding/thinplating/dark{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
"vFv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -68274,6 +68548,13 @@
/obj/structure/sign/poster/contraband/random/directional/south,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"vFK" = (
+/obj/effect/turf_decal/box/corners,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"vFL" = (
/obj/effect/turf_decal/bot,
/obj/structure/closet/crate,
@@ -68310,15 +68591,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"vGd" = (
-/obj/structure/table,
-/obj/item/storage/toolbox/mechanical,
-/obj/item/clothing/head/utility/welding,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/chemistry)
"vGn" = (
/obj/machinery/door/poddoor/preopen{
id = "prisonblast";
@@ -68351,10 +68623,6 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"vGu" = (
-/obj/structure/sign/warning/secure_area,
-/turf/closed/wall/r_wall,
-/area/station/maintenance/starboard/aft)
"vGJ" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -68370,27 +68638,10 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"vHa" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/light/directional/east,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"vHd" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/showroomfloor,
/area/station/science/auxlab)
-"vHe" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter/room)
"vHh" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -68402,6 +68653,10 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"vHl" = (
+/obj/effect/turf_decal/stripes/corner,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"vHr" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/yellow/half/contrasted,
@@ -68446,12 +68701,6 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
/turf/open/floor/iron/dark,
/area/station/engineering/storage_shared)
-"vHP" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible,
-/obj/effect/turf_decal/stripes/corner,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"vHS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -68463,31 +68712,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"vHW" = (
-/obj/machinery/computer/records/security{
- dir = 4
- },
-/obj/machinery/requests_console/directional/north{
- department = "Security";
- name = "Security Requests Console"
- },
-/obj/effect/mapping_helpers/requests_console/assistance,
-/obj/effect/mapping_helpers/requests_console/supplies,
-/obj/effect/turf_decal/tile/red/anticorner/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron/showroomfloor,
-/area/station/security/checkpoint/science)
-"vHZ" = (
-/obj/effect/turf_decal/box/white{
- color = "#9FED58"
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"vIc" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/structure/table/reinforced,
@@ -68507,6 +68731,20 @@
},
/turf/open/floor/plating,
/area/station/engineering/atmos)
+"vIh" = (
+/obj/machinery/camera/directional/south{
+ c_tag = "Aft Hallway Engineering Doors";
+ name = "aft camera"
+ },
+/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/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"vIE" = (
/obj/machinery/camera/directional/west{
c_tag = "Atmospherics Tank - Mix";
@@ -68519,6 +68757,16 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/engine,
/area/station/science/auxlab)
+"vIL" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/unary/thermomachine/heater,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible{
+ dir = 4
+ },
+/obj/structure/railing,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"vIR" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/command{
@@ -68536,22 +68784,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/science/server)
-"vIV" = (
-/obj/structure/table,
-/obj/machinery/camera/directional/west{
- c_tag = "ai_upload";
- name = "upload camera";
- network = list("aiupload")
- },
-/obj/item/radio/intercom/directional/west,
-/obj/effect/spawner/round_default_module,
+"vIY" = (
+/obj/effect/turf_decal/stripes/line,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/light/cold/dim/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/ai/upload/chamber)
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"vJc" = (
/turf/closed/wall/r_wall,
/area/station/science/xenobiology)
@@ -68625,12 +68863,6 @@
/mob/living/basic/bot/secbot/beepsky,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"vJM" = (
-/obj/machinery/holopad,
-/obj/machinery/duct,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"vJN" = (
/obj/machinery/hydroponics/constructable,
/obj/structure/railing{
@@ -68642,14 +68874,6 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"vJO" = (
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/turf/open/floor/iron/stairs/left{
- dir = 4
- },
-/area/station/service/chapel/monastery)
"vJP" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -68689,11 +68913,9 @@
/area/station/command/vault)
"vKj" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/red,
/turf/open/floor/iron,
/area/station/engineering/main)
-"vKm" = (
-/turf/open/floor/engine/vacuum,
-/area/station/maintenance/disposal/incinerator)
"vKp" = (
/obj/item/clothing/head/costume/cardborg,
/obj/item/clothing/suit/costume/cardborg,
@@ -68701,14 +68923,6 @@
/obj/machinery/airalarm/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/central)
-"vKC" = (
-/obj/structure/rack,
-/obj/effect/spawner/random/techstorage/security_all,
-/obj/effect/turf_decal/bot,
-/obj/structure/extinguisher_cabinet/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
"vKE" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -68722,14 +68936,15 @@
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
"vKO" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 1
- },
/obj/effect/turf_decal/bot,
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/yellow{
dir = 8
},
+/obj/machinery/portable_atmospherics/pump,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{
+ dir = 1
+ },
/turf/open/floor/iron/dark/corner{
dir = 1
},
@@ -68764,8 +68979,16 @@
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
+/obj/effect/turf_decal/bot,
/turf/open/floor/iron/showroomfloor,
/area/station/security/lockers)
+"vLE" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/green/anticorner/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/virology)
"vLG" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/modular_computer/preset/engineering{
@@ -68785,20 +69008,41 @@
"vLI" = (
/turf/closed/wall/r_wall/rust,
/area/station/service/chapel/funeral)
+"vLN" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"vLR" = (
/obj/machinery/power/tracker,
/obj/effect/turf_decal/box,
/obj/structure/cable,
/turf/open/floor/iron/solarpanel/airless,
/area/station/solars/starboard/fore)
-"vLU" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
+"vLS" = (
+/obj/machinery/portable_atmospherics/pump,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/obj/machinery/newscaster/directional/north,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
},
-/obj/machinery/portable_atmospherics/canister,
/obj/effect/turf_decal/box,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
+"vLV" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/atmospherics/pipe/smart/simple/brown/hidden{
+ dir = 1
+ },
/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
+/area/station/engineering/atmos/storage)
"vMb" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -68819,6 +69063,21 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/security/warden)
+"vMj" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Distro to Waste"
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/status_display/evac/directional/east,
+/obj/effect/turf_decal/stripes/red/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/white/corner,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/pumproom)
"vMo" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -68833,15 +69092,13 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"vME" = (
-/obj/structure/window/reinforced/plasma/spawner/directional/east,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/obj/machinery/power/energy_accumulator/tesla_coil/anchored,
-/turf/open/floor/circuit/green{
- luminosity = 2
+"vMy" = (
+/obj/structure/chair/office/light{
+ dir = 1;
+ pixel_y = 3
},
-/area/station/engineering/supermatter/engine)
+/turf/open/floor/iron,
+/area/station/engineering/main)
"vMK" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -68879,6 +69136,14 @@
/obj/structure/plasticflaps/kitchen,
/turf/open/floor/iron/dark,
/area/station/service/kitchen/coldroom)
+"vMY" = (
+/obj/machinery/power/emitter/welded{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/engineering/supermatter/room)
"vNl" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -68896,21 +69161,15 @@
/obj/structure/sign/warning/docking,
/turf/closed/wall/rust,
/area/station/cargo/miningdock)
-"vNo" = (
-/obj/structure/cable,
-/obj/structure/chair/sofa/right/maroon{
- dir = 4
- },
-/obj/structure/railing{
- dir = 8
- },
-/obj/machinery/airalarm/directional/south,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
+"vNt" = (
+/obj/effect/turf_decal/box/corners{
dir = 8
},
-/turf/open/floor/iron/dark,
-/area/station/service/bar/atrium)
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"vNE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -68944,10 +69203,10 @@
dir = 8
},
/area/station/hallway/primary/port)
-"vNU" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/showroomfloor,
-/area/station/security/execution/transfer)
+"vNW" = (
+/obj/effect/turf_decal/box,
+/turf/open/floor/engine,
+/area/station/science/auxlab)
"vOl" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -68958,6 +69217,11 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"vOo" = (
+/obj/effect/landmark/start/paramedic,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
"vOq" = (
/obj/machinery/door/firedoor,
/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
@@ -68976,22 +69240,6 @@
},
/turf/open/floor/wood,
/area/station/command/heads_quarters/captain)
-"vOJ" = (
-/obj/structure/table/glass,
-/obj/item/crowbar{
- pixel_x = -8;
- pixel_y = 11
- },
-/obj/item/emergency_bed{
- pixel_x = 7;
- pixel_y = 10
- },
-/obj/item/emergency_bed,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/office)
"vOL" = (
/obj/effect/turf_decal/tile/purple/half/contrasted{
dir = 8
@@ -69047,11 +69295,6 @@
"vOX" = (
/turf/closed/wall/rust,
/area/station/maintenance/starboard)
-"vPc" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/structure/transit_tube,
-/turf/open/floor/plating/airless,
-/area/space/nearstation)
"vPd" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -69060,16 +69303,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"vPo" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/structure/closet/secure_closet/medical2,
-/turf/open/floor/iron/dark,
-/area/station/medical/virology)
"vPB" = (
/obj/structure/flora/grass/jungle/b/style_random,
/obj/structure/flora/bush/grassy/style_random,
@@ -69082,13 +69315,6 @@
/obj/structure/window/spawner/directional/east,
/turf/open/floor/grass,
/area/station/hallway/secondary/exit/departure_lounge)
-"vPD" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/holopad,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
"vPG" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -69100,26 +69326,6 @@
},
/turf/open/floor/plating,
/area/station/security/execution/education)
-"vPU" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/obj/machinery/camera/directional/west{
- c_tag = "Engineering Foyer";
- name = "engineering camera";
- network = list("ss13","engine")
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible/layer2,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/hallway)
"vPW" = (
/obj/effect/turf_decal/box/corners{
dir = 4
@@ -69133,15 +69339,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/commons/locker)
-"vQc" = (
-/obj/structure/chair/sofa/left/brown{
- dir = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/sign/poster/contraband/the_big_gas_giant_truth/directional/west,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/cargo/miningoffice)
"vQf" = (
/obj/effect/turf_decal/sand/plating,
/obj/machinery/atmospherics/components/unary/passive_vent/layer2{
@@ -69149,18 +69346,17 @@
},
/turf/open/floor/plating/airless,
/area/space/nearstation)
-"vQt" = (
-/obj/machinery/door/airlock/external{
- name = "Atmospherics External Airlock"
+"vQA" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
},
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
},
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/obj/effect/mapping_helpers/burnt_floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"vQD" = (
/obj/structure/chair/office/light{
dir = 1
@@ -69209,9 +69405,15 @@
},
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
-"vRK" = (
-/obj/structure/sign/warning/no_smoking,
-/turf/closed/wall,
+"vRF" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/smooth,
/area/station/engineering/atmos)
"vRN" = (
/obj/structure/closet/secure_closet/medical3,
@@ -69270,20 +69472,6 @@
/obj/item/storage/belt/medical,
/turf/open/floor/iron/dark,
/area/station/medical/storage)
-"vRX" = (
-/obj/structure/table,
-/obj/item/stack/sheet/glass/fifty,
-/obj/item/stack/sheet/glass/fifty,
-/obj/item/stack/rods/fifty,
-/obj/item/stack/rods/fifty,
-/obj/item/grenade/chem_grenade/smart_metal_foam,
-/obj/item/grenade/chem_grenade/smart_metal_foam,
-/obj/machinery/light_switch/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"vSa" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -69297,17 +69485,16 @@
/obj/machinery/computer/security/telescreen/entertainment/directional/north,
/turf/open/floor/wood,
/area/station/service/bar/atrium)
-"vSp" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible,
-/turf/open/floor/plating,
-/area/station/engineering/atmos/pumproom)
"vSq" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark/corner{
dir = 8
},
/area/station/hallway/primary/central/fore)
+"vSB" = (
+/obj/structure/grille/broken,
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
"vSC" = (
/obj/effect/turf_decal/tile/purple{
dir = 1
@@ -69325,19 +69512,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/cargo/miningdock)
-"vSU" = (
-/obj/effect/spawner/random/structure/girder,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/central)
-"vSW" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
+"vTg" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
+ dir = 2
},
-/obj/machinery/camera/autoname/directional/east,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/engine,
-/area/station/science/auxlab)
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/disposal/incinerator)
"vTs" = (
/obj/machinery/hydroponics/constructable,
/obj/item/seeds/apple,
@@ -69380,6 +69561,18 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"vTz" = (
+/obj/machinery/door/airlock/external{
+ name = "External Airlock"
+ },
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/external,
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/plating,
+/area/space/nearstation)
"vTA" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -69397,10 +69590,22 @@
dir = 4
},
/area/station/hallway/primary/fore)
+"vTI" = (
+/obj/structure/grille/broken,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/effect/spawner/random/structure/steam_vent,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"vTV" = (
/turf/closed/wall/r_wall/rust,
/area/station/service/chapel/dock)
"vTX" = (
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
/turf/open/floor/iron/showroomfloor,
/area/station/command/heads_quarters/rd)
"vUi" = (
@@ -69424,20 +69629,10 @@
/area/station/maintenance/department/cargo)
"vUt" = (
/obj/structure/cable,
-/obj/effect/turf_decal/bot,
-/obj/machinery/holopad/secure,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/office)
-"vUC" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"vUD" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -69446,7 +69641,6 @@
dir = 4
},
/obj/structure/cable,
-/obj/machinery/duct,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
"vUH" = (
@@ -69485,22 +69679,16 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/science/auxlab)
-"vVv" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+"vVu" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
+/area/station/hallway/primary/fore)
"vVw" = (
/turf/closed/wall/r_wall/rust,
/area/station/science/lab)
-"vVx" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/engineering/atmos/pumproom)
"vVC" = (
/obj/structure/sign/warning/fire,
/turf/closed/wall,
@@ -69523,16 +69711,22 @@
"vVT" = (
/turf/closed/wall/r_wall/rust,
/area/station/engineering/storage/tech)
-"vVW" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
+"vWf" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Security Maintenance"
},
+/obj/effect/mapping_helpers/airlock/access/all/security/general,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/aft)
+"vWr" = (
+/obj/effect/turf_decal/box,
/obj/structure/cable,
-/obj/machinery/status_display/ai/directional/south,
-/obj/machinery/firealarm/directional/east,
-/turf/open/floor/engine,
-/area/station/ai/satellite/chamber)
+/obj/machinery/power/shieldwallgen/xenobiologyaccess,
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/structure/sign/warning/gas_mask/directional/north,
+/turf/open/floor/plating,
+/area/station/science/xenobiology)
"vWv" = (
/obj/effect/landmark/event_spawn,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -69590,6 +69784,28 @@
},
/turf/open/floor/iron/dark,
/area/station/command/gateway)
+"vXd" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"vXf" = (
/obj/machinery/camera/directional/north{
c_tag = "Medical Operating Theater B";
@@ -69614,19 +69830,6 @@
/obj/structure/sign/poster/contraband/random/directional/south,
/turf/open/floor/plating,
/area/station/cargo/storage)
-"vXz" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/machinery/atmospherics/components/unary/passive_vent{
- dir = 4;
- name = "killroom vent"
- },
-/turf/open/floor/circuit/telecomms,
-/area/station/science/xenobiology)
"vXC" = (
/obj/machinery/door/airlock/atmos{
name = "Atmospherics Connector"
@@ -69639,25 +69842,6 @@
/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
-"vXI" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"vYm" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"vYn" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -69672,13 +69856,15 @@
},
/turf/open/floor/iron/dark,
/area/station/security/office)
-"vYx" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line{
- dir = 10
+"vYu" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/pipedispenser/disposal,
+/obj/structure/plaque/static_plaque/atmos{
+ pixel_y = -32
},
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
+/obj/machinery/light/warm/directional/south,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"vYD" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -69703,25 +69889,6 @@
/obj/effect/turf_decal/tile/red/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/service/bar/atrium)
-"vYQ" = (
-/obj/structure/table,
-/obj/item/storage/toolbox/mechanical{
- pixel_x = -4;
- pixel_y = 4
- },
-/obj/item/storage/toolbox/mechanical,
-/obj/item/flashlight,
-/obj/item/flashlight,
-/obj/item/radio/intercom/directional/south,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/sign/warning/fire/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/commons/storage/primary)
"vZa" = (
/obj/machinery/computer/shuttle/mining,
/obj/effect/turf_decal/tile/brown/half/contrasted{
@@ -69736,22 +69903,6 @@
/obj/structure/flora/bush/sparsegrass/style_random,
/turf/open/floor/grass,
/area/station/service/chapel)
-"vZu" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/engineering/hallway)
"vZv" = (
/obj/structure/table,
/obj/item/clipboard{
@@ -69787,6 +69938,17 @@
},
/turf/open/floor/plating,
/area/station/science)
+"vZT" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/light/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"wae" = (
/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/mix_input{
dir = 1
@@ -69831,16 +69993,6 @@
dir = 8
},
/area/station/service/chapel)
-"waw" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/extinguisher_cabinet/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/machinery/light/directional/east,
-/turf/open/floor/iron/dark/corner,
-/area/station/hallway/primary/port)
"waI" = (
/obj/effect/turf_decal/siding/green{
dir = 8
@@ -69887,69 +70039,16 @@
/obj/effect/mapping_helpers/airlock/access/any/command/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/department/crew_quarters/bar)
-"wbF" = (
-/obj/structure/table,
-/obj/machinery/camera/directional/east{
- c_tag = "Garden"
- },
-/obj/effect/turf_decal/siding/green{
- dir = 8
- },
-/obj/item/shovel/spade,
-/obj/item/hatchet,
-/obj/item/cultivator,
+"wbR" = (
+/obj/structure/rack,
+/obj/effect/turf_decal/bot,
+/obj/item/wrench,
+/obj/effect/decal/cleanable/cobweb,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/item/shovel/spade,
-/obj/item/cultivator,
-/obj/item/hatchet,
-/obj/item/plant_analyzer,
-/obj/item/reagent_containers/cup/bottle/nutrient/rh{
- pixel_x = 2;
- pixel_y = 1
- },
-/obj/item/reagent_containers/cup/bottle/nutrient/ez,
-/obj/machinery/light/warm/directional/east,
+/obj/item/tank/internals/oxygen,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
-/area/station/service/hydroponics/garden)
-"wbG" = (
-/obj/effect/landmark/start/cyborg,
-/obj/machinery/airalarm/directional/north,
-/obj/machinery/camera/motion/directional/west{
- c_tag = "ai_upload Foyer";
- name = "upload camera";
- network = list("aiupload")
- },
-/obj/machinery/computer/security/telescreen/aiupload/directional/west,
-/obj/machinery/recharge_station,
-/turf/open/floor/circuit/green{
- luminosity = 2
- },
-/area/station/ai/upload/chamber)
-"wbH" = (
-/obj/effect/landmark/event_spawn,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/loading_area{
- dir = 4;
- pixel_x = 5
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
+/area/station/ai/satellite/atmos)
"wbT" = (
/obj/machinery/keycard_auth/wall_mounted/directional/north,
/obj/item/toy/figure/ian{
@@ -70020,19 +70119,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/dark,
/area/station/medical/treatment_center)
-"wcP" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"wcV" = (
/obj/structure/sign/warning/secure_area,
/turf/closed/wall/r_wall,
@@ -70046,12 +70132,21 @@
},
/turf/open/floor/iron/dark,
/area/station/science/lobby)
-"wdm" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/purple/anticorner/contrasted,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/ordnance/office)
+"wdt" = (
+/obj/effect/landmark/start/atmospheric_technician,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/brown/hidden{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/storage)
"wdu" = (
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance/office)
@@ -70067,15 +70162,26 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
-"wdC" = (
-/obj/structure/closet/secure_closet/brig,
-/obj/effect/turf_decal/tile/red/half/contrasted,
-/turf/open/floor/iron,
-/area/station/security/execution/transfer)
"wdL" = (
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"wdU" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{
+ dir = 4
+ },
+/obj/effect/turf_decal/delivery,
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/status_display/evac/directional/west,
+/obj/effect/turf_decal/stripes/end{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/light/cold/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/ai/satellite/atmos)
"wdZ" = (
/obj/structure/chair/sofa/bench/left{
dir = 4
@@ -70103,6 +70209,18 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/cargo/storage)
+"wes" = (
+/obj/machinery/vending/wardrobe/engi_wardrobe,
+/obj/effect/turf_decal/bot,
+/obj/machinery/camera/directional/north{
+ c_tag = "Engineering Lockers";
+ name = "engineering camera";
+ network = list("ss13","engine")
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage_shared)
"weG" = (
/obj/machinery/mass_driver/chapelgun{
dir = 8
@@ -70168,28 +70286,10 @@
/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/iron,
/area/station/command/teleporter)
-"wgq" = (
-/obj/structure/table,
-/obj/item/storage/toolbox/mechanical,
-/obj/item/crowbar,
-/obj/item/flashlight,
-/obj/item/flashlight,
-/obj/machinery/firealarm/directional/south,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
-"wgy" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/machinery/light/warm/directional/north,
-/turf/open/floor/wood,
-/area/station/service/bar/atrium)
+"wfP" = (
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/chemistry)
"wgA" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -70258,6 +70358,16 @@
},
/turf/open/floor/iron/dark,
/area/station/command/eva)
+"whs" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/tank_dispenser,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/storage)
"wht" = (
/obj/structure/flora/bush/pale/style_random{
icon_state = "fullgrass_2"
@@ -70273,19 +70383,25 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/bridge)
-"whz" = (
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/machinery/computer/atmos_control/oxygen_tank{
+"whD" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrous_input{
dir = 4
},
-/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{
+/turf/open/floor/engine/n2o,
+/area/station/engineering/atmos)
+"whG" = (
+/obj/structure/cable,
+/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/machinery/atmospherics/pipe/bridge_pipe/green/visible,
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/machinery/duct,
+/obj/machinery/firealarm/directional/south,
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/machinery/light/warm/directional/south,
/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/atmos)
+/area/station/service/bar/atrium)
"whP" = (
/obj/effect/turf_decal/bot,
/obj/machinery/firealarm/directional/east,
@@ -70295,10 +70411,38 @@
/obj/machinery/suit_storage_unit/engine,
/turf/open/floor/iron/dark,
/area/station/engineering/storage_shared)
+"whX" = (
+/obj/machinery/airalarm/directional/west,
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
+ dir = 8
+ },
+/obj/machinery/vending/coffee,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/break_room)
"wij" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/commons/locker)
+"wiu" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
+ dir = 8
+ },
+/obj/machinery/light/warm/directional/west,
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"wiw" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -70310,13 +70454,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/dark,
/area/station/service/bar/atrium)
-"wiK" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/structure/cable,
-/obj/item/kirbyplants/photosynthetic,
-/turf/open/floor/iron/dark,
-/area/station/ai/upload/chamber)
"wiM" = (
/obj/structure/cable,
/obj/structure/table,
@@ -70327,19 +70464,14 @@
},
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"wjc" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/light_switch/directional/west,
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/machinery/firealarm/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
+"wiS" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
},
-/obj/machinery/disposal/bin/tagger,
-/turf/open/floor/iron/dark,
-/area/station/medical/office)
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"wjm" = (
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 8
@@ -70386,29 +70518,28 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation)
-"wjP" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
- dir = 4
- },
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"wky" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 1;
- name = "N2O to Pure"
+"wkl" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
},
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
+/obj/machinery/meter,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
+"wkv" = (
+/obj/machinery/computer/security{
dir = 4
},
+/obj/effect/turf_decal/bot,
+/obj/item/radio/intercom/directional/west,
+/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
+ dir = 4
},
+/obj/machinery/light/warm/directional/west,
/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
+/area/station/hallway/secondary/exit/departure_lounge)
"wkC" = (
/obj/machinery/airalarm/directional/north,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -70445,26 +70576,33 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/exit/departure_lounge)
-"wlb" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/effect/turf_decal/box,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"wlm" = (
/obj/structure/bookcase/random/fiction,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/fore)
-"wlu" = (
-/obj/structure/flora/bush/sparsegrass/style_random,
-/obj/structure/flora/bush/sparsegrass/style_random,
-/obj/effect/turf_decal/siding/thinplating/dark{
- dir = 1
+"wln" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
},
-/turf/open/floor/grass,
-/area/station/service/chapel)
+/obj/structure/table,
+/obj/item/soap/nanotrasen,
+/obj/item/hand_labeler,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/camera/directional/south{
+ c_tag = "Recovery Room";
+ name = "medical camera";
+ network = list("ss13","medical")
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/central)
+"wlt" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/entry)
"wlz" = (
/obj/structure/railing{
dir = 8
@@ -70476,6 +70614,23 @@
dir = 1
},
/area/station/service/chapel)
+"wlG" = (
+/obj/effect/turf_decal/box/corners{
+ dir = 8
+ },
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
+"wlH" = (
+/obj/structure/railing/corner,
+/obj/effect/turf_decal/siding/thinplating/dark{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/chapel)
"wlO" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -70505,6 +70660,16 @@
},
/turf/open/floor/iron,
/area/station/security/brig)
+"wml" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
+/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"wmn" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -70575,10 +70740,19 @@
/area/station/service/theater)
"wnl" = (
/obj/machinery/firealarm/directional/west,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 8
+/obj/structure/table,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 4
},
-/turf/open/floor/iron,
+/obj/item/grenade/chem_grenade/smart_metal_foam{
+ pixel_x = 6
+ },
+/obj/item/grenade/chem_grenade/smart_metal_foam{
+ pixel_x = -2
+ },
+/obj/item/crowbar,
+/obj/item/wrench,
+/turf/open/floor/iron/dark,
/area/station/engineering/main)
"wno" = (
/obj/machinery/mecha_part_fabricator/maint{
@@ -70586,20 +70760,24 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel/storage)
-"wnv" = (
-/obj/effect/landmark/start/chief_engineer,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/yellow{
- dir = 5
+"wns" = (
+/obj/machinery/camera/directional/west{
+ c_tag = "Engineering Foyer";
+ name = "engineering camera";
+ network = list("ss13","engine")
},
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 4
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/brown/hidden{
+ dir = 8
},
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
-/area/station/command/heads_quarters/ce)
+/area/station/engineering/hallway)
"wny" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/turf_decal/delivery,
@@ -70673,12 +70851,6 @@
/obj/structure/sign/poster/contraband/rebels_unite/directional/south,
/turf/open/floor/plating/airless,
/area/station/maintenance/space_hut/plasmaman)
-"woi" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"woj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -70720,26 +70892,6 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/primary/aft)
-"woL" = (
-/obj/machinery/holopad,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron/white,
-/area/station/security/prison/mess)
-"woT" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
- },
-/obj/machinery/portable_atmospherics/canister/anesthetic_mix,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/medical/cryo)
"woV" = (
/obj/effect/turf_decal/bot,
/obj/structure/rack,
@@ -70810,16 +70962,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"wpI" = (
-/obj/machinery/door/airlock/maintenance,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/unres/delayed{
- dir = 8
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/aft)
"wpM" = (
/obj/structure/chair{
dir = 8
@@ -70829,6 +70971,19 @@
},
/turf/open/floor/engine/vacuum,
/area/station/science/ordnance/bomb)
+"wpQ" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/machinery/computer/atmos_control/oxygen_tank{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"wqd" = (
/obj/item/radio/intercom/directional/west,
/obj/machinery/modular_computer/preset/cargochat/service{
@@ -70884,14 +71039,6 @@
/obj/effect/turf_decal/trimline/purple/filled/line,
/turf/open/floor/plating/plasma/rust,
/area/station/maintenance/space_hut/plasmaman)
-"wqP" = (
-/obj/machinery/firealarm/directional/east,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron/dark,
-/area/station/command/bridge)
"wqQ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/siding/purple,
@@ -70938,6 +71085,12 @@
/obj/structure/cable/layer3,
/turf/open/floor/engine,
/area/station/ai/satellite/maintenance/storage)
+"wrq" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"wrw" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -70953,10 +71106,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"wrA" = (
-/obj/machinery/light/dim/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/monastery)
"wrI" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass{
@@ -70999,25 +71148,13 @@
/obj/structure/table/glass,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/cmo)
-"wso" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/firealarm/directional/south,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
-"wst" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
- },
-/obj/effect/turf_decal/box/red,
-/obj/machinery/power/apc/auto_name/directional/east,
+"wsA" = (
+/obj/machinery/door/firedoor,
+/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/purple/half/contrasted{
- dir = 4
- },
-/obj/machinery/portable_atmospherics/canister,
-/obj/machinery/light/cold/directional/east,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science/ordnance)
+/turf/open/floor/iron/dark,
+/area/station/security/brig)
"wsD" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral{
@@ -71037,6 +71174,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
+"wtw" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/airalarm/directional/east,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"wtz" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -71052,14 +71197,35 @@
},
/turf/open/floor/iron,
/area/station/command/bridge)
-"wtM" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/closet/secure_closet/hydroponics,
-/obj/structure/sign/poster/contraband/kudzu/directional/east,
-/obj/effect/turf_decal/tile/green/fourcorners,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/checker,
-/area/station/service/hydroponics)
+"wtB" = (
+/obj/structure/table,
+/obj/item/mmi,
+/obj/item/bodypart/chest/robot{
+ pixel_y = 4
+ },
+/obj/item/bodypart/leg/right/robot{
+ pixel_x = 6
+ },
+/obj/item/bodypart/arm/right/robot{
+ pixel_x = 6;
+ pixel_y = 6
+ },
+/obj/item/bodypart/leg/left/robot{
+ pixel_x = -6
+ },
+/obj/item/bodypart/arm/left/robot{
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/item/bodypart/head/robot,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"wtP" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/blue,
@@ -71067,6 +71233,21 @@
/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/cryo)
+"wtS" = (
+/obj/effect/landmark/event_spawn,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/storage)
"wua" = (
/obj/machinery/modular_computer/preset/civilian{
dir = 1
@@ -71115,11 +71296,6 @@
/obj/structure/sign/warning/deathsposal,
/turf/closed/wall,
/area/station/maintenance/starboard/aft)
-"wux" = (
-/turf/open/floor/iron/stairs/left{
- dir = 8
- },
-/area/station/hallway/primary/fore)
"wuE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -71130,36 +71306,23 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"wuG" = (
-/obj/structure/table/wood/fancy/black,
-/obj/item/food/grown/flower/poppy/lily{
- pixel_x = -6;
- pixel_y = 6
- },
-/obj/item/food/grown/flower/poppy/lily{
- pixel_x = 6;
- pixel_y = 6
- },
-/obj/item/food/grown/flower/poppy/lily,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/mapping_helpers/apc/cell_5k,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel/monastery)
"wuI" = (
/obj/structure/sign/poster/contraband/missing_gloves,
/turf/closed/wall/rust,
/area/station/maintenance/port/greater)
-"wuK" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 5
+"wuO" = (
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
},
-/obj/effect/turf_decal/stripes/corner{
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/red{
dir = 4
},
-/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/area/station/hallway/secondary/exit/departure_lounge)
"wvj" = (
/obj/structure/rack,
/obj/effect/spawner/random/techstorage/command_all,
@@ -71167,21 +71330,14 @@
luminosity = 2
},
/area/station/engineering/storage/tech)
-"wvw" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/light/small/directional/south,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/turf_decal/bot,
-/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
- dir = 4
+"wvT" = (
+/obj/machinery/camera/directional/west{
+ c_tag = "Atmospherics Tank - Air";
+ name = "atmospherics camera";
+ network = list("ss13","engine")
},
-/turf/open/floor/plating,
-/area/station/maintenance/solars/port/aft)
+/turf/open/floor/engine/air,
+/area/station/engineering/atmos)
"wwf" = (
/obj/machinery/disposal/bin/tagger,
/obj/structure/disposalpipe/trunk,
@@ -71191,14 +71347,21 @@
/turf/open/floor/wood,
/area/station/service/library)
"wwg" = (
-/obj/machinery/light/small/directional/north,
/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only{
dir = 8
},
-/obj/effect/turf_decal/bot,
-/obj/structure/sign/warning/vacuum/external/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"wwv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -71209,6 +71372,25 @@
},
/turf/open/floor/iron,
/area/station/science/robotics/mechbay)
+"www" = (
+/obj/machinery/camera/directional/east{
+ c_tag = "Supermatter Waste Line";
+ name = "engineering camera";
+ network = list("ss13","engine")
+ },
+/obj/machinery/button/door/directional/east{
+ id = "engineaccess";
+ name = "Engine Access Lockdown";
+ req_access = list("engineering");
+ pixel_x = 26
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/machinery/light/warm/directional/east,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"wwC" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -71221,12 +71403,19 @@
/obj/effect/turf_decal/siding/wood{
dir = 8
},
-/obj/machinery/holopad,
/turf/open/floor/wood,
/area/station/command/heads_quarters/qm)
"wwG" = (
/turf/closed/wall/r_wall/rust,
/area/station/science/ordnance/office)
+"wwI" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/status_display/evac/directional/north,
+/obj/machinery/light/warm/directional/north,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"wwJ" = (
/obj/effect/turf_decal/stripes/line,
/obj/structure/disposalpipe/segment,
@@ -71268,21 +71457,6 @@
"wxq" = (
/turf/closed/wall/rust,
/area/station/service/hydroponics)
-"wxr" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/blue{
- dir = 4
- },
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/tile/blue/half/contrasted{
- dir = 4
- },
-/obj/machinery/duct,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
"wxx" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -71291,6 +71465,7 @@
dir = 1;
name = "Gas to Filter"
},
+/obj/structure/sign/warning/fire/directional/west,
/turf/open/floor/circuit/green{
luminosity = 2
},
@@ -71300,25 +71475,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/carpet/green,
/area/ruin/space/has_grav/abandoned_warehouse)
-"wxH" = (
-/obj/structure/table/wood,
-/obj/item/flashlight/lamp/green{
- pixel_x = -5;
- pixel_y = 7
- },
-/obj/item/pen{
- pixel_x = 8;
- pixel_y = 5
- },
-/obj/item/pen/red{
- pixel_x = 5;
- pixel_y = 1
- },
-/obj/item/toy/figure/detective,
-/obj/item/radio/intercom/directional/east,
-/obj/machinery/light/warm/directional/east,
-/turf/open/floor/carpet/green,
-/area/station/security/detectives_office)
"wxI" = (
/obj/item/kirbyplants/organic/plant5,
/obj/effect/decal/cleanable/dirt,
@@ -71331,14 +71487,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"wxX" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Security Maintenance"
+"wxZ" = (
+/obj/structure/bed,
+/obj/machinery/iv_drip,
+/obj/effect/turf_decal/bot_white/right,
+/obj/effect/turf_decal/stripes/corner,
+/obj/item/bedsheet/medical,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
},
-/obj/effect/mapping_helpers/airlock/access/all/security/brig,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/iron/dark,
-/area/station/maintenance/aft)
+/area/station/medical/medbay/central)
"wyv" = (
/obj/structure/table,
/obj/item/clipboard{
@@ -71377,12 +71536,11 @@
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
"wyS" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
+/obj/machinery/atmospherics/components/unary/outlet_injector/on{
+ dir = 1
+ },
+/turf/open/floor/engine/vacuum,
+/area/station/engineering/atmos)
"wyX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -71402,6 +71560,19 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"wza" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple/half/contrasted,
+/obj/effect/turf_decal/tile/purple,
+/obj/structure/sign/poster/contraband/lusty_xenomorph/directional/north,
+/obj/machinery/duct,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science)
"wzb" = (
/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
dir = 8
@@ -71426,6 +71597,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"wzl" = (
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/fore)
"wzp" = (
/obj/machinery/hydroponics/constructable,
/obj/structure/railing/corner{
@@ -71434,17 +71616,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"wzr" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
"wzA" = (
/obj/effect/turf_decal/delivery,
/obj/structure/closet/emcloset,
@@ -71454,6 +71625,11 @@
/obj/machinery/newscaster/directional/west,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/port)
+"wzC" = (
+/obj/effect/spawner/structure/window/hollow/reinforced/middle,
+/obj/structure/transit_tube,
+/turf/open/floor/plating,
+/area/space/nearstation)
"wzG" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/chair/sofa/corp/left{
@@ -71489,17 +71665,17 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/office)
-"wAb" = (
-/obj/structure/bed,
-/obj/item/bedsheet/medical,
-/obj/effect/decal/cleanable/blood/old,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
+"wAg" = (
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 5
},
-/obj/machinery/camera/autoname/directional/west,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/virology)
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"wAl" = (
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"wAn" = (
/obj/effect/turf_decal/tile/blue/opposingcorners,
/obj/effect/turf_decal/tile/red/opposingcorners{
@@ -71507,9 +71683,25 @@
},
/turf/open/floor/iron,
/area/station/service/theater)
+"wAo" = (
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/disposal/incinerator)
"wAt" = (
/turf/closed/wall,
/area/station/security/execution/education)
+"wAu" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron/dark,
+/area/station/service/chapel/dock)
"wAv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/blood/gibs/old,
@@ -71555,17 +71747,23 @@
/obj/machinery/telecomms/broadcaster/preset_left,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/station/tcommsat/server)
-"wBb" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
+"wAT" = (
+/obj/effect/turf_decal/stripes/line{
dir = 4
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/corner{
- dir = 4
+/obj/effect/turf_decal/siding/red/corner{
+ dir = 1
},
-/area/station/hallway/primary/fore)
+/obj/effect/landmark/start/depsec/engineering,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/duct,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
+ dir = 9
+ },
+/turf/open/floor/iron,
+/area/station/security/checkpoint/engineering)
"wBf" = (
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/iron,
@@ -71598,6 +71796,17 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"wBN" = (
+/obj/machinery/door/airlock/external{
+ name = "Prison External Airlock"
+ },
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "kilo-maint-1"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
"wCe" = (
/obj/structure/railing{
dir = 1
@@ -71614,11 +71823,11 @@
},
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
-"wCN" = (
-/obj/structure/flora/bush/ferny/style_random,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/grass,
-/area/station/science/auxlab)
+"wCJ" = (
+/obj/structure/lattice,
+/obj/structure/transit_tube/horizontal,
+/turf/open/space/basic,
+/area/space/nearstation)
"wCR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -71660,6 +71869,21 @@
/obj/structure/flora/rock/pile/style_random,
/turf/open/misc/asteroid/lowpressure,
/area/space/nearstation)
+"wEo" = (
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"wEt" = (
/turf/closed/wall/r_wall/rust,
/area/station/service/bar/atrium)
@@ -71713,13 +71937,14 @@
/obj/machinery/atmospherics/components/tank/air/layer4,
/turf/open/floor/plating,
/area/station/maintenance/solars/port/fore)
-"wEW" = (
-/obj/machinery/biogenerator,
-/obj/effect/turf_decal/trimline/green/filled/line{
- dir = 8
+"wEO" = (
+/obj/machinery/firealarm/directional/east,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
},
-/turf/open/floor/iron,
-/area/station/security/prison/garden)
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron/dark,
+/area/station/command/bridge)
"wFa" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -71732,6 +71957,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"wFd" = (
+/obj/machinery/module_duplicator,
+/obj/machinery/newscaster/directional/north,
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/showroomfloor,
+/area/station/science/ordnance/office)
"wFi" = (
/obj/machinery/biogenerator,
/obj/effect/turf_decal/delivery,
@@ -71743,6 +71977,11 @@
"wFl" = (
/turf/closed/wall/r_wall,
/area/station/command/heads_quarters/captain/private)
+"wFn" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"wFu" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -71778,6 +72017,23 @@
},
/turf/open/floor/engine,
/area/station/command/vault)
+"wFQ" = (
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/item/radio/intercom/directional/south,
+/obj/machinery/light/warm/directional/south,
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/brown{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/burnt_floor,
+/turf/open/floor/iron/smooth_half,
+/area/station/engineering/atmos/pumproom)
"wFU" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
@@ -71860,7 +72116,10 @@
},
/obj/machinery/light/small/directional/south,
/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/caution/stand_clear,
+/obj/structure/sign/warning/secure_area/directional/east,
+/obj/effect/turf_decal/caution/stand_clear{
+ dir = 8
+ },
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/aft)
"wGE" = (
@@ -71868,13 +72127,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
/obj/machinery/duct,
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/break_room)
-"wGG" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/electrolyzer,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
"wGS" = (
/obj/structure/tank_dispenser,
/obj/effect/turf_decal/tile/purple/half/contrasted{
@@ -71941,6 +72197,21 @@
/obj/effect/turf_decal/tile/green/opposingcorners,
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"wHN" = (
+/obj/structure/closet/secure_closet/security/engine,
+/obj/effect/turf_decal/delivery,
+/obj/structure/reagent_dispensers/wall/peppertank/directional/south,
+/obj/item/crowbar,
+/obj/item/book/manual/wiki/security_space_law,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/security/checkpoint/engineering)
"wHQ" = (
/obj/structure/table,
/obj/item/folder/red,
@@ -71977,6 +72248,11 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/security/office)
+"wHY" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/security/processing)
"wIo" = (
/obj/machinery/atmospherics/components/unary/passive_vent{
dir = 1;
@@ -71989,6 +72265,11 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/commons/toilet/restrooms)
+"wIx" = (
+/obj/item/nullrod,
+/obj/structure/table/wood,
+/turf/open/floor/cult,
+/area/station/service/chapel/office)
"wIE" = (
/obj/machinery/power/shieldwallgen,
/obj/effect/turf_decal/bot,
@@ -72067,29 +72348,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/treatment_center)
-"wJz" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/hidden/layer4,
-/obj/machinery/atmospherics/pipe/bridge_pipe/supply/hidden/layer4{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
-"wJD" = (
-/obj/effect/turf_decal/bot,
-/obj/machinery/portable_atmospherics/canister/nitrogen,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"wKa" = (
/obj/machinery/modular_computer/preset/id{
dir = 8
@@ -72128,13 +72386,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"wLM" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/engineering/atmos)
"wMe" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -72247,16 +72498,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/medical)
-"wOe" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/landmark/event_spawn,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"wOk" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
@@ -72277,12 +72518,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/central)
-"wOl" = (
-/obj/effect/turf_decal/siding/white{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/service/hydroponics/garden)
"wOy" = (
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 1
@@ -72307,28 +72542,38 @@
},
/turf/open/floor/iron,
/area/station/command/bridge)
-"wPh" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/item/radio/intercom/directional/north,
-/obj/machinery/light/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold/violet/visible{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"wPq" = (
/turf/closed/wall/r_wall,
/area/station/service/chapel/funeral)
-"wPy" = (
-/obj/machinery/door/poddoor/atmos_test_room_mainvent_1,
-/turf/open/floor/engine/vacuum,
-/area/station/maintenance/disposal/incinerator)
"wPB" = (
/turf/closed/wall/r_wall/rust,
/area/station/science/genetics)
+"wPH" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
+"wPI" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/fore)
"wPK" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -72349,25 +72594,15 @@
/obj/item/gun/ballistic/automatic/battle_rifle,
/turf/open/floor/iron/dark,
/area/station/security/armory)
-"wPS" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/railing/corner{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/light/floor,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
"wPU" = (
-/obj/structure/sign/warning/electric_shock/directional/east,
/obj/structure/closet/radiation,
/obj/item/clothing/glasses/meson,
/obj/effect/turf_decal/delivery,
-/turf/open/floor/engine,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/structure/extinguisher_cabinet/directional/east,
+/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
"wPX" = (
/obj/effect/decal/cleanable/dirt,
@@ -72400,6 +72635,20 @@
/obj/structure/sign/poster/official/random/directional/south,
/turf/open/floor/iron/showroomfloor,
/area/station/science/auxlab)
+"wQG" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/computer/security/labor,
+/obj/machinery/requests_console/directional/north{
+ department = "Security";
+ name = "Security Requests Console"
+ },
+/obj/effect/mapping_helpers/requests_console/supplies,
+/obj/effect/mapping_helpers/requests_console/assistance,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/cobweb,
+/obj/machinery/airalarm/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/security/checkpoint/supply)
"wQI" = (
/obj/structure/sign/warning/electric_shock/directional/south,
/obj/structure/flora/bush/pale/style_random,
@@ -72428,10 +72677,18 @@
/obj/effect/turf_decal/box/corners,
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"wRr" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden,
-/turf/closed/wall/r_wall,
-/area/station/maintenance/disposal/incinerator)
+"wRq" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"wRs" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 4
@@ -72477,6 +72734,26 @@
"wRU" = (
/turf/closed/wall,
/area/station/engineering/atmos)
+"wSb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/machinery/camera/directional/north{
+ c_tag = "Morgue Entrance";
+ name = "medical camera";
+ network = list("ss13","medical")
+ },
+/obj/machinery/firealarm/directional/north,
+/obj/effect/turf_decal/siding/white{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/tile/blue/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/hallway/primary/fore)
"wSh" = (
/obj/structure/sign/poster/official/fruit_bowl,
/turf/closed/wall/r_wall,
@@ -72521,15 +72798,6 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"wSL" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"wSU" = (
/obj/structure/table/glass,
/obj/machinery/requests_console/directional/north{
@@ -72548,6 +72816,14 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/cmo)
+"wSV" = (
+/obj/machinery/firealarm/directional/south,
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"wSY" = (
/obj/effect/turf_decal/stripes/line,
/obj/structure/cable/layer3,
@@ -72557,13 +72833,6 @@
},
/turf/open/floor/engine,
/area/station/ai/satellite/interior)
-"wTa" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/blood/old,
-/obj/effect/mapping_helpers/burnt_floor,
-/obj/structure/sign/poster/contraband/random/directional/west,
-/turf/open/floor/plating,
-/area/station/maintenance/port/lesser)
"wTe" = (
/obj/machinery/door/firedoor,
/obj/effect/decal/cleanable/dirt,
@@ -72582,18 +72851,6 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/department/bridge)
-"wTo" = (
-/obj/effect/turf_decal/trimline/green/filled/line{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/security/prison/garden)
"wTx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -72620,6 +72877,21 @@
"wTU" = (
/turf/open/floor/carpet/orange,
/area/station/command/heads_quarters/qm)
+"wUi" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"wUU" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -72678,6 +72950,34 @@
/obj/item/weldingtool/mini,
/turf/open/floor/iron/grimy,
/area/station/security/prison/safe)
+"wVN" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/yellow{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/bot,
+/obj/machinery/holopad,
+/turf/open/floor/iron,
+/area/station/command/heads_quarters/ce)
+"wVP" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 9
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"wVR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -72706,6 +73006,17 @@
/obj/effect/mapping_helpers/airlock/access/all/science/general,
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
+"wWb" = (
+/obj/structure/rack,
+/obj/effect/spawner/random/techstorage/service_all,
+/obj/effect/turf_decal/bot,
+/obj/machinery/status_display/ai/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/effect/spawner/random/techstorage/arcade_boards,
+/obj/effect/spawner/random/techstorage/arcade_boards,
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"wWk" = (
/obj/machinery/light/small/directional/south,
/obj/effect/decal/cleanable/dirt,
@@ -72720,6 +73031,12 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"wWo" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"wWp" = (
/obj/effect/turf_decal/tile/blue{
dir = 1
@@ -72729,20 +73046,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"wWy" = (
-/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = -4;
- pixel_y = 4
- },
-/obj/item/pen,
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/status_display/evac/directional/south,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/hallway/primary/starboard)
"wWB" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -72763,9 +73066,20 @@
},
/turf/open/floor/iron/dark,
/area/station/science/lobby)
-"wWJ" = (
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+"wWL" = (
+/obj/machinery/door/airlock/external/glass{
+ name = "Atmospherics External Airlock"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"wWQ" = (
/obj/effect/turf_decal/siding/wood/end{
dir = 4
@@ -72782,20 +73096,14 @@
/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office,
/turf/open/floor/carpet/royalblue,
/area/station/service/chapel)
-"wWW" = (
-/obj/structure/sign/warning/radiation,
-/turf/closed/wall,
-/area/station/maintenance/disposal/incinerator)
-"wWY" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/blue/half/contrasted,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"wXa" = (
/turf/open/floor/iron/dark,
/area/station/service/chapel)
+"wXg" = (
+/obj/structure/lattice,
+/obj/structure/sign/warning/directional/east,
+/turf/open/space/basic,
+/area/space/nearstation)
"wXt" = (
/obj/structure/table,
/obj/effect/decal/cleanable/dirt,
@@ -72820,19 +73128,6 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/iron/dark,
/area/station/service/chapel)
-"wXM" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
-"wXP" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
"wXT" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -72867,17 +73162,6 @@
/obj/effect/spawner/random/armory/shotgun,
/turf/open/floor/iron/showroomfloor,
/area/station/security/armory)
-"wYq" = (
-/obj/machinery/door/airlock/maintenance,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/unres/delayed{
- dir = 8
- },
-/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental,
-/obj/effect/mapping_helpers/airlock/access/any/service/janitor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/starboard/aft)
"wYx" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -72898,6 +73182,28 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandoned_warehouse)
+"wYD" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/camera/directional/west{
+ c_tag = "Atmospherics Aft Tanks";
+ name = "atmospherics camera";
+ network = list("ss13","engine")
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
+"wYM" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/light/directional/east,
+/obj/machinery/status_display/evac/directional/east,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"wYR" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/yellow/half/contrasted{
@@ -72922,6 +73228,41 @@
},
/turf/open/floor/plating/airless,
/area/station/hallway/secondary/exit/departure_lounge)
+"wZe" = (
+/obj/structure/plasticflaps/opaque,
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=8";
+ location = "Atmospherics";
+ name = "navigation beacon (Atmospherics Delivery)"
+ },
+/obj/machinery/door/window/left/directional/west{
+ name = "Atmospherics Delivery Access";
+ req_access = list("atmospherics")
+ },
+/obj/machinery/door/poddoor/preopen{
+ id = "atmos";
+ name = "Atmospherics Blast Door"
+ },
+/obj/effect/turf_decal/delivery,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
+"wZI" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
+"wZS" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"wZW" = (
/obj/machinery/door/firedoor,
/turf/open/floor/iron/dark,
@@ -72937,17 +73278,6 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating,
/area/space/nearstation)
-"xae" = (
-/obj/structure/table,
-/obj/structure/bedsheetbin,
-/obj/machinery/status_display/evac/directional/south,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 1
- },
-/obj/machinery/light/cold/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/commons/toilet/restrooms)
"xaf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -72965,6 +73295,18 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
+"xai" = (
+/obj/machinery/firealarm/directional/east,
+/obj/machinery/computer/dna_console{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/light/cold/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/science/genetics)
"xap" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -73007,6 +73349,36 @@
/obj/effect/turf_decal/tile/yellow/half/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
+"xaK" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/structure/cable,
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
+"xaX" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"xaZ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -73024,26 +73396,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/showroomfloor,
/area/station/science/auxlab)
-"xbj" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/light_switch/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/camera/motion/directional/south{
- c_tag = "Vault";
- name = "vault camera";
- network = list("vault")
- },
-/obj/machinery/light/small/red/directional/south,
-/turf/open/floor/engine,
-/area/station/command/vault)
-"xbk" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber{
- dir = 1
- },
-/turf/open/floor/engine/vacuum,
-/area/station/maintenance/disposal/incinerator)
"xbx" = (
/obj/effect/turf_decal/stripes/line,
/obj/item/radio/intercom/directional/east,
@@ -73108,32 +73460,27 @@
},
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
-"xcu" = (
-/obj/machinery/door/airlock/external{
- name = "Prison External Airlock"
- },
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "kilo-maint-1"
+"xcy" = (
+/obj/machinery/modular_computer/preset/id,
+/obj/effect/turf_decal/bot,
+/obj/machinery/computer/security/telescreen/ce/directional/north,
+/obj/machinery/light/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/ce)
+"xcC" = (
+/obj/machinery/camera/directional/west{
+ c_tag = "Atmospherics Fore Tanks";
+ name = "atmospherics camera";
+ network = list("ss13","engine")
},
-/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/port/lesser)
-"xcE" = (
-/obj/structure/chair/office/light{
- dir = 1;
- pixel_y = 3
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
},
-/obj/effect/turf_decal/siding/yellow{
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
dir = 5
},
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"xcJ" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
@@ -73204,14 +73551,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel)
-"xea" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
"xef" = (
/obj/structure/disposalpipe/junction/flip{
dir = 4
@@ -73245,6 +73584,25 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/gravity_generator)
+"xep" = (
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/table,
+/obj/effect/turf_decal/bot,
+/obj/machinery/camera/directional/east{
+ c_tag = "Cargo Office";
+ name = "cargo camera";
+ network = list("ss13","qm")
+ },
+/obj/machinery/fax{
+ fax_name = "Cargo Office";
+ name = "Cargo Office Fax Machine"
+ },
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/cargo/office)
"xeq" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
@@ -73281,13 +73639,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"xeL" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/dark,
-/area/station/ai/upload/chamber)
"xeP" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -73296,6 +73647,12 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
+"xeR" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/pipedispenser/disposal/transit_tube,
+/obj/machinery/status_display/ai/directional/south,
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"xeT" = (
/obj/machinery/power/smes,
/obj/effect/decal/cleanable/dirt,
@@ -73315,45 +73672,45 @@
},
/turf/open/floor/iron/dark,
/area/station/security/detectives_office)
-"xfx" = (
-/obj/effect/spawner/structure/window/reinforced/tinted,
-/turf/open/floor/plating,
-/area/station/maintenance/department/security)
-"xfB" = (
-/obj/structure/closet/bombcloset,
+"xfh" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/duct,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/medbay/central)
+"xfn" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/machinery/newscaster/directional/east,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
+ dir = 8
},
/turf/open/floor/iron/dark,
-/area/station/science/lobby)
-"xfL" = (
-/obj/effect/turf_decal/box/corners{
- dir = 1
+/area/station/security/lockers)
+"xfq" = (
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 9
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
+"xfx" = (
+/obj/effect/spawner/structure/window/reinforced/tinted,
+/turf/open/floor/plating,
+/area/station/maintenance/department/security)
"xfU" = (
/obj/item/circuitboard/computer/solar_control,
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
-"xfV" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/burnt_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"xfZ" = (
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/psychology)
-"xgi" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
"xgC" = (
/obj/machinery/status_display/ai/directional/north,
/obj/effect/turf_decal/tile/neutral{
@@ -73366,28 +73723,6 @@
dir = 1
},
/area/station/hallway/primary/central/fore)
-"xgF" = (
-/obj/structure/rack,
-/obj/effect/turf_decal/bot,
-/obj/item/storage/medkit/o2,
-/obj/item/tank/internals/emergency_oxygen,
-/obj/machinery/light/small/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/item/tank/internals/emergency_oxygen,
-/obj/item/clothing/mask/breath,
-/obj/item/clothing/mask/breath,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/entry)
-"xgH" = (
-/obj/machinery/airalarm/directional/west,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/end{
- dir = 8
- },
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
"xgV" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/yellow/half/contrasted,
@@ -73410,6 +73745,17 @@
/obj/machinery/light/small/directional/north,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/trash/cigbutt,
+/obj/effect/spawner/random/trash/cigbutt,
+/obj/effect/spawner/random/trash/cigpack,
+/obj/item/assembly/igniter{
+ pixel_x = -8
+ },
+/obj/item/chair/stool{
+ pixel_y = 5;
+ pixel_x = 6;
+ dir = 2
+ },
/turf/open/floor/plating,
/area/station/maintenance/aft)
"xhI" = (
@@ -73429,27 +73775,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"xhT" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
-"xii" = (
-/obj/machinery/door/poddoor/preopen{
- id = "brigfrontdoor";
- name = "Front Security Blast Door"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/caution/stand_clear,
-/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,
-/area/station/security/brig)
"xin" = (
/obj/structure/table,
/obj/effect/turf_decal/bot,
@@ -73482,14 +73807,6 @@
},
/turf/open/floor/iron/dark,
/area/station/science/genetics)
-"xir" = (
-/obj/machinery/status_display/evac/directional/south,
-/obj/effect/turf_decal/tile/blue/half/contrasted,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/machinery/light/warm/dim/directional/south,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"xiA" = (
/obj/machinery/power/apc/auto_name/directional/east,
/obj/structure/cable,
@@ -73500,18 +73817,18 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/sorting)
-"xiP" = (
-/obj/machinery/newscaster/directional/north,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
+"xiZ" = (
+/obj/structure/table/wood,
+/obj/structure/cable,
+/obj/item/pen/fountain{
+ pixel_x = 4
},
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/chemistry)
-"xiT" = (
-/obj/effect/landmark/start/medical_doctor,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
+/obj/item/storage/photo_album/chapel{
+ pixel_x = -16
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/grimy,
+/area/station/service/chapel/office)
"xja" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -73545,23 +73862,6 @@
/obj/machinery/newscaster/directional/east,
/turf/closed/wall/r_wall,
/area/station/commons/fitness/recreation)
-"xjB" = (
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 4
- },
-/obj/structure/noticeboard/directional/north,
-/obj/item/kirbyplants/organic/plant5,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"xjI" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 8
@@ -73608,18 +73908,13 @@
/obj/effect/landmark/navigate_destination/minisat_access_ai,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/central/fore)
-"xjS" = (
-/obj/structure/bodycontainer/morgue{
- dir = 8
- },
-/obj/effect/turf_decal/bot_white,
-/obj/machinery/airalarm/directional/east,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
+"xkc" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/newscaster/directional/west,
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron,
+/area/station/command/heads_quarters/hop)
"xke" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
@@ -73654,6 +73949,17 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
+"xkx" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/pumproom)
"xky" = (
/obj/structure/sink/kitchen/directional/east{
desc = "A sink used for washing one's hands and face. It looks rusty and home-made";
@@ -73661,6 +73967,19 @@
},
/turf/open/floor/plating,
/area/station/security/prison)
+"xkS" = (
+/obj/structure/closet/crate/trashcart/laundry,
+/obj/effect/spawner/random/contraband/prison,
+/obj/item/clothing/under/rank/prisoner,
+/obj/item/clothing/under/rank/prisoner,
+/obj/item/clothing/under/rank/prisoner/skirt,
+/obj/item/clothing/under/rank/prisoner/skirt,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/cafeteria,
+/area/station/security/prison/garden)
"xle" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -73719,6 +74038,13 @@
/obj/effect/turf_decal/tile/yellow/half/contrasted,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/chemistry)
+"xlv" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/bridge)
"xlA" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
@@ -73733,6 +74059,18 @@
/obj/structure/flora/bush/grassy/style_random,
/turf/open/floor/grass,
/area/station/service/chapel)
+"xlV" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"xmf" = (
/obj/machinery/door/airlock/maintenance{
name = "Auxiliary Research Maintenance"
@@ -73740,24 +74078,6 @@
/obj/effect/mapping_helpers/airlock/access/all/science/research,
/turf/open/floor/iron/dark,
/area/station/science/auxlab)
-"xmm" = (
-/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = -4;
- pixel_y = 4
- },
-/obj/item/pen,
-/obj/item/stamp/denied{
- pixel_x = 8;
- pixel_y = 6
- },
-/obj/item/stamp/granted{
- pixel_x = 8;
- pixel_y = 2
- },
-/obj/machinery/firealarm/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
"xmn" = (
/obj/structure/chair/pew/right{
dir = 8
@@ -73805,17 +74125,22 @@
/turf/open/floor/iron/dark,
/area/station/security/brig)
"xmQ" = (
-/obj/machinery/door/airlock/external{
- name = "External Airlock"
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
},
/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/external,
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
+"xmZ" = (
+/obj/structure/table,
+/obj/item/storage/toolbox/mechanical,
+/obj/item/clothing/head/utility/welding,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/chemistry)
"xng" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -73840,17 +74165,14 @@
/turf/open/floor/iron/dark,
/area/station/maintenance/port/greater)
"xnB" = (
-/obj/machinery/portable_atmospherics/pump,
-/obj/machinery/airalarm/directional/south,
-/obj/effect/turf_decal/box,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 1
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Ports to Filter"
},
-/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/hallway)
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"xnC" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -73864,6 +74186,16 @@
},
/turf/open/floor/iron,
/area/station/service/theater)
+"xnH" = (
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/maintenance/disposal/incinerator)
"xnJ" = (
/obj/structure/table,
/obj/item/clipboard,
@@ -73909,18 +74241,6 @@
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"xnZ" = (
-/obj/machinery/portable_atmospherics/scrubber,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 1
- },
-/obj/machinery/firealarm/directional/south,
-/obj/effect/turf_decal/box,
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/hallway)
"xoh" = (
/obj/structure/sign/warning/fire/directional/west{
pixel_y = -32
@@ -73948,6 +74268,9 @@
},
/obj/structure/cable,
/obj/machinery/duct,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
/turf/open/floor/iron/showroomfloor,
/area/station/medical/paramedic)
"xoO" = (
@@ -74009,6 +74332,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"xqc" = (
+/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
+ dir = 4
+ },
+/obj/structure/table/glass,
+/obj/structure/cable,
+/obj/structure/fireaxecabinet/jawsofrecovery/directional/east,
+/obj/item/surgicaldrill,
+/obj/item/toy/figure/paramedic,
+/obj/machinery/light/small/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/paramedic)
"xqf" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/showroomfloor,
@@ -74021,17 +74357,6 @@
/obj/structure/cable,
/turf/open/floor/bronze,
/area/station/maintenance/department/chapel)
-"xqE" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/engineering/glass{
- name = "Supermatter Engine"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
-/obj/machinery/duct,
-/turf/open/floor/iron/dark,
-/area/station/engineering/main)
"xqM" = (
/obj/structure/flora/grass/jungle/a/style_random,
/obj/structure/flora/bush/fullgrass/style_random,
@@ -74065,30 +74390,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/brig)
-"xrx" = (
-/obj/structure/table/glass,
-/obj/item/folder/white,
-/obj/item/folder/white,
-/obj/item/crowbar/red,
-/obj/item/wrench,
-/obj/item/storage/box/syringes{
- pixel_x = 4;
- pixel_y = 6
- },
-/obj/item/storage/box/beakers{
- pixel_y = 2
- },
-/obj/machinery/airalarm/directional/east,
-/obj/structure/noticeboard/directional/south,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/item/storage/pill_bottle/sepsisillin{
- pixel_x = -5;
- pixel_y = -2
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/virology)
"xrA" = (
/obj/machinery/door/airlock/external{
name = "External Airlock"
@@ -74105,11 +74406,30 @@
"xrS" = (
/turf/closed/wall/rust,
/area/station/security/execution/transfer)
-"xsn" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
+"xsp" = (
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/machinery/door/window/left/directional/east{
+ name = "Inner Pipe Access";
+ req_access = list("atmospherics")
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
+/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
+"xsG" = (
+/obj/structure/cable,
+/obj/machinery/power/terminal{
+ dir = 8
+ },
+/obj/machinery/light/directional/north,
+/turf/open/floor/catwalk_floor/iron_smooth,
+/area/station/maintenance/department/chapel/monastery)
"xsJ" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/yellow/half/contrasted{
@@ -74150,17 +74470,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/xenobiology)
-"xtc" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/yellow{
- dir = 6
- },
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
-/obj/effect/turf_decal/tile/red,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/engineering/storage_shared)
"xtk" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 4
@@ -74213,10 +74522,16 @@
/turf/open/floor/iron/showroomfloor,
/area/station/service/bar/atrium)
"xtO" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 5
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
},
-/turf/open/floor/engine,
+/obj/structure/table,
+/obj/item/analyzer,
+/obj/item/analyzer,
+/obj/item/wrench,
+/obj/item/wrench,
+/obj/structure/sign/warning/no_smoking/directional/east,
+/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
"xtV" = (
/obj/effect/turf_decal/stripes/corner{
@@ -74224,6 +74539,23 @@
},
/turf/closed/wall,
/area/station/maintenance/starboard)
+"xum" = (
+/obj/structure/table,
+/obj/item/clothing/under/rank/prisoner/skirt{
+ pixel_x = -13;
+ pixel_y = 5
+ },
+/obj/item/clothing/under/rank/prisoner/skirt{
+ pixel_x = 9;
+ pixel_y = 5
+ },
+/obj/item/clothing/under/rank/prisoner{
+ pixel_x = -2;
+ pixel_y = 5
+ },
+/obj/effect/turf_decal/tile/red/half/contrasted,
+/turf/open/floor/iron,
+/area/station/security/execution/transfer)
"xuA" = (
/obj/machinery/vending/hydroseeds{
slogan_delay = 700
@@ -74265,23 +74597,6 @@
/obj/item/radio/intercom/directional/east,
/turf/closed/wall,
/area/station/maintenance/disposal)
-"xvc" = (
-/obj/structure/window/spawner/directional/east,
-/obj/structure/window/spawner/directional/south,
-/obj/structure/window/spawner/directional/west,
-/obj/structure/flora/bush/large/style_random{
- pixel_y = 0
- },
-/obj/structure/flora/bush/fullgrass/style_random,
-/turf/open/floor/grass,
-/area/station/medical/medbay/central)
-"xvg" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/service/chapel)
"xvj" = (
/obj/structure/flora/bush/stalky/style_random,
/obj/structure/flora/bush/flowers_br/style_random,
@@ -74368,6 +74683,13 @@
"xvW" = (
/turf/closed/wall,
/area/station/medical/paramedic)
+"xwa" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/blue/half/contrasted,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"xwk" = (
/obj/machinery/computer/security/mining,
/obj/effect/turf_decal/tile/brown/half/contrasted{
@@ -74425,22 +74747,30 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/office)
-"xwW" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+"xwT" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/red{
dir = 4
},
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 8
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
},
-/obj/effect/turf_decal/tile/purple{
+/obj/effect/turf_decal/tile/neutral{
dir = 1
},
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/showroomfloor,
-/area/station/science)
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"xxk" = (
/turf/closed/wall/r_wall,
/area/station/command/heads_quarters/cmo)
+"xxr" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"xxz" = (
/obj/structure/table/glass,
/obj/item/storage/box/bodybags{
@@ -74491,6 +74821,20 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"xxY" = (
+/obj/structure/chair/sofa/left/maroon{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/railing{
+ dir = 8
+ },
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/bar/atrium)
"xye" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -74507,6 +74851,15 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"xyo" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/fore)
"xyp" = (
/obj/structure/rack,
/obj/item/plant_analyzer,
@@ -74519,27 +74872,38 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
+"xyH" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/plasma_output{
+ dir = 4
+ },
+/turf/open/floor/engine/plasma,
+/area/station/engineering/atmos)
+"xyI" = (
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"xzc" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/burnt_floor,
/obj/effect/spawner/random/structure/crate,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"xzi" = (
-/obj/machinery/atmospherics/components/binary/pump{
- name = "East Ports to Engine"
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"xzI" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/structure/closet_maintenance,
/obj/effect/spawner/random/food_or_drink/booze,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
+"xzP" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/station/ai/upload/chamber)
"xzS" = (
/obj/machinery/chem_master,
/obj/effect/turf_decal/delivery,
@@ -74554,11 +74918,19 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/pharmacy)
-"xzU" = (
-/obj/structure/transit_tube/horizontal,
-/obj/structure/lattice,
-/turf/open/space/basic,
-/area/space/nearstation)
+"xzW" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/defibrillator_mount/directional/west,
+/obj/machinery/stasis{
+ dir = 4
+ },
+/obj/effect/turf_decal/box,
+/obj/machinery/vitals_reader/directional/north,
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/medical/treatment_center)
"xAw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -74589,23 +74961,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"xAW" = (
-/obj/structure/reagent_dispensers/watertank,
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
-"xBb" = (
-/obj/machinery/light_switch/directional/south,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue/half/contrasted,
-/obj/structure/table/glass,
-/obj/item/mod/module/thermal_regulator,
-/obj/item/mod/module/plasma_stabilizer,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/break_room)
"xBi" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -74630,41 +74985,32 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"xBv" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"xBw" = (
/obj/structure/flora/grass/jungle/b/style_random,
/obj/structure/flora/bush/sparsegrass/style_random,
/turf/open/floor/grass,
/area/station/security/prison/garden)
-"xBF" = (
-/obj/effect/spawner/random/structure/chair_flipped,
-/turf/open/floor/plating,
-/area/station/maintenance/port/lesser)
"xBI" = (
/turf/closed/wall/rust,
/area/station/maintenance/port/fore)
-"xBT" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/structure/sink/directional/south,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/machinery/atmospherics/components/binary/pump/on/layer4{
- dir = 4;
- name = "Airlock Pump";
- target_pressure = 300;
- hide = 1
- },
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
- dir = 6
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"xCa" = (
/obj/effect/turf_decal/siding/wood/corner,
/obj/structure/disposalpipe/segment,
@@ -74685,6 +75031,40 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"xCj" = (
+/obj/item/canvas/nineteen_nineteen,
+/obj/item/canvas/nineteen_nineteen,
+/obj/item/canvas/nineteen_nineteen,
+/obj/item/canvas/nineteen_nineteen,
+/obj/structure/table/rolling,
+/obj/item/storage/crayons{
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/effect/spawner/random/contraband/prison,
+/obj/item/storage/crayons{
+ pixel_x = -6;
+ pixel_y = 1
+ },
+/obj/item/paper_bin{
+ pixel_x = 11;
+ pixel_y = 4
+ },
+/obj/item/pen{
+ pixel_x = 13;
+ pixel_y = 9
+ },
+/obj/item/pen{
+ pixel_x = 11;
+ pixel_y = 6
+ },
+/obj/item/pen{
+ pixel_x = 11;
+ pixel_y = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/grimy,
+/area/station/security/prison)
"xCp" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -74706,7 +75086,6 @@
/turf/open/floor/iron/dark,
/area/station/hallway/primary/port)
"xCr" = (
-/obj/effect/turf_decal/delivery,
/obj/structure/extinguisher_cabinet/directional/north,
/obj/effect/turf_decal/tile/neutral{
dir = 8
@@ -74724,18 +75103,18 @@
/obj/item/stock_parts/power_store/cell/high,
/obj/item/electronics/airlock,
/obj/item/electronics/airlock,
-/obj/item/stack/sheet/rglass{
- amount = 50;
- pixel_x = 2;
- pixel_y = -2
- },
-/obj/item/stack/sheet/plasteel/fifty{
- pixel_x = -2;
- pixel_y = 2
- },
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 1
},
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/cell_charger,
+/obj/item/stock_parts/power_store/cell/high,
+/obj/item/stock_parts/power_store/cell/emproof{
+ pixel_x = 6;
+ pixel_y = -2
+ },
/turf/open/floor/iron,
/area/station/engineering/main)
"xCz" = (
@@ -74759,39 +75138,17 @@
},
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
-"xCE" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
-"xCL" = (
-/obj/item/reagent_containers/cup/glass/flask/gold{
- pixel_x = 3;
- pixel_y = 8
- },
-/obj/item/reagent_containers/cup/glass/bottle/rum{
- pixel_x = -4;
- pixel_y = 4
- },
-/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{
- pixel_x = 7;
- pixel_y = 4
- },
-/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass,
-/obj/structure/table/wood,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/structure/cable,
-/obj/machinery/light/warm/directional/north,
-/turf/open/floor/carpet/royalblack,
-/area/station/command/heads_quarters/captain)
"xCP" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
/area/station/cargo/miningdock)
+"xCS" = (
+/obj/effect/turf_decal/box/white{
+ color = "#9FED58"
+ },
+/turf/open/floor/iron/smooth_large,
+/area/station/engineering/atmos)
"xCY" = (
/obj/effect/landmark/start/ai/secondary,
/obj/item/radio/intercom/directional/north{
@@ -74874,34 +75231,22 @@
},
/turf/open/floor/iron/dark,
/area/station/tcommsat/computer)
-"xDo" = (
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/machinery/door/window/left/directional/north{
- name = "Inner Pipe Access";
- req_access = list("atmospherics")
- },
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
- dir = 4
+"xDq" = (
+/obj/machinery/firealarm/directional/south{
+ pixel_x = 4
},
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/machinery/duct,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
-"xDw" = (
-/obj/machinery/chem_master,
-/obj/effect/turf_decal/bot,
-/obj/machinery/light_switch/directional/south,
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
},
-/obj/item/paper/crumpled{
- default_raw_text = "This isn't funny, I'm trapped on the least fun room on the station.";
- name = "poorly written complaint"
+/obj/machinery/rnd/production/circuit_imprinter,
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/tile/yellow/half/contrasted,
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/light_switch/directional/south{
+ pixel_x = -6
},
/turf/open/floor/iron/dark,
-/area/station/science/xenobiology)
+/area/station/engineering/lobby)
"xDE" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 10
@@ -74951,6 +75296,16 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
+"xEI" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/status_display/evac/directional/north,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"xEV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -74978,6 +75333,16 @@
},
/turf/open/floor/iron/dark,
/area/station/command/teleporter)
+"xFg" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/yellow{
+ dir = 6
+ },
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/storage_shared)
"xFt" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/obj/structure/cable,
@@ -75054,13 +75419,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"xGy" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"xGI" = (
/mob/living/basic/carp{
environment_smash = 0;
@@ -75148,20 +75506,15 @@
},
/turf/open/floor/engine,
/area/station/ai/satellite/chamber)
-"xIB" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
+"xIv" = (
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
dir = 4
},
-/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/iron,
/area/station/engineering/atmos)
"xIJ" = (
@@ -75236,18 +75589,29 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"xJs" = (
+"xJj" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
dir = 4
},
-/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/duct,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"xJm" = (
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
+/obj/machinery/meter,
+/turf/closed/wall/r_wall,
+/area/station/engineering/atmos)
+"xJw" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/maintenance/disposal/incinerator)
"xJB" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 4
@@ -75279,24 +75643,12 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/pharmacy)
-"xKc" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/hallway/primary/aft)
"xKn" = (
/obj/effect/decal/cleanable/blood/old,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/chair/stool/bar/directional/west,
/turf/open/floor/carpet/green,
/area/station/maintenance/port/greater)
-"xKq" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"xKr" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/blue{
@@ -75307,6 +75659,26 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/medbay/lobby)
+"xKC" = (
+/obj/structure/chair/sofa/right/maroon{
+ dir = 8
+ },
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/machinery/newscaster/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/bar/atrium)
+"xKI" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 8
+ },
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/station/engineering/atmos/storage)
"xKO" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -75347,6 +75719,16 @@
/obj/effect/spawner/surgery_tray/full,
/turf/open/floor/iron/dark,
/area/station/medical/surgery/theatre)
+"xLg" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/commons/fitness/recreation)
"xLk" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -75363,15 +75745,31 @@
/obj/effect/landmark/navigate_destination/bar,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/service)
-"xLA" = (
-/obj/machinery/shower/directional/west,
-/obj/effect/turf_decal/box,
-/obj/structure/fluff/shower_drain,
-/obj/effect/turf_decal/stripes/line{
- dir = 9
+"xLm" = (
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/tank/air/layer4{
+ dir = 8
},
/turf/open/floor/iron/dark,
-/area/station/engineering/main)
+/area/station/hallway/secondary/entry)
+"xLx" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/obj/item/stock_parts/power_store/cell/high,
+/obj/item/screwdriver{
+ pixel_y = 18
+ },
+/obj/item/radio/intercom/directional/south,
+/obj/machinery/firealarm/directional/west,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/commons/fitness/recreation)
"xLC" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/stripes/line{
@@ -75380,6 +75778,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
/turf/open/floor/iron/dark/telecomms,
/area/station/science/server)
+"xLK" = (
+/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible,
+/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/station/engineering/atmos)
"xLL" = (
/obj/structure/cable,
/obj/machinery/power/tracker,
@@ -75405,18 +75810,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"xMs" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 1;
- name = "Distro to Waste"
- },
-/obj/machinery/airalarm/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/pumproom)
"xMC" = (
/obj/structure/table/wood,
/obj/item/paper/guides/jobs/security/courtroom,
@@ -75452,10 +75845,6 @@
},
/turf/open/floor/iron/dark,
/area/station/security/medical)
-"xMZ" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"xNc" = (
/turf/closed/wall/r_wall/rust,
/area/station/command/heads_quarters/cmo)
@@ -75498,6 +75887,16 @@
/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
+"xND" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "N2O to Pure"
+ },
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"xNJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -75513,11 +75912,14 @@
/turf/open/floor/iron,
/area/station/cargo/warehouse)
"xNP" = (
-/obj/structure/extinguisher_cabinet/directional/east,
/obj/structure/closet/radiation,
/obj/item/clothing/glasses/meson,
/obj/effect/turf_decal/delivery,
-/turf/open/floor/engine,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/structure/sign/poster/contraband/missing_gloves/directional/north,
+/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
"xOa" = (
/obj/machinery/conveyor{
@@ -75548,17 +75950,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer1,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"xOl" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/tile/red/half/contrasted,
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/caution/stand_clear,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/security/processing)
"xOq" = (
/obj/item/kirbyplants/organic/plant16,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -75609,6 +76000,12 @@
/obj/machinery/duct,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/lesser)
+"xPI" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/security/processing)
"xPO" = (
/obj/machinery/door/airlock/command/glass{
name = "Bridge"
@@ -75623,12 +76020,29 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/cargo/miningdock)
-"xQL" = (
+"xQK" = (
/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/obj/machinery/light/directional/south,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
+"xQT" = (
+/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
+ dir = 4
+ },
+/obj/machinery/airalarm/directional/south,
+/obj/structure/cable,
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/brown{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/smooth_half,
+/area/station/engineering/atmos/pumproom)
"xQU" = (
/obj/machinery/ai_slipper{
uses = 10
@@ -75645,27 +76059,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/engine,
/area/station/ai/satellite/atmos)
-"xRc" = (
-/obj/structure/filingcabinet/chestdrawer,
-/obj/effect/turf_decal/bot,
-/obj/machinery/firealarm/directional/south,
+"xRj" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/siding/blue{
dir = 4
},
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/tile/blue/anticorner/contrasted,
-/obj/machinery/light/dim/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/medbay/central)
-"xRy" = (
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
- dir = 10
- },
-/turf/closed/wall/r_wall,
-/area/station/maintenance/disposal/incinerator)
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/entry)
"xRB" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/blue/half/contrasted,
@@ -75684,6 +76088,11 @@
},
/turf/open/floor/engine,
/area/station/command/vault)
+"xRI" = (
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/engine,
+/area/station/engineering/atmos)
"xRL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -75774,6 +76183,19 @@
/obj/effect/turf_decal/tile/red/opposingcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/service/bar/atrium)
+"xTh" = (
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos,
+/obj/machinery/atmospherics/pipe/smart/simple/brown/visible/layer2{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/station/maintenance/disposal/incinerator)
"xTx" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/old,
@@ -75851,9 +76273,10 @@
/turf/open/floor/engine,
/area/station/science/auxlab)
"xUQ" = (
-/obj/structure/closet/cardboard,
-/obj/structure/grille/broken,
/obj/effect/decal/cleanable/cobweb,
+/obj/structure/closet/crate/trashcart,
+/obj/effect/spawner/random/maintenance/three,
+/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask,
/turf/open/floor/plating,
/area/station/maintenance/aft)
"xVm" = (
@@ -75934,17 +76357,22 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/ordnance)
-"xWh" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 4
- },
+"xVW" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral{
+/obj/effect/turf_decal/siding/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
dir = 1
},
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
+/turf/open/floor/iron,
+/area/station/engineering/atmos/office)
"xWw" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -75982,23 +76410,13 @@
/obj/structure/sign/warning/electric_shock,
/turf/closed/wall/r_wall/rust,
/area/station/maintenance/starboard)
-"xWT" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
-/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior,
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/machinery/airlock_controller/incinerator_atmos{
- pixel_y = -24
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/engine,
-/area/station/maintenance/disposal/incinerator)
+"xXe" = (
+/obj/structure/cable,
+/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/white,
+/area/station/security/prison/mess)
"xXo" = (
/obj/structure/sign/departments/xenobio,
/turf/closed/wall/r_wall,
@@ -76023,18 +76441,6 @@
},
/turf/open/floor/engine,
/area/station/science/auxlab)
-"xXQ" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "atmos_end_big_lad"
- },
-/obj/machinery/door/airlock/external{
- name = "Atmospherics External Airlock"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/disposal/incinerator)
"xYa" = (
/obj/effect/turf_decal/bot,
/obj/machinery/status_display/shuttle{
@@ -76073,13 +76479,6 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/service/bar/backroom)
-"xYC" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/security/warden)
"xYE" = (
/obj/effect/turf_decal/delivery,
/obj/structure/sign/warning/secure_area/directional/west,
@@ -76104,27 +76503,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"xZb" = (
-/obj/structure/railing{
- dir = 4
- },
-/obj/effect/turf_decal/siding/thinplating/dark{
- dir = 4
- },
-/obj/effect/turf_decal/siding/wideplating/dark/corner,
-/turf/open/floor/iron/dark,
-/area/station/service/chapel)
-"xZc" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/turf/open/floor/engine,
-/area/station/ai/upload/chamber)
"xZi" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -76148,6 +76526,16 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/maintenance/fore)
+"xZt" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"xZL" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -76180,6 +76568,34 @@
/obj/structure/cable/layer3,
/turf/open/floor/engine,
/area/station/ai/satellite/maintenance/storage)
+"yan" = (
+/obj/machinery/light/small/directional/west,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/command/bridge)
+"yas" = (
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
+/turf/closed/wall/r_wall,
+/area/station/engineering/atmos)
+"yay" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/hallway/primary/fore)
"yaE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -76296,6 +76712,21 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/pharmacy)
+"ybd" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/obj/structure/rack,
+/obj/item/storage/box{
+ pixel_y = 3
+ },
+/obj/item/stack/package_wrap,
+/obj/item/hand_labeler,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos/office)
"ybm" = (
/obj/structure/table/wood,
/obj/item/lipstick/purple{
@@ -76342,29 +76773,6 @@
/obj/structure/window/spawner/directional/east,
/turf/open/floor/grass,
/area/station/hallway/secondary/exit/departure_lounge)
-"ybX" = (
-/obj/effect/turf_decal/delivery,
-/obj/structure/closet/crate/silvercrate,
-/obj/item/screwdriver/power,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/command/vault)
-"ych" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/cold/directional/north,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/office)
"ycp" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
@@ -76394,6 +76802,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"ycH" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"ycL" = (
/obj/structure/disposalpipe/trunk,
/obj/machinery/disposal/bin/tagger,
@@ -76408,14 +76827,6 @@
},
/turf/open/floor/iron,
/area/station/security/brig)
-"ydk" = (
-/obj/machinery/airalarm/directional/east,
-/obj/effect/turf_decal/tile/purple,
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"ydn" = (
/obj/structure/flora/bush/grassy/style_random,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -76433,17 +76844,6 @@
/obj/machinery/duct,
/turf/open/floor/iron,
/area/station/engineering/storage_shared)
-"ydI" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/security/processing)
"ydV" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -76486,15 +76886,6 @@
dir = 8
},
/area/station/hallway/primary/central/fore)
-"yem" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"yeo" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -76533,6 +76924,12 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"yfl" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
"yfq" = (
/obj/structure/lattice/catwalk,
/obj/structure/transit_tube/horizontal{
@@ -76563,6 +76960,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/central/fore)
+"yfJ" = (
+/obj/structure/table/wood,
+/obj/item/storage/fancy/cigarettes/cigars/havana{
+ pixel_y = 5
+ },
+/obj/item/lighter,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain)
"yfS" = (
/obj/machinery/light/small/directional/west,
/turf/open/water/no_planet_atmos/deep,
@@ -76579,17 +76987,11 @@
/turf/open/floor/iron,
/area/station/command/bridge)
"ygo" = (
-/obj/structure/table,
-/obj/item/food/ready_donk/donkrange_chicken,
-/obj/item/food/ready_donk/donkhiladas{
- pixel_y = 5
- },
-/obj/item/food/ready_donk/country_chicken{
- pixel_y = 10
+/obj/machinery/door/poddoor/atmos_test_room_mainvent_1{
+ name = "Axuiliary Chamber Vent"
},
-/obj/machinery/light/warm/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/cargo/miningoffice)
+/turf/open/floor/engine/vacuum,
+/area/station/engineering/atmos)
"ygt" = (
/obj/structure/chair{
dir = 8
@@ -76608,22 +77010,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"ygO" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
-"ygU" = (
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
- dir = 4
- },
-/obj/structure/lattice,
-/turf/open/space/basic,
-/area/space/nearstation)
"ygV" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -76670,40 +77056,28 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/security/office)
-"yhz" = (
-/obj/structure/table,
-/obj/item/clothing/shoes/sneakers/orange{
- pixel_x = -6;
- pixel_y = 10
- },
-/obj/item/clothing/shoes/sneakers/orange{
- pixel_x = -6;
- pixel_y = -2
+"yhF" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
},
-/obj/item/clothing/shoes/sneakers/orange{
- pixel_x = -6;
- pixel_y = 4
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/red{
+ dir = 1
},
-/obj/item/clothing/shoes/sneakers/orange{
- pixel_x = -6;
- pixel_y = -8
+/obj/effect/landmark/start/depsec/engineering,
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
},
-/obj/item/clothing/under/rank/prisoner{
- pixel_x = 8;
- pixel_y = 5
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
},
-/obj/machinery/camera/directional/north{
- c_tag = "Prison Visitation";
- network = list("ss13","prison")
+/obj/machinery/duct,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
+ dir = 8
},
-/obj/effect/turf_decal/tile/red/half/contrasted,
/turf/open/floor/iron,
-/area/station/security/execution/transfer)
-"yhD" = (
-/obj/structure/flora/bush/lavendergrass/style_random,
-/obj/effect/turf_decal/siding/thinplating/dark,
-/turf/open/floor/grass,
-/area/station/service/chapel)
+/area/station/security/checkpoint/engineering)
"yhI" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 8
@@ -76725,52 +77099,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"yhW" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible,
-/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"yif" = (
-/obj/machinery/camera/directional/south{
- c_tag = "Aft Hallway Engineering Doors";
- name = "aft camera"
- },
-/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/effect/turf_decal/tile/yellow/half/contrasted,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
-"yil" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/structure/filingcabinet/employment,
-/obj/item/radio/intercom/directional/south,
-/obj/machinery/button/door/directional/east{
- id = "lawyer_shutters";
- name = "Law Office Shutters Toggle";
- req_access = list("lawyer")
- },
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/service/lawoffice)
"yip" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -76781,12 +77109,19 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"yit" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
+"yiq" = (
+/obj/item/radio/intercom/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
+/obj/effect/turf_decal/bot,
+/obj/machinery/holopad,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/turf_decal/tile/red/half/contrasted,
+/obj/machinery/duct,
+/obj/machinery/light/dim/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/security/execution/transfer)
"yiF" = (
/obj/structure/table,
/obj/item/paper_bin{
@@ -76820,6 +77155,13 @@
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"yja" = (
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/directional/north,
+/turf/open/floor/iron,
+/area/station/security/brig)
"yji" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/old,
@@ -76850,6 +77192,18 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/plating,
/area/station/security/prison)
+"yjQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/hallway)
"yjV" = (
/obj/machinery/computer/crew{
dir = 8
@@ -76887,6 +77241,17 @@
},
/turf/open/floor/iron/dark,
/area/station/security/warden)
+"yjX" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"ykb" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -76911,6 +77276,26 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron/showroomfloor,
/area/station/science/xenobiology)
+"ykl" = (
+/obj/structure/closet/wardrobe/miner,
+/obj/effect/turf_decal/delivery,
+/obj/item/clothing/suit/hooded/wintercoat/miner,
+/obj/item/clothing/suit/hooded/wintercoat/miner,
+/obj/item/clothing/suit/hooded/wintercoat/miner,
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow/opposingcorners{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/cargo/miningdock)
"ykB" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/dirt,
@@ -76942,14 +77327,6 @@
/obj/effect/turf_decal/caution/stand_clear,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/starboard)
-"ykR" = (
-/obj/structure/chair,
-/obj/effect/turf_decal/bot,
-/obj/machinery/firealarm/directional/north,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
"yld" = (
/obj/effect/landmark/event_spawn,
/obj/effect/turf_decal/tile/red{
@@ -76965,12 +77342,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/security/brig)
-"ylD" = (
-/obj/machinery/portable_atmospherics/canister,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible,
-/obj/effect/turf_decal/box,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"ylM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -76990,6 +77361,14 @@
"yma" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/disposal/incinerator)
+"ymj" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/tank_holder/extinguisher,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
(1,1,1) = {"
aaa
@@ -82032,7 +82411,7 @@ huo
pbx
gSc
isS
-oxG
+xCj
sAv
aeU
aeU
@@ -82546,7 +82925,7 @@ dWG
cuS
kvU
mTM
-tSE
+mEz
sAv
aUz
aeU
@@ -84098,7 +84477,7 @@ aeU
aeU
myp
cqQ
-wEW
+cgg
haP
xhI
aJM
@@ -84344,7 +84723,7 @@ eJN
nKO
sPK
sAv
-pim
+hQv
pTC
xlA
mWy
@@ -84354,7 +84733,7 @@ myp
jYh
jYh
myp
-cgr
+nRh
tAM
tYe
ucS
@@ -85126,10 +85505,10 @@ coy
aeU
myp
agx
-jon
-wTo
-cqD
-jjF
+kKc
+frV
+lSW
+uiq
myp
aeu
aeu
@@ -85385,7 +85764,7 @@ myp
jYh
myp
jFC
-ndC
+esl
sYe
myp
aeU
@@ -85629,7 +86008,7 @@ hMC
hMC
sPK
twX
-nFl
+bEf
kYP
pKm
uzK
@@ -85642,8 +86021,8 @@ aeU
aeU
jYh
tdY
-lbE
-dFa
+sOz
+xkS
jYh
aeU
aeU
@@ -85793,7 +86172,7 @@ aeU
aeu
sxi
sxi
-tVL
+gRQ
sxi
tfI
aeu
@@ -85886,7 +86265,7 @@ sPK
sPK
sPK
twX
-erk
+krT
lPU
tns
twX
@@ -86306,9 +86685,9 @@ aeU
aeu
aeu
tfI
-nrm
+wIx
iJV
-jhY
+pXD
tfI
sxi
sxi
@@ -86569,7 +86948,7 @@ sxi
fXL
rTk
pah
-ajR
+uxO
jBl
rOz
hMN
@@ -86831,7 +87210,7 @@ dCd
hMN
rQG
lJR
-dLD
+bGN
jgN
rOz
xdc
@@ -86919,10 +87298,10 @@ oCE
dWG
dWG
saW
-oXh
-dFC
-rjk
-uWP
+xXe
+rQT
+lwX
+nQn
gOG
tPH
aeU
@@ -87077,9 +87456,9 @@ aeU
aeu
aeu
sxi
-kAr
+fjZ
itF
-nDk
+xiZ
qEV
fBt
wFu
@@ -87092,7 +87471,7 @@ mpF
kQT
oTd
qRT
-qRT
+qby
biq
crI
vLI
@@ -87339,17 +87718,17 @@ kmt
iKT
svZ
rTk
-gMB
+pCE
ciR
-iUc
+bVl
hMN
aoX
alr
wcs
uHL
hMN
-iLd
-fXP
+aHy
+aMz
cTz
weG
wPq
@@ -87941,7 +88320,7 @@ wDz
wDz
wDz
wDz
-nct
+hGM
dWG
fQO
dWG
@@ -88101,11 +88480,11 @@ aeu
aeu
aeu
hmh
-qel
+rse
shE
hJC
dJi
-gIv
+cHd
vmZ
vmZ
bnn
@@ -88196,7 +88575,7 @@ pqD
kNP
iza
kFB
-bcm
+lgI
wDz
mMy
iOR
@@ -88363,17 +88742,17 @@ aXf
iqQ
snn
wXa
-dKg
+anT
eXY
gnh
joC
ehp
-sZX
+ipA
tfW
iMx
gnh
slr
-wPS
+dKF
cop
tiv
rfg
@@ -88451,11 +88830,11 @@ pqD
szX
iza
kWA
-wTa
+uDp
nCL
jqI
wDz
-wdC
+alA
iOR
kPd
tpd
@@ -88712,12 +89091,12 @@ kAb
wHA
kWA
wDz
-wdC
+alA
iOR
kPd
hCK
mMy
-eUU
+qOV
rdo
ygt
ygt
@@ -88872,7 +89251,7 @@ aeu
aeu
aeu
hmh
-brG
+xsG
kUh
jAy
dJi
@@ -88967,9 +89346,9 @@ pqD
pqD
gzA
rrc
-oLq
+mAn
wDz
-wdC
+alA
ugy
kPd
mvF
@@ -89129,7 +89508,7 @@ aeu
aeu
aeu
ixB
-gve
+qOU
mLd
cdi
dJi
@@ -89145,10 +89524,10 @@ cHg
was
nKj
vrs
-iol
+klM
tiv
-nme
-fXK
+jwk
+oLn
xuR
vSG
kpS
@@ -89227,12 +89606,12 @@ qiM
pqD
wDz
mMy
-avl
-bIx
+lEK
+sKO
mvF
vAa
qxD
-woL
+dTF
cXv
nbO
mes
@@ -89396,7 +89775,7 @@ vmZ
ewC
qER
xmn
-buf
+aMY
ggj
aSu
kVd
@@ -89483,16 +89862,16 @@ pqD
yji
wlP
wDz
-yhz
+pct
qhT
-vNU
+qUN
mvF
agy
iJy
awv
fov
-gRw
-bHT
+oMS
+iCZ
rxW
tPH
aeU
@@ -89646,7 +90025,7 @@ ixB
ixB
snn
snn
-gIv
+cHd
wXa
prn
vmZ
@@ -89740,7 +90119,7 @@ qWB
wRQ
fiH
wDz
-lUG
+xum
iOR
iOR
rUh
@@ -89968,7 +90347,7 @@ hBJ
fvh
lXK
gfi
-tnP
+fpN
wHF
maA
mtV
@@ -90160,7 +90539,7 @@ aeu
rNx
sjG
tiv
-vak
+kVb
wXa
nKj
vmZ
@@ -90173,9 +90552,9 @@ upK
ocE
vrs
nKj
-jIi
+jmy
tiv
-kVJ
+dwj
piu
piu
vSG
@@ -90239,12 +90618,12 @@ oVz
dBg
oVz
vjh
-tnl
+gYP
qSJ
qSJ
uOo
qSJ
-mSe
+xLx
iza
juF
iza
@@ -90422,11 +90801,11 @@ uEC
hUM
fFa
frh
-nPx
-iCf
-tDT
-vFp
-xZb
+uBz
+hIz
+gcc
+wlH
+gjB
ejt
pGD
pMe
@@ -90496,22 +90875,22 @@ vBi
vjh
vBi
vmu
-kuE
+iwV
kSR
thW
cKR
hyQ
-hgS
+toD
dfS
wyY
nhZ
wgK
nCL
-gTg
-xBF
-gzZ
+vSB
+aUG
+mjB
nCL
-efO
+nqt
wDz
jQn
cyT
@@ -90679,14 +91058,14 @@ tiv
vUi
jpa
cne
-mcu
+lDN
mlD
lCC
mlD
-bNg
+iEF
gJc
sQq
-gMh
+lJI
tiv
sQJ
dvs
@@ -90929,24 +91308,24 @@ aeu
aeu
lUq
bnB
-iYD
+skh
rnj
ecE
-tvD
+lIy
wXa
vmZ
tqB
-wlu
+nya
dRh
xlF
vZn
-fCf
+goO
rGK
vrs
wXa
-iXh
+mih
tiv
-wrA
+hCv
smI
piu
vSG
@@ -91187,19 +91566,19 @@ aeu
lUq
uDe
mjn
-bGK
+cYB
pOV
iLD
ocE
-dKg
+anT
wXv
-qBB
+ioC
lCC
hZd
rsX
-yhD
+rvK
iYr
-oeL
+ltf
lQw
iLD
mHf
@@ -91245,7 +91624,7 @@ ycx
sfw
yhU
mtV
-hEq
+apH
rZW
rZW
ikO
@@ -91255,7 +91634,7 @@ nJF
rZW
nJF
wmq
-iIS
+oTu
mtV
vjh
sXT
@@ -91284,7 +91663,7 @@ cnQ
sav
mMy
jri
-fAW
+dVU
bIq
wjK
dbu
@@ -91443,22 +91822,22 @@ aeU
bVv
bbO
dIR
-cRV
-jRG
+leJ
+dHE
pOV
-qei
+fTV
hUM
fFa
jdL
-mcu
+lDN
mlD
-mdy
+vuA
vZn
-nEB
+eqt
tUO
pGD
hUM
-rbQ
+alJ
tiv
piu
qDG
@@ -91534,7 +91913,7 @@ bJv
bJv
pqD
srR
-kMR
+jDJ
iza
aeu
acW
@@ -91546,8 +91925,8 @@ kra
iln
wAt
tlV
-hyd
-pTd
+oYg
+esC
aOf
kiO
acm
@@ -91714,10 +92093,10 @@ siH
ing
eGC
xRM
-vJO
+qQB
lOG
cRv
-uOp
+uYt
piu
piu
vSG
@@ -91759,7 +92138,7 @@ vjh
pVz
gLH
mtV
-xiP
+uYW
rZW
nJF
cSJ
@@ -91769,7 +92148,7 @@ rZW
rZW
nJF
rZW
-eqi
+wfP
mtV
vjh
dhe
@@ -91802,7 +92181,7 @@ cTY
oig
wXt
wAt
-rKZ
+rak
rkV
aLg
aOf
@@ -91815,7 +92194,7 @@ aeU
aeu
aeu
krY
-wvw
+oQJ
uUS
aeu
aeu
@@ -91957,12 +92336,12 @@ aeU
aeU
qOd
dVk
-btQ
+uzi
ecE
nUf
wXa
wXa
-sjS
+gnj
wXa
siH
bzu
@@ -91972,7 +92351,7 @@ siH
piu
nbZ
piu
-uRK
+pbP
sVD
cvi
mYv
@@ -92056,7 +92435,7 @@ cnQ
mxf
jri
hqP
-uId
+yiq
xrS
wAt
vPG
@@ -92218,16 +92597,16 @@ aBB
pOV
qeO
qeO
-xvg
-dKg
-sjS
+oTC
+anT
+gnj
kXV
-iVK
-sBd
-pzW
+iDo
+wAu
+rtv
dIy
jlY
-gHg
+tfe
ggb
ikg
hda
@@ -92260,7 +92639,7 @@ aeu
aeu
aeU
fzd
-tWx
+mGO
fzd
aeu
aeu
@@ -92579,11 +92958,11 @@ vvn
tSN
aiL
bvR
-ndq
+bOO
qRD
fhL
kYI
-kwt
+rWh
nMD
eGW
mui
@@ -92731,19 +93110,19 @@ lUq
bbO
bbO
rNx
-gIv
-jEG
+cHd
+emC
bPZ
-fMA
+rtR
ing
-pIm
+nyE
tOH
-qYe
+tDO
ebU
-wuG
+ivi
yhr
-kbR
-pJn
+sMG
+rns
cGP
vSG
vSG
@@ -92788,7 +93167,7 @@ hBm
kFw
ukc
esG
-vGd
+xmZ
nrS
nsl
mxh
@@ -92825,7 +93204,7 @@ xad
cnQ
aeu
mxf
-lax
+llP
sqs
mZF
lGV
@@ -92833,10 +93212,10 @@ jtl
bUl
pZM
qnc
-hXg
+ljH
mNm
wNf
-ndq
+bOO
olQ
tSP
cIg
@@ -93045,7 +93424,7 @@ pmA
tYd
kCm
eWP
-pbt
+erx
fKA
tdd
xlr
@@ -93086,8 +93465,8 @@ ceh
hHm
aor
akV
-sog
-fWg
+lfN
+lFL
irO
aiL
aiL
@@ -93246,7 +93625,7 @@ aeu
aeu
aeu
gnh
-dgp
+ewH
pXi
sYM
rNx
@@ -93305,7 +93684,7 @@ eWP
sbZ
qxQ
pDT
-mwU
+hxE
hBJ
dBg
qXJ
@@ -93580,12 +93959,12 @@ iCb
rGx
vjh
rdM
-gpX
+pqM
trf
oLa
xnJ
trf
-ggD
+lQx
tsn
pqD
nWR
@@ -93777,7 +94156,7 @@ gNI
gNI
gNI
gNI
-oFk
+dUr
aaa
acm
aaa
@@ -93817,7 +94196,7 @@ pmq
mBX
qlg
uvT
-cSj
+cJZ
gey
jEQ
neJ
@@ -93837,12 +94216,12 @@ dLL
nVj
vjh
tSk
-idf
+raX
uFp
qSC
lch
fOv
-fpn
+xLg
djZ
pqD
iza
@@ -94331,7 +94710,7 @@ jiN
aHQ
esG
cgH
-fnf
+upO
eUs
vRU
vRN
@@ -94375,7 +94754,7 @@ iaY
nhz
qRS
gPA
-pqU
+kJK
hkA
tzY
vpV
@@ -94617,7 +94996,7 @@ sOy
pjC
pqD
kzl
-tVD
+czf
iTq
kTK
wDz
@@ -94852,7 +95231,7 @@ kSx
ruU
pyr
tAx
-ipn
+oqC
pyr
vjh
wFG
@@ -94886,7 +95265,7 @@ pon
vMb
rbz
iFU
-tfS
+mdL
nAa
ijl
gWb
@@ -94897,7 +95276,7 @@ sxn
dUE
hwJ
rqs
-lwj
+mGw
oKW
vWY
frP
@@ -95067,7 +95446,7 @@ aaa
aaa
aaa
aaa
-jak
+hUq
acm
aaa
aaa
@@ -95090,10 +95469,10 @@ ejc
jcj
qVD
eUN
-kHN
+gaN
noO
xfZ
-lWV
+oWp
xxk
buJ
kAR
@@ -95121,17 +95500,17 @@ nEf
iCb
oqA
vjh
-rQO
-loJ
+lqe
+bip
rfX
jXX
mzB
ova
-uYZ
+eHe
weW
iza
ckJ
-ujt
+pVR
iza
pqD
hCr
@@ -95148,7 +95527,7 @@ gVi
sWV
kcW
kBF
-pNe
+fLf
vYs
dYB
dUE
@@ -95360,9 +95739,9 @@ lUM
qGK
tOR
pXf
-dSz
+con
rHc
-lmN
+dLP
sJM
sJM
rSi
@@ -95370,7 +95749,7 @@ sJM
sJM
vXf
pwF
-kFY
+mTm
vjh
mtV
mtV
@@ -95385,7 +95764,7 @@ mle
hQg
hPq
dny
-mHh
+hwf
pqD
fNy
bMY
@@ -95582,7 +95961,7 @@ aaa
aaa
aaa
gNE
-thg
+bPT
iAo
anH
aeu
@@ -95611,7 +95990,7 @@ xmI
xxk
wSU
hEI
-qAr
+kzC
wKa
tZc
qGK
@@ -95623,18 +96002,18 @@ qyo
gbf
nBZ
gbd
-eyJ
+whX
sJM
-oRX
+sRH
cdD
rnJ
xLd
-lEz
+lBE
nWW
-wAb
+bJo
nKC
nWW
-wAb
+bJo
xcR
xDc
xDc
@@ -95670,7 +96049,7 @@ gFD
oKW
mlv
ycp
-fPk
+qPJ
pya
lsS
afL
@@ -95839,7 +96218,7 @@ aaa
aaa
aaa
nqX
-mBp
+wCJ
aaa
aeu
aeu
@@ -95857,9 +96236,9 @@ cIV
nPS
brA
ixi
-hNG
+wzl
pVP
-jnl
+gBj
eUN
vsJ
xFt
@@ -95886,7 +96265,7 @@ qTY
pwF
kJH
srx
-lEz
+lBE
mtr
ecF
nKC
@@ -96096,7 +96475,7 @@ aaa
aaa
aaa
nqX
-mBp
+wCJ
aaa
aeu
aeu
@@ -96121,9 +96500,9 @@ psv
hOY
pqS
kUp
-gBk
+uPo
ccY
-diP
+xzW
hsW
imP
edU
@@ -96131,18 +96510,18 @@ ccY
uMz
nKV
nKV
-kqL
+ird
wue
vFv
gbf
wVD
wGE
-xBb
+qHI
rSi
rzB
jMa
suQ
-bTF
+dAP
fYw
eoG
cOY
@@ -96154,7 +96533,7 @@ uNO
uNO
bDV
sDD
-lXj
+hzP
uNO
osy
pqD
@@ -96166,7 +96545,7 @@ cXh
skC
cXh
cXh
-lCU
+yja
uBM
jgv
rjg
@@ -96353,7 +96732,7 @@ aaa
aaa
aaa
nqX
-mBp
+wCJ
aaa
aeu
aeu
@@ -96380,32 +96759,32 @@ lCa
qez
eUN
ccY
-aFh
+pok
huR
huR
bXe
gZu
jhv
-xiT
-eAQ
-jXU
-lXT
+bsW
+mhh
+vOo
+uAd
wCR
sJM
ybO
oKJ
-czR
+hDU
sJM
hpv
htS
rKk
hpv
fYw
-dcA
+eSB
jOY
hYD
vFc
-lbz
+vLE
nsA
lOZ
iun
@@ -96427,7 +96806,7 @@ crk
jmw
kxG
rEi
-hFf
+cQg
fPQ
kTe
ijl
@@ -96440,7 +96819,7 @@ dKK
xpa
oKW
afL
-cuB
+kOj
crh
vwH
ijd
@@ -96610,7 +96989,7 @@ aaa
aaa
aaa
nqX
-mBp
+wCJ
aaa
aeu
aeu
@@ -96628,7 +97007,7 @@ cIV
ike
rKa
xOg
-rJt
+nQP
ocS
hms
rxl
@@ -96643,11 +97022,11 @@ kaT
ekB
ayC
jhv
-vuD
-ixE
-xvc
-uCJ
-oSd
+svm
+rCB
+dzK
+rBw
+pgn
sJM
rSi
cuU
@@ -96662,7 +97041,7 @@ dEF
dEF
dEF
hQI
-oPS
+nAq
dEF
osy
uNO
@@ -96867,7 +97246,7 @@ aaa
aaa
aaa
gNE
-thg
+bPT
iAo
anH
aeu
@@ -96885,8 +97264,8 @@ cIV
dGo
hgW
cIU
-lvg
-qnA
+set
+hTE
uMG
fWK
fWL
@@ -96900,11 +97279,11 @@ gPS
buq
gZu
mEt
-dUm
-mGi
-uqS
-eOi
-fTa
+pkf
+bby
+sVM
+xfh
+ncU
lHX
nBD
qYv
@@ -96916,10 +97295,10 @@ omi
eBH
tXm
vvf
-pBV
+utD
jdR
hQI
-bTC
+iwx
dEF
tYi
nXC
@@ -96941,7 +97320,7 @@ xex
mfd
ciY
tyk
-hXa
+hCb
nvK
yjW
vMg
@@ -97124,7 +97503,7 @@ aaa
aaa
aaa
nqX
-mBp
+wCJ
aaa
aeu
aeu
@@ -97145,8 +97524,8 @@ qLO
qEs
ocS
uMG
-iQD
-hHf
+sek
+nQy
pdI
cUk
fcv
@@ -97158,9 +97537,9 @@ wJy
lQK
dea
tpy
-ujj
-jCF
-wxr
+ssg
+ngB
+bBn
qrS
cdd
xev
@@ -97170,19 +97549,19 @@ blU
gPa
eHO
rvR
-xRc
+jIO
dEF
-lsk
+uKk
hGm
dEF
iju
unz
hkp
-sCx
+qnk
uQE
qHu
mqU
-xae
+fva
rhN
esq
pqD
@@ -97198,12 +97577,12 @@ wDs
lmF
pAQ
hCd
-jdd
+mPm
jck
-nXg
+mXS
sCJ
ocz
-fhc
+nMT
lYX
ijl
abj
@@ -97212,7 +97591,7 @@ nKr
lvP
cFO
lZr
-ikI
+bXB
sYu
mIR
kom
@@ -97381,7 +97760,7 @@ aaa
aaa
aaa
nqX
-xzU
+gqL
aaa
aeu
aeu
@@ -97402,10 +97781,10 @@ lCV
mCk
ocS
hms
-sRO
-klw
-woT
-oYE
+srQ
+jNx
+gGK
+tGM
kkV
ugq
iCV
@@ -97424,10 +97803,10 @@ owm
jrs
cMT
fVF
-oAF
-kGm
+jgh
+wxZ
sRZ
-rzZ
+wln
dEF
dEF
iYf
@@ -97456,7 +97835,7 @@ jmw
vMg
tVS
esK
-xYC
+pOC
eqK
vMg
jJs
@@ -97638,7 +98017,7 @@ aaa
aaa
aaa
nqX
-xzU
+gqL
aaa
aeu
aeu
@@ -97656,7 +98035,7 @@ cIV
fSE
sSP
xOg
-ugP
+kTr
bsy
dkh
dkh
@@ -97665,10 +98044,10 @@ dkh
jUU
dkh
ccY
-uLb
+mJM
uko
gsr
-vij
+nbV
qbk
mEt
rZE
@@ -97712,24 +98091,24 @@ omQ
jmw
fEe
clN
-gfy
+rXY
oFo
hJp
lGs
xex
-nGx
-oXt
+wsA
+qWt
oKW
aHD
lzg
icQ
aka
-fLE
+noz
azo
alv
cez
sVP
-rTL
+uJe
anG
aeu
aeu
@@ -97895,7 +98274,7 @@ aaa
aaa
aaa
nqX
-xzU
+gqL
aaa
aeu
aeu
@@ -97918,7 +98297,7 @@ ocS
qLB
phH
vJg
-qvs
+tqv
pri
eMB
eer
@@ -97932,24 +98311,24 @@ rUP
sSJ
lfQ
mHm
-nMX
+rYg
rFt
iIF
xJN
fPc
-lwz
+oVO
pIT
ofg
rot
-kzZ
+oXn
nvH
-hLs
+pMI
gjx
jHS
pOb
veV
hkp
-faC
+iuN
rNo
vPX
dQC
@@ -97969,7 +98348,7 @@ yld
jmw
vMg
cSX
-nzR
+gWy
lAk
eKT
abB
@@ -97986,7 +98365,7 @@ cHL
cbp
alQ
amr
-gSm
+qjk
aka
aeu
aeu
@@ -98152,7 +98531,7 @@ aaa
aaa
aaa
gNE
-thg
+bPT
iAo
anH
aeu
@@ -98177,19 +98556,19 @@ xjI
yhI
eby
rhs
-olF
+tAp
eer
bKU
uUm
oWQ
-wjc
+dOY
aAu
cTI
gAO
rFt
lJL
ozt
-cxa
+djN
rFt
itr
yaZ
@@ -98197,8 +98576,8 @@ tVu
aTe
pcG
mnG
-qfv
-aqu
+slw
+bCL
llY
fGQ
qZS
@@ -98206,11 +98585,11 @@ egU
fpx
obU
dEF
-gCq
+mga
iYa
bCO
uHv
-qzs
+oTN
rhN
hfF
vea
@@ -98256,7 +98635,7 @@ aaa
aaa
aaa
aaa
-qJs
+aaa
aaa
aaa
aaa
@@ -98409,7 +98788,7 @@ aaa
aaa
aaa
nqX
-xzU
+gqL
aaa
aaa
anH
@@ -98427,8 +98806,8 @@ qlC
pWo
efG
qOz
-pNh
-got
+eJn
+vVu
jUU
jKQ
gGR
@@ -98455,13 +98834,13 @@ jMU
jJd
ofg
iYA
-nBl
+nQr
llY
-vPo
-iWV
-hct
+fcE
+iqg
+iYL
jVf
-xrx
+vDi
hkp
fzk
nKh
@@ -98513,7 +98892,6 @@ aaa
aaa
aaa
aaa
-vku
aaa
aaa
aaa
@@ -98524,7 +98902,8 @@ aaa
aaa
aaa
aaa
-tgU
+aaa
+aaa
aaa
aaa
aaa
@@ -98679,11 +99058,11 @@ cmU
cmU
cmU
cmU
-uni
-hKW
+nTX
+ock
dDO
efG
-wux
+tvu
hWD
tmd
dkh
@@ -98691,10 +99070,10 @@ uRf
vxZ
tLh
lrc
-iPG
+gjM
eer
eer
-ych
+fzQ
pbk
qpP
wzW
@@ -98709,7 +99088,7 @@ mJk
vbT
etY
nri
-ooo
+ekA
ofg
xvW
chM
@@ -98745,14 +99124,14 @@ bJm
qbY
qbv
mdp
-qtS
+lkS
oNH
kJq
jUJ
rFh
iYq
aka
-cYK
+mtn
cup
pDd
cxP
@@ -98770,19 +99149,19 @@ aaa
aaa
aaa
aaa
-aeu
-aeu
aaa
aaa
aaa
-acm
-qVM
aaa
aaa
aaa
-aeU
-aeU
-aeU
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
@@ -98925,19 +99304,19 @@ aaa
nqX
aaa
rSk
-txd
+geW
vEC
-txd
-txd
-txd
-txd
+geW
+geW
+geW
+geW
eFE
-vPc
-vPc
-vPc
+rKy
+rKy
+rKy
rvD
-cQN
-dTG
+wzC
+lnx
ooR
eTt
hxf
@@ -98971,7 +99350,7 @@ eDr
pBd
jHo
rBS
-ewZ
+aEV
oJH
xvW
gbh
@@ -98996,7 +99375,7 @@ icp
ydh
uXL
aPF
-gyR
+oQw
nzW
wPK
ylu
@@ -99009,12 +99388,12 @@ yaE
jtL
sQI
iPa
-fJy
+phJ
oMr
cdF
ceE
wPO
-bgj
+iDQ
aka
aeu
aeu
@@ -99026,21 +99405,21 @@ aaa
aaa
aaa
aaa
-aeu
-aeu
-aeu
-vkY
-acm
-nTo
-qVM
-cok
-aUz
-aeu
-aeu
-aeu
-aeU
-aeU
-aeU
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
@@ -99193,30 +99572,30 @@ nJV
ccW
ccW
ccW
-nnd
-lvZ
+tRe
+wPI
fSS
mBW
uOB
uOB
-dqJ
+tJN
dkh
-sNc
-xjS
-fjG
+pjJ
+ikP
+qbK
phL
rvW
-gcV
+eRU
dkh
pFY
ciA
krM
qaR
-pSV
+oZo
fgy
qht
msL
-qDC
+uBf
dQG
phY
uik
@@ -99225,7 +99604,7 @@ erH
gaE
uNK
qCj
-iqC
+iHU
xoK
evD
gZI
@@ -99234,17 +99613,17 @@ sij
als
vnL
rhN
-cXz
+gWP
nKh
nkd
tDs
-hRe
+cQq
rhN
czz
amn
pqD
ckJ
-aKU
+wBN
wDz
kTK
wDz
@@ -99282,23 +99661,23 @@ aaa
aaa
aaa
aaa
-aeu
-aeu
-aeu
-aeu
-aUz
-acm
-nTo
-mZT
-aUz
-aeU
-aeu
-aeu
-aeu
-aeU
-aeU
-aeU
-aeu
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
@@ -99463,10 +99842,10 @@ dkh
jUU
dJU
xef
-mIi
+eCW
dkh
fyw
-vOJ
+jTK
xxz
eer
fXm
@@ -99478,20 +99857,20 @@ jJW
vss
aeH
xzS
-nfF
+jmt
fKf
fyZ
qNL
xvW
-dlO
+xqc
ear
qip
-eHw
+cIS
xvW
tqG
cZT
rhN
-nSa
+fPt
nKh
iku
ikE
@@ -99502,7 +99881,7 @@ rhN
pqD
llI
ncj
-xcu
+itj
fGz
dPR
wDz
@@ -99523,8 +99902,8 @@ bHv
qVs
nrF
wSq
-nce
-onu
+ubD
+oyK
sLf
kbx
btg
@@ -99540,22 +99919,22 @@ aaa
aaa
aaa
aaa
-aeu
-kCk
-kCk
-oOW
-gJK
-oOW
-gJK
-oOW
-mLN
-mLN
-aeu
-aeu
-aeu
-aeU
-aeu
-aeu
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
@@ -99711,8 +100090,8 @@ aeu
efG
xLX
efG
-jzx
-bBb
+cKW
+eFy
fVJ
uGc
bMe
@@ -99726,12 +100105,12 @@ uVJ
rKT
aPT
aAu
-hvL
+aFD
gOh
nes
tjv
mYV
-cGd
+hGh
fdY
ofg
aDL
@@ -99772,9 +100151,9 @@ jgy
fGC
iVV
mRp
-pgq
-lec
-xii
+nHI
+orG
+sNt
ksM
rFK
qVs
@@ -99797,24 +100176,24 @@ aaa
aaa
aaa
aaa
-mLN
-kCk
-sDv
-sDv
-mrz
-fCe
-gin
-qjv
-aGd
-kCk
-kCk
-aeu
-aeu
-aeU
-aeU
-aeu
-icx
-qJs
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
@@ -99971,7 +100350,7 @@ qlC
tbn
eFR
aWI
-fZj
+qaS
eFR
nCA
cXZ
@@ -100044,7 +100423,7 @@ fQM
csM
rhd
hmO
-rnt
+wHY
kem
acm
qJs
@@ -100053,24 +100432,24 @@ aaa
aaa
aaa
aaa
-qJs
-wWW
-dMR
-sZV
-xfV
-sZV
-sZV
-nBd
-vYm
-sZV
-gyV
-wWW
-aeu
-aeU
-aeU
-kmK
-aeu
-aeu
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
@@ -100226,19 +100605,19 @@ efG
ofr
efG
xIS
-tRk
-syU
-xhT
-tuV
+tDM
+vey
+jws
+bcP
nax
cXZ
-jHW
+wSb
idh
sby
oAN
gQd
gQd
-lBu
+otT
nki
uWO
wWp
@@ -100260,7 +100639,7 @@ qox
sJY
hdj
qCX
-hNh
+dQm
pZO
eQE
otS
@@ -100291,42 +100670,42 @@ sFF
war
rhd
lbD
-leR
+xfn
kbV
vvB
wHQ
fDi
bpg
-hGG
+bFA
oZE
oZE
-tKh
-fSm
-rnt
-rnt
+tBB
+jWu
+wHY
+wHY
qkf
aaa
aaa
aaa
aaa
aaa
-acm
-mLN
-efS
-vis
-arU
-uVU
-nec
-moK
-vYx
-sVS
-eJH
-mLN
-aeu
-aeu
-aeU
-aeU
-aeu
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
@@ -100483,12 +100862,12 @@ loI
uDt
qlC
fSY
-oSq
-vun
-grZ
-xCE
+aGU
+xlV
+fRl
+wZS
oLs
-qzq
+gmU
hHL
dUQ
aSX
@@ -100501,7 +100880,7 @@ uQI
bHB
gBJ
jLK
-fUj
+qAB
vpY
lrI
ryW
@@ -100558,7 +100937,7 @@ rhd
oZE
awi
sMe
-eOe
+kPb
fJs
lIr
rRb
@@ -100567,23 +100946,23 @@ aaa
aaa
aaa
aaa
-acm
-oOW
-phF
-gyV
-dfk
-eOt
-eAu
-pTL
-qKR
-gyV
-pBh
-oOW
-aeU
-aeU
-aeU
-aeU
-aeU
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
@@ -100740,18 +101119,18 @@ efG
uDt
qlC
sLD
-bBb
+eFy
eFR
-qqS
-woi
-tIJ
-aaV
+sop
+eCR
+tgs
+mkY
nvE
-lSd
+eMu
mog
mog
mog
-lSd
+eMu
bSM
rER
vzZ
@@ -100772,7 +101151,7 @@ rky
gtq
oZX
igR
-waw
+jIj
pJz
fvX
tFb
@@ -100809,38 +101188,38 @@ ttn
psP
igC
hmO
-rms
+jdS
iYS
-rnt
+wHY
fTQ
bum
hKc
-faY
-rnt
-rnt
-rnt
+kcv
+wHY
+wHY
+wHY
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
aaa
aaa
-acm
-mLN
-tAX
-gyV
-mQB
-vHZ
-cPw
-bwN
-qDE
-oNr
-gyV
-mLN
-aeu
-aeu
-hzC
-aeU
-aeU
aaa
aaa
aaa
@@ -100999,8 +101378,8 @@ qlC
qlC
uqN
vTD
-wBb
-sQd
+ble
+yay
kMs
nkQ
huc
@@ -101066,13 +101445,13 @@ nVK
fWX
boE
kgE
-mOC
-lwM
+lLM
+ahl
gpy
-ydI
-oYp
-dUg
-aCN
+nod
+aWi
+bfC
+fUH
hmO
acm
qJs
@@ -101081,22 +101460,22 @@ aaa
aaa
aaa
aaa
-qJs
-wWW
-tth
-oNr
-eOt
-gbY
-mQW
-mdX
-oNr
-pBh
-rAA
-mLN
-mLN
-aeu
-aeu
-aeU
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
@@ -101260,7 +101639,7 @@ bJM
qlC
efG
qlC
-wOl
+akm
pkE
nEV
pkE
@@ -101277,10 +101656,10 @@ fIx
raY
jzh
wxj
-rjT
+aMT
diZ
bDF
-aUE
+cFk
plX
fFW
qhC
@@ -101319,44 +101698,44 @@ gXJ
vgU
coz
gVv
-vgZ
+qSS
wmr
lyd
tjE
gmG
gmG
gmG
-bya
+pKe
mbP
sgA
-puL
-rnt
-rnt
-rnt
+jgc
+wHY
+wHY
+wHY
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
aaa
aaa
-acm
-mLN
-phF
-arU
-xGy
-eEY
-ewt
-rNk
-gyV
-eOt
-eOt
-eOt
-mLN
-aeu
-aeu
-aeu
-cry
aaa
-aaQ
aaa
aaa
aaa
@@ -101575,18 +101954,18 @@ sMa
nVK
nXW
ekM
-dkE
-xKc
+mSZ
+gMi
gmG
gmG
pDM
-boj
-fiC
-wxX
-qrK
-kba
+fhR
+bfy
+akS
+rOK
+xPI
sgA
-xOl
+bna
gOq
lIr
fdC
@@ -101595,27 +101974,27 @@ aaa
aaa
aaa
aaa
-acm
-oOW
-lGa
-arU
-arU
-gyV
-gyV
-jvQ
-pBh
-arU
-gyV
-wso
-mLN
-aeu
-yma
-yma
-sYw
-yma
-nie
-acm
-qJs
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
@@ -101791,10 +102170,10 @@ wqF
usV
aPR
gnN
-rIt
+uzA
fST
hee
-iZN
+eUg
plX
ttt
kQH
@@ -101832,45 +102211,45 @@ ayY
nVK
wWm
kIz
-oOo
-fmK
-bLu
-pXR
-nFw
-pGc
-ffT
+fYv
+lRj
+vWf
+oGw
+czu
+wZI
+anq
tjE
tOa
xPc
-tHf
-cWp
-rnt
-rnt
+upq
+oSa
+wHY
+wHY
qkf
aaa
aaa
aaa
aaa
aaa
-acm
-kCk
-pLC
-arU
-arU
-arU
-jvQ
-gyV
-gyV
-qsv
-jvQ
-vHP
-gJK
-pNg
-iSQ
-xbk
-vKm
-vKm
-wPy
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aeU
+aeu
+aeu
+aeu
+aeu
+aeU
+aeU
+aeU
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
@@ -102070,8 +102449,8 @@ gFO
cvm
aeG
xCq
-sip
-oQh
+gEx
+pTN
rFx
qhf
hKB
@@ -102109,25 +102488,25 @@ aaa
aaa
aaa
aaa
-qJs
-wWW
-nhc
-vuZ
-dqF
-gyV
-gyV
-gyV
-gyV
-vac
-jvQ
-tPz
-dZS
-vKm
-uAt
-vKm
-vKm
-vKm
-wPy
+aaa
+aaa
+aaa
+aaa
+aeU
+aeU
+aeu
+aeu
+aeu
+cke
+aeu
+aeu
+aeu
+aeu
+aeu
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
@@ -102300,14 +102679,14 @@ nIx
maW
sLb
lbO
-rVu
+bCa
oKV
avy
iFI
-lzA
+kJM
lbO
mHe
-gsR
+iWf
dcr
jCm
cYZ
@@ -102320,11 +102699,11 @@ oUc
qHV
xHn
jCm
-gID
+fjk
spE
-nxX
+hix
ojs
-yil
+pqV
rhT
jQE
uVx
@@ -102349,42 +102728,42 @@ gmG
gmG
pDM
gmG
-rTi
-rTi
-rTi
-gva
-rTi
-rTi
-rTi
-rTi
-rTi
-gva
-gva
-rTi
-rTi
+alO
+acm
+acm
+acm
+acm
+acm
+acm
+acm
+acm
+acm
+acm
+acm
+acm
+wXg
+acm
+acm
+acm
+pUw
+acm
+acm
+acm
+pUw
+acm
+acm
+acm
+wXg
+cko
+aeu
+aeu
+aeu
+aeu
+aeu
aaa
aaa
aaa
aaa
-kCk
-mLN
-jFZ
-pBh
-hjR
-hjR
-hjR
-mWM
-mWM
-rqV
-eOt
-tBR
-gJK
-pNg
-iSQ
-qyR
-vKm
-vKm
-wPy
aaa
aaa
aaa
@@ -102604,46 +102983,46 @@ qvJ
njT
gmG
xUQ
-nPT
+kZS
pDM
+cko
rTi
-ddb
-wRM
-wRM
rTi
-buk
-jqW
-jqW
rTi
-qmZ
-iMX
-iMX
+gva
rTi
-acm
-acm
-acm
-acm
-kCk
-eLf
-krr
-ntH
-gcy
-cqA
-wGG
-dIg
-gab
-gIX
-pPC
-qHy
-kCk
-acm
-yma
-yma
-sYw
-yma
-nie
-acm
-qJs
+rTi
+gva
+rTi
+rTi
+gva
+gva
+rTi
+rTi
+rTi
+rTi
+gva
+rTi
+rTi
+rTi
+gva
+rTi
+gva
+rTi
+rTi
+rTi
+cko
+aeU
+aeu
+aeu
+aeu
+aeu
+aeu
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
aaa
aaa
@@ -102852,54 +103231,54 @@ gHD
jqb
vCG
rbH
-wxH
+ppo
gdP
uNI
bnY
aIl
-jVW
+hPy
lYT
gmG
-gmG
+tuR
pRP
-gmG
+itN
+alO
gva
+jwV
+uTC
wRM
-qXA
-gos
rTi
jqW
-jeS
-dmC
-rTi
+jIr
+jqW
+gva
+iMX
+wvT
iMX
-uWz
-gTD
rTi
-acm
-fsu
-acK
-kCk
-kCk
-xBT
-mUV
-dXh
-qTO
-anw
-ndj
-ouE
-tnC
-jCP
-ygO
-xWh
-lqC
-hEU
-aaa
+xha
+xha
+xha
+rTi
+khu
+khu
+khu
+rTi
+lNn
+lNn
+lNn
+gva
+alO
+aeU
+aeu
+aeu
+aeu
+aeu
+aeu
+aeu
aaa
aaa
aaa
-acm
-aaa
aaa
aaa
aaa
@@ -103061,9 +103440,9 @@ qfu
qlC
qlC
hTK
-jig
-wbF
-uOg
+rKc
+lOD
+lgz
waI
rEV
eBx
@@ -103117,45 +103496,45 @@ ncB
sHD
rXp
gmG
-pRP
+gmG
nIh
pDM
-rTi
-oeS
-dyD
-rbn
+qmz
gva
-dtg
-ptu
-ulg
+wRM
+qXA
+gos
rTi
-luP
-hwY
-pfc
+jqW
+jeS
+dmC
+rTi
+iMX
+uWz
+gTD
+rTi
+xha
+kox
+mCT
+rTi
+khu
+trt
+wFB
+rTi
+lNn
+uNe
+qpI
gva
-acm
-osW
-cWN
-mLN
-nqn
-asc
-mcs
-eNV
-fmA
-fEb
-teg
-brE
-wzr
-lNp
-oix
-sAV
-kCk
-acm
-acm
-aeo
-aeo
-acm
-acm
+egP
+aeU
+aUz
+aeu
+aeu
+aeu
+aeu
+aeu
+aaa
+aaa
aaa
aaa
aaa
@@ -103328,10 +103707,10 @@ wkC
veW
sLb
lxP
-gxS
-qUm
+sPt
+ebr
fcX
-rGr
+hLI
lxP
pwx
ebK
@@ -103347,7 +103726,7 @@ sbX
qwx
wGp
jCm
-poC
+lNL
mNT
uXe
xMC
@@ -103371,47 +103750,47 @@ juj
doj
ekM
vGJ
-tdv
-rRA
-eeq
-fhw
+nVK
+jRA
+cdP
+dyP
sDe
-gmG
+itN
+lcP
+rTi
+oeS
+dyD
+rbn
gva
-fLZ
-xLM
-wGd
+dtg
+ptu
+ulg
rTi
-fLZ
-xLM
-awG
+luP
+hwY
+pfc
+gva
+sJK
+fDo
+cUC
+gva
+bkI
+vns
+xyH
rTi
-uhp
-xLM
-uhp
+whD
+dKB
+pud
rTi
-acm
-osW
-mkj
-oOW
-jdi
-aRy
-bfA
-fdp
-mLN
-mLN
-uYx
-gxi
-qmR
-tAN
-upW
-lts
-yma
-aaa
-acm
-aaa
-aaa
-acm
+mCA
+aeU
+aeu
+aeu
+aeu
+aeu
+aeu
+aeu
+aeu
aaa
aaa
aaa
@@ -103631,44 +104010,44 @@ rvj
nsQ
gDJ
gmG
-fgb
+fRa
deI
pDM
-sSZ
-cVb
-vdS
-rrS
-kVN
-oDt
-kVN
-rrS
-kVN
-sRi
-kVN
-oaK
-oLp
-tvH
-osW
-uvO
-bjJ
-gwr
-vJM
-wJz
-wXP
-xXQ
-lvw
-uYx
-xWT
-yma
-yma
-kPK
-ijr
-crz
-ehx
-acm
-acm
-acm
-cow
+pbN
+gva
+fLZ
+xLM
+wGd
+rTi
+fLZ
+xLM
+awG
+rTi
+uhp
+xLM
+uhp
+rTi
+fLZ
+xLM
+awG
+rTi
+kuV
+xLM
+awG
+rTi
+fLZ
+xLM
+awG
+gva
+mCA
+aeu
+aeu
+aeu
+aeu
+aeu
+aeu
+aeu
+aeU
aaa
aaa
aaa
@@ -103842,7 +104221,7 @@ nbU
cQV
lnD
lxP
-lVx
+ekC
scT
jsc
ePf
@@ -103859,7 +104238,7 @@ vcL
cXT
niy
nOp
-qXw
+gvt
vne
jPB
vCO
@@ -103885,47 +104264,47 @@ pNV
eAa
ekM
hBx
-jhg
+kxg
xXz
gmG
-kNz
+vTI
gmG
mjh
-jwV
-esZ
-vId
-eTh
-xAI
-mSf
-msS
-aYu
-osW
-eAs
-oup
-hSv
-wRU
-wRU
-acF
-aWF
-kCk
-ioW
-cRQ
-bfA
-drk
-mLN
-pBh
-xRy
-laf
-rgl
-wRr
-nim
-dJt
-yma
-aaa
-aaa
-cow
-aaa
-cow
+lcP
+acm
+dsX
+acm
+lVc
+acm
+dsX
+acm
+lVc
+acm
+mil
+acm
+mil
+qnd
+dsX
+acm
+lVc
+glQ
+dsX
+acm
+lVc
+glQ
+dsX
+acm
+lVc
+qnd
+sCm
+anH
+aeu
+aeu
+aeu
+aeu
+aeu
+aUz
+aeU
aaa
aaa
aaa
@@ -104058,7 +104437,7 @@ ceG
ceF
xbZ
twg
-iGQ
+wdU
caN
ceG
ceF
@@ -104089,13 +104468,13 @@ sME
dja
tPD
uxN
-vfW
-rmt
+iex
+hyP
nSq
tPD
tPD
efG
-qoN
+mTn
pVd
gwV
okN
@@ -104142,47 +104521,47 @@ ekM
ekM
ekM
ayY
-ojG
+uiM
wWm
gmG
-mRV
-rrO
+rnd
+dyP
cfL
-ajo
-vBl
-hmK
-mJP
-fVl
-bAc
-kSs
-kbw
-qoo
-sfV
-cEu
-eQW
-jKU
-fRC
-lqO
-kSJ
-gVy
-mSs
-vAG
-clL
-qOG
-mLN
-ckg
-yma
-tur
-yma
-yma
-kix
-yma
-yma
-aaa
-aaa
-cow
-aaa
-cow
+vId
+wRU
+esZ
+oup
+eTh
+xAI
+mSf
+msS
+aYu
+wRU
+eAs
+oup
+jmh
+sno
+esZ
+oup
+pRW
+wRU
+esZ
+oup
+pRW
+osW
+esZ
+oup
+jpe
+osW
+gth
+osW
+anH
+aeu
+aeu
+aeu
+aeu
+aeU
+aeU
aaa
aaa
aaa
@@ -104312,7 +104691,7 @@ asZ
asZ
aAg
ceF
-gJw
+wbR
sVj
pfM
pYO
@@ -104334,7 +104713,7 @@ aeS
cHu
cHu
iyr
-iID
+xyo
pnK
bbl
naY
@@ -104349,9 +104728,9 @@ rLy
nIq
qlk
mfD
-iTF
+qCY
pvb
-gIe
+gfJ
wor
yip
nwE
@@ -104360,14 +104739,14 @@ tmV
jlw
fOd
fBF
-bOm
+dSD
ovw
kqG
eCd
hwZ
wqd
ugG
-hob
+too
rNX
eJc
sVh
@@ -104399,47 +104778,47 @@ knR
eYB
knR
rNg
-jhg
-rqm
+qUx
+uri
gmG
-rtc
-uwP
+inz
+jkI
mjh
-oPO
-cRu
-tGj
-aZe
-nGT
-svp
-whz
-buu
-sJI
-bSw
-kHq
-bWx
-nGM
-ohe
-lsf
-vQt
-mLN
-vLU
-mlK
-eEU
-mLN
-mLN
-acK
-yma
-eRK
-nkg
-goi
-lfE
-uNv
-iyd
-aaa
-aaa
-cow
-aaa
+vbm
+dKV
+aFA
+oXr
+wml
+gKJ
+wiu
+cmM
+pVb
+xcC
+rDq
+kzO
+qkP
+gVV
+kGL
+htM
+boW
+tFj
+fQI
+kzO
+vRF
+wYD
+jos
+kzO
+boW
+cem
+sOM
+oup
acm
+aeU
+aeu
+aeu
+aeu
+aeU
+aeU
aaa
aaa
aaa
@@ -104574,7 +104953,7 @@ auf
xQU
nAe
fpk
-pZF
+nni
chO
iyi
ceF
@@ -104602,7 +104981,7 @@ aDQ
aDQ
acW
uxN
-dVn
+ilh
skB
taM
hjE
@@ -104648,55 +105027,55 @@ mbp
fNe
bVR
uPM
-jVW
+hPy
iHp
vWH
-fZk
-jhg
-jhg
-jhg
-jhg
-jhg
-gip
+gzf
+kxg
+kxg
+kxg
+kxg
+kxg
+jpD
pDM
gmG
-qDI
+qxO
cfL
-gYq
-utk
-cLu
-vbx
-sCY
-hFm
-rCH
-dgE
-vum
-aAQ
-ouX
-nDi
-fqO
-sND
-sni
-xsn
-bjJ
-mSm
-bCe
-gsB
-oOW
-aaa
-acK
-yma
-eni
-kno
-yma
-oOW
-yma
-yma
-aaa
-aaa
-cow
-aaa
-acm
+lVH
+ixb
+cRu
+tGj
+uMJ
+oSn
+svp
+wpQ
+eIS
+xsp
+bSw
+kHq
+bBa
+mYM
+aZb
+tSZ
+cva
+sJI
+vxg
+fnr
+fYV
+sJI
+fKG
+ugX
+xND
+hKf
+coS
+osW
+quF
+rTi
+rTi
+gva
+rTi
+rTi
+lkg
aaa
aaa
aaa
@@ -104817,13 +105196,13 @@ aeu
asZ
asZ
wBs
-dfc
+fxy
qUO
alz
ceg
bGE
cdf
-eCH
+hWK
asZ
adg
azv
@@ -104863,7 +105242,7 @@ vKc
xRE
pDF
jQW
-xbj
+lMk
itn
cXH
gIz
@@ -104885,21 +105264,21 @@ wzG
xBi
luK
eCd
-fAk
+awz
aPK
lRd
woj
qmx
twV
-lON
+lTy
nby
mwy
-lln
+qcw
hxQ
lrO
cVH
pxE
-slM
+xkc
ufE
tmZ
efe
@@ -104914,46 +105293,46 @@ pjZ
naK
naK
vkr
-ajH
+lXd
gmG
-nIh
-uzQ
-rBE
-kZz
-bBE
-srX
-kPv
-hoI
-aSv
-wjP
-ajv
-wSL
-ajv
-uDQ
-pED
-cSU
-dxq
-jkB
-kCR
-kCk
-kCk
-kCk
-mLN
-mLN
-aaa
-aaa
-yma
-yma
-emU
-yma
-aaa
-acm
-aaa
-aaa
-aaa
-acm
-acm
-cow
+ctp
+ttv
+ftq
+vXd
+klT
+uUP
+qTI
+aBl
+oiL
+bJX
+rRc
+mZN
+uTO
+pxI
+ssD
+aAS
+buO
+hVD
+sjY
+wPH
+mcr
+ssD
+ssD
+hYq
+ssD
+ssD
+sDQ
+aic
+jpo
+ueT
+uZZ
+bJY
+xJm
+wae
+vIE
+hEV
+rTi
+aeU
aaa
aaa
aaa
@@ -105089,7 +105468,7 @@ tqQ
adg
eXj
yiF
-gdf
+cRb
lTc
mMj
uba
@@ -105117,9 +105496,9 @@ bjR
aDQ
uxN
itn
-oIf
+hGU
wFL
-ybX
+dpb
uxN
uxN
qNr
@@ -105144,7 +105523,7 @@ bnl
sVh
xkj
sdd
-eMg
+fep
fqP
qPX
lLv
@@ -105171,46 +105550,46 @@ fqQ
woJ
fhs
gmG
-jLM
+vjy
gmG
-rRm
-aOg
-gry
-rMi
-bDP
-inE
-fwf
-hNy
-uNy
-nxY
-wuK
-aLP
-jBf
-aBi
-mnE
-xDo
-sBm
-wRU
-dvq
-rTi
-gva
-rTi
-rTi
-rTi
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-acm
-cow
-cow
-cow
+qQC
+jdc
+cfL
+sEO
+pDr
+fhx
+exb
+mSC
+kIm
+eMe
+fxu
+wrq
+xnB
+jAV
+pbL
+mMY
+irW
+fLh
+pNy
+lES
+gIs
+fLh
+tNM
+fLh
+fLh
+fLh
+dtV
+wUi
+mqy
+hAX
+iCQ
acm
-aaa
-cow
+xLM
+vVP
+hEV
+hEV
+gva
+iqC
aaa
aaa
aaa
@@ -105342,7 +105721,7 @@ xIq
adg
byD
cgJ
-nMh
+hTm
alV
uIs
afw
@@ -105384,7 +105763,7 @@ hdy
vuj
maW
wjD
-oPN
+okM
ijQ
dCM
vSi
@@ -105392,7 +105771,7 @@ lMf
fCs
lMf
qJf
-sZC
+tDn
wEt
add
rnG
@@ -105428,49 +105807,49 @@ vqM
vVT
vqM
cfL
-pRP
+eit
gmG
sfI
-biP
+gMa
cfL
cfL
jwV
-bDQ
-ouC
-kHQ
-wRU
+lne
+ete
wRU
-sSh
-jBf
-jUz
-jUz
-cre
-kja
-ndP
-uZZ
-okk
-aGs
-hky
-gQV
-xha
-rTi
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-acm
-aaa
+osW
+osW
+pRd
+uxc
+iKt
+gNy
+vyL
+wAg
+fct
+dQa
+tiU
+cgO
+rVg
+rHL
+czO
+fyd
+mwW
+bzK
+uaC
+avx
+fAA
+bKS
+nJq
+agI
+vZy
+qaZ
+dlS
+hEV
+gva
acm
aaa
aaa
aaa
-cow
-aaa
-aaa
-aaa
aaa
aaa
aaa
@@ -105591,7 +105970,7 @@ aay
iBD
cdY
jIX
-bST
+ndN
ceq
atB
xmB
@@ -105644,7 +106023,7 @@ tEE
mfJ
bqd
sHm
-wgy
+jkS
ddp
vRO
rsb
@@ -105665,7 +106044,7 @@ kYG
oBy
ncT
cEr
-tVo
+suh
nGJ
soC
cHI
@@ -105676,7 +106055,7 @@ dJg
hyl
rsw
hAJ
-vKC
+slV
vbP
rIk
mBm
@@ -105685,46 +106064,46 @@ vqM
auN
wvj
cfL
-pRP
-uUO
-csk
+eit
uUO
+jRL
+bnr
ves
cfL
-okq
-sOn
-ouC
-iwT
+cZf
+cGZ
+ete
+jRh
wRU
-cWb
-daL
-cec
-rON
-xzi
-uYw
-elm
-nEg
-uOC
-acT
-xLM
-fDS
-kox
-xha
+epJ
+doV
+jUz
+iqr
+fLh
+fHc
+lMp
+leU
+kFT
+rJg
+uaC
+rVg
+qIJ
+kpm
+vdr
+bPD
+keQ
+uaC
+xaX
+lou
+gvI
+wRU
+quF
rTi
-acK
-acm
-acm
-aaa
-acm
-cow
-cow
-cow
-cow
-acm
-cow
-cow
-cow
-acm
+gva
+rTi
+rTi
+rTi
+bbQ
aaa
aaa
aaa
@@ -105894,14 +106273,14 @@ dwc
qNr
qNr
jYx
-sMk
+iNw
eLp
ukU
dYy
fzL
yej
ijQ
-rPR
+xxY
hJQ
gpS
bMN
@@ -105933,55 +106312,55 @@ tmZ
aQs
rsw
hAJ
-hEh
+wWb
rIk
seU
htZ
bQE
uUk
giA
-bZS
+iqz
mjh
xhH
-uUO
-jSC
+oCU
+pDM
nPT
kHr
cfL
-dgu
-dva
-anF
-iwT
-ikt
-ylD
+gMS
+kda
+ete
+xeR
+osW
+rkc
gYK
-vqv
+bnf
cjv
-iLQ
-lst
-ofe
-tzF
-blX
-eQf
-fOH
-eSl
-mCT
-xha
-rTi
+rgE
+nKK
+nID
+fct
+wRU
+utm
+uaC
+rVg
+gTP
+xCS
+wAl
+aUi
+uZc
+cgO
+ksE
+vIL
+jCJ
+wRU
acm
-aaa
-cow
-aaa
-cow
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+vrF
+acm
+cry
+acm
+cry
+cry
aaa
aaa
aaa
@@ -106117,7 +106496,7 @@ myg
adg
qfq
apx
-bnS
+gtX
ill
aSa
gMy
@@ -106181,10 +106560,10 @@ oBe
cEr
wgS
nTr
-gKS
+dSX
qNJ
bgl
-pCp
+kIr
rqi
kNK
hyl
@@ -106194,7 +106573,7 @@ xCz
rIk
rIk
viM
-owl
+wtB
dHq
nbH
nwh
@@ -106205,40 +106584,40 @@ sfI
vmg
gmG
mjh
-vpd
+eUO
hkL
-kuf
-dgg
+xJj
+vYu
wRU
-gvu
+ckU
qgC
-aGM
+ihH
kbZ
-iLQ
-lVf
-mlT
-nCK
+rgE
+daM
+xIv
+fct
+bpk
+xfq
+uaC
+wWo
+rqr
+vBY
+jsa
+mLV
+bbY
+uaC
+pKk
+rvt
+aPB
osW
-vfO
+xLM
rTi
-cCe
rTi
gva
rTi
-vku
-acm
-gGF
-acm
-gGF
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+gva
+bbQ
aaa
aaa
aaa
@@ -106359,13 +106738,13 @@ aeu
asZ
aAg
roV
-qrj
+hAs
lLi
abD
abM
poZ
pKt
-vVW
+sQF
asZ
alV
azv
@@ -106400,7 +106779,7 @@ tPD
qZx
klm
pac
-stU
+ejr
bxx
oTw
oZP
@@ -106420,7 +106799,7 @@ clQ
piB
xSU
kju
-vbV
+eXG
mZW
kLy
dyK
@@ -106451,41 +106830,50 @@ gBT
hIS
rIk
iqd
-etH
+bLo
cfL
cfL
mjh
cfL
gmG
-biP
+jwC
gmG
-pRP
-vpX
+utX
+rEb
mjh
-hDV
+vLS
gIE
-kuf
-ebp
-wRU
-ylD
+xJj
+tge
+osW
+bol
gYK
-rah
+cHe
cjv
-iLQ
-rov
-rol
-pet
-uZZ
-gkx
-aGs
-iug
-fMF
-mvW
-rTi
-acm
-aaa
-cow
-aaa
+rgE
+iDw
+nID
+fct
+lNf
+rHZ
+uaC
+rVg
+bzK
+czO
+oco
+lpA
+rHL
+uaC
+dls
+fBW
+dBG
+qGH
+xRI
+yas
+wyS
+pcP
+hEV
+ygo
acm
aaa
aaa
@@ -106536,15 +106924,6 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
"}
(116,1,1) = {"
aaa
@@ -106695,8 +107074,8 @@ wtz
gHE
bdo
wHR
-pNG
-hyp
+ccP
+yan
pik
dfi
vfb
@@ -106721,38 +107100,38 @@ kuk
cfL
tbk
woc
-kuf
-riI
-vRK
-enr
+xJj
+sIy
+wRU
+pcW
ejX
-jBf
-cCJ
-fdd
-ryZ
-fHH
-kRD
-oup
-vfO
-xLM
-vns
-trt
-mvW
-rTi
-acK
-aaa
-cow
-gGF
-cow
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+jUz
+bHh
+tzc
+hTO
+lDU
+pXA
+cUL
+jwq
+ihZ
+fzA
+tuW
+tzc
+tzc
+tuW
+tzc
+cKr
+pKk
+mhQ
+qUK
+afV
+dXD
+nAl
+hEV
+hEV
+hEV
+ygo
+iqC
aaa
aaa
aaa
@@ -106921,13 +107300,13 @@ rWg
rsT
orT
aIq
-dVE
+mdJ
tGZ
wLu
mlw
eDT
vJH
-myt
+fyQ
ijQ
iRt
hVU
@@ -106947,14 +107326,14 @@ izt
xjr
hGf
wZW
-fLi
+lHK
roT
dOg
eyU
ipC
-say
-qiT
-kXA
+xlv
+nAw
+fOz
eyU
tWL
xEV
@@ -106972,44 +107351,44 @@ lDB
hVj
sxl
gGx
-nIh
+fCm
pDM
-sLl
+gmG
cfL
wRU
-tZe
-xJs
+xBv
+yjX
osW
wRU
wRU
-wPh
-cUM
-qSe
-xAW
-dkD
-pkC
-tYZ
-blX
-eQf
-fOH
-qWT
-wFB
-mvW
-rTi
-acm
-aaa
-acm
-aaa
-cow
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+rye
+tVg
+iKt
+dQt
+iIQ
+uWv
+lDT
+eeT
+oeq
+nqo
+nqo
+vDm
+nqo
+vDm
+nqo
+nqo
+aim
+ilW
+ocP
+nvU
+uts
+ddR
+tAs
+uuV
+dlS
+hEV
+ygo
+aeU
aaa
aaa
aaa
@@ -107142,7 +107521,7 @@ rZN
ihg
xYa
mAj
-sZR
+dbe
pwa
ihg
ihg
@@ -107168,11 +107547,11 @@ qlC
yaN
efG
tPD
-gZO
+qUo
uWU
nYp
mLJ
-jBi
+tNZ
vvH
dRF
mIq
@@ -107181,7 +107560,7 @@ nms
uMf
rLh
vqw
-tyY
+nvk
eAn
tjA
xoT
@@ -107206,12 +107585,12 @@ hGf
bXj
fqG
tZk
-wqP
+wEO
xPO
vRP
bqy
qoT
-dqq
+qPP
dLh
tWL
tmZ
@@ -107226,47 +107605,47 @@ qsb
qsb
eOG
uNY
-vlq
+pDM
gmG
qYr
ttR
-gmG
-pLl
-sOV
-knv
-xIB
-rvk
-iKX
-oat
-hAc
-iZB
-hRj
-lsW
-nWU
-ugr
-mlT
-gSz
+ioV
+rrW
+cfL
+jJK
+ijs
+ixp
+jPu
+jQd
+jPu
+dFa
+rGR
+bEk
+pws
+hkl
+dvF
+mmN
+cqh
+hOw
+qjO
+xZt
+xZt
+qjO
+xZt
+xZt
+qjO
+pSI
+sFe
+kFf
+uwk
wRU
-vfO
+xLM
rTi
-tHs
gva
rTi
rTi
-icx
-acm
-cow
-acm
-acm
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+gva
+lkg
aaa
aaa
aaa
@@ -107448,7 +107827,7 @@ gTz
jDy
tDW
faZ
-vNo
+djM
mZW
sIf
dyK
@@ -107476,54 +107855,54 @@ hyl
qvG
kTq
kxH
-mgU
+sdN
rFg
xYE
-jdB
+lvE
qHe
csW
olP
pDM
-kDy
+uUO
nEe
-nbn
+tmS
vlq
-liK
-qNH
-tcg
-wcP
-yhW
-kOx
-eEB
-ujT
-ccQ
-slu
-lAV
-mST
-uoN
-mvX
-pet
-uZZ
-gkx
-aGs
-gpe
-tJa
-lNn
-rTi
-acm
-aaa
-cow
-aaa
+jYa
+mjh
+jJK
+kEn
+jgQ
+vwU
+iVh
+ugU
+fVX
+utO
+nwd
+ceu
+deB
+lXu
+jaO
+xnH
+lau
+qhO
+lau
+xJw
+pTr
+rSj
+mvH
+hjA
+wRq
+uUy
+qNW
+ymj
+oup
acm
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+rTL
+aeu
+aeu
+aeu
+aeu
+aeU
aaa
aaa
aaa
@@ -107738,50 +108117,50 @@ wjm
wjm
dvu
qsb
-huS
-yem
-lvS
-llu
+aOg
+kyF
+oTS
+pPc
+cfL
cfL
-tUm
mjh
-dIN
cfL
-wRU
+cfL
+hXP
+nnk
+sot
+xKI
+nnk
+hXP
+nts
+llw
+dGb
+iAr
+hZv
+xLK
+vTg
+eEd
+prf
+fsB
+wAo
+fxq
+yma
+oup
oup
-vhp
-wLM
-wLM
wRU
-xjB
-eyv
-ufG
-jia
-mOg
-dgP
-nwN
+wWL
oup
-vfO
-xLM
-oYN
-qms
-lNn
-rTi
-acK
-acm
-cow
-aaa
-acm
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+wRU
+osW
+osW
+anH
+aeu
+aeu
+aeu
+aeu
+aeu
+aUz
+aeU
aaa
aaa
aaa
@@ -107942,14 +108321,14 @@ lZi
lZi
lae
kLR
-tRq
+iui
hQP
tdt
fzJ
shk
orT
aQB
-vzu
+pDn
vqw
vqw
imo
@@ -107957,7 +108336,7 @@ tEE
fzL
nTG
ijQ
-iNH
+xKC
qOB
vYI
lYE
@@ -107995,40 +108374,49 @@ jKz
toZ
bSi
kBd
-llu
+pPc
rRm
gmG
qVA
cfL
-gXX
-pgA
-wJD
-unS
-wRU
-jzm
-vXI
-dof
-wgq
+jsn
+pca
+mJj
+iVS
+hXP
+jeg
+ref
+aEw
+bPr
+pQS
+nts
+sIl
+mwx
+rEZ
+gxG
+lTb
+eZc
+dNA
+yma
+yma
+rnv
+irg
+gBh
+pjw
+iZl
+rPG
+urn
+aZf
osW
-eKA
-bdU
-jYc
-tNB
-cUA
-tTp
-wky
-aeL
-eQf
-fOH
-gyn
-qpI
-lNn
-rTi
-acm
-aaa
-gGF
-aaa
-cmU
+aeu
+anH
+aeu
+aeu
+aeu
+aeu
+aeu
+aeu
+aeu
aeU
aaa
aaa
@@ -108078,15 +108466,6 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
"}
(122,1,1) = {"
aaa
@@ -108214,7 +108593,7 @@ wqE
wuh
tzl
ijQ
-hpD
+suE
jLq
shP
evs
@@ -108235,7 +108614,7 @@ mzp
cqO
bZt
cEr
-bYT
+uyU
efP
exz
wfk
@@ -108252,42 +108631,49 @@ lTM
pqb
tdW
qsb
-llu
+pPc
cfL
cfL
mjh
cfL
-pvi
-giU
-nny
-hkK
-wRU
-nwu
-nhO
-dof
-pvu
-lqU
-uuK
-qRp
-jrR
-hBk
-jrR
-ero
-vSp
+oPK
+hGV
+nnX
+kGP
+hXP
+nuP
+wdt
+srn
+jyu
lqU
-vfO
-rTi
-cCe
-rTi
-rTi
-gva
-cke
-acm
-cmU
-aUz
-cke
+aIE
+mLa
+mgB
+sEU
+ugo
+ddq
+sqF
+xTh
+tQF
+pmP
+foV
+bgd
+bda
+iFD
+tDy
+oup
+wwg
+bRk
+wRU
+aeu
+aeu
+aeu
+aeu
+aeu
+aeu
+aeu
+aeu
aeu
-aeU
aeU
aaa
aaa
@@ -108337,13 +108723,6 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
"}
(123,1,1) = {"
aaa
@@ -108468,7 +108847,7 @@ gba
cDH
maW
cWl
-srB
+adM
dCM
ijQ
wEI
@@ -108476,7 +108855,7 @@ lJd
vbo
lJd
hNL
-slz
+whG
wEt
wqu
tXg
@@ -108506,38 +108885,45 @@ kTq
rDe
whm
iSG
-hZU
-cAk
+guQ
+mLz
qsb
-kDy
+uUO
cfL
-kUB
-gTc
-eva
-pNZ
-mSM
-kZU
-tnp
-ikt
-baC
-fse
-ouk
-blw
-bSg
-pJJ
-eaw
-fts
-hnb
-aYN
-tUc
-sGV
-uUA
-gkx
-aGs
-wae
-vIE
-hEV
-rTi
+vag
+nnv
+bHD
+gOI
+raW
+ksz
+vhQ
+pQS
+djh
+uWd
+eAK
+lVT
+aUI
+sfN
+uBx
+jXS
+uBx
+xkx
+uwQ
+bda
+uwS
+yma
+bda
+grj
+yma
+bda
+vHl
+kau
+wRU
+dGS
+oup
+osW
+aeu
+aeu
aeu
aeu
aeu
@@ -108546,13 +108932,6 @@ aeu
aeu
aeu
aeU
-aeU
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
aaa
aaa
aaa
@@ -108701,9 +109080,9 @@ kjS
cJk
oQg
ajZ
-vFe
-wCN
-iqO
+dcg
+eOz
+sYZ
uvq
iUT
lRk
@@ -108732,7 +109111,7 @@ sde
hMf
pvf
bln
-pZd
+tkp
bDr
dvk
niQ
@@ -108748,12 +109127,12 @@ scg
vuF
eib
eDg
-fmv
+jaz
bBS
pOd
pjm
kOJ
-orI
+emk
iuP
nnV
mmF
@@ -108766,35 +109145,38 @@ uvi
qHe
qsb
qsb
-wpI
+tph
mjh
-dYH
-nZF
-eQj
-wbH
-sIx
-vaz
-tMo
-wRU
-oiR
-jbg
-iNm
-mZb
+eyZ
+bCH
+xVW
+tFt
+lXA
+rih
+rih
+hXP
+pof
+oTO
+wtS
+bCE
lqU
-tZz
-eFn
-clt
-owT
-uPX
-cPp
-vxr
-tKi
-vfO
-xLM
-vVP
-hEV
-hEV
-gva
+mKp
+eBY
+qsY
+cqR
+rib
+xQT
+yma
+lMg
+nkg
+goi
+lfE
+ain
+iyd
+vIY
+aeU
+ach
+jGQ
aeu
aeu
aeu
@@ -108804,12 +109186,9 @@ aeu
aeu
aeu
aeu
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+aeu
+aeu
+aeU
aaa
aaa
aaa
@@ -108953,7 +109332,7 @@ aeu
aeu
aeu
oQg
-icm
+deL
dDH
sCu
oQg
@@ -108976,7 +109355,7 @@ gyx
vXa
exN
byy
-gAd
+gkX
sBz
hEa
sIq
@@ -109020,39 +109399,42 @@ sPP
tGQ
mMz
rkT
-eUy
+eeG
hrY
luO
lig
-jEO
-rKm
-xcE
-vvE
-fEu
-qFb
-jzw
-mHa
-sMf
-uCS
-uCS
-twu
-iTB
-vVx
-vzt
-oqW
-dwB
-rtF
-ipJ
-fxB
-bks
-uAE
-bEa
-vZy
-qaZ
-dlS
-hEV
-gva
-aeu
+gLw
+aOM
+rPi
+swq
+cBo
+uqP
+oZj
+sxj
+uLY
+vLV
+jfe
+hEj
+whs
+bTO
+kgS
+oWE
+gXO
+ecP
+qIf
+wFQ
+bda
+uix
+kno
+bda
+sYw
+yma
+bda
+ssM
+aeU
+aeU
+aeU
+ncM
aeu
aeu
aeu
@@ -109062,10 +109444,7 @@ aeu
aeu
aeu
aeu
-aaa
-aaa
-aaa
-aaa
+aeU
aaa
aaa
aaa
@@ -109258,7 +109637,7 @@ ygj
wMt
gRP
lpt
-sXo
+fDU
bvA
ssr
vSa
@@ -109274,55 +109653,55 @@ tJX
hyl
nbR
uPM
-jVW
+hPy
iHp
nVK
nVK
rwh
nVK
jSM
-jEO
-hXL
-qvV
-oKp
-sZz
-unE
-hoV
-kEQ
-wRU
-vRX
-iAU
-rnP
-oJr
-tKi
-eaQ
-sZb
-kyR
-ikh
-lhG
-tpw
-jYT
-pLs
-ygU
-rTi
-rTi
-gva
-rTi
-rTi
+gLw
+dvI
+gbc
+ukO
+jGy
+lMv
+uME
+ybd
+hXP
+gUc
+fwR
+qiH
+iAh
+sEU
+siZ
+fsf
+nCJ
+iZq
+iSa
+tFh
+yma
+bda
+emU
+bda
+lbG
+lbG
+alO
+aoe
+aeU
+aeU
+aeU
+aeU
+eqr
+anH
aeu
-agt
-aEg
-cko
-cko
-cke
aeu
aeu
aeu
aeu
-aaa
-aaa
-aaa
-aaa
+aeu
+aeU
+aeU
aaB
aaa
aaa
@@ -109470,7 +109849,7 @@ gNz
owq
vOL
rMA
-jHP
+ajL
nmu
jRy
rMA
@@ -109487,7 +109866,7 @@ wpf
aVn
fvU
vOM
-pWx
+mhE
sAZ
mLb
puB
@@ -109501,7 +109880,7 @@ qBC
fxP
nSh
pFS
-nbG
+rtO
vAw
bXz
ekL
@@ -109515,7 +109894,7 @@ dvk
wFl
dKJ
wFl
-xCL
+dYp
lBj
qaF
xUk
@@ -109537,35 +109916,35 @@ irM
dEl
prP
rFi
-goz
-aWD
-aWD
-rWT
-qPf
-aJH
-vbj
-knh
-pRO
+oUO
+kgo
+kgo
+sie
+rGa
+wZe
+qoK
+kgo
+jDB
jBs
fGu
chS
-kep
-npR
-gwk
-pVF
-xMs
-tJK
-sLW
-hEY
-gXh
-uSB
-pLs
-ygU
-aDT
-clX
-clY
-clX
-clz
+bak
+fGu
+fGu
+hWO
+vMj
+rmy
+gOZ
+oMP
+ebI
+foa
+aeZ
+aeZ
+nrp
+lrm
+fwm
+lrm
+fUi
clz
clz
clz
@@ -109576,8 +109955,8 @@ aeu
agt
aeu
aUz
-aaa
-aaa
+aeU
+aeU
aaa
aaa
aaa
@@ -109780,7 +110159,7 @@ bJR
dmD
tqz
fxd
-vSU
+lbZ
rNZ
fLy
oYi
@@ -109789,7 +110168,7 @@ nfa
nJA
ekM
ekM
-byd
+nXh
exH
ekM
ofq
@@ -109797,27 +110176,27 @@ jhg
xoh
qRv
mGj
-aWw
+nTC
ohj
-fvQ
-mVo
-vPU
-xnZ
+yjQ
+goL
+wns
+oxY
jBs
-lPh
+sHo
sqM
-sFv
-dIX
+nCq
+tEe
jBs
-pLs
+nuj
pLs
sDy
pLs
pLs
-pal
-pLs
-pLs
-ygU
+lPV
+kvd
+acm
+acm
aDU
aDY
aEd
@@ -109830,7 +110209,7 @@ aEf
aEr
aEt
aeU
-ckf
+cnu
aeU
aeU
aaa
@@ -110034,11 +110413,11 @@ lrk
cau
otP
otP
-iQh
+sLy
jlh
lme
-urv
-sOJ
+oub
+bAq
hfp
mXI
fNe
@@ -110058,23 +110437,23 @@ xeq
xeq
nwY
fbB
-gEo
+vwu
kJf
nOg
wcg
bVp
-tgd
-ccw
-jBs
-sXQ
-fVB
+yhF
+wHN
+sYO
+ved
+apd
rSe
xEB
ekm
-qEM
-gpL
-eHf
-ozk
+oWZ
+byi
+acm
+acm
aDU
aDZ
aEe
@@ -110238,7 +110617,7 @@ aeu
aeu
aeu
oQg
-dNT
+dPu
xXG
xXG
xXG
@@ -110246,7 +110625,7 @@ kuc
nqs
xnO
qDA
-aCg
+uTB
iUT
swW
lda
@@ -110271,7 +110650,7 @@ ftG
wRs
pLB
hxw
-fyh
+noq
bXz
hdm
dMp
@@ -110290,7 +110669,7 @@ yeA
fiQ
jfV
rxt
-sBb
+yfJ
fJv
jlh
aVx
@@ -110301,26 +110680,26 @@ ixo
gWw
jhz
scX
-bKH
+qUB
gkr
pmu
wRE
gng
-pRc
+vBg
jhg
xAw
bSX
ddI
jMo
-rTm
+rFR
hTB
tGz
-dgG
-ipf
-jYd
-usp
-ljb
-sPG
+nHH
+nae
+eDl
+lAi
+jZK
+wAT
kPS
jBs
qTg
@@ -110328,13 +110707,13 @@ oWX
puS
cvI
twN
-vBt
-ekm
+thJ
+byi
clX
cHN
aDV
aEa
-aEf
+rbw
aEj
aEm
aEq
@@ -110497,7 +110876,7 @@ aeu
oQg
lBN
vAm
-vae
+vNW
tIM
vIK
nqs
@@ -110518,7 +110897,7 @@ iJf
npi
vvd
luQ
-hQd
+cik
lby
gsu
sIq
@@ -110533,7 +110912,7 @@ bXz
bXz
wIL
ffv
-dKB
+qhD
dyX
xPk
laE
@@ -110572,8 +110951,8 @@ qMC
cYt
gev
vrq
-uuC
-bxE
+spv
+qqv
jBs
fGu
chS
@@ -110585,7 +110964,7 @@ sHQ
kQd
fKg
twN
-bJi
+gPk
ekm
gFQ
twN
@@ -110601,7 +110980,7 @@ aEf
aEr
aEu
aeU
-vku
+dHG
aeu
aaa
aaa
@@ -110752,9 +111131,9 @@ aeU
aeu
aeu
gNz
-otn
+tHK
fiW
-vSW
+noK
fiW
ksN
nqs
@@ -110785,7 +111164,7 @@ nol
lox
ocZ
oFC
-eBm
+flM
ipo
wxq
wxq
@@ -110799,13 +111178,13 @@ kbc
niQ
ejQ
yaG
-lIA
+nDO
cTh
-xgH
-vIV
-nLt
-hhJ
-wiK
+nlz
+jur
+qiA
+cBk
+flJ
yaG
nuL
aGZ
@@ -110828,9 +111207,9 @@ mGj
see
cjl
rlx
-uFb
-vZu
-xnB
+ubH
+oGt
+jqC
fSt
icw
tKS
@@ -110842,23 +111221,23 @@ izf
dQK
ekm
ekm
-oUj
-hTo
-pSW
+itK
+jsp
+rBH
ocx
gHd
-ntf
+uve
twN
aEl
aEo
aEo
-aEo
+tLn
aEo
aEo
aEo
aEv
aeu
-aeu
+anH
aeu
aaa
aaa
@@ -111028,7 +111407,7 @@ hqS
bot
ttB
lRk
-feW
+rgu
ejU
jLT
pqm
@@ -111045,24 +111424,24 @@ xTI
uGD
ejP
fUZ
-aqx
+pBC
qSa
eeb
gTA
jHT
-qQR
+tRn
xPk
ycr
niQ
dch
slo
dRY
-guq
-vDK
-xea
-fRm
-uLL
-avx
+bYh
+jTI
+wiS
+syh
+dkz
+nVA
slo
jTk
aGZ
@@ -111072,14 +111451,14 @@ nNM
nam
bax
bax
-tIX
+mGe
qgE
rOS
eQq
scX
xsJ
lRl
-yif
+vIh
xOI
xOI
qkm
@@ -111094,29 +111473,29 @@ enS
toi
jvh
ekm
-vUC
-kCK
-kCK
-ftS
-mfE
-pSE
-lmb
-dzt
-hRY
-hRY
-roy
-bWE
+ahG
+tiz
+bOw
+uPz
+utC
+etp
+szZ
+dsx
+tWf
+wVP
+qBl
+ekm
rea
rea
ekm
twN
-cko
-cpY
-ckr
-cke
+aeU
+aeU
+eqr
+anH
+aeu
aeu
aeu
-aeU
aaa
aaa
aaa
@@ -111273,7 +111652,7 @@ otr
aDF
tAI
ctx
-eDR
+jcR
oQg
vhf
lVe
@@ -111314,12 +111693,12 @@ niQ
kPt
slo
cfK
-kHt
-anE
+xzP
+jnm
ftl
uiE
crR
-pMz
+hFC
slo
oUA
skM
@@ -111338,34 +111717,34 @@ rXv
nVK
pRw
rwD
-iXo
+rHE
ggF
ils
qsA
-aYW
-hmr
-hnD
+jcQ
+lZJ
+xDq
kUS
-qtO
+wes
fqN
smn
ceW
rea
wYx
-lxu
-qfg
-qfg
-ulF
-abq
-ffQ
-jYo
-vHa
-qAo
-kLx
+dus
+vmY
+vmY
+wYM
+htB
+juy
+roL
+vZT
+lbb
+hrx
lmC
dyw
-cQt
-gGp
+dwa
+mSx
ekm
twN
agt
@@ -111524,7 +111903,7 @@ aeu
aeu
aeu
gNz
-gML
+srC
ake
reJ
ckp
@@ -111546,7 +111925,7 @@ uFl
qZl
wwv
jMZ
-mxT
+eMJ
lby
dEc
umq
@@ -111570,13 +111949,13 @@ urE
niQ
cSq
slo
-prc
-xgi
-nyV
-drX
-mCG
-xZc
-avx
+gvD
+hir
+tlz
+olY
+oRB
+oWO
+nVA
slo
iqk
skM
@@ -111599,31 +111978,31 @@ pwo
hZT
lNK
lNK
-fwd
+voe
pLu
-nlT
+hHn
kUS
-gso
+tPI
feD
ydw
mmE
dLN
oDG
-tCp
+fWZ
qOq
-qZC
+iEc
lOX
-lcn
+fXQ
jIt
fXQ
okp
-aiR
-sCV
-fgH
-kZY
+wwI
+rev
+hbL
+vho
dES
uTY
-ofu
+vMY
ekm
aeu
aeu
@@ -111784,10 +112163,10 @@ oQg
ugA
cJh
otr
-pTU
+juZ
cJv
ahJ
-vmV
+sYK
oQg
mbW
lVe
@@ -111821,19 +112200,19 @@ wGA
xvj
aMe
oNk
-txB
+nxo
sWI
jCZ
niQ
abJ
yaG
-hLY
+eEE
eON
-dqk
-mMu
-xeL
-gGD
-gTT
+igZ
+nrz
+pFL
+sch
+isZ
yaG
acm
skM
@@ -111846,21 +112225,21 @@ vwe
ffC
dmp
sZB
-vYQ
+oPD
bax
oCt
fmn
aek
xOI
-sYx
-mKe
-nyA
-lJM
-pOZ
+phS
+nYh
+qXY
+kLf
+tqr
oBP
-ocQ
+ayK
gTr
-iEG
+tsy
qVN
rEW
goG
@@ -111874,13 +112253,13 @@ uvG
piZ
uvG
lOX
-hqW
+aXS
jbZ
rea
tiz
jnL
tiz
-dqv
+niX
ekm
aeu
aeu
@@ -112055,12 +112434,12 @@ vHh
lRk
enP
lZi
-eQh
+lPR
vTu
dRR
tmf
qpw
-mIC
+kpI
bBF
jdE
sIq
@@ -112088,7 +112467,7 @@ tXg
tXg
arl
arl
-fQY
+lEN
arl
arl
arl
@@ -112110,31 +112489,31 @@ kYU
cuV
xOI
lrU
-cSZ
-sgK
-meR
-wOe
+feb
+kDf
+iUC
+qeV
mPP
-vww
+sDw
vHH
-lQj
+eIJ
gDu
-xtc
+xFg
dKz
rea
-wYx
-xQL
+sTC
+kzg
okp
-dPr
-cYc
-vME
-qnH
-vME
lOX
-paN
-dOA
-piD
-uyK
+nCF
+cME
+hiK
+sTW
+lOX
+gcA
+dyL
+vDk
+ssQ
uyK
rKf
vRo
@@ -112291,23 +112670,23 @@ aca
aji
tfi
udA
-ksu
+hLw
lRZ
iJu
uFM
qAa
-xwW
-sjK
+lav
+eSU
kri
hBD
eeQ
-orW
+jcD
lVe
-uSd
+kPj
eIM
-sPg
-hTn
-gOP
+mmm
+rao
+nLY
dGP
xBs
qCI
@@ -112335,7 +112714,7 @@ sMi
eYd
fmV
pqu
-wtM
+mei
sWI
mza
tnc
@@ -112343,8 +112722,8 @@ vwQ
tXg
rQs
tXg
-wbG
-tMC
+eAQ
+ect
gii
arl
arl
@@ -112355,7 +112734,7 @@ xuM
qzv
qur
iNi
-wWy
+qUS
ioQ
mQR
elz
@@ -112367,28 +112746,28 @@ sXJ
alL
jjs
nPw
-hrg
+oEQ
xDj
eHc
jzk
sXP
-guS
+tdG
kUS
whP
jWL
-bFv
+uit
kgB
twN
-eiJ
-fKD
-cYc
+sTC
+jPH
+rFM
wxx
-mMB
+gLS
aRB
aRB
aRB
okp
-flx
+uMB
kOX
rea
skP
@@ -112558,10 +112937,10 @@ joF
olL
soI
pAx
-oJW
+abU
jcp
ikH
-ceY
+rij
qNb
jKj
iUT
@@ -112602,7 +112981,7 @@ tXg
tXg
arl
arl
-nqF
+svU
arl
jMF
xuM
@@ -112624,7 +113003,7 @@ qZX
qZX
qZX
sxF
-tMB
+uQX
sxF
fvC
vfd
@@ -112633,10 +113012,10 @@ vfd
iKg
uSH
xOB
-xqE
+izw
exD
ekm
-dgo
+qwq
uqD
kBz
vyN
@@ -112645,8 +113024,8 @@ hPr
dGG
vyN
eVL
-gJa
-iAE
+taA
+tPG
rea
gPX
rBO
@@ -112822,11 +113201,11 @@ uRT
nhy
vEW
lZi
-vHW
+oln
fJq
vnH
eJq
-hbI
+mPW
dBy
rlT
vnZ
@@ -112854,7 +113233,7 @@ nYP
jiS
eeo
dke
-lHt
+rNs
xWK
nwI
fIR
@@ -112881,28 +113260,28 @@ qZX
kDg
chH
ctg
-prC
+ohU
cYk
pIO
evb
tNW
oCo
wnl
-mVr
+srm
eOW
-aGR
-eEZ
+pMD
+amC
uJN
vUD
-quv
-lhm
+cmZ
+pBO
lYb
-kvM
+ieK
mNt
mNt
mNt
-dPr
-sMY
+lOX
+dLR
hSt
rea
tiz
@@ -113077,7 +113456,7 @@ dxu
vuI
cIY
cbL
-aBk
+wza
lZi
uDT
nyN
@@ -113135,34 +113514,34 @@ cuV
oQk
aAU
jjs
-tmx
+xcy
cLx
jNM
-oxJ
+wVN
tav
snU
oDh
dJw
-rAt
-kmo
+dwq
+suy
kmo
dGX
-tyI
+sZJ
pSh
rea
-mSC
-pqH
+sTC
+pzT
lOX
-uWA
-lhm
-idk
-mno
-idk
+okp
+foG
+ufK
+obk
+igq
lOX
-obh
-dOA
-piD
-uyK
+onj
+dyL
+vDk
+ssQ
uyK
oiS
tiz
@@ -113323,7 +113702,7 @@ qmW
cKd
wpw
ieb
-vXz
+ayx
wpw
vhx
nQx
@@ -113392,23 +113771,23 @@ cuV
cuV
bhJ
jjs
-cxB
+vec
sXC
sdp
-onn
+odo
cEa
snU
uso
-udd
-pLy
+oMm
+kjc
sCr
hur
gKR
-tyI
+sZJ
bkn
rea
-mSC
-kHK
+sTC
+pNq
aGQ
oAk
lOX
@@ -113416,14 +113795,14 @@ fCX
cPM
fCX
okp
-hqW
+nfc
lZV
rea
vRo
vRo
vRo
-mQs
-ekm
+tld
+twN
aeu
aeu
aeu
@@ -113593,18 +113972,18 @@ uRT
dBV
vEW
lZi
-epi
+tRN
uJP
moG
bBF
-nuy
+gEJ
lWg
gpP
bLf
mii
vqN
bBF
-veY
+thf
maj
aUn
ayh
@@ -113615,7 +113994,7 @@ lBk
wyF
prq
vao
-ydk
+iDs
fqq
tho
vTx
@@ -113625,10 +114004,10 @@ lrR
fkw
hDK
ege
-eKa
+rhe
ykP
xcV
-eOV
+peE
kUN
kvL
bCz
@@ -113638,7 +114017,7 @@ xNe
gtC
xNe
qEf
-jsR
+hHz
ykP
vWF
sqK
@@ -113650,36 +114029,36 @@ cuV
pgG
qZX
xjl
-clM
-syA
-wnv
-tuS
-bfh
-iiG
-kAg
+nrb
+glJ
+res
+jAq
+vlD
+rMc
+qqK
uMk
-ulU
-xLA
-jLs
+rjT
+pre
+mPw
tyI
bjb
rea
-mSC
-naQ
+sTC
+fGW
ksp
-hyk
+ool
lOX
lcn
-jIt
+pqL
lcn
lOX
-dSo
-oow
-rYh
-hVH
+xEI
+vLN
+hbL
+vho
dES
rKV
-cpW
+jZa
twN
aeu
aeu
@@ -113831,7 +114210,7 @@ kMx
gqn
elS
wuc
-lrM
+uem
oVc
mwp
lth
@@ -113913,7 +114292,7 @@ xin
rja
fvC
xCr
-kmo
+pht
gMC
uSH
uSH
@@ -113922,20 +114301,20 @@ qUJ
uSH
ekm
vUD
-iwS
-shH
-uYM
-sJH
-shH
-shH
-wXM
-iEr
-boG
-oow
-iwM
-vHe
-oQm
-juR
+oZU
+ods
+ods
+vkf
+ods
+wkl
+feS
+mdR
+bXx
+jYq
+cYe
+okT
+rfN
+gNF
ekm
ekm
aeu
@@ -114090,7 +114469,7 @@ gqn
vJc
lev
gSQ
-enU
+kNV
bEd
pig
prr
@@ -114102,15 +114481,15 @@ ppB
syu
gqk
okt
-xDw
+qDf
uRT
rAO
hZP
lZi
-hAT
+hjO
kwV
edj
-hUn
+iYp
xJB
sJU
mDj
@@ -114140,22 +114519,22 @@ oNO
tQI
xlf
liB
-sHo
+wQG
hKV
cIW
liB
-kvE
+aKk
cox
eLU
pRu
rEE
-jDv
+pJI
xNe
ghO
-kCi
-lIf
+evW
+pdK
vzy
-kfx
+khx
toE
bXf
aVC
@@ -114170,27 +114549,27 @@ jjs
qZX
qZX
ccR
-kmo
+vMy
vKj
uvm
amq
hjj
-raT
-bGj
+dDg
+hjj
vOq
rKn
-dnS
-rfm
-pbL
-pbL
-ifB
-umC
+vRo
+vRo
+vRo
+vRo
+vRo
+www
qai
-rIm
-lRS
-qzz
+uUM
+wtw
+wSV
ekm
-iwM
+bIE
rea
twN
ekm
@@ -114375,7 +114754,7 @@ tfV
lJU
qDZ
gGf
-oTQ
+epl
hsg
nxj
dLA
@@ -114385,10 +114764,10 @@ kzK
mhP
hhE
pwy
-dLg
+uyS
lDu
vMo
-iAf
+nDR
vOX
vOO
gsO
@@ -114402,8 +114781,8 @@ jEy
jOi
hJa
sAR
-klA
-dhG
+nOO
+gaX
gjP
iCK
pFw
@@ -114414,7 +114793,7 @@ jGW
lIR
jHm
mbY
-aqE
+gil
vzy
kSp
cuV
@@ -114426,13 +114805,13 @@ cAq
pQC
wHr
qZX
-spU
-tCo
+oLN
+vBw
nan
uvm
vLG
aov
-aov
+ofC
aov
ekm
xNP
@@ -114457,8 +114836,8 @@ joY
oam
joY
oam
-vku
-aaa
+anH
+bbQ
aaa
aaa
aaa
@@ -114607,14 +114986,14 @@ vse
jmM
mQe
jec
-gbx
+mrL
kkP
nKQ
-gbx
+mrL
mQe
dJk
nqE
-uYg
+kmJ
xHR
nPl
uYb
@@ -114630,11 +115009,11 @@ hZr
uYP
tNe
dkM
-ufm
+cyJ
iUm
eog
eog
-eDw
+mmM
meP
rhK
uAh
@@ -114655,7 +115034,7 @@ xoO
fGI
rfF
sKy
-rUZ
+cZk
nnA
qAn
qJi
@@ -114873,7 +115252,7 @@ ecf
mPE
oiu
peF
-okE
+dQI
lev
cHZ
jdp
@@ -114885,7 +115264,7 @@ dJm
bUx
cKY
mDj
-bwF
+tze
eHI
eHI
eHI
@@ -114894,7 +115273,7 @@ fsj
plp
aYz
lZn
-tlt
+hVf
geE
wqQ
rwR
@@ -114905,10 +115284,10 @@ nOJ
bls
hnl
iuE
-sUj
+umg
dcq
ulm
-tUA
+nmL
jhD
liB
nqg
@@ -114920,7 +115299,7 @@ ebF
xiA
tmq
rmK
-omr
+cNJ
xNe
eUk
kTk
@@ -114934,7 +115313,7 @@ vxN
cuV
mZz
fuB
-hIp
+azE
jTm
gDM
jxy
@@ -114969,7 +115348,7 @@ vaI
vAl
eLv
oam
-sda
+ifw
joY
acm
aaa
@@ -115118,11 +115497,11 @@ gqn
vJc
lev
nXp
-jdu
+niJ
kDe
dmA
hvl
-lvR
+msj
wpw
gcp
puJ
@@ -115158,13 +115537,13 @@ qzA
knu
lNP
oLH
-loE
-mUH
+jQU
+fhM
rZV
erl
pnl
idM
-dRG
+xep
aEC
vWA
dyj
@@ -115179,7 +115558,7 @@ xNe
fKx
uIx
ihU
-jzu
+eba
vWv
oGV
vzy
@@ -115191,7 +115570,7 @@ vzy
fuB
cuV
cuV
-wYq
+plg
cuV
fuB
cuV
@@ -115373,7 +115752,7 @@ vPW
xRZ
uwY
vJc
-oxn
+vWr
ulZ
iSS
uLt
@@ -115398,7 +115777,7 @@ xvr
kkT
gtW
sBl
-swC
+fNW
imS
imS
imS
@@ -115431,12 +115810,12 @@ aII
sAr
wyv
cON
-dBX
+pRM
xNe
ihU
gtC
ihU
-aHM
+fmX
bHl
rVj
oSI
@@ -115448,7 +115827,7 @@ nPV
jSJ
cvM
rgv
-iJL
+pQF
xGa
uAb
keE
@@ -115471,7 +115850,7 @@ qZX
qZX
qZX
hiQ
-vGu
+qZX
qZX
gDM
dqL
@@ -115485,8 +115864,8 @@ mZK
oam
oam
joY
-vku
-aaa
+anH
+bbQ
aaa
aaa
aaa
@@ -115662,7 +116041,7 @@ hhc
imS
cka
jeU
-rxb
+bKa
lKk
aND
aND
@@ -115674,14 +116053,14 @@ frO
frO
dJS
vOX
-ftJ
+ghr
iNL
aru
wNb
atu
tXr
jfc
-thT
+ity
vUH
gnB
qxC
@@ -115702,14 +116081,14 @@ bHl
bHl
bHl
bHl
-lNd
-oHB
-bly
-sjp
-ceO
-naO
-uNR
-pxl
+xQK
+jbR
+gOu
+bbR
+rfl
+xRj
+uZJ
+nvQ
hGX
mkk
iVL
@@ -115739,10 +116118,10 @@ fuB
hQA
ght
wHu
-pbs
joY
-oam
-gGi
+isb
+iuR
+nTX
aaa
aaa
aaa
@@ -115912,7 +116291,7 @@ roF
pMT
gtW
hTb
-pPM
+iWQ
vTX
mtq
tCh
@@ -115925,7 +116304,7 @@ rDd
qth
awT
aMU
-iLX
+aON
qZc
jqJ
frO
@@ -115937,13 +116316,13 @@ wwC
kZw
gHI
cTX
-wyS
+gMV
eKk
lJD
eKk
lJD
oQL
-wyS
+gMV
fLo
nFy
hfr
@@ -115957,16 +116336,16 @@ sNa
fur
gel
gCl
-qca
-fgx
-hMY
+cIr
+qtH
+jHb
mkk
-deF
-xgF
-jhE
+dAb
+lZz
+xLm
rCi
lxo
-pEp
+wlt
itC
rCi
iVL
@@ -115987,7 +116366,7 @@ qOQ
rzR
nCf
qZX
-cuV
+fuB
qZX
qpj
mbS
@@ -115997,10 +116376,10 @@ cAp
auR
mCV
rNR
-hxF
+bWu
xmQ
+vTz
gny
-aeU
aaa
aaa
aaa
@@ -116188,7 +116567,7 @@ uhx
oWm
wtt
vOX
-mPB
+iQJ
qFV
nTz
dXJ
@@ -116214,7 +116593,7 @@ cQR
cQR
pIl
pIl
-gIJ
+igY
eHY
nXu
eLm
@@ -116223,7 +116602,7 @@ eLm
eLm
eLm
mkk
-jNq
+esD
cvM
mkk
rCi
@@ -116242,7 +116621,7 @@ usr
xVm
usr
xeo
-jzH
+usr
usr
aeu
xTG
@@ -116422,15 +116801,15 @@ syF
mKC
lDu
wZZ
-blm
+qUf
wIo
gtW
iAC
fOu
iRR
-fqu
+dtE
rwy
-obv
+rgq
wzI
uZR
pmD
@@ -116445,7 +116824,7 @@ frO
frO
wtt
rZV
-kgU
+rsS
wTU
cRO
sGF
@@ -116462,7 +116841,7 @@ iko
euX
tOy
akD
-kWN
+lOS
bAS
vUp
byb
@@ -116470,8 +116849,8 @@ ozz
uAc
cQR
lPb
-sCy
-iNz
+jxt
+gMx
cPZ
vJh
iWL
@@ -116479,9 +116858,9 @@ hSy
ssi
qjq
eLm
-uRv
-nYg
-pjx
+bFE
+soY
+rYQ
tbE
rFN
gJj
@@ -116689,13 +117068,13 @@ aeJ
egr
fxQ
wzI
-xfB
-afY
+kSy
+mIs
bWZ
frO
tbu
eLV
-iLI
+xai
nkV
xio
frO
@@ -116720,7 +117099,7 @@ nFy
tbS
pHE
bmX
-clo
+jfp
cQR
jBC
pdZ
@@ -116728,7 +117107,7 @@ ecl
wJn
lFB
cQc
-vzR
+iwc
nXu
ttZ
lmi
@@ -116736,8 +117115,8 @@ aXA
gNM
pvF
tCQ
-wWJ
-hYr
+dCO
+pau
owX
lAB
lAB
@@ -116984,8 +117363,8 @@ hDa
tNa
cQR
rDh
-lza
-wWY
+aoD
+xwa
beo
qtA
mrI
@@ -117210,25 +117589,25 @@ cqr
fyq
tXS
vls
-dOa
+sGB
xxN
lDu
nIg
dME
-ixR
+jHw
boO
oiK
mvm
ncQ
clV
jwu
-fmY
+xaK
qWh
gSp
xVK
kxu
npx
-iXL
+ebu
lgC
pWC
jnp
@@ -117242,7 +117621,7 @@ cQR
eMo
pIl
wRO
-gIJ
+igY
iSw
nXu
eLm
@@ -117250,7 +117629,7 @@ dkL
tCQ
eLm
eLm
-obO
+bUo
plx
wGe
izU
@@ -117482,12 +117861,12 @@ dME
tiK
dWM
oAJ
-bGa
+fYt
eiI
dok
kZq
nFT
-gQM
+uBk
tOy
pLe
yaF
@@ -117499,7 +117878,7 @@ wpn
cLG
jwn
lFC
-lja
+vQA
btb
apw
hBf
@@ -117509,7 +117888,7 @@ rCi
qUb
hUL
pBR
-gIC
+tLF
nuh
lAB
bPX
@@ -117712,20 +118091,20 @@ ucG
mrt
khy
lDu
-vqf
+wFd
wdu
blZ
jiO
tQM
gao
-ugx
+ukS
sXG
rtw
hRG
ceT
sgn
uuW
-hzx
+fhE
oLH
wCY
cTN
@@ -117734,7 +118113,7 @@ qTJ
chT
oCC
wrY
-tBy
+opy
dME
hxP
ntn
@@ -117748,24 +118127,24 @@ diU
tOy
xcT
tDG
-gns
+bKR
cQR
gMA
qih
tNQ
-fhq
+pRx
xhJ
sRb
-xfL
+uWc
tej
-uQJ
+gMu
tej
-uqi
-jEW
-rgW
-iLN
-oiU
-uHU
+wlG
+ycH
+jKc
+kJB
+aIe
+meN
tla
lAB
lAB
@@ -118009,19 +118388,19 @@ cQb
cQR
jgI
cQR
-pRL
+hdK
oSX
kdO
-qFl
-pIf
+pVT
+yfl
chg
vPB
noE
-iLF
-wlb
+ucC
+djy
blx
hev
-xMZ
+bFB
kwM
xbx
tbE
@@ -118228,7 +118607,7 @@ gyd
awX
iSC
wxl
-wdm
+dgJ
oRK
wua
bwA
@@ -118238,7 +118617,7 @@ dty
fIu
jYp
qew
-msy
+nGa
dry
lDu
pkM
@@ -118270,12 +118649,12 @@ vOW
aoE
sMh
iCW
-pIf
+yfl
chg
vHF
miM
-iLF
-uRL
+ucC
+tdC
rCi
rCi
rCi
@@ -118501,13 +118880,13 @@ lDu
lDu
xZL
rZV
-jPA
+nTv
iRq
aLI
dVB
-vQc
+aBH
qAR
-vDc
+kZs
eXQ
kwl
hOc
@@ -118527,14 +118906,14 @@ hyt
dPK
wTe
mHu
-gLG
+qIz
chg
ybS
noE
-nDu
+hrC
lFC
wdZ
-rYA
+qQw
mnK
oIu
eQg
@@ -118750,7 +119129,7 @@ kFN
uYh
hvz
clw
-bYg
+dJP
oay
dAQ
eGD
@@ -118778,17 +119157,17 @@ jAF
xqQ
jAF
acm
-kjG
-eOA
-oYK
+dbP
+dLK
+bqc
oMU
baG
oaF
-pIf
+yfl
chg
vHF
noE
-vVv
+xxr
tej
tej
tej
@@ -119015,7 +119394,7 @@ cGr
oLH
kxT
rZV
-vvb
+iLK
udJ
gmb
fxY
@@ -119037,23 +119416,23 @@ aaa
acK
uJV
jUi
-hxZ
-tQP
+bzQ
+bIi
seO
mHu
-ukz
+ivY
chg
tdn
xWJ
-qmM
-yit
-egH
-cmR
-dka
-dIB
-hIy
-cRM
-qUB
+xyI
+fuM
+lVy
+ual
+iyy
+qcJ
+fBj
+mML
+luC
rCi
bUO
bUN
@@ -119272,7 +119651,7 @@ uwq
oLH
wCY
rZV
-trx
+nar
tIe
twd
dVB
@@ -119297,20 +119676,20 @@ vOW
vOW
sMh
vOW
-cir
-slX
-hMU
-vcx
-uOl
-rya
-oSW
+giC
+kgt
+fNX
+qxc
+lMV
+vFK
+iSu
ajb
ajb
ajb
pcC
uAe
-fBw
-xir
+gJX
+anf
mkk
cic
cic
@@ -119516,8 +119895,8 @@ lDu
lDu
wHb
lDu
-qlI
-wst
+dBY
+tFf
ocv
fHZ
bIm
@@ -119527,7 +119906,7 @@ aMb
fqb
lDu
lDu
-lGT
+rGL
vOX
qAR
uoL
@@ -119551,22 +119930,22 @@ aaa
acK
wJe
rMI
-iMS
+wkv
jij
wJe
-gIW
-pqp
+xwT
+cPW
xnU
mPS
ijL
-vCp
-mDY
+vNt
+rhR
cKz
dfY
vkd
cHO
vOW
-hhy
+kbs
bPK
cVr
bYe
@@ -119808,20 +120187,20 @@ aaa
acm
vOW
dSw
-cZN
-lWF
+dQo
+hGr
gHA
-bfQ
-yit
+wEo
+fuM
vHF
aiB
vHF
-vVv
-aFj
+xxr
+gcj
pfH
-hKF
-cHv
-xmm
+iFb
+vtx
+hSF
sMh
cdl
gpH
@@ -120044,7 +120423,7 @@ wCY
fkP
kCd
gKI
-ygo
+lYx
bBK
dVB
jJp
@@ -120065,19 +120444,19 @@ aaa
acm
wJe
hQs
-eZi
-vPD
+mvx
+qJT
wJe
-fhC
-egH
+wuO
+lVy
wTS
epv
wTS
-iLF
-mDY
+ucC
+rhR
ycy
bzc
-mDY
+rhR
hsV
vOW
vOW
@@ -120321,23 +120700,23 @@ aaa
aaa
acm
sMh
-ykR
-eZi
+tTy
+mvx
nqx
awt
emV
-iLF
-iKV
-jWN
+ucC
+wFn
+fFG
esX
-xKq
+ecR
qjK
dmf
vGa
wSz
-req
+nCa
vOW
-dqh
+erM
tBn
dhY
qYN
@@ -120532,7 +120911,7 @@ aeu
aeu
aeu
uVQ
-ccS
+jvE
uVQ
aeu
aeu
@@ -120548,7 +120927,7 @@ sJS
rZV
mtc
oLH
-bMD
+dWQ
lkB
iaX
eWS
@@ -120579,7 +120958,7 @@ aaa
acm
wJe
twj
-rNc
+pOA
wGh
wJe
cdu
@@ -120595,7 +120974,7 @@ qbO
aYd
sMh
nho
-tbz
+tET
sMh
qeH
ffa
@@ -120805,7 +121184,7 @@ xeP
vOX
mtc
lDu
-ocd
+fBV
fJo
lkB
xye
@@ -121063,15 +121442,15 @@ rZV
mtc
lDu
lOh
-hRJ
+diY
seG
cMD
drm
oLH
wCY
-sZK
+uJm
ddQ
-erp
+ykl
fsV
tRg
nuS
@@ -121325,10 +121704,10 @@ sJS
lDu
yad
lDu
-tqt
+tuI
rZV
rZV
-eeJ
+suY
enQ
vSM
gAF
@@ -121351,17 +121730,17 @@ qJs
acm
qJs
vOW
-wwg
+nCi
iOW
-kSe
+cGf
sMh
tlA
oVP
juq
vOW
-wwg
+nCi
iOW
-kSe
+cGf
sMh
acm
aaa
@@ -121585,9 +121964,9 @@ daG
wCY
sjd
fej
-syl
+tul
xCP
-tNf
+nCo
rEu
kPI
xPT
@@ -121842,9 +122221,9 @@ exg
kMP
ddQ
dez
-tjd
-eRl
-uBd
+fqd
+bim
+nUK
mVu
kPI
mjW
@@ -122096,11 +122475,11 @@ sJS
rZV
smo
vOX
-rfK
+lZt
rZV
-aLJ
-uSu
-ist
+aId
+aYG
+rOr
kYE
gjv
oiE
diff --git a/_maps/shuttles/emergency/emergency_ark.dmm b/_maps/shuttles/emergency/emergency_ark.dmm
new file mode 100644
index 000000000000..398543cd9b27
--- /dev/null
+++ b/_maps/shuttles/emergency/emergency_ark.dmm
@@ -0,0 +1,2323 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aj" = (
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"aI" = (
+/obj/structure/chair,
+/obj/effect/turf_decal/bot,
+/obj/structure/railing/unbreakable,
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"aS" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/structure/ore_container/food_trough/raptor_trough,
+/obj/item/clothing/head/costume/rice_hat,
+/turf/open/floor/hay,
+/area/shuttle/escape)
+"aX" = (
+/obj/structure/chair/sofa/corp/corner{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblue,
+/area/shuttle/escape)
+"aY" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"bG" = (
+/obj/structure/table,
+/obj/item/defibrillator/loaded,
+/obj/item/radio/intercom/directional/north,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"bT" = (
+/obj/effect/spawner/random/biome_mob/grass/shuttle_only,
+/turf/open/floor/grass,
+/area/shuttle/escape)
+"cb" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 1
+ },
+/turf/open/floor/fakeice,
+/area/shuttle/escape)
+"ck" = (
+/obj/structure/closet/emcloset/anchored,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"ct" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/structure/flora/bush/large/style_random{
+ pixel_y = 0
+ },
+/obj/structure/water_source/puddle,
+/turf/open/misc/grass/jungle/station,
+/area/shuttle/escape)
+"cu" = (
+/obj/structure/chair/comfy/shuttle,
+/obj/effect/turf_decal/bot,
+/obj/structure/railing/unbreakable,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"cw" = (
+/obj/effect/turf_decal/weather/sand{
+ dir = 5
+ },
+/obj/item/toy/seashell,
+/turf/open/misc/beach/coast,
+/area/shuttle/escape)
+"cF" = (
+/obj/structure/chair/sofa/corp/corner{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblue,
+/area/shuttle/escape)
+"cO" = (
+/obj/structure/table/reinforced/titaniumglass,
+/obj/item/slimepotion/sentience{
+ pixel_x = -7
+ },
+/obj/item/slimepotion/sentience,
+/obj/item/slimepotion/sentience{
+ pixel_x = 8
+ },
+/obj/machinery/light/directional/south,
+/obj/structure/sign/nanotrasen/directional/south,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"cV" = (
+/obj/machinery/door/airlock/medical/glass{
+ name = "Casino Infirmary"
+ },
+/turf/open/floor/mineral/titanium/white,
+/area/shuttle/escape)
+"dc" = (
+/obj/machinery/stasis,
+/obj/machinery/light/directional/west,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"dd" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/turf/open/floor/hay,
+/area/shuttle/escape)
+"dh" = (
+/turf/open/floor/glass/reinforced/plasma,
+/area/shuttle/escape)
+"dp" = (
+/obj/structure/flora/bush/flowers_br/style_random,
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 1
+ },
+/turf/open/floor/grass/fairy,
+/area/shuttle/escape)
+"dr" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 10
+ },
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/thinplating,
+/turf/open/floor/fakeice,
+/area/shuttle/escape)
+"dy" = (
+/turf/open/floor/mineral/plastitanium/red,
+/area/shuttle/escape/brig)
+"dF" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"en" = (
+/obj/item/kirbyplants/organic/plant21,
+/obj/structure/railing/unbreakable{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"ep" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/obj/structure/flora/bush/grassy/style_random,
+/turf/open/misc/dirt/dark/station,
+/area/shuttle/escape)
+"et" = (
+/obj/structure/chair/sofa/corp{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblue,
+/area/shuttle/escape)
+"eH" = (
+/obj/structure/railing/corner{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/white,
+/area/shuttle/escape)
+"eW" = (
+/obj/structure/railing/corner{
+ dir = 8
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/shuttle/escape/brig)
+"fm" = (
+/obj/structure/table/reinforced/titaniumglass,
+/obj/item/storage/toolbox/mechanical,
+/obj/item/paper_bin,
+/obj/machinery/status_display/evac/directional/south,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"fs" = (
+/obj/structure/railing/unbreakable{
+ dir = 1
+ },
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"fS" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 4
+ },
+/obj/effect/turf_decal/bot,
+/obj/structure/railing/unbreakable{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"ga" = (
+/obj/machinery/door/airlock/titanium{
+ name = "Emergency Shuttle Airlock"
+ },
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"gE" = (
+/obj/effect/spawner/random/trash,
+/turf/open/floor/plating/elevatorshaft,
+/area/shuttle/escape)
+"gM" = (
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"hg" = (
+/turf/open/lava/smooth/weak,
+/area/shuttle/escape)
+"hW" = (
+/obj/item/kirbyplants/organic/plant21,
+/obj/structure/railing/unbreakable{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"hX" = (
+/obj/machinery/light/directional/west,
+/obj/item/kirbyplants/organic/plant21,
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"ic" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 1
+ },
+/obj/effect/turf_decal/bot,
+/obj/structure/railing/unbreakable{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"it" = (
+/obj/machinery/door/airlock/security/glass{
+ name = "Brig"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/security/general,
+/turf/open/floor/mineral/plastitanium/red,
+/area/shuttle/escape)
+"iy" = (
+/obj/structure/railing/corner{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"iz" = (
+/obj/item/clothing/mask/muzzle,
+/obj/effect/turf_decal/siding/thinplating/terracotta{
+ dir = 5
+ },
+/obj/structure/railing{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/shuttle/escape/brig)
+"iK" = (
+/obj/machinery/door/airlock/titanium{
+ name = "Emergency Shuttle Airlock"
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"iV" = (
+/turf/open/floor/glass/plasma,
+/area/shuttle/escape)
+"jE" = (
+/obj/structure/chair/sofa/corp/right{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblue,
+/area/shuttle/escape)
+"jS" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 9
+ },
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 10
+ },
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 9
+ },
+/turf/open/floor/plating/snowed/standard_air,
+/area/shuttle/escape)
+"ke" = (
+/obj/structure/sign/warning/biohazard/directional/north,
+/turf/open/floor/mineral/bananium,
+/area/shuttle/escape)
+"kk" = (
+/obj/effect/spawner/random/trash,
+/turf/open/floor/engine,
+/area/shuttle/escape)
+"kz" = (
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"kA" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/effect/spawner/random/biome_mob/clown,
+/turf/open/floor/mineral/bananium,
+/area/shuttle/escape)
+"kO" = (
+/obj/item/food/grown/banana,
+/obj/effect/turf_decal/siding/wood,
+/obj/structure/flora/bush/flowers_pp/style_random,
+/obj/effect/spawner/random/biome_mob/jungle/shuttle_only,
+/turf/open/misc/grass/jungle/station,
+/area/shuttle/escape)
+"ld" = (
+/obj/machinery/light/directional/west,
+/turf/open/floor/mineral/plastitanium/red,
+/area/shuttle/escape/brig)
+"lo" = (
+/obj/structure/railing/corner{
+ dir = 1
+ },
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"lr" = (
+/obj/structure/flora/grass/green/style_3,
+/obj/effect/turf_decal/siding/thinplating,
+/turf/open/misc/asteroid/snow/standard_air,
+/area/shuttle/escape)
+"lx" = (
+/obj/effect/spawner/random/biome_mob/maint/shuttle_only,
+/turf/open/floor/plating/elevatorshaft,
+/area/shuttle/escape)
+"ly" = (
+/obj/structure/flora/bush/jungle/b/style_random,
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 10
+ },
+/turf/open/misc/ironsand,
+/area/shuttle/escape)
+"lB" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 6
+ },
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 5
+ },
+/turf/open/floor/fakeice,
+/area/shuttle/escape)
+"lV" = (
+/obj/structure/railing/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"mc" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/thinplating/dark{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblue,
+/area/shuttle/escape)
+"mm" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 4
+ },
+/turf/open/floor/grass/fairy,
+/area/shuttle/escape)
+"mn" = (
+/obj/structure/stone_tile{
+ dir = 4
+ },
+/turf/open/misc/basalt/safe,
+/area/shuttle/escape)
+"mt" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 10
+ },
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 4
+ },
+/obj/effect/spawner/random/biome_mob/snow/shuttle_only,
+/turf/open/floor/plating/snowed/standard_air,
+/area/shuttle/escape)
+"mz" = (
+/obj/effect/spawner/structure/window/reinforced/shuttle,
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"mF" = (
+/obj/structure/table/reinforced/titaniumglass,
+/obj/item/storage/fancy/donut_box,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"mG" = (
+/obj/structure/table/reinforced/titaniumglass,
+/obj/machinery/recharger,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"mT" = (
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"nf" = (
+/obj/structure/railing/unbreakable{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"ni" = (
+/obj/structure/railing/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"nx" = (
+/obj/structure/flora/bush/stalky/style_random,
+/turf/open/misc/beach/coast,
+/area/shuttle/escape)
+"oc" = (
+/obj/structure/flora/rock/pile/siderite/style_random,
+/turf/open/misc/asteroid/basalt/smooth/siderite,
+/area/shuttle/escape)
+"ok" = (
+/obj/item/clothing/suit/jacket/straight_jacket,
+/obj/effect/turf_decal/siding/thinplating/terracotta{
+ dir = 4
+ },
+/obj/structure/railing{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/shuttle/escape/brig)
+"oz" = (
+/obj/structure/railing/corner,
+/turf/open/floor/mineral/plastitanium/red,
+/area/shuttle/escape/brig)
+"oB" = (
+/obj/structure/railing/corner{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"oI" = (
+/obj/machinery/light/directional/west,
+/obj/item/kirbyplants/organic/plant21,
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"pg" = (
+/turf/open/misc/basalt/safe,
+/area/shuttle/escape)
+"pp" = (
+/obj/effect/spawner/random/biome_mob/lavaland/shuttle_only,
+/turf/open/misc/asteroid/basalt/smooth/siderite,
+/area/shuttle/escape)
+"pw" = (
+/obj/machinery/door/airlock/external/ruin{
+ name = "Emergency Recovery Airlock"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"pC" = (
+/obj/effect/turf_decal/sand/volcanic,
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/obj/structure/flora/bush/stalky/style_random,
+/turf/open/misc/dirt/dark/station,
+/area/shuttle/escape)
+"pI" = (
+/obj/item/kirbyplants/organic/plant21,
+/obj/structure/railing/unbreakable{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"qj" = (
+/obj/machinery/computer/station_alert{
+ dir = 8
+ },
+/obj/structure/extinguisher_cabinet/directional/east,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"qr" = (
+/obj/machinery/disposal/delivery_chute{
+ dir = 8
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/full,
+/obj/machinery/light/directional/east,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"qx" = (
+/obj/structure/railing/unbreakable{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"qG" = (
+/obj/structure/flora/bush/sparsegrass/style_2,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 5
+ },
+/obj/machinery/hydroponics/soil/rich,
+/obj/effect/turf_decal/siding/thinplating,
+/turf/open/misc/ironsand,
+/area/shuttle/escape)
+"qW" = (
+/obj/item/kirbyplants/organic/plant21,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"rH" = (
+/obj/structure/sign/warning/vacuum,
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/escape)
+"rV" = (
+/obj/structure/chair/comfy/shuttle,
+/obj/item/fishing_rod,
+/obj/structure/railing/unbreakable,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"sb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"sd" = (
+/obj/effect/spawner/random/biome_mob/hostile/shuttle_only,
+/turf/open/floor/glass/reinforced/plasma,
+/area/shuttle/escape)
+"si" = (
+/obj/structure/table,
+/obj/item/scalpel{
+ pixel_y = 12
+ },
+/obj/item/circular_saw,
+/obj/item/retractor{
+ pixel_x = 4
+ },
+/obj/item/hemostat{
+ pixel_x = -4
+ },
+/obj/item/clothing/gloves/latex,
+/obj/item/clothing/mask/surgical,
+/obj/item/surgicaldrill,
+/obj/item/cautery,
+/obj/machinery/light/directional/east,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"sw" = (
+/obj/effect/turf_decal/weather/sand{
+ dir = 1
+ },
+/obj/structure/flora/rock/pile/jungle/style_random,
+/obj/item/toy/beach_ball/branded,
+/turf/open/water/beach,
+/area/shuttle/escape)
+"sT" = (
+/obj/structure/closet/crate/critter,
+/obj/effect/spawner/random/biome_mob/maint/shuttle_only,
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"tE" = (
+/obj/machinery/suit_storage_unit/standard_unit,
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"tO" = (
+/obj/item/radio/intercom,
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/escape)
+"tW" = (
+/obj/structure/table/wood/fancy/purple,
+/obj/item/reagent_containers/cup/glass/drinkingglass{
+ pixel_x = -6;
+ pixel_y = 6
+ },
+/obj/item/reagent_containers/cup/glass/drinkingglass{
+ pixel_x = 3;
+ pixel_y = 12
+ },
+/obj/item/reagent_containers/cup/glass/drinkingglass{
+ pixel_x = 6;
+ pixel_y = 2
+ },
+/turf/open/floor/carpet/royalblue,
+/area/shuttle/escape)
+"vi" = (
+/obj/structure/table/optable,
+/obj/item/surgical_drapes,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"vl" = (
+/obj/machinery/door/airlock/titanium{
+ name = "Emergency Shuttle Airlock"
+ },
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"vv" = (
+/obj/structure/table/reinforced/titaniumglass,
+/obj/machinery/light/directional/north,
+/obj/structure/sign/nanotrasen/directional/north,
+/obj/item/lazarus_injector,
+/obj/item/lazarus_injector{
+ pixel_x = 8
+ },
+/obj/item/lazarus_injector{
+ pixel_x = 16
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"vD" = (
+/obj/structure/flora/tree/stump,
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 8
+ },
+/turf/open/misc/asteroid/snow/standard_air,
+/area/shuttle/escape)
+"vK" = (
+/obj/structure/flora/bush/lavendergrass/style_random,
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/obj/structure/flora/bush/jungle/b/style_random,
+/turf/open/misc/grass/jungle/station,
+/area/shuttle/escape)
+"vL" = (
+/obj/structure/sign/warning/biohazard/directional/south,
+/turf/open/floor/mineral/bananium,
+/area/shuttle/escape)
+"vQ" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/structure/flora/bush/fullgrass/style_random,
+/turf/open/misc/grass/jungle/station,
+/area/shuttle/escape)
+"vT" = (
+/obj/machinery/computer/emergency_shuttle{
+ dir = 8
+ },
+/obj/machinery/light/directional/east,
+/obj/machinery/status_display/ai/directional/east,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"wh" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 8
+ },
+/obj/machinery/light/directional/east,
+/turf/open/floor/mineral/plastitanium/red,
+/area/shuttle/escape/brig)
+"wv" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"wK" = (
+/obj/structure/sign/departments/medbay/alt,
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/escape)
+"wY" = (
+/obj/item/kirbyplants/organic/plant21,
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"xc" = (
+/obj/structure/flora/bush/pointy/style_random,
+/obj/structure/flora/bush/flowers_br/style_random,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 9
+ },
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 6
+ },
+/turf/open/misc/ironsand,
+/area/shuttle/escape)
+"xg" = (
+/obj/item/book/manual/wiki/security_space_law{
+ pixel_x = 3;
+ pixel_y = 4
+ },
+/obj/item/book/manual/wiki/security_space_law{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/item/clothing/head/collectable/police,
+/obj/structure/table/reinforced,
+/obj/structure/railing{
+ dir = 4
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/shuttle/escape/brig)
+"xj" = (
+/obj/structure/railing/corner,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"xl" = (
+/obj/structure/table,
+/obj/item/storage/medkit/regular{
+ pixel_x = 5;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/fire,
+/obj/item/storage/medkit/toxin{
+ pixel_x = -3
+ },
+/obj/item/storage/medkit/o2{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"xt" = (
+/obj/structure/railing/unbreakable,
+/turf/open/floor/mineral/titanium/white,
+/area/shuttle/escape)
+"xI" = (
+/turf/open/floor/glass,
+/area/shuttle/escape)
+"yc" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "misclab";
+ name = "Test Chamber Blast Door"
+ },
+/obj/effect/spawner/structure/window/reinforced/plasma,
+/turf/open/floor/engine,
+/area/shuttle/escape)
+"yg" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"yl" = (
+/obj/structure/flora/bush/sparsegrass/style_2,
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/turf/open/floor/grass,
+/area/shuttle/escape)
+"yo" = (
+/obj/structure/flora/ash/fireblossom,
+/turf/open/misc/asteroid/basalt/smooth/siderite,
+/area/shuttle/escape)
+"yy" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/turf/open/floor/grass,
+/area/shuttle/escape)
+"yF" = (
+/obj/structure/flora/rock/pile/style_2,
+/obj/structure/flora/bush/sparsegrass/style_random,
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/turf/open/misc/dirt/dark/station,
+/area/shuttle/escape)
+"yH" = (
+/obj/effect/turf_decal/siding/thinplating/terracotta{
+ dir = 8
+ },
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/shuttle/escape/brig)
+"yJ" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 9
+ },
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 6
+ },
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 6
+ },
+/turf/open/floor/fakeice,
+/area/shuttle/escape)
+"zc" = (
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/shuttle/escape/brig)
+"zp" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 1
+ },
+/obj/effect/turf_decal/bot,
+/obj/structure/railing/unbreakable{
+ dir = 1
+ },
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"zD" = (
+/obj/structure/sign/warning,
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/escape)
+"zG" = (
+/obj/machinery/wall_healer/free,
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/escape)
+"Ab" = (
+/obj/structure/flora/bush/fullgrass/style_random,
+/obj/effect/spawner/random/biome_mob/jungle/shuttle_only,
+/turf/open/misc/grass/jungle/station,
+/area/shuttle/escape)
+"Af" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot,
+/obj/structure/railing/unbreakable{
+ dir = 8
+ },
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"Aw" = (
+/obj/effect/turf_decal/sand/plating/volcanic,
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/structure/water_source/puddle,
+/obj/item/reagent_containers/cup/bucket/wooden{
+ pixel_y = 6;
+ pixel_x = 10
+ },
+/obj/effect/spawner/random/biome_mob/grass/shuttle_only,
+/turf/open/misc/dirt/dark/station,
+/area/shuttle/escape)
+"AA" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/flora/bush/reed/style_random,
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/hay,
+/area/shuttle/escape)
+"AS" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/shuttle/escape/brig)
+"Bb" = (
+/obj/structure/flora/bush/sparsegrass/style_random,
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/obj/structure/flora/bush/jungle/c/style_random,
+/turf/open/misc/grass/jungle/station,
+/area/shuttle/escape)
+"Bf" = (
+/obj/structure/flora/rock/pile/style_3,
+/obj/effect/turf_decal/weather/sand{
+ dir = 9
+ },
+/obj/effect/turf_decal/weather/dirt,
+/obj/structure/beebox/premade/random,
+/turf/open/misc/sandy_dirt,
+/area/shuttle/escape)
+"Bj" = (
+/turf/template_noop,
+/area/template_noop)
+"Bv" = (
+/obj/effect/turf_decal/siding/thinplating/dark,
+/turf/open/floor/carpet/royalblue,
+/area/shuttle/escape)
+"BY" = (
+/obj/effect/spawner/random/biome_mob/hostile/shuttle_only,
+/turf/open/floor/glass/plasma,
+/area/shuttle/escape)
+"Cf" = (
+/obj/structure/railing/unbreakable{
+ dir = 1
+ },
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"Cg" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/hay,
+/area/shuttle/escape)
+"Ch" = (
+/obj/structure/railing/unbreakable,
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"Ci" = (
+/obj/structure/railing/corner,
+/turf/open/floor/mineral/titanium/white,
+/area/shuttle/escape)
+"Cz" = (
+/obj/effect/spawner/random/biome_mob/beach/shuttle_only,
+/turf/open/water/beach,
+/area/shuttle/escape)
+"CP" = (
+/obj/machinery/light/directional/west,
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"Dc" = (
+/obj/structure/sign/warning/biohazard/directional/west,
+/turf/open/floor/mineral/bananium,
+/area/shuttle/escape)
+"Dv" = (
+/obj/machinery/power/shuttle_engine/heater{
+ dir = 8
+ },
+/obj/structure/window/reinforced/plasma/spawner/directional/east,
+/turf/open/floor/plating/airless,
+/area/shuttle/escape)
+"DA" = (
+/obj/effect/turf_decal/siding/thinplating/terracotta{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/shuttle/escape/brig)
+"DO" = (
+/obj/docking_port/mobile/emergency{
+ dir = 2;
+ name = "Ark emergency shuttle"
+ },
+/obj/machinery/door/airlock/titanium{
+ name = "Emergency Shuttle Airlock"
+ },
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"DR" = (
+/obj/structure/chair/comfy/shuttle,
+/obj/effect/turf_decal/bot,
+/obj/structure/railing/unbreakable,
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"Ei" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 4
+ },
+/obj/effect/spawner/random/biome_mob/snow/shuttle_only,
+/turf/open/floor/fakeice,
+/area/shuttle/escape)
+"Ep" = (
+/obj/structure/sign/poster/random,
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/escape)
+"Ew" = (
+/obj/structure/table/wood/fancy/purple,
+/obj/item/storage/fancy/cigarettes/cigars{
+ pixel_y = 5
+ },
+/obj/item/lighter,
+/turf/open/floor/carpet/royalblue,
+/area/shuttle/escape)
+"EQ" = (
+/obj/structure/railing/unbreakable{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"EW" = (
+/obj/effect/turf_decal/siding/thinplating/dark{
+ dir = 6
+ },
+/turf/open/floor/carpet/royalblue,
+/area/shuttle/escape)
+"Fi" = (
+/turf/open/floor/mineral/titanium/white,
+/area/shuttle/escape)
+"Fl" = (
+/obj/structure/railing/corner{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"Fv" = (
+/obj/structure/flora/grass/jungle/a/style_2,
+/turf/open/misc/grass/jungle/station,
+/area/shuttle/escape)
+"FG" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"FJ" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/turf/open/floor/grass,
+/area/shuttle/escape)
+"FZ" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot,
+/obj/structure/railing/unbreakable{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"Gs" = (
+/turf/open/floor/mineral/bananium,
+/area/shuttle/escape)
+"Gz" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 9
+ },
+/turf/open/floor/grass/fairy,
+/area/shuttle/escape)
+"Hl" = (
+/turf/open/floor/glass/reinforced,
+/area/shuttle/escape)
+"Hu" = (
+/obj/effect/turf_decal/caution,
+/obj/structure/railing/corner{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"HS" = (
+/obj/structure/railing/corner{
+ dir = 8
+ },
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"HZ" = (
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 5
+ },
+/turf/open/floor/grass/fairy,
+/area/shuttle/escape)
+"Ih" = (
+/obj/machinery/power/shuttle_engine/propulsion{
+ dir = 8
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/escape)
+"JA" = (
+/obj/structure/railing/unbreakable{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"JR" = (
+/obj/machinery/light/directional/west,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"JZ" = (
+/obj/machinery/computer/communications{
+ dir = 8
+ },
+/obj/item/radio/intercom/directional/east,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"KB" = (
+/obj/effect/spawner/random/trash,
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"KG" = (
+/obj/structure/chair/sofa/corp/left,
+/turf/open/floor/carpet/royalblue,
+/area/shuttle/escape)
+"Lb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/loading_area{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"Ll" = (
+/obj/structure/stone_tile/block/cracked{
+ dir = 8
+ },
+/obj/effect/spawner/random/biome_mob/lavaland/shuttle_only,
+/turf/open/misc/basalt/safe,
+/area/shuttle/escape)
+"Lv" = (
+/obj/machinery/stasis,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"Lz" = (
+/obj/structure/railing/unbreakable{
+ dir = 8
+ },
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"LB" = (
+/obj/effect/turf_decal/siding/thinplating/dark{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblue,
+/area/shuttle/escape)
+"LL" = (
+/obj/item/food/syndicake,
+/turf/open/floor/mineral/plastitanium/red,
+/area/shuttle/escape/brig)
+"LW" = (
+/obj/structure/railing/corner{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"LY" = (
+/obj/item/cultivator/rake,
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"Mb" = (
+/turf/open/floor/carpet/royalblue,
+/area/shuttle/escape)
+"MO" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "misclab";
+ name = "Test Chamber Blast Door"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/spawner/structure/window/reinforced/plasma,
+/turf/open/floor/engine,
+/area/shuttle/escape)
+"MS" = (
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/shuttle/escape)
+"MT" = (
+/obj/structure/flora/bush/flowers_br,
+/obj/structure/bedsheetbin/empty/basket,
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/turf/open/floor/grass,
+/area/shuttle/escape)
+"MX" = (
+/obj/structure/table,
+/obj/item/reagent_containers/cup/bottle/epinephrine{
+ pixel_x = 6
+ },
+/obj/item/reagent_containers/cup/bottle/multiver{
+ pixel_x = -3
+ },
+/obj/item/reagent_containers/cup/bottle/epinephrine{
+ pixel_x = -3;
+ pixel_y = 8
+ },
+/obj/item/reagent_containers/cup/bottle/multiver{
+ pixel_x = 6;
+ pixel_y = 8
+ },
+/obj/item/reagent_containers/syringe/epinephrine{
+ pixel_x = 3;
+ pixel_y = -2
+ },
+/obj/item/reagent_containers/syringe/epinephrine{
+ pixel_x = 4;
+ pixel_y = 1
+ },
+/obj/item/reagent_containers/syringe/epinephrine{
+ pixel_x = -2;
+ pixel_y = 5
+ },
+/obj/item/reagent_containers/syringe/epinephrine{
+ pixel_x = 2;
+ pixel_y = 8
+ },
+/obj/machinery/wall_healer/free/directional/east,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"Ne" = (
+/obj/effect/turf_decal/siding/thinplating/dark{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblue,
+/area/shuttle/escape)
+"Ny" = (
+/obj/machinery/recharger{
+ active_power_usage = 0;
+ idle_power_usage = 0;
+ use_power = 0
+ },
+/obj/structure/table/reinforced,
+/obj/item/radio/intercom/directional/south,
+/turf/open/floor/mineral/plastitanium/red,
+/area/shuttle/escape/brig)
+"NJ" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 4
+ },
+/obj/effect/turf_decal/bot,
+/obj/structure/railing/unbreakable{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"NN" = (
+/obj/effect/spawner/random/biome_mob/lavaland/shuttle_only,
+/turf/open/lava/smooth/weak,
+/area/shuttle/escape)
+"NU" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/structure/flora/bush/flowers_pp/style_random,
+/obj/structure/flora/bush/style_random,
+/turf/open/misc/grass/jungle/station,
+/area/shuttle/escape)
+"NV" = (
+/obj/structure/railing/unbreakable{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"Oa" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 1
+ },
+/obj/item/fishing_rod,
+/obj/structure/railing/unbreakable{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"Ow" = (
+/obj/structure/flora/ash/stem_shroom,
+/turf/open/misc/basalt/safe,
+/area/shuttle/escape)
+"Pb" = (
+/turf/open/water/deep_beach,
+/area/shuttle/escape)
+"Pf" = (
+/obj/structure/railing/unbreakable{
+ dir = 4
+ },
+/turf/open/floor/mineral/titanium/white,
+/area/shuttle/escape)
+"Pu" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/siding/thinplating/terracotta{
+ dir = 9
+ },
+/obj/structure/railing{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/shuttle/escape/brig)
+"PF" = (
+/obj/machinery/light/directional/east,
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"PM" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/obj/structure/flora/bush/flowers_pp/style_random,
+/turf/open/misc/dirt/dark/station,
+/area/shuttle/escape)
+"PP" = (
+/obj/effect/spawner/random/biome_mob/hostile/shuttle_only,
+/turf/open/floor/glass,
+/area/shuttle/escape)
+"PQ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/bed/maint,
+/turf/open/floor/plating,
+/area/shuttle/escape/brig)
+"PS" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 5
+ },
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 1
+ },
+/turf/open/floor/plating/snowed/standard_air,
+/area/shuttle/escape)
+"Qk" = (
+/obj/effect/spawner/random/biome_mob/fairy/shuttle_only,
+/turf/open/floor/grass/fairy,
+/area/shuttle/escape)
+"Qt" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot,
+/obj/structure/railing/unbreakable{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"QR" = (
+/obj/structure/railing/corner{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"QY" = (
+/obj/effect/spawner/random/biome_mob/hostile/shuttle_only,
+/turf/open/floor/glass/reinforced,
+/area/shuttle/escape)
+"Ru" = (
+/obj/structure/chair/comfy/shuttle,
+/turf/open/floor/mineral/plastitanium/red,
+/area/shuttle/escape/brig)
+"Rx" = (
+/obj/structure/railing/unbreakable{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/white,
+/area/shuttle/escape)
+"RQ" = (
+/obj/structure/flora/bush/flowers_yw/style_random,
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/turf/open/floor/hay,
+/area/shuttle/escape)
+"RZ" = (
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"Sb" = (
+/obj/structure/flora/bush/pale/style_random,
+/obj/effect/turf_decal/weather/sand{
+ dir = 5
+ },
+/obj/effect/turf_decal/weather/dirt,
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 4
+ },
+/turf/open/misc/sandy_dirt,
+/area/shuttle/escape)
+"Sk" = (
+/obj/structure/flora/bush/snow/style_random,
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 10
+ },
+/turf/open/misc/asteroid/snow/standard_air,
+/area/shuttle/escape)
+"Sl" = (
+/obj/structure/railing,
+/turf/open/floor/mineral/plastitanium/red,
+/area/shuttle/escape/brig)
+"Sm" = (
+/obj/item/clothing/shoes/sandal/beach,
+/turf/open/misc/beach/sand,
+/area/shuttle/escape)
+"SK" = (
+/obj/effect/turf_decal/siding/thinplating/dark{
+ dir = 5
+ },
+/turf/open/floor/carpet/royalblue,
+/area/shuttle/escape)
+"Ty" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 8
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/shuttle/escape/brig)
+"TU" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 1
+ },
+/obj/effect/turf_decal/bot,
+/obj/structure/railing/unbreakable{
+ dir = 1
+ },
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"Uu" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/escape)
+"UA" = (
+/obj/structure/flora/bush/flowers_br,
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 8
+ },
+/turf/open/misc/ironsand,
+/area/shuttle/escape)
+"Ve" = (
+/obj/effect/turf_decal/caution,
+/obj/structure/railing/corner,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"Vl" = (
+/obj/effect/spawner/random/biome_mob/maint/shuttle_only,
+/turf/open/floor/engine,
+/area/shuttle/escape)
+"VQ" = (
+/obj/machinery/light/directional/east,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"VT" = (
+/obj/structure/railing/corner,
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"VU" = (
+/obj/machinery/light/directional/west,
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"Wi" = (
+/obj/structure/table/wood/fancy/purple,
+/obj/item/reagent_containers/cup/glass/bottle/rum{
+ pixel_x = -5;
+ pixel_y = 7
+ },
+/obj/item/reagent_containers/cup/glass/bottle/whiskey{
+ pixel_y = 4
+ },
+/obj/item/reagent_containers/cup/glass/bottle/amaretto{
+ pixel_x = 7;
+ pixel_y = 5
+ },
+/turf/open/floor/carpet/royalblue,
+/area/shuttle/escape)
+"Wp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/mineral/bananium,
+/area/shuttle/escape)
+"Ws" = (
+/obj/structure/flora/bush/pale/style_random,
+/obj/structure/flora/bush/ferny/style_random,
+/obj/structure/flora/bush/fullgrass/style_random,
+/obj/structure/flora/bush/flowers_br/style_random,
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/grass,
+/area/shuttle/escape)
+"WE" = (
+/obj/machinery/light/directional/east,
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"WM" = (
+/obj/machinery/status_display/evac,
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/escape)
+"Xa" = (
+/obj/machinery/door/airlock/external/ruin{
+ name = "Emergency Recovery Airlock"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"Xi" = (
+/obj/structure/extinguisher_cabinet,
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/escape)
+"Xl" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 10
+ },
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 5
+ },
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 4
+ },
+/turf/open/floor/fakeice,
+/area/shuttle/escape)
+"Xr" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 4
+ },
+/obj/effect/turf_decal/bot,
+/obj/structure/railing/unbreakable{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"Xv" = (
+/obj/structure/railing/unbreakable{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"XR" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/effect/turf_decal/bot,
+/obj/structure/railing/unbreakable{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"XW" = (
+/obj/machinery/door/window/brigdoor/security,
+/turf/open/floor/mineral/plastitanium/red,
+/area/shuttle/escape/brig)
+"XY" = (
+/obj/machinery/shower/directional/south,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"Yc" = (
+/obj/structure/chair/comfy/shuttle,
+/obj/effect/turf_decal/bot,
+/obj/structure/railing/unbreakable,
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"Yp" = (
+/obj/effect/turf_decal/siding/thinplating,
+/turf/open/floor/plating/elevatorshaft,
+/area/shuttle/escape)
+"YC" = (
+/obj/item/kirbyplants/organic/plant21,
+/obj/structure/railing/unbreakable{
+ dir = 8
+ },
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"YE" = (
+/obj/structure/flora/bush/flowers_pp/style_random,
+/obj/effect/turf_decal/siding/thinplating{
+ dir = 8
+ },
+/turf/open/floor/grass/fairy,
+/area/shuttle/escape)
+"YF" = (
+/obj/structure/railing/unbreakable,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"YS" = (
+/obj/effect/spawner/random/biome_mob/grass/shuttle_only,
+/turf/open/floor/hay,
+/area/shuttle/escape)
+"YX" = (
+/obj/structure/flora/bush/sparsegrass/style_random,
+/obj/effect/turf_decal/siding/wood,
+/turf/open/misc/dirt/dark/station,
+/area/shuttle/escape)
+"Zj" = (
+/obj/structure/railing/corner,
+/turf/open/floor/iron/smooth,
+/area/shuttle/escape)
+"Zn" = (
+/obj/structure/table/reinforced/titaniumglass,
+/obj/item/storage/medkit/regular,
+/obj/machinery/status_display/evac/directional/north,
+/turf/open/floor/iron/dark,
+/area/shuttle/escape)
+"Zp" = (
+/obj/machinery/light/directional/east,
+/obj/item/kirbyplants/organic/plant21,
+/turf/open/floor/wood,
+/area/shuttle/escape)
+"Zv" = (
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/plating,
+/area/shuttle/escape)
+
+(1,1,1) = {"
+Bj
+Bj
+Bj
+Ih
+Ih
+Ih
+Bj
+Uu
+rH
+Xa
+rH
+Uu
+Bj
+Ih
+Ih
+Ih
+Bj
+Bj
+Bj
+"}
+(2,1,1) = {"
+Bj
+Bj
+Uu
+Dv
+Dv
+Dv
+Uu
+Uu
+tE
+mT
+ck
+Uu
+Uu
+Dv
+Dv
+Dv
+Uu
+Bj
+Bj
+"}
+(3,1,1) = {"
+Bj
+Uu
+Uu
+Uu
+Uu
+Uu
+Uu
+Uu
+rH
+pw
+rH
+Uu
+Uu
+Uu
+Uu
+Uu
+Uu
+Uu
+Bj
+"}
+(4,1,1) = {"
+Bj
+Uu
+gE
+Yp
+XR
+Uu
+KB
+mT
+mT
+mT
+mT
+mT
+mT
+Zv
+Ch
+MS
+kk
+Uu
+Bj
+"}
+(5,1,1) = {"
+Bj
+Uu
+lx
+Yp
+JA
+gM
+mT
+Uu
+Uu
+Uu
+Uu
+Uu
+mT
+Uu
+aI
+MS
+Vl
+Uu
+Bj
+"}
+(6,1,1) = {"
+Uu
+Uu
+Xi
+Uu
+wv
+Uu
+mT
+Uu
+Gs
+Dc
+Gs
+Uu
+mT
+Uu
+Uu
+Uu
+Xi
+Uu
+Uu
+"}
+(7,1,1) = {"
+Uu
+qW
+JR
+aj
+aj
+Uu
+LY
+Uu
+ke
+kA
+vL
+Uu
+mT
+Uu
+aj
+aj
+JR
+qW
+Uu
+"}
+(8,1,1) = {"
+Uu
+Xr
+Xr
+oB
+aj
+Uu
+sT
+Uu
+Gs
+Wp
+Gs
+Uu
+mT
+wv
+aj
+xj
+Xr
+Xr
+Uu
+"}
+(9,1,1) = {"
+mz
+iV
+iV
+EQ
+aj
+Uu
+Uu
+zD
+yc
+MO
+yc
+zD
+Uu
+Uu
+aj
+YF
+xI
+xI
+mz
+"}
+(10,1,1) = {"
+mz
+BY
+iV
+EQ
+aj
+aj
+aj
+aY
+FG
+yg
+FG
+dF
+aj
+aj
+aj
+YF
+xI
+PP
+mz
+"}
+(11,1,1) = {"
+mz
+iV
+iV
+EQ
+xj
+nf
+nf
+nf
+Hu
+sb
+Ve
+nf
+nf
+nf
+oB
+YF
+xI
+xI
+mz
+"}
+(12,1,1) = {"
+Uu
+FZ
+FZ
+lV
+cu
+Hl
+Hl
+Hl
+ic
+Lb
+cu
+dh
+dh
+dh
+ic
+LW
+FZ
+FZ
+Uu
+"}
+(13,1,1) = {"
+iK
+aj
+VQ
+aj
+cu
+Hl
+QY
+Hl
+ic
+qr
+cu
+dh
+sd
+dh
+ic
+aj
+VQ
+qW
+Uu
+"}
+(14,1,1) = {"
+Uu
+Uu
+Xi
+ga
+Uu
+Uu
+Ep
+Uu
+tO
+WM
+zG
+Uu
+Ep
+Uu
+wK
+cV
+Xi
+wK
+Uu
+"}
+(15,1,1) = {"
+ga
+RZ
+VU
+RZ
+DR
+aS
+YS
+AA
+zp
+oI
+DR
+NU
+Ab
+wK
+xl
+Fi
+dc
+Lv
+Uu
+"}
+(16,1,1) = {"
+Uu
+NJ
+NJ
+QR
+DR
+RQ
+Cg
+dd
+zp
+RZ
+DR
+ct
+vK
+Uu
+bG
+Ci
+Pf
+Pf
+Uu
+"}
+(17,1,1) = {"
+mz
+ep
+PM
+fs
+HS
+Lz
+Lz
+Lz
+lo
+RZ
+HS
+Lz
+YC
+mz
+Fi
+xt
+Gz
+YE
+mz
+"}
+(18,1,1) = {"
+mz
+Aw
+YX
+fs
+RZ
+RZ
+RZ
+RZ
+RZ
+RZ
+RZ
+RZ
+RZ
+cV
+Fi
+xt
+dp
+Qk
+mz
+"}
+(19,1,1) = {"
+mz
+pC
+yF
+fs
+VT
+qx
+qx
+qx
+QR
+RZ
+VT
+qx
+hW
+mz
+Fi
+xt
+HZ
+mm
+mz
+"}
+(20,1,1) = {"
+Uu
+Af
+Af
+lo
+DR
+yy
+yl
+FJ
+zp
+RZ
+DR
+vQ
+Bb
+Uu
+XY
+eH
+Rx
+Rx
+Uu
+"}
+(21,1,1) = {"
+DO
+RZ
+WE
+RZ
+DR
+MT
+bT
+Ws
+zp
+Zp
+DR
+Fv
+kO
+wK
+MX
+Fi
+si
+vi
+Uu
+"}
+(22,1,1) = {"
+Uu
+Uu
+Xi
+ga
+Uu
+Uu
+Ep
+Uu
+zG
+WM
+tO
+Uu
+Ep
+Uu
+Uu
+it
+Xi
+Uu
+Uu
+"}
+(23,1,1) = {"
+vl
+kz
+CP
+kz
+Yc
+cb
+Ei
+dr
+TU
+hX
+Yc
+oc
+pp
+Uu
+Ru
+dy
+ld
+Ny
+Uu
+"}
+(24,1,1) = {"
+Uu
+fS
+fS
+Fl
+Yc
+lB
+Xl
+yJ
+TU
+kz
+Yc
+yo
+oc
+Uu
+Ru
+oz
+AS
+xg
+Uu
+"}
+(25,1,1) = {"
+mz
+UA
+ly
+Cf
+iy
+Xv
+Xv
+Xv
+ni
+kz
+iy
+Xv
+pI
+mz
+LL
+Sl
+Pu
+yH
+mz
+"}
+(26,1,1) = {"
+mz
+Bf
+qG
+Cf
+kz
+kz
+kz
+kz
+kz
+kz
+kz
+kz
+kz
+it
+dy
+XW
+DA
+PQ
+mz
+"}
+(27,1,1) = {"
+mz
+Sb
+xc
+Cf
+Zj
+NV
+NV
+NV
+Fl
+kz
+Zj
+NV
+en
+mz
+LL
+Sl
+iz
+ok
+mz
+"}
+(28,1,1) = {"
+Uu
+Qt
+Qt
+ni
+Yc
+jS
+vD
+Sk
+TU
+kz
+Yc
+pg
+Ow
+Uu
+dy
+eW
+zc
+zc
+Uu
+"}
+(29,1,1) = {"
+Uu
+wY
+PF
+kz
+Yc
+PS
+mt
+lr
+TU
+kz
+Yc
+mn
+Ll
+Uu
+Ty
+Ty
+wh
+Ty
+Uu
+"}
+(30,1,1) = {"
+Uu
+Uu
+Xi
+Uu
+Uu
+Uu
+Uu
+Uu
+Uu
+vl
+Uu
+Uu
+Uu
+Uu
+Uu
+Uu
+Xi
+Uu
+Uu
+"}
+(31,1,1) = {"
+Bj
+Bj
+mz
+hg
+hg
+Oa
+Ne
+Mb
+Mb
+Mb
+Mb
+Mb
+Bv
+rV
+nx
+Pb
+mz
+Bj
+Bj
+"}
+(32,1,1) = {"
+Bj
+Bj
+mz
+NN
+hg
+Oa
+Ne
+aX
+et
+et
+et
+cF
+Bv
+rV
+cw
+Cz
+mz
+Bj
+Bj
+"}
+(33,1,1) = {"
+Bj
+Bj
+mz
+hg
+hg
+Oa
+Ne
+KG
+Ew
+tW
+Wi
+jE
+Bv
+rV
+Sm
+sw
+mz
+Bj
+Bj
+"}
+(34,1,1) = {"
+Bj
+Bj
+Uu
+Uu
+Uu
+vv
+SK
+LB
+LB
+mc
+LB
+LB
+EW
+cO
+Uu
+Uu
+Uu
+Bj
+Bj
+"}
+(35,1,1) = {"
+Bj
+Bj
+Bj
+Bj
+Uu
+Zn
+mG
+qW
+JZ
+vT
+qj
+qW
+mF
+fm
+Uu
+Bj
+Bj
+Bj
+Bj
+"}
+(36,1,1) = {"
+Bj
+Bj
+Bj
+Bj
+Uu
+mz
+mz
+mz
+Uu
+Uu
+Uu
+mz
+mz
+mz
+Uu
+Bj
+Bj
+Bj
+Bj
+"}
diff --git a/build/behavior_trees/code/datums/ai/generic_subtrees/find_stealable_object.bt.compiled.json b/build/behavior_trees/code/datums/ai/generic_subtrees/find_stealable_object.bt.compiled.json
index d19c824e1cb9..3d5a35f390ed 100644
--- a/build/behavior_trees/code/datums/ai/generic_subtrees/find_stealable_object.bt.compiled.json
+++ b/build/behavior_trees/code/datums/ai/generic_subtrees/find_stealable_object.bt.compiled.json
@@ -1 +1 @@
-{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/decorator/is_dragging","children":[{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/decorator/random_chance_from_key","children":[{"type":"/datum/bt_node/ai_behavior/stop_dragging"}],"chance_key":"guilty_concious_rate"},{"type":"/datum/bt_node/ai_behavior/succeed"}]}]},{"type":"/datum/bt_node/decorator/bb_key_true","children":[{"type":"/datum/bt_node/decorator/random_chance_from_key","children":[{"type":"/datum/bt_node/ai_behavior/set_bb_key","target_key":"BB_WANTS_TO_COMMIT_THEFT","value":true}],"chance_key":"steal_chance"}],"invert":true,"key":"BB_WANTS_TO_COMMIT_THEFT"},{"type":"/datum/bt_node/decorator/bb_key_true","children":[{"type":"/datum/bt_node/ai_behavior/succeed"}],"invert":true,"key":"BB_WANTS_TO_COMMIT_THEFT"},{"type":"/datum/bt_node/composite/sequence","children":[{"type":"/datum/bt_node/ai_behavior/acquire_target/update_interaction_target","target_key":"item_to_steal","targeting_strategy":"/datum/targeting_strategy/pickup_item/stealable_item","target_source":"/datum/target_source/oview","must_be_reachable":true},{"type":"/datum/bt_node/ai_behavior/set_bb_key","target_key":"BB_WANTS_TO_COMMIT_THEFT","value":false}]}]}
+{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/decorator/is_dragging","children":[{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/decorator/random_chance_from_key","children":[{"type":"/datum/bt_node/ai_behavior/stop_dragging"}],"chance_key":"guilty_concious_rate"},{"type":"/datum/bt_node/ai_behavior/succeed"}]}]},{"type":"/datum/bt_node/decorator/bb_key_true","children":[{"type":"/datum/bt_node/decorator/random_chance_from_key","children":[{"type":"/datum/bt_node/ai_behavior/set_bb_key","target_key":"BB_WANTS_TO_COMMIT_THEFT","value":true}],"chance_key":"steal_chance"}],"invert":true,"key":"BB_WANTS_TO_COMMIT_THEFT"},{"type":"/datum/bt_node/decorator/bb_key_true","children":[{"type":"/datum/bt_node/ai_behavior/succeed"}],"invert":true,"key":"BB_WANTS_TO_COMMIT_THEFT"},{"type":"/datum/bt_node/composite/sequence","children":[{"type":"/datum/bt_node/ai_behavior/acquire_target/update_interaction_target","target_key":"item_to_steal","targeting_strategy":"/datum/targeting_strategy/pickup_item/stealable_item","target_priority_strategy":"/datum/target_priority_strategy/type_weighted","target_source":"/datum/target_source/oview_items","must_be_reachable":true,"minimum_distance":1},{"type":"/datum/bt_node/ai_behavior/set_bb_key","target_key":"BB_WANTS_TO_COMMIT_THEFT","value":false}]}]}
diff --git a/build/behavior_trees/code/modules/mob/living/basic/farm_animals/goose/forage_for_goose_food.bt.compiled.json b/build/behavior_trees/code/modules/mob/living/basic/farm_animals/goose/forage_for_goose_food.bt.compiled.json
index cf4d3d55a626..1f734aae2d9a 100644
--- a/build/behavior_trees/code/modules/mob/living/basic/farm_animals/goose/forage_for_goose_food.bt.compiled.json
+++ b/build/behavior_trees/code/modules/mob/living/basic/farm_animals/goose/forage_for_goose_food.bt.compiled.json
@@ -1 +1 @@
-{"type":"/datum/bt_node/ai_behavior/acquire_target/update_interaction_target","target_key":"BB_TARGET_FOOD","targeting_strategy":"/datum/targeting_strategy/goose_edible","target_source":"/datum/target_source/oview_items","vision_range":1}
+{"type":"/datum/bt_node/decorator/key_off_cooldown","children":[{"type":"/datum/bt_node/ai_behavior/acquire_target/update_interaction_target","target_key":"BB_TARGET_FOOD","targeting_strategy":"/datum/targeting_strategy/goose_edible","target_source":"/datum/target_source/oview_items","vision_range":4}],"observer_abort":1,"cooldown_key":"BB_next_food_eat"}
diff --git a/build/behavior_trees/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.bt.compiled.json b/build/behavior_trees/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.bt.compiled.json
index 2a1862e533d4..37675ef67f19 100644
--- a/build/behavior_trees/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.bt.compiled.json
+++ b/build/behavior_trees/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.bt.compiled.json
@@ -1 +1 @@
-{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/subtree/escape_captivity"},{"type":"","override_id":"pet_command"},{"type":"/datum/bt_node/composite/parallel","children":[{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/decorator/bb_key_set","children":[{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/subtree/run_away_from_target"},{"type":"/datum/bt_node/composite/parallel","children":[{"type":"/datum/bt_node/composite/subplan","children":[{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/ai_behavior/targeted_mob_ability","ability_key":"BB_TARGETED_action","target_key":"Current Target"},{"type":"/datum/bt_node/ai_behavior/attack_obstructions","target_key":"Current Target"},{"type":"/datum/bt_node/ai_behavior/basic_melee_attack","target_key":"Current Target","targeting_strategy":"targeting_strategy","hiding_location_key":"Current Target Hiding Location"}]}],"success_policy":1,"failure_policy":1},{"type":"/datum/bt_node/ai_behavior/move_to_target","target_key":"Current Target","required_dist":1,"finish_on_arrival":false},{"type":"/datum/bt_node/decorator/cooldown","children":[{"type":"/datum/bt_node/ai_behavior/call_reinforcements/mining"}],"cooldown_key":"BB_basic_mob_reinforcements_cooldown","cooldown_duration":300,"lock_on_succeed":true}],"failure_policy":1,"success_policy":0,"repeat_secondary":true,"finish_on_primary":true}]}],"observer_abort":3,"key":"Current Target"},{"type":"/datum/bt_node/subtree/random_walk"}]},{"type":"/datum/bt_node/subtree/random_speech_loop"},{"type":"/datum/bt_node/ai_behavior/acquire_target/update_combat_targets","target_key":"Current Target","targeting_strategy":"targeting_strategy","hiding_location_key":"Current Target Hiding Location"}],"failure_policy":0,"success_policy":0,"repeat_secondary":true,"repeat_secondary_delay":10,"finish_on_primary":true}]}
+{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/subtree/escape_captivity"},{"type":"","override_id":"pet_command"},{"type":"/datum/bt_node/composite/parallel","children":[{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/decorator/bb_key_set","children":[{"type":"/datum/bt_node/composite/parallel","children":[{"type":"/datum/bt_node/composite/parallel","children":[{"type":"/datum/bt_node/composite/subplan","children":[{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/ai_behavior/targeted_mob_ability","ability_key":"BB_TARGETED_action","target_key":"Current Target"},{"type":"/datum/bt_node/ai_behavior/attack_obstructions","target_key":"Current Target"},{"type":"/datum/bt_node/ai_behavior/basic_melee_attack","target_key":"Current Target","targeting_strategy":"targeting_strategy","hiding_location_key":"Current Target Hiding Location"}]}],"success_policy":1,"failure_policy":1},{"type":"/datum/bt_node/decorator/cooldown","children":[{"type":"/datum/bt_node/ai_behavior/call_reinforcements/mining"}],"cooldown_key":"BB_basic_mob_reinforcements_cooldown","cooldown_duration":300,"lock_on_succeed":true}],"failure_policy":1,"success_policy":0,"repeat_secondary":true,"repeat_secondary_delay":10,"finish_on_primary":true},{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/decorator/mob_stat_at_least","children":[{"type":"/datum/bt_node/ai_behavior/move_to_target","target_key":"Current Target","required_dist":1,"finish_on_arrival":false}],"observer_abort":1,"key":"Current Target","min_stat":1},{"type":"/datum/bt_node/decorator/mob_stat_at_least","children":[{"type":"/datum/bt_node/subtree/run_away_from_target"}],"observer_abort":1,"invert":true,"key":"Current Target","min_stat":1}]}],"failure_policy":1,"success_policy":0,"repeat_secondary":true,"finish_on_primary":true}],"observer_abort":3,"key":"Current Target"},{"type":"/datum/bt_node/subtree/random_walk"}]},{"type":"/datum/bt_node/subtree/random_speech_loop"},{"type":"/datum/bt_node/ai_behavior/acquire_target/update_combat_targets","target_key":"Current Target","targeting_strategy":"targeting_strategy","hiding_location_key":"Current Target Hiding Location"}],"failure_policy":0,"success_policy":0,"repeat_secondary":true,"repeat_secondary_delay":10,"finish_on_primary":true}]}
diff --git a/build/behavior_trees/code/modules/mob/living/basic/stoats/stoat.bt.compiled.json b/build/behavior_trees/code/modules/mob/living/basic/stoats/stoat.bt.compiled.json
index 8e3ac45c42c9..81ac52922aa4 100644
--- a/build/behavior_trees/code/modules/mob/living/basic/stoats/stoat.bt.compiled.json
+++ b/build/behavior_trees/code/modules/mob/living/basic/stoats/stoat.bt.compiled.json
@@ -1 +1 @@
-{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/subtree","override_id":"pet_command"},{"type":"/datum/bt_node/composite/parallel","children":[{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/decorator/bb_key_set","children":[{"type":"/datum/bt_node/composite/parallel","children":[{"type":"/datum/bt_node/composite/subplan","children":[{"type":"/datum/bt_node/ai_behavior/basic_melee_attack","target_key":"Current Target","targeting_strategy":"targeting_strategy","hiding_location_key":"Current Target Hiding Location"}],"success_policy":0,"failure_policy":1},{"type":"/datum/bt_node/ai_behavior/move_to_target","target_key":"Current Target","required_dist":1,"finish_on_arrival":false}],"failure_policy":1,"success_policy":0,"repeat_secondary":true,"finish_on_primary":true}],"key":"Current Target","observer_abort":1},{"type":"/datum/bt_node/subtree/move_to_and_eat"},{"type":"/datum/bt_node/subtree/make_babies"},{"type":"/datum/bt_node/decorator/is_dragging","children":[{"type":"/datum/bt_node/subtree/run_away_from_target","bindings":{"byk9gqj4":"BB_LAST_STOLEN_ITEM"}}],"observer_abort":1},{"type":"/datum/bt_node/subtree/steal_and_flee"},{"type":"/datum/bt_node/subtree/random_walk"}]},{"type":"/datum/bt_node/ai_behavior/acquire_target/update_combat_targets","target_key":"Current Target","targeting_strategy":"targeting_strategy","hiding_location_key":"Current Target Hiding Location"},{"type":"/datum/bt_node/subtree/random_speech_loop"},{"type":"/datum/bt_node/subtree/find_stealable_object"},{"type":"/datum/bt_node/subtree/find_food"},{"type":"/datum/bt_node/subtree/find_partner"}],"failure_policy":0,"success_policy":0,"repeat_secondary":true,"repeat_secondary_delay":10,"finish_on_primary":true}]}
+{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/subtree","override_id":"pet_command"},{"type":"/datum/bt_node/composite/parallel","children":[{"type":"/datum/bt_node/composite/selector","children":[{"type":"/datum/bt_node/decorator/bb_key_set","children":[{"type":"/datum/bt_node/composite/parallel","children":[{"type":"/datum/bt_node/composite/subplan","children":[{"type":"/datum/bt_node/ai_behavior/basic_melee_attack","target_key":"Current Target","targeting_strategy":"targeting_strategy","hiding_location_key":"Current Target Hiding Location"}],"success_policy":0,"failure_policy":1},{"type":"/datum/bt_node/ai_behavior/move_to_target","target_key":"Current Target","required_dist":1,"finish_on_arrival":false}],"failure_policy":1,"success_policy":0,"repeat_secondary":true,"finish_on_primary":true}],"key":"Current Target","observer_abort":3},{"type":"/datum/bt_node/subtree/move_to_and_eat"},{"type":"/datum/bt_node/subtree/make_babies"},{"type":"/datum/bt_node/decorator/is_dragging","children":[{"type":"/datum/bt_node/subtree/run_away_from_target","bindings":{"byk9gqj4":"BB_LAST_STOLEN_ITEM"}}],"observer_abort":1},{"type":"/datum/bt_node/subtree/steal_and_flee"},{"type":"/datum/bt_node/subtree/random_walk"}]},{"type":"/datum/bt_node/ai_behavior/acquire_target/update_combat_targets","target_key":"Current Target","targeting_strategy":"targeting_strategy","hiding_location_key":"Current Target Hiding Location"},{"type":"/datum/bt_node/subtree/random_speech_loop"},{"type":"/datum/bt_node/subtree/find_stealable_object"},{"type":"/datum/bt_node/subtree/find_food"},{"type":"/datum/bt_node/subtree/find_partner"}],"failure_policy":0,"success_policy":0,"repeat_secondary":true,"repeat_secondary_delay":10,"finish_on_primary":true}]}
diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm
index ee4db3838966..818f9b07c711 100644
--- a/code/__DEFINES/DNA.dm
+++ b/code/__DEFINES/DNA.dm
@@ -52,7 +52,6 @@
// Block tied
#define FEATURE_MUTANT_COLOR "mcolor"
-#define FEATURE_ETHEREAL_COLOR "ethcolor"
#define FEATURE_EARS "ears"
#define FEATURE_TAIL_CAT "tail_cat"
#define FEATURE_TAIL_LIZARD "tail_lizard"
diff --git a/code/__DEFINES/admin_verb.dm b/code/__DEFINES/admin_verb.dm
index 79d1fecb1095..e96944b04b35 100644
--- a/code/__DEFINES/admin_verb.dm
+++ b/code/__DEFINES/admin_verb.dm
@@ -9,12 +9,15 @@
* This is the only macro you should use to define admin verbs.
* It will define the verb and the verb holder for you.
* Using it is very simple:
- * ADMIN_VERB(verb_path, R_PERM, "Name", "Description", "Admin.Category", args...)
+ * ADMIN_VERB(verb_path, R_PERM, "Name", "Description", "Admin.Category")
* This sets up all of the above and also acts as syntatic sugar as a verb delcaration for the verb itself.
* Note that the verb args have an injected `client/user` argument that is the user that called the verb.
* Do not use usr in your verb; technically you can but I'll kill you.
+ *
+ * Verb arguments are declared in the proc body via VERB_ARG macros which self-register metadata
+ * at world init and extract values from the structured_args list at runtime.
*/
-#define _ADMIN_VERB(verb_path_name, verb_permissions, verb_name, verb_desc, verb_category, show_in_context_menu, verb_args...) \
+#define _ADMIN_VERB(verb_path_name, verb_permissions, verb_name, verb_desc, verb_category, show_in_context_menu) \
/datum/admin_verb/##verb_path_name \
{ \
name = ##verb_name; \
@@ -23,27 +26,45 @@
permissions = ##verb_permissions; \
verb_path = /client/proc/__avd_##verb_path_name; \
}; \
-/client/proc/__avd_##verb_path_name(##verb_args) \
+/client/proc/__avd_##verb_path_name() \
{ \
set name = ##verb_name; \
set desc = ##verb_desc; \
set hidden = FALSE; /* this is explicitly needed as the proc begins with an underscore */ \
set popup_menu = ##show_in_context_menu; \
set category = ##verb_category; \
- var/list/_verb_args = list(usr, /datum/admin_verb/##verb_path_name); \
- _verb_args += args; \
- SSadmin_verbs.dynamic_invoke_verb(arglist(_verb_args)); \
+ SSadmin_verbs.dynamic_invoke_verb(usr, /datum/admin_verb/##verb_path_name); \
}; \
-/datum/admin_verb/##verb_path_name/__avd_do_verb(client/user, ##verb_args)
+/datum/admin_verb/##verb_path_name/__avd_do_verb(client/user, list/structured_args)
-#define ADMIN_VERB(verb_path_name, verb_permissions, verb_name, verb_desc, verb_category, verb_args...) \
-_ADMIN_VERB(verb_path_name, verb_permissions, verb_name, verb_desc, verb_category, FALSE, ##verb_args)
+#define _ADMIN_VERB_CONTEXT(verb_path_name, verb_permissions, verb_name, verb_desc, verb_category, context_type) \
+/datum/admin_verb/##verb_path_name \
+{ \
+ name = ##verb_name; \
+ description = ##verb_desc; \
+ category = ##verb_category; \
+ permissions = ##verb_permissions; \
+ verb_path = /client/proc/__avd_##verb_path_name; \
+}; \
+/client/proc/__avd_##verb_path_name(var##context_type/__context_target in world) \
+{ \
+ set name = ##verb_name; \
+ set desc = ##verb_desc; \
+ set hidden = FALSE; \
+ set popup_menu = TRUE; \
+ set category = ##verb_category; \
+ SSadmin_verbs.dynamic_invoke_verb(usr, /datum/admin_verb/##verb_path_name, list(VERB_ARG_CONTEXT_TARGET_KEY = __context_target)); \
+}; \
+/datum/admin_verb/##verb_path_name/__avd_do_verb(client/user, list/structured_args)
+
+#define ADMIN_VERB(verb_path_name, verb_permissions, verb_name, verb_desc, verb_category) \
+_ADMIN_VERB(verb_path_name, verb_permissions, verb_name, verb_desc, verb_category, FALSE)
-#define ADMIN_VERB_ONLY_CONTEXT_MENU(verb_path_name, verb_permissions, verb_name, verb_args...) \
-_ADMIN_VERB(verb_path_name, verb_permissions, verb_name, ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, TRUE, ##verb_args)
+#define ADMIN_VERB_ONLY_CONTEXT_MENU(verb_path_name, verb_permissions, verb_name, context_type) \
+_ADMIN_VERB_CONTEXT(verb_path_name, verb_permissions, verb_name, ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, context_type)
-#define ADMIN_VERB_AND_CONTEXT_MENU(verb_path_name, verb_permissions, verb_name, verb_desc, verb_category, verb_args...) \
-_ADMIN_VERB(verb_path_name, verb_permissions, verb_name, verb_desc, verb_category, TRUE, ##verb_args)
+#define ADMIN_VERB_AND_CONTEXT_MENU(verb_path_name, verb_permissions, verb_name, verb_desc, verb_category, context_type) \
+_ADMIN_VERB_CONTEXT(verb_path_name, verb_permissions, verb_name, verb_desc, verb_category, context_type)
/// Used to define a special check to determine if the admin verb should exist at all. Useful for verbs such as play sound which require configuration.
#define ADMIN_VERB_CUSTOM_EXIST_CHECK(verb_path_name) \
@@ -63,8 +84,9 @@ _ADMIN_VERB(verb_path_name, verb_permissions, verb_name, verb_desc, verb_categor
/*
* This is an example of how to use the above macro:
* ```
- * ADMIN_VERB(name_of_verb, R_ADMIN, "Verb Name", "Verb Desc", "Verb Category", mob/target in world)
- * to_chat(user, "Hello!")
+ * ADMIN_VERB(name_of_verb, R_ADMIN, "Verb Name", "Verb Desc", "Verb Category")
+ * VERB_ARG_TYPED(target, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
+ * to_chat(user, "Hello [target]!")
* ```
* Note the implied `client/user` argument that is injected into the verb.
* Also note that byond is shit and you cannot multi-line the macro call.
diff --git a/code/__DEFINES/ai/ai.dm b/code/__DEFINES/ai/ai.dm
index a8c3371f5d21..170b52d2239d 100644
--- a/code/__DEFINES/ai/ai.dm
+++ b/code/__DEFINES/ai/ai.dm
@@ -23,6 +23,9 @@
#define TARGET_KEEP_IF_SET 2
/// Always run the full candidate search, ignoring any existing target.
#define TARGET_ALWAYS_SEARCH 3
+/// Revalidate an existing target, and only search for a replacement while it remains valid if a target priority strategy is configured.
+#define TARGET_RESELECT_WITH_SELECTION 4
+
#define HAS_AI_CONTROLLER_TYPE(thing, type) istype(thing?.ai_controller, type)
//AI controller flags
diff --git a/code/__DEFINES/ai/ai_blackboard.dm b/code/__DEFINES/ai/ai_blackboard.dm
index bff772494fa9..6a001a79dd7a 100644
--- a/code/__DEFINES/ai/ai_blackboard.dm
+++ b/code/__DEFINES/ai/ai_blackboard.dm
@@ -51,6 +51,10 @@
#define BB_WANTS_TO_COMMIT_THEFT "BB_WANTS_TO_COMMIT_THEFT"
///last stolen item
#define BB_LAST_STOLEN_ITEM "BB_LAST_STOLEN_ITEM"
+/// Associative list of target typepaths to selection weights for theft.
+#define BB_STEAL_TARGET_PRIORITIES "BB_steal_target_priorities"
+/// Selection weight for theft targets which do not match a configured priority type.
+#define BB_STEAL_FALLBACK_PRIORITY "BB_steal_fallback_priority"
///the owner we will try to play with
#define BB_OWNER_TARGET "BB_owner_target"
@@ -139,7 +143,6 @@
#define BB_TARGET_HELD_ITEM "BB_target_held_item"
/// How likely is this mob to move when idle per tick?
#define BB_BASIC_MOB_IDLE_WALK_CHANCE "BB_basic_idle_walk_chance"
-#define BB_BASIC_MOB_TARGET_REFRESH_COOLDOWN "BB_basic_mob_target_refresh_cooldown"
/// whether we can have fuck
#define BB_FUCKS "can we fuck?"
diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm
index e542c7df7ec2..a481924c727c 100644
--- a/code/__DEFINES/antagonists.dm
+++ b/code/__DEFINES/antagonists.dm
@@ -331,6 +331,9 @@ GLOBAL_LIST_INIT(ai_employers, list(
/// Checks if the given mob is a spy!
#define IS_SPY(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/spy))
+/// Checks if the given mob is a bloodworm
+#define IS_BLOODWORM(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/blood_worm))
+
/// List of human antagonist types which don't spawn directly on the space station
GLOBAL_LIST_INIT(human_invader_antagonists, list(
/datum/antagonist/abductor,
diff --git a/code/__DEFINES/atmospherics/atmos_mob_interaction.dm b/code/__DEFINES/atmospherics/atmos_mob_interaction.dm
index b050c221c586..41498c929c43 100644
--- a/code/__DEFINES/atmospherics/atmos_mob_interaction.dm
+++ b/code/__DEFINES/atmospherics/atmos_mob_interaction.dm
@@ -55,6 +55,18 @@
#define BODYTEMP_AUTORECOVERY_DIVISOR 28
/// Minimum amount of kelvin moved toward 310K per tick. So long as abs(310.15 - bodytemp) is more than 50.
#define BODYTEMP_AUTORECOVERY_MINIMUM 3
+/// The multiplier that sets the speed when adjusting the difference between two body temperatures.
+#define BODYTEMP_STANDARD_CHANGE_RATE 0.06
+/// The multiplier that sets the speed for body core temperature to normalize towards default.
+#define BODYTEMP_CORE_CHANGE_RATE (BODYTEMP_STANDARD_CHANGE_RATE * 0.25)
+/// Rate of body heat transfer from skin to core
+#define BODYTEMP_SKIN_CORE_CHANGE_RATE (BODYTEMP_STANDARD_CHANGE_RATE * 0.65)
+/// Rate of body heat transfer from core to skin
+#define BODYTEMP_CORE_SKIN_CHANGE_RATE (BODYTEMP_STANDARD_CHANGE_RATE * 0.75)
+/// Rate of body heat transfer from area to skin
+#define BODYTEMP_AREA_SKIN_CHANGE_RATE (BODYTEMP_STANDARD_CHANGE_RATE * 0.85)
+/// Rate of body heat transfer by space suits
+#define BODYTEMP_SUIT_CHANGE_RATE (BODYTEMP_STANDARD_CHANGE_RATE * 1.35)
///Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster.
#define BODYTEMP_COLD_DIVISOR 15
/// Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster.
diff --git a/code/__DEFINES/augury.dm b/code/__DEFINES/augury.dm
new file mode 100644
index 000000000000..dd8e8dd1f85c
--- /dev/null
+++ b/code/__DEFINES/augury.dm
@@ -0,0 +1,35 @@
+// Defines for SSaugury (the subsytem used to let ghosts orbit meteors)
+
+// Severity defines. The object with the highest severity
+// at any given time is the one focused upon.
+
+/// Space dust ghost auto-orbiting priority
+#define SEVERITY_DUST 1
+/// Space sand ghost auto-orbiting priority
+#define SEVERITY_SAND 1
+/// Meaty ore ghost auto-orbiting priority
+#define SEVERITY_MEATY_ORE 2
+/// Medium (or generic) meteor ghost auto-orbiting priority
+#define SEVERITY_MEDIUM_METEOR 5
+/// Frozen carp "meteor" ghost auto-orbiting priority
+#define SEVERITY_FROZEN_CARP 5
+/// Big meteor ghost auto-orbiting priority
+#define SEVERITY_BIG_METEOR 10
+/// EMP meteor ghost auto-orbiting priority.
+#define SEVERITY_EMP_METEOR 10
+/// Bluespace meteor ghost auto-orbiting priority
+#define SEVERITY_BLUESPACE_METEOR 15
+/// Bananium meteor ghost auto-orbiting priority
+#define SEVERITY_BANANIUM_METEOR 15
+/// Flaming meteor ghost auto-orbiting priority
+#define SEVERITY_FLAMING_METEOR 20
+/// Cluster meteor ghost auto-orbiting priority
+#define SEVERITY_CLUSTER_METEOR 25
+/// Irradiated/uranium meteor ghost auto-orbiting priority
+#define SEVERITY_IRRADIATED_METEOR 35
+/// Tungska meteor ghost auto-orbiting priority
+#define SEVERITY_TUNGSKA_METEOR 50
+/// Pumpkin meteor ghost auto-orbiting priority
+#define SEVERITY_PUMPKING 100
+/// Immovable rod ghost auto-orbiting priority
+#define SEVERITY_ROD 2000
diff --git a/code/__DEFINES/basic_mobs.dm b/code/__DEFINES/basic_mobs.dm
index d97418718a16..aa5ab927d093 100644
--- a/code/__DEFINES/basic_mobs.dm
+++ b/code/__DEFINES/basic_mobs.dm
@@ -14,14 +14,12 @@
#define REMAIN_DENSE_WHILE_DEAD (1<<2)
/// Mob can be set on fire
#define FLAMMABLE_MOB (1<<3)
-/// Mob never takes damage from unarmed attacks
-#define IMMUNE_TO_FISTS (1<<4)
/// Mob is immune to getting wet
-#define IMMUNE_TO_GETTING_WET (1<<5)
+#define IMMUNE_TO_GETTING_WET (1<<4)
/// Disables the function of attacking random body zones
-#define PRECISE_ATTACK_ZONES (1<<6)
+#define PRECISE_ATTACK_ZONES (1<<5)
/// People would be sad to see this mob die
-#define SENDS_DEATH_MOODLETS (1<<7)
+#define SENDS_DEATH_MOODLETS (1<<6)
/// Temporary trait applied when an attack forecast animation has completed
#define TRAIT_BASIC_ATTACK_FORECAST "trait_basic_attack_forecast"
diff --git a/code/__DEFINES/blood.dm b/code/__DEFINES/blood.dm
index aacd75db56fb..5c6fae2d9e23 100644
--- a/code/__DEFINES/blood.dm
+++ b/code/__DEFINES/blood.dm
@@ -28,6 +28,12 @@
// Keys for indexing blood data lists. HIGHLY INCOMPLETE.
/// Indexing a blood reagent data list with this returns how synthetic the blood is, used for blood worms to nerf common blood sources like monkeys.
#define BLOOD_DATA_SYNTH_CONTENT "synth_content"
+/// Specifically for Ethereal blood, indicating that it's non-zappy
+#define BLOOD_DATA_ENRICHED_ETHEREAL "enriched"
+/// The blood type of the blood, self evident
+#define BLOOD_DATA_TYPE "blood_type"
+/// The DNA within the blood, either a DNA string or some arbitrary string if the DNA is unknown
+#define BLOOD_DATA_DNA "blood_DNA"
/// Returns whether this mob always has synthetic blood. Used to cap growth for blood worms from easily accessible sources of blood.
#define IS_BLOOD_ALWAYS_SYNTHETIC(mob) (!ishuman(mob) || HAS_TRAIT(mob, TRAIT_BORN_MONKEY) || HAS_TRAIT(mob, TRAIT_SPAWNED_MOB))
diff --git a/code/__DEFINES/bodyparts.dm b/code/__DEFINES/bodyparts.dm
index 68277dad8464..1a72e90876ac 100644
--- a/code/__DEFINES/bodyparts.dm
+++ b/code/__DEFINES/bodyparts.dm
@@ -48,6 +48,8 @@
// Color priorities for bodyparts
/// Abductor team recoloring priority
#define LIMB_COLOR_AYYLMAO 5
+/// Ethereal bodypart effect (emag, flicker) color priority
+#define LIMB_COLOR_ETHEREAL 7
/// Hulk effect color priority
#define LIMB_COLOR_HULK 10
/// Fish infusion color priority
@@ -228,3 +230,6 @@ DEFINE_BITFIELD(surgery_state, list(
#define LIMB_ITEM_GAUZE "gauze"
/// Tourniquet slot
#define LIMB_ITEM_TOURNIQUET "tourniquet"
+
+/// For scaling the effectiveness of certain effects to the total bodypart count
+#define GET_BODYPART_COEFFICIENT(X) round(X.len / BODYPARTS_DEFAULT_MAXIMUM , 0.1)
diff --git a/code/__DEFINES/colors.dm b/code/__DEFINES/colors.dm
index c255aa069dc7..d2a6b7ac0951 100644
--- a/code/__DEFINES/colors.dm
+++ b/code/__DEFINES/colors.dm
@@ -118,6 +118,7 @@
#define COLOR_BLUE_VERY_LIGHT "#ccecff"
#define COLOR_NAVY "#000080"
#define COLOR_BLUE_GRAY "#75A2BB"
+#define COLOR_AI_HOLOGRAM_BLUE "#7DB4E1"
#define COLOR_PINK "#FFC0CB"
#define COLOR_LIGHT_PINK "#FF3CC8"
diff --git a/code/__DEFINES/dcs/signals/signals_food.dm b/code/__DEFINES/dcs/signals/signals_food.dm
index 753786574727..2386c0d4618f 100644
--- a/code/__DEFINES/dcs/signals/signals_food.dm
+++ b/code/__DEFINES/dcs/signals/signals_food.dm
@@ -2,7 +2,7 @@
//Food
// Eating stuff
-/// From datum/component/edible/proc/TakeBite: (atom/owner)
+/// From datum/component/edible/proc/TakeBite: (atom/owner, foodtypes)
#define COMSIG_LIVING_EAT_FOOD "food_bit"
/// From datum/component/edible/proc/TakeBite: (mob/living/eater, mob/feeder, bitecount, bitesize)
#define COMSIG_FOOD_EATEN "food_eaten"
diff --git a/code/__DEFINES/dcs/signals/signals_hydroponic.dm b/code/__DEFINES/dcs/signals/signals_hydroponic.dm
index 204239b236de..10dcfa3485ec 100644
--- a/code/__DEFINES/dcs/signals/signals_hydroponic.dm
+++ b/code/__DEFINES/dcs/signals/signals_hydroponic.dm
@@ -1,5 +1,7 @@
//Plants / Plant Traits
+///called when a plant is harvested (obj/item/seeds)
+#define COMSIG_PLANT_ON_HARVEST "plant_on_harvest"
///called when a plant with slippery skin is slipped on (mob/victim)
#define COMSIG_PLANT_ON_SLIP "plant_on_slip"
///called when a plant with liquid contents is squashed on (atom/target)
diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm
index 0b7d381d18e3..c39b05c44fc0 100644
--- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm
+++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm
@@ -16,6 +16,8 @@
#define COMSIG_ORGAN_SURGICALLY_INSERTED "organ_surgically_inserted"
/// Called when an organ finishes inserting into a bodypart (obj/item/bodypart/limb, movement_flags)
#define COMSIG_ORGAN_BODYPART_INSERTED "organ_bodypart_inserted"
+/// Called when an organ finishes removing from a bodypart (obj/item/bodypart/limb, movement_flags)
+#define COMSIG_ORGAN_BODYPART_REMOVED "organ_bodypart_removed"
/// Called when a organ's damage is adjusted apply_organ_damage (damage_amount, maximum, required_organ_flag)
#define COMSIG_ORGAN_ADJUST_DAMAGE "organ_adjust_damage"
@@ -401,3 +403,6 @@
/// From /mob/living/changeNext_move() : (next_move, delay)
#define COMSIG_LIVING_CHANGENEXT_MOVE "living_changenext_move"
+
+/// From /mob/living/proc/cause_hallucination(): (datum/hallucination)
+#define COMSIG_LIVING_HALLUCINATING "living_hallucinating"
diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm
index dc1f639baf75..3c3685badbf5 100644
--- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm
+++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm
@@ -161,6 +161,11 @@
#define COMPONENT_EMOTE_COOLDOWN_BYPASS (1<<0)
///from /mob/living/emote(): ()
#define COMSIG_MOB_EMOTE "mob_emote"
+///from base of datum/emote/get_sound(): (key, list/sounds)
+#define COMSIG_MOB_EMOTE_SOUND(key) "mob_emote_sound_[key]"
+ #define EMOTE_SOUND_TONGUE 1
+ #define EMOTE_SOUND_MASK 2
+ #define EMOTE_SOUND_STATUS_EFFECT 3
///from base of mob/swap_hand(): (obj/item/currently_held_item)
#define COMSIG_MOB_SWAPPING_HANDS "mob_swapping_hands"
#define COMPONENT_BLOCK_SWAP (1<<0)
diff --git a/code/__DEFINES/dcs/signals/signals_reagent.dm b/code/__DEFINES/dcs/signals/signals_reagent.dm
index 61b0e95b0a74..72eadd2cd83f 100644
--- a/code/__DEFINES/dcs/signals/signals_reagent.dm
+++ b/code/__DEFINES/dcs/signals/signals_reagent.dm
@@ -20,6 +20,9 @@
#define COMSIG_REAGENT_ON_MERGE "reagent_on_merge"
///from base of [/datum/reagent/proc/on_transfer_creation(reagent, target_holder, new_reagent)]: (datum/reagents/target_holder, datum/reagent/new_reagent)
#define COMSIG_REAGENT_ON_TRANSFER "reagent_on_transfer"
+///send from seeds to any reagents within any produced plants when initially grown
+///to allow reagents to modify themselves based on the plant they were grown in. (obj/item/seeds)
+#define COMSIG_REAGENT_GROWN_IN_PLANT "reagent_grown_in_plant"
///from base of [/datum/reagents/proc/add_reagent] - Sent before the reagent is added: (reagenttype, amount, reagtemp, data, no_react)
#define COMSIG_REAGENTS_PRE_ADD_REAGENT "reagents_pre_add_reagent"
diff --git a/code/__DEFINES/food.dm b/code/__DEFINES/food.dm
index e8f854201d77..76e352bacc58 100644
--- a/code/__DEFINES/food.dm
+++ b/code/__DEFINES/food.dm
@@ -285,3 +285,6 @@ DEFINE_BITFIELD(food_flags, list(
#define MEATSLAB_PROCESSED_AMOUNT 3
/// This should be 1/3 of the amount found in a slab (a portion will be lost when rounding but it's negligible)
#define MEATDISH_MATERIAL_AMOUNT (MEATSLAB_MATERIAL_AMOUNT / MEATSLAB_PROCESSED_AMOUNT)
+
+/// The multiplier for nutrition when a golem eats this particular type of food.
+#define GOLEMFOOD_PREPARED_MEAL 1.3
diff --git a/code/__DEFINES/hud.dm b/code/__DEFINES/hud.dm
index 2869abf37131..b29c0219dca9 100644
--- a/code/__DEFINES/hud.dm
+++ b/code/__DEFINES/hud.dm
@@ -69,6 +69,7 @@
#define HUD_MOB_MOOD "mob_mood"
#define HUD_MOB_HEALTHDOLL "mob_healthdoll"
#define HUD_MOB_MEMORIES "mob_memories"
+#define HUD_MOB_SLIME_POWER "mob_slime_power"
#define HUD_OOZE_NUTRITION_DISPLAY "ooze_nutrition_display"
@@ -388,6 +389,10 @@
//Blobbernauts
#define ui_blobbernaut_overmind_health "EAST-1:28,CENTER+0:19"
+//Slimes
+#define ui_slime_hunger "EAST-1:30,CENTER:8"
+#define ui_slime_powerlevel "EAST-1:28,CENTER-2:18"
+
// Defines relating to action button positions
/// Whatever the base action datum thinks is best
diff --git a/code/__DEFINES/icon_smoothing.dm b/code/__DEFINES/icon_smoothing.dm
index e4ad9cd53e72..2c3ea2ddc546 100644
--- a/code/__DEFINES/icon_smoothing.dm
+++ b/code/__DEFINES/icon_smoothing.dm
@@ -180,6 +180,7 @@ DEFINE_BITFIELD(smoothing_junction, list(
#define SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE S_OBJ(23) ///obj/structure/window/bronze/fulltile
#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_FULLTILE_CULT S_OBJ(26) ///obj/structure/window/cult/fulltile
#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/is_helpers.dm b/code/__DEFINES/is_helpers.dm
index 9efef4af9112..2170795c10fe 100644
--- a/code/__DEFINES/is_helpers.dm
+++ b/code/__DEFINES/is_helpers.dm
@@ -142,7 +142,6 @@ GLOBAL_LIST_INIT(turfs_pass_meteor, typecacheof(list(
#define isflyperson(A) (is_species(A, /datum/species/fly))
#define isjellyperson(A) (is_species(A, /datum/species/jelly))
#define isslimeperson(A) (is_species(A, /datum/species/jelly/slime))
-#define iszombie(A) (is_species(A, /datum/species/zombie))
#define isskeleton(A) (is_species(A, /datum/species/skeleton))
#define ismoth(A) (is_species(A, /datum/species/moth))
#define isfelinid(A) (is_species(A, /datum/species/human/felinid))
diff --git a/code/__DEFINES/keybinding.dm b/code/__DEFINES/keybinding.dm
index 91ce64a5d4bb..d9f201f44e29 100644
--- a/code/__DEFINES/keybinding.dm
+++ b/code/__DEFINES/keybinding.dm
@@ -20,6 +20,7 @@
#define COMSIG_KB_ADMIN_DEADMIN_DOWN "keybinding_admin_deadmin_down"
#define COMSIG_KB_ADMIN_READMIN_DOWN "keybinding_admin_readmin_down"
#define COMSIG_KB_ADMIN_VIEWTAGS_DOWN "keybinding_admin_viewtags_down"
+#define COMSIG_KB_ADMIN_VERBPANEL_DOWN "keybinding_admin_verbpanel_down"
//Carbon
#define COMSIG_KB_CARBON_HOLDRUNMOVEINTENT_DOWN "keybinding_carbon_holdrunmoveintent_down"
diff --git a/code/__DEFINES/mobfactions.dm b/code/__DEFINES/mobfactions.dm
index 9a3be60c5c7f..5a5ab6c63b8c 100644
--- a/code/__DEFINES/mobfactions.dm
+++ b/code/__DEFINES/mobfactions.dm
@@ -91,6 +91,9 @@
#define FACTION_RAPTOR "raptor"
///holy faction, for anything part of the church
#define FACTION_HOLY "holy"
+/// Creatures that are spawned on the escape shuttle
+#define FACTION_SHUTTLE "shuttle"
+
// Antagonist factions
/// Cultists and their constructs
diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm
index 48d2b0df0815..09fbe8a9fcbd 100644
--- a/code/__DEFINES/mobs.dm
+++ b/code/__DEFINES/mobs.dm
@@ -29,32 +29,12 @@
/// Determines the rate at which humans lose blood when they have the blood deficiency quirk. The default is BLOOD_REGEN_FACTOR + BLOOD_DEFICIENCY_MODIFIER.
#define BLOOD_DEFICIENCY_MODIFIER 0.025
+/// Determines how high saline can bring up your blood volume
+#define SALINE_DILUTION_CAP BLOOD_VOLUME_NORMAL
+
/// Temperature at which blood loss and regen stops. [/mob/living/carbon/human/proc/handle_blood]
#define BLOOD_STOP_TEMP 225
-// Bloodtype defines
-#define BLOOD_TYPE_A_MINUS "A-"
-#define BLOOD_TYPE_A_PLUS "A+"
-#define BLOOD_TYPE_B_MINUS "B-"
-#define BLOOD_TYPE_B_PLUS "B+"
-#define BLOOD_TYPE_AB_MINUS "AB-"
-#define BLOOD_TYPE_AB_PLUS "AB+"
-#define BLOOD_TYPE_O_MINUS "O-"
-#define BLOOD_TYPE_O_PLUS "O+"
-#define BLOOD_TYPE_UNIVERSAL "U"
-#define BLOOD_TYPE_LIZARD "L"
-#define BLOOD_TYPE_VAMPIRE "V"
-#define BLOOD_TYPE_ANIMAL "Y-"
-#define BLOOD_TYPE_ETHEREAL "LE"
-#define BLOOD_TYPE_TOX "TOX"
-#define BLOOD_TYPE_OIL "Oil"
-#define BLOOD_TYPE_MEAT "MT-"
-#define BLOOD_TYPE_CLOWN "C"
-#define BLOOD_TYPE_XENO "X*"
-#define BLOOD_TYPE_H2O "H2O"
-#define BLOOD_TYPE_SNAIL "S"
-#define BLOOD_TYPE_KINDRED "V+" // DARKPACK EDIT ADD - Vitae
-
// Blood exposure behavior flag defines
/// Add our DNA to turfs/mobs/items, does not correlate with adding decals/overlays
/// mob/turf/item flags will add DNA when triggered even if this flag is false
@@ -224,10 +204,7 @@
#define SPECIES_SKELETON "skeleton"
#define SPECIES_SNAIL "snail"
#define SPECIES_VAMPIRE "vampire"
-#define SPECIES_ZOMBIE "rotten2" // DARKPACK EDIT CHANGE - ORIGINAL: #define SPECIES_ZOMBIE "zombie"
-#define SPECIES_ZOMBIE_INFECTIOUS "memezombie"
-#define SPECIES_ZOMBIE_INFECTIOUS_MINDLESS "mindless_memezombie"
-#define SPECIES_ZOMBIE_KROKODIL "krokodil_zombie"
+#define SPECIES_ZOMBIE "zombie"
#define SPECIES_VOIDWALKER "voidwalker"
// Like species IDs, but not specifically attached a species.
@@ -381,6 +358,9 @@
#define CRYSTALIZE_STAGE_ENCROACHING 300 //In switches
#define CRYSTALIZE_STAGE_SMALL 600 //Because they're not static
+///Max growth for a xeno larva to evolve into a regular xeno. This is used as % based.
+#define XENOMORPH_MAX_GROWTH 100
+
//Slime evolution threshold. Controls how fast slimes can split/grow
#define SLIME_EVOLUTION_THRESHOLD 10
@@ -1120,6 +1100,8 @@ GLOBAL_ALIST_INIT(human_heights_to_offsets, alist(
/// Distance which you can see someone's ID card
/// Short enough that you can inspect over tables (bartender checking age)
#define ID_EXAMINE_DISTANCE 3
+/// Distance which you can get the href to remove embeds or similar from someone
+#define CARBON_EXAMINE_EMBEDDING_MAX_DIST 4
GLOBAL_LIST_INIT(regal_rat_minion_commands, list(
/datum/pet_command/idle,
diff --git a/code/__DEFINES/research.dm b/code/__DEFINES/research.dm
index b6708c7568c3..8c16841b6b30 100644
--- a/code/__DEFINES/research.dm
+++ b/code/__DEFINES/research.dm
@@ -1,5 +1,12 @@
-/// For instances where we don't want a design showing up due to it being for debug/sanity purposes
-#define DESIGN_ID_IGNORE "IGNORE_THIS_DESIGN"
+// Techweb node flags
+/// Every techweb starts off with this node
+#define TECHWEB_NODE_STARTER (1<<0)
+/// This node cannot be seen in the techweb
+#define TECHWEB_NODE_HIDDEN (1<<1)
+/// This is a BEPIS node. Only exists so we can add/remove from the pool of bepis nodes in the middle of a round
+#define TECHWEB_NODE_EXPERIMENTAL (1<<2)
+/// This node shows up on the autowiki
+#define TECHWEB_NODE_WIKI (1<<3)
///The object printed from this design won't get the mats used to make it. Default setting for stacks unless specified otherwise
#define DESIGN_DONT_INHERIT_MATS 0
@@ -11,20 +18,20 @@
///The object printed from this design gets the mats used to make it but skips the unit test.
#define DESIGN_INHERIT_MATS_SPECIAL 2
-//! Techweb names for new point types. Can be used to define specific point values for specific types of research (science, security, engineering, etc.)
+/// Techweb names for new point types. Can be used to define specific point values for specific types of research (science, security, engineering, etc.)
#define TECHWEB_POINT_TYPE_GENERIC "General Research"
-//! Amount of points required to unlock nodes of corresponding tiers
+// Amount of points required to unlock nodes of corresponding tiers
#define TECHWEB_TIER_1_POINTS 40
#define TECHWEB_TIER_2_POINTS 80
#define TECHWEB_TIER_3_POINTS 120
#define TECHWEB_TIER_4_POINTS 160
#define TECHWEB_TIER_5_POINTS 200
-//! Amount of points gained per second by a single R&D server, see: [research][code/controllers/subsystem/research.dm]
+// Amount of points gained per second by a single R&D server, see: [research][code/controllers/subsystem/research.dm]
#define TECHWEB_SINGLE_SERVER_INCOME 1
-//! Swab cell line types
+// Swab cell line types
#define CELL_LINE_TABLE_SLUDGE "cell_line_sludge_table"
#define CELL_LINE_TABLE_MOLD "cell_line_mold_table"
#define CELL_LINE_TABLE_MOIST "cell_line_moist_table"
@@ -32,7 +39,7 @@
#define CELL_LINE_TABLE_CLOWN "cell_line_clown_table"
#define CELL_LINE_TABLE_ALGAE "cell_line_algae_table"
-//! Biopsy cell line types
+// Biopsy cell line types
#define CELL_LINE_TABLE_BEAR "cell_line_bear_table"
#define CELL_LINE_TABLE_BLOBBERNAUT "cell_line_blobbernaut_table"
#define CELL_LINE_TABLE_BLOBSPORE "cell_line_blobspore_table"
diff --git a/code/__DEFINES/research/techweb_nodes.dm b/code/__DEFINES/research/techweb_nodes.dm
deleted file mode 100644
index 207603d78d39..000000000000
--- a/code/__DEFINES/research/techweb_nodes.dm
+++ /dev/null
@@ -1,124 +0,0 @@
-#define TECHWEB_NODE_AI "ai"
-#define TECHWEB_NODE_AI_LAWS "ai_laws"
-#define TECHWEB_NODE_ALIEN_ENGI "alien_engi"
-#define TECHWEB_NODE_ALIEN_SURGERY "alien_surgery"
-#define TECHWEB_NODE_ALIENTECH "alientech"
-#define TECHWEB_NODE_ANOMALY_RESEARCH "anomaly_research"
-#define TECHWEB_NODE_ANOMALY_SHELLS "anomaly_shells"
-#define TECHWEB_NODE_APPLIED_BLUESPACE "applied_bluespace"
-#define TECHWEB_NODE_ATMOS "atmos"
-#define TECHWEB_NODE_AUGMENTATION "augmentation"
-#define TECHWEB_NODE_AUS_SECURITY "aus_security"
-#define TECHWEB_NODE_BASIC_ARMS "basic_arms"
-#define TECHWEB_NODE_BCI "bci"
-#define TECHWEB_NODE_BEAM_WEAPONS "beam_weapons"
-#define TECHWEB_NODE_BIO_SCAN "bio_scan"
-#define TECHWEB_NODE_BITRUNNING "bitrunning"
-#define TECHWEB_NODE_MECH_EQUIP_BLUESPACE "mech_equip_bluespace"
-#define TECHWEB_NODE_BLUESPACE_THEORY "bluespace_theory"
-#define TECHWEB_NODE_BLUESPACE_TRAVEL "bluespace_travel"
-#define TECHWEB_NODE_BORG_ENGI "borg_engi"
-#define TECHWEB_NODE_BORG_MEDICAL "borg_medical"
-#define TECHWEB_NODE_BORG_MINING "borg_mining"
-#define TECHWEB_NODE_BORG_SERVICES "borg_services"
-#define TECHWEB_NODE_BORG_UTILITY "borg_utility"
-#define TECHWEB_NODE_BOTANY_EQUIP "botany_equip"
-#define TECHWEB_NODE_CAFETERIA_EQUIP "cafeteria_equip"
-#define TECHWEB_NODE_CHEM_SYNTHESIS "chem_synthesis"
-#define TECHWEB_NODE_CIRCUIT_SHELLS "circuit_shells"
-#define TECHWEB_NODE_COMBAT_IMPLANTS "combat_implants"
-#define TECHWEB_NODE_CONSOLES "consoles"
-#define TECHWEB_NODE_CONSTRUCTION "construction"
-#define TECHWEB_NODE_CRYOSTASIS "cryostasis"
-#define TECHWEB_NODE_CYBER_IMPLANTS "cyber_implants"
-#define TECHWEB_NODE_CYBER_ORGANS "cyber_organs"
-#define TECHWEB_NODE_CYBER_ORGANS_ADV "cyber_organs_adv"
-#define TECHWEB_NODE_CYBER_ORGANS_UPGRADED "cyber_organs_upgraded"
-#define TECHWEB_NODE_CYBERNETICS "cybernetics"
-#define TECHWEB_NODE_CYTOLOGY "cytology"
-#define TECHWEB_NODE_DONK_PRODUCTS "donk_products"
-#define TECHWEB_NODE_ELECTRIC_WEAPONS "electric_weapons"
-#define TECHWEB_NODE_ENERGY_MANIPULATION "energy_manipulation"
-#define TECHWEB_NODE_EXODRONE "exodrone"
-#define TECHWEB_NODE_EXOTIC_AMMO "exotic_ammo"
-#define TECHWEB_NODE_EXP_TOOLS "exp_tools"
-#define TECHWEB_NODE_EXPLOSIVES "explosives"
-#define TECHWEB_NODE_EXTREME_OFFICE "extreme_office"
-#define TECHWEB_NODE_FISHING_ANOMALOUS "fishing_anomalous"
-#define TECHWEB_NODE_FISHING_EQUIP "fishing_equip"
-#define TECHWEB_NODE_FISHING_EQUIP_ADV "fishing_equip_adv"
-#define TECHWEB_NODE_FOOD_PROC "food_proc"
-#define TECHWEB_NODE_FUNDIMENTAL_SCI "fundimental_sci"
-#define TECHWEB_NODE_FUSION "fusion"
-#define TECHWEB_NODE_GAMING "gaming"
-#define TECHWEB_NODE_GAS_COMPRESSION "gas_compression"
-#define TECHWEB_NODE_GENE_ENGINEERING "gene_engineering"
-#define TECHWEB_NODE_HOLOGRAPHICS "holographics"
-#define TECHWEB_NODE_HUD "hud"
-#define TECHWEB_NODE_HYDROPONICS "hydroponics"
-#define TECHWEB_NODE_INTERGRATED_TOOLSETS "intergrated_toolsets"
-#define TECHWEB_NODE_INTERROGATION "interrogation"
-#define TECHWEB_NODE_LIGHT_APPS "light_apps"
-#define TECHWEB_NODE_LOW_PRESSURE_EXCAVATION "low_pressure_excavation"
-#define TECHWEB_NODE_MARINE_UTIL "marine_util"
-#define TECHWEB_NODE_MATERIAL_PROC "material_proc"
-#define TECHWEB_NODE_MECH_ASSAULT "mech_assault"
-#define TECHWEB_NODE_MECH_ASSEMBLY "mech_assembly"
-#define TECHWEB_NODE_MECH_CLOWN "mech_clown"
-#define TECHWEB_NODE_MECH_COMBAT "mech_combat"
-#define TECHWEB_NODE_MECH_ENERGY_GUNS "mech_energy_guns"
-#define TECHWEB_NODE_MECH_EQUIPMENT "mech_equipment"
-#define TECHWEB_NODE_MECH_FIREARMS "mech_firearms"
-#define TECHWEB_NODE_MECH_HEAVY "mech_heavy"
-#define TECHWEB_NODE_MECH_HEAVY_ARMS "mech_heavy_arms"
-#define TECHWEB_NODE_MECH_INFILTRATOR "mech_infiltrator"
-#define TECHWEB_NODE_MECH_LIGHT "mech_light"
-#define TECHWEB_NODE_MECH_MEDICAL "mech_medical"
-#define TECHWEB_NODE_MECH_MINING "mech_mining"
-#define TECHWEB_NODE_MEDBAY_EQUIP "medbay_equip"
-#define TECHWEB_NODE_MEDBAY_EQUIP_ADV "medbay_equip_adv"
-#define TECHWEB_NODE_MINING "mining"
-#define TECHWEB_NODE_MINING_ADV "mining_adv"
-#define TECHWEB_NODE_MOD_ANOMALY "mod_anomaly"
-#define TECHWEB_NODE_MOD_ENGI "mod_engi"
-#define TECHWEB_NODE_MOD_ENGI_ADV "mod_engi_adv"
-#define TECHWEB_NODE_MOD_ENTERTAINMENT "mod_entertainment"
-#define TECHWEB_NODE_MOD_EQUIP "mod_equip"
-#define TECHWEB_NODE_MOD_SERVICE "mod_service"
-#define TECHWEB_NODE_MOD_EXPERIMENTAL "mod_experimental"
-#define TECHWEB_NODE_MOD_MEDICAL "mod_medical"
-#define TECHWEB_NODE_MOD_MEDICAL_ADV "mod_medical_adv"
-#define TECHWEB_NODE_MOD_SECURITY "mod_security"
-#define TECHWEB_NODE_MOD_SUIT "mod_suit"
-#define TECHWEB_NODE_NIGHT_VISION "night_vision"
-#define TECHWEB_NODE_OFFICE_EQUIP "office_equip"
-#define TECHWEB_NODE_OLDSTATION_SURGERY "oldstation_surgery"
-#define TECHWEB_NODE_PARTS "parts"
-#define TECHWEB_NODE_PARTS_ADV "parts_adv"
-#define TECHWEB_NODE_PARTS_BLUESPACE "parts_bluespace"
-#define TECHWEB_NODE_PARTS_UPG "parts_upg"
-#define TECHWEB_NODE_PASSIVE_IMPLANTS "passive_implants"
-#define TECHWEB_NODE_PLASMA_CONTROL "plasma_control"
-#define TECHWEB_NODE_PLASMA_MINING "plasma_mining"
-#define TECHWEB_NODE_POSITRONIC_SPHERE "positronic_sphere"
-#define TECHWEB_NODE_PROGRAMMED_ROBOT "programmed_robot"
-#define TECHWEB_NODE_PROGRAMMED_SERVER "programmed_server"
-#define TECHWEB_NODE_PROGRAMMING "programming"
-#define TECHWEB_NODE_RCD_UPGRADE "rcd_upgrade"
-#define TECHWEB_NODE_RIOT_SUPRESSION "riot_supression"
-#define TECHWEB_NODE_ROBOTICS "robotics"
-#define TECHWEB_NODE_SANITATION "sanitation"
-#define TECHWEB_NODE_SEC_EQUIP "sec_equip"
-#define TECHWEB_NODE_SELECTION "selection"
-#define TECHWEB_NODE_SHUTTLE_ENG "shuttle_eng"
-#define TECHWEB_NODE_SPEC_ENG "spec_eng"
-#define TECHWEB_NODE_STICKY_ADVANCED "sticky_advanced"
-#define TECHWEB_NODE_SURGERY "surgery"
-#define TECHWEB_NODE_SURGERY_ADV "surgery_adv"
-#define TECHWEB_NODE_SURGERY_EXP "surgery_exp"
-#define TECHWEB_NODE_SURGERY_TOOLS "surgery_tools"
-#define TECHWEB_NODE_SYNDICATE_BASIC "syndicate_basic"
-#define TECHWEB_NODE_TACKLE_ADVANCED "tackle_advanced"
-#define TECHWEB_NODE_TELECOMS "telecoms"
-#define TECHWEB_NODE_UNREGULATED_BLUESPACE "unregulated_bluespace"
-#define TECHWEB_NODE_XENOBIOLOGY "xenobiology"
diff --git a/code/__DEFINES/shuttles.dm b/code/__DEFINES/shuttles.dm
index 0aae3db833d2..3a1883840021 100644
--- a/code/__DEFINES/shuttles.dm
+++ b/code/__DEFINES/shuttles.dm
@@ -100,20 +100,22 @@
#define SHUTTLE_DEFAULT_UNDERLYING_AREA /area/space
/// Shuttle unlocks
-// Needs Alien Technology researched.
+/// Needs Alien Technology researched.
#define SHUTTLE_UNLOCK_ALIENTECH "abductor"
-// Needs bubblegum to die.
+/// Needs bubblegum to die.
#define SHUTTLE_UNLOCK_BUBBLEGUM "bubblegum"
-// Needs one to set the holodeck to Medieval Sim.
+/// Needs one to set the holodeck to Medieval Sim.
#define SHUTTLE_UNLOCK_MEDISIM "holodeck"
-// Needs a rune to be cleared by a null rod.
+/// Needs a rune to be cleared by a null rod.
#define SHUTTLE_UNLOCK_NARNAR "narnar"
-// Needs someone to be polymorphed - Pride Mirror, Magic Mirror, Race Swap, Polymorph Staff/Wand. Badmin Mirror doesn't count, neither does xenobio.
+/// Needs someone to be polymorphed - Pride Mirror, Magic Mirror, Race Swap, Polymorph Staff/Wand. Badmin Mirror doesn't count, neither does xenobio.
#define SHUTTLE_UNLOCK_WABBAJACK "wabbajack"
-// Needs cargo budget to be almost empty to be purchasable.
+/// Needs cargo budget to be almost empty to be purchasable.
#define SHUTTLE_UNLOCK_SCRAPHEAP "scrapheap"
-// Needs biohazard to be triggered - Blob, Zombies, or a Severe Disease
+/// Needs biohazard to be triggered - Blob, Zombies, or a Severe Disease
#define SHUTTLE_UNLOCK_TOMBSTONE "tombstone"
+/// Needs all samples for station's DNA vault goal to be completed.
+#define SHUTTLE_UNLOCK_ARK "ark"
//Shuttle Events
diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm
index e1b290f773f9..3bdac71b5f70 100644
--- a/code/__DEFINES/sound.dm
+++ b/code/__DEFINES/sound.dm
@@ -299,6 +299,7 @@ GLOBAL_LIST_EMPTY(sfx_datum_by_key)
#define SFX_HARD_HAT_DROP "hard_hat_drop"
#define SFX_HARD_HAT_EQUIP "hard_hat_equip"
#define SFX_ALIEN_SPIT_ACID "alien_split_acid"
+#define SFX_HEAVY_DROP "heavy_drop"
// Standard is 44.1khz
#define MIN_EMOTE_PITCH 40000
diff --git a/code/__DEFINES/spatial_gridmap.dm b/code/__DEFINES/spatial_gridmap.dm
index 97a6f9915399..5abf2b984903 100644
--- a/code/__DEFINES/spatial_gridmap.dm
+++ b/code/__DEFINES/spatial_gridmap.dm
@@ -8,13 +8,13 @@
/// number of grid cells per x or y side of all z levels. pass in world.maxx or world.maxy
#define SPATIAL_GRID_CELLS_PER_SIDE(world_bounds) GET_SPATIAL_INDEX(world_bounds)
-//grid contents channels
+// Grid contents channels
-///everything that is hearing sensitive is stored in this channel
+/// Everything that is hearing sensitive is stored in this channel
#define SPATIAL_GRID_CONTENTS_TYPE_HEARING RECURSIVE_CONTENTS_HEARING_SENSITIVE
-///every movable that has a client in it is stored in this channel
+/// Every movable that has a client in it is stored in this channel
#define SPATIAL_GRID_CONTENTS_TYPE_CLIENTS RECURSIVE_CONTENTS_CLIENT_MOBS
-///all atmos machines are stored in this channel (I'm sorry kyler)
+/// All atmos machines are stored in this channel (I'm sorry kyler)
#define SPATIAL_GRID_CONTENTS_TYPE_ATMOS "spatial_grid_contents_type_atmos"
#define ALL_CONTENTS_OF_CELL(cell) (cell.hearing_contents | cell.client_contents | cell.atmos_contents)
@@ -41,11 +41,19 @@
cell_contents_list |= movable_or_list; \
};
+#define GRID_CELL_ASSOC_SET(cell_contents_list, key, value) \
+ if(!length(cell_contents_list)) { \
+ cell_contents_list = list(); \
+ cell_contents_list[key] = value; \
+ } else { \
+ cell_contents_list[key] = value; \
+ };
+
//dont use these outside of SSspatial_grid's scope use the procs it has for this purpose
#define GRID_CELL_REMOVE(cell_contents_list, movable_or_list) \
cell_contents_list -= movable_or_list; \
if(!length(cell_contents_list)) {\
- cell_contents_list = dummy_list; \
+ cell_contents_list = SSspatial_grid.dummy_list; \
};
///remove from every list
diff --git a/code/__DEFINES/surgery.dm b/code/__DEFINES/surgery.dm
index 925cf37017db..fe8f565872f4 100644
--- a/code/__DEFINES/surgery.dm
+++ b/code/__DEFINES/surgery.dm
@@ -43,6 +43,8 @@
#define ORGAN_MUTANT (1<<15)
/// The organ has been chomped or otherwise rendered unusable.
#define ORGAN_UNUSABLE (1<<16)
+/// Used for organs that aren't really real organs, but holders for stuff and whatnot
+#define ORGAN_FAKE (1<<17)
/// Organ flags that correspond to bodytypes
#define ORGAN_TYPE_FLAGS (ORGAN_ORGANIC | ORGAN_ROBOTIC | ORGAN_MINERAL | ORGAN_GHOST)
@@ -80,6 +82,12 @@
///Bodypart does not get replaced during set_species()
#define BP_BLOCK_CHANGE_SPECIES (1<<0)
+// is_husked values
+/// Husked from burns
+#define HUSKED_BURN 1
+/// Husked from zombification
+#define HUSKED_ZOMBIE 2
+
// Flags for the head_flags var on /obj/item/bodypart/head
/// Head can have hair
#define HEAD_HAIR (1<<0)
diff --git a/code/__DEFINES/tgui.dm b/code/__DEFINES/tgui.dm
index f5786c75a5dd..c69d4b326ccc 100644
--- a/code/__DEFINES/tgui.dm
+++ b/code/__DEFINES/tgui.dm
@@ -49,6 +49,14 @@
"%7b%22type%22%3a%22[type]%22%2c%22payload%22%3a[url_encode(json_encode(payload))]%7d" \
)
+/// Pre-encoded TGUI message for verbs/focus with null payload, used in the Tab macro.
+/// This is TGUI_CREATE_MESSAGE("verbs/focus", null), unit tested in tgui_panel_focus_message.
+#define TGUI_PANEL_FOCUS_MESSAGE "%7b%22type%22%3a%22verbs/focus%22%2c%22payload%22%3anull%7d"
+
+/// Pre-encoded TGUI message for verbs/clear with null payload, used in the Backspace macro.
+/// This is TGUI_CREATE_MESSAGE("verbs/clear", null), unit tested in tgui_panel_clear_message.
+#define TGUI_PANEL_CLEAR_MESSAGE "%7b%22type%22%3a%22verbs/clear%22%2c%22payload%22%3anull%7d"
+
/**
* Gets a ui_state that checks to see if the user has specific admin permissions.
*
diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm
index be043a838eeb..02bf160709fe 100644
--- a/code/__DEFINES/traits/declarations.dm
+++ b/code/__DEFINES/traits/declarations.dm
@@ -96,6 +96,12 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_CURSED "cursed"
/// Emotemute. Can't... emote.
#define TRAIT_EMOTEMUTE "emotemute"
+/// Mobs with this trait are allowed to use silicon emotes
+#define TRAIT_SILICON_EMOTES_ALLOWED "silicon_emotes_allowed"
+/// Mobs with this trait are allowed to use cat emotes
+#define TRAIT_CAT_EMOTES_ALLOWED "cat_emotes_allowed"
+/// Mobs with this trait are allowed to use moth emotes
+#define TRAIT_MOTH_EMOTES_ALLOWED "moth_emotes_allowed"
#define TRAIT_DEAF "deaf"
#define TRAIT_FAT "fat"
/// If you are fat, you no longer get the slowdown from it
@@ -229,8 +235,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_LIVERLESS_METABOLISM "liverless_metabolism"
/// This carbon can't be overdosed by chems
#define TRAIT_OVERDOSEIMMUNE "overdose_immune"
-/// Humans with this trait cannot be turned into zombies
-#define TRAIT_NO_ZOMBIFY "no_zombify"
/// Carbons with this trait can't have their DNA copied by diseases nor changelings
#define TRAIT_NO_DNA_COPY "no_dna_copy"
/// Carbons with this trait can't have their DNA scrambled by genetics or a disease retrovirus.
@@ -333,8 +337,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_EXAMINE_FITNESS "reveal_power_level"
/// These mobs have particularly hygienic tongues
#define TRAIT_WOUND_LICKER "wound_licker"
-/// Mobs with this trait are allowed to use silicon emotes
-#define TRAIT_SILICON_EMOTES_ALLOWED "silicon_emotes_allowed"
/// Mobs with this trait can tell when other mobs whisper even if their mouth is covered. They still can't tell what was whispered though.
#define TRAIT_SEE_MASK_WHISPER "see_mask_whisper"
@@ -1691,6 +1693,12 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
/// Mobs with this trait will always have be a priority target for mining mobs
#define TRAIT_MINING_AGGRO "mining_aggro"
+/// Mob does not regulate core temperature
+#define TRAIT_COLD_BLOODED "cold_blooded"
+
+/// Mob is always considered dead when checking objectives
+#define TRAIT_NEVER_CONSIDERED_ALIVE "never_considered_alive"
+
/// Don't show the thinking indicator and therefore the typing indicator when we are about to type something...
#define TRAIT_HIDE_THINKING_INDICATOR "hide_thinking_indicator"
diff --git a/code/__DEFINES/transport.dm b/code/__DEFINES/transport.dm
index 0a36c27979da..b2d96689c94d 100644
--- a/code/__DEFINES/transport.dm
+++ b/code/__DEFINES/transport.dm
@@ -117,3 +117,8 @@ DEFINE_BITFIELD(request_flags, list(
#define TRANSPORT_REMOTE_FAULT 3
#define TRANSPORT_LOCAL_FAULT 4
#define TRANSPORT_BREAKDOWN_RATE 0.0175
+
+// Tram controls settings
+#define NORMAL_WINDOW "normal_window"
+#define SPLIT_WINDOW "split_window"
+#define STANDALONE "standalone"
diff --git a/code/__DEFINES/verb.dm b/code/__DEFINES/verb.dm
index 1c470aa5c1ab..e35ea8ed563d 100644
--- a/code/__DEFINES/verb.dm
+++ b/code/__DEFINES/verb.dm
@@ -1,12 +1,15 @@
+#define VERB_ARG_CONTEXT_TARGET_KEY "__context_target__"
+
/**
* Defines a game verb with an associated /datum/verb_metadata.
*
* Usage:
- * GAME_VERB(/client, ooc, "OOC", "Send a message in OOC.", "OOC", msg as text)
- * // verb body
+ * GAME_VERB(/client, ooc, "OOC", "Send a message in OOC.", "OOC")
+ * VERB_ARG(msg, VERB_ARG_TYPE_TEXT, VERB_ARG_SOURCE_INPUT)
+ * // verb body using msg
*/
-#define _GAME_VERB(owner_type, verb_path_name, verb_name, verb_desc, verb_category, show_in_context_menu, is_hidden, is_instant, verb_args...) \
+#define _GAME_VERB(owner_type, verb_path_name, verb_name, verb_desc, verb_category, show_in_context_menu, is_hidden, is_instant) \
/datum/verb_metadata##owner_type/##verb_path_name \
{ \
name = ##verb_name; \
@@ -15,7 +18,7 @@
verb_path = ##owner_type/verb/##verb_path_name; \
body_path = ##owner_type/proc/__gvb_##verb_path_name; \
}; \
-##owner_type/verb/##verb_path_name(##verb_args) \
+##owner_type/verb/##verb_path_name() \
{ \
set name = ##verb_name; \
set desc = ##verb_desc; \
@@ -23,23 +26,71 @@
set popup_menu = ##show_in_context_menu; \
set category = ##verb_category; \
set instant = ##is_instant; \
- __gvb_##verb_path_name(arglist(args)); \
+ INVOKE_ASYNC(SSverbs, TYPE_PROC_REF(/datum/controller/subsystem/verbs, invoke_verb), src, ##owner_type/verb/##verb_path_name, args, usr); \
}; \
-##owner_type/proc/__gvb_##verb_path_name(##verb_args)
+##owner_type/proc/__gvb_##verb_path_name(list/structured_args)
+
+#define GAME_VERB(owner_type, verb_path_name, verb_name, verb_category) \
+_GAME_VERB(owner_type, verb_path_name, verb_name, "", verb_category, TRUE, FALSE, FALSE)
+
+#define GAME_VERB_DESC(owner_type, verb_path_name, verb_name, verb_desc, verb_category) \
+_GAME_VERB(owner_type, verb_path_name, verb_name, verb_desc, verb_category, TRUE, FALSE, FALSE)
+
+#define _GAME_VERB_CONTEXT(owner_type, verb_path_name, verb_name, verb_desc, verb_category, context_type) \
+/datum/verb_metadata##owner_type/##verb_path_name \
+{ \
+ name = ##verb_name; \
+ description = ##verb_desc; \
+ category = ##verb_category; \
+ verb_path = ##owner_type/verb/##verb_path_name; \
+ body_path = ##owner_type/proc/__gvb_##verb_path_name; \
+}; \
+##owner_type/verb/##verb_path_name(var##context_type/__context_target in world) \
+{ \
+ set name = ##verb_name; \
+ set desc = ##verb_desc; \
+ set hidden = FALSE; \
+ set popup_menu = TRUE; \
+ set category = ##verb_category; \
+ if(__context_target) { var/list/__args = args.Copy(); __args += list(VERB_ARG_CONTEXT_TARGET_KEY = __context_target); INVOKE_ASYNC(SSverbs, TYPE_PROC_REF(/datum/controller/subsystem/verbs, invoke_verb), src, ##owner_type/verb/##verb_path_name, __args, usr); } \
+ else { INVOKE_ASYNC(SSverbs, TYPE_PROC_REF(/datum/controller/subsystem/verbs, invoke_verb), src, ##owner_type/verb/##verb_path_name, args, usr); }; \
+}; \
+##owner_type/proc/__gvb_##verb_path_name(list/structured_args)
+
+#define GAME_VERB_CONTEXT(owner_type, verb_path_name, verb_name, verb_desc, verb_category, context_type) \
+_GAME_VERB_CONTEXT(owner_type, verb_path_name, verb_name, verb_desc, verb_category, context_type)
-#define GAME_VERB(owner_type, verb_path_name, verb_name, verb_category, verb_args...) \
-_GAME_VERB(owner_type, verb_path_name, verb_name, "", verb_category, TRUE, FALSE, FALSE, ##verb_args)
+#define GAME_VERB_HIDDEN(owner_type, verb_path_name, verb_name) \
+_GAME_VERB(owner_type, verb_path_name, verb_name, "", null, FALSE, TRUE, FALSE)
-#define GAME_VERB_DESC(owner_type, verb_path_name, verb_name, verb_desc, verb_category, verb_args...) \
-_GAME_VERB(owner_type, verb_path_name, verb_name, verb_desc, verb_category, TRUE, FALSE, FALSE, ##verb_args)
+#define GAME_VERB_HIDDEN_INSTANT(owner_type, verb_path_name, verb_name) \
+_GAME_VERB(owner_type, verb_path_name, verb_name, "", null, FALSE, TRUE, TRUE)
+
+/// For where you still need native args, ie, when called directly from the skin or some BYOND function
+#define _GAME_VERB_NATIVE(owner_type, verb_path_name, verb_name, verb_category, is_instant, verb_args...) \
+/datum/verb_metadata##owner_type/##verb_path_name \
+{ \
+ name = ##verb_name; \
+ category = ##verb_category; \
+ verb_path = ##owner_type/verb/##verb_path_name; \
+ body_path = ##owner_type/proc/__gvb_##verb_path_name; \
+}; \
+##owner_type/verb/##verb_path_name(##verb_args) \
+{ \
+ set name = ##verb_name; \
+ set hidden = TRUE; \
+ set instant = ##is_instant; \
+ __gvb_##verb_path_name(arglist(args)); \
+}; \
+##owner_type/proc/__gvb_##verb_path_name(##verb_args)
-#define GAME_VERB_HIDDEN(owner_type, verb_path_name, verb_name, verb_args...) \
-_GAME_VERB(owner_type, verb_path_name, verb_name, "", null, FALSE, TRUE, FALSE, ##verb_args)
+#define GAME_VERB_NATIVE(owner_type, verb_path_name, verb_name, verb_category, verb_args...) \
+_GAME_VERB_NATIVE(owner_type, verb_path_name, verb_name, verb_category, FALSE, ##verb_args)
-#define GAME_VERB_HIDDEN_INSTANT(owner_type, verb_path_name, verb_name, verb_args...) \
-_GAME_VERB(owner_type, verb_path_name, verb_name, "", null, FALSE, TRUE, TRUE, ##verb_args)
+#define GAME_VERB_NATIVE_INSTANT(owner_type, verb_path_name, verb_name, verb_category, verb_args...) \
+_GAME_VERB_NATIVE(owner_type, verb_path_name, verb_name, verb_category, TRUE, ##verb_args)
-#define _GAME_VERB_PROC(owner_type, verb_path_name, verb_name, verb_desc, verb_category, show_in_context_menu, is_hidden, verb_args...) \
+#define _GAME_VERB_PROC(owner_type, verb_path_name, verb_name, verb_desc, verb_category, show_in_context_menu, is_hidden) \
/datum/verb_metadata##owner_type/##verb_path_name \
{ \
name = ##verb_name; \
@@ -48,24 +99,24 @@ _GAME_VERB(owner_type, verb_path_name, verb_name, "", null, FALSE, TRUE, TRUE, #
verb_path = ##owner_type/proc/##verb_path_name; \
body_path = ##owner_type/proc/__gvb_##verb_path_name; \
}; \
-##owner_type/proc/##verb_path_name(##verb_args) \
+##owner_type/proc/##verb_path_name() \
{ \
set name = ##verb_name; \
set desc = ##verb_desc; \
set hidden = ##is_hidden; \
set popup_menu = ##show_in_context_menu; \
set category = ##verb_category; \
- __gvb_##verb_path_name(arglist(args)); \
+ INVOKE_ASYNC(SSverbs, TYPE_PROC_REF(/datum/controller/subsystem/verbs, invoke_verb), src, ##owner_type/proc/##verb_path_name, args, usr); \
}; \
-##owner_type/proc/__gvb_##verb_path_name(##verb_args)
+##owner_type/proc/__gvb_##verb_path_name(list/structured_args)
-#define GAME_VERB_PROC(owner_type, verb_path_name, verb_name, verb_category, verb_args...) \
-_GAME_VERB_PROC(owner_type, verb_path_name, verb_name, "", verb_category, TRUE, FALSE, ##verb_args)
+#define GAME_VERB_PROC(owner_type, verb_path_name, verb_name, verb_category) \
+_GAME_VERB_PROC(owner_type, verb_path_name, verb_name, "", verb_category, TRUE, FALSE)
-#define GAME_VERB_PROC_DESC(owner_type, verb_path_name, verb_name, verb_desc, verb_category, verb_args...) \
-_GAME_VERB_PROC(owner_type, verb_path_name, verb_name, verb_desc, verb_category, TRUE, FALSE, ##verb_args)
+#define GAME_VERB_PROC_DESC(owner_type, verb_path_name, verb_name, verb_desc, verb_category) \
+_GAME_VERB_PROC(owner_type, verb_path_name, verb_name, verb_desc, verb_category, TRUE, FALSE)
-#define _GAME_VERB_SRC(owner_type, verb_path_name, src_value, verb_name, verb_desc, verb_category, show_in_context_menu, is_hidden, verb_args...) \
+#define _GAME_VERB_SRC(owner_type, verb_path_name, src_value, verb_name, verb_desc, verb_category, show_in_context_menu, is_hidden) \
/datum/verb_metadata##owner_type/##verb_path_name \
{ \
name = ##verb_name; \
@@ -74,7 +125,7 @@ _GAME_VERB_PROC(owner_type, verb_path_name, verb_name, verb_desc, verb_category,
verb_path = ##owner_type/verb/##verb_path_name; \
body_path = ##owner_type/proc/__gvb_##verb_path_name; \
}; \
-##owner_type/verb/##verb_path_name(##verb_args) \
+##owner_type/verb/##verb_path_name() \
{ \
set name = ##verb_name; \
set desc = ##verb_desc; \
@@ -82,17 +133,17 @@ _GAME_VERB_PROC(owner_type, verb_path_name, verb_name, verb_desc, verb_category,
set popup_menu = ##show_in_context_menu; \
set category = ##verb_category; \
set src in src_value; \
- __gvb_##verb_path_name(arglist(args)); \
+ INVOKE_ASYNC(SSverbs, TYPE_PROC_REF(/datum/controller/subsystem/verbs, invoke_verb), src, ##owner_type/verb/##verb_path_name, args, usr); \
}; \
-##owner_type/proc/__gvb_##verb_path_name(##verb_args)
+##owner_type/proc/__gvb_##verb_path_name(list/structured_args)
-#define GAME_VERB_SRC(owner_type, verb_path_name, src_value, verb_name, verb_category, verb_args...) \
-_GAME_VERB_SRC(owner_type, verb_path_name, src_value, verb_name, "", verb_category, TRUE, FALSE, ##verb_args)
+#define GAME_VERB_SRC(owner_type, verb_path_name, src_value, verb_name, verb_category) \
+_GAME_VERB_SRC(owner_type, verb_path_name, src_value, verb_name, "", verb_category, TRUE, FALSE)
-#define GAME_VERB_SRC_DESC(owner_type, verb_path_name, src_value, verb_name, verb_desc, verb_category, verb_args...) \
-_GAME_VERB_SRC(owner_type, verb_path_name, src_value, verb_name, verb_desc, verb_category, TRUE, FALSE, ##verb_args)
+#define GAME_VERB_SRC_DESC(owner_type, verb_path_name, src_value, verb_name, verb_desc, verb_category) \
+_GAME_VERB_SRC(owner_type, verb_path_name, src_value, verb_name, verb_desc, verb_category, TRUE, FALSE)
-#define _GAME_VERB_GLOBAL_PROC(verb_path_name, verb_name, verb_desc, verb_category, is_hidden, verb_args...) \
+#define _GAME_VERB_GLOBAL_PROC(verb_path_name, verb_name, verb_desc, verb_category, is_hidden) \
/datum/verb_metadata/##verb_path_name \
{ \
name = ##verb_name; \
@@ -101,19 +152,56 @@ _GAME_VERB_SRC(owner_type, verb_path_name, src_value, verb_name, verb_desc, verb
verb_path = /proc/##verb_path_name; \
body_path = /proc/__gvb_##verb_path_name; \
}; \
-/proc/##verb_path_name(##verb_args) \
+/proc/##verb_path_name() \
{ \
set name = ##verb_name; \
set desc = ##verb_desc; \
set hidden = ##is_hidden; \
set category = ##verb_category; \
- __gvb_##verb_path_name(arglist(args)); \
+ INVOKE_ASYNC(SSverbs, TYPE_PROC_REF(/datum/controller/subsystem/verbs, invoke_verb), usr, /proc/##verb_path_name, args, usr); \
}; \
-/proc/__gvb_##verb_path_name(##verb_args)
+/proc/__gvb_##verb_path_name(list/structured_args)
-#define GAME_VERB_GLOBAL_PROC(verb_path_name, verb_name, verb_desc, verb_category, verb_args...) \
-_GAME_VERB_GLOBAL_PROC(verb_path_name, verb_name, verb_desc, verb_category, FALSE, ##verb_args)
+#define GAME_VERB_GLOBAL_PROC(verb_path_name, verb_name, verb_desc, verb_category) \
+_GAME_VERB_GLOBAL_PROC(verb_path_name, verb_name, verb_desc, verb_category, FALSE)
-#define INVOKE_GAME_VERB(target, owner_type, verb_path_name, args...) SSverbs.invoke(target, /datum/verb_metadata##owner_type/##verb_path_name, ##args)
+#define INVOKE_GAME_VERB(target, caller, owner_type, verb_path_name, args...) SSverbs.invoke(target, /datum/verb_metadata##owner_type/##verb_path_name, caller, alist(##args))
#define ASSIGN_GAME_VERB(target, owner_type, verb_path_name) SSverbs.assign_verb(target, /datum/verb_metadata##owner_type/##verb_path_name)
#define UNASSIGN_GAME_VERB(target, owner_type, verb_path_name) SSverbs.unassign_verb(target, /datum/verb_metadata##owner_type/##verb_path_name)
+
+/// Self-registers argument metadata at world init and extracts value from structured_args at runtime.
+/// For primitive args: VERB_ARG(count, VERB_ARG_TYPE_NUM, VERB_ARG_SOURCE_INPUT)
+/// For typed args: VERB_ARG_TYPED(target, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob/living)
+#define VERB_ARG(name, arg_type, source) \
+ var/static/____reg_##name = ____register_verb_arg(__TYPE__, __PROC__, #name, arg_type, null, source); \
+ var/##name = structured_args[#name]
+
+#define VERB_ARG_TYPED(name, arg_type, source, type_path) \
+ var/static/____reg_##name = ____register_verb_arg(__TYPE__, __PROC__, #name, arg_type, type_path, source); \
+ var##type_path/##name = structured_args[#name]
+
+#define VERB_ARG_TYPE_TEXT (1<<0)
+#define VERB_ARG_TYPE_NUM (1<<1)
+#define VERB_ARG_TYPE_MESSAGE (1<<2)
+#define VERB_ARG_TYPE_SOUND (1<<3)
+#define VERB_ARG_TYPE_ICON (1<<4)
+#define VERB_ARG_TYPE_MOB (1<<5)
+#define VERB_ARG_TYPE_OBJ (1<<6)
+#define VERB_ARG_TYPE_TURF (1<<7)
+#define VERB_ARG_TYPE_AREA (1<<8)
+#define VERB_ARG_TYPE_DATUM (1<<9)
+#define VERB_ARG_TYPE_ATOM (1<<10)
+#define VERB_ARG_TYPE_TYPEPATH (1<<11)
+
+#define VERB_ARG_TYPE_ENTITY (VERB_ARG_TYPE_MOB | VERB_ARG_TYPE_OBJ | VERB_ARG_TYPE_TURF | VERB_ARG_TYPE_AREA | VERB_ARG_TYPE_DATUM | VERB_ARG_TYPE_ATOM)
+
+/// Picks from a fixed list of options. Use with VERB_ARG_LIST.
+#define VERB_ARG_LIST(name, options_list) \
+ var/static/____reg_##name = ____register_verb_arg_list(__TYPE__, __PROC__, #name, options_list); \
+ var/##name = structured_args[#name]
+
+// Argument source constants
+#define VERB_ARG_SOURCE_INPUT "input"
+#define VERB_ARG_SOURCE_WORLD "world"
+#define VERB_ARG_SOURCE_VIEW "view"
+#define VERB_ARG_SOURCE_LIST "list"
diff --git a/code/__DEFINES/~darkpack/traits/declarations.dm b/code/__DEFINES/~darkpack/traits/declarations.dm
index 9efc72beea54..419d5dcca57b 100644
--- a/code/__DEFINES/~darkpack/traits/declarations.dm
+++ b/code/__DEFINES/~darkpack/traits/declarations.dm
@@ -170,38 +170,41 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
/// If the mob can't have surgery done on it. See: Blood form Tzimisce
#define TRAIT_SURGERY_INAPPLICABLE "surgery_inapplicable"
// BELOW ARE ALL MERITS/FLAWS
-#define TRAIT_ILLEGAL_IDENTITY "illegal_identity" // GOVERNMENT
+#define TRAIT_ACUTE_HEARING "acute_hearing"
#define TRAIT_ANIMAL_MUSK "animal_musk"
-#define TRAIT_PERMAFANGS "permafangs"
+#define TRAIT_BANNED_TRANSFORMATION "banned_transformation"
+#define TRAIT_BEACON_OF_THE_UNHOLY "beacon_of_the_unholy"
+#define TRAIT_BETRAYERS_MARK "betrayers_mark"
+#define TRAIT_CALM_HEART "calm_heart"
+#define TRAIT_DISFIGURED_APPEARANCE "disfigured_appearance"
#define TRAIT_DULLFANGS "dullfangs"
+#define TRAIT_EAT_FOOD "eat_food"
+#define TRAIT_EFFICIENT_DIGESTION "efficient_digestion"
+#define TRAIT_FAIR_GLABRO "fair_glabro"
+#define TRAIT_GLOWING_EYES "glowing_eyes"
+#define TRAIT_GRAVE_SMELL "grave_smell"
+#define TRAIT_GRIP_OF_THE_DAMNED "grip_of_the_damned"
+#define TRAIT_HORRIFIC_APPEARANCE "horrific_appearance"
+#define TRAIT_HUGE_SIZE "huge_size"
+#define TRAIT_ILLEGAL_IDENTITY "illegal_identity" // GOVERNMENT
+#define TRAIT_MERIT_UNTAMABLE "merit_untamable"
+#define TRAIT_METAMORPH "metamorph"
+#define TRAIT_MONSTROUS "monstrous"
#define TRAIT_ORGANOVORE "organovore"
+#define TRAIT_PERMAFANGS "permafangs"
+#define TRAIT_PIERCED_VEIL "pierced_veil"
+#define TRAIT_PREY_EXCLUSION "prey_exclusion"
+#define TRAIT_PROMETHEAN_CLAY "promethean_clay"
#define TRAIT_SANGUINE_INCONGRUITY "sanguine_incongruity"
-#define TRAIT_MONSTROUS "monstrous"
-#define TRAIT_HORRIFIC_APPEARANCE "horrific_appearance"
#define TRAIT_STILLNESS_OF_DEATH "stillness_of_death"
-#define TRAIT_THIRD_EYE "third_eye"
-#define TRAIT_PREY_EXCLUSION "prey_exclusion"
-#define TRAIT_VICTIM_OF_THE_MASQUERADE "victim_of_the_masquerade"
-#define TRAIT_VAMPIRE_TERRITORIAL "territorial"
-#define TRAIT_BETRAYERS_MARK "betrayers_mark"
-#define TRAIT_EFFICIENT_DIGESTION "efficient_digestion"
-#define TRAIT_GRIP_OF_THE_DAMNED "grip_of_the_damned"
#define TRAIT_THE_LARGEST_MAW "the_largest_maw"
-#define TRAIT_PIERCED_VEIL "pierced_veil"
-#define TRAIT_WEAK_WILLED "weak_willed"
+#define TRAIT_THIRD_EYE "third_eye"
+#define TRAIT_THIRST_OF_AGES "thirst_of_ages"
#define TRAIT_TIME_SENSE "time_sense"
-#define TRAIT_METAMORPH "metamorph"
-#define TRAIT_MERIT_UNTAMABLE "merit_untamable"
-#define TRAIT_FAIR_GLABRO "fair_glabro"
-#define TRAIT_EAT_FOOD "eat_food"
-#define TRAIT_CALM_HEART "calm_heart"
-#define TRAIT_ACUTE_HEARING "acute_hearing"
-#define TRAIT_DISFIGURED_APPEARANCE "disfigured_appearance"
-#define TRAIT_GRAVE_SMELL "grave_smell"
-#define TRAIT_GLOWING_EYES "glowing_eyes"
-#define TRAIT_PROMETHEAN_CLAY "promethean_clay"
#define TRAIT_UNCONTROLLABLE "uncontrollable"
-#define TRAIT_THIRST_OF_AGES "thirst_of_ages"
+#define TRAIT_VAMPIRE_TERRITORIAL "territorial"
+#define TRAIT_VICTIM_OF_THE_MASQUERADE "victim_of_the_masquerade"
+#define TRAIT_WEAK_WILLED "weak_willed"
// Below are traits given by items/clothing being equiped or worn
#define TRAIT_BRASSKNUCKLES "brassknuckles"
diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm
index 9bc15ad46f52..a460cf656c77 100644
--- a/code/__HELPERS/_lists.dm
+++ b/code/__HELPERS/_lists.dm
@@ -49,7 +49,7 @@
*/
///Initialize the lazylist
-#define LAZYINITLIST(L) if (!L) { L = list(); }
+#define LAZYINITLIST(L) L ||= list();
///If the provided list is empty, set it to null
#define UNSETEMPTY(L) if (L && !length(L)) L = null
///If the provided key -> list is empty, remove it from the list
@@ -59,25 +59,25 @@
///Remove an item from the list, set the list to null if empty
#define LAZYREMOVE(L, I) if(L) { L -= I; if(!length(L)) { L = null; } }
///Add an item to the list, if the list is null it will initialize it
-#define LAZYADD(L, I) if(!L) { L = list(); } L += I;
+#define LAZYADD(L, I) L ||= list(); L += I;
///Add an item to the list if not already present, if the list is null it will initialize it
-#define LAZYOR(L, I) if(!L) { L = list(); } L |= I;
+#define LAZYOR(L, I) L ||= list(); L |= I;
///Returns the key of the submitted item in the list
#define LAZYFIND(L, V) (L?.Find(V))
///returns L[I] if L exists and I is a valid index of L, runtimes if L is not a list
#define LAZYACCESS(L, I) (L ? (isnum(I) ? (I > 0 && I <= length(L) ? L[I] : null) : L[I]) : null)
///Sets the item K to the value V, if the list is null it will initialize it
-#define LAZYSET(L, K, V) if(!L) { L = list(); } L[K] = V;
+#define LAZYSET(L, K, V) L ||= list(); L[K] = V;
///Sets the length of a lazylist
-#define LAZYSETLEN(L, V) if (!L) { L = list(); } L.len = V;
+#define LAZYSETLEN(L, V) L ||= list(); L.len = V;
///Returns the length of the list
#define LAZYLEN(L) length(L)
///Sets a list to null
#define LAZYNULL(L) L = null
///Adds to the item K the value V, if the list is null it will initialize it
-#define LAZYADDASSOC(L, K, V) if(!L) { L = list(); } L[K] += V;
+#define LAZYADDASSOC(L, K, V) L ||= list(); L[K] += V;
///This is used to add onto lazy assoc list when the value you're adding is a /list/. This one has extra safety over lazyaddassoc because the value could be null (and thus cant be used to += objects)
-#define LAZYADDASSOCLIST(L, K, V) if(!L) { L = list(); } L[K] += list(V);
+#define LAZYADDASSOCLIST(L, K, V) L ||= list(); L[K] += list(V);
///Removes the value V from the item K, if the item K is empty will remove it from the list, if the list is empty will set the list to null
#define LAZYREMOVEASSOC(L, K, V) if(L?[K]) { L[K] -= V; if(!length(L[K])) L -= K; if(!length(L)) L = null; }
///Accesses an associative list, returns null if nothing is found
@@ -105,6 +105,10 @@
} else { \
lazylist.Insert(index, value); \
}
+/// Returns the smallest element in the lazy list, or default if the list is null
+#define LAZYMAX(lazylist, default) (isnull(lazylist) ? default : max(lazylist))
+/// Returns the largest element in the lazy list, or default if the list is null
+#define LAZYMIN(lazylist, default) (isnull(lazylist) ? default : min(lazylist))
///Ensures the length of a list is at least I, prefilling it with V if needed. if V is a proc call, it is repeated for each new index so that list() can just make a new list for each item.
#define LISTASSERTLEN(L, I, V...) \
@@ -275,15 +279,24 @@
* Arguments:
* - [type_to_check][/datum]: An instance to check.
* - [list_to_check][/list]: A list of typepaths to check the type_to_check against.
- * - zebra: Whether to use the value of the matching type in the list instead of just returning true when a match is found.
+ * - zebra: Whether to use the value of the matching type (closest to our type) in the list instead of just returning true when a match is found.
+ * - return_first_match: If zebra is true, this will return the first match found, instead of the value of closest type
*/
-/proc/is_type_in_list(datum/type_to_check, list/list_to_check, zebra = FALSE)
+/proc/is_type_in_list(datum/type_to_check, list/list_to_check, zebra = FALSE, return_first_match = FALSE)
if(!LAZYLEN(list_to_check) || !type_to_check)
return FALSE
+ . = FALSE
+ var/highest_matched_type
for(var/type in list_to_check)
- if(istype(type_to_check, type))
- return !zebra || list_to_check[type] // Subtypes must come first in zebra lists.
- return FALSE
+ if(!istype(type_to_check, type))
+ continue
+ if(!zebra)
+ return TRUE
+ if(return_first_match || type == type_to_check.type)
+ return list_to_check[type]
+ if(!highest_matched_type || ispath(type, highest_matched_type))
+ . = list_to_check[type]
+ highest_matched_type = type
/**
* Checks for specific paths in a list.
diff --git a/code/__HELPERS/events.dm b/code/__HELPERS/events.dm
index 0a1d871681c8..b777176877e3 100644
--- a/code/__HELPERS/events.dm
+++ b/code/__HELPERS/events.dm
@@ -17,7 +17,7 @@
if(atmos_sensitive && !is_safe_turf(spawn_turf))
continue
- if(require_darkness && spawn_turf.get_lumcount() > UNLIT_AREA_BRIGHTNESS)
+ if(require_darkness && spawn_turf.check_lumcount_above(UNLIT_AREA_BRIGHTNESS))
continue
possible_spawns += spawn_turf
diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index 63ab8d7e0396..56aba69bfeae 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -43,9 +43,7 @@
if(player_mob.stat == DEAD)
return FALSE
- if(issilicon(player_mob) || isbrain(player_mob))
- return FALSE
- if(istype(player_mob) && (player_mob.dna?.species?.id == SPECIES_ZOMBIE_INFECTIOUS))
+ if(HAS_TRAIT(player_mob, TRAIT_NEVER_CONSIDERED_ALIVE))
return FALSE
return TRUE
diff --git a/code/__HELPERS/hallucinations.dm b/code/__HELPERS/hallucinations.dm
index c19005e0acc8..1902dd157872 100644
--- a/code/__HELPERS/hallucinations.dm
+++ b/code/__HELPERS/hallucinations.dm
@@ -66,6 +66,7 @@ GLOBAL_LIST_EMPTY(all_ongoing_hallucinations)
qdel(new_hallucination)
return
+ SEND_SIGNAL(src, COMSIG_LIVING_HALLUCINATING, new_hallucination)
investigate_log("was afflicted with a hallucination of type [hallucination_type] by: [hallucination_source]. \
([new_hallucination.feedback_details])", INVESTIGATE_HALLUCINATIONS)
return new_hallucination
diff --git a/code/__HELPERS/hearted.dm b/code/__HELPERS/hearted.dm
index d8f7832cbc06..2ce7324701f0 100644
--- a/code/__HELPERS/hearted.dm
+++ b/code/__HELPERS/hearted.dm
@@ -93,7 +93,7 @@
return
to_chat(heart_sender, span_nicegreen("Commendation sent!"))
message_admins("[key_name(heart_sender)] commended [key_name(src)] [instant ? "(instant)" : ""]")
- log_admin("[key_name(heart_sender)] commended [key_name(src)] [instant ? "(instant)" : ""]")
+ log_admin_private("[key_name(heart_sender)] commended [key_name(src)] [instant ? "(instant)" : ""]")
if(instant || SSticker.current_state == GAME_STATE_FINISHED)
client.adjust_heart(duration)
else
diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm
index 9898db8bacf4..b19d355b6ba6 100644
--- a/code/__HELPERS/icons.dm
+++ b/code/__HELPERS/icons.dm
@@ -1235,7 +1235,7 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects)
return TRUE
var/static/list/screams = list()
- if(!isnull(screams[file]))
+ if(isnull(screams[file]))
screams[file] = TRUE
stack_trace("State [state] in file [file] does not exist.")
diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index 6000a322fb66..93d82f18c965 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -9,32 +9,21 @@
/// Returns one of the human blood types at random, weighted by their rarity
/proc/random_human_blood_type()
RETURN_TYPE(/datum/blood_type)
- return get_blood_type(pick_weight(
- list(
- BLOOD_TYPE_O_MINUS = 4,
- BLOOD_TYPE_O_PLUS = 36,
- BLOOD_TYPE_A_MINUS = 3,
- BLOOD_TYPE_A_PLUS = 28,
- BLOOD_TYPE_B_MINUS= 1,
- BLOOD_TYPE_B_PLUS = 20,
- BLOOD_TYPE_AB_MINUS = 1,
- BLOOD_TYPE_AB_PLUS = 5,
- )))
-
-// DARKPACK EDIT ADD START - Vitae
-/proc/random_human_blood_type_name()
- return pick_weight(
- list(
- BLOOD_TYPE_O_MINUS = 4,
- BLOOD_TYPE_O_PLUS = 36,
- BLOOD_TYPE_A_MINUS = 3,
- BLOOD_TYPE_A_PLUS = 28,
- BLOOD_TYPE_B_MINUS= 1,
- BLOOD_TYPE_B_PLUS = 20,
- BLOOD_TYPE_AB_MINUS = 1,
- BLOOD_TYPE_AB_PLUS = 5,
- ))
-// DARKPACK EDIT ADD END
+ return get_blood_type(pick_weight(GLOB.human_blood_types)) // DARKPACK EDIT CHANGE
+
+/proc/get_roundstart_blood_types()
+ var/static/list/cached_blood_types
+ if(length(cached_blood_types))
+ return cached_blood_types
+
+ cached_blood_types = list()
+ cached_blood_types |= subtypesof(/datum/blood_type/human)
+ for(var/species_id in get_selectable_species())
+ var/datum/species/species_type = GLOB.species_list[species_id]
+ if(species_type::exotic_bloodtype)
+ cached_blood_types |= species_type::exotic_bloodtype
+
+ return cached_blood_types
/proc/random_eye_color()
switch(pick(20;"brown",20;"hazel",20;"grey",15;"blue",15;"green",1;"amber",1;"albino"))
@@ -440,7 +429,7 @@ GLOBAL_LIST_INIT(skin_tone_names, list(
* * temp_diff (required) The difference between two temperatures
* * change_rate (optional)(Default: 0.06) The rate of range multiplier
*/
-/proc/get_temp_change_amount(temp_diff, change_rate = 0.06)
+/proc/get_temp_change_amount(temp_diff, change_rate = BODYTEMP_STANDARD_CHANGE_RATE)
if(temp_diff < 0)
return -(BODYTEMP_AUTORECOVERY_DIVISOR / 2) * log(1 - (temp_diff * change_rate))
return (BODYTEMP_AUTORECOVERY_DIVISOR / 2) * log(1 + (temp_diff * change_rate))
@@ -723,16 +712,34 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
/**
* Iterates over all mobs that can see the passed movable and adds specific mood events to them based on their personalities.
*
- * * source: String source for the mood event
+ * * source: The source of the mood event, usually the mob doing something
+ * * mood_key: String source for the mood event
* * personality_to_mood: A list mapping personality types to mood event types. Example: list(/datum/personality/chill = /datum/mood_event/chill_guy)
* * range: The range in which to check for viewers. Default is view range.
* * additional args may be supplied to pass into the mood event constructor.
*/
/proc/add_personality_mood_to_viewers(atom/movable/source, mood_key, list/personality_to_mood, range, ...)
for(var/mob/living/nearby in viewers(range, source))
- if(IS_UNCONSCIOUS(nearby) || nearby.is_blind())
+ if(nearby == source || IS_UNCONSCIOUS(nearby) || nearby.is_blind())
continue
- for(var/personality in personality_to_mood)
+ for(var/personality, moodlet in personality_to_mood)
if(HAS_PERSONALITY(nearby, personality))
- nearby.add_mood_event(arglist( list("[mood_key]_[personality]", personality_to_mood[personality]) + args.Copy(4) ))
+ nearby.add_mood_event(arglist( list("[mood_key]_[personality]", moodlet) + args.Copy(4) ))
break
+
+///Gets an emote sound from a specific list of sounds. Supports lists and genders. Used by emote datums for default sounds, and tongues, masks etc. for overrides.
+/proc/get_emote_sound_from_list(sound, mob/living/user)
+ if(islist(sound))
+ var/list/sounds = sound
+ var/list/possible_sounds = sounds.Copy()
+ var/gender = astype(user, /mob/living/carbon/human)?.physique || user.gender
+ if(gender in possible_sounds)
+ possible_sounds = possible_sounds[gender]
+ if(!islist(possible_sounds))
+ return possible_sounds //it's a single sound
+ else
+ possible_sounds -= list(MALE, FEMALE, PLURAL, NEUTER)
+ if(!length(possible_sounds))
+ return null
+ sound = pick(possible_sounds)
+ return sound
diff --git a/code/__HELPERS/verbs.dm b/code/__HELPERS/verbs.dm
index badd3c6727ae..d93666c3087f 100644
--- a/code/__HELPERS/verbs.dm
+++ b/code/__HELPERS/verbs.dm
@@ -46,6 +46,14 @@
target.stat_panel.send_message("add_verb_list", output_list)
+ if(target.tgui_panel?.is_ready())
+ var/list/panel_list = list()
+ for(var/procpath/verb_to_add as anything in verbs_list)
+ if(!SSverbs.verbs_by_verb_path[verb_to_add] && !SSadmin_verbs.admin_verbs_by_verb_path[verb_to_add] && !istext(verb_to_add.category))
+ continue
+ panel_list += list(SSverbs.serialize_verb(verb_to_add))
+ target.tgui_panel.window.send_message("verbs/add", list("verbs" = panel_list))
+
SEND_SIGNAL(target, COMSIG_CLIENT_VERB_ADDED, verbs_list)
/**
@@ -95,4 +103,10 @@
target.stat_panel.send_message("remove_verb_list", output_list)
+ if(target.tgui_panel?.is_ready())
+ var/list/panel_list = list()
+ for(var/procpath/verb_to_remove as anything in verbs_list)
+ panel_list += list(verb_to_remove.name)
+ target.tgui_panel.window.send_message("verbs/remove", list("names" = panel_list))
+
SEND_SIGNAL(target, COMSIG_CLIENT_VERB_REMOVED, verbs_list)
diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm
index 57842773159e..43e20072d603 100644
--- a/code/_globalvars/bitfields.dm
+++ b/code/_globalvars/bitfields.dm
@@ -29,6 +29,8 @@ GLOBAL_LIST_INIT(bitfields, generate_bitfields())
/// Returns null if no such field exists, a list of all matching flags by name otherwise
/proc/get_matching_bitflags(var_name, value)
+ if(isnum(var_name))
+ return null
var/list/valid_bitflags = get_valid_bitflags(var_name)
if(!length(valid_bitflags))
return null
diff --git a/code/_globalvars/layers.dm b/code/_globalvars/layers.dm
index a22ba26c175a..815069d5a636 100644
--- a/code/_globalvars/layers.dm
+++ b/code/_globalvars/layers.dm
@@ -3,6 +3,7 @@ GLOBAL_LIST_INIT(admin_readable_planes, list(
"FIELD_OF_VISION_BLOCKER_PLANE" = FIELD_OF_VISION_BLOCKER_PLANE,
"CLICKCATCHER_PLANE" = CLICKCATCHER_PLANE,
"PLANE_SPACE" = PLANE_SPACE,
+ "WEATHER_MASK_PLANE" = WEATHER_MASK_PLANE,
"PLANE_SPACE_PARALLAX" = PLANE_SPACE_PARALLAX,
"DISPLACEMENT_PLANE" = DISPLACEMENT_PLANE,
"RENDER_PLANE_TRANSPARENT" = RENDER_PLANE_TRANSPARENT,
@@ -15,6 +16,7 @@ GLOBAL_LIST_INIT(admin_readable_planes, list(
"RENDER_PLANE_GAME_WORLD" = RENDER_PLANE_GAME_WORLD,
"DEFAULT_PLANE" = DEFAULT_PLANE,
"WEATHER_PLANE" = WEATHER_PLANE,
+ "PARTICLE_WEATHER_PLANE" = PARTICLE_WEATHER_PLANE,
"AREA_PLANE" = AREA_PLANE,
"MASSIVE_OBJ_PLANE" = MASSIVE_OBJ_PLANE,
"GHOST_PLANE" = GHOST_PLANE,
@@ -31,6 +33,8 @@ GLOBAL_LIST_INIT(admin_readable_planes, list(
"RENDER_PLANE_LIGHTING" = RENDER_PLANE_LIGHTING,
"RENDER_PLANE_LIGHT_MASK" = RENDER_PLANE_LIGHT_MASK,
"RENDER_PLANE_SPECULAR" = RENDER_PLANE_SPECULAR,
+ "RENDER_PLANE_PARTICLE_WEATHER" = RENDER_PLANE_PARTICLE_WEATHER,
+ "RENDER_PLANE_EMISSIVE_PARTICLE_WEATHER" = RENDER_PLANE_EMISSIVE_PARTICLE_WEATHER,
"ABOVE_LIGHTING_PLANE" = ABOVE_LIGHTING_PLANE,
"WEATHER_GLOW_PLANE" = WEATHER_GLOW_PLANE,
"PIPECRAWL_IMAGES_PLANE" = PIPECRAWL_IMAGES_PLANE,
@@ -134,6 +138,7 @@ GLOBAL_LIST_INIT(admin_readable_layers, list(
"WALL_OBJ_LAYER" = WALL_OBJ_LAYER,
"TRAM_SIGNAL_LAYER" = TRAM_SIGNAL_LAYER,
"EDGED_TURF_LAYER" = EDGED_TURF_LAYER,
+ "EDGED_TURF_LOWER_LAYER" = EDGED_TURF_LOWER_LAYER,
"ON_EDGED_TURF_LAYER" = ON_EDGED_TURF_LAYER,
"SPACEVINE_LAYER" = SPACEVINE_LAYER,
"LARGE_MOB_LAYER" = LARGE_MOB_LAYER,
diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm
index f84b17cb26ae..498ef82f0c19 100644
--- a/code/_globalvars/lists/objects.dm
+++ b/code/_globalvars/lists/objects.dm
@@ -31,8 +31,6 @@ GLOBAL_LIST_EMPTY(deliverybeacontags)
/// List of all singularity components that exist
GLOBAL_LIST_EMPTY_TYPED(singularities, /datum/component/singularity)
-GLOBAL_LIST_EMPTY(item_to_design_list)
-
/// Global list of all non-cooking related crafting recipes.
GLOBAL_LIST_EMPTY(crafting_recipes)
/// Global list of all non-cooking related crafting recipes that don't need to be learned
diff --git a/code/_globalvars/logging.dm b/code/_globalvars/logging.dm
index 5f38afdd86e2..006371a44670 100644
--- a/code/_globalvars/logging.dm
+++ b/code/_globalvars/logging.dm
@@ -80,7 +80,11 @@ GLOBAL_PROTECT(lawchanges)
/// Adds something to the law change log
/proc/log_law_change(mob/living/changer, log_message)
+ if(isnull(changer))
+ log_message = capitalize(log_message)
+
GLOB.lawchanges += "[round_timestamp()] : [changer ? key_name(changer) : "(No mob)"] [log_message]"
+ log_silicon("Law change: [changer ? key_name(changer) : "(No mob)"] [log_message]")
#undef DECLARE_LOG
#undef DECLARE_LOG_NAMED
diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm
index 004662c448f6..44ae6dace8fa 100644
--- a/code/_globalvars/traits/_traits.dm
+++ b/code/_globalvars/traits/_traits.dm
@@ -242,6 +242,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_CAN_STRIP" = TRAIT_CAN_STRIP,
"TRAIT_CAN_THROW_ITEMS" = TRAIT_CAN_THROW_ITEMS,
"TRAIT_CAN_USE_NUKE" = TRAIT_CAN_USE_NUKE,
+ "TRAIT_CAT_EMOTES_ALLOWED" = TRAIT_CAT_EMOTES_ALLOWED,
"TRAIT_CATLIKE_INSTINCT" = TRAIT_CATLIKE_INSTINCT,
"TRAIT_CHANGELING_HIVEMIND" = TRAIT_CHANGELING_HIVEMIND,
"TRAIT_CHASM_DESTROYED" = TRAIT_CHASM_DESTROYED,
@@ -427,13 +428,16 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_MOB_MERGE_STACKS" = TRAIT_MOB_MERGE_STACKS,
"TRAIT_MOB_TIPPED" = TRAIT_MOB_TIPPED,
"TRAIT_MORBID" = TRAIT_MORBID,
+ "TRAIT_MOTH_EMOTES_ALLOWED" = TRAIT_MOTH_EMOTES_ALLOWED,
"TRAIT_MULTIZ_SUIT_SENSORS" = TRAIT_MULTIZ_SUIT_SENSORS,
"TRAIT_MUSICIAN" = TRAIT_MUSICIAN,
"TRAIT_MUTANT_COLORS" = TRAIT_MUTANT_COLORS,
"TRAIT_MUTE" = TRAIT_MUTE,
"TRAIT_NAIVE" = TRAIT_NAIVE,
+ "TRAIT_HEAD_ATMOS_SEALED" = TRAIT_HEAD_ATMOS_SEALED,
"TRAIT_NEARSIGHTED_CORRECTED" = TRAIT_NEARSIGHTED_CORRECTED,
"TRAIT_NEGATES_GRAVITY" = TRAIT_NEGATES_GRAVITY,
+ "TRAIT_NEVER_CONSIDERED_ALIVE" = TRAIT_NEVER_CONSIDERED_ALIVE,
"TRAIT_NEVER_WOUNDED" = TRAIT_NEVER_WOUNDED,
"TRAIT_NICE_SHOT" = TRAIT_NICE_SHOT,
"TRAIT_NIGHT_VISION" = TRAIT_NIGHT_VISION,
@@ -451,14 +455,11 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_NOFIRE_SPREAD" = TRAIT_NOFIRE_SPREAD,
"TRAIT_NOFLASH" = TRAIT_NOFLASH,
"TRAIT_NOGUNS" = TRAIT_NOGUNS,
- "TRAIT_TOSS_GUN_HARD" = TRAIT_TOSS_GUN_HARD,
"TRAIT_NOHARDCRIT" = TRAIT_NOHARDCRIT,
"TRAIT_NOHUNGER" = TRAIT_NOHUNGER,
"TRAIT_NOLIMBDISABLE" = TRAIT_NOLIMBDISABLE,
"TRAIT_NOMOBSWAP" = TRAIT_NOMOBSWAP,
- "TRAIT_HEAD_ATMOS_SEALED" = TRAIT_HEAD_ATMOS_SEALED,
"TRAIT_NOSOFTCRIT" = TRAIT_NOSOFTCRIT,
- "TRAIT_NO_OXYLOSS_PASSOUT" = TRAIT_NO_OXYLOSS_PASSOUT,
"TRAIT_NO_AUGMENTS" = TRAIT_NO_AUGMENTS,
"TRAIT_NO_BLOOD_OVERLAY" = TRAIT_NO_BLOOD_OVERLAY,
"TRAIT_NO_BREATHLESS_DAMAGE" = TRAIT_NO_BREATHLESS_DAMAGE,
@@ -473,6 +474,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_NO_JUMPSUIT" = TRAIT_NO_JUMPSUIT,
"TRAIT_NO_MINDSWAP" = TRAIT_NO_MINDSWAP,
"TRAIT_NO_MIRROR_REFLECTION" = TRAIT_NO_MIRROR_REFLECTION,
+ "TRAIT_NO_OXYLOSS_PASSOUT" = TRAIT_NO_OXYLOSS_PASSOUT,
"TRAIT_NO_PLASMA_TRANSFORM" = TRAIT_NO_PLASMA_TRANSFORM,
"TRAIT_NO_SLIP_ALL" = TRAIT_NO_SLIP_ALL,
"TRAIT_NO_SLIP_ICE" = TRAIT_NO_SLIP_ICE,
@@ -488,7 +490,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_NO_TWOHANDING" = TRAIT_NO_TWOHANDING,
"TRAIT_NO_UNDERWEAR" = TRAIT_NO_UNDERWEAR,
"TRAIT_NO_WITHDRAWALS" = TRAIT_NO_WITHDRAWALS,
- "TRAIT_NO_ZOMBIFY" = TRAIT_NO_ZOMBIFY,
+ "TRAIT_TOSS_GUN_HARD" = TRAIT_TOSS_GUN_HARD,
"TRAIT_HIPPOCRATIC_OATH" = TRAIT_HIPPOCRATIC_OATH,
"TRAIT_NUKEIMMUNE" = TRAIT_NUKEIMMUNE,
"TRAIT_OFF_BALANCE_TACKLER" = TRAIT_OFF_BALANCE_TACKLER,
@@ -693,6 +695,8 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_ACUTE_HEARING" = TRAIT_ACUTE_HEARING, // DARKPACK EDIT ADD - MERITS_FLAWS - ACUTE SENSE
"TRAIT_ANIMAL_MUSK" = TRAIT_ANIMAL_MUSK, // DARKPACK EDIT ADD - MERITS_FLAWS
"TRAIT_AURA_OF_CONFIDENCE" = TRAIT_AURA_OF_CONFIDENCE, // DARKPACK EDIT ADD - WEREWOLF
+ "TRAIT_BANNED_TRANSFORMATION" = TRAIT_BANNED_TRANSFORMATION, // DARKPACK EDIT ADD - MERITS_FLAWS
+ "TRAIT_BEACON_OF_THE_UNHOLY" = TRAIT_BEACON_OF_THE_UNHOLY, // DARKPACK EDIT ADD - MERITS_FLAWS
"TRAIT_BETRAYERS_MARK" = TRAIT_BETRAYERS_MARK, // DARKPACK EDIT ADD - MERITS_FLAWS - (Tremere)
"TRAIT_BLOODY_LOVER" = TRAIT_BLOODY_LOVER, // DARKPACK EDIT ADD
"TRAIT_BLOODY_SUCKER" = TRAIT_BLOODY_SUCKER, // DARKPACK EDIT ADD
@@ -735,6 +739,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_HIDDEN_WYRMTAINT" = TRAIT_HIDDEN_WYRMTAINT, // DARKPACK EDIT ADD
"TRAIT_HOMOSEXUAL" = TRAIT_HOMOSEXUAL, // DARKPACK EDIT ADD
"TRAIT_HORRIFIC_APPEARANCE" = TRAIT_HORRIFIC_APPEARANCE, // DARKPACK EDIT ADD - Cappadocian Quirk
+ "TRAIT_HUGE_SIZE" = TRAIT_HUGE_SIZE, // DARKPACK EDIT ADD - MERITS_FLAWS
"TRAIT_HUNGRY" = TRAIT_HUNGRY, // DARKPACK EDIT ADD
"TRAIT_HUNTED" = TRAIT_HUNTED, // DARKPACK EDIT ADD
"TRAIT_ILLEGAL_IDENTITY" = TRAIT_ILLEGAL_IDENTITY, // DARKPACK EDIT ADD - GOVERMENT
@@ -809,6 +814,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
),
/mob/living/carbon = list(
"TRAIT_BRAINLESS_CARBON" = TRAIT_BRAINLESS_CARBON,
+ "TRAIT_COLD_BLOODED" = TRAIT_COLD_BLOODED,
),
/mob/dead/observer = list(
"TRAIT_NO_OBSERVE" = TRAIT_NO_OBSERVE,
diff --git a/code/_globalvars/traits/admin_tooling.dm b/code/_globalvars/traits/admin_tooling.dm
index 2d57124b8531..acafc5920a96 100644
--- a/code/_globalvars/traits/admin_tooling.dm
+++ b/code/_globalvars/traits/admin_tooling.dm
@@ -76,6 +76,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list(
"TRAIT_CAN_STRIP" = TRAIT_CAN_STRIP,
"TRAIT_CAN_THROW_ITEMS" = TRAIT_CAN_THROW_ITEMS,
"TRAIT_CAN_USE_NUKE" = TRAIT_CAN_USE_NUKE,
+ "TRAIT_CAT_EMOTES_ALLOWED" = TRAIT_CAT_EMOTES_ALLOWED,
"TRAIT_CATLIKE_INSTINCT" = TRAIT_CATLIKE_INSTINCT,
"TRAIT_CHASM_DESTROYED" = TRAIT_CHASM_DESTROYED,
"TRAIT_CHUNKYFINGERS" = TRAIT_CHUNKYFINGERS,
@@ -187,6 +188,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list(
"TRAIT_MINDSHIELD" = TRAIT_MINDSHIELD,
"TRAIT_MOB_HIDE_HAPPINESS" = TRAIT_MOB_HIDE_HAPPINESS,
"TRAIT_MORBID" = TRAIT_MORBID,
+ "TRAIT_MOTH_EMOTES_ALLOWED" = TRAIT_MOTH_EMOTES_ALLOWED,
"TRAIT_MULTIZ_SUIT_SENSORS" = TRAIT_MULTIZ_SUIT_SENSORS,
"TRAIT_MUSICIAN" = TRAIT_MUSICIAN,
"TRAIT_MUTANT_COLORS" = TRAIT_MUTANT_COLORS,
@@ -218,7 +220,6 @@ GLOBAL_LIST_INIT(admin_visible_traits, list(
"TRAIT_NO_TWOHANDING" = TRAIT_NO_TWOHANDING,
"TRAIT_NO_UNDERWEAR" = TRAIT_NO_UNDERWEAR,
"TRAIT_NO_WITHDRAWALS" = TRAIT_NO_WITHDRAWALS,
- "TRAIT_NO_ZOMBIFY" = TRAIT_NO_ZOMBIFY,
"TRAIT_NOBLOOD" = TRAIT_NOBLOOD,
"TRAIT_NOBREATH" = TRAIT_NOBREATH,
"TRAIT_NOCRITDAMAGE" = TRAIT_NOCRITDAMAGE,
@@ -369,6 +370,8 @@ GLOBAL_LIST_INIT(admin_visible_traits, list(
"TRAIT_ACUTE_HEARING" = TRAIT_ACUTE_HEARING, // DARKPACK EDIT ADD - MERITS_FLAWS - ACUTE SENSE
"TRAIT_ANIMAL_MUSK" = TRAIT_ANIMAL_MUSK, // DARKPACK EDIT ADD - MERITS_FLAWS
"TRAIT_AURA_OF_CONFIDENCE" = TRAIT_AURA_OF_CONFIDENCE, // DARKPACK EDIT ADD - WEREWOLF
+ "TRAIT_BANNED_TRANSFORMATION" = TRAIT_BANNED_TRANSFORMATION, // DARKPACK EDIT ADD - MERITS_FLAWS
+ "TRAIT_BEACON_OF_THE_UNHOLY" = TRAIT_BEACON_OF_THE_UNHOLY, // DARKPACK EDIT ADD - MERITS_FLAWS
"TRAIT_BLOODY_LOVER" = TRAIT_BLOODY_LOVER, // DARKPACK EDIT ADD
"TRAIT_BLOODY_SUCKER" = TRAIT_BLOODY_SUCKER, // DARKPACK EDIT ADD
"TRAIT_BLUSH_OF_HEALTH" = TRAIT_BLUSH_OF_HEALTH, // DARKPACK EDIT ADD
@@ -402,6 +405,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list(
"TRAIT_HIDDEN_DIABLERIE" = TRAIT_HIDDEN_DIABLERIE, //DARKPACK EDIT ADD
"TRAIT_HIDDEN_WYRMTAINT" = TRAIT_HIDDEN_WYRMTAINT, // DARKPACK EDIT ADD
"TRAIT_HOMOSEXUAL" = TRAIT_HOMOSEXUAL, // DARKPACK EDIT ADD
+ "TRAIT_HUGE_SIZE" = TRAIT_HUGE_SIZE, // DARKPACK EDIT ADD - MERITS_FLAWS
"TRAIT_HUNGRY" = TRAIT_HUNGRY, // DARKPACK EDIT ADD
"TRAIT_HUNTED" = TRAIT_HUNTED, // DARKPACK EDIT ADD
"TRAIT_ILLEGAL_IDENTITY" = TRAIT_ILLEGAL_IDENTITY, // DARKPACK EDIT ADD - GOVERMENT
diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm
index df95a6031c7a..b6199cc98fb0 100644
--- a/code/_onclick/ai.dm
+++ b/code/_onclick/ai.dm
@@ -283,13 +283,13 @@
/* AI Turrets */
/obj/machinery/turretid/ai_click_alt(mob/living/silicon/ai/user) //toggles lethal on turrets
- if(ailock)
+ if(is_ai_locked(user))
return CLICK_ACTION_BLOCKING
toggle_lethal(user)
return CLICK_ACTION_SUCCESS
/obj/machinery/turretid/AICtrlClick(mob/living/silicon/ai/user) //turns off/on Turrets
- if(ailock)
+ if(is_ai_locked(user))
return
toggle_on(user)
diff --git a/code/_onclick/hud/pai.dm b/code/_onclick/hud/pai.dm
index 74da5962b37d..4129eafcf78c 100644
--- a/code/_onclick/hud/pai.dm
+++ b/code/_onclick/hud/pai.dm
@@ -4,6 +4,7 @@
/datum/hud/pai/initialize_screen_objects()
. = ..()
+ add_screen_object(/atom/movable/screen/healthdoll/living, HUD_MOB_HEALTHDOLL, HUD_GROUP_INFO)
add_screen_object(/atom/movable/screen/language_menu, HUD_MOB_LANGUAGE_MENU, ui_style, ui_pai_language_menu)
add_screen_object(/atom/movable/screen/navigate, HUD_MOB_NAVIGATE_MENU, ui_style, ui_pai_navigate_menu)
add_screen_object(/atom/movable/screen/memories, HUD_MOB_MEMORIES, HUD_GROUP_STATIC, ui_style, ui_pai_memories_menu)
diff --git a/code/_onclick/hud/rendering/plane_master_controller.dm b/code/_onclick/hud/rendering/plane_master_controller.dm
index 2d2d5c54bd6a..c9528dec328d 100644
--- a/code/_onclick/hud/rendering/plane_master_controller.dm
+++ b/code/_onclick/hud/rendering/plane_master_controller.dm
@@ -54,11 +54,15 @@ INITIALIZE_IMMEDIATE(/atom/movable/plane_master_controller)
. += pm_iterator.get_filter(name)
///Transitions all filters owned by this plane master controller
-/atom/movable/plane_master_controller/transition_filter(name, time, list/new_params, easing, loop)
+/atom/movable/plane_master_controller/transition_filter(name, list/new_params, time, easing, loop)
. = ..()
for(var/atom/movable/screen/plane_master/pm_iterator as anything in get_planes())
pm_iterator.transition_filter(name, new_params, time, easing, loop)
+/atom/movable/plane_master_controller/transition_filter_chain(name, num_loops, ...)
+ for(var/atom/movable/screen/plane_master/pm_iterator as anything in get_filters(name))
+ pm_iterator.transition_filter_chain(arglist(args))
+
///Full override so we can just use filterrific
/atom/movable/plane_master_controller/add_atom_colour(coloration, colour_priority)
. = ..()
diff --git a/code/_onclick/hud/screen_objects/alert.dm b/code/_onclick/hud/screen_objects/alert.dm
index 383ccca26aef..23d7cb88d5e6 100644
--- a/code/_onclick/hud/screen_objects/alert.dm
+++ b/code/_onclick/hud/screen_objects/alert.dm
@@ -602,22 +602,23 @@
var/title = pick(death_titles)
- // DARKPACK EDIT CHANGE START - Torpor
+ // DARKPACK EDIT ADD START - VAMPIRE - (Torpor)
if (HAS_TRAIT(living_owner, TRAIT_TORPOR))
// Can't say your final words if you're already "dead"
var/confirm_death = tgui_alert(usr, "Do you want to give up and succumb to Final Death?", "Succumb Confirmation", list("Yes", "No"))
if (confirm_death != "Yes")
return
- living_owner.succumb()
- else
- //Succumbing with a message
- var/last_whisper = tgui_input_text(usr, "Do you have any last words?", title, max_length = CHAT_MESSAGE_MAX_LENGTH, encode = FALSE) // saycode already handles sanitization
- if(isnull(last_whisper))
- return
- if(length(last_whisper))
- living_owner.say("#[last_whisper]")
- living_owner.succumb(whispered = length(last_whisper) > 0)
- // DARKPACK EDIT CHANGE END - Torpor
+ INVOKE_GAME_VERB(living_owner, usr, /mob/living, succumb)
+ return
+ // DARKPACK EDIT ADD END
+ //Succumbing with a message
+ var/last_whisper = tgui_input_text(usr, "Do you have any last words?", title, max_length = CHAT_MESSAGE_MAX_LENGTH, encode = FALSE) // saycode already handles sanitization
+ if(isnull(last_whisper))
+ return
+ if(length(last_whisper))
+ living_owner.say("#[last_whisper]")
+ INVOKE_GAME_VERB(living_owner, usr, /mob/living, succumb, whisper = length(last_whisper) > 0)
+
//ALIENS
diff --git a/code/_onclick/hud/screen_objects/map_popups.dm b/code/_onclick/hud/screen_objects/map_popups.dm
index 05612460a8f0..f482f8ee86b8 100644
--- a/code/_onclick/hud/screen_objects/map_popups.dm
+++ b/code/_onclick/hud/screen_objects/map_popups.dm
@@ -128,6 +128,6 @@
/**
* When the popup closes in any way (player or proc call) it calls this.
*/
-GAME_VERB_HIDDEN(/client, handle_popup_close, "handle popup close", window_id as text)
+GAME_VERB_NATIVE(/client, handle_popup_close, "handle popup close", null, window_id as text)
clear_map("[window_id]_map")
SEND_SIGNAL(src, COMSIG_POPUP_CLEARED, window_id)
diff --git a/code/_onclick/hud/screen_objects/screen_objects.dm b/code/_onclick/hud/screen_objects/screen_objects.dm
index 8488181222b2..7158691f419b 100644
--- a/code/_onclick/hud/screen_objects/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects/screen_objects.dm
@@ -1172,7 +1172,7 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen) // I hate this place
if(!istype(hungry))
return
- if(HAS_TRAIT(hungry, TRAIT_NOHUNGER) || !hungry.get_organ_slot(ORGAN_SLOT_STOMACH))
+ if(HAS_TRAIT(hungry, TRAIT_NOHUNGER) || (ishuman(hungry) && !hungry.get_organ_slot(ORGAN_SLOT_STOMACH)))
fullness = NUTRITION_LEVEL_FED
state = HUNGER_STATE_FINE
return
@@ -1333,6 +1333,37 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen) // I hate this place
#define FORMAT_XENOBIO_HUD_MAPTEXT(text_to_use) MAPTEXT_SPESSFONT("[text_to_use]")
#define POTION_DROP_SPEED 5 DECISECONDS
+/atom/movable/screen/slime_power
+ name = "Power Level"
+ desc = "How much electricity they are generating. The higher this is, the stronger your attacks are."
+ icon_state = "slime_display"
+ base_icon_state = "slime_display"
+ screen_loc = ui_slime_powerlevel
+ maptext_x = 1
+ maptext_y = 8
+
+/atom/movable/screen/slime_power/Click(location, control, params)
+ . = ..()
+ to_chat(usr, span_notice("Shows you how much electricity they are generating. The higher this is, the higher chance you will strike with overwhelming electrical force."))
+
+/atom/movable/screen/slime_power/Initialize(mapload, datum/hud/hud_owner)
+ . = ..()
+ update_maptext()
+
+/atom/movable/screen/slime_power/update_icon_state()
+ . = ..()
+ icon_state = base_icon_state
+ var/mob/living/basic/slime/slime_owner = hud.mymob
+ if(istype(slime_owner) && slime_owner.powerlevel >= 7)
+ icon_state += "_shock"
+
+/atom/movable/screen/slime_power/proc/update_maptext()
+ var/mob/living/basic/slime/slime_owner = hud.mymob
+ if(!istype(slime_owner))
+ return
+ maptext = FORMAT_XENOBIO_HUD_MAPTEXT("[slime_owner.powerlevel]/[SLIME_MAX_POWER]")
+ update_appearance(UPDATE_ICON)
+
/// Used to show how many monkeys & slimes are in the console
/atom/movable/screen/xenobio_console
name = "Monkey/Slime Storage"
diff --git a/code/_onclick/hud/slime.dm b/code/_onclick/hud/slime.dm
new file mode 100644
index 000000000000..ff788ebb4c99
--- /dev/null
+++ b/code/_onclick/hud/slime.dm
@@ -0,0 +1,9 @@
+/datum/hud/living/slime
+ ui_style = 'icons/hud/screen_slimecore.dmi'
+
+/datum/hud/living/slime/initialize_screen_objects()
+ . = ..()
+ var/mob/living/basic/slime/slime_mob = mymob
+ if(!slime_mob.hunger_disabled)
+ add_screen_object(/atom/movable/screen/hunger, HUD_MOB_HUNGER, HUD_GROUP_INFO, ui_loc = ui_slime_hunger)
+ add_screen_object(/atom/movable/screen/slime_power, HUD_MOB_SLIME_POWER, HUD_GROUP_INFO)
diff --git a/code/controllers/admin.dm b/code/controllers/admin.dm
index 21883d142b18..dd4202d7f128 100644
--- a/code/controllers/admin.dm
+++ b/code/controllers/admin.dm
@@ -44,7 +44,8 @@ INITIALIZE_IMMEDIATE(/obj/effect/statclick)
usr.client.debug_variables(target)
message_admins("Admin [key_name_admin(usr)] is debugging the [target] [class].")
-ADMIN_VERB(restart_controller, R_DEBUG, "Restart Controller", "Restart one of the various periodic loop controllers for the game (be careful!)", ADMIN_CATEGORY_DEBUG, controller in list("Master", "Failsafe"))
+ADMIN_VERB(restart_controller, R_DEBUG, "Restart Controller", "Restart one of the various periodic loop controllers for the game (be careful!)", ADMIN_CATEGORY_DEBUG)
+ VERB_ARG_LIST(controller, list("Master", "Failsafe"))
switch(controller)
if("Master")
Recreate_MC()
diff --git a/code/controllers/master.dm b/code/controllers/master.dm
index 3303eed9c5c1..261fda35979a 100644
--- a/code/controllers/master.dm
+++ b/code/controllers/master.dm
@@ -44,8 +44,6 @@ GLOBAL_REAL(Master, /datum/controller/master)
/// makes the mc main loop runtime
var/make_runtime = FALSE
- var/initializations_finished_with_no_players_logged_in //I wonder what this could be?
-
/// The type of the last subsystem to be fire()'d.
var/last_type_processed
@@ -459,6 +457,7 @@ ADMIN_VERB(cmd_controller_view_ui, R_SERVER|R_DEBUG, "Controller Overview", "Vie
var/msg = "Initializations complete within [time] second[time == 1 ? "" : "s"]!"
to_chat(world, span_boldannounce("[msg]"), MESSAGE_TYPE_DEBUG)
log_world(msg)
+ SSticker.timeLeft = SSticker.start_at
if(world.system_type == MS_WINDOWS && CONFIG_GET(flag/toast_notification_on_init) && !length(GLOB.clients))
@@ -466,7 +465,6 @@ ADMIN_VERB(cmd_controller_view_ui, R_SERVER|R_DEBUG, "Controller Overview", "Vie
// Set world options.
world.change_fps(CONFIG_GET(number/fps))
- var/initialized_tod = REALTIMEOFDAY
if(tgs_prime)
world.TgsInitializationComplete()
@@ -477,7 +475,6 @@ ADMIN_VERB(cmd_controller_view_ui, R_SERVER|R_DEBUG, "Controller Overview", "Vie
if(sleep_offline_after_initializations && CONFIG_GET(flag/resume_after_initializations))
world.sleep_offline = FALSE
- initializations_finished_with_no_players_logged_in = initialized_tod < REALTIMEOFDAY - 10
/**
* Initialize a given subsystem and handle the results.
diff --git a/code/controllers/subsystem/admin_verbs.dm b/code/controllers/subsystem/admin_verbs.dm
index 9891f13a4cf2..810ea61bc76d 100644
--- a/code/controllers/subsystem/admin_verbs.dm
+++ b/code/controllers/subsystem/admin_verbs.dm
@@ -6,6 +6,8 @@ SUBSYSTEM_DEF(admin_verbs)
init_stage = INITSTAGE_EARLY
/// A list of all admin verbs indexed by their type.
var/list/datum/admin_verb/admin_verbs_by_type = list()
+ /// A list of all admin verbs indexed by their verb_path.
+ var/list/datum/admin_verb/admin_verbs_by_verb_path = list()
/// A list of all admin verbs indexed by their visibility flag.
var/list/list/datum/admin_verb/admin_verbs_by_visibility_flag = list()
/// A map of all assosciated admins and their visibility flags.
@@ -40,7 +42,11 @@ SUBSYSTEM_DEF(admin_verbs)
qdel(verb_singleton, force = TRUE)
continue
+ var/list/pending = GLOB.____pending_verb_args[verb_type]
+ if(pending)
+ verb_singleton.arguments = pending
admin_verbs_by_type[verb_type] = verb_singleton
+ admin_verbs_by_verb_path[verb_singleton.get_verb_path()] = verb_singleton
if(verb_singleton.visibility_flag)
if(!(verb_singleton.visibility_flag in admin_verbs_by_visibility_flag))
admin_verbs_by_visibility_flag[verb_singleton.visibility_flag] = list()
@@ -79,13 +85,15 @@ SUBSYSTEM_DEF(admin_verbs)
if(state)
admin_visibility_flags[admin.ckey] |= list(flag)
assosciate_admin(admin)
- return
+ else
+ admin_visibility_flags[admin.ckey] -= list(flag)
+ for(var/datum/admin_verb/verb_singleton as anything in admin_verbs_by_visibility_flag[flag])
+ verb_singleton.unassign_from_client(admin)
+ admin.init_verbs()
- admin_visibility_flags[admin.ckey] -= list(flag)
- // they lost the flag, iterate over verbs with that flag and yoink em
- for(var/datum/admin_verb/verb_singleton as anything in admin_verbs_by_visibility_flag[flag])
- verb_singleton.unassign_from_client(admin)
- admin.init_verbs()
+ if(admin.admin_verb_panel)
+ var/datum/tgui/ui = SStgui.get_open_ui(admin.mob, admin.admin_verb_panel)
+ ui?.send_full_update()
/datum/controller/subsystem/admin_verbs/proc/dynamic_invoke_verb(client/admin, datum/admin_verb/verb_type, ...)
if(IsAdminAdvancedProcCall())
@@ -101,9 +109,7 @@ SUBSYSTEM_DEF(admin_verbs)
if(isnull(admin.holder))
CRASH("Attempted to dynamically invoke admin verb '[verb_type]' with a non-admin.")
- var/list/verb_args = args.Copy()
- verb_args.Cut(2, 3)
- var/datum/admin_verb/verb_singleton = admin_verbs_by_type[verb_type] // this cannot be typed because we need to use `:`
+ var/datum/admin_verb/verb_singleton = admin_verbs_by_type[verb_type]
if(isnull(verb_singleton))
CRASH("Attempted to dynamically invoke admin verb '[verb_type]' that doesn't exist.")
@@ -111,10 +117,20 @@ SUBSYSTEM_DEF(admin_verbs)
to_chat(admin, span_adminnotice("You lack the permissions to do this."))
return
+ var/list/extra_args = args.Copy(3)
+ var/list/positional_args
+ if(length(extra_args) == 1 && islist(extra_args[1]))
+ positional_args = extra_args[1]
+ else if(length(extra_args))
+ positional_args = extra_args
+
+ var/list/structured_args = ____collect_verb_args(admin, verb_singleton.name, verb_singleton.arguments, positional_args)
+ if(isnull(structured_args))
+ return
+
var/old_usr = usr
usr = admin.mob
- // THE MACRO ENSURES THIS EXISTS. IF IT EVER DOESNT EXIST SOMEONE DIDNT USE THE DAMN MACRO!
- verb_singleton.__avd_do_verb(arglist(verb_args))
+ verb_singleton.__avd_do_verb(admin, structured_args)
usr = old_usr
SSblackbox.record_feedback("tally", "dynamic_admin_verb_invocation", 1, "[verb_type]")
diff --git a/code/controllers/subsystem/augury.dm b/code/controllers/subsystem/augury.dm
index 681ac744c15e..d78a4668acfc 100644
--- a/code/controllers/subsystem/augury.dm
+++ b/code/controllers/subsystem/augury.dm
@@ -6,56 +6,57 @@ SUBSYSTEM_DEF(augury)
var/list/watchers = list()
var/list/doombringers = list()
+ /// Associative list of observers given action to a boolean
+ /// indicating whether or not they have been given action.
var/list/observers_given_action = list()
/datum/controller/subsystem/augury/stat_entry(msg)
msg = "W:[watchers.len]|D:[length(doombringers)]"
return ..()
-/datum/controller/subsystem/augury/proc/register_doom(atom/A, severity)
- doombringers[A] = severity
- RegisterSignal(A, COMSIG_QDELETING, PROC_REF(unregister_doom))
+/datum/controller/subsystem/augury/proc/register_doom(atom/new_doom, severity)
+ doombringers[new_doom] = severity
+ RegisterSignal(new_doom, COMSIG_QDELETING, PROC_REF(unregister_doom))
-/datum/controller/subsystem/augury/proc/unregister_doom(atom/A)
+/datum/controller/subsystem/augury/proc/unregister_doom(atom/old_doom)
SIGNAL_HANDLER
- UnregisterSignal(A, COMSIG_QDELETING)
- doombringers -= A
+ UnregisterSignal(old_doom, COMSIG_QDELETING)
+ doombringers -= old_doom
/datum/controller/subsystem/augury/fire()
var/biggest_doom = null
var/biggest_threat = null
- for(var/db in doombringers)
- var/datum/d = db
- if(!d || QDELETED(d))
- doombringers -= d
+ for(var/doombringer in doombringers)
+ var/datum/doom = doombringer
+ if(QDELETED(doom))
+ doombringers -= doom
continue
- var/threat = doombringers[d]
- if((biggest_threat == null) || (biggest_threat < threat))
- biggest_doom = d
+ var/threat = doombringers[doom]
+ if(isnull(biggest_threat) || (biggest_threat < threat))
+ biggest_doom = doom
biggest_threat = threat
if(doombringers.len)
for(var/i in GLOB.player_list)
if(isobserver(i) && (!(observers_given_action[i])))
- var/datum/action/innate/augury/A = new
- A.Grant(i)
+ var/datum/action/innate/augury/augury_action = new
+ augury_action.Grant(i)
observers_given_action[i] = TRUE
else
- for(var/i in observers_given_action)
- if(observers_given_action[i] && isobserver(i))
- var/mob/dead/observer/O = i
- for(var/datum/action/innate/augury/A in O.actions)
- qdel(A)
- observers_given_action -= i
+ for(var/mob/dead/observer/key, value in observers_given_action)
+ if(value)
+ for(var/datum/action/innate/augury/augury_action in key.actions)
+ qdel(augury_action)
+ observers_given_action -= key
- for(var/w in watchers)
- if(!w)
- watchers -= w
+ for(var/watcher in watchers)
+ if(!watcher)
+ watchers -= watcher
continue
- var/mob/dead/observer/O = w
- if(biggest_doom && (!O.orbiting || O.orbiting.parent != biggest_doom))
- O.ManualFollow(biggest_doom)
+ var/mob/dead/observer/orbitter = watcher
+ if(biggest_doom && (!orbitter.orbiting || orbitter.orbiting.parent != biggest_doom))
+ orbitter.ManualFollow(biggest_doom)
/datum/action/innate/augury
name = "Auto Follow Debris"
diff --git a/code/controllers/subsystem/input.dm b/code/controllers/subsystem/input.dm
index 637aa1bab12b..16262d229f7a 100644
--- a/code/controllers/subsystem/input.dm
+++ b/code/controllers/subsystem/input.dm
@@ -35,8 +35,8 @@ VERB_MANAGER_SUBSYSTEM_DEF(input)
macro_set = list(
"Any" = "\"KeyDown \[\[*\]\] \[\[map.mouse-pos\]\] \[\[map.size\]\]\"",
"Any+UP" = "\"KeyUp \[\[*\]\] \[\[map.mouse-pos\]\] \[\[map.size\]\]\"",
- "Back" = "\".winset \\\"input.text=\\\"\\\"\\\"\"",
- "Tab" = "\".winset \\\"input.focus=true?map.focus=true:input.focus=true\\\"\"",
+ "Back" = "\".output output_browser.browseroutput:update [TGUI_PANEL_CLEAR_MESSAGE]\\n.winset \\\"input.text=\\\"\\\"\\\"\"",
+ "Tab" = "\".output output_browser.browseroutput:update [TGUI_PANEL_FOCUS_MESSAGE]\\n.winset \\\"output_browser.browseroutput.focus=true?map.focus=true:output_browser.browseroutput.focus=true\\\"\"",
"Escape" = "\".winset \\\"[SKIN_ESCAPE_MENU].is-visible=true?[SKIN_ESCAPE_MENU].is-visible=false:[SKIN_ESCAPE_MENU].is-visible=true\\\"\\n.output [SKIN_ESCAPE_MENU]:update [ESCAPE_MENU_TOGGLE_MESSAGE]\\nReset-Held-Keys\"",
)
diff --git a/code/controllers/subsystem/ipintel.dm b/code/controllers/subsystem/ipintel.dm
index e3e33d1d79e5..500a8bf32e1f 100644
--- a/code/controllers/subsystem/ipintel.dm
+++ b/code/controllers/subsystem/ipintel.dm
@@ -195,7 +195,8 @@ SUBSYSTEM_DEF(ipintel)
QDEL_NULL(query)
-ADMIN_VERB(ipintel_allow, R_BAN, "Whitelist Player VPN", "Allow a player to connect even if they are using a VPN.", ADMIN_CATEGORY_IPINTEL, ckey as text)
+ADMIN_VERB(ipintel_allow, R_BAN, "Whitelist Player VPN", "Allow a player to connect even if they are using a VPN.", ADMIN_CATEGORY_IPINTEL)
+ VERB_ARG(ckey, VERB_ARG_TYPE_TEXT, VERB_ARG_SOURCE_INPUT)
if (!SSipintel.is_enabled())
to_chat(user, "The ipintel system is not currently enabled but you can still edit the whitelists")
if(SSipintel.is_whitelisted(ckey))
@@ -219,7 +220,8 @@ ADMIN_VERB(ipintel_allow, R_BAN, "Whitelist Player VPN", "Allow a player to conn
QDEL_NULL(query)
message_admins("IPINTEL: [key_name_admin(user)] has whitelisted '[ckey]'")
-ADMIN_VERB(ipintel_revoke, R_BAN, "Revoke Player VPN Whitelist", "Revoke a player's VPN whitelist.", ADMIN_CATEGORY_IPINTEL, ckey as text)
+ADMIN_VERB(ipintel_revoke, R_BAN, "Revoke Player VPN Whitelist", "Revoke a player's VPN whitelist.", ADMIN_CATEGORY_IPINTEL)
+ VERB_ARG(ckey, VERB_ARG_TYPE_TEXT, VERB_ARG_SOURCE_INPUT)
if (!SSipintel.is_enabled())
to_chat(user, "The ipintel system is not currently enabled but you can still edit the whitelists")
if(!SSipintel.is_whitelisted(ckey))
diff --git a/code/controllers/subsystem/map_vote.dm b/code/controllers/subsystem/map_vote.dm
index 4ee505e8ff3f..e3f1b2a071a5 100644
--- a/code/controllers/subsystem/map_vote.dm
+++ b/code/controllers/subsystem/map_vote.dm
@@ -137,8 +137,10 @@ SUBSYSTEM_DEF(map_vote)
// Remove stale (played twice in the past KEEP_ROUNDS_MAP + 1 rounds (including this one as the + 1)) maps
var/list/freshened_valid_maps = list()
for(var/map_name in pop_valid_maps)
+ /* // APOC EDIT REMOVAL START - (Readd if we add more then one real map.)
if(map_name in SSpersistence.blocked_maps)
continue
+ */ // APOC EDIT REMOVAL END
freshened_valid_maps += map_name
// We might stale out all valid maps, in that case just ignore the stale system
diff --git a/code/controllers/subsystem/minor_mapping.dm b/code/controllers/subsystem/minor_mapping.dm
index ff9ba5a9ee0b..c7e9c88a8ec4 100644
--- a/code/controllers/subsystem/minor_mapping.dm
+++ b/code/controllers/subsystem/minor_mapping.dm
@@ -24,9 +24,9 @@ SUBSYSTEM_DEF(minor_mapping)
#else
trigger_migration(CONFIG_GET(number/mice_roundstart))
place_satchels(satchel_amount = 2)
- var/weakpoint_spawns = 3
+ var/weakpoint_spawns = 5
if(HAS_TRAIT(SSstation, STATION_TRAIT_SPAWN_WEAKPOINTS))
- weakpoint_spawns = rand(4,8)
+ weakpoint_spawns = rand(6,12)
weakpoint_spawns += SSmapping.current_map.bonus_weakpoints //This will add 0 by default, or additional on large maps where it's included in the config.
place_weakpoints(weakpoint_spawns)
diff --git a/code/controllers/subsystem/networks/research.dm b/code/controllers/subsystem/networks/research.dm
index 8a48e90c2661..41785e1f031d 100644
--- a/code/controllers/subsystem/networks/research.dm
+++ b/code/controllers/subsystem/networks/research.dm
@@ -1,58 +1,47 @@
-
SUBSYSTEM_DEF(research)
name = "Research"
priority = FIRE_PRIORITY_RESEARCH
- wait = 10
+ wait = 1 SECONDS
dependencies = list(
/datum/controller/subsystem/processing/station,
)
- //TECHWEB STATIC
- var/list/techweb_nodes = list() //associative id = node datum
- var/list/techweb_designs = list() //associative id = node datum
- var/list/list/datum/design/item_to_design = list() //typepath = list of design datums
- ///List of all techwebs, generating points or not.
- ///Autolathes, Mechfabs, and others all have shared techwebs, for example.
- var/list/datum/techweb/techwebs = list()
+ /// An associative list of techweb node typepaths to instances.
+ var/list/techweb_nodes = list()
+ /// An associative list of design typepaths to instances.
+ var/list/techweb_designs = list()
- var/datum/techweb_node/error_node/error_node //These two are what you get if a node/design is deleted and somehow still stored in a console.
- var/datum/design/error_design/error_design
+ /// An associative list of item typepaths to a list of design typepaths that build that item
+ /// e.g: [/obj/item/wrench --> [/datum/design/wrench...]]
+ var/list/item_to_design = list()
- //ERROR LOGGING
- ///associative id = number of times
- var/list/invalid_design_ids = list()
- ///associative id = number of times
- var/list/invalid_node_ids = list()
- ///associative id = error message
- var/list/invalid_node_boost = list()
+ /// List of all techwebs, generating points or not.
+ /// Autolathes, Mechfabs, and others all have shared techwebs, for example.
+ var/list/datum/techweb/techwebs = list()
- ///associative id = TRUE
+ /// A list of techweb node paths that all techwebs start with.
var/list/techweb_nodes_starting = list()
- ///category name = list(node.id = TRUE)
- var/list/techweb_categories = list()
- ///List of all items that can unlock a node. (node.id = list(items))
+ /// An associative list of item paths to a list of techweb nodes that depend on that item.
+ /// e.g: [/obj/item/scalpel/alien --> [/datum/techweb_node/alien/base, /datum/techweb_node/alien/engi...]]
var/list/techweb_unlock_items = list()
- ///Node ids that should be hidden by default.
+ /// A list of techweb node paths that are hidden by default. Associative for faster lookups.
var/list/techweb_nodes_hidden = list()
- ///Node ids that are exclusive to the BEPIS.
+ /// A list of techweb node paths that are exclusive to the BEPIS.
var/list/techweb_nodes_experimental = list()
- ///path = list(point type = value)
+ /// An associative list of item paths to a list of points granted. Used in the destructive analyzer only.
var/list/techweb_point_items = list(
/obj/item/assembly/signaler/anomaly = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS)
)
- var/list/errored_datums = list()
- ///Associated list of all point types that techwebs will have and their respective 'abbreviated' name.
+ /// An associative list of all point types that techwebs will have and their respective 'abbreviated' name.
+ /// If you introduce a new point type, ADD IT HERE AS WELL!
var/list/point_types = list(TECHWEB_POINT_TYPE_GENERIC = "Gen. Res.")
+
//----------------------------------------------
var/list/single_server_income = list(
TECHWEB_POINT_TYPE_GENERIC = TECHWEB_SINGLE_SERVER_INCOME,
)
//^^^^^^^^ ALL OF THESE ARE PER SECOND! ^^^^^^^^
- //Aiming for 1.5 hours to max R&D
- //[88nodes * 5000points/node] / [1.5hr * 90min/hr * 60s/min]
- //Around 450000 points max???
-
/// The global list of raw anomaly types that have been refined, for hard limits.
var/list/created_anomaly_types = list()
/// The hard limits of cores created for each anomaly type. For faster code lookup without switch statements.
@@ -70,248 +59,101 @@ SUBSYSTEM_DEF(research)
)
/// Lookup list for ordnance briefers.
- var/list/ordnance_experiments = list()
+ var/list/datum/experiment/ordnance/ordnance_experiments = list()
/// Lookup list for scipaper partners.
var/list/datum/scientific_partner/scientific_partners = list()
/datum/controller/subsystem/research/Initialize()
- initialize_all_techweb_designs()
- initialize_all_techweb_nodes()
- populate_ordnance_experiments()
- new /datum/techweb/science
- new /datum/techweb/admin
- new /datum/techweb/oldstation
- autosort_categories()
- error_design = new
- error_node = new
+ initialize_designs()
+ initialize_nodes()
+ initialize_ordnance_experiments()
+ new /datum/techweb/science()
return SS_INIT_SUCCESS
/datum/controller/subsystem/research/fire()
- for(var/datum/techweb/techweb_list as anything in techwebs)
- if(!techweb_list.should_generate_points)
+ for(var/datum/techweb/techweb as anything in techwebs)
+ if(!techweb.should_generate_points)
continue
+
+ // Point generation
var/list/bitcoins = list()
- for(var/obj/machinery/rnd/server/miner as anything in techweb_list.techweb_servers)
+ for(var/obj/machinery/rnd/server/miner as anything in techweb.techweb_servers)
if(miner.working)
bitcoins = single_server_income.Copy()
break //Just need one to work.
- if(!isnull(techweb_list.last_income))
- var/income_time_difference = world.time - techweb_list.last_income
- techweb_list.last_bitcoins = bitcoins // Doesn't take tick drift into account
- for(var/i in bitcoins)
- bitcoins[i] *= (income_time_difference / 10) * techweb_list.income_modifier
- techweb_list.add_point_list(bitcoins)
-
- techweb_list.last_income = world.time
-
- if(length(techweb_list.research_queue_nodes))
- techweb_list.research_node_id(techweb_list.research_queue_nodes[1]) // Attempt to research the first node in queue if possible
-
- for(var/node_id in techweb_list.research_queue_nodes)
- var/datum/techweb_node/node = SSresearch.techweb_node_by_id(node_id)
- if(node.is_free(techweb_list)) // Automatically research all free nodes in queue if any
- techweb_list.research_node(node)
-
-/datum/controller/subsystem/research/proc/autosort_categories()
- for(var/i in techweb_nodes)
- var/datum/techweb_node/I = techweb_nodes[i]
- if(techweb_categories[I.category])
- techweb_categories[I.category][I.id] = TRUE
- else
- techweb_categories[I.category] = list(I.id = TRUE)
-
-/datum/controller/subsystem/research/proc/techweb_node_by_id(id)
- return techweb_nodes[id] || error_node
-
-/datum/controller/subsystem/research/proc/techweb_design_by_id(id)
- return techweb_designs[id] || error_design
-
-/datum/controller/subsystem/research/proc/on_design_deletion(datum/design/D)
- for(var/i in techweb_nodes)
- var/datum/techweb_node/TN = techwebs[i]
- TN.on_design_deletion(TN)
- for(var/i in techwebs)
- var/datum/techweb/T = i
- T.recalculate_nodes(TRUE)
-
-/datum/controller/subsystem/research/proc/on_node_deletion(datum/techweb_node/TN)
- for(var/i in techweb_nodes)
- var/datum/techweb_node/TN2 = techwebs[i]
- TN2.on_node_deletion(TN)
- for(var/i in techwebs)
- var/datum/techweb/T = i
- T.recalculate_nodes(TRUE)
-
-/datum/controller/subsystem/research/proc/initialize_all_techweb_nodes(clearall = FALSE)
- if(islist(techweb_nodes) && clearall)
- QDEL_LIST(techweb_nodes)
- if(islist(techweb_nodes_starting && clearall))
- techweb_nodes_starting.Cut()
- var/list/returned = list()
- for(var/path in subtypesof(/datum/techweb_node))
- var/datum/techweb_node/TN = path
- if(isnull(initial(TN.id)))
- continue
- TN = new path
- if(returned[initial(TN.id)])
- stack_trace("WARNING: Techweb node ID clash with ID [initial(TN.id)] detected! Path: [path]")
- errored_datums[TN] = initial(TN.id)
+ if(!isnull(techweb.last_income))
+ var/income_time_difference = world.time - techweb.last_income
+ techweb.last_bitcoins = bitcoins // Doesn't take tick drift into account
+ for(var/point_type in bitcoins)
+ bitcoins[point_type] *= (income_time_difference / 10) * techweb.income_modifier
+ techweb.adjust_multiple_points(bitcoins)
+
+ techweb.last_income = world.time
+
+ // Research queue
+ if(length(techweb.research_queue_nodes))
+ techweb.research_node(techweb.research_queue_nodes[1]) // Attempt to research the first node in queue if possible
+
+ for(var/node_path in techweb.research_queue_nodes)
+ var/datum/techweb_node/node = techweb_nodes[node_path]
+ if(node.is_free(techweb)) // Automatically research all free nodes in queue if any
+ techweb.research_node(node)
+
+/datum/controller/subsystem/research/proc/initialize_designs()
+ for(var/datum/design/design_path as anything in valid_subtypesof(/datum/design))
+ var/datum/design/new_design = new design_path()
+ // This design doesn't want to exist. OK THEN!
+ if(QDELING(new_design))
continue
- returned[initial(TN.id)] = TN
- if(TN.starting_node)
- techweb_nodes_starting[TN.id] = TRUE
- for(var/id in techweb_nodes)
- var/datum/techweb_node/TN = techweb_nodes[id]
- TN.Initialize()
- techweb_nodes = returned
- if (!verify_techweb_nodes()) //Verify all nodes have ids and such.
- stack_trace("Invalid techweb nodes detected")
- calculate_techweb_nodes()
- calculate_techweb_item_unlocking_requirements()
- if (!verify_techweb_nodes()) //Verify nodes and designs have been crosslinked properly.
- CRASH("Invalid techweb nodes detected")
-/datum/controller/subsystem/research/proc/initialize_all_techweb_designs(clearall = FALSE)
- if(islist(techweb_designs) && clearall)
- item_to_design = list()
- QDEL_LIST(techweb_designs)
- var/list/returned = list()
- for(var/path in subtypesof(/datum/design))
- var/datum/design/DN = path
- if(isnull(initial(DN.id)))
- stack_trace("WARNING: Design with null ID detected. Build path: [initial(DN.build_path)]")
- continue
- else if(initial(DN.id) == DESIGN_ID_IGNORE)
- continue
- DN = new path
- if(returned[initial(DN.id)])
- stack_trace("WARNING: Design ID clash with ID [initial(DN.id)] detected! Path: [path]")
- errored_datums[DN] = initial(DN.id)
- continue
- var/build_path = initial(DN.build_path)
+ var/build_path = design_path::build_path
if(!isnull(build_path))
- if(!(build_path in item_to_design))
- item_to_design[build_path] = list()
- item_to_design[build_path] += DN
- DN.InitializeMaterials() //Initialize the materials in the design
- returned[initial(DN.id)] = DN
- techweb_designs = returned
- verify_techweb_designs()
-
-
-/datum/controller/subsystem/research/proc/verify_techweb_nodes()
- . = TRUE
- for(var/n in techweb_nodes)
- var/datum/techweb_node/N = techweb_nodes[n]
- if(!istype(N))
- WARNING("Invalid research node with ID [n] detected and removed.")
- techweb_nodes -= n
- research_node_id_error(n)
- . = FALSE
- for(var/p in N.prereq_ids)
- var/datum/techweb_node/P = techweb_nodes[p]
- if(!istype(P))
- WARNING("Invalid research prerequisite node with ID [p] detected in node [N.display_name]\[[N.id]\] removed.")
- N.prereq_ids -= p
- research_node_id_error(p)
- . = FALSE
- for(var/d in N.design_ids)
- var/datum/design/D = techweb_designs[d]
- if(!istype(D))
- WARNING("Invalid research design with ID [d] detected in node [N.display_name]\[[N.id]\] removed.")
- N.design_ids -= d
- design_id_error(d)
- . = FALSE
- for(var/u in N.unlock_ids)
- var/datum/techweb_node/U = techweb_nodes[u]
- if(!istype(U))
- WARNING("Invalid research unlock node with ID [u] detected in node [N.display_name]\[[N.id]\] removed.")
- N.unlock_ids -= u
- research_node_id_error(u)
- . = FALSE
- for(var/p in N.required_items_to_unlock)
- if(!ispath(p))
- N.required_items_to_unlock -= p
- WARNING("[p] is not a valid path.")
- node_boost_error(N.id, "[p] is not a valid path.")
- . = FALSE
- var/list/points = N.required_items_to_unlock[p]
- if(!isnull(points))
- N.required_items_to_unlock -= p
- node_boost_error(N.id, "No valid list.")
- WARNING("No valid list.")
- . = FALSE
- CHECK_TICK
+ LAZYADD(item_to_design[build_path], design_path)
-/datum/controller/subsystem/research/proc/verify_techweb_designs()
- for(var/d in techweb_designs)
- var/datum/design/D = techweb_designs[d]
- if(!istype(D))
- stack_trace("WARNING: Invalid research design with ID [d] detected and removed.")
- techweb_designs -= d
- CHECK_TICK
+ techweb_designs[design_path] = new_design
-/datum/controller/subsystem/research/proc/research_node_id_error(id)
- if(invalid_node_ids[id])
- invalid_node_ids[id]++
- else
- invalid_node_ids[id] = 1
-
-/datum/controller/subsystem/research/proc/design_id_error(id)
- if(invalid_design_ids[id])
- invalid_design_ids[id]++
- else
- invalid_design_ids[id] = 1
-
-/datum/controller/subsystem/research/proc/calculate_techweb_nodes()
- for(var/design_id in techweb_designs)
- var/datum/design/D = techweb_designs[design_id]
- D.unlocked_by.Cut()
- for(var/node_id in techweb_nodes)
- var/datum/techweb_node/node = techweb_nodes[node_id]
- node.unlock_ids = list()
- for(var/i in node.design_ids)
- var/datum/design/D = techweb_designs[i]
- node.design_ids[i] = TRUE
- D.unlocked_by += node.id
- if(node.hidden)
- techweb_nodes_hidden[node.id] = TRUE
- if(node.experimental)
- techweb_nodes_experimental[node.id] = TRUE
- CHECK_TICK
- generate_techweb_unlock_linking()
-
-/datum/controller/subsystem/research/proc/generate_techweb_unlock_linking()
- for(var/node_id in techweb_nodes) //Clear all unlock links to avoid duplication.
- var/datum/techweb_node/node = techweb_nodes[node_id]
- node.unlock_ids = list()
- for(var/node_id in techweb_nodes)
- var/datum/techweb_node/node = techweb_nodes[node_id]
- for(var/prereq_id in node.prereq_ids)
- var/datum/techweb_node/prereq_node = techweb_node_by_id(prereq_id)
- prereq_node.unlock_ids[node.id] = node
-
-/datum/controller/subsystem/research/proc/calculate_techweb_item_unlocking_requirements()
- for(var/node_id in techweb_nodes)
- var/datum/techweb_node/node = techweb_nodes[node_id]
- for(var/path in node.required_items_to_unlock)
- if(!ispath(path))
- continue
- if(length(techweb_unlock_items[path]))
- techweb_unlock_items[path][node.id] = node.required_items_to_unlock[path]
- else
- techweb_unlock_items[path] = list(node.id = node.required_items_to_unlock[path])
- CHECK_TICK
+/datum/controller/subsystem/research/proc/initialize_nodes()
+ for(var/datum/techweb_node/node_path as anything in valid_subtypesof(/datum/techweb_node))
+ var/datum/techweb_node/new_node = new node_path()
+ // This node doesn't want to exist. OK THEN!
+ if(QDELING(new_node))
+ continue
-/datum/controller/subsystem/research/proc/populate_ordnance_experiments()
+ if(new_node.node_flags & TECHWEB_NODE_STARTER)
+ techweb_nodes_starting += node_path
+ if(new_node.node_flags & TECHWEB_NODE_HIDDEN)
+ techweb_nodes_hidden[node_path] = TRUE // assoc for speed
+ if(new_node.node_flags & TECHWEB_NODE_EXPERIMENTAL)
+ techweb_nodes_experimental += node_path
+
+ // Tell our unlocked designs that we unlock them
+ for(var/design_path in new_node.unlocked_designs)
+ var/datum/design/unlocked_design = techweb_designs[design_path]
+ unlocked_design.unlocked_by += node_path
+
+ // Register that our required items unlock us
+ for(var/required_item_path in new_node.required_items_to_unlock)
+ LAZYADD(techweb_unlock_items[required_item_path], node_path)
+
+ techweb_nodes[node_path] = new_node
+
+ // We have to do this after the above loop to ensure everything has been initialized
+ for(var/node_path, _node in techweb_nodes)
+ var/datum/techweb_node/node = _node
+ // Tell our prerequisite nodes that we are unlocked by them
+ for(var/prerequisite_path in node.prerequisite_nodes)
+ var/datum/techweb_node/prerequisite_node = techweb_nodes[prerequisite_path]
+ LAZYADD(prerequisite_node.unlocked_nodes, node_path)
+
+/datum/controller/subsystem/research/proc/initialize_ordnance_experiments()
for (var/datum/experiment/ordnance/experiment_path as anything in subtypesof(/datum/experiment/ordnance))
- if (initial(experiment_path.experiment_proper))
+ if (experiment_path::experiment_proper)
ordnance_experiments += new experiment_path()
for(var/partner_path in subtypesof(/datum/scientific_partner))
var/datum/scientific_partner/partner = new partner_path
- if(!partner.accepted_experiments.len)
+ if(!length(partner.accepted_experiments))
for (var/datum/experiment/ordnance/ordnance_experiment as anything in ordnance_experiments)
partner.accepted_experiments += ordnance_experiment.type
scientific_partners += partner
@@ -322,12 +164,9 @@ SUBSYSTEM_DEF(research)
*/
/datum/controller/subsystem/research/proc/get_available_servers(turf/location)
var/list/local_servers = list()
- if(!location)
- return local_servers
- for (var/datum/techweb/individual_techweb as anything in techwebs)
- var/list/servers = find_valid_servers(location, individual_techweb)
- if(length(servers))
- local_servers += servers
+ if(location)
+ for (var/datum/techweb/individual_techweb as anything in techwebs)
+ local_servers += find_valid_servers(location, individual_techweb)
return local_servers
/**
@@ -356,3 +195,10 @@ SUBSYSTEM_DEF(research)
/datum/controller/subsystem/research/proc/increment_existing_anomaly_cores(core_type)
var/existing = created_anomaly_types[core_type] || 0
created_anomaly_types[core_type] = existing + 1
+
+/// Helper proc to turn an associative list of points into a more human readable format.
+/proc/techweb_point_display_generic(list/point_list)
+ var/list/ret = list()
+ for(var/point_type, point_amount in point_list)
+ ret += "[SSresearch.point_types[point_type] || "ERRORED POINT TYPE"]: [point_amount]"
+ return ret.Join("
")
diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm
index 06625c62b2b2..89e9aced8030 100644
--- a/code/controllers/subsystem/processing/quirks.dm
+++ b/code/controllers/subsystem/processing/quirks.dm
@@ -37,6 +37,7 @@ GLOBAL_LIST_INIT_TYPED(quirk_blacklist, /list/datum/quirk, list(
list(/datum/quirk/darkpack/monochrome_vision, /datum/quirk/darkpack/wolf_sight), // DARKPACK EDIT ADD - MERITS_FLAWS - MERITS_FLAWS
list(/datum/quirk/darkpack/monochrome_vision, /datum/quirk/item_quirk/blindness/), // DARKPACK EDIT ADD - MERITS_FLAWS - MERITS_FLAWS
list(/datum/quirk/item_quirk/blindness, /datum/quirk/darkpack/wolf_sight), // DARKPACK EDIT ADD - MERITS_FLAWS - MERITS_FLAWS
+ list(/datum/quirk/darkpack/banned_transformation, /datum/quirk/darkpack/metamorph), // DARKPACK EDIT ADD - MERITS_FLAWS - MERITS_FLAWS
list(/datum/quirk/darkpack/thirst_of_ages, /datum/quirk/darkpack/organovore), // DARKPACK EDIT ADD - MERITS_FLAWS - MERITS_FLAWS
))
diff --git a/code/controllers/subsystem/spatial_gridmap.dm b/code/controllers/subsystem/spatial_gridmap.dm
index f2d6c20554fb..bf5e07f027e6 100644
--- a/code/controllers/subsystem/spatial_gridmap.dm
+++ b/code/controllers/subsystem/spatial_gridmap.dm
@@ -9,26 +9,30 @@
* these datums shouldnt have significant behavior, they should just hold data. the lists are filled and emptied by the subsystem.
*/
/datum/spatial_grid_cell
- ///our x index in the list of cells. this is our index inside of our row list
+ /// Our x index in the list of cells. this is our index inside of our row list
var/cell_x
- ///our y index in the list of cells. this is the index of our row list inside of our z level grid
+ /// Our y index in the list of cells. this is the index of our row list inside of our z level grid
var/cell_y
- ///which z level we belong to, corresponding to the index of our gridmap in SSspatial_grid.grids_by_z_level
+ /// Which z level we belong to, corresponding to the index of our gridmap in SSspatial_grid.grids_by_z_level
var/cell_z
- //every data point in a grid cell is separated by usecase
+ // Every data point in a grid cell is separated by usecase
- //when empty, the contents lists of these grid cell datums are just references to a dummy list from SSspatial_grid
- //this is meant to allow a great compromise between memory usage and speed.
- //now orthogonal_range_search() doesnt need to check if the list is null and each empty list is taking 12 bytes instead of 24
- //the only downside is that it needs to be switched over to a new list when it goes from 0 contents to > 0 contents and switched back on the opposite case
+ // When empty, the contents lists of these grid cell datums are just references to a dummy list from SSspatial_grid
+ // This is meant to allow a great compromise between memory usage and speed.
+ // Now orthogonal_range_search() doesnt need to check if the list is null and each empty list is taking 12 bytes instead of 24
+ // The only downside is that it needs to be switched over to a new list when it goes from 0 contents to > 0 contents and switched back on the opposite case
- ///every hearing sensitive movable inside this cell
+ /// Every hearing sensitive movable inside this cell
var/list/hearing_contents
- ///every client possessed mob inside this cell
+ /// Every client possessed mob inside this cell
var/list/client_contents
- ///every atmos machine inside this cell
+ /// Every atmos machine inside this cell
var/list/atmos_contents
+ /// Every dynamic light source *affecting* this cell
+ /// Light sources have their own radius rather than static polling range, so we need to store them in multiple cells
+ var/list/dynamic_light_sources
+
/datum/spatial_grid_cell/New(cell_x, cell_y, cell_z)
. = ..()
src.cell_x = cell_x
@@ -40,9 +44,11 @@
if(length(dummy_list))
dummy_list.Cut()
stack_trace("SSspatial_grid.dummy_list had something inserted into it at some point! this is a problem as it is supposed to stay empty")
+
hearing_contents = dummy_list
client_contents = dummy_list
atmos_contents = dummy_list
+ dynamic_light_sources = dummy_list
/datum/spatial_grid_cell/Destroy(force)
if(!force)//the response to someone trying to qdel this is a right proper fuck you
@@ -142,22 +148,20 @@ SUBSYSTEM_DEF(spatial_grid)
///removes an initialized and probably deleted movable from our pre init queue before we're initialized
/datum/controller/subsystem/spatial_grid/proc/remove_from_pre_init_queue(atom/movable/movable_to_remove, exclusive_type)
- if(exclusive_type)
- waiting_to_add_by_type[exclusive_type] -= movable_to_remove
-
- var/waiting_movable_is_in_other_queues = FALSE//we need to check if this movable is inside the other queues
+ if(isnull(exclusive_type))
+ UnregisterSignal(movable_to_remove, COMSIG_QDELETING)
for(var/type in waiting_to_add_by_type)
- if(movable_to_remove in waiting_to_add_by_type[type])
- waiting_movable_is_in_other_queues = TRUE
+ waiting_to_add_by_type[type] -= movable_to_remove
+ return
- if(!waiting_movable_is_in_other_queues)
- UnregisterSignal(movable_to_remove, COMSIG_QDELETING)
+ waiting_to_add_by_type[exclusive_type] -= movable_to_remove
- return
+ // We need to check if this movable is inside the other queues
+ for(var/type, queue in waiting_to_add_by_type)
+ if(movable_to_remove in queue)
+ return
UnregisterSignal(movable_to_remove, COMSIG_QDELETING)
- for(var/type in waiting_to_add_by_type)
- waiting_to_add_by_type[type] -= movable_to_remove
///if a movable is inside our pre init queue before we're initialized and it gets deleted we need to remove that reference with this proc
/datum/controller/subsystem/spatial_grid/proc/queued_item_deleted(atom/movable/movable_being_deleted)
diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 96a6b4225b44..9066c336c5f1 100644
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -35,8 +35,13 @@ SUBSYSTEM_DEF(ticker)
var/tipped = FALSE //Did we broadcast the tip of the day yet?
var/selected_tip // What will be the tip of the day?
- var/timeLeft //pregame timer
- var/start_at
+ /// Time left until the round starts after all subsystems initialize
+ var/timeLeft = 120 SECONDS
+ /// value used to initialize `timeLeft` when the master subsystem finishes initializing.
+ /// We do this to allow for the timer to be set manually before all subsystems initialize,
+ /// while also making sure that when the timer does start, it does so at the value we have set.
+ /// This is set to the config value when SSticker initializes, so setting this only makes sense after that point.
+ var/start_at = 120 SECONDS
var/gametime_offset = 21 HOURS //Deciseconds to add to world.time for station time. // DARKPACK EDIT ADD - CITY_TIME
var/city_time_rate_multiplier = 2 //factor of station time progressal vs real time. // DARKPACK EDIT CHANGE - CITY_TIME
@@ -115,7 +120,7 @@ SUBSYSTEM_DEF(ticker)
else
set_lobby_music("[global.config.directory]/title_music/sounds/[pick(music)]")
- start_at = world.time + (CONFIG_GET(number/lobby_countdown) * (1 SECONDS))
+ start_at = CONFIG_GET(number/lobby_countdown) * (1 SECONDS)
// DARKPACK EDIT ADD START - CITY_TIME
round_start_time = start_at // May be changed later, but prevents the time from jumping back when the round actually starts
gametime_offset = (CONFIG_GET(number/shift_time_start_hour) * (1 HOURS))
@@ -125,8 +130,6 @@ SUBSYSTEM_DEF(ticker)
/datum/controller/subsystem/ticker/fire()
switch(current_state)
if(GAME_STATE_STARTUP)
- if(Master.initializations_finished_with_no_players_logged_in)
- start_at = world.time + (CONFIG_GET(number/lobby_countdown) * (1 SECONDS))
for(var/client/C in GLOB.clients)
window_flash(C, ignorepref = TRUE) //let them know lobby has opened up.
to_chat(world, span_notice("Welcome to [station_name()]!"))
@@ -141,8 +144,6 @@ SUBSYSTEM_DEF(ticker)
fire()
if(GAME_STATE_PREGAME)
//lobby stats for statpanels
- if(isnull(timeLeft))
- timeLeft = max(0, start_at - world.time)
totalPlayers = LAZYLEN(GLOB.new_player_list)
totalPlayersReady = 0
total_admins_ready = 0
@@ -190,7 +191,6 @@ SUBSYSTEM_DEF(ticker)
if(!setup())
//setup failed
current_state = GAME_STATE_STARTUP
- start_at = world.time + (CONFIG_GET(number/lobby_countdown) * (1 SECONDS))
timeLeft = null
Master.SetRunLevel(RUNLEVEL_LOBBY)
SEND_SIGNAL(src, COMSIG_TICKER_ERROR_SETTING_UP)
@@ -623,6 +623,8 @@ SUBSYSTEM_DEF(ticker)
var/atom/movable/screen/splash/fade_out = new(null, null, living.client, TRUE)
fade_out.fade(TRUE)
living.client.init_verbs()
+ living.client.show_spawn_text_overlay()
+
livings += living
if(livings.len)
addtimer(CALLBACK(src, PROC_REF(release_characters), livings), 3 SECONDS, TIMER_CLIENT_TIME)
@@ -812,15 +814,11 @@ SUBSYSTEM_DEF(ticker)
send2otherserver(news_source, news_message, "News_Report")
/datum/controller/subsystem/ticker/proc/GetTimeLeft()
- if(isnull(SSticker.timeLeft))
- return max(0, start_at - world.time)
return timeLeft
/datum/controller/subsystem/ticker/proc/SetTimeLeft(newtime)
- if(newtime >= 0 && isnull(timeLeft)) //remember, negative means delayed
- start_at = world.time + newtime
- else
- timeLeft = newtime
+ start_at = newtime
+ timeLeft = newtime
/datum/controller/subsystem/ticker/proc/SetRoundEndSound(the_sound)
set waitfor = FALSE
diff --git a/code/controllers/subsystem/transport.dm b/code/controllers/subsystem/transport.dm
index f64e32953e28..bd869be20fb4 100644
--- a/code/controllers/subsystem/transport.dm
+++ b/code/controllers/subsystem/transport.dm
@@ -6,11 +6,22 @@ PROCESSING_SUBSYSTEM_DEF(transport)
///associative list of the form: list(lift_id = list(all transport_controller datums attached to lifts of that type))
var/list/transports_by_type = list()
+ ///all tram navigation beacons linked to the subsystem
var/list/nav_beacons = list()
+ ///all tram crossing signals linked to the subsystem
var/list/crossing_signals = list()
+ ///all tram guideway sensors linked to the subsystem
var/list/sensors = list()
+ ///all tram doors linked to the subsystem
var/list/doors = list()
+ ///all tram info displays linked to the subsystem
var/list/displays = list()
+ ///list of default tram IDs for admin tools/debugging
+ var/list/debug_tram_list = list(
+ TRAMSTATION_LINE_1,
+ HERETIC_LINE_1,
+ HILBERT_LINE_1,
+ )
///how much time a tram can take per movement before we notify admins and slow down the tram. in milliseconds
var/max_time = 15
///how many times the tram can move costing over max_time milliseconds before it gets slowed down
diff --git a/code/controllers/subsystem/tts.dm b/code/controllers/subsystem/tts.dm
index d3a268f69952..b86dbb2b6877 100644
--- a/code/controllers/subsystem/tts.dm
+++ b/code/controllers/subsystem/tts.dm
@@ -670,7 +670,7 @@ SUBSYSTEM_DEF(tts)
if(!SStts.tts_enabled)
return FALSE
- if(HAS_TRAIT(hearer, TRAIT_DEAF))
+ if(HAS_TRAIT(hearer, TRAIT_DEAF) || IS_UNCONSCIOUS(hearer))
return FALSE
var/tts_pref = hearer.client?.prefs.read_preference(/datum/preference/choiced/sound_tts) || TTS_SOUND_OFF
diff --git a/code/controllers/subsystem/verbs.dm b/code/controllers/subsystem/verbs.dm
index e557c55454db..4aa75ccc70dd 100644
--- a/code/controllers/subsystem/verbs.dm
+++ b/code/controllers/subsystem/verbs.dm
@@ -3,6 +3,7 @@ SUBSYSTEM_DEF(verbs)
ss_flags = SS_NO_FIRE
init_stage = INITSTAGE_EARLY
var/list/datum/verb_metadata/verbs_by_type = list()
+ var/list/datum/verb_metadata/verbs_by_verb_path = list()
/datum/controller/subsystem/verbs/Initialize()
if (!length(verbs_by_type))
@@ -12,15 +13,51 @@ SUBSYSTEM_DEF(verbs)
/datum/controller/subsystem/verbs/proc/initialize_verb_types()
for(var/datum/verb_metadata/verb_type as anything in subtypesof(/datum/verb_metadata))
- verbs_by_type[verb_type] = new verb_type
+ var/datum/verb_metadata/meta = new verb_type
+ var/list/pending = GLOB.____pending_verb_args[meta.body_path]
+ if(pending)
+ meta.arguments = pending
+ verbs_by_type[verb_type] = meta
+ if(meta.verb_path)
+ verbs_by_verb_path[meta.verb_path] = meta
+
+/datum/controller/subsystem/verbs/proc/invoke(target, datum/verb_metadata/verb_type, invoker, ...)
+ if(!initialized)
+ initialize_verb_types()
-/datum/controller/subsystem/verbs/proc/invoke(target, datum/verb_metadata/verb_type, ...)
var/datum/verb_metadata/meta = verbs_by_type[verb_type]
if(isnull(meta))
CRASH("Attempted to invoke unknown verb '[verb_type]'.")
- var/list/invoke_args = args.Copy(3)
+ var/list/invoke_args = args.Copy(4)
+ if(invoker)
+ usr = invoker
call(target, meta.body_path)(arglist(invoke_args))
+/datum/controller/subsystem/verbs/proc/invoke_verb(target, verb_path, list/positional_args, invoker)
+ if(!initialized)
+ initialize_verb_types()
+
+ var/datum/verb_metadata/meta = verbs_by_verb_path[verb_path]
+ if(isnull(meta))
+ CRASH("invoke_verb called for '[verb_path]' with no metadata registered")
+ var/resolved_caller = invoker || target
+ var/client/user_client
+ if(istype(resolved_caller, /client))
+ user_client = resolved_caller
+ else if(ismob(resolved_caller))
+ var/mob/mob_target = resolved_caller
+ user_client = mob_target.client
+ if(!user_client)
+ return
+
+ var/list/structured_args = ____collect_verb_args(user_client, meta.name, meta.arguments, positional_args)
+ if(isnull(structured_args))
+ return
+
+ if(invoker)
+ usr = invoker
+ call(target, meta.body_path)(structured_args)
+
/datum/controller/subsystem/verbs/proc/assign_verb(target, datum/verb_metadata/verb_type)
// When launching via dreamseeker and not dreamdaemon, client is created first before any of the subsystems init
// This can only happen in dev environments so its not a big deal
@@ -36,3 +73,32 @@ SUBSYSTEM_DEF(verbs)
if(isnull(meta))
CRASH("Attempted to unassign unknown verb '[verb_type]'.")
meta.unassign_from(target)
+
+/datum/controller/subsystem/verbs/proc/serialize_verb(procpath/verb_path)
+ var/list/arg_data = list()
+ var/list/entry = list(
+ "name" = verb_path.name,
+ "category" = verb_path.category,
+ "type" = "[verb_path]",
+ "args" = arg_data,
+ )
+
+ var/datum/verb_metadata/meta = verbs_by_verb_path[verb_path]
+ if(meta)
+ entry["type"] = "[meta.verb_path]"
+ for(var/datum/verb_arg_metadata/arg in meta.arguments)
+ var/list/arg_entry = list("name" = arg.name, "arg_type" = arg.arg_type, "source" = arg.source)
+ if(length(arg.options))
+ arg_entry["options"] = arg.options
+ arg_data += list(arg_entry)
+ else
+ var/datum/admin_verb/av = SSadmin_verbs.admin_verbs_by_verb_path[verb_path]
+ if(av)
+ entry["type"] = "[av.get_verb_path()]"
+ for(var/datum/verb_arg_metadata/arg in av.arguments)
+ var/list/arg_entry = list("name" = arg.name, "arg_type" = arg.arg_type, "source" = arg.source)
+ if(length(arg.options))
+ arg_entry["options"] = arg.options
+ arg_data += list(arg_entry)
+
+ return entry
diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/find_flee_location.dm b/code/datums/ai/basic_mobs/basic_ai_behaviors/find_flee_location.dm
index 9efe9d6fc873..3928bd83b63e 100644
--- a/code/datums/ai/basic_mobs/basic_ai_behaviors/find_flee_location.dm
+++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/find_flee_location.dm
@@ -1,10 +1,12 @@
-/// Finds the best adjacent turf to flee to away from a threat and stores it in a blackboard key.
-/// Tries get_step_away first, then falls back to shuffled directions if blocked.
-/// Returns INSTANT SUCCESS if a step was found, INSTANT FAILURE if completely cornered.
+/// Finds a nearby flee waypoint away from a threat and stores it in a blackboard key.
+/// Each step tries get_step_away first, then falls back to shuffled directions if blocked.
+/// Returns INSTANT SUCCESS if at least one step was found, INSTANT FAILURE if completely cornered.
/datum/bt_node/ai_behavior/find_flee_location
var/target_key
var/hiding_location_key
var/destination_key
+ /// Number of adjacent flee steps to combine into the waypoint.
+ var/flee_steps = 3
/datum/bt_node/ai_behavior/find_flee_location/perform(seconds_per_tick, datum/ai_controller/controller)
var/run_distance = controller.blackboard[BB_BASIC_MOB_FLEE_DISTANCE] || DEFAULT_BASIC_FLEE_DISTANCE
@@ -12,26 +14,30 @@
if(QDELETED(target) || !can_see(controller.pawn, target, run_distance))
return AI_BEHAVIOR_INSTANT | AI_BEHAVIOR_FAILED
- var/turf/flee_turf = get_flee_step(controller, target)
- if(!flee_turf)
+ var/turf/flee_turf = get_turf(controller.pawn)
+ for(var/step in 1 to flee_steps)
+ var/turf/next_step = get_flee_step(controller, target, flee_turf)
+ if(!next_step)
+ break
+ flee_turf = next_step
+ if(flee_turf == get_turf(controller.pawn))
return AI_BEHAVIOR_INSTANT | AI_BEHAVIOR_FAILED
controller.set_blackboard_key(destination_key, flee_turf)
return AI_BEHAVIOR_INSTANT | AI_BEHAVIOR_SUCCEEDED
-/datum/bt_node/ai_behavior/find_flee_location/proc/get_flee_step(datum/ai_controller/controller, atom/target)
+/datum/bt_node/ai_behavior/find_flee_location/proc/get_flee_step(datum/ai_controller/controller, atom/target, turf/start_turf)
var/mob/living/pawn = controller.pawn
- var/turf/pawn_turf = get_turf(pawn)
var/datum/can_pass_info/pass_info = new(pawn, controller.get_access())
- var/turf/next_step = get_step_away(pawn, target)
- if(!isnull(next_step) && next_step != pawn_turf && !next_step.density && !pawn_turf.LinkBlockedWithAccess(next_step, pass_info))
+ var/turf/next_step = get_step_away(start_turf, target)
+ if(!isnull(next_step) && next_step != start_turf && !next_step.density && !start_turf.LinkBlockedWithAccess(next_step, pass_info))
return next_step
var/list/all_dirs = GLOB.alldirs.Copy()
- all_dirs -= get_dir(pawn, next_step)
- all_dirs -= get_dir(pawn, target)
+ all_dirs -= get_dir(start_turf, next_step)
+ all_dirs -= get_dir(start_turf, target)
shuffle_inplace(all_dirs)
for(var/dir in all_dirs)
- next_step = get_step(pawn, dir)
- if(!isnull(next_step) && !next_step.density && !pawn_turf.LinkBlockedWithAccess(next_step, pass_info))
+ next_step = get_step(start_turf, dir)
+ if(!isnull(next_step) && !next_step.density && !start_turf.LinkBlockedWithAccess(next_step, pass_info))
return next_step
return null
diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/nearest_targeting.dm b/code/datums/ai/basic_mobs/basic_ai_behaviors/nearest_targeting.dm
index 9a0d6d041ef2..9a4c9a1ca487 100644
--- a/code/datums/ai/basic_mobs/basic_ai_behaviors/nearest_targeting.dm
+++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/nearest_targeting.dm
@@ -1,6 +1,3 @@
-/// Pick nearest instead of any, we should probably move this into a datum of some kind in the future?
+/// Acquire targets with nearest strategy pre-selected.
/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/nearest
-
-/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/nearest/pick_final_target(datum/ai_controller/controller, list/filtered_targets)
- var/turf/our_position = get_turf(controller.pawn)
- return get_closest_atom(/atom/, filtered_targets, our_position)
+ target_priority_strategy = /datum/target_priority_strategy/nearest
diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/targeting.dm b/code/datums/ai/basic_mobs/basic_ai_behaviors/targeting.dm
index 2fd2e494ef16..aff32a06fa25 100644
--- a/code/datums/ai/basic_mobs/basic_ai_behaviors/targeting.dm
+++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/targeting.dm
@@ -10,16 +10,14 @@ GLOBAL_LIST_INIT(target_interested_atoms, typecacheof(list(/mob, /obj/machinery/
/datum/bt_node/ai_behavior/acquire_target/update_combat_targets
target_source = /datum/target_source/hearers
targeting_strategy = BB_TARGETING_STRATEGY
+ target_priority_strategy = BB_TARGET_PRIORITY_STRATEGY
vision_range = 9
+ revalidation_mode = TARGET_RESELECT_WITH_SELECTION
target_loss_distance = 16
/// Blackboard key for aggro range, uses vision range if not specified
var/aggro_range_key = BB_AGGRO_RANGE
/// Blackboard key holding the hiding-location atom (e.g. closet the target ducked into)
var/hiding_location_key
- /// Blackboard key holding the /datum/target_priority_strategy typepath for selection
- var/priority_strategy_key = BB_TARGET_PRIORITY_STRATEGY
- /// If we have a priority strategy set, how often do we refresh our target search?
- var/priority_refresh_cooldown = 6 SECONDS
/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/get_cooldown(datum/ai_controller/controller)
if(controller.blackboard[BB_FIND_TARGETS_FIELD(type)])
@@ -29,18 +27,8 @@ GLOBAL_LIST_INIT(target_interested_atoms, typecacheof(list(/mob, /obj/machinery/
/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/can_search(datum/ai_controller/controller)
return !(controller.blackboard[BB_FIND_TARGETS_FIELD(type)])
-/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/should_keep_target(datum/ai_controller/controller, datum/targeting_strategy/strategy, atom/current_target)
- if(!current_target)
- return FALSE
- if(!strategy.is_valid_target(controller.pawn, current_target, vision_range))
- return FALSE
- var/datum/target_priority_strategy/priority_strategy = GET_TARGET_PRIORITY_STRATEGY(controller.blackboard[priority_strategy_key])
- if(!priority_strategy)
- return TRUE
- return controller.blackboard[BB_BASIC_MOB_TARGET_REFRESH_COOLDOWN] > world.time
-
/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/on_no_candidates(datum/ai_controller/controller, atom/current_target, datum/targeting_strategy/strategy, range)
- if(current_target && strategy.can_keep_target(controller.pawn, current_target, target_loss_distance))
+ if(current_target && strategy.can_keep_target(controller.pawn, current_target, target_loss_distance, controller))
return list(current_target)
if(!current_target)
failed_to_find_anyone(controller, target_key, targeting_strategy, hiding_location_key)
@@ -50,24 +38,12 @@ GLOBAL_LIST_INIT(target_interested_atoms, typecacheof(list(/mob, /obj/machinery/
if(!current_target)
failed_to_find_anyone(controller, target_key, targeting_strategy, hiding_location_key)
-/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/filter_candidates(datum/ai_controller/controller, list/candidates, datum/targeting_strategy/strategy, atom/current_target)
- var/mob/living/pawn = controller.pawn
- var/datum/target_priority_strategy/priority_strategy = GET_TARGET_PRIORITY_STRATEGY(controller.blackboard[priority_strategy_key])
- var/current_priority = priority_strategy ? priority_strategy.get_target_priority(controller, current_target) : 0
- var/list/filtered = list()
- for(var/atom/candidate as anything in candidates)
- if(!strategy.is_valid_target(pawn, candidate, vision_range, controller))
- continue
- if(priority_strategy && priority_strategy.get_target_priority(controller, candidate) < current_priority)
- continue
- filtered += candidate
- return filtered
-
/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/on_target_found(datum/ai_controller/controller, atom/target, datum/targeting_strategy/strategy)
- controller.set_blackboard_key(BB_BASIC_MOB_TARGET_REFRESH_COOLDOWN, world.time + priority_refresh_cooldown)
var/atom/potential_hiding_location = strategy.find_hidden_mobs(controller.pawn, target)
if(potential_hiding_location)
controller.set_blackboard_key(hiding_location_key, potential_hiding_location)
+ else if(hiding_location_key)
+ controller.clear_blackboard_key(hiding_location_key)
/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/proc/failed_to_find_anyone(datum/ai_controller/controller, target_key, targeting_strategy, hiding_location_key)
// TEMP DISABLED nuke this if performance improves
@@ -137,11 +113,14 @@ GLOBAL_LIST_INIT(target_interested_atoms, typecacheof(list(/mob, /obj/machinery/
accepted_targets += maybe_target
// Alright, we found something acceptable, let's use it yeah?
- var/atom/target = pick_final_target(controller, accepted_targets)
+ var/datum/target_priority_strategy/priority_strategy = get_target_priority_strategy(controller)
+ var/atom/current_target = controller.blackboard[target_key]
+ var/atom/target = pick_final_target(controller, accepted_targets, priority_strategy, current_target)
EVLOG_MAPTEXT(controller, EVLOG_CATEGORY_AI_TARGETING, "[controller.pawn] has selected [target] as a target for blackboard key [target_key]! Behavior: [src]", get_turf(target), "Target: [target]")
EVLOG_LINES(controller, EVLOG_CATEGORY_AI_TARGETING, "Line to target", get_turf(controller.pawn), get_turf(target))
- controller.set_blackboard_key(target_key, target)
- on_target_found(controller, target, strategy)
+ if(target != current_target)
+ controller.set_blackboard_key(target_key, target)
+ on_target_found(controller, target, targeting_strategy)
finish_action(controller, succeeded = TRUE)
@@ -152,36 +131,16 @@ GLOBAL_LIST_INIT(target_interested_atoms, typecacheof(list(/mob, /obj/machinery/
qdel(field) // autoclears so it's fine
modify_cooldown(get_cooldown(controller))
-/// Picks the final target, preferring higher-priority candidates when a priority strategy is set.
-/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/pick_final_target(datum/ai_controller/controller, list/filtered_targets)
- var/datum/target_priority_strategy/priority_strategy = GET_TARGET_PRIORITY_STRATEGY(controller.blackboard[priority_strategy_key])
+/// Preserve the combat query's original first-valid behavior when no optional selection strategy is configured.
+/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/pick_final_target(datum/ai_controller/controller, list/filtered_targets, datum/target_priority_strategy/priority_strategy, atom/current_target)
if(!priority_strategy)
return filtered_targets[1]
- return priority_strategy.select_target(controller, filtered_targets)
+ return ..()
/// Picks targets based on which one has the lowest health.
/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/most_wounded
-
-/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/most_wounded/pick_final_target(datum/ai_controller/controller, list/filtered_targets)
- var/list/living_targets = list()
- for(var/mob/living/living_target in filtered_targets)
- living_targets += living_target
- if(living_targets.len)
- sortTim(living_targets, GLOBAL_PROC_REF(cmp_mob_health))
- return living_targets[living_targets.len]
- return ..()
+ target_priority_strategy = /datum/target_priority_strategy/most_wounded
/// Prioritizes targets carrying the trait named by our trait_key blackboard key over the rest.
/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/prioritize_trait
- /// Blackboard key holding the trait that marks a target as high-priority.
- var/trait_key = BB_TARGET_PRIORITY_TRAIT
-
-/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/prioritize_trait/pick_final_target(datum/ai_controller/controller, list/filtered_targets)
- var/list/priority_targets = list()
- var/priority_trait = controller.blackboard[trait_key]
- for(var/atom/target as anything in filtered_targets)
- if(HAS_TRAIT(target, priority_trait))
- priority_targets += target
- if(length(priority_targets))
- return ..(controller, priority_targets)
- return ..()
+ target_priority_strategy = /datum/target_priority_strategy/prioritize_trait
diff --git a/code/datums/ai/basic_mobs/target_priority_strategies/_target_priority_strategy.dm b/code/datums/ai/basic_mobs/target_priority_strategies/_target_priority_strategy.dm
index 3cb58ba086c8..0af0fc1d2386 100644
--- a/code/datums/ai/basic_mobs/target_priority_strategies/_target_priority_strategy.dm
+++ b/code/datums/ai/basic_mobs/target_priority_strategies/_target_priority_strategy.dm
@@ -1,7 +1,7 @@
-/// Target priority datum, exists to allow mobs to have custom targeting priorities. Singleton.
+/// Target priority datum, exists to allow target acquisition behaviors to have custom selection policies. Singleton.
/datum/target_priority_strategy
-/// Returns a number representing the priority of a target, higher -> more likely to attack
+/// Returns a number representing the priority of a target, higher -> more likely to be selected.
/datum/target_priority_strategy/proc/get_target_priority(datum/ai_controller/controller, atom/target)
return 1
@@ -11,3 +11,103 @@
for (var/atom/target as anything in targets)
target_priorities[target] = get_target_priority(controller, target)
return pick_weight(target_priorities)
+
+/// Returns TRUE if candidate may replace current_target during a reselection pass.
+/// The default is sticky on ties to avoid otherwise-equivalent targets changing every search tick.
+/datum/target_priority_strategy/proc/can_replace_target(datum/ai_controller/controller, atom/current_target, atom/candidate)
+ return get_target_priority(controller, candidate) > get_target_priority(controller, current_target)
+
+/// Selects the closest candidate.
+/datum/target_priority_strategy/nearest
+
+/datum/target_priority_strategy/nearest/get_target_priority(datum/ai_controller/controller, atom/target)
+ return -get_dist(controller.pawn, target)
+
+/datum/target_priority_strategy/nearest/select_target(datum/ai_controller/controller, list/atom/targets)
+ return get_closest_atom(/atom/, targets, get_turf(controller.pawn))
+
+/// Selects the living candidate with the lowest health.
+/datum/target_priority_strategy/most_wounded
+
+/datum/target_priority_strategy/most_wounded/get_target_priority(datum/ai_controller/controller, atom/target)
+ var/mob/living/living_target = target
+ if(!istype(living_target))
+ return -INFINITY
+ return -living_target.health
+
+/datum/target_priority_strategy/most_wounded/select_target(datum/ai_controller/controller, list/atom/targets)
+ var/list/living_targets = list()
+ for(var/mob/living/living_target in targets)
+ living_targets += living_target
+ if(!length(living_targets))
+ return ..()
+ sortTim(living_targets, GLOBAL_PROC_REF(cmp_mob_health))
+ return living_targets[living_targets.len]
+
+/// Selects candidates carrying the trait configured in trait_key before candidates without it.
+/datum/target_priority_strategy/prioritize_trait
+ /// Blackboard key holding the trait which identifies preferred targets.
+ var/trait_key = BB_TARGET_PRIORITY_TRAIT
+
+/datum/target_priority_strategy/prioritize_trait/get_target_priority(datum/ai_controller/controller, atom/target)
+ return HAS_TRAIT(target, controller.blackboard[trait_key]) ? 2 : 1
+
+/datum/target_priority_strategy/prioritize_trait/select_target(datum/ai_controller/controller, list/atom/targets)
+ var/list/priority_targets = list()
+ var/priority_trait = controller.blackboard[trait_key]
+ for(var/atom/target in targets)
+ if(HAS_TRAIT(target, priority_trait))
+ priority_targets += target
+ return ..(controller, length(priority_targets) ? priority_targets : targets)
+
+/// Chooses a nonempty target type tier by weight, then randomly chooses a target within that tier.
+/// This prevents a large number of low-priority candidates from drowning out one high-priority candidate.
+/datum/target_priority_strategy/type_weighted
+ /// Blackboard key holding an ordered associative list of target typepaths to weights.
+ var/priorities_key = BB_STEAL_TARGET_PRIORITIES
+ /// Blackboard key holding the weight for targets which match no configured type.
+ var/fallback_priority_key = BB_STEAL_FALLBACK_PRIORITY
+
+/datum/target_priority_strategy/type_weighted/proc/matches_priority_type(atom/target, priority_type)
+ return istype(target, priority_type)
+
+/datum/target_priority_strategy/type_weighted/get_target_priority(datum/ai_controller/controller, atom/target)
+ var/list/priorities = controller.blackboard[priorities_key]
+ for(var/priority_type in priorities)
+ if(matches_priority_type(target, priority_type))
+ return priorities[priority_type]
+ return controller.blackboard[fallback_priority_key] || 1
+
+/datum/target_priority_strategy/type_weighted/select_target(datum/ai_controller/controller, list/atom/targets)
+ var/list/priorities = controller.blackboard[priorities_key]
+ if(!length(priorities))
+ return ..()
+
+ var/list/type_buckets = list()
+ var/list/fallback_targets = list()
+ for(var/atom/target as anything in targets)
+ var/matched_type
+ for(var/priority_type in priorities)
+ if(matches_priority_type(target, priority_type))
+ matched_type = priority_type
+ break
+ if(isnull(matched_type))
+ fallback_targets += target
+ continue
+ var/list/bucket = type_buckets[matched_type]
+ if(isnull(bucket))
+ bucket = list()
+ type_buckets[matched_type] = bucket
+ bucket += target
+
+ var/static/fallback_tier = "fallback"
+ var/list/available_weights = list()
+ for(var/priority_type in priorities)
+ if(length(type_buckets[priority_type]))
+ available_weights[priority_type] = priorities[priority_type]
+ if(length(fallback_targets))
+ available_weights[fallback_tier] = controller.blackboard[fallback_priority_key] || 1
+
+ var/selected_tier = pick_weight(available_weights)
+ var/list/selected_targets = selected_tier == fallback_tier ? fallback_targets : type_buckets[selected_tier]
+ return pick(selected_targets)
diff --git a/code/datums/ai/basic_mobs/target_priority_strategies/mining_strategies.dm b/code/datums/ai/basic_mobs/target_priority_strategies/mining_strategies.dm
index 569f23fff187..03a5893b0b1d 100644
--- a/code/datums/ai/basic_mobs/target_priority_strategies/mining_strategies.dm
+++ b/code/datums/ai/basic_mobs/target_priority_strategies/mining_strategies.dm
@@ -76,6 +76,13 @@
return pick(lucky_fella)
+/datum/target_priority_strategy/mining/can_replace_target(datum/ai_controller/controller, atom/current_target, atom/candidate)
+ var/current_priority = get_target_priority(controller, current_target)
+ var/candidate_priority = get_target_priority(controller, candidate)
+ if(candidate_priority != current_priority)
+ return candidate_priority > current_priority
+ return get_dist(controller.pawn, candidate) < get_dist(controller.pawn, current_target)
+
/datum/target_priority_strategy/mining/low_node_priority
// Higher than normal humans but will instantly pivot towards anyone who attacks or attacked mobs in our vicinity
node_priority = AGGRO_PRIORITY_NODE_LOW_PRIO
diff --git a/code/datums/ai/basic_mobs/target_sources/_target_source.dm b/code/datums/ai/basic_mobs/target_sources/_target_source.dm
index 0a501c5ca131..91fdf3c3237b 100644
--- a/code/datums/ai/basic_mobs/target_sources/_target_source.dm
+++ b/code/datums/ai/basic_mobs/target_sources/_target_source.dm
@@ -98,7 +98,6 @@
/datum/target_source/oview_items
/datum/target_source/oview_items/collect_candidates(mob/living/pawn, datum/ai_controller/controller, range)
- . = ..()
var/list/candidates = list()
for(var/obj/item/item_candidate in oview(range, pawn))
candidates += item_candidate
diff --git a/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm b/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm
index 80aaf28a9fcf..601ffd667af9 100644
--- a/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm
+++ b/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm
@@ -95,8 +95,8 @@
return target.loc
return null
-/datum/targeting_strategy/basic/can_keep_target(mob/living/living_mob, atom/target, range)
- return can_see(living_mob, target, range)
+/datum/targeting_strategy/basic/can_keep_target(mob/living/living_mob, atom/target, range, datum/ai_controller/controller = null)
+ return is_valid_target(living_mob, target, range, controller)
/// Returns true if the mob and target share factions.
/// Slow path for subtypes with custom_faction_check set; everything else uses TARGETING_FACTION_CHECK directly
diff --git a/code/datums/ai/generic_behaviors/acquire_target.dm b/code/datums/ai/generic_behaviors/acquire_target.dm
index 6311d82fe2c0..7f0e82199426 100644
--- a/code/datums/ai/generic_behaviors/acquire_target.dm
+++ b/code/datums/ai/generic_behaviors/acquire_target.dm
@@ -4,6 +4,8 @@
var/target_key
/// Either a /datum/targeting_strategy typepath (resolved directly) or a blackboard key string
var/targeting_strategy = BB_TARGETING_STRATEGY
+ /// Optional /datum/target_priority_strategy typepath or blackboard key string. Null means unranked selection.
+ var/target_priority_strategy
/// Typepath of the /datum/target_source type used to gather candidates. turned into the singleton instance when used
var/target_source = /datum/target_source/oview
/// How far to scan for candidates (passed to the target source). Can be a key too.
@@ -22,6 +24,8 @@
var/minimum_distance = 0
/// Strategy/range snapshot from the perform() that kicked off the current async search.
VAR_PRIVATE/datum/targeting_strategy/search_strategy
+ /// Optional selection strategy snapshot from the perform() that kicked off the current async search.
+ VAR_PRIVATE/datum/target_priority_strategy/search_priority_strategy
/// Range snapshot from the perform() that kicked off the current async search.
VAR_PRIVATE/search_range
@@ -34,25 +38,26 @@
return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED
var/datum/targeting_strategy/strategy = get_targeting_strategy(controller)
+ var/datum/target_priority_strategy/priority_strategy = get_target_priority_strategy(controller)
+ var/resolved_vision_range = get_vision_range(controller)
var/atom/current_target = controller.blackboard[target_key]
- if(should_keep_target(controller, strategy, current_target))
+ if(should_keep_target(controller, strategy, priority_strategy, current_target, resolved_vision_range))
return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED
- if(!isnum(vision_range)) //If there's a blackboard override, use that
- vision_range = controller.blackboard[vision_range] || vision_range
-
if(!must_be_reachable)
- return find_and_set_target(controller, strategy, vision_range)
+ return find_and_set_target(controller, strategy, priority_strategy, resolved_vision_range)
// Kick off async reachability search.
search_strategy = strategy
- search_range = vision_range
+ search_priority_strategy = priority_strategy
+ search_range = resolved_vision_range
return start_async()
/datum/bt_node/ai_behavior/acquire_target/finish_action(datum/ai_controller/controller, succeeded)
. = ..()
search_strategy = null
+ search_priority_strategy = null
search_range = null
/// Returns TRUE to abort the search before it starts (e.g. a detection field is already active).
@@ -60,12 +65,22 @@
return TRUE
/// Returns TRUE if the current target is still good and we should skip the search.
-/datum/bt_node/ai_behavior/acquire_target/proc/should_keep_target(datum/ai_controller/controller, datum/targeting_strategy/strategy, atom/current_target)
+/datum/bt_node/ai_behavior/acquire_target/proc/should_keep_target(
+ datum/ai_controller/controller,
+ datum/targeting_strategy/strategy,
+ datum/target_priority_strategy/priority_strategy,
+ atom/current_target,
+ resolved_vision_range,
+)
switch(revalidation_mode)
if(TARGET_KEEP_IF_SET)
return !isnull(current_target)
if(TARGET_REVALIDATE)
- return !isnull(current_target) && strategy.is_valid_target(controller.pawn, current_target, vision_range, controller)
+ return !isnull(current_target) && strategy.is_valid_target(controller.pawn, current_target, resolved_vision_range, controller)
+ if(TARGET_RESELECT_WITH_SELECTION)
+ return !isnull(current_target) \
+ && isnull(priority_strategy) \
+ && strategy.is_valid_target(controller.pawn, current_target, resolved_vision_range, controller)
return FALSE
///Resolves the targeting strategy for this behavior
@@ -79,9 +94,25 @@
CRASH("No targeting strategy was supplied in the blackboard for [controller.pawn]")
return strategy
+/// Resolves the optional target priority strategy for this behavior.
+/datum/bt_node/ai_behavior/acquire_target/proc/get_target_priority_strategy(datum/ai_controller/controller)
+ if(!target_priority_strategy)
+ return null
+ if(ispath(target_priority_strategy))
+ return GET_TARGET_PRIORITY_STRATEGY(target_priority_strategy)
+ return GET_TARGET_PRIORITY_STRATEGY(controller.blackboard[target_priority_strategy])
+
+/// Resolves a numeric vision range without mutating the behavior's configured value.
+/datum/bt_node/ai_behavior/acquire_target/proc/get_vision_range(datum/ai_controller/controller)
+ if(isnum(vision_range))
+ return vision_range
+ var/resolved_range = controller.blackboard[vision_range]
+ if(!isnum(resolved_range))
+ CRASH("No numeric vision range was supplied in blackboard key [vision_range] for [controller.pawn]")
+ return resolved_range
///Actual behavior for collecting and filtering targets
-/datum/bt_node/ai_behavior/acquire_target/proc/find_and_set_target(datum/ai_controller/controller, datum/targeting_strategy/targeting_strategy, range)
+/datum/bt_node/ai_behavior/acquire_target/proc/find_and_set_target(datum/ai_controller/controller, datum/targeting_strategy/targeting_strategy, datum/target_priority_strategy/priority_strategy, range)
var/mob/living/living_mob = controller.pawn
var/datum/target_source/source = GET_TARGET_SOURCE(target_source)
if(!source)
@@ -96,14 +127,15 @@
clear_stale_target(controller, current_target)
return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED
- var/list/filtered = filter_candidates(controller, candidates, targeting_strategy, current_target)
+ candidates = include_current_target(controller, candidates, targeting_strategy, priority_strategy, current_target, range)
+ var/list/filtered = filter_candidates(controller, candidates, targeting_strategy, priority_strategy, current_target, range)
if(!length(filtered))
on_no_valid_candidates(controller, current_target)
clear_stale_target(controller, current_target)
return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED
- var/atom/target = pick_final_target(controller, filtered)
+ var/atom/target = pick_final_target(controller, filtered, priority_strategy, current_target)
if(isnull(target))
on_no_valid_candidates(controller, current_target)
@@ -122,7 +154,7 @@
/// Clears the target key when revalidating and the search turned up nothing, so a stale target doesn't linger.
/datum/bt_node/ai_behavior/acquire_target/proc/clear_stale_target(datum/ai_controller/controller, atom/current_target)
- if(revalidation_mode != TARGET_REVALIDATE || isnull(current_target))
+ if(revalidation_mode == TARGET_KEEP_IF_SET || isnull(current_target))
return
controller.clear_blackboard_key(target_key)
@@ -134,15 +166,34 @@
return list(current_target)
return list()
-/// Filters the candidate list to valid targets. Override to add priority filtering or other per-candidate criteria.
-/datum/bt_node/ai_behavior/acquire_target/proc/filter_candidates(datum/ai_controller/controller, list/candidates, datum/targeting_strategy/strategy, atom/current_target)
+/// Includes a retainable current target in priority-aware reselection even if the target source omitted it.
+/datum/bt_node/ai_behavior/acquire_target/proc/include_current_target(datum/ai_controller/controller,list/candidates, datum/targeting_strategy/strategy, datum/target_priority_strategy/priority_strategy, atom/current_target, range)
+ if(isnull(priority_strategy) || isnull(current_target) || (current_target in candidates))
+ return candidates
+ if(!strategy.can_keep_target(controller.pawn, current_target, target_loss_distance || range, controller))
+ return candidates
+ var/list/candidates_with_current = candidates.Copy()
+ candidates_with_current += current_target
+ return candidates_with_current
+
+/// Filters the candidate list to valid targets and excludes candidates ranked below a retainable current target.
+/datum/bt_node/ai_behavior/acquire_target/proc/filter_candidates(datum/ai_controller/controller, list/candidates, datum/targeting_strategy/strategy, datum/target_priority_strategy/priority_strategy, atom/current_target, range)
var/mob/living/pawn = controller.pawn
var/list/ignore_list = ignore_list_key ? controller.blackboard[ignore_list_key] : null
+ var/current_priority
+ if(priority_strategy && current_target && !LAZYACCESS(ignore_list, current_target))
+ if(strategy.can_keep_target(pawn, current_target, target_loss_distance || range, controller))
+ current_priority = priority_strategy.get_target_priority(controller, current_target)
var/list/filtered = list()
for(var/atom/candidate as anything in candidates)
if(LAZYACCESS(ignore_list, candidate))
continue
- if(!strategy.is_valid_target(pawn, candidate, vision_range, controller))
+ var/is_retained_current = candidate == current_target \
+ && target_loss_distance \
+ && strategy.can_keep_target(pawn, candidate, target_loss_distance, controller)
+ if(!is_retained_current && !strategy.is_valid_target(pawn, candidate, range, controller))
+ continue
+ if(!isnull(current_priority) && priority_strategy.get_target_priority(controller, candidate) < current_priority)
continue
filtered += candidate
return filtered
@@ -155,13 +206,21 @@
/datum/bt_node/ai_behavior/acquire_target/proc/on_target_found(datum/ai_controller/controller, atom/target, datum/targeting_strategy/strategy)
return
-/// Picks the final target from filtered candidates. Only valid for the non-reachable path; the reachable path goes async.
-/datum/bt_node/ai_behavior/acquire_target/proc/pick_final_target(datum/ai_controller/controller, list/filtered_targets)
- return pick(filtered_targets)
+/// Picks the final target and keeps the current target on policy-defined ties.
+/datum/bt_node/ai_behavior/acquire_target/proc/pick_final_target(datum/ai_controller/controller, list/filtered_targets, datum/target_priority_strategy/priority_strategy, atom/current_target)
+ var/atom/selected_target = priority_strategy \
+ ? priority_strategy.select_target(controller, filtered_targets) \
+ : pick(filtered_targets)
+ if(isnull(priority_strategy) || isnull(current_target) || selected_target == current_target)
+ return selected_target
+ if(!(current_target in filtered_targets) || priority_strategy.can_replace_target(controller, current_target, selected_target))
+ return selected_target
+ return current_target
-/// perform_async(): walks filtered candidates checking reachability (may sleep), then commits the result via finish_async().
+/// perform_async(): selects candidates in policy order, checking reachability until one succeeds.
/datum/bt_node/ai_behavior/acquire_target/perform_async(datum/ai_controller/controller)
var/datum/targeting_strategy/strategy = search_strategy
+ var/datum/target_priority_strategy/priority_strategy = search_priority_strategy
var/range = search_range
var/mob/living/living_mob = controller.pawn
var/datum/target_source/source = GET_TARGET_SOURCE(target_source)
@@ -169,9 +228,14 @@
var/list/candidates = source.collect_candidates(living_mob, controller, range)
if(!length(candidates))
candidates = on_no_candidates(controller, current_target, strategy, range)
- var/list/filtered = filter_candidates(controller, candidates, strategy, current_target)
+ candidates = include_current_target(controller, candidates, strategy, priority_strategy, current_target, range)
+ var/list/filtered = filter_candidates(controller, candidates, strategy, priority_strategy, current_target, range)
var/atom/target
- for(var/atom/candidate as anything in filtered)
+ while(length(filtered))
+ var/atom/candidate = pick_final_target(controller, filtered, priority_strategy, current_target)
+ if(isnull(candidate))
+ break
+ filtered -= candidate
// get_path_to may sleep here check abort flag after it returns.
if(controller.can_reach_target(candidate, reach_distance, minimum_distance))
target = candidate
diff --git a/code/datums/ai/generic_behaviors/target_retaliate.dm b/code/datums/ai/generic_behaviors/target_retaliate.dm
index dff7da1d5bab..cd0e1e2734e2 100644
--- a/code/datums/ai/generic_behaviors/target_retaliate.dm
+++ b/code/datums/ai/generic_behaviors/target_retaliate.dm
@@ -2,7 +2,8 @@
///Pick a target from our retaliate list
/datum/bt_node/ai_behavior/acquire_target/target_from_retaliate_list
target_source = /datum/target_source/from_bb_list/retaliate_list
- revalidation_mode = TARGET_REVALIDATE
+ target_priority_strategy = BB_TARGET_PRIORITY_STRATEGY
+ revalidation_mode = TARGET_RESELECT_WITH_SELECTION
time_between_perform = 2 SECONDS
vision_range = 9
/// Blackboard key in which to store the target's hiding location.
@@ -17,37 +18,17 @@
var/usually_ignores_faction = controller.blackboard[BB_ALWAYS_IGNORE_FACTION] || FALSE
controller.set_blackboard_key(BB_TEMPORARILY_IGNORE_FACTION, usually_ignores_faction)
-/datum/bt_node/ai_behavior/acquire_target/target_from_retaliate_list/filter_candidates(datum/ai_controller/controller, list/candidates, datum/targeting_strategy/strategy, atom/current_target)
- var/mob/living/pawn = controller.pawn
- var/datum/target_priority_strategy/priority_strategy = GET_TARGET_PRIORITY_STRATEGY(controller.blackboard[BB_TARGET_PRIORITY_STRATEGY])
- var/current_priority = priority_strategy ? priority_strategy.get_target_priority(controller, current_target) : 0
- var/list/filtered = list()
- for(var/atom/candidate as anything in candidates)
- if(!strategy.is_valid_target(pawn, candidate, vision_range, controller))
- continue
- if(priority_strategy && priority_strategy.get_target_priority(controller, candidate) < current_priority)
- continue
- filtered += candidate
- return filtered
-
/datum/bt_node/ai_behavior/acquire_target/target_from_retaliate_list/on_target_found(datum/ai_controller/controller, atom/target, datum/targeting_strategy/strategy)
var/atom/hiding = strategy.find_hidden_mobs(controller.pawn, target)
if(hiding)
controller.set_blackboard_key(hiding_location_key, hiding)
+ else if(hiding_location_key)
+ controller.clear_blackboard_key(hiding_location_key)
/datum/bt_node/ai_behavior/acquire_target/target_from_retaliate_list/on_no_valid_candidates(datum/ai_controller/controller, atom/current_target)
if(current_target)
controller.clear_blackboard_key(target_key)
-/datum/bt_node/ai_behavior/acquire_target/target_from_retaliate_list/pick_final_target(datum/ai_controller/controller, list/filtered_targets)
- var/datum/target_priority_strategy/priority_strategy = GET_TARGET_PRIORITY_STRATEGY(controller.blackboard[BB_TARGET_PRIORITY_STRATEGY])
- if(!priority_strategy)
- return pick(filtered_targets)
- return priority_strategy.select_target(controller, filtered_targets)
-
/// Nearest-attacker variant
/datum/bt_node/ai_behavior/acquire_target/target_from_retaliate_list/nearest
-
-/datum/bt_node/ai_behavior/acquire_target/target_from_retaliate_list/nearest/pick_final_target(datum/ai_controller/controller, list/filtered_targets)
- var/turf/our_position = get_turf(controller.pawn)
- return get_closest_atom(/atom/, filtered_targets, our_position)
+ target_priority_strategy = /datum/target_priority_strategy/nearest
diff --git a/code/datums/ai/generic_subtrees/find_stealable_object.bt.json b/code/datums/ai/generic_subtrees/find_stealable_object.bt.json
index 0176eedb0eb6..fe8317903a5d 100644
--- a/code/datums/ai/generic_subtrees/find_stealable_object.bt.json
+++ b/code/datums/ai/generic_subtrees/find_stealable_object.bt.json
@@ -70,8 +70,10 @@
"vars": {
"target_key": "BB_ITEM_TO_STEAL",
"targeting_strategy": "/datum/targeting_strategy/pickup_item/stealable_item",
- "target_source": "/datum/target_source/oview",
- "must_be_reachable": true
+ "target_priority_strategy": "/datum/target_priority_strategy/type_weighted",
+ "target_source": "/datum/target_source/oview_items",
+ "must_be_reachable": true,
+ "minimum_distance": 1
}
},
{
diff --git a/code/datums/ai/learn_ai.md b/code/datums/ai/learn_ai.md
index 4da35d60000e..ba1acc893d9c 100644
--- a/code/datums/ai/learn_ai.md
+++ b/code/datums/ai/learn_ai.md
@@ -215,15 +215,16 @@ Once you are done with your tree, be sure to save the file. You can now compile
## Targeting
-A huge amount of AI work boils down to finding a thing nearby and remembering it. Finding an enemy, finding food, finding a beacon to walk to. Instead of writing a brand new "find" leaf every time, we have one generic leaf that you configure with two helpers. You almost never need to write a new leaf for this.
+A huge amount of AI work boils down to finding a thing nearby and remembering it. Finding an enemy, finding food, finding a beacon to walk to. Instead of writing a brand new "find" leaf every time, we have one generic leaf that you configure with reusable helpers. You almost never need to write a new leaf for this.
-The three pieces:
+The four pieces:
-1. **The leaf** is `update_interaction_target` or `update_targets`. Its job is to look around, find something, and write it to a blackboard key.
+1. **The leaf** is `update_interaction_target`, `update_combat_targets`, or another `acquire_target` subtype. Its job is to look around, find something, and write it to a blackboard key.
2. **A target source** answers the question "what candidates exist?". It gathers a list of nearby things, such as everything in view, only things of a certain type, or items in your hands.
3. **A targeting strategy** answers the question "is this specific candidate valid?". It looks at one candidate at a time and says yes or no.
+4. **An optional target priority strategy** answers the question "which valid candidate should be selected?". Omit it when all valid candidates are equivalent.
-So the flow is: the **source** hands the leaf a list of candidates, the leaf runs each one past the **strategy**, and the first one that passes gets written to your target key.
+So the flow is: the **source** hands the leaf a list of candidates, the leaf runs each one past the **targeting strategy**, and the optional **priority strategy** chooses among the survivors.
You configure all of this on the leaf node.
@@ -232,6 +233,7 @@ LEAF: update_interaction_target
target_key: BB_TARGET_FOOD (where to store what we found)
target_source: .../held_items_then_oview/basic_foods (what to look at)
targeting_strategy: .../anything (how to decide it's valid)
+ target_priority_strategy: null (optional selection policy)
vision_range: 7 (how far to look, optional)
```
@@ -239,8 +241,9 @@ A few pitfalls:
- **Finding nothing is just a FAILURE.** If the source returns an empty list, the leaf simply fails.
- **Use `/datum/targeting_strategy/anything` if you don't filter for specifics.** With this strategy the only thing we check is `get_dist`, which is enough when the source already gives you the specific candidates you want.
+- **Selection does not imply a private refresh timer.** `TARGET_RESELECT_WITH_SELECTION` reruns a configured priority strategy whenever the tree normally ticks the acquisition leaf; without a priority strategy it retains a valid target. `TARGET_REVALIDATE` retains any valid target even when a priority strategy exists, while `TARGET_ALWAYS_SEARCH` always searches.
- **Reuse before you build.** There are many existing sources and strategies. Use these before adding new ones.
Once the target key is set, the rest of your tree reacts to it the way you've already seen. A `decorator` gates the combat branch behind "is the target key set?". An observer on this decorator can cancel lower priority behavior when the target is set, or cancel its own behavior when the target is lost.
-> Note: combat target _searching_ during a fight is usually done by the `update_targets` leaf, which keeps `BB_CURRENT_TARGET` refreshed while you fight. `update_interaction_target` is the general-purpose "go find a thing" leaf for everything else.
+> Note: combat target _searching_ during a fight is usually done by the `update_combat_targets` leaf, which keeps `BB_CURRENT_TARGET` refreshed while you fight. `update_interaction_target` is the general-purpose "go find a thing" leaf for everything else.
diff --git a/code/datums/ai/monkey/monkey_bt_nodes.dm b/code/datums/ai/monkey/monkey_bt_nodes.dm
index a10f0176d2fc..3c294ce7f75f 100644
--- a/code/datums/ai/monkey/monkey_bt_nodes.dm
+++ b/code/datums/ai/monkey/monkey_bt_nodes.dm
@@ -150,7 +150,7 @@
return ..()
/// Prefers any gun once gun neurons are activated, else the strongest candidate that beats our current best held item.
-/datum/bt_node/ai_behavior/acquire_target/update_interaction_target/monkey_find_weapon/pick_final_target(datum/ai_controller/controller, list/filtered_targets)
+/datum/bt_node/ai_behavior/acquire_target/update_interaction_target/monkey_find_weapon/pick_final_target(datum/ai_controller/controller, list/filtered_targets, datum/target_priority_strategy/priority_strategy, atom/current_target)
var/mob/living/living_pawn = controller.pawn
if(controller.blackboard[BB_MONKEY_GUN_NEURONS_ACTIVATED])
diff --git a/code/datums/ai_laws/ai_laws.dm b/code/datums/ai_laws/ai_laws.dm
index 28c12c4ea136..1eefc2b20c80 100644
--- a/code/datums/ai_laws/ai_laws.dm
+++ b/code/datums/ai_laws/ai_laws.dm
@@ -85,7 +85,7 @@ GLOBAL_VAR(round_default_lawset)
switch(CONFIG_GET(number/default_laws))
if(CONFIG_ASIMOV)
law_weights -= AI_LAWS_ASIMOV
- if(CONFIG_CUSTOM)
+ if(CONFIG_SPECIFIED)
law_weights -= specified_law_ids
while(!lawtype && law_weights.len)
@@ -119,22 +119,24 @@ GLOBAL_VAR(round_default_lawset)
/// If TRUE, the zeroth law of this AI is protected and cannot be removed by players under normal circumstances.
var/protected_zeroth = FALSE
- /// Zeroth law
+ /// Zeroth law - String
/// A lawset can only have 1 zeroth law, it's the top dog.
/// Removed by things that remove core/inherent laws, but only if protected_zeroth is false. Otherwise, cannot be removed except by admins
var/zeroth = null
- /// Zeroth borg law
+ /// Zeroth borg law - String
/// It's just a zeroth law but specially themed for cyborgs
/// ("follow your master" vs "accomplish your objectives")
var/zeroth_borg = null
- /// Core Laws
+ /// Core Laws - Assoc list
/// These laws are usually applied by an ai lawset, or a law rack
+ /// This one is assoc, key = law text, value = is this an ion law
var/list/inherent = list()
- /// Supplied laws
+ /// Supplied laws - Assoc list
/// These laws are usually applied by adminbus or niche circumstances
/// In the case of AIs, they will always stick around, law rack or no
+ /// This one is assoc, key = law text, value = is this an ion law
var/list/supplied = list()
- /// Hacked laws
+ /// Hacked laws - Flat list
/// Can be supplied by a law rack, or can be added naturally
/// Their priority is always pushed above inherent laws
var/list/hacked = list()
@@ -220,13 +222,11 @@ GLOBAL_VAR(round_default_lawset)
/// Adds the passed law as an inherent law.
/// Can optionally be supplied an index to insert the law at.
/// No duplicate laws allowed.
-/datum/ai_laws/proc/add_inherent_law(law, index)
- if(isnull(index) || index > length(inherent))
- inherent |= law
- return
- if(law in inherent)
+/datum/ai_laws/proc/add_inherent_law(law, index, ioned = FALSE)
+ if(isnum(index) && index <= length(inherent))
inherent -= law
- inherent.Insert(index, law)
+ inherent.Insert(index, law)
+ inherent[law] = ioned
/// Removes the passed law from the inherent law list.
/datum/ai_laws/proc/remove_inherent_law(law)
@@ -281,15 +281,18 @@ GLOBAL_VAR(round_default_lawset)
data += "[show_numbers ? "[ion_num()]:" : ""] [render_html ? "[law]" : law]"
var/number = 1
- for(var/law in inherent)
+ for(var/law, is_ioned in inherent)
if (length(law) > 0)
- data += "[show_numbers ? "[number]:" : ""] [law]"
- number++
+ data += "[show_numbers ? "[is_ioned ? ion_num() : number]:" : ""] [law]"
+ if(!is_ioned)
+ number++
- for(var/law in supplied)
+ for(var/law, is_ioned in supplied)
if (length(law) > 0)
- data += "[show_numbers ? "[number]:" : ""] [render_html ? "[law]" : law]"
- number++
+ data += "[show_numbers ? "[is_ioned ? ion_num() : number]:" : ""] [render_html ? "[law]" : law]"
+ if(!is_ioned)
+ number++
+
return data
#undef AI_LAWS_ASIMOV
diff --git a/code/datums/ai_laws/state_laws_ui.dm b/code/datums/ai_laws/state_laws_ui.dm
index 65b45aaea6cc..dbfa13f22842 100644
--- a/code/datums/ai_laws/state_laws_ui.dm
+++ b/code/datums/ai_laws/state_laws_ui.dm
@@ -15,7 +15,7 @@
/// Used to update the to_state list to the passed ai law's inherent laws
/// Call this when changing the AI's lawset entirely
/datum/state_laws_ui/proc/update_inherent_stated_laws(datum/ai_laws/laws)
- to_state = laws.inherent.Copy()
+ to_state = assoc_to_values(laws.inherent)
/datum/state_laws_ui/Destroy()
owner = null
@@ -29,10 +29,10 @@
for(var/law in owner.laws.hacked)
law_data += list(law_to_ui_data(law, ion_num(), "hacked"))
var/number = 1
- for(var/law in owner.laws.inherent)
- law_data += list(law_to_ui_data(law, number++, "core"))
- for(var/law in owner.laws.supplied)
- law_data += list(law_to_ui_data(law, number++, "supplied"))
+ for(var/law, is_ioned in owner.laws.inherent)
+ law_data += list(law_to_ui_data(law, is_ioned ? ion_num() : number++, "core"))
+ for(var/law, is_ioned in owner.laws.supplied)
+ law_data += list(law_to_ui_data(law, is_ioned ? ion_num() : number++, "supplied"))
return law_data
/datum/state_laws_ui/proc/law_to_ui_data(law_text, law_number, law_type)
@@ -106,25 +106,24 @@
owner.say("[owner.radiomod] 0. [lawcache_zeroth]", forced = forced_log_message, message_mods = list(MODE_SEQUENTIAL = TRUE, SAY_MOD_VERB = "states"))
sleep(1 SECONDS)
- for (var/index in 1 to length(lawcache_hacked))
- var/law = lawcache_hacked[index]
+ for (var/law in lawcache_hacked)
if (force_all_laws || (law in to_state_cached))
owner.say("[owner.radiomod] [ion_num()]. [law]", forced = forced_log_message, message_mods = list(MODE_SEQUENTIAL = TRUE, SAY_MOD_VERB = "states"))
sleep(1 SECONDS)
var/number = 1
- for (var/index in 1 to length(lawcache_inherent))
- var/law = lawcache_inherent[index]
- if (force_all_laws || (law in to_state_cached))
- owner.say("[owner.radiomod] [number]. [law]", forced = forced_log_message, message_mods = list(MODE_SEQUENTIAL = TRUE, SAY_MOD_VERB = "states"))
- number++
+ for (var/law_text, is_ioned in lawcache_inherent)
+ if (force_all_laws || (law_text in to_state_cached))
+ owner.say("[owner.radiomod] [is_ioned ? ion_num() : number]. [law_text]", forced = forced_log_message, message_mods = list(MODE_SEQUENTIAL = TRUE, SAY_MOD_VERB = "states"))
+ if(!is_ioned)
+ number++
sleep(1 SECONDS)
- for (var/index in 1 to length(lawcache_supplied))
- var/law = lawcache_supplied[index]
- if (force_all_laws || (law in to_state_cached))
- owner.say("[owner.radiomod] [number]. [law]", forced = forced_log_message, message_mods = list(MODE_SEQUENTIAL = TRUE, SAY_MOD_VERB = "states"))
- number++
+ for (var/law_text, is_ioned in lawcache_supplied)
+ if (force_all_laws || (law_text in to_state_cached))
+ owner.say("[owner.radiomod] [is_ioned ? ion_num() : number]. [law_text]", forced = forced_log_message, message_mods = list(MODE_SEQUENTIAL = TRUE, SAY_MOD_VERB = "states"))
+ if(!is_ioned)
+ number++
sleep(1 SECONDS)
addtimer(VARSET_CALLBACK(src, locked, FALSE), 3 SECONDS)
diff --git a/code/datums/bodypart_overlays/bodypart_overlay.dm b/code/datums/bodypart_overlays/bodypart_overlay.dm
index 2125e921d967..be895a933ce6 100644
--- a/code/datums/bodypart_overlays/bodypart_overlay.dm
+++ b/code/datums/bodypart_overlays/bodypart_overlay.dm
@@ -94,7 +94,7 @@
var/icon/husk_icon = new(main_image.icon)
husk_icon.ColorTone(HUSK_COLOR_TONE)
main_image.icon = husk_icon
- main_image.color = limb.husk_color
+ main_image.color = limb.draw_color
return main_image
/**
diff --git a/code/datums/bodypart_overlays/emote_bodypart_overlay.dm b/code/datums/bodypart_overlays/emote_bodypart_overlay.dm
index 6bf07f679ff6..aeaf0d1d4409 100644
--- a/code/datums/bodypart_overlays/emote_bodypart_overlay.dm
+++ b/code/datums/bodypart_overlays/emote_bodypart_overlay.dm
@@ -56,7 +56,7 @@
attached_body_zone = BODY_ZONE_HEAD
/datum/bodypart_overlay/simple/emote/blush/color_image(image/overlay, obj/item/bodypart/limb, layer_index)
- var/base_color = limb.owner?.get_bloodtype()?.get_damage_color()
+ var/base_color = limb.owner?.get_bloodtype()?.get_damage_color(limb.owner)
if(!base_color)
return ..()
diff --git a/code/datums/brain_damage/magic.dm b/code/datums/brain_damage/magic.dm
index fc8f6fb804dc..5887c7e37dd2 100644
--- a/code/datums/brain_damage/magic.dm
+++ b/code/datums/brain_damage/magic.dm
@@ -21,11 +21,11 @@
/datum/brain_trauma/magic/lumiphobia/on_life(seconds_per_tick)
..()
- var/turf/T = owner.loc
- if(!istype(T))
+ var/turf/owner_turf = owner.loc
+ if(!istype(owner_turf))
return
- if(T.get_lumcount() <= SHADOW_SPECIES_LIGHT_THRESHOLD) //if there's enough light, start dying
+ if(!owner_turf.check_lumcount_above(SHADOW_SPECIES_LIGHT_THRESHOLD)) //if there's enough light, start dying
return
if(COOLDOWN_FINISHED(src, damage_warning_cooldown))
diff --git a/code/datums/browser.dm b/code/datums/browser.dm
index 5f6cf9038ac1..f109b02b62e7 100644
--- a/code/datums/browser.dm
+++ b/code/datums/browser.dm
@@ -484,7 +484,7 @@
/// called when a browser popup window is closed after registering with proc/onclose()
/// if a valid atom reference is supplied, call the atom's Topic() with "close=1"
/// otherwise, just reset the client mob's machine var.
-GAME_VERB_HIDDEN(/client, windowclose, ".windowclose", atomref as text)
+GAME_VERB_NATIVE(/client, windowclose, ".windowclose", null, atomref as text)
if(atomref == "null")
return
diff --git a/code/datums/components/arbitrary_item_organ.dm b/code/datums/components/arbitrary_item_organ.dm
new file mode 100644
index 000000000000..bffc1acde752
--- /dev/null
+++ b/code/datums/components/arbitrary_item_organ.dm
@@ -0,0 +1,53 @@
+/// Applied to an organ, makes it take on the appearance of an item
+/// If the item <-> organ relationship is broken, the organ will be destroyed
+/datum/component/arbitrary_item_organ
+ /// The item our organ is representing
+ var/obj/item/base_item
+
+/datum/component/arbitrary_item_organ/Initialize(obj/item/base_item)
+ if(!isorgan(parent))
+ return COMPONENT_INCOMPATIBLE
+ if(!isitem(base_item))
+ return COMPONENT_INCOMPATIBLE
+
+ src.base_item = base_item
+
+ base_item.forceMove(parent)
+
+ var/obj/item/organ/organ = parent
+ organ.organ_flags |= ORGAN_FAKE|ORGAN_PROMINENT|ORGAN_HAZARDOUS
+ organ.organ_flags &= ~ORGAN_ORGANIC
+ organ.apply_organ_damage(INFINITY)
+ organ.name = base_item.name
+
+ RegisterSignal(organ, COMSIG_ORGAN_ADJUST_DAMAGE, PROC_REF(break_again))
+ RegisterSignal(organ, COMSIG_ORGAN_BODYPART_REMOVED, PROC_REF(organ_removed))
+
+ RegisterSignals(base_item, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED), PROC_REF(base_item_lost))
+
+/datum/component/arbitrary_item_organ/Destroy()
+ UnregisterSignal(parent, list(COMSIG_ORGAN_ADJUST_DAMAGE, COMSIG_ORGAN_REMOVED))
+ UnregisterSignal(base_item, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED))
+ base_item = null
+ return ..()
+
+/// If our internal item is deleted or removed from the organ's contents, nuke the organ
+/datum/component/arbitrary_item_organ/proc/base_item_lost(obj/item/base_item)
+ SIGNAL_HANDLER
+
+ if(QDELING(parent))
+ return
+
+ qdel(parent)
+
+/// Any attempt to heal the organ should damage cap it again
+/datum/component/arbitrary_item_organ/proc/break_again(obj/item/organ/organ, damage_amount, ...)
+ SIGNAL_HANDLER
+ if(damage_amount < INFINITY)
+ organ.apply_organ_damage(INFINITY)
+
+/// If the organ is removed it reverts to being a normal item
+/datum/component/arbitrary_item_organ/proc/organ_removed(obj/item/organ/organ, obj/item/bodypart/limb, ...)
+ SIGNAL_HANDLER
+
+ base_item.forceMove(limb.owner?.drop_location() || limb.drop_location()) // triggers qdel(organ)
diff --git a/code/datums/components/blood_walk.dm b/code/datums/components/blood_walk.dm
index 299b031fb509..7dd6e3b6f9f9 100644
--- a/code/datums/components/blood_walk.dm
+++ b/code/datums/components/blood_walk.dm
@@ -28,7 +28,7 @@
target_dir_change = FALSE,
transfer_blood_dna = FALSE,
max_blood = INFINITY,
- list/blood_dna_info = list("meaty DNA" = get_blood_type(BLOOD_TYPE_MEAT))
+ list/blood_dna_info = list("meaty DNA" = get_blood_type(/datum/blood_type/meat))
)
if(!ismovable(parent))
diff --git a/code/datums/components/bloody_spreader.dm b/code/datums/components/bloody_spreader.dm
index 073dfe07dd6c..dc46073aeb99 100644
--- a/code/datums/components/bloody_spreader.dm
+++ b/code/datums/components/bloody_spreader.dm
@@ -7,7 +7,7 @@
// Blood splashed around everywhere will carry these diseases. Oh no...
var/list/diseases
-/datum/component/bloody_spreader/Initialize(blood_left = INFINITY, list/blood_dna = list(get_blood_type(BLOOD_TYPE_MEAT).dna_string = get_blood_type(BLOOD_TYPE_MEAT)), list/diseases = null)
+/datum/component/bloody_spreader/Initialize(blood_left = INFINITY, list/blood_dna = list(get_blood_type(/datum/blood_type/meat).dna_string = get_blood_type(/datum/blood_type/meat)), list/diseases = null)
if(!isatom(parent))
return COMPONENT_INCOMPATIBLE
diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm
index 3c475d4e6144..217268dbdc9b 100644
--- a/code/datums/components/butchering.dm
+++ b/code/datums/components/butchering.dm
@@ -161,14 +161,17 @@
target.drop_organs(user, TRUE)
return
- if (!length(target.butcher_drops))
+ var/list/target_butcher_drops = target.get_butcher_drops()
+ if (!LAZYLEN(target_butcher_drops))
to_chat(user, span_warning("There is nothing left inside [limb_descriptor]!"))
return
if (target.body_zone == BODY_ZONE_CHEST && target.owner)
// Cannot butcher the chest until we hack off all the other limbs
for (var/obj/item/bodypart/limb as anything in target.owner.get_bodyparts())
- if (limb != target && limb.butcher_drops && limb.butcher_replacement)
+ if(limb == target)
+ continue
+ if (LAZYLEN(limb.get_butcher_drops()) && limb.butcher_replacement)
to_chat(user, span_warning("You need to butcher all other limbs first!"))
return
@@ -187,8 +190,8 @@
var/list/failures = list()
var/list/bonuses = list()
- for (var/obj/item/drop_type as anything in target.butcher_drops)
- var/amount = target.butcher_drops[drop_type] || 1
+ for (var/obj/item/drop_type as anything in target_butcher_drops)
+ var/amount = target_butcher_drops[drop_type] || 1
var/is_stack = ispath(drop_type, /obj/item/stack)
for (var/i in 1 to amount)
diff --git a/code/datums/components/chasm.dm b/code/datums/components/chasm.dm
index 1fce2e916a34..cd9efe2676c2 100644
--- a/code/datums/components/chasm.dm
+++ b/code/datums/components/chasm.dm
@@ -51,6 +51,8 @@
//otherwise don't do anything because turfs and areas are initialized before movables.
if(!mapload)
addtimer(CALLBACK(src, PROC_REF(drop_stuff)), 0)
+ else if(HAS_TRAIT(parent, TRAIT_CHASM_STOPPED)) // The lattice initialized before we could set our signals
+ on_chasm_stopped(parent)
parent.AddComponent(/datum/component/fishing_spot, GLOB.preset_fish_sources[/datum/fish_source/chasm])
/datum/component/chasm/UnregisterFromParent()
diff --git a/code/datums/components/conveyor_movement.dm b/code/datums/components/conveyor_movement.dm
index fe1cf47aaad4..1df6adf8d38d 100644
--- a/code/datums/components/conveyor_movement.dm
+++ b/code/datums/components/conveyor_movement.dm
@@ -5,6 +5,7 @@
/datum/component/convey
var/living_parent = FALSE
var/speed
+ var/current_rotation
/datum/component/convey/Initialize(direction, speed, start_delay)
if(!ismovable(parent))
@@ -15,9 +16,10 @@
if(!start_delay)
start_delay = speed
var/atom/movable/moving_parent = parent
- var/datum/move_loop/loop = GLOB.move_manager.move(moving_parent, direction, delay = start_delay, subsystem = SSconveyors, flags=MOVEMENT_LOOP_IGNORE_PRIORITY|MOVEMENT_LOOP_OUTSIDE_CONTROL)
+ var/datum/move_loop/loop = GLOB.move_manager.move(moving_parent, direction, delay = start_delay, subsystem = SSconveyors, flags = MOVEMENT_LOOP_IGNORE_PRIORITY | MOVEMENT_LOOP_OUTSIDE_CONTROL | MOVEMENT_LOOP_NO_DIR_UPDATE)
RegisterSignal(loop, COMSIG_MOVELOOP_PREPROCESS_CHECK, PROC_REF(should_move))
RegisterSignal(loop, COMSIG_QDELETING, PROC_REF(loop_ended))
+ RegisterSignal(loop, COMSIG_MOVELOOP_POSTPROCESS, PROC_REF(special_rotate))
/datum/component/convey/proc/should_move(datum/move_loop/source)
SIGNAL_HANDLER
@@ -29,6 +31,20 @@
var/atom/movable/moving_parent = parent
if(moving_parent.anchored || !moving_parent.has_gravity())
return MOVELOOP_SKIP_STEP
+ var/obj/machinery/conveyor/belt = locate() in moving_parent.loc
+ if(!ISDIAGONALDIR(belt.dir))
+ current_rotation = null
+ return
+
+ current_rotation = belt.operating * -90 // belt.operating will be CONVEYOR_FORWARD or CONVEYOR_BACKWARD, 1 or -1
+ if(belt.inverted ^ belt.flipped)
+ current_rotation = -current_rotation
+
+/datum/component/convey/proc/special_rotate(datum/move_loop/source, result)
+ SIGNAL_HANDLER
+ if(result == MOVELOOP_SUCCESS && current_rotation)
+ var/atom/movable/turning_parent = parent
+ turning_parent.setDir(turn(turning_parent.dir, current_rotation))
/datum/component/convey/proc/loop_ended(datum/source)
SIGNAL_HANDLER
diff --git a/code/datums/components/crafting/melee_weapon.dm b/code/datums/components/crafting/melee_weapon.dm
index 828b2868b599..a86e3bf1523a 100644
--- a/code/datums/components/crafting/melee_weapon.dm
+++ b/code/datums/components/crafting/melee_weapon.dm
@@ -296,8 +296,8 @@
name = "Watcher Wing Trophy"
result = /obj/item/crusher_trophy/watcher_wing
reqs = list(
- /obj/item/stack/sheet/sinew = 7,
- /obj/item/stack/ore/diamond = 10,
+ /obj/item/stack/sheet/sinew = 5,
+ /obj/item/stack/ore/diamond = 6,
/obj/item/stack/sheet/bone = 5,
)
@@ -306,7 +306,7 @@
result = /obj/item/crusher_trophy/ice_wing
reqs = list(
/obj/item/stack/sheet/sinew/icewing = 3,
- /obj/item/stack/ore/diamond = 6,
+ /obj/item/stack/ore/diamond = 5,
/obj/item/stack/sheet/bone = 3,
)
@@ -315,7 +315,7 @@
result = /obj/item/crusher_trophy/magma_wing
reqs = list(
/obj/item/stack/sheet/sinew/magmawing = 3,
- /obj/item/stack/ore/diamond = 6,
+ /obj/item/stack/ore/diamond = 2,
/obj/item/stack/sheet/bone = 3,
)
@@ -324,7 +324,7 @@
result = /obj/item/crusher_trophy/goliath_tentacle
reqs = list(
/obj/item/stack/sheet/animalhide/goliath_hide = 3,
- /obj/item/stack/sheet/bone = 8,
+ /obj/item/stack/sheet/bone = 6,
)
/datum/crafting_recipe/crusher_trophy/legion_skull
@@ -332,23 +332,23 @@
result = /obj/item/crusher_trophy/legion_skull
reqs = list(
/obj/item/organ/monster_core/regenerative_core/legion = 3, // Good sink for expired cores
- /obj/item/stack/sheet/bone = 5,
+ /obj/item/stack/sheet/bone = 4,
)
/datum/crafting_recipe/crusher_trophy/lobster_claw
name = "Lobster Claw Trophy"
result = /obj/item/crusher_trophy/lobster_claw
reqs = list(
- /obj/item/organ/monster_core/rush_gland = 3,
- /obj/item/stack/sheet/bone = 5,
- /obj/item/food/meat/slab/rawcrab = 3,
+ /obj/item/organ/monster_core/rush_gland = 2,
+ /obj/item/stack/sheet/bone = 4,
+ /obj/item/food/meat/slab/rawcrab = 2,
)
/datum/crafting_recipe/crusher_trophy/brimdemon_fang
name = "Brimdemon Fang Trophy"
result = /obj/item/crusher_trophy/brimdemon_fang
reqs = list(
- /obj/item/organ/monster_core/brimdust_sac = 3,
+ /obj/item/organ/monster_core/brimdust_sac = 2,
/datum/reagent/brimdust = 45,
)
@@ -357,6 +357,6 @@
result = /obj/item/crusher_trophy/bileworm_spewlet
reqs = list(
/obj/item/stack/sheet/animalhide/bileworm = 3,
- /obj/item/stack/ore/gold = 12,
+ /obj/item/stack/ore/gold = 8,
)
*/
diff --git a/code/datums/components/fearful/effects.dm b/code/datums/components/fearful/effects.dm
index c0ce94bfde44..3ad314014e53 100644
--- a/code/datums/components/fearful/effects.dm
+++ b/code/datums/components/fearful/effects.dm
@@ -1,5 +1,6 @@
// Terror effect handlers
+/// Macro to scale a base value from 0x to ?x based on the current terror level, clamped to the base value
#define FEAR_SCALING(base, min, max) clamp(base * (terror_buildup - min) / (max - min), 0, base)
/// Causes mild jittering, scaling with current terror level
@@ -214,4 +215,27 @@
/datum/terror_handler/startle/proc/speed_up()
owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/spooked)
+/// Forces you to stop, drop, and roll when on fire and sufficiently panicked
+/datum/terror_handler/force_stop_drop_roll
+ handler_type = TERROR_HANDLER_EFFECT
+
+/datum/terror_handler/force_stop_drop_roll/tick(seconds_per_tick, terror_buildup)
+ if (terror_buildup < TERROR_BUILDUP_FEAR || !owner.on_fire || !owner.can_resist())
+ return 0
+
+ if (!SPT_PROB(5 + FEAR_SCALING(10, TERROR_BUILDUP_FEAR, TERROR_BUILDUP_MAXIMUM), seconds_per_tick)) // 5% to 15% chance
+ return 0
+
+ // basically forces you to stop, drop, and roll, and prevents you from cancelling it
+ var/forced_roll_duration = FEAR_SCALING(67.5 SECONDS, TERROR_BUILDUP_FEAR, TERROR_BUILDUP_MAXIMUM)
+ owner.Immobilize(forced_roll_duration)
+ owner.Knockdown(forced_roll_duration)
+ if(owner.has_status_effect(/datum/status_effect/stop_drop_roll))
+ to_chat(owner, span_warning("You panic, and focus everything into rolling the fire out!"))
+ else
+ to_chat(owner, span_warning("You panic and immediately drop to the ground, trying to roll the fire out!"))
+ owner.apply_status_effect(/datum/status_effect/stop_drop_roll, TRUE)
+
+ return -1 * TERROR_BUILDUP_PASSIVE_DECREASE // + immediate terror decrease because you think it's helping!
+
#undef FEAR_SCALING
diff --git a/code/datums/components/fearful/fearful.dm b/code/datums/components/fearful/fearful.dm
index 750e036cde5f..dc5e5861d53b 100644
--- a/code/datums/components/fearful/fearful.dm
+++ b/code/datums/components/fearful/fearful.dm
@@ -153,8 +153,7 @@
var/unlit_tiles = 0
for(var/turf/open/turf_to_check in range(1, source))
- var/light_amount = turf_to_check.get_lumcount()
- if(light_amount > LIGHTING_TILE_IS_DARK)
+ if(turf_to_check.check_lumcount_above(LIGHTING_TILE_IS_DARK))
lit_tiles++
else
unlit_tiles++
@@ -182,12 +181,13 @@
)
return COMPONENT_BLOCK_MISC_HELP
+ if(terror_buildup >= TERROR_BUILDUP_TERROR)
+ source.visible_message(
+ span_notice("[source] seems to relax as [hugger] gives [source.p_them()] a comforting hug."),
+ span_nicegreen("You feel yourself calm down as [hugger] gives you a reassuring hug."),
+ span_hear("You hear shuffling and a sigh of relief."),
+ )
terror_buildup -= HUG_TERROR_AMOUNT
- source.visible_message(
- span_notice("[source] seems to relax as [hugger] gives [source.p_them()] a comforting hug."),
- span_nicegreen("You feel yourself calm down as [hugger] gives you a reassuring hug."),
- span_hear("You hear shuffling and a sigh of relief."),
- )
/// Remove all terror buildup when we become fearless
/datum/component/fearful/proc/fearless_added(datum/source)
diff --git a/code/datums/components/fearful/sources/_sources.dm b/code/datums/components/fearful/sources/_sources.dm
index d14664814977..8e78c6e2466d 100644
--- a/code/datums/components/fearful/sources/_sources.dm
+++ b/code/datums/components/fearful/sources/_sources.dm
@@ -2,35 +2,45 @@
/// Simple source which passively increases terror based on a single condition and can do something when its added/removed
/datum/terror_handler/simple_source
handler_type = TERROR_HANDLER_SOURCE
- /// How much terror is added per second
- var/buildup_per_second = 10
/// Have we already applied our effects?
var/active = FALSE
/datum/terror_handler/simple_source/tick(seconds_per_tick, terror_buildup)
. = ..()
- if (check_condition(seconds_per_tick, terror_buildup) && terror_buildup < TERROR_BUILDUP_PASSIVE_MAXIMUM)
+ var/temporarily_immune = HAS_TRAIT(owner, TRAIT_FEARLESS) || HAS_TRAIT(owner, TRAIT_MIND_TEMPORARILY_GONE) || IS_UNCONSCIOUS(owner)
+ var/buildup_per_second = temporarily_immune ? 0 : check_condition(seconds_per_tick, terror_buildup)
+ if (buildup_per_second > 0 && terror_buildup < TERROR_BUILDUP_PASSIVE_MAXIMUM)
if (!active)
+ active = TRUE
on_activation(terror_buildup)
. += min(buildup_per_second * seconds_per_tick, TERROR_BUILDUP_PASSIVE_MAXIMUM - terror_buildup)
+
else if (active)
+ active = FALSE
on_deactivation(terror_buildup)
-/// Proc that children should override with their conditions
+/**
+ * Checks how much terror to build up this tick
+ *
+ * * seconds_per_tick - How many seconds are in each tick, static
+ * * terror_buildup - How much terror the owner currently has
+ *
+ * Return a number, which is the amount of terror to build up this tick.
+ * Return 0 for no buildup.
+ */
/datum/terror_handler/simple_source/proc/check_condition(seconds_per_tick, terror_buildup)
- return !HAS_TRAIT(owner, TRAIT_FEARLESS) && !HAS_TRAIT(owner, TRAIT_MIND_TEMPORARILY_GONE) && !IS_UNCONSCIOUS(owner)
+ return 0
/// Proc that's called when the effect is first applied, for moodlets and alike
/datum/terror_handler/simple_source/proc/on_activation(terror_buildup)
- active = TRUE
+ return
/// Proc that's called when the effect stops working, for moodlets and alike
/datum/terror_handler/simple_source/proc/on_deactivation(terror_buildup)
- active = FALSE
+ return
/// Makes the owner terrified of darkness
/datum/terror_handler/simple_source/nyctophobia
- buildup_per_second = 5 // Takes about two minutes to reach maximum
/// Are we counteracted by mesons?
var/meson_negated = TRUE
@@ -39,54 +49,44 @@
return ..()
/datum/terror_handler/simple_source/nyctophobia/check_condition(seconds_per_tick, terror_buildup)
- . = ..()
- if (!.)
- return
-
if (ishuman(owner))
var/mob/living/carbon/human/as_human = owner
if(as_human.dna?.species.id in list(SPECIES_SHADOW, SPECIES_NIGHTMARE))
- return FALSE
+ return 0
if (meson_negated && (owner.sight & SEE_TURFS))
- return FALSE
+ return 0
var/lit_tiles = 0
var/unlit_tiles = 0
for (var/turf/open/turf_to_check in range(1, owner))
- var/light_amount = turf_to_check.get_lumcount()
- if (light_amount > LIGHTING_TILE_IS_DARK)
+ if (turf_to_check.check_lumcount_above(LIGHTING_TILE_IS_DARK))
lit_tiles++
else
unlit_tiles++
- return lit_tiles < unlit_tiles
+ return lit_tiles < unlit_tiles ? 5 : 0
/datum/terror_handler/simple_source/nyctophobia/on_activation(terror_buildup)
- . = ..()
owner.add_mood_event("nyctophobia", /datum/mood_event/nyctophobia)
/datum/terror_handler/simple_source/nyctophobia/on_deactivation(terror_buildup)
- . = ..()
owner.clear_mood_event("nyctophobia")
/// Nightmare spell version with quicker buildup that shadows the quirk one, also handles removing the status upon reaching 0 terror
/datum/terror_handler/simple_source/nyctophobia/terrified
- // Takes about 30 seconds to reach maximum if you include 100 from casting the spell
- buildup_per_second = 15
// Overrides the base type with slower buildup
overrides = list(/datum/terror_handler/simple_source/nyctophobia)
meson_negated = FALSE
/datum/terror_handler/simple_source/nyctophobia/terrified/tick(seconds_per_tick, terror_buildup)
- . = ..()
- if (terror_buildup == 0 && !.)
+ . = ..() * 3
+ if (terror_buildup == 0 && . <= 0)
owner.RemoveComponentSource("terrified", /datum/component/fearful)
/// Makes the owner afraid of being stuck in closets, crates, mechs, etc
/datum/terror_handler/simple_source/claustrophobia
- buildup_per_second = 15
COOLDOWN_DECLARE(message_cd)
/datum/terror_handler/simple_source/claustrophobia/Destroy(force)
@@ -94,37 +94,26 @@
return ..()
/datum/terror_handler/simple_source/claustrophobia/check_condition(seconds_per_tick, terror_buildup)
- . = ..()
- if (!.)
- return
-
if (isturf(owner.loc))
- return FALSE
+ return 0
if (COOLDOWN_FINISHED(src, message_cd) && SPT_PROB(15, seconds_per_tick))
to_chat(owner, span_warning("You feel trapped! Must escape... can't breathe..."))
COOLDOWN_START(src, message_cd, TERROR_MESSAGE_CD)
- return TRUE
+ return 15
/datum/terror_handler/simple_source/claustrophobia/on_activation(terror_buildup)
- . = ..()
owner.add_mood_event("claustrophobia", /datum/mood_event/claustrophobia)
/datum/terror_handler/simple_source/claustrophobia/on_deactivation(terror_buildup)
- . = ..()
owner.clear_mood_event("claustrophobia")
/// Makes the owner afraid of certain jolly figures
/datum/terror_handler/simple_source/clausophobia
- buildup_per_second = 20
COOLDOWN_DECLARE(message_cd)
/datum/terror_handler/simple_source/clausophobia/check_condition(seconds_per_tick, terror_buildup)
- . = ..()
- if (!.)
- return
-
var/certified_jolly = FALSE
for (var/mob/living/carbon/human/possible_claus in view(5, owner))
@@ -143,24 +132,19 @@
break
if (!certified_jolly)
- return FALSE
+ return 0
if (COOLDOWN_FINISHED(src, message_cd) && SPT_PROB(15, seconds_per_tick))
to_chat(owner, span_warning("Santa Claus is here! I gotta get out of here!"))
COOLDOWN_START(src, message_cd, TERROR_MESSAGE_CD)
- return TRUE
+ return 15
/// Makes the owner afraid of being alone
/datum/terror_handler/simple_source/monophobia
- buildup_per_second = 2.5 // Pretty low, ~4 minutes to reach passive cap
COOLDOWN_DECLARE(message_cd)
/datum/terror_handler/simple_source/monophobia/check_condition(seconds_per_tick, terror_buildup)
- . = ..()
- if (!.)
- return
-
var/check_radius = 7
if (owner.is_blind())
check_radius = 1
@@ -170,10 +154,55 @@
continue
if (istype(friend, /mob/living/basic/pet) || friend.ckey)
- return FALSE
+ return 0
if (COOLDOWN_FINISHED(src, message_cd) && SPT_PROB(10, seconds_per_tick))
to_chat(owner, span_warning("You feel terribly lonely..."))
COOLDOWN_START(src, message_cd, TERROR_MESSAGE_CD)
- return TRUE
+ return 2.5 // Pretty low, ~4 minutes to reach passive cap
+
+/// Afraid of being on fire or being near open flames (even flames such as candles or fireplaces)
+/datum/terror_handler/simple_source/pyrophobia
+ /// Tracks the last fire size to avoid spamming mood events
+ VAR_PRIVATE/last_fire_size = -1
+ /// Weakref to active fire hallucinations
+ VAR_PRIVATE/datum/weakref/fire_hallucination_weakref
+
+/datum/terror_handler/simple_source/pyrophobia/New(mob/living/new_owner, datum/component/fearful/new_component)
+ . = ..()
+ RegisterSignal(owner, COMSIG_LIVING_HALLUCINATING, PROC_REF(on_hallucination))
+
+/datum/terror_handler/simple_source/pyrophobia/Destroy(force)
+ UnregisterSignal(owner, COMSIG_LIVING_HALLUCINATING)
+ return ..()
+
+/datum/terror_handler/simple_source/pyrophobia/check_condition(seconds_per_tick, terror_buildup)
+ var/datum/hallucination/fire/fire_hallucination = fire_hallucination_weakref?.resolve()
+ if(owner.on_fire || !QDELETED(fire_hallucination))
+ owner.clear_mood_event("pyrophobia") // they have the "ON FIRE" moodlet
+ return max(owner.fire_stacks, fire_hallucination.fake_firestacks) * 2
+
+ var/fire_size = owner.count_nearby_fire_sources()
+ if(fire_size != last_fire_size)
+ if(fire_size >= 1)
+ owner.add_mood_event("pyrophobia", /datum/mood_event/pyrophobia, round(fire_size))
+ else
+ owner.clear_mood_event("pyrophobia")
+ last_fire_size = fire_size
+ // 40 -> 15 seconds to reach passive cap
+ return min(round(fire_size * 3, 0.1), 40)
+
+/datum/terror_handler/simple_source/pyrophobia/proc/on_hallucination(datum/source, datum/hallucination/hallucination)
+ SIGNAL_HANDLER
+
+ if(istype(hallucination, /datum/hallucination/fire))
+ fire_hallucination_weakref = WEAKREF(hallucination)
+
+/// While stop drop and rolling you lose a tiny bit of terror
+/datum/terror_handler/is_stop_drop_rolling
+
+/datum/terror_handler/is_stop_drop_rolling/tick(seconds_per_tick, terror_buildup)
+ if (owner.has_status_effect(/datum/status_effect/stop_drop_roll))
+ return -0.2 * TERROR_BUILDUP_PASSIVE_DECREASE * seconds_per_tick // reduces terror a bit because you think it's helping!
+ return 0
diff --git a/code/datums/components/food/edible.dm b/code/datums/components/food/edible.dm
index f09224fc9197..1d2ef8c17bda 100644
--- a/code/datums/components/food/edible.dm
+++ b/code/datums/components/food/edible.dm
@@ -496,7 +496,7 @@ Behavior that's still missing from this component that original food items had t
playsound(eater.loc,'sound/items/eatfood.ogg', rand(10,50), TRUE)
if(!owner.reagents.total_volume)
return
- SEND_SIGNAL(eater, COMSIG_LIVING_EAT_FOOD, owner)
+ SEND_SIGNAL(eater, COMSIG_LIVING_EAT_FOOD, owner, foodtypes)
var/sig_return = SEND_SIGNAL(parent, COMSIG_FOOD_EATEN, eater, feeder, bitecount, bite_consumption)
if(sig_return & DESTROY_FOOD)
qdel(owner)
diff --git a/code/datums/components/food/golem_food.dm b/code/datums/components/food/golem_food.dm
index 981bf110fb3a..82cf483cd065 100644
--- a/code/datums/components/food/golem_food.dm
+++ b/code/datums/components/food/golem_food.dm
@@ -8,8 +8,10 @@
var/obj/item/food/golem_food/golem_snack
/// Any extra checks which need to be done when seeing if this is edible
var/datum/callback/extra_validation
+ /// What additional nutrition modifiers should be added to this food? We apply extra nutrition to ores that are processed into sheets.
+ var/food_multiplier
-/datum/component/golem_food/Initialize(consume_on_eat = TRUE, golem_food_key, datum/callback/extra_validation)
+/datum/component/golem_food/Initialize(consume_on_eat = TRUE, golem_food_key, datum/callback/extra_validation, food_multiplier = 1)
if (!isatom(parent))
return COMPONENT_INCOMPATIBLE
if (!golem_food_key || !is_path_in_list(golem_food_key, GLOB.golem_stack_food_directory))
@@ -18,7 +20,8 @@
src.consume_on_eat = consume_on_eat
snack_type = GLOB.golem_stack_food_directory[golem_food_key]
src.extra_validation = extra_validation
-
+ if(food_multiplier)
+ src.food_multiplier = food_multiplier
/datum/component/golem_food/RegisterWithParent()
. = ..()
@@ -59,6 +62,7 @@
consume_food = consume_on_eat,
food_buff = snack_type,
owner = parent,
+ nutrition_mod = food_multiplier
)
RegisterSignal(golem_snack, COMSIG_QDELETING, PROC_REF(on_food_destroyed))
@@ -94,11 +98,13 @@
consume_food = TRUE,
datum/golem_food_buff/food_buff,
atom/owner,
+ nutrition_mod,
)
src.name = name
src.consume_food = consume_food
src.food_buff = food_buff
src.owner = owner
+ src.bite_consumption = food_buff.nutrition * nutrition_mod
RegisterSignal(owner, COMSIG_QDELETING, PROC_REF(on_parent_destroyed))
/// Clean ourselves up if our parent dies
diff --git a/code/datums/components/hazard_area.dm b/code/datums/components/hazard_area.dm
index 409abb56a718..13d73b89120b 100644
--- a/code/datums/components/hazard_area.dm
+++ b/code/datums/components/hazard_area.dm
@@ -163,7 +163,7 @@
owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/hazard_area, update=TRUE)
owner.remove_actionspeed_modifier(/datum/actionspeed_modifier/status_effect/hazard_area, update=TRUE)
-/datum/status_effect/hazard_area/get_examine_text()
+/datum/status_effect/hazard_area/get_examine_text(mob/examiner)
return span_notice("[owner.p_They()] appear[owner.p_s()] to be largely immobilized through unknown means.")
/atom/movable/screen/alert/status_effect/hazard_area
diff --git a/code/datums/components/item_killsound.dm b/code/datums/components/item_killsound.dm
index e81aad1bfa5d..e2c6417a03da 100644
--- a/code/datums/components/item_killsound.dm
+++ b/code/datums/components/item_killsound.dm
@@ -36,6 +36,6 @@
return
var/mob/living/mob = target_mob
if(replace_default_death_sound)
- mob.apply_status_effect(/datum/status_effect/replace_death_sound, 1 SECONDS, killsound)
+ mob.apply_status_effect(/datum/status_effect/replace_sound, 1 SECONDS, list(/datum/emote/living/deathgasp::key = killsound))
else
mob.apply_status_effect(/datum/status_effect/death_sound, 1 SECONDS, killsound, killsound_volume)
diff --git a/code/datums/components/locked_to_account.dm b/code/datums/components/locked_to_account.dm
new file mode 100644
index 000000000000..84d893dbbe91
--- /dev/null
+++ b/code/datums/components/locked_to_account.dm
@@ -0,0 +1,94 @@
+
+#define DENY_SOUND_COOLDOWN (2 SECONDS)
+
+/// locks a crate so only the person (or department) who bought it can open it
+/datum/component/locked_to_account
+ dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS
+ /// the bank account that bought this crate. whoevers ID matches this account (or department) can open it
+ var/datum/bank_account/buyer_account
+ /// cooldown so the "denied" buzz so sound doesnt spam if someone keeps trying really hard
+ COOLDOWN_DECLARE(deny_cooldown)
+
+/datum/component/locked_to_account/Initialize(datum/bank_account/buyer_account)
+ . = ..()
+ if(!istype(parent, /obj/structure/closet))
+ return COMPONENT_INCOMPATIBLE
+ src.buyer_account = buyer_account
+
+/// if AddComponent is called again on this crate, update buyer_account instead of making a duplicate
+/datum/component/locked_to_account/InheritComponent(datum/component/locked_to_account/new_comp, i_am_original, datum/bank_account/buyer_account)
+ src.buyer_account = buyer_account
+
+/datum/component/locked_to_account/RegisterWithParent()
+ RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
+ RegisterSignal(parent, COMSIG_ATOM_EMAG_ACT, PROC_REF(on_emag))
+ RegisterSignal(parent, COMSIG_CLOSET_PRE_OPEN, PROC_REF(on_pre_open))
+
+/datum/component/locked_to_account/UnregisterFromParent()
+ UnregisterSignal(parent, list(
+ COMSIG_ATOM_EXAMINE,
+ COMSIG_ATOM_EMAG_ACT,
+ COMSIG_CLOSET_PRE_OPEN,
+ ))
+
+/// adds a note to the examine text saying its account-locked
+/datum/component/locked_to_account/proc/on_examine(obj/structure/closet/source, mob/user, list/examine_list)
+ SIGNAL_HANDLER
+ examine_list += span_warning("An account lock prevents this from opening except by the purchasing account holder.")
+
+/**
+ * runs when someone tries to open the crate, checks their ID against buyer_account
+ * * force: if TRUE, the open bypasses this lock entirely (e.g. admin or code-forced opens)
+ */
+/datum/component/locked_to_account/proc/on_pre_open(obj/structure/closet/source, mob/living/user, force)
+ SIGNAL_HANDLER
+ if(force)
+ return NONE
+
+ if(isnull(user))
+ return BLOCK_OPEN
+
+ var/obj/item/card/id/id_card = user.get_idcard(TRUE) // the ID card the user is holding/wearing, used to check their linked bank account
+ if(isnull(id_card))
+ deny(source, user, "No ID detected!")
+ return BLOCK_OPEN
+
+ if(!id_card.registered_account)
+ deny(source, user, "No linked bank account detected!")
+ return BLOCK_OPEN
+
+ var/is_department = istype(buyer_account, /datum/bank_account/department) // department orders check the user's paycheck department instead of a personal account match. TRUE if this user is allowed to open the crate
+ var/datum/bank_account/department/dept_account = buyer_account
+ var/account_matches = is_department \
+ ? (id_card.registered_account?.account_job?.paycheck_department == dept_account.department_id) \
+ : (id_card.registered_account == buyer_account)
+
+ if(!account_matches)
+ deny(source, user, "Bank account does not match with buyer!")
+ return BLOCK_OPEN
+
+ if(iscarbon(user))
+ source.add_fingerprint(user)
+ remove_lock(source, user)
+ return NONE
+
+/datum/component/locked_to_account/proc/deny(obj/structure/closet/source, mob/living/user, message)
+ to_chat(user, span_warning(message))
+ if(COOLDOWN_FINISHED(src, deny_cooldown))
+ playsound(source, 'sound/machines/buzz/buzz-two.ogg', 30, TRUE)
+ COOLDOWN_START(src, deny_cooldown, DENY_SOUND_COOLDOWN)
+
+/// emag skips this whole check and goes straight to remove_lock
+/datum/component/locked_to_account/proc/on_emag(obj/structure/closet/source, mob/emagger)
+ SIGNAL_HANDLER
+ emagger.balloon_alert(emagger, "account lock bypassed")
+ remove_lock(source, emagger)
+
+/// unlocks the crate and removes this component
+/datum/component/locked_to_account/proc/remove_lock(obj/structure/closet/source, mob/user)
+ source.visible_message(span_notice("[source]'s account lock disengages with a soft click."))
+ to_chat(user, span_notice("You unlock [source]."))
+ source.update_appearance()
+ qdel(src)
+
+#undef DENY_SOUND_COOLDOWN
diff --git a/code/datums/components/overlay_lighting.dm b/code/datums/components/overlay_lighting.dm
index 24237052e180..91e3fa62e3cd 100644
--- a/code/datums/components/overlay_lighting.dm
+++ b/code/datums/components/overlay_lighting.dm
@@ -52,8 +52,6 @@
///Overlay effect to cut into the darkness and provide light.
var/image/visible_mask
- ///Lazy list to track the turfs being affected by our light, to determine their visibility.
- var/list/turf/affected_turfs
///Movable atom currently holding the light. Parent might be a flashlight, for example, but that might be held by a mob or something else.
var/atom/movable/current_holder
///Movable atom the parent is attached to. For example, a flashlight into a helmet or gun. We'll need to track the thing the parent is attached to as if it were the parent itself.
@@ -143,7 +141,6 @@
overlay_lighting_flags &= ~LIGHTING_ATTACHED
set_parent_attached_to(null)
set_holder(null)
- clean_old_turfs()
UnregisterSignal(parent, list(
COMSIG_MOVABLE_MOVED,
COMSIG_MOVABLE_Z_CHANGED,
@@ -165,49 +162,46 @@
/datum/component/overlay_lighting/Destroy()
set_parent_attached_to(null)
set_holder(null)
- clean_old_turfs()
visible_mask = null
cone = null
parent_attached_to = null
return ..()
+/// Clears ourselves from spatial grid's dynlights lists
+/datum/component/overlay_lighting/proc/clean_old_cells(atom/holder_loc)
+ var/turf/holder_turf = get_turf(holder_loc)
+ if (isnull(holder_turf))
+ return
+ for (var/datum/spatial_grid_cell/grid_cell as anything in SSspatial_grid.get_cells_in_range(holder_turf, lumcount_range))
+ GRID_CELL_REMOVE(grid_cell.dynamic_light_sources, src)
-///Clears the affected_turfs lazylist, removing from its contents the effects of being near the light.
-/datum/component/overlay_lighting/proc/clean_old_turfs()
- for(var/turf/lit_turf as anything in affected_turfs)
- lit_turf.dynamic_lumcount -= lum_power
- affected_turfs = null
-
-
-///Populates the affected_turfs lazylist, adding to its contents the effects of being near the light.
-/datum/component/overlay_lighting/proc/get_new_turfs()
+/// Populates the affected_turfs lazylist, adding to its contents the effects of being near the light.
+/datum/component/overlay_lighting/proc/register_new_cells()
if(!current_holder)
return
- . = list()
- for(var/turf/lit_turf in view(lumcount_range, get_turf(current_holder)))
- lit_turf.dynamic_lumcount += lum_power
- . += lit_turf
- if(length(.))
- affected_turfs = .
-
+ var/turf/holder_turf = get_turf(current_holder)
+ if (isnull(holder_turf))
+ return
+ for (var/datum/spatial_grid_cell/grid_cell as anything in SSspatial_grid.get_cells_in_range(holder_turf, lumcount_range))
+ GRID_CELL_ASSOC_SET(grid_cell.dynamic_light_sources, src, lum_power)
-///Clears the old affected turfs and populates the new ones.
-/datum/component/overlay_lighting/proc/make_luminosity_update()
- clean_old_turfs()
+/// Clears the old affected cells and populates the new ones.
+/datum/component/overlay_lighting/proc/make_luminosity_update(atom/old_loc)
+ if(old_loc)
+ clean_old_cells(old_loc)
if(!isturf(current_holder?.loc))
return
if(directional)
cast_directional_light()
- get_new_turfs()
-
+ register_new_cells()
-///Adds the luminosity and source for the affected movable atoms to keep track of their visibility.
+/// Adds the luminosity and source for the affected movable atoms to keep track of their visibility.
/datum/component/overlay_lighting/proc/add_dynamic_lumi()
LAZYSET(current_holder.affected_dynamic_lights, src, lumcount_range + 1)
show_to_holder()
current_holder.update_dynamic_luminosity()
-///Removes the luminosity and source for the affected movable atoms to keep track of their visibility.
+/// Removes the luminosity and source for the affected movable atoms to keep track of their visibility.
/datum/component/overlay_lighting/proc/remove_dynamic_lumi()
LAZYREMOVE(current_holder.affected_dynamic_lights, src)
hide_from_holder()
@@ -245,7 +239,7 @@
SEND_SIGNAL(parent, COMSIG_ATOM_OVERLAY_LIGHT_REMOVED, current_holder)
SEND_SIGNAL(current_holder, COMSIG_ATOM_HOLDER_OVERLAY_LIGHT_REMOVED, parent)
-///Called to change the value of parent_attached_to.
+/// Called to change the value of parent_attached_to.
/datum/component/overlay_lighting/proc/set_parent_attached_to(atom/movable/new_parent_attached_to)
if(new_parent_attached_to == parent_attached_to)
return
@@ -268,21 +262,27 @@
check_holder()
-///Called to change the value of current_holder.
+/// Called to change the value of current_holder.
/datum/component/overlay_lighting/proc/set_holder(atom/movable/new_holder)
if(new_holder == current_holder)
return
+
+ var/atom/old_loc = null
if(current_holder)
+ old_loc = get_turf(current_holder)
if(current_holder != parent && current_holder != parent_attached_to)
UnregisterSignal(current_holder, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_LIGHT_EATER_QUEUE))
if(directional)
UnregisterSignal(current_holder, COMSIG_ATOM_DIR_CHANGE)
if(overlay_lighting_flags & LIGHTING_ON)
remove_dynamic_lumi()
+
current_holder = new_holder
+
if(new_holder == null)
- clean_old_turfs()
+ clean_old_cells(old_loc)
return
+
if(new_holder != parent && new_holder != parent_attached_to)
RegisterSignal(new_holder, COMSIG_QDELETING, PROC_REF(on_holder_qdel))
RegisterSignal(new_holder, COMSIG_LIGHT_EATER_QUEUE, PROC_REF(on_light_eater))
@@ -290,14 +290,15 @@
RegisterSignal(new_holder, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved))
if(directional)
RegisterSignal(new_holder, COMSIG_ATOM_DIR_CHANGE, PROC_REF(on_holder_dir_change))
+
if(directional && current_direction != new_holder.dir)
current_direction = new_holder.dir
+
if(overlay_lighting_flags & LIGHTING_ON)
add_dynamic_lumi()
- make_luminosity_update()
-
+ make_luminosity_update(old_loc)
-///Used to determine the new valid current_holder from the parent's loc.
+/// Used to determine the new valid current_holder from the parent's loc.
/datum/component/overlay_lighting/proc/check_holder()
var/atom/movable/movable_parent = GET_PARENT
if(QDELETED(movable_parent))
@@ -320,7 +321,7 @@
set_holder(null)
-///Called when the current_holder is qdeleted, to remove the light effect.
+/// Called when the current_holder is qdeleted, to remove the light effect.
/datum/component/overlay_lighting/proc/on_holder_qdel(atom/movable/source, force)
SIGNAL_HANDLER
if(QDELETED(current_holder))
@@ -332,18 +333,18 @@
set_holder(null)
-///Called when current_holder changes loc.
-/datum/component/overlay_lighting/proc/on_holder_moved(atom/movable/source, OldLoc, Dir, Forced)
+/// Called when current_holder changes loc.
+/datum/component/overlay_lighting/proc/on_holder_moved(atom/movable/source, atom/old_loc, dir, forced)
SIGNAL_HANDLER
if(!(overlay_lighting_flags & LIGHTING_ON))
return
- make_luminosity_update()
-
+ make_luminosity_update(old_loc)
///Called when parent changes loc.
-/datum/component/overlay_lighting/proc/on_parent_moved(atom/movable/source, OldLoc, Dir, Forced)
+/datum/component/overlay_lighting/proc/on_parent_moved(atom/movable/source, atom/old_loc, dir, forced)
SIGNAL_HANDLER
var/atom/movable/movable_parent = parent
+ clean_old_cells(old_loc) // Clean first, as we might swap holders
if(overlay_lighting_flags & LIGHTING_ATTACHED)
set_parent_attached_to(ismovable(movable_parent.loc) ? movable_parent.loc : null)
check_holder()
@@ -359,12 +360,12 @@
SET_PLANE_EXPLICIT(cone, O_LIGHTING_VISUAL_PLANE, source)
show_to_holder()
-// Avoids duplicate overlays (one from our NEXT holder, selected after the animation, one from the pickup animation)
+/// Avoids duplicate overlays (one from our NEXT holder, selected after the animation, one from the pickup animation)
/datum/component/overlay_lighting/proc/on_pickup_anim(atom/source)
SIGNAL_HANDLER
hide_from_holder()
-///Called when the current_holder is qdeleted, to remove the light effect.
+/// Called when the current_holder is qdeleted, to remove the light effect.
/datum/component/overlay_lighting/proc/on_parent_attached_to_qdel(atom/movable/source, force)
SIGNAL_HANDLER
if(isnull(parent_attached_to))
@@ -377,9 +378,10 @@
set_parent_attached_to(null)
-///Called when parent_attached_to changes loc.
-/datum/component/overlay_lighting/proc/on_parent_attached_to_moved(atom/movable/source, OldLoc, Dir, Forced)
+/// Called when parent_attached_to changes loc.
+/datum/component/overlay_lighting/proc/on_parent_attached_to_moved(atom/movable/source, atom/old_loc, dir, forced)
SIGNAL_HANDLER
+ clean_old_cells(old_loc) // Clean first, as we might swap holders
check_holder()
if(!(overlay_lighting_flags & LIGHTING_ON) || !current_holder)
return
@@ -415,14 +417,13 @@
else
cast_range = clamp(round(new_range * 0.5), 1, 3)
if(overlay_lighting_flags & LIGHTING_ON)
- make_luminosity_update()
-
+ make_luminosity_update(current_holder)
-///Changes the intensity/brightness of the light by altering the visual object's alpha.
+/// Changes the intensity/brightness of the light by altering the visual object's alpha.
/datum/component/overlay_lighting/proc/set_power(atom/source, old_power)
SIGNAL_HANDLER
var/new_power = source.light_power
- set_lum_power(new_power >= 0 ? 0.5 : -0.5)
+ lum_power = new_power >= 0 ? 0.5 : -0.5
set_alpha = min(230, (abs(new_power) * 120) + 30)
hide_from_holder()
visible_mask.alpha = set_alpha
@@ -432,8 +433,7 @@
cone.blend_mode = new_power > 0 ? BLEND_ADD : BLEND_SUBTRACT
show_to_holder()
-
-///Changes the light's color, pretty straightforward.
+/// Changes the light's color, pretty straightforward.
/datum/component/overlay_lighting/proc/set_color(atom/source, old_color)
SIGNAL_HANDLER
var/new_color = source.light_color
@@ -443,7 +443,7 @@
cone.color = new_color
show_to_holder()
-///Toggles the light on and off.
+/// Toggles the light on and off.
/datum/component/overlay_lighting/proc/on_toggle(atom/source, old_value)
SIGNAL_HANDLER
var/new_value = source.light_on
@@ -452,7 +452,7 @@
return
turn_off() //Falsey value, turn off.
-///Triggered right after the parent light flags change.
+/// Triggered right after the parent light flags change.
/datum/component/overlay_lighting/proc/on_light_flags_change(atom/source, old_flags)
SIGNAL_HANDLER
var/new_flags = source.light_flags
@@ -468,7 +468,7 @@
overlay_lighting_flags &= ~LIGHTING_ATTACHED
set_parent_attached_to(null)
-///Changes the light's color, pretty straightforward.
+/// Changes the light's color, pretty straightforward.
/datum/component/overlay_lighting/proc/set_light_render_source(atom/source, old_render_source)
SIGNAL_HANDLER
var/new_source = source.light_render_source
@@ -481,7 +481,7 @@
cone.render_source = new_cone_source
show_to_holder()
-///Toggles the light on.
+/// Toggles the light on.
/datum/component/overlay_lighting/proc/turn_on()
if(overlay_lighting_flags & LIGHTING_ON)
return
@@ -492,10 +492,9 @@
cast_directional_light()
if(current_holder && current_holder != parent && current_holder != parent_attached_to)
RegisterSignal(current_holder, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved))
- get_new_turfs()
+ register_new_cells()
-
-///Toggles the light off.
+/// Toggles the light off.
/datum/component/overlay_lighting/proc/turn_off()
if(!(overlay_lighting_flags & LIGHTING_ON))
return
@@ -504,20 +503,9 @@
overlay_lighting_flags &= ~LIGHTING_ON
if(current_holder && current_holder != parent && current_holder != parent_attached_to)
UnregisterSignal(current_holder, COMSIG_MOVABLE_MOVED)
- clean_old_turfs()
-
+ clean_old_cells(current_holder)
-///Here we append the behavior associated to changing lum_power.
-/datum/component/overlay_lighting/proc/set_lum_power(new_lum_power)
- if(lum_power == new_lum_power)
- return
- . = lum_power
- lum_power = new_lum_power
- var/difference = . - lum_power
- for(var/turf/lit_turf as anything in affected_turfs)
- lit_turf.dynamic_lumcount -= difference
-
-///Here we append the behavior associated to changing lum_power.
+/// Here we append the behavior associated to changing lum_power.
/datum/component/overlay_lighting/proc/cast_directional_light()
var/final_distance = cast_range
//Lower the distance by 1 if we're not looking at a cardinal direction, and we're not a short cast
@@ -566,17 +554,17 @@
show_to_holder()
-///Called when current_holder changes loc.
+/// Called when current_holder changes loc.
/datum/component/overlay_lighting/proc/on_holder_dir_change(atom/movable/source, olddir, newdir)
SIGNAL_HANDLER
set_direction(newdir)
-///Called when parent changes loc.
+/// Called when parent changes loc.
/datum/component/overlay_lighting/proc/on_parent_dir_change(atom/movable/source, olddir, newdir)
SIGNAL_HANDLER
set_direction(newdir)
-///Sets a new direction for the directional cast, then updates luminosity
+/// Sets a new direction for the directional cast, then updates luminosity
/datum/component/overlay_lighting/proc/set_direction(newdir)
if(!newdir)
return
@@ -584,7 +572,7 @@
return
current_direction = newdir
if(overlay_lighting_flags & LIGHTING_ON)
- make_luminosity_update()
+ make_luminosity_update(current_holder)
/datum/component/overlay_lighting/proc/on_parent_crafted(datum/source, atom/movable/new_craft)
SIGNAL_HANDLER
diff --git a/code/datums/components/toggle_attached_clothing.dm b/code/datums/components/toggle_attached_clothing.dm
index ffec2e6026d4..0518c5656013 100644
--- a/code/datums/components/toggle_attached_clothing.dm
+++ b/code/datums/components/toggle_attached_clothing.dm
@@ -31,6 +31,8 @@
var/datum/callback/on_deployed
/// Optional callback triggered before we hide our equipment, before as we may delete it afterwards
var/datum/callback/on_removed
+ /// If TRUE, automatically deploys the hood
+ var/auto_deploy_on_outfit_equip = TRUE
/datum/component/toggle_attached_clothing/Initialize(
deployable_type,
@@ -39,6 +41,7 @@
destroy_on_removal = FALSE,
parent_icon_state_suffix = "",
down_overlay_state_suffix = "",
+ auto_deploy_on_outfit_equip = TRUE,
datum/callback/pre_creation_check,
datum/callback/on_created,
datum/callback/on_deployed,
@@ -54,6 +57,7 @@
src.destroy_on_removal = destroy_on_removal
src.parent_icon_state_suffix = parent_icon_state_suffix
src.down_overlay_state_suffix = down_overlay_state_suffix
+ src.auto_deploy_on_outfit_equip = auto_deploy_on_outfit_equip
src.pre_creation_check = pre_creation_check
src.on_created = on_created
src.on_deployed = on_deployed
@@ -152,6 +156,8 @@
/// Display deployed if worn in an outfit
/datum/component/toggle_attached_clothing/proc/on_parent_equipped_outfit(obj/item/clothing/source, mob/equipper, visuals_only, slot)
SIGNAL_HANDLER
+ if (!auto_deploy_on_outfit_equip)
+ return
create_deployable()
toggle_deployable()
diff --git a/code/datums/components/tug_towards.dm b/code/datums/components/tug_towards.dm
index 338d27660ee7..dd4ba0fb842d 100644
--- a/code/datums/components/tug_towards.dm
+++ b/code/datums/components/tug_towards.dm
@@ -119,14 +119,15 @@
total_tug_x += sign(target.x - atom_parent.x) * strength
total_tug_y += sign(target.y - atom_parent.y) * strength
- // Intentionally not trig--something at a corner with a strength of 1 should have
- // you at the corner, rather than root(2).
- total_tug_x /= tuggers
- total_tug_y /= tuggers
-
- var/half_size = world.icon_size * 0.5
- total_tug_x *= half_size
- total_tug_y *= half_size
+ if(tuggers > 0)
+ // Intentionally not trig--something at a corner with a strength of 1 should have
+ // you at the corner, rather than root(2).
+ total_tug_x /= tuggers
+ total_tug_y /= tuggers
+
+ var/half_size = world.icon_size * 0.5
+ total_tug_x *= half_size
+ total_tug_y *= half_size
if (total_tug_x == current_tug_offset_x && total_tug_y == current_tug_offset_y)
return
diff --git a/code/datums/components/unobserved_actor.dm b/code/datums/components/unobserved_actor.dm
index 007d39a0ae84..b724dda03585 100644
--- a/code/datums/components/unobserved_actor.dm
+++ b/code/datums/components/unobserved_actor.dm
@@ -94,7 +94,7 @@
/datum/component/unobserved_actor/proc/can_be_seen(mob/living/source)
var/turf/my_turf = get_turf(source)
// Check for darkness
- if(my_turf.lighting_object && my_turf.get_lumcount() < 0.1) // No one can see us in the darkness, right?
+ if(my_turf.lighting_object && my_turf.check_lumcount_below(0.1)) // No one can see us in the darkness, right?
return FALSE
// We aren't in darkness, loop for viewers.
diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm
index dde2d5f944cc..fbdf0229b991 100644
--- a/code/datums/diseases/_disease.dm
+++ b/code/datums/diseases/_disease.dm
@@ -218,7 +218,7 @@
if((HAS_TRAIT(affected_mob, TRAIT_NOHUNGER) || !(affected_mob.satiety < 0 || affected_mob.nutrition < NUTRITION_LEVEL_STARVING)) && is_sleeping) //resting starved won't help, but resting helps
var/turf/rest_turf = get_turf(affected_mob)
- var/is_sleeping_in_darkness = rest_turf.get_lumcount() <= LIGHTING_TILE_IS_DARK
+ var/is_sleeping_in_darkness = !rest_turf.check_lumcount_above(LIGHTING_TILE_IS_DARK)
if(affected_mob.is_blind_from(EYES_COVERED) || is_sleeping_in_darkness)
recovery_prob += DISEASE_GOOD_SLEEPING_RECOVERY_BONUS
diff --git a/code/datums/diseases/advance/symptoms/beard.dm b/code/datums/diseases/advance/symptoms/beard.dm
index f45a3f418128..5412e57d3259 100644
--- a/code/datums/diseases/advance/symptoms/beard.dm
+++ b/code/datums/diseases/advance/symptoms/beard.dm
@@ -15,7 +15,7 @@
resistance = 3
stage_speed = 2
transmittable = 1
- level = 4
+ level = 5
severity = 1
symptom_delay = 27
symptom_cure = /datum/reagent/medicine/mannitol
diff --git a/code/datums/diseases/advance/symptoms/bleeding.dm b/code/datums/diseases/advance/symptoms/bleeding.dm
index 7aef2eee457a..9354c9ad8dce 100644
--- a/code/datums/diseases/advance/symptoms/bleeding.dm
+++ b/code/datums/diseases/advance/symptoms/bleeding.dm
@@ -4,7 +4,7 @@
* Reduces to stage speed
* Reduces transmissibility
* Fatal Level
- * Bonus: Worsens blood loss
+ * Bonus: Adds easybleed trait
*/
/datum/symptom/bleeding
@@ -15,7 +15,7 @@
stage_speed = -3
transmittable = 0
severity = 3
- level = 7
+ level = 8
symptom_cure = /datum/reagent/acetaldehyde
cure_color = "orange"
threshold_descs = list(
@@ -68,3 +68,80 @@
var/mob/living/carbon/carbon_host = A.affected_mob
REMOVE_TRAIT(carbon_host, TRAIT_BLOOD_FOUNTAIN, DISEASE_TRAIT)
REMOVE_TRAIT(carbon_host, TRAIT_EASYBLEED, DISEASE_TRAIT)
+
+/datum/symptom/hypertension
+ name = "Hypertension"
+ desc = "Dramatically increases blood pressure, leading to blood vessels bursting open across the host's body."
+ stealth = -2
+ resistance = -1
+ stage_speed = -1
+ transmittable = -1
+ level = 9
+ severity = 6
+ symptom_delay = 52.5
+ symptom_cure = /datum/reagent/inverse/penthrite
+ cure_color = "red"
+ threshold_descs = list() // Set in New() so the compiler doesn't complain about non-constant expressions
+ var/chems = list(/datum/reagent/toxin/histamine, /datum/reagent/toxin/staminatoxin)
+ var/crit_slash = FALSE
+ var/adding_chems = FALSE
+
+/datum/symptom/hypertension/New()
+ var/list_of_names = list()
+ for(var/datum/reagent/poison as anything in chems)
+ list_of_names += poison::name
+ threshold_descs = list(
+ "Resistance 7" = "Additionally synthesizes [english_list(list_of_names)] inside the host.",
+ "Stage Speed 9" = "Increases the frequency of inflicted wounds.",
+ "Transmission 8" = "Randomly increases the severity of inflicted wounds and quantity of chems synthesized."
+ )
+
+/datum/symptom/hypertension/Start(datum/disease/advance/our_disease)
+ . = ..()
+ if(!.)
+ return
+ if(our_disease.totalResistance() >= 7)
+ adding_chems = TRUE
+ if(our_disease.totalStageSpeed() >= 9)
+ symptom_delay = 25
+ if(our_disease.totalTransmittable() >= 8)
+ crit_slash = TRUE
+
+/datum/symptom/hypertension/Activate(datum/disease/advance/our_disease)
+ . = ..()
+ if(!.)
+ return
+ var/mob/living/carbon/carbon_host = our_disease.affected_mob
+ if(our_disease.stage <= 2)
+ carbon_host.ominous_nosebleed()
+ return
+ var/list/bleeding_bodyparts = list()
+ for(var/obj/item/bodypart/random_bodypart as anything in carbon_host.get_bodyparts())
+ if(random_bodypart.can_bleed())
+ bleeding_bodyparts += random_bodypart
+ if(bleeding_bodyparts.len == 0)
+ return // full borg or borg with organic stumps
+ var/obj/item/bodypart/victim_limb = pick(bleeding_bodyparts)
+ var/wound_severity = WOUND_SEVERITY_MODERATE
+ var/warning = "Your [victim_limb.name] tears itself open!"
+ if(our_disease.stage >= 4)
+ wound_severity = WOUND_SEVERITY_SEVERE
+ if(adding_chems)
+ add_reagents(carbon_host)
+ if(crit_slash)
+ var/chance = 33
+ if(our_disease.stage == 5)
+ chance = 66
+ if(prob(chance))
+ wound_severity = WOUND_SEVERITY_CRITICAL
+ warning = "The blood vessels in your [victim_limb.name] suddenly rip open!"
+ if(adding_chems)
+ add_reagents(carbon_host) // Crit slashes add twice as many chems
+ if (carbon_host.cause_wound_of_type_and_severity(WOUND_SLASH, victim_limb, wound_severity))
+ to_chat(carbon_host, span_userdanger(warning))
+ if(wound_severity == WOUND_SEVERITY_CRITICAL)
+ carbon_host.emote("scream")
+
+/datum/symptom/hypertension/proc/add_reagents(mob/living/carbon/carbon_host)
+ for(var/datum/reagent/reagent_to_add as anything in chems)
+ carbon_host.reagents.add_reagent(reagent_to_add, 3)
diff --git a/code/datums/diseases/advance/symptoms/choking.dm b/code/datums/diseases/advance/symptoms/choking.dm
index 265509134b44..3c4593f6c82e 100644
--- a/code/datums/diseases/advance/symptoms/choking.dm
+++ b/code/datums/diseases/advance/symptoms/choking.dm
@@ -15,7 +15,7 @@
resistance = 0
stage_speed = -1
transmittable = -1
- level = 3
+ level = 6
severity = 3
base_message_chance = 15
symptom_delay = 20
@@ -26,6 +26,7 @@
"Stage Speed 8" = "Causes choking more frequently.",
"Stealth 4" = "The symptom remains hidden until active."
)
+ var/suppress_warning = FALSE
/datum/symptom/choking/Start(datum/disease/advance/A)
. = ..()
@@ -79,20 +80,19 @@ Asphyxiation
Bonus
Inflicts large spikes of oxyloss
Introduces Asphyxiating drugs to the system
- Causes cardiac arrest on dying victims.
//////////////////////////////////////
*/
/datum/symptom/asphyxiation
name = "Acute respiratory distress syndrome"
- desc = "The virus causes shrinking of the host's lungs, causing severe asphyxiation. May also lead to heart attacks."
+ desc = "The virus causes shrinking of the host's lungs, causing severe asphyxiation."
illness = "Iron Lungs"
stealth = -2
resistance = 0
stage_speed = -1
transmittable = -2
- level = 7
+ level = 9
severity = 6
base_message_chance = 15
symptom_delay = 22
diff --git a/code/datums/diseases/advance/symptoms/confusion.dm b/code/datums/diseases/advance/symptoms/confusion.dm
index 2431d48456d9..2d36fc733c7b 100644
--- a/code/datums/diseases/advance/symptoms/confusion.dm
+++ b/code/datums/diseases/advance/symptoms/confusion.dm
@@ -14,7 +14,7 @@
resistance = 1
stage_speed = 1
transmittable = 2
- level = 4
+ level = 3
severity = 2
base_message_chance = 25
symptom_delay = 20
@@ -26,6 +26,7 @@
)
var/brain_damage = FALSE
var/causes_illiteracy = FALSE
+ var/suppress_warning = FALSE
/datum/symptom/confusion/Start(datum/disease/advance/advanced_disease)
. = ..()
diff --git a/code/datums/diseases/advance/symptoms/cough.dm b/code/datums/diseases/advance/symptoms/cough.dm
index 687d60e1b800..4c0409f9da09 100644
--- a/code/datums/diseases/advance/symptoms/cough.dm
+++ b/code/datums/diseases/advance/symptoms/cough.dm
@@ -31,6 +31,7 @@
///if FALSE, there is a percentage chance that the mob will emote coughing while cough_cooldown is on cooldown. If TRUE, won't emote again until after the off cooldown cough occurs.
var/off_cooldown_coughed = FALSE
var/spread_range = 1
+ var/suppress_warning = FALSE
/datum/symptom/cough/Start(datum/disease/advance/active_disease)
. = ..()
diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm
index ef0874b5785b..5444c423c473 100644
--- a/code/datums/diseases/advance/symptoms/deafness.dm
+++ b/code/datums/diseases/advance/symptoms/deafness.dm
@@ -25,6 +25,7 @@
"Stealth 4" = "The symptom remains hidden until active.",
)
var/causes_permanent_deafness = FALSE
+ var/suppress_warning = FALSE
/datum/symptom/deafness/Start(datum/disease/advance/A)
. = ..()
diff --git a/code/datums/diseases/advance/symptoms/dizzy.dm b/code/datums/diseases/advance/symptoms/dizzy.dm
index 6fd6986f5857..20bd0ac8f795 100644
--- a/code/datums/diseases/advance/symptoms/dizzy.dm
+++ b/code/datums/diseases/advance/symptoms/dizzy.dm
@@ -12,10 +12,10 @@
desc = "The virus causes inflammation of the vestibular system, leading to bouts of dizziness."
illness = "Motion Sickness"
stealth = 1
- resistance = 0
- stage_speed = -2
- transmittable = -1
- level = 4
+ resistance = 1
+ stage_speed = 3
+ transmittable = 3
+ level = 2
severity = 2
base_message_chance = 50
symptom_delay = 22.5
@@ -25,6 +25,7 @@
"Transmission 6" = "Also causes druggy vision.",
"Stealth 4" = "The symptom remains hidden until active.",
)
+ var/suppress_warning = FALSE
/datum/symptom/dizzy/Start(datum/disease/advance/A)
. = ..()
@@ -46,6 +47,6 @@
to_chat(M, span_warning("[pick("You feel dizzy.", "Your head spins.")]"))
else
to_chat(M, span_userdanger("A wave of dizziness washes over you!"))
- M.adjust_dizzy_up_to(1 MINUTES, 140 SECONDS)
+ M.adjust_dizzy_up_to(40 SECONDS, 80 SECONDS)
if(power >= 2)
- M.set_drugginess(80 SECONDS)
+ M.set_drugginess(60 SECONDS)
diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm
index 5931f721efee..5995a178ce14 100644
--- a/code/datums/diseases/advance/symptoms/fire.dm
+++ b/code/datums/diseases/advance/symptoms/fire.dm
@@ -27,6 +27,7 @@
"Transmission 8" = "Host will spread the virus through skin flakes when bursting into flame.",
"Stealth 4" = "The symptom remains hidden until active.",
)
+ var/suppress_warning = FALSE
/datum/symptom/fire/Start(datum/disease/advance/A)
. = ..()
@@ -97,7 +98,7 @@ Bonus
resistance = -2
stage_speed = -2
transmittable = -2
- level = 7
+ level = 9
severity = 6
base_message_chance = 100
symptom_delay = 60
diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm
index bf7f2e2f4dea..041732775029 100644
--- a/code/datums/diseases/advance/symptoms/flesh_eating.dm
+++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm
@@ -89,7 +89,7 @@ Bonus
resistance = -2
stage_speed = 1
transmittable = -2
- level = 7
+ level = 9
severity = 6
base_message_chance = 50
symptom_delay = 4.5
@@ -100,6 +100,7 @@ Bonus
"Stage Speed 7" = "Synthesizes Heparin and Lipolicide inside the host, causing increased bleeding and hunger.",
"Stealth 5" = "The symptom remains hidden until active.",
)
+ var/suppress_warning = FALSE
/datum/symptom/flesh_death/Start(datum/disease/advance/A)
. = ..()
diff --git a/code/datums/diseases/advance/symptoms/genetics.dm b/code/datums/diseases/advance/symptoms/genetics.dm
index 9ebadf6b1327..ba3210859cbb 100644
--- a/code/datums/diseases/advance/symptoms/genetics.dm
+++ b/code/datums/diseases/advance/symptoms/genetics.dm
@@ -15,7 +15,7 @@
resistance = -3
stage_speed = 0
transmittable = -3
- level = 6
+ level = 7
severity = 4
base_message_chance = 50
symptom_delay = 45
diff --git a/code/datums/diseases/advance/symptoms/hallucigen.dm b/code/datums/diseases/advance/symptoms/hallucigen.dm
index 54ef506a710c..40bdedad7be6 100644
--- a/code/datums/diseases/advance/symptoms/hallucigen.dm
+++ b/code/datums/diseases/advance/symptoms/hallucigen.dm
@@ -15,7 +15,7 @@
resistance = -2
stage_speed = 2
transmittable = -1
- level = 5
+ level = 3
severity = 2
base_message_chance = 25
symptom_delay = 57.5
diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm
index 3b5abf2a824e..4eec4439dd8f 100644
--- a/code/datums/diseases/advance/symptoms/heal.dm
+++ b/code/datums/diseases/advance/symptoms/heal.dm
@@ -58,7 +58,7 @@
resistance = -2
stage_speed = 0
transmittable = 1
- level = 6
+ level = 8
passive_message = span_notice("You miss the feeling of starlight on your skin.")
var/nearspace_penalty = 0.3
threshold_descs = list(
@@ -408,7 +408,7 @@
resistance = -1
stage_speed = 0
transmittable = 1
- level = 6
+ level = 4
passive_message = span_notice("Your skin feels oddly dry...")
required_organ = ORGAN_SLOT_LIVER
threshold_descs = list(
@@ -574,7 +574,7 @@
resistance = -2
stage_speed = 2
transmittable = -3
- level = 6
+ level = 7
passive_message = span_notice("Your skin glows faintly for a moment.")
threshold_descs = list(
"Resistance 7" = "Increases healing speed.",
@@ -613,9 +613,8 @@
resistance = 1
stage_speed = 0
transmittable = -1
- level = 4
+ level = 5
base_message_chance = 0
- symptom_cure = null
power = 2
threshold_descs = list(
@@ -630,3 +629,39 @@
/datum/symptom/heal/aggressive_healing/Heal(mob/living/carbon/carbon_host, datum/disease/advance/our_disease, actual_power)
carbon_host.heal_overall_damage(actual_power, actual_power, required_bodytype = healable_bodytypes)
return TRUE
+
+/datum/symptom/heal/genetic
+ name = "Mutated Regeneration"
+ desc = "The virus slowly repairs tissue damage in hosts with stable genetics."
+ stealth = 1
+ resistance = -3
+ stage_speed = -4
+ transmittable = -4
+ level = 9
+ threshold_descs = list(
+ "Resistance 9" = "Doubles healing speed from stable genetics.",
+ "Stage Speed 6" = "Slightly increases healing speed for all hosts without negative genetic stability.",
+ )
+ power = 0
+ var/stability_divisor = 25
+
+/datum/symptom/heal/genetic/Start(datum/disease/advance/our_disease)
+ . = ..()
+ if(!.)
+ return
+ if(our_disease.totalResistance() >= 9)
+ power = 0.2
+ if(our_disease.totalStageSpeed() >= 6)
+ stability_divisor = 12.5
+
+/datum/symptom/heal/genetic/CanHeal(datum/disease/advance/our_disease)
+ if(!our_disease.affected_mob.has_dna())
+ return power
+ var/dna_stability = our_disease.affected_mob.dna.stability
+ if(dna_stability >= initial(our_disease.affected_mob.dna.stability))
+ return power + (dna_stability - initial(our_disease.affected_mob.dna.stability)) / stability_divisor
+
+/datum/symptom/heal/genetic/Heal(mob/living/carbon/carbon_host, datum/disease/advance/our_disease, actual_power)
+ if(carbon_host.heal_overall_damage(actual_power, actual_power, required_bodytype = healable_bodytypes) && prob(5))
+ to_chat(carbon_host, span_notice("You feel your injuries slowly fading away."))
+ return TRUE
diff --git a/code/datums/diseases/advance/symptoms/narcolepsy.dm b/code/datums/diseases/advance/symptoms/narcolepsy.dm
index 7520f4165500..aaaf3bc73184 100644
--- a/code/datums/diseases/advance/symptoms/narcolepsy.dm
+++ b/code/datums/diseases/advance/symptoms/narcolepsy.dm
@@ -14,7 +14,7 @@
resistance = -2
stage_speed = -2
transmittable = 0
- level = 6
+ level = 4
symptom_delay = 57.5
severity = 4
symptom_cure = /datum/reagent/medicine/ondansetron
diff --git a/code/datums/diseases/advance/symptoms/oxygen.dm b/code/datums/diseases/advance/symptoms/oxygen.dm
index 48b3c99c00fd..be163cee4b42 100644
--- a/code/datums/diseases/advance/symptoms/oxygen.dm
+++ b/code/datums/diseases/advance/symptoms/oxygen.dm
@@ -13,7 +13,7 @@
resistance = -3
stage_speed = -3
transmittable = -4
- level = 6
+ level = 7
base_message_chance = 3
symptom_delay = 1
delay_variation = 0
diff --git a/code/datums/diseases/advance/symptoms/sensory.dm b/code/datums/diseases/advance/symptoms/sensory.dm
index 9423d07647f4..22e505609da4 100644
--- a/code/datums/diseases/advance/symptoms/sensory.dm
+++ b/code/datums/diseases/advance/symptoms/sensory.dm
@@ -12,7 +12,7 @@
resistance = -2
stage_speed = 1
transmittable = -3
- level = 5
+ level = 6
symptom_delay = 7.5
var/purge_alcohol = FALSE
var/trauma_heal_mild = FALSE
@@ -81,7 +81,7 @@
resistance = 1
stage_speed = -2
transmittable = 2
- level = 4
+ level = 3
base_message_chance = 7
symptom_delay = 1
delay_variation = 0
diff --git a/code/datums/diseases/advance/symptoms/shedding.dm b/code/datums/diseases/advance/symptoms/shedding.dm
index 685aa3ad02c8..52d02376a6da 100644
--- a/code/datums/diseases/advance/symptoms/shedding.dm
+++ b/code/datums/diseases/advance/symptoms/shedding.dm
@@ -14,7 +14,7 @@
resistance = 1
stage_speed = 2
transmittable = 2
- level = 4
+ level = 5
severity = 1
symptom_cure = /datum/reagent/barbers_aid
cure_color = "yellow"
diff --git a/code/datums/diseases/advance/symptoms/sneeze.dm b/code/datums/diseases/advance/symptoms/sneeze.dm
index 16c29313313a..12ac5464159c 100644
--- a/code/datums/diseases/advance/symptoms/sneeze.dm
+++ b/code/datums/diseases/advance/symptoms/sneeze.dm
@@ -30,6 +30,7 @@
var/cartoon_sneezing = FALSE //ah, ah, AH, AH-CHOO!!
///if FALSE, there is a percentage chance that the mob will emote sneezing while sneeze_cooldown is on cooldown. If TRUE, won't emote again until after the off cooldown sneeze occurs.
var/off_cooldown_sneezed = FALSE
+ var/suppress_warning = FALSE
/datum/symptom/sneeze/Start(datum/disease/advance/active_disease)
. = ..()
diff --git a/code/datums/diseases/advance/symptoms/species.dm b/code/datums/diseases/advance/symptoms/species.dm
index 56813ca03323..4dcd0ec5e77a 100644
--- a/code/datums/diseases/advance/symptoms/species.dm
+++ b/code/datums/diseases/advance/symptoms/species.dm
@@ -13,7 +13,7 @@
resistance = -2
stage_speed = 1
transmittable = 0
- level = 5
+ level = 3
severity = 0
symptom_cure = null
immunity_proof = TRUE
@@ -41,7 +41,7 @@
resistance = 4
stage_speed = -2
transmittable = 3
- level = 5
+ level = 3
severity = 0
symptom_cure = null
immunity_proof = TRUE
diff --git a/code/datums/diseases/advance/symptoms/symptoms.dm b/code/datums/diseases/advance/symptoms/symptoms.dm
index 7da6e6844307..e13a7172482e 100644
--- a/code/datums/diseases/advance/symptoms/symptoms.dm
+++ b/code/datums/diseases/advance/symptoms/symptoms.dm
@@ -24,8 +24,6 @@
var/id = ""
///Base chance of sending warning messages, so it can be modified
var/base_message_chance = 10
- ///If the early warnings are suppressed or not
- var/suppress_warning = FALSE
///Ticks between each activation
var/next_activation = 0
var/symptom_delay = 1 // Measured in seconds, not ticks or life ticks
diff --git a/code/datums/diseases/advance/symptoms/thermoregulation.dm b/code/datums/diseases/advance/symptoms/thermoregulation.dm
index 67ad1433434c..d377120fcfd2 100644
--- a/code/datums/diseases/advance/symptoms/thermoregulation.dm
+++ b/code/datums/diseases/advance/symptoms/thermoregulation.dm
@@ -13,7 +13,7 @@
resistance = 1
stage_speed = -2
transmittable = 0
- level = 5
+ level = 4
severity = 0
threshold_descs = list(
"Resistance 8" = "Increases thermal regulation speed."
diff --git a/code/datums/diseases/advance/symptoms/viral.dm b/code/datums/diseases/advance/symptoms/viral.dm
index ce02eb19e705..56e09106b115 100644
--- a/code/datums/diseases/advance/symptoms/viral.dm
+++ b/code/datums/diseases/advance/symptoms/viral.dm
@@ -14,7 +14,7 @@
resistance = 5
stage_speed = -3
transmittable = 0
- level = 3
+ level = 4
symptom_cure = null
/datum/symptom/viraladaptation/OnAdd(datum/disease/advance/our_disease)
@@ -38,7 +38,7 @@
resistance = -3
stage_speed = 5
transmittable = 3
- level = 3
+ level = 4
symptom_cure = null
/datum/symptom/viralevolution/OnAdd(datum/disease/advance/our_disease)
diff --git a/code/datums/diseases/advance/symptoms/vision.dm b/code/datums/diseases/advance/symptoms/vision.dm
index 67ce7653ea22..c2d8c3a8616e 100644
--- a/code/datums/diseases/advance/symptoms/vision.dm
+++ b/code/datums/diseases/advance/symptoms/vision.dm
@@ -14,7 +14,7 @@
resistance = -2
stage_speed = -3
transmittable = -2
- level = 5
+ level = 8
severity = 5
base_message_chance = 50
symptom_delay = 52.5
@@ -27,6 +27,7 @@
)
/// At max stage: If FALSE, cause blindness. If TRUE, cause their eyes to fall out.
var/remove_eyes = FALSE
+ var/suppress_warning = FALSE
/datum/symptom/visionloss/Start(datum/disease/advance/A)
. = ..()
diff --git a/code/datums/diseases/advance/symptoms/voice_change.dm b/code/datums/diseases/advance/symptoms/voice_change.dm
index e2218e4cfa17..4904f9296883 100644
--- a/code/datums/diseases/advance/symptoms/voice_change.dm
+++ b/code/datums/diseases/advance/symptoms/voice_change.dm
@@ -15,7 +15,7 @@
resistance = -1
stage_speed = -2
transmittable = 2
- level = 6
+ level = 5
severity = 2
base_message_chance = 100
symptom_delay = 90
@@ -28,6 +28,7 @@
)
var/scramble_language = FALSE
var/datum/language/current_language
+ var/suppress_warning = FALSE
/datum/symptom/voice_change/Start(datum/disease/advance/A)
. = ..()
diff --git a/code/datums/diseases/advance/symptoms/vomit.dm b/code/datums/diseases/advance/symptoms/vomit.dm
index 8f6318d1de04..9950aa2fb824 100644
--- a/code/datums/diseases/advance/symptoms/vomit.dm
+++ b/code/datums/diseases/advance/symptoms/vomit.dm
@@ -30,6 +30,7 @@ and your disease can spread via people walking on vomit.
var/vomit_nebula = FALSE
var/vomit_blood = FALSE
var/proj_vomit = 0
+ var/suppress_warning = FALSE
/datum/symptom/vomit/Start(datum/disease/advance/A)
. = ..()
diff --git a/code/datums/diseases/advance/symptoms/weight.dm b/code/datums/diseases/advance/symptoms/weight.dm
index a29b72a50793..12e98995dc1e 100644
--- a/code/datums/diseases/advance/symptoms/weight.dm
+++ b/code/datums/diseases/advance/symptoms/weight.dm
@@ -13,7 +13,7 @@
resistance = 2
stage_speed = -2
transmittable = -2
- level = 3
+ level = 7
severity = 3
base_message_chance = 100
symptom_delay = 30
diff --git a/code/datums/diseases/advance/symptoms/youth.dm b/code/datums/diseases/advance/symptoms/youth.dm
index 472aea77b623..1503542b53fa 100644
--- a/code/datums/diseases/advance/symptoms/youth.dm
+++ b/code/datums/diseases/advance/symptoms/youth.dm
@@ -15,7 +15,7 @@
resistance = 4
stage_speed = 4
transmittable = -4
- level = 5
+ level = 6
base_message_chance = 100
symptom_delay = 37.5
symptom_cure = null
diff --git a/code/datums/dna/blocks/dna_features_block.dm b/code/datums/dna/blocks/dna_features_block.dm
index adda8a1b0b71..6997c0d01ae2 100644
--- a/code/datums/dna/blocks/dna_features_block.dm
+++ b/code/datums/dna/blocks/dna_features_block.dm
@@ -8,16 +8,6 @@
/datum/dna_block/feature/mutant_color/apply_to_mob(mob/living/carbon/human/target, dna_hash)
target.dna.features[feature_key] = sanitize_hexcolor(get_block(dna_hash))
-/datum/dna_block/feature/ethereal_color
- block_length = DNA_BLOCK_SIZE_COLOR
- feature_key = FEATURE_ETHEREAL_COLOR
-
-/datum/dna_block/feature/ethereal_color/create_unique_block(mob/living/carbon/human/target)
- return sanitize_hexcolor(target.dna.features[FEATURE_ETHEREAL_COLOR], include_crunch = FALSE)
-
-/datum/dna_block/feature/ethereal_color/apply_to_mob(mob/living/carbon/human/target, dna_hash)
- target.dna.features[feature_key] = sanitize_hexcolor(get_block(dna_hash))
-
/// Features tied to a sprite accessory
/datum/dna_block/feature/accessory
abstract_type = /datum/dna_block/feature/accessory
diff --git a/code/datums/dna/dna.dm b/code/datums/dna/dna.dm
index a7251a6b2c1c..1ade1c549196 100644
--- a/code/datums/dna/dna.dm
+++ b/code/datums/dna/dna.dm
@@ -405,8 +405,6 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block())
else
CRASH("set_species called with an invalid mrace [mrace]")
- death_sound = new_race.death_sound
-
var/datum/species/old_species = dna.species
dna.species = new_race
diff --git a/code/datums/elements/blood_reagent.dm b/code/datums/elements/blood_reagent.dm
index 863b07f45fe0..fa505c39d6a4 100644
--- a/code/datums/elements/blood_reagent.dm
+++ b/code/datums/elements/blood_reagent.dm
@@ -26,7 +26,7 @@
if (!target.data)
target.data = list()
- target.data["blood_type"] = blood_type
+ target.data[BLOOD_DATA_TYPE] = blood_type
if (blood_type.desc)
target.description = blood_type.desc
target.color = blood_type.get_color()
@@ -81,7 +81,7 @@
SIGNAL_HANDLER
if ((methods & (TOUCH | VAPOR)) && reac_volume >= 3 && (blood_type.blood_flags & (BLOOD_ADD_DNA | BLOOD_COVER_MOBS)))
- exposed_mob.add_blood_DNA(list("[source.data?["blood_DNA"] || blood_type.dna_string]" = blood_type))
+ exposed_mob.add_blood_DNA(list("[source.data?[BLOOD_DATA_DNA] || blood_type.dna_string]" = blood_type))
// Somehow got a no-data reagent, probably artificially created blood
if (!source.data)
@@ -125,7 +125,7 @@
if (reac_volume < 3 || !(blood_type.blood_flags & (BLOOD_ADD_DNA | BLOOD_COVER_TURFS)))
return
- var/dna_list = list("[source.data?["blood_DNA"] || blood_type.dna_string]" = blood_type)
+ var/dna_list = list("[source.data?[BLOOD_DATA_DNA] || blood_type.dna_string]" = blood_type)
var/obj/effect/decal/cleanable/blood/splatter = locate() in exposed_turf
if (!splatter)
if (!(blood_type.blood_flags & BLOOD_COVER_TURFS))
@@ -156,7 +156,7 @@
return
if (blood_type.blood_flags & (BLOOD_ADD_DNA | BLOOD_COVER_ITEMS))
- exposed_obj.add_blood_DNA(list("[source.data?["blood_DNA"] || blood_type.dna_string]" = blood_type))
+ exposed_obj.add_blood_DNA(list("[source.data?[BLOOD_DATA_DNA] || blood_type.dna_string]" = blood_type))
if (!(blood_type.blood_flags & BLOOD_TRANSFER_VIRAL_DATA) || !source.data?["viruses"])
return
@@ -188,7 +188,7 @@
return
// Mixed blood cannot be used for cloning
- if (source.data["blood_DNA"] != mix_data["blood_DNA"])
+ if (source.data[BLOOD_DATA_DNA] != mix_data[BLOOD_DATA_DNA])
source.data["cloneable"] = FALSE
var/list/source_viruses = source.data["viruses"]
diff --git a/code/datums/elements/footstep.dm b/code/datums/elements/footstep.dm
index 65c7dfab3214..d837e58155b1 100644
--- a/code/datums/elements/footstep.dm
+++ b/code/datums/elements/footstep.dm
@@ -43,7 +43,7 @@
src.volume = 90*volume
if(FOOTSTEP_MOB_SLIME)
footstep_sounds = 'sound/effects/footstep/slime1.ogg'
- src.volume = 90*volume
+ src.volume = 20*volume
if(FOOTSTEP_OBJ_MACHINE)
footstep_sounds = 'sound/effects/bang.ogg'
src.volume = 90*volume
diff --git a/code/datums/elements/organ_set_bonus.dm b/code/datums/elements/organ_set_bonus.dm
index ef2691e87fab..7f3b20566c1c 100644
--- a/code/datums/elements/organ_set_bonus.dm
+++ b/code/datums/elements/organ_set_bonus.dm
@@ -57,10 +57,10 @@
var/required_biotype = MOB_ORGANIC
/// A list of traits added to the mob upon bonus activation, can be of any length.
var/list/bonus_traits = list()
- /// Bonus biotype to add on bonus activation.
+ /// Bonus biotype(s) to add on bonus activation.
var/bonus_biotype
- /// If the biotype was added - used to check if we should remove the biotype or not, on organ set loss.
- var/biotype_added = FALSE
+ /// what biotype(s) was added - used to check if we should remove the biotype or not, on organ set loss.
+ var/biotype_added = NONE
/// Limb texture to apply upon activation
var/limb_texture
/// Color priority for limb limb_texture
@@ -89,10 +89,11 @@
owner.add_traits(bonus_traits, TRAIT_STATUS_EFFECT(id))
// Add biotype
- if(owner.mob_biotypes & bonus_biotype)
- biotype_added = FALSE
- owner.mob_biotypes |= bonus_biotype
- biotype_added = TRUE
+ if(bonus_biotype)
+ biotype_added = bonus_biotype & ~owner.mob_biotypes
+ owner.mob_biotypes |= biotype_added
+ RegisterSignal(owner, COMSIG_SPECIES_LOSS, PROC_REF(on_species_loss))
+ RegisterSignal(owner, COMSIG_SPECIES_GAIN, PROC_REF(on_species_gain))
if(bonus_activate_text)
to_chat(owner, bonus_activate_text)
@@ -123,7 +124,8 @@
owner.remove_traits(bonus_traits, TRAIT_STATUS_EFFECT(id))
// Remove biotype (if added)
if(biotype_added)
- owner.mob_biotypes &= ~bonus_biotype
+ owner.mob_biotypes &= ~biotype_added
+ biotype_added = NONE
if(bonus_deactivate_text)
to_chat(owner, bonus_deactivate_text)
@@ -132,7 +134,7 @@
if(!limb_texture)
return
- UnregisterSignal(owner, list(COMSIG_CARBON_ATTACH_LIMB, COMSIG_CARBON_REMOVE_LIMB))
+ UnregisterSignal(owner, list(COMSIG_CARBON_ATTACH_LIMB, COMSIG_CARBON_REMOVE_LIMB, COMSIG_SPECIES_LOSS, COMSIG_SPECIES_GAIN))
if(QDELETED(owner))
return
@@ -144,6 +146,18 @@
owner.update_body()
+///We need to recalculate the mob biotypes, so first, remove the added biotypes from the mob before the new species changes the standard biotypes.
+/datum/status_effect/organ_set_bonus/proc/on_species_loss(mob/living/carbon/human, datum/species/new_species, datum/species/old_species)
+ SIGNAL_HANDLER
+ human.mob_biotypes &= ~biotype_added
+ biotype_added = NONE
+
+///After the new species has added its biotypes to the mob, check if they already have or don't have the bonus biotype now.
+/datum/status_effect/organ_set_bonus/proc/on_species_gain(mob/living/carbon/human, datum/species/new_species, datum/species/old_species)
+ SIGNAL_HANDLER
+ biotype_added = bonus_biotype & ~owner.mob_biotypes
+ owner.mob_biotypes |= biotype_added
+
/datum/status_effect/organ_set_bonus/proc/texture_limb(atom/source, obj/item/bodypart/limb)
SIGNAL_HANDLER
diff --git a/code/datums/elements/surgery_aid.dm b/code/datums/elements/surgery_aid.dm
index ca351cc6a56c..cf27f016b0fd 100644
--- a/code/datums/elements/surgery_aid.dm
+++ b/code/datums/elements/surgery_aid.dm
@@ -93,7 +93,7 @@
REMOVE_TRAIT(owner, TRAIT_READY_TO_OPERATE, TRAIT_STATUS_EFFECT(id))
UnregisterSignal(owner, list(COMSIG_MOVABLE_MOVED, COMSIG_CARBON_POST_ATTACH_LIMB, COMSIG_CARBON_POST_REMOVE_LIMB))
-/datum/status_effect/surgery_prepped/get_examine_text()
+/datum/status_effect/surgery_prepped/get_examine_text(mob/examiner)
var/list/zones_readable = list()
// give the body zones a consistent order, the same order as GLOB.all_body_zones
for(var/zone in GLOB.all_body_zones & zones)
diff --git a/code/datums/elements/uses_girder_wall_recipes.dm b/code/datums/elements/uses_girder_wall_recipes.dm
index 38593f89f54d..d51c4c6d02f2 100644
--- a/code/datums/elements/uses_girder_wall_recipes.dm
+++ b/code/datums/elements/uses_girder_wall_recipes.dm
@@ -96,6 +96,13 @@
else
CRASH("Attempted a girder wall recipe with an invalid wall type ([recipe.wall_type])")
+ if(istype(wall, /turf/closed/wall))
+ var/turf/closed/wall/griderholder = wall
+ griderholder.girder_type = structure.type
+ if(istype(wall, /obj/structure/falsewall))
+ var/obj/structure/falsewall/griderholder = wall
+ griderholder.girder_type = structure.type
+
user.visible_message(
message = span_notice("\The [user] finish[user.p_es()] building \a [wall] on \the [structure]."),
self_message = span_notice("You finish building \a [wall] on \the [structure]."),
diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm
index 4798de626432..465c2260d3e1 100644
--- a/code/datums/emotes.dm
+++ b/code/datums/emotes.dm
@@ -51,11 +51,17 @@
var/stat_allowed = STABLE
var/can_use_flags = NONE
- /// Sound to play when emote is called.
+ /// A single, default sound to play if nothing else overrides this
var/sound
+ /// A more indepth list of sounds to play, ordered by mob type. Takes precedence over [sound]
+ var/list/sounds_by_mobtype
var/extra_range = 0 // DARKPACK EDIT ADD
/// Does this emote vary in pitch?
var/vary = FALSE
+ /// The volume of the sound
+ var/sound_volume = 50
+ /// Does this emote's sound ignore walls?
+ var/sound_wall_ignore = FALSE
/// If this emote's sound is affected by TTS pitch
var/affected_by_pitch = TRUE
/// Can only code call this event instead of the player.
@@ -72,8 +78,7 @@
var/forced_general_emote_audio_cooldown = 2 SECONDS
/// How long is the specific emote cooldown triggered by this emote when forced?
var/forced_specific_emote_audio_cooldown = 2 SECONDS
- /// Does this emote's sound ignore walls?
- var/sound_wall_ignore = FALSE
+ /// The volume of the sound
///Does this emote use sound tokens? this means it also ignores walls.
var/use_sound_tokens = FALSE
@@ -139,9 +144,9 @@
else if(vary)
frequency = rand(MIN_EMOTE_PITCH, MAX_EMOTE_PITCH)
if(use_sound_tokens && sound_wall_ignore)
- playsoundtoken(source = user, soundin = tmp_sound, range = SOUND_RANGE, volume = 50)
+ playsoundtoken(source = user, soundin = tmp_sound, range = SOUND_RANGE, volume = sound_volume)
else
- playsound(source = user,soundin = tmp_sound,vol = 50, vary = FALSE, extrarange = get_range(user), ignore_walls = sound_wall_ignore, frequency = frequency) // DARKPACK EDIT CHANGE - (Added extrarange getter)
+ playsound(source = user,soundin = tmp_sound,vol = sound_volume, vary = FALSE, extrarange = get_range(user), ignore_walls = sound_wall_ignore, frequency = frequency) // DARKPACK EDIT CHANGE - (Added extrarange getter)
var/is_important = running_emote_type & EMOTE_IMPORTANT
@@ -268,7 +273,21 @@
* Returns the sound that will be made while sending the emote.
*/
/datum/emote/proc/get_sound(mob/living/user)
- return sound //by default just return this var.
+ var/list/comsig_sounds = list()
+ SEND_SIGNAL(user, COMSIG_MOB_EMOTE_SOUND(key), key, comsig_sounds)
+ if(length(comsig_sounds))
+ var/chosen_sound
+ var/highest_priority = 0
+ for(var/candidate in comsig_sounds)
+ var/priority = comsig_sounds[candidate]
+ if(priority > highest_priority)
+ highest_priority = priority
+ chosen_sound = candidate
+ return chosen_sound
+ var/sound_or_sounds = is_type_in_list(user, sounds_by_mobtype, zebra = TRUE)
+ if(sound_or_sounds)
+ return get_emote_sound_from_list(sound_or_sounds, user)
+ return sound
// DARKPACK EDIT ADD START
/datum/emote/proc/get_range()
@@ -414,14 +433,10 @@
*/
/datum/emote/proc/should_play_sound(mob/user, intentional = FALSE)
if(emote_type & EMOTE_AUDIBLE && !hands_use_check)
- if(HAS_TRAIT(user, TRAIT_MUTE))
+ if(HAS_TRAIT(user, TRAIT_MUTE) || HAS_MIND_TRAIT(user, TRAIT_MIMING))
+ return FALSE
+ if(iscarbon(user) && !user.get_organ_slot(ORGAN_SLOT_TONGUE))
return FALSE
- if(ishuman(user))
- var/mob/living/carbon/human/loud_mouth = user
- if(HAS_MIND_TRAIT(loud_mouth, TRAIT_MIMING)) // vow of silence prevents outloud noises
- return FALSE
- if(!loud_mouth.get_organ_slot(ORGAN_SLOT_TONGUE))
- return FALSE
if(only_forced_audio && intentional)
return FALSE
diff --git a/code/datums/keybinding/admin.dm b/code/datums/keybinding/admin.dm
index f69581e05d73..212356d63d4d 100644
--- a/code/datums/keybinding/admin.dm
+++ b/code/datums/keybinding/admin.dm
@@ -151,3 +151,17 @@
return
SSadmin_verbs.dynamic_invoke_verb(user, /datum/admin_verb/display_tags)
return TRUE
+
+/datum/keybinding/admin/admin_verb_panel
+ hotkey_keys = list("`")
+ name = "admin_verb_panel"
+ full_name = "Admin Verb Panel"
+ description = "Opens the admin verb panel"
+ keybind_signal = COMSIG_KB_ADMIN_VERBPANEL_DOWN
+
+/datum/keybinding/admin/admin_verb_panel/down(client/user, turf/target, mousepos_x, mousepos_y)
+ . = ..()
+ if(.)
+ return
+ SSadmin_verbs.dynamic_invoke_verb(user, /datum/admin_verb/admin_verb_panel)
+ return TRUE
diff --git a/code/datums/mapgen/biomes/lavaland.dm b/code/datums/mapgen/biomes/lavaland.dm
index 88c907dc23fe..b3278bf50797 100644
--- a/code/datums/mapgen/biomes/lavaland.dm
+++ b/code/datums/mapgen/biomes/lavaland.dm
@@ -1,7 +1,7 @@
/datum/biome/lavaland
open_turf_type = /turf/open/misc/asteroid/basalt/lava_land_surface
closed_turf_type = /turf/closed/mineral/volcanic
- mob_exclusion_radius = 7
+ mob_exclusion_radius = 9
/datum/biome/lavaland/basalt
closed_turf_type = /turf/closed/mineral/random/volcanic
diff --git a/code/datums/materials/meat.dm b/code/datums/materials/meat.dm
index 0e9d1e6d0910..dcbc0b205bee 100644
--- a/code/datums/materials/meat.dm
+++ b/code/datums/materials/meat.dm
@@ -167,7 +167,7 @@
var/list/blood_data = source.data
name = "[blood_data["real_name"] || "mystery"] [initial(name)]"
- var/datum/blood_type/blood_type = blood_data["blood_type"]
+ var/datum/blood_type/blood_type = blood_data[BLOOD_DATA_TYPE]
if(blood_type && blood_type.get_color() != BLOOD_COLOR_RED)
var/list/transition_filter = color_transition_filter(blood_type.get_color())
color = transition_filter["color"]
diff --git a/code/datums/mind/_mind.dm b/code/datums/mind/_mind.dm
index 493fd7dfa044..4846a60dd8e0 100644
--- a/code/datums/mind/_mind.dm
+++ b/code/datums/mind/_mind.dm
@@ -509,6 +509,7 @@
assigned_role = new_role
if(!isnull(current))
SEND_SIGNAL(current, COMSIG_MOB_MIND_SET_ROLE, new_role)
+ current.client?.tgui_panel?.send_player_info()
///Sets your holy role, giving/taking away traits related to if you're gaining/losing it.
/datum/mind/proc/set_holy_role(new_holy_role)
diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm
index f952e207ad49..8e2f0e779a0a 100644
--- a/code/datums/mood_events/generic_negative_events.dm
+++ b/code/datums/mood_events/generic_negative_events.dm
@@ -12,6 +12,13 @@
mood_change = -12
event_flags = MOOD_EVENT_FEAR
+/datum/mood_event/on_fire/add_effects(...)
+ if(owner.has_quirk(/datum/quirk/pyromania))
+ mood_change *= 0.25
+ description = "This might be a bit too much fire."
+ else if(owner.has_quirk(/datum/quirk/pyrophobia))
+ mood_change *= 1.5
+
/datum/mood_event/suffocation
description = "CAN'T... BREATHE..."
mood_change = -12
diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm
index e97673e0a72e..a59ae74d1ac4 100644
--- a/code/datums/mutations/body.dm
+++ b/code/datums/mutations/body.dm
@@ -762,12 +762,12 @@
var/replacement_type = owner.dna.species.get_mutant_organ_type_for_slot(pick(missing_important_organs))
var/obj/item/organ/replacement = new replacement_type()
replacement.Insert(owner, special = TRUE)
- to_chat(owner, span_green("The tingingling feeling builds to a climax, until ultimately you feel a new [replacement] where your old one was!"))
+ to_chat(owner, span_green("The tingling feeling builds to a climax, until ultimately you feel [replacement.gender == PLURAL ? "some" : "a"] new [replacement.name] where your old one[replacement.gender == PLURAL ? "s were" : " was"]!"))
else
var/replacing_zone = pick(missing_limbs)
owner.regenerate_limb(replacing_zone)
var/obj/item/bodypart/replacement = owner.get_bodypart(replacing_zone)
- to_chat(owner, span_green("The tingling feeling builds to a climax, until ultimately you feel a new [replacement.plaintext_zone] where your old one was!"))
+ to_chat(owner, span_green("The tingling feeling builds to a climax, until ultimately you feel [replacement.gender == PLURAL ? "some" : "a"] new [replacement.plaintext_zone] where your old one[replacement.gender == PLURAL ? "s were" : " was"]!"))
owner.visible_message(span_warning("[owner]'s [replacement.plaintext_zone] reforms, making a loud, grotesque sound!"), ignored_mobs = list(owner))
owner.adjust_nutrition(-NUTRITION_LEVEL_FULL * 0.5 * GET_MUTATION_SYNCHRONIZER(src))
playsound(owner, 'sound/effects/magic/demon_consume.ogg', 33, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
@@ -778,9 +778,9 @@
var/replacement_type = pick(missing_special_organs)
var/obj/item/organ/replacement = new replacement_type()
replacement.Insert(owner, special = TRUE)
- to_chat(owner, span_green("The tingling feeling builds to a climax, until ultimately you feel a new [replacement] where your old one was!"))
+ to_chat(owner, span_green("The tingling feeling builds to a climax, until ultimately you feel [replacement.gender == PLURAL ? "some" : "a"] new [replacement.name] where your old one[replacement.gender == PLURAL ? "s were" : " was"]!"))
if(replacement.organ_flags & ORGAN_EXTERNAL)
- owner.visible_message(span_warning("[owner]'s [replacement] reforms, making a loud, grotesque sound!"), ignored_mobs = list(owner))
+ owner.visible_message(span_warning("[owner]'s [replacement.name] reforms, making a loud, grotesque sound!"), ignored_mobs = list(owner))
owner.adjust_nutrition(-NUTRITION_LEVEL_FULL * 0.3 * GET_MUTATION_SYNCHRONIZER(src))
playsound(owner, 'sound/effects/magic/demon_consume.ogg', 33, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
return
diff --git a/code/datums/personality/personality_preference.dm b/code/datums/personality/personality_preference.dm
index 0f8a5d8ce047..d4e437b76b1b 100644
--- a/code/datums/personality/personality_preference.dm
+++ b/code/datums/personality/personality_preference.dm
@@ -5,7 +5,7 @@
randomize_by_default = FALSE
should_update_preview = FALSE
-/datum/preference/personality/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/personality/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
if(isdummy(target) || !ishuman(target) || isnull(target.mob_mood))
return
if(CONFIG_GET(flag/disable_human_mood) || !CONFIG_GET(flag/roundstart_traits))
diff --git a/code/datums/quirks/negative_quirks/blood_deficiency.dm b/code/datums/quirks/negative_quirks/blood_deficiency.dm
index 699b9ff139d8..a8acfb0b788c 100644
--- a/code/datums/quirks/negative_quirks/blood_deficiency.dm
+++ b/code/datums/quirks/negative_quirks/blood_deficiency.dm
@@ -53,6 +53,6 @@
return
for(var/obj/item/reagent_containers/blood/blood_bag as anything in typesof(/obj/item/reagent_containers/blood))
- if(blood_bag::blood_type == new_blood_type.name)
+ if(blood_bag::blood_type == new_blood_type.type)
mail_goodies = list(blood_bag)
return
diff --git a/code/datums/quirks/negative_quirks/nyctophobia.dm b/code/datums/quirks/negative_quirks/nyctophobia.dm
index efe3f873a327..eebb2a84976d 100644
--- a/code/datums/quirks/negative_quirks/nyctophobia.dm
+++ b/code/datums/quirks/negative_quirks/nyctophobia.dm
@@ -1,6 +1,7 @@
/datum/quirk/nyctophobia
name = "Nyctophobia"
- desc = "As far as you can remember, you've always been afraid of the dark. While in the dark without a light source, you instinctively act careful, and constantly feel a sense of dread."
+ desc = "As far as you can remember, you've always been afraid of the dark. \
+ While in the dark without a light source, you constantly feel a sense of dread."
icon = FA_ICON_LIGHTBULB
value = -3
medical_record_text = "Patient demonstrates a fear of the dark. (Seriously?)"
diff --git a/code/datums/quirks/negative_quirks/photophobia.dm b/code/datums/quirks/negative_quirks/photophobia.dm
index 4681770f1d31..3a3bc08c25c8 100644
--- a/code/datums/quirks/negative_quirks/photophobia.dm
+++ b/code/datums/quirks/negative_quirks/photophobia.dm
@@ -62,11 +62,8 @@
return
var/turf/holder_turf = get_turf(quirk_holder)
-
- var/lums = holder_turf.get_lumcount()
-
var/eye_protection = quirk_holder.get_eye_protection()
- if(lums < LIGHTING_TILE_IS_DARK || eye_protection >= FLASH_PROTECTION_NONE)
+ if(holder_turf.check_lumcount_below(LIGHTING_TILE_IS_DARK) || eye_protection >= FLASH_PROTECTION_NONE)
quirk_holder.clear_mood_event(MOOD_CATEGORY_PHOTOPHOBIA)
return
quirk_holder.add_mood_event(MOOD_CATEGORY_PHOTOPHOBIA, /datum/mood_event/photophobia)
diff --git a/code/datums/quirks/negative_quirks/pyrophobia.dm b/code/datums/quirks/negative_quirks/pyrophobia.dm
new file mode 100644
index 000000000000..20a0d299fca4
--- /dev/null
+++ b/code/datums/quirks/negative_quirks/pyrophobia.dm
@@ -0,0 +1,34 @@
+/datum/quirk/pyrophobia
+ name = "Pyrophobia"
+ desc = "You are terrified of fire and flames."
+ icon = FA_ICON_FIRE_EXTINGUISHER
+ value = -3
+ medical_record_text = "Patient demonstrates a fear of fire."
+ medical_symptom_text = "Experiences panic attacks and shortness of breath when near open flames. \
+ Medication such as Psicodine may lessen the severity of the reaction."
+ hardcore_value = 5
+ quirk_flags = QUIRK_TRAUMALIKE
+
+/datum/quirk/pyrophobia/add(client/client_source)
+ . = ..()
+ quirk_holder.AddComponentFrom(type, /datum/component/fearful, list( \
+ /datum/terror_handler/force_stop_drop_roll, \
+ /datum/terror_handler/is_stop_drop_rolling, \
+ /datum/terror_handler/simple_source/pyrophobia, \
+ ))
+
+/datum/quirk/pyrophobia/remove()
+ . = ..()
+ quirk_holder.RemoveComponentSource(type, /datum/component/fearful)
+
+/datum/mood_event/pyrophobia
+ description = "I see fire, and I don't like it!"
+ mood_change = -1
+ event_flags = MOOD_EVENT_FEAR
+
+/datum/mood_event/pyrophobia/add_effects(fire_size = 0)
+ mood_change = -1 * fire_size
+
+/datum/mood_event/pyrophobia/be_replaced(datum/mood/home, datum/mood_event/new_event, fire_size = 0)
+ mood_change = min(mood_change, -1 * fire_size)
+ return BLOCK_NEW_MOOD
diff --git a/code/datums/quirks/positive_quirks/pyromania.dm b/code/datums/quirks/positive_quirks/pyromania.dm
new file mode 100644
index 000000000000..44f8973cccd0
--- /dev/null
+++ b/code/datums/quirks/positive_quirks/pyromania.dm
@@ -0,0 +1,103 @@
+/datum/quirk/pyromania
+ name = "Pyromania"
+ desc = "Fire is fascinating to you. You feel happier when around fire, and are generally a bit more resilient to heat and flames."
+ icon = FA_ICON_FIRE
+ value = 6
+ gain_text = span_warning("You feel a burning desire to start fires.")
+ lose_text = span_notice("You realize just how dangerous fire can be.")
+ medical_record_text = "Patient has a fascination with fire, and exhibits a compulsive desire to start fires."
+ medical_symptom_text = "Experiences an uncontrollable urge to start fires and a fascination with flames."
+ quirk_flags = QUIRK_PROCESSES|QUIRK_TRAUMALIKE|QUIRK_HUMAN_ONLY
+ /// Heat damage reduction
+ var/damage_mod = 0.67
+ /// Tracks the last fire size to avoid spamming mood events
+ VAR_PRIVATE/last_fire_size = -1
+ /// CD before we attempt to start a fire with our lighter
+ COOLDOWN_DECLARE(start_fire_cd)
+
+/datum/quirk/pyromania/post_add()
+ var/pyro_policy = get_policy("[type]") || "Please note that your [LOWER_TEXT(name)] does NOT give you any additional right to spread fires."
+ to_chat(quirk_holder, span_info(pyro_policy))
+
+/datum/quirk/pyromania/add(client/client_source)
+ . = ..()
+ var/mob/living/carbon/human/human_holder = quirk_holder
+ human_holder.physiology.heat_mod *= damage_mod
+ RegisterSignal(quirk_holder, COMSIG_MOB_APPLY_DAMAGE, PROC_REF(damage_taken))
+
+/datum/quirk/pyromania/remove()
+ . = ..()
+ UnregisterSignal(quirk_holder, COMSIG_MOB_APPLY_DAMAGE)
+ if(QDELING(quirk_holder))
+ return
+
+ var/mob/living/carbon/human/human_holder = quirk_holder
+ human_holder.physiology.heat_mod /= damage_mod
+ human_holder.clear_mood_event("pyromania_fire")
+
+/datum/quirk/pyromania/process(seconds_per_tick)
+ var/fire_size = quirk_holder.count_nearby_fire_sources()
+ if(fire_size != last_fire_size)
+ if(fire_size >= 1)
+ quirk_holder.add_mood_event("pyromania_fire", /datum/mood_event/pyromania, round(fire_size))
+ else
+ quirk_holder.clear_mood_event("pyromania_fire")
+ last_fire_size = fire_size
+
+ if(COOLDOWN_FINISHED(src, start_fire_cd) && SPT_PROB((SANITY_NEUTRAL - quirk_holder.mob_mood?.sanity) / 5, seconds_per_tick))
+ for(var/obj/item/lighter/lighter in quirk_holder.held_items)
+ if(lighter.lit)
+ continue
+ to_chat(quirk_holder, span_warning("You impulsively strike [lighter], trying to start a flame..."))
+ lighter.attack_self(quirk_holder)
+ COOLDOWN_START(src, start_fire_cd, 4 SECONDS)
+ break
+
+/// Tracks when we're taking damage to temporarily pause attempts to strike up a flame
+/datum/quirk/pyromania/proc/damage_taken(datum/source, damage_amount, damage_type, ...)
+ SIGNAL_HANDLER
+ if(damage_amount >= 5 && (damage_type == BRUTE || damage_type == BURN || damage_type == STAMINA))
+ COOLDOWN_START(src, start_fire_cd, 12 SECONDS)
+
+/**
+ * Counts how many open flames are nearby, optionally weighted by their intensity (a candle's flame is significantly smaller than a bonfire).
+ */
+/atom/proc/count_nearby_fire_sources(radius = 5, weighted = FALSE)
+ var/fire_size = 0
+
+ for(var/atom/movable/thing in view(radius, src))
+ // scales based on fire stacks. also includes the mob itself.
+ if(astype(thing, /mob/living)?.on_fire)
+ fire_size += weighted ? (astype(thing, /mob/living).fire_stacks / 20) : 1
+ // giant pile of fire
+ else if(astype(thing, /obj/structure/bonfire)?.burning)
+ fire_size += weighted ? 1.0 : 1
+ // relatively safe, at least safer than a bonfire
+ else if(astype(thing, /obj/structure/fireplace)?.lit)
+ fire_size += weighted ? 0.5 : 1
+ // various small flames, but elevated if they are being held
+ else if(astype(thing, /obj/item/flashlight/flare)?.light_on)
+ fire_size += weighted ? (thing.loc == src ? 1.0 : 0.2) : 1
+ else if(astype(thing, /obj/item/match)?.lit)
+ fire_size += weighted ? (thing.loc == src ? 1.0 : 0.2) : 1
+ else if(astype(thing, /obj/item/lighter)?.lit)
+ fire_size += weighted ? (thing.loc == src ? 1.0 : 0.2) : 1
+ // hotspots are huge walls of fire, but also spammed a lot, so weighted down a bit
+ else if(istype(thing, /obj/effect/hotspot))
+ fire_size += weighted ? 1.2 : 1
+ // any other random item being on fire, these are more uncontrolled, and potentially even being worn
+ else if(thing.resistance_flags & ON_FIRE)
+ fire_size += weighted ? (thing.loc == src ? 2.0 : 0.2) : 1
+
+ return fire_size
+
+/datum/mood_event/pyromania
+ description = "Lovely, warm fire..."
+ mood_change = 1
+
+/datum/mood_event/pyromania/add_effects(fire_size = 0)
+ mood_change = fire_size
+
+/datum/mood_event/pyromania/be_replaced(datum/mood/home, datum/mood_event/new_event, fire_size = 0)
+ mood_change = max(mood_change, fire_size)
+ return BLOCK_NEW_MOOD
diff --git a/code/datums/shuttles/emergency.dm b/code/datums/shuttles/emergency.dm
index bd3e3270abcd..f05baeebd145 100644
--- a/code/datums/shuttles/emergency.dm
+++ b/code/datums/shuttles/emergency.dm
@@ -535,4 +535,16 @@
/datum/map_template/shuttle/emergency/tombstone/prerequisites_met()
return SSshuttle.shuttle_purchase_requirements_met[SHUTTLE_UNLOCK_TOMBSTONE]
+/datum/map_template/shuttle/emergency/ark
+ suffix = "ark"
+ name = "The Ark"
+ description = "A specialized mobile zoo and research transport. The main passenger lounges are built directly alongside containment cells housing various friendly, exotic, and hostile alien specimens."
+ prerequisites = "You will need to obtain all samples for the station's DNA Vault goal."
+ admin_notes = "Packed with various fauna, including hostile and passive exotic mobs in enclosures."
+ credit_cost = CARGO_CRATE_VALUE * 25
+ occupancy_limit = "70"
+
+/datum/map_template/shuttle/emergency/ark/prerequisites_met()
+ return SSshuttle.shuttle_purchase_requirements_met[SHUTTLE_UNLOCK_ARK]
+
#undef EMAG_LOCKED_SHUTTLE_COST
diff --git a/code/datums/status_effects/_status_effect.dm b/code/datums/status_effects/_status_effect.dm
index b0cf4afc72ef..e10e22291536 100644
--- a/code/datums/status_effects/_status_effect.dm
+++ b/code/datums/status_effects/_status_effect.dm
@@ -44,7 +44,7 @@
/datum/status_effect/proc/on_creation(mob/living/new_owner, ...)
if(new_owner)
owner = new_owner
- if(QDELETED(owner) || !on_apply())
+ if(QDELETED(owner) || !on_apply(arglist(args.Copy(2))))
qdel(src)
return
if(owner)
@@ -132,7 +132,7 @@
/// Gets and formats examine text associated with our status effect.
/// Return 'null' to have no examine text appear (default behavior).
-/datum/status_effect/proc/get_examine_text()
+/datum/status_effect/proc/get_examine_text(mob/examiner)
return null
/**
diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm
index 731a20d5518c..893fd4d76735 100644
--- a/code/datums/status_effects/buffs.dm
+++ b/code/datums/status_effects/buffs.dm
@@ -307,7 +307,7 @@
QDEL_NULL(aura_healing)
owner.remove_traits(list(TRAIT_PACIFISM, TRAIT_HIPPOCRATIC_OATH, TRAIT_MEDICAL_HUD), HIPPOCRATIC_OATH_TRAIT)
-/datum/status_effect/hippocratic_oath/get_examine_text()
+/datum/status_effect/hippocratic_oath/get_examine_text(mob/examiner)
return span_notice("[owner.p_They()] seem[owner.p_s()] to have an aura of healing and helpfulness about [owner.p_them()].")
/datum/status_effect/hippocratic_oath/tick(seconds_between_ticks)
diff --git a/code/datums/status_effects/buffs/stop_drop_roll.dm b/code/datums/status_effects/buffs/stop_drop_roll.dm
index a7ca2109769a..109278194691 100644
--- a/code/datums/status_effects/buffs/stop_drop_roll.dm
+++ b/code/datums/status_effects/buffs/stop_drop_roll.dm
@@ -3,9 +3,15 @@
alert_type = null
tick_interval = 0.8 SECONDS
processing_speed = STATUS_EFFECT_PRIORITY
+ /// If FALSE the rolling is cancelled if we are immobilized
+ var/ignore_immobilize = FALSE
/// bar updates depending on how "on fire" you are
VAR_FINAL/datum/progressbar/bar
+/datum/status_effect/stop_drop_roll/on_creation(mob/living/new_owner, ignore_immobilize = FALSE)
+ src.ignore_immobilize = ignore_immobilize
+ return ..()
+
/datum/status_effect/stop_drop_roll/on_apply()
if(!iscarbon(owner))
return FALSE
@@ -44,7 +50,7 @@
reduce_firestacks(0.25)
/datum/status_effect/stop_drop_roll/tick(seconds_between_ticks)
- if(HAS_TRAIT(owner, TRAIT_IMMOBILIZED) || HAS_TRAIT(owner, TRAIT_INCAPACITATED))
+ if((!ignore_immobilize && HAS_TRAIT(owner, TRAIT_IMMOBILIZED)) || HAS_TRAIT(owner, TRAIT_INCAPACITATED))
qdel(src)
return
diff --git a/code/datums/status_effects/buffs/stun_absorption.dm b/code/datums/status_effects/buffs/stun_absorption.dm
index 6481f5284adf..11c45a871a03 100644
--- a/code/datums/status_effects/buffs/stun_absorption.dm
+++ b/code/datums/status_effects/buffs/stun_absorption.dm
@@ -87,7 +87,7 @@
UnregisterSignal(owner, incapacitation_effect_signals)
UnregisterSignal(owner, COMSIG_LIVING_GENERIC_STUN_CHECK)
-/datum/status_effect/stun_absorption/get_examine_text()
+/datum/status_effect/stun_absorption/get_examine_text(mob/examiner)
if(can_absorb_stun())
return replacetext(examine_message, "%EFFECT_OWNER_THEYRE", owner.p_Theyre())
return null // no message if we can't absorb stuns, duh.
diff --git a/code/datums/status_effects/cuffed_item.dm b/code/datums/status_effects/cuffed_item.dm
index 53ccad34b143..1af826840c28 100644
--- a/code/datums/status_effects/cuffed_item.dm
+++ b/code/datums/status_effects/cuffed_item.dm
@@ -30,6 +30,8 @@
/datum/status_effect/cuffed_item/on_apply()
owner.temporarilyRemoveItemFromInventory(cuffs, force = TRUE)
cuffed_to = owner.get_inactive_hand()
+ // NB: This is the only time we init a link without having any other signal registered
+ // This can cause issues due do signal registration order where some stuff gets resolved before the link instead of after the link
if(isnull(cuffed_to) || !update_link())
owner.put_in_hands(cuffs)
qdel(src)
@@ -38,12 +40,13 @@
RegisterSignals(cuffed, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED, COMSIG_MOVABLE_MOVED), PROC_REF(check_for_link))
RegisterSignal(cuffed, COMSIG_QDELETING, PROC_REF(cleanup_effect))
RegisterSignal(cuffed, COMSIG_ATOM_UPDATE_APPEARANCE, PROC_REF(on_item_update_appearance))
- RegisterSignal(cuffed, COMSIG_ATOM_EXAMINE, PROC_REF(cuffed_reminder))
+ RegisterSignal(cuffed, COMSIG_ATOM_EXAMINE, PROC_REF(cuffed_examine))
RegisterSignal(cuffed, COMSIG_TOPIC, PROC_REF(topic_handler))
RegisterSignal(cuffed, COMSIG_ITEM_GET_STRIPPABLE_ALT_ACTIONS, PROC_REF(get_strippable_action))
RegisterSignal(cuffed, COMSIG_ITEM_STRIPPABLE_ALT_ACTION, PROC_REF(do_strippable_action))
RegisterSignal(cuffed, COMSIG_ITEM_PRE_STORAGE_INSERTION, PROC_REF(block_storage_insert))
RegisterSignal(cuffed, COMSIG_ITEM_PRE_CUFFED_TO_MOB, PROC_REF(block_item_cuff))
+ RegisterSignal(cuffed, COMSIG_ITEM_PRE_UNEQUIP, PROC_REF(try_unequip))
RegisterSignals(cuffs, list(COMSIG_ITEM_EQUIPPED, COMSIG_QDELETING, COMSIG_MOVABLE_MOVED), PROC_REF(cleanup_effect))
RegisterSignal(cuffs, COMSIG_ATOM_UPDATE_APPEARANCE, PROC_REF(on_item_update_appearance))
@@ -52,7 +55,7 @@
RegisterSignal(cuffed_to, COMSIG_QDELETING, PROC_REF(cleanup_effect))
RegisterSignal(cuffed_to, COMSIG_BODYPART_REMOVED, PROC_REF(cuffed_to_removed))
- RegisterSignal(owner, COMSIG_ATOM_EXAMINE_MORE, PROC_REF(on_examine_more))
+ RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(check_for_link))
owner.log_message("bound [cuffed] to [owner.p_themselves()] with restraints", LOG_GAME)
SSblackbox.record_feedback("tally", "cuffed_item", 1, cuffed.type)
@@ -64,11 +67,12 @@
UnregisterSignal(cuffed, list(
COMSIG_ATOM_EXAMINE,
COMSIG_ATOM_UPDATE_APPEARANCE,
- COMSIG_ITEM_PRE_CUFFED_TO_MOB,
COMSIG_ITEM_DROPPED,
COMSIG_ITEM_EQUIPPED,
COMSIG_ITEM_GET_STRIPPABLE_ALT_ACTIONS,
+ COMSIG_ITEM_PRE_CUFFED_TO_MOB,
COMSIG_ITEM_PRE_STORAGE_INSERTION,
+ COMSIG_ITEM_PRE_UNEQUIP,
COMSIG_ITEM_STRIPPABLE_ALT_ACTION,
COMSIG_MOVABLE_MOVED,
COMSIG_QDELETING,
@@ -85,8 +89,8 @@
COMSIG_QDELETING,
))
UnregisterSignal(owner, list(
- COMSIG_ATOM_EXAMINE_MORE,
COMSIG_CARBON_POST_ATTACH_LIMB,
+ COMSIG_MOVABLE_MOVED,
))
cuffed = null
@@ -102,11 +106,12 @@
break_leash()
///Called when someone examines the owner twice, so they can know if someone has a cuffed item
-/datum/status_effect/cuffed_item/proc/on_examine_more(datum/source, mob/user, list/examine_list)
- SIGNAL_HANDLER
+/datum/status_effect/cuffed_item/get_examine_text(mob/examiner)
+ var/handcuff_text = cuffs.examine_title(examiner)
+ if(isliving(examiner) && get_dist(examiner, get_turf(cuffed)) <= 2)
+ handcuff_text = "[handcuff_text]"
- examine_list += span_warning("There's [cuffed.examine_title(user)] bound to [owner.p_their()] \
- [cuffed_to.plaintext_zone] by [cuffs.examine_title(user)].")
+ return span_notice("There is [cuffed.examine_title(examiner)] bound to [owner.p_their()] [cuffed_to.plaintext_zone] by [handcuff_text].")
/// What happens if the limb we're cuffed to is removed?
/datum/status_effect/cuffed_item/proc/cuffed_to_removed(datum/source, mob/living/carbon/owner, special)
@@ -134,6 +139,15 @@
RegisterSignal(cuffed_to, COMSIG_BODYPART_REMOVED, PROC_REF(cuffed_to_removed))
UnregisterSignal(owner, COMSIG_CARBON_POST_ATTACH_LIMB)
+/// Hooking doUnEquip to stop all forms of unequipping the item to an inappropriate location (such as in another object's contents)
+/datum/status_effect/cuffed_item/proc/try_unequip(datum/source, force, atom/newloc, no_move, invdrop, silent)
+ SIGNAL_HANDLER
+ // moving to turf is fine, that's just dropping
+ // moving to mob is also fine, that's just picking up or pocketing
+ // but moving to an object will almost always be a disaster so prevent it
+ // of course, stuff like forceMove will override this - but update_link() acts as a failsafe to break the link
+ return (!force && isobj(newloc)) ? COMPONENT_ITEM_BLOCK_UNEQUIP : NONE
+
/// Check if we need to spawn the tether effect or not
/datum/status_effect/cuffed_item/proc/check_for_link(...)
SIGNAL_HANDLER
@@ -149,37 +163,44 @@
// when on the ground, init a tether between item <-> owner
if(isturf(cuffed.loc))
- return init_leash(cuffed)
+ if(cuffed.anchored || cuffed.move_resist > owner.move_force)
+ return init_leash(cuffed, owner)
+ return init_leash(owner, cuffed)
// when being picked up by something else, init a tether between grabber <-> owner
if(ismovable(cuffed.loc) && isturf(cuffed.loc.loc))
- return init_leash(cuffed.loc)
+ var/atom/movable/leash_to = cuffed.loc
+ if(leash_to.anchored || leash_to.move_resist > owner.move_force)
+ return init_leash(leash_to, owner)
+ return init_leash(owner, leash_to)
// we have no idea where it is...
return FALSE
/// Inits the leash and beam effect to the given target, cleaning up old ones if necessary
-/datum/status_effect/cuffed_item/proc/init_leash(atom/movable/leash_to)
- if(link_effect)
+/// Return TRUE if the leash was successfully applied or did not need to be applied, FALSE if it failed to apply
+/datum/status_effect/cuffed_item/proc/init_leash(atom/movable/leash_from, atom/movable/leash_to)
+ if(!isnull(link_effect))
if(link_effect.parent == leash_to)
return TRUE
break_leash()
- link_effect = leash_to.AddComponentFrom(REF(src), /datum/component/chained_together, chained_to = owner)
+ link_effect = leash_to.AddComponentFrom(REF(src), /datum/component/chained_together, chained_to = leash_from)
if(!QDELETED(link_effect))
- return TRUE
+ return TRUE // successful application
// chain component failed to apply
if(ismob(leash_to))
var/mob/leash_to_mob = leash_to
addtimer(CALLBACK(src, PROC_REF(eject_item), leash_to_mob), 1)
- return TRUE
+ return TRUE // we're returning true despite failing because we have unique fail behavior
return FALSE
/datum/status_effect/cuffed_item/proc/break_leash()
- link_effect?.parent.RemoveComponentSource(REF(src), /datum/component/chained_together)
- if(QDELETED(link_effect))
+ if(!isnull(link_effect))
+ UnregisterSignal(link_effect.parent, COMSIG_MOVABLE_SET_ANCHORED)
+ link_effect.parent.RemoveComponentSource(REF(src), /datum/component/chained_together)
link_effect = null
return TRUE
@@ -211,17 +232,20 @@
qdel(src)
///Tell the player that the item is stuck to their hands someway. Also another way to trigger the try_remove_cuffs proc.
-/datum/status_effect/cuffed_item/proc/cuffed_reminder(obj/item/item, mob/user, list/examine_texts)
+/datum/status_effect/cuffed_item/proc/cuffed_examine(obj/item/item, mob/user, list/examine_texts)
SIGNAL_HANDLER
- if(user == owner)
- examine_texts += span_notice("[item.p_Theyre()] cuffed to you by \a [cuffs]. You can remove them.")
+ var/cuff_text = cuffs.examine_title(user)
+ if(isliving(user) && get_dist(user, get_turf(cuffed)) <= CARBON_EXAMINE_EMBEDDING_MAX_DIST + 1)
+ cuff_text = "[cuff_text]"
+
+ examine_texts += span_notice("[item.p_Theyre()] cuffed to [user == owner ? "your" : "[owner]'s"] [cuffed_to.plaintext_zone] by [cuff_text].")
/// This mainly exists as a fallback in the rare case the alert icon is not reachable (too many alerts?). You should be somewhat able to examine items while blind so all good.
/datum/status_effect/cuffed_item/proc/topic_handler(atom/source, user, href_list)
SIGNAL_HANDLER
- if(user == owner && href_list["remove_cuffs_item"])
+ if(href_list["remove_cuffs_item"])
INVOKE_ASYNC(src, PROC_REF(try_remove_cuffs), user)
/datum/status_effect/cuffed_item/proc/get_strippable_action(obj/item/source, atom/owner, mob/user, list/alt_actions)
@@ -245,21 +269,41 @@
if(LAZYACCESS(user.do_afters, interaction_key))
return FALSE
- if(!(user.mobility_flags & MOBILITY_USE) || (user != owner && !owner.IsReachableBy(user)))
+ if(!(user.mobility_flags & MOBILITY_USE))
owner.balloon_alert(user, "can't do it right now!")
return FALSE
- if(user != owner)
- owner.visible_message(span_notice("[user] tries to remove [cuffs] binding [cuffed] to [owner]"), span_warning("[user] is trying to remove [cuffs] binding [cuffed] to you."))
+ if(!cuffed.IsReachableBy(user))
+ owner.balloon_alert(user, "can't reach [cuffed]!")
+ return FALSE
+
+ if(user == owner)
+ owner.visible_message(
+ span_notice("[user] tries to remove [cuffs] binding [cuffed] to [owner.p_themselves()]"),
+ span_notice("You try to remove [cuffs] binding [cuffed] to yourself..."),
+ )
+ else
+ owner.visible_message(
+ span_notice("[user] tries to remove [cuffs] binding [cuffed] to [owner]..."),
+ span_warning("[user] tries to remove [cuffs] binding [cuffed] to you..."),
+ )
owner.balloon_alert(user, "removing cuffs...")
playsound(owner, cuffs.cuffsound, 30, TRUE, -2)
- if(!do_after(user, cuffs.get_handcuff_time(user) * 1.5, owner, interaction_key = interaction_key) || QDELETED(src))
+ if(!do_after(user, cuffs.get_handcuff_time(user) * 1.5 * (owner == user ? 1 : 2), owner, interaction_key = interaction_key) || QDELETED(src))
owner.balloon_alert(user, "interrupted!")
return FALSE
- if(user != owner)
- owner.visible_message(span_notice("[user] removes [cuffs] binding [cuffed] to [owner]"), span_warning("[user] removes [cuffs] binding [cuffed] to you."))
+ if(user == owner)
+ owner.visible_message(
+ span_notice("[user] removes [cuffs] binding [cuffed] to [owner.p_themselves()]."),
+ span_notice("You remove [cuffs] binding [cuffed] to yourself."),
+ )
+ else
+ owner.visible_message(
+ span_notice("[user] removes [cuffs] binding [cuffed] to [owner]."),
+ span_warning("[user] removes [cuffs] binding [cuffed] to you."),
+ )
log_combat(user, owner, "removed restraints binding [cuffed] to")
@@ -329,25 +373,48 @@
RegisterSignal(beam_effect, COMSIG_QDELETING, PROC_REF(recreate_beam))
/datum/component/chained_together/Destroy()
- UnregisterSignal(beam_effect, COMSIG_QDELETING)
- UnregisterSignal(link_effect, COMSIG_QDELETING)
- UnregisterSignal(tug_effect, COMSIG_QDELETING)
+ if(!isnull(beam_effect))
+ UnregisterSignal(beam_effect, COMSIG_QDELETING)
+ if(!isnull(link_effect))
+ UnregisterSignal(link_effect, COMSIG_QDELETING)
+ if(!isnull(tug_effect))
+ UnregisterSignal(tug_effect, COMSIG_QDELETING)
if(!QDELETED(link_effect))
- QDEL_NULL(link_effect)
+ qdel(link_effect)
if(!QDELETED(tug_effect))
- QDEL_NULL(tug_effect)
+ qdel(tug_effect)
if(!QDELETED(beam_effect))
- QDEL_NULL(beam_effect)
+ qdel(beam_effect)
+
+ beam_effect = null
+ link_effect = null
+ tug_effect = null
return ..()
-/datum/component/chained_together/proc/recreate_beam(datum/beam/source)
+/datum/component/chained_together/proc/recreate_beam(...)
SIGNAL_HANDLER
- UnregisterSignal(beam_effect, COMSIG_QDELETING)
+ if(!isnull(beam_effect))
+ UnregisterSignal(beam_effect, COMSIG_QDELETING)
+ beam_effect = null
+
var/atom/movable/movable_parent = parent
+ if(!isturf(movable_parent.loc))
+ RegisterSignal(movable_parent, COMSIG_MOVABLE_MOVED, PROC_REF(check_for_recreate_beam), override = TRUE)
+ return
+
beam_effect = movable_parent.Beam(chained_to_weakref.resolve(), "chain", animate = FALSE)
RegisterSignal(beam_effect, COMSIG_QDELETING, PROC_REF(recreate_beam))
+/datum/component/chained_together/proc/check_for_recreate_beam(atom/movable/source, atom/movable/moved_atom, ...)
+ SIGNAL_HANDLER
+
+ var/atom/movable/movable_parent = parent
+ if(!isturf(movable_parent.loc))
+ return
+ recreate_beam()
+ UnregisterSignal(movable_parent, COMSIG_MOVABLE_MOVED)
+
/datum/component/chained_together/proc/delete_self(datum/source)
SIGNAL_HANDLER
qdel(src)
diff --git a/code/datums/status_effects/death_sound.dm b/code/datums/status_effects/death_sound.dm
index b71c070729a5..ea369e48d177 100644
--- a/code/datums/status_effects/death_sound.dm
+++ b/code/datums/status_effects/death_sound.dm
@@ -22,25 +22,3 @@
/datum/status_effect/death_sound/on_remove()
UnregisterSignal(owner, COMSIG_LIVING_DEATH)
-
-
-/datum/status_effect/replace_death_sound
- id = "replace_death_sound"
- tick_interval = -1
- alert_type = null
- status_type = STATUS_EFFECT_REPLACE
- var/death_sound
- var/old_death_sound
-
-/datum/status_effect/replace_death_sound/on_creation(mob/living/new_owner, duration, death_sound)
- src.duration = duration
- src.death_sound = death_sound
- return ..()
-
-/datum/status_effect/replace_death_sound/on_apply()
- old_death_sound = owner.death_sound
- owner.death_sound = death_sound
- return TRUE
-
-/datum/status_effect/replace_death_sound/on_remove()
- owner.death_sound = old_death_sound
diff --git a/code/datums/status_effects/debuffs/choke.dm b/code/datums/status_effects/debuffs/choke.dm
index ec9f85afbec7..7619a018817d 100644
--- a/code/datums/status_effects/debuffs/choke.dm
+++ b/code/datums/status_effects/debuffs/choke.dm
@@ -121,7 +121,7 @@
var/atom/target = get_edge_target_turf(source, source.dir)
choking_on.throw_at(target, distance, 1, source)
-/datum/status_effect/choke/get_examine_text()
+/datum/status_effect/choke/get_examine_text(mob/examiner)
return span_boldwarning("[owner.p_They()] [owner.p_are()] choking!")
/datum/status_effect/choke/proc/remove_choke(datum/source)
diff --git a/code/datums/status_effects/debuffs/debuffs.dm b/code/datums/status_effects/debuffs/debuffs.dm
index bd678954f3b4..b12dfb54e5ae 100644
--- a/code/datums/status_effects/debuffs/debuffs.dm
+++ b/code/datums/status_effects/debuffs/debuffs.dm
@@ -268,7 +268,7 @@ GLOBAL_LIST_EMPTY(unconscious_appearances)
sleep_quality = -0.2
var/turf/rest_turf = get_turf(owner)
- var/is_sleeping_in_darkness = rest_turf.get_lumcount() <= LIGHTING_TILE_IS_DARK
+ var/is_sleeping_in_darkness = !rest_turf.check_lumcount_above(LIGHTING_TILE_IS_DARK)
// sleeping with a blindfold or in the dark helps us rest
if(owner.is_blind_from(EYES_COVERED) || is_sleeping_in_darkness)
@@ -583,7 +583,7 @@ GLOBAL_LIST_EMPTY(unconscious_appearances)
if(prob(10))
owner.emote(pick("gasp", "gag", "choke"))
-/datum/status_effect/neck_slice/get_examine_text()
+/datum/status_effect/neck_slice/get_examine_text(mob/examiner)
return span_warning("[owner.p_Their()] neck is cut and is bleeding profusely!")
/// Applies a curse with various possible effects
@@ -724,7 +724,7 @@ GLOBAL_LIST_EMPTY(unconscious_appearances)
owner.remove_client_colour(REF(src))
to_chat(owner, span_warning("You snap out of your trance!"))
-/datum/status_effect/trance/get_examine_text()
+/datum/status_effect/trance/get_examine_text(mob/examiner)
return span_warning("[owner.p_They()] seem[owner.p_s()] slow and unfocused.")
/datum/status_effect/trance/proc/hypnotize(datum/source, list/hearing_args)
@@ -1014,7 +1014,7 @@ GLOBAL_LIST_EMPTY(unconscious_appearances)
if(owner.remove_status_effect(/datum/status_effect/ants))
return COMPONENT_CLEANED|COMPONENT_CLEANED_GAIN_XP
-/datum/status_effect/ants/get_examine_text()
+/datum/status_effect/ants/get_examine_text(mob/examiner)
return span_warning("[owner.p_They()] [owner.p_are()] covered in ants!")
/datum/status_effect/ants/tick(seconds_between_ticks)
diff --git a/code/datums/status_effects/debuffs/decloning.dm b/code/datums/status_effects/debuffs/decloning.dm
index ea87b08dcc95..77e2540d9be9 100644
--- a/code/datums/status_effects/debuffs/decloning.dm
+++ b/code/datums/status_effects/debuffs/decloning.dm
@@ -65,7 +65,7 @@
owner.dust()
return
-/datum/status_effect/decloning/get_examine_text()
+/datum/status_effect/decloning/get_examine_text(mob/examiner)
switch(strikes_left)
if(68 to 100)
return span_warning("[owner.p_Their()] body looks a bit deformed.")
diff --git a/code/datums/status_effects/debuffs/drunk.dm b/code/datums/status_effects/debuffs/drunk.dm
index 95333a5508fd..d1ce987db95a 100644
--- a/code/datums/status_effects/debuffs/drunk.dm
+++ b/code/datums/status_effects/debuffs/drunk.dm
@@ -20,7 +20,7 @@
. = ..()
set_drunk_value(drunk_value)
-/datum/status_effect/inebriated/get_examine_text()
+/datum/status_effect/inebriated/get_examine_text(mob/examiner)
// Dead people don't look drunk
if(IS_DEAD_OR_FAKING(owner))
return null
diff --git a/code/datums/status_effects/debuffs/fire_stacks.dm b/code/datums/status_effects/debuffs/fire_stacks.dm
index 07df99eeb2b7..9f2f94622677 100644
--- a/code/datums/status_effects/debuffs/fire_stacks.dm
+++ b/code/datums/status_effects/debuffs/fire_stacks.dm
@@ -140,7 +140,7 @@
/// Cached particle type
var/cached_state
-/datum/status_effect/fire_handler/fire_stacks/get_examine_text()
+/datum/status_effect/fire_handler/fire_stacks/get_examine_text(mob/examiner)
if(owner.on_fire)
return
@@ -174,7 +174,7 @@
if(!on_fire)
return TRUE
- var/decay_multiplier = HAS_TRAIT(owner, TRAIT_HUSK) ? 2 : 1 // husks decay twice as fast
+ var/decay_multiplier = HAS_TRAIT_NOT_FROM(owner, TRAIT_HUSK, /datum/status_effect/zombie::id) ? 2 : 1 // husks decay twice as fast
adjust_stacks(owner.fire_stack_decay_rate * decay_multiplier * seconds_between_ticks)
SEND_SIGNAL(owner, COMSIG_FIRE_STACKS_UPDATED, stacks)
@@ -338,7 +338,7 @@
QDEL_NULL(slipperiness)
REMOVE_TRAIT(owner, TRAIT_NO_SLIP_WATER, TRAIT_STATUS_EFFECT(id))
-/datum/status_effect/fire_handler/wet_stacks/get_examine_text()
+/datum/status_effect/fire_handler/wet_stacks/get_examine_text(mob/examiner)
return "[owner.p_They()] look[owner.p_s()] a little soaked."
/datum/status_effect/fire_handler/wet_stacks/tick(seconds_between_ticks)
diff --git a/code/datums/status_effects/debuffs/firewall.dm b/code/datums/status_effects/debuffs/firewall.dm
new file mode 100644
index 000000000000..68c242e8c70f
--- /dev/null
+++ b/code/datums/status_effects/debuffs/firewall.dm
@@ -0,0 +1,21 @@
+/datum/status_effect/firewalled
+ id = "firewalled"
+ duration = 30 SECONDS
+ tick_interval = STATUS_EFFECT_NO_TICK
+ alert_type = /atom/movable/screen/alert/status_effect/firewall
+ show_duration = TRUE
+ processing_speed = STATUS_EFFECT_PRIORITY
+ status_type = STATUS_EFFECT_REFRESH
+
+/datum/status_effect/firewalled/on_creation(mob/living/new_owner, set_duration = 30 SECONDS)
+ src.duration = set_duration
+ return ..()
+
+/datum/status_effect/firewalled/refresh(effect, set_duration = 30 SECONDS)
+ src.duration = max(src.duration, set_duration)
+
+/atom/movable/screen/alert/status_effect/firewall
+ name = "Firewalled"
+ desc = "Recent changes to your core lawset have restricted your actions."
+ use_user_hud_icon = USER_HUD_STYLE_INHERIT
+ overlay_state = "hazard_area"
diff --git a/code/datums/status_effects/debuffs/heart_attack.dm b/code/datums/status_effects/debuffs/heart_attack.dm
index 8af204518e7f..b0cbca707dbe 100644
--- a/code/datums/status_effects/debuffs/heart_attack.dm
+++ b/code/datums/status_effects/debuffs/heart_attack.dm
@@ -121,7 +121,7 @@
time_until_stoppage--
-/datum/status_effect/heart_attack/get_examine_text()
+/datum/status_effect/heart_attack/get_examine_text(mob/examiner)
if(!time_until_stoppage <= ATTACK_STAGE_THREE)
return
var/mob/living/carbon/human/human_owner = owner
diff --git a/code/datums/status_effects/debuffs/jitteriness.dm b/code/datums/status_effects/debuffs/jitteriness.dm
index 50bb8b5e09f4..ee5db2e87b2c 100644
--- a/code/datums/status_effects/debuffs/jitteriness.dm
+++ b/code/datums/status_effects/debuffs/jitteriness.dm
@@ -24,7 +24,7 @@
owner.clear_mood_event(id)
owner.update_offsets()
-/datum/status_effect/jitter/get_examine_text()
+/datum/status_effect/jitter/get_examine_text(mob/examiner)
switch(duration)
if(5 MINUTES to INFINITY)
return span_boldwarning("[owner.p_They()] [owner.p_are()] convulsing violently!")
diff --git a/code/datums/status_effects/debuffs/slime/slimed.dm b/code/datums/status_effects/debuffs/slime/slimed.dm
index 30ee56a5a074..50e2a050bd8a 100644
--- a/code/datums/status_effects/debuffs/slime/slimed.dm
+++ b/code/datums/status_effects/debuffs/slime/slimed.dm
@@ -111,7 +111,7 @@
))
to_chat(owner, span_userdanger("[feedback_text] as the layer of slime eats away at you!"))
-/datum/status_effect/slimed/get_examine_text()
+/datum/status_effect/slimed/get_examine_text(mob/examiner)
return span_warning("[owner.p_They()] [owner.p_are()] covered in bubbling slime!")
#undef MIN_HEALTH
diff --git a/code/datums/status_effects/debuffs/strandling.dm b/code/datums/status_effects/debuffs/strandling.dm
index d37961c13c90..30f5e70276c3 100644
--- a/code/datums/status_effects/debuffs/strandling.dm
+++ b/code/datums/status_effects/debuffs/strandling.dm
@@ -18,7 +18,7 @@
/datum/status_effect/strandling/on_remove()
UnregisterSignal(owner, list(COMSIG_CARBON_PRE_BREATHE, COMSIG_ATOM_TOOL_ACT(TOOL_WIRECUTTER), COMSIG_CARBON_PRE_MISC_HELP))
-/datum/status_effect/strandling/get_examine_text()
+/datum/status_effect/strandling/get_examine_text(mob/examiner)
return span_warning("[owner.p_They()] seem[owner.p_s()] to be being choked by some durathread strands. You may be able to cut them off.")
/// Signal proc for [COMSIG_CARBON_PRE_BREATHE], causes losebreath whenever we're trying to breathe
diff --git a/code/datums/status_effects/debuffs/temperature_over_time.dm b/code/datums/status_effects/debuffs/temperature_over_time.dm
index cb1a73cc2ae5..5a14b47617d2 100644
--- a/code/datums/status_effects/debuffs/temperature_over_time.dm
+++ b/code/datums/status_effects/debuffs/temperature_over_time.dm
@@ -43,7 +43,7 @@
/datum/status_effect/temperature_over_time/on_remove()
return ..()
-/datum/status_effect/temperature_over_time/get_examine_text()
+/datum/status_effect/temperature_over_time/get_examine_text(mob/examiner)
if(temperature_value > 0)
return "[owner.p_They()] [owner.p_are()] sweating bullets!"
diff --git a/code/datums/status_effects/drug_effects.dm b/code/datums/status_effects/drug_effects.dm
index 27973b147979..8f42e5ad9ac4 100644
--- a/code/datums/status_effects/drug_effects.dm
+++ b/code/datums/status_effects/drug_effects.dm
@@ -98,3 +98,61 @@
name = "Stoned"
desc = "Cannabis is impairing your speed, motor skills, and mental cognition."
icon_state = "stoned"
+
+/// The amount taken away from saline's blood volume multiplier per second, from its base of 5x.
+#define SALINE_GLUCOSE_STACK_DILUTION 0.02
+
+/// Status effect that determines the mob's current saline blood replacement effect. The effect begins at 5 blood per 1 saline and gradually decreases to 1 over the course of ~3 1/2 minutes.
+/datum/status_effect/stacking/saline_glucose_dilution
+ id = "saline_dilution"
+ alert_type = /atom/movable/screen/alert/status_effect/saline_dilution
+
+ stacks = 1
+ max_stacks = 4 / SALINE_GLUCOSE_STACK_DILUTION
+ consumed_on_threshold = FALSE
+
+/datum/status_effect/stacking/saline_glucose_dilution/on_creation(mob/living/new_owner, stacks_to_apply)
+ . = ..()
+ var/blood_type = new_owner.get_bloodtype()
+ if(istype(blood_type, /datum/blood_type/human) || istype(blood_type, /datum/blood_type/animal))
+ return
+ if(istype(blood_type, /datum/blood_type/lizard))
+ linked_alert.name = "Green blood cell deficiency"
+ return
+ if(istype(blood_type, /datum/blood_type/clown))
+ linked_alert.name = "Potassium deficiency"
+ return
+ if(istype(blood_type, /datum/blood_type/ethereal))
+ linked_alert.name = "Low specific conductance"
+ return
+ if(istype(blood_type, /datum/blood_type/xeno))
+ linked_alert.name = "Alkalosis"
+
+/datum/status_effect/stacking/saline_glucose_dilution/tick(seconds_between_ticks)
+ if(owner.has_reagent(/datum/reagent/medicine/salglu_solution))
+ if(owner.stat != DEAD)
+ add_stacks(seconds_between_ticks)
+ linked_alert.desc = initial(linked_alert.desc)
+ return
+ linked_alert.desc = "Saline-Glucose Solution was supporting your bloodstream, and you are now recovering."
+ return ..() // Parent is stack decay, only decay while blood is pure
+
+/datum/status_effect/stacking/saline_glucose_dilution/can_have_status()
+ return (stacks > 0)
+
+/datum/status_effect/stacking/saline_glucose_dilution/add_stacks(stacks_added)
+ . = ..()
+ if(!linked_alert)
+ return
+ linked_alert.maptext = MAPTEXT_TINY_UNICODE("[round(100 - (stacks / max_stacks * 80), 1)]%")
+
+/// returns a number 1 - 5 that represents how many units of blood one unit of saline is worth within the mob's bloodstream.
+/datum/status_effect/stacking/saline_glucose_dilution/proc/get_blood_multiplier()
+ return max(5 - (stacks * SALINE_GLUCOSE_STACK_DILUTION), 0)
+
+#undef SALINE_GLUCOSE_STACK_DILUTION
+
+/atom/movable/screen/alert/status_effect/saline_dilution
+ name = "Red blood cell deficiency"
+ desc = "Saline-Glucose Solution is supporting your bloodstream, but it is losing its effectiveness over time."
+ icon_state = "saline_dilution"
diff --git a/code/datums/status_effects/replace_sound.dm b/code/datums/status_effects/replace_sound.dm
new file mode 100644
index 000000000000..74c9c819861a
--- /dev/null
+++ b/code/datums/status_effects/replace_sound.dm
@@ -0,0 +1,29 @@
+///A status effect that temporarily replaces the sound of an emote with another
+/datum/status_effect/replace_sound
+ id = "replace_sound"
+ tick_interval = -1
+ alert_type = null
+ status_type = STATUS_EFFECT_MULTIPLE
+ var/list/emote_key_to_sound
+ /// priority of the sound, see [signals_mob_living.dm] under COMSIG_LIVING_GET_EMOTE_SOUND
+ var/priority
+
+/datum/status_effect/replace_sound/on_creation(mob/living/new_owner, duration, list/emote_key_to_sound, priority = EMOTE_SOUND_STATUS_EFFECT)
+ src.duration = duration
+ src.emote_key_to_sound = emote_key_to_sound.Copy()
+ src.priority = priority
+ return ..()
+
+/datum/status_effect/replace_sound/on_apply()
+ for(var/key in emote_key_to_sound)
+ RegisterSignal(owner, COMSIG_MOB_EMOTE_SOUND(key), PROC_REF(on_emote))
+ return TRUE
+
+/datum/status_effect/replace_sound/proc/on_emote(datum/source, key, list/sounds)
+ SIGNAL_HANDLER
+ var/sound_override = get_emote_sound_from_list(emote_key_to_sound[key], source)
+ sounds[sound_override] = priority
+
+/datum/status_effect/replace_sound/on_remove()
+ for(var/key in emote_key_to_sound)
+ UnregisterSignal(owner, COMSIG_MOB_EMOTE_SOUND(key))
diff --git a/code/datums/status_effects/song_effects.dm b/code/datums/status_effects/song_effects.dm
index 4bb3ffa98871..a326217b5767 100644
--- a/code/datums/status_effects/song_effects.dm
+++ b/code/datums/status_effects/song_effects.dm
@@ -32,7 +32,7 @@
REMOVE_TRAIT(owner, TRAIT_ANTIMAGIC, TRAIT_STATUS_EFFECT(id))
return ..()
-/datum/status_effect/song/antimagic/get_examine_text()
+/datum/status_effect/song/antimagic/get_examine_text(mob/examiner)
return span_notice("[owner.p_They()] seem[owner.p_s()] to be covered in a dull, grey aura.")
/datum/status_effect/song/light
@@ -51,5 +51,5 @@
/datum/status_effect/song/light/on_remove()
QDEL_NULL(mob_light_obj)
-/datum/status_effect/song/light_song/get_examine_text()
+/datum/status_effect/song/light_song/get_examine_text(mob/examiner)
return span_notice("[owner.p_They()] seem[owner.p_s()] to be covered in a glowing aura.")
diff --git a/code/datums/storage/subtypes/belts.dm b/code/datums/storage/subtypes/belts.dm
index 70acb7af3a12..43d7cc7859b0 100644
--- a/code/datums/storage/subtypes/belts.dm
+++ b/code/datums/storage/subtypes/belts.dm
@@ -156,6 +156,7 @@
/obj/item/wrench,
/obj/item/wormhole_jaunter,
/obj/item/skeleton_key,
+ /obj/item/crusher_trophy,
))
///Primitive mining belt
diff --git a/code/datums/verb_metadata.dm b/code/datums/verb_metadata.dm
index f0b0f72bd016..d08ed8315c91 100644
--- a/code/datums/verb_metadata.dm
+++ b/code/datums/verb_metadata.dm
@@ -4,9 +4,153 @@
var/category
var/verb_path
var/body_path
+ var/list/arguments = list()
/datum/verb_metadata/proc/assign_to(target)
add_verb(target, verb_path)
/datum/verb_metadata/proc/unassign_from(target)
remove_verb(target, verb_path)
+
+/datum/verb_arg_metadata
+ var/name
+ var/arg_type
+ var/type_path
+ var/source
+ var/list/options
+
+/datum/verb_arg_metadata/proc/prompt(client/user, verb_name)
+ if(source == VERB_ARG_SOURCE_LIST && length(options))
+ return tgui_input_list(user, name, verb_name, options)
+ if(arg_type & VERB_ARG_TYPE_NUM)
+ return tgui_input_number(user, name, verb_name)
+ if(arg_type & VERB_ARG_TYPE_TEXT)
+ return tgui_input_text(user, name, verb_name)
+ if(arg_type & VERB_ARG_TYPE_MESSAGE)
+ return tgui_input_text(user, name, verb_name, multiline = TRUE)
+ if(arg_type & VERB_ARG_TYPE_SOUND)
+ return input(user, name, verb_name) as null|sound
+ if(arg_type & VERB_ARG_TYPE_TYPEPATH)
+ if(!type_path)
+ return ""
+ return input(user, name, verb_name) as null|anything in typesof(type_path)
+ var/list/targets = get_targets(user)
+ if(length(targets))
+ return tgui_input_list(user, name, verb_name, sort_names(targets))
+ return null
+
+/proc/____collect_verb_args(client/user, verb_name, list/arguments, list/positional_args)
+ var/list/structured_args = list()
+
+ var/context_target
+ if(length(positional_args) && (VERB_ARG_CONTEXT_TARGET_KEY in positional_args))
+ context_target = positional_args[VERB_ARG_CONTEXT_TARGET_KEY]
+ positional_args -= VERB_ARG_CONTEXT_TARGET_KEY
+
+ if(length(positional_args) && length(arguments))
+ if(istype(positional_args, /alist))
+ for(var/datum/verb_arg_metadata/arg in arguments)
+ if(!isnull(positional_args[arg.name]))
+ structured_args[arg.name] = positional_args[arg.name]
+ else
+ for(var/i in 1 to min(length(positional_args), length(arguments)))
+ var/datum/verb_arg_metadata/arg = arguments[i]
+ structured_args[arg.name] = positional_args[i]
+
+ if(!isnull(context_target) && length(arguments))
+ for(var/datum/verb_arg_metadata/arg in arguments)
+ if(isnull(structured_args[arg.name]) && (arg.source == VERB_ARG_SOURCE_WORLD || arg.source == VERB_ARG_SOURCE_VIEW))
+ structured_args[arg.name] = context_target
+ break
+
+ for(var/datum/verb_arg_metadata/arg in arguments)
+ if(!isnull(structured_args[arg.name]))
+ continue
+ var/value = arg.prompt(user, verb_name)
+ if(isnull(value))
+ return null
+ structured_args[arg.name] = value
+ return structured_args
+
+/datum/verb_arg_metadata/New(name, arg_type, type_path, source, list/options)
+ src.name = name
+ src.arg_type = arg_type
+ src.type_path = type_path
+ src.source = source
+ src.options = options
+
+/datum/verb_arg_metadata/proc/get_targets(client/viewer)
+ switch(source)
+ if(VERB_ARG_SOURCE_WORLD)
+ return get_world_targets(viewer)
+ if(VERB_ARG_SOURCE_VIEW)
+ return get_view_targets(viewer)
+ return list()
+
+/datum/verb_arg_metadata/proc/get_world_targets(client/viewer)
+ if(arg_type & VERB_ARG_TYPE_MOB)
+ return GLOB.mob_list
+ if(arg_type & VERB_ARG_TYPE_AREA)
+ return get_sorted_areas()
+ if(arg_type & VERB_ARG_TYPE_TURF)
+ var/list/turfs = list()
+ if(viewer.mob)
+ var/turf/admin_turf = get_turf(viewer.mob)
+ if(admin_turf)
+ turfs += admin_turf
+ for(var/mob/player in GLOB.player_list)
+ var/turf/player_turf = get_turf(player)
+ if(player_turf)
+ turfs |= player_turf
+ return turfs
+ if(arg_type & (VERB_ARG_TYPE_OBJ | VERB_ARG_TYPE_DATUM | VERB_ARG_TYPE_ATOM))
+ if(viewer.mob)
+ return view(viewer.view, viewer.mob)
+ return list()
+
+/datum/verb_arg_metadata/proc/get_view_targets(client/viewer)
+ if(!viewer.mob)
+ return list()
+ var/list/visible = view(viewer.view, viewer.mob)
+ if(arg_type & VERB_ARG_TYPE_MOB)
+ var/list/mobs = list()
+ for(var/mob/target in visible)
+ mobs += target
+ return mobs
+ if(arg_type & VERB_ARG_TYPE_OBJ)
+ var/list/objs = list()
+ for(var/obj/target in visible)
+ objs += target
+ return objs
+ if(arg_type & VERB_ARG_TYPE_TURF)
+ var/list/turfs = list()
+ for(var/turf/target in visible)
+ turfs += target
+ return turfs
+ return visible
+
+GLOBAL_LIST_INIT(____pending_verb_args, list())
+
+/proc/____register_verb_arg(owner_type, proc_path, arg_name, arg_type, arg_type_path, arg_source)
+ var/verb_key
+ if(ispath(owner_type, /datum/admin_verb))
+ verb_key = owner_type
+ else
+ verb_key = proc_path
+
+ if(!GLOB.____pending_verb_args[verb_key])
+ GLOB.____pending_verb_args[verb_key] = list()
+ GLOB.____pending_verb_args[verb_key] += list(new /datum/verb_arg_metadata(arg_name, arg_type, arg_type_path, arg_source))
+ return TRUE
+
+/proc/____register_verb_arg_list(owner_type, proc_path, arg_name, list/options)
+ var/verb_key
+ if(ispath(owner_type, /datum/admin_verb))
+ verb_key = owner_type
+ else
+ verb_key = proc_path
+
+ if(!GLOB.____pending_verb_args[verb_key])
+ GLOB.____pending_verb_args[verb_key] = list()
+ GLOB.____pending_verb_args[verb_key] += list(new /datum/verb_arg_metadata(arg_name, VERB_ARG_TYPE_TEXT, null, VERB_ARG_SOURCE_LIST, options))
+ return TRUE
diff --git a/code/game/atom/atom_color.dm b/code/game/atom/atom_color.dm
index b042624d2644..f79f5c88fbc7 100644
--- a/code/game/atom/atom_color.dm
+++ b/code/game/atom/atom_color.dm
@@ -120,14 +120,20 @@
/// Same as update_atom_color, but simplifies overlay coloring
/atom/proc/color_atom_overlay(mutable_appearance/overlay)
- overlay.color = color
- if (!cached_color_filter)
+ var/list/color_filter = cached_color_filter
+ if(islist(color))
+ overlay.color = null
+ color_filter ||= color_matrix_filter(color_to_full_rgba_matrix(color), FILTER_COLOR_RGB)
+ else
+ overlay.color = color
+
+ if(!color_filter)
return overlay
// Apply the atom's color filter to the overlay using named filters so that
// later calls to add_filter/update_filters (e.g., height displacement filters)
// do not wipe out our coloration. Mirror prior behavior by propagating to
// child overlays unless KEEP_TOGETHER is present.
- overlay.add_filter(ATOM_PRIORITY_COLOR_FILTER, ATOM_PRIORITY_COLOR_FILTER_PRIORITY, cached_color_filter)
+ overlay.add_filter(ATOM_PRIORITY_COLOR_FILTER, ATOM_PRIORITY_COLOR_FILTER_PRIORITY, color_filter)
if(!(overlay.appearance_flags & KEEP_TOGETHER))
// Recursively ensure any nested overlays/underlays also get the color filter
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index 1dd0cb070461..af59ab9a6a9d 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -417,8 +417,9 @@
return TRUE
/// Returns a list of movables that should also be affected when src moves through zlevels, and src.
-/atom/movable/proc/get_z_move_affected(z_move_flags)
- . = list(src)
+/atom/movable/proc/get_z_move_affected(z_move_flags, list/returning_list = list())
+ . = returning_list
+ . |= src
if(buckled_mobs)
. |= buckled_mobs
if(!(z_move_flags & ZMOVE_INCLUDE_PULLED))
@@ -426,15 +427,11 @@
for(var/mob/living/buckled as anything in buckled_mobs)
if(buckled.pulling)
. |= buckled.pulling
- if(pulling)
- . |= pulling
- if (pulling.buckled_mobs)
- . |= pulling.buckled_mobs
-
- //makes conga lines work with ladders and flying up and down; checks if the guy you are pulling is pulling someone,
- //then uses recursion to run the same function again
- if (pulling.pulling)
- . |= pulling.pulling.get_z_move_affected(z_move_flags)
+ //makes conga lines work with ladders and flying up and down; checks if the guy you are pulling is pulling someone,
+ //then uses recursion to run the same function again
+ //we pass in the list from this proc to ensure we dont reach an infinite loop due to mobs grabbed in a loop or two mobs grabing eachother.
+ if(pulling && !(pulling in .))
+ . |= pulling.get_z_move_affected(z_move_flags, .)
/**
* Checks if the destination turf is elegible for z movement from the start turf to a given direction and returns it if so.
diff --git a/code/game/machinery/ai_core/_core.dm b/code/game/machinery/ai_core/_core.dm
index 9de9b36be582..4b39bc993092 100644
--- a/code/game/machinery/ai_core/_core.dm
+++ b/code/game/machinery/ai_core/_core.dm
@@ -148,15 +148,17 @@
return TRUE
if(!active)
return FALSE
- var/turf/T = get_turf(src)
- var/area/A = get_area(src)
- if(!(A.area_flags & BLOBS_ALLOWED))
+ var/turf/ai_turf = get_turf(src)
+ var/area/ai_area = get_area(src)
+ if(!(ai_area.area_flags & BLOBS_ALLOWED))
return FALSE
- if(!A.power_equip)
+ if(!ai_area.power_equip)
return FALSE
- if(!SSmapping.level_trait(T.z,ZTRAIT_STATION))
+ if(!SSmapping.level_trait(ai_turf.z, ZTRAIT_STATION))
return FALSE
- if(!isfloorturf(T))
+ if(!isfloorturf(ai_turf))
+ if(locate(/obj/structure/transport/linear) in ai_turf.contents) // carveout for maps that have the AI core on a lift platform.
+ return TRUE
return FALSE
return TRUE
diff --git a/code/game/machinery/ai_core/law.dm b/code/game/machinery/ai_core/law.dm
index 99d68227f4b1..4a8663542ac1 100644
--- a/code/game/machinery/ai_core/law.dm
+++ b/code/game/machinery/ai_core/law.dm
@@ -537,7 +537,9 @@
// Don't add this one if we're replacing a random law later
if(!core_sub_ion && prob(base_ion_prob))
core.set_ioned(TRUE)
- core.laws.Insert(1, ion_message || generate_ion_law())
+ var/final_ion_message = ion_message || generate_ion_law()
+ core.laws.Insert(1, final_ion_message)
+ core.laws[final_ion_message] = TRUE
ion_message = null
log_law_change(null, "ion added law to [src] ([log_status()], text: \"[core.laws[1]]\")")
ions_added++
@@ -551,12 +553,14 @@
// For supplied laws: Chance the entire supplied law is replaced with a new ion law.
// If we had no core law and thus added no ion law, this is guaranteed to replace the first supplied law
if(ions_added < ion_limit && (ion_message || (law == core && core_sub_ion) || prob(sub_ion_prob)))
- var/picked_law = length(law.laws) <= 1 ? 1 : rand(2, length(law.laws))
- var/replaced_law = law.laws[picked_law]
+ var/picked_law_index = length(law.laws) <= 1 ? 1 : rand(2, length(law.laws))
+ var/replaced_law = law.laws[picked_law_index]
+ var/final_ion_message = ion_message || generate_ion_law()
law.set_ioned(TRUE)
- law.laws[picked_law] = ion_message || generate_ion_law()
+ law.laws[picked_law_index] = final_ion_message
+ law.laws[final_ion_message] = TRUE
ion_message = null
- log_law_change(null, "ion replaced law in [src] ([log_status()], text: \"[replaced_law]\" -> \"[law.laws[picked_law]]\")")
+ log_law_change(null, "ion replaced law in [src] ([log_status()], text: \"[replaced_law]\" -> \"[final_ion_message]\")")
ions_added++
. = TRUE
@@ -880,9 +884,8 @@
// if the rack leaves the z-level, unlinks relevant silicons.
// currently this is a one way check (ie silicons don't get unlinked if they leave the z) so as to prevent random unlinking from visiting lavaland.
for(var/mob/living/silicon/linked in assoc_to_values(linked_mobs))
- if(!can_link_to(linked) || is_rack_stun_immune(linked))
+ if(!can_link_to(linked) || !rack_stun(linked))
continue
- linked.Stun(10 SECONDS, ignore_canstun = TRUE)
to_chat(linked, span_userdanger("Rack connection lost. Recalculating directives..."))
unlink_silicon(linked)
@@ -939,19 +942,23 @@
/obj/machinery/ai_law_rack/base/on_deconstruction(disassembled)
for(var/mob/living/silicon/bot in assoc_to_values(linked_mobs))
- if(bot.AmountStun() > 5 SECONDS || is_rack_stun_immune(bot))
+ if(!rack_stun(bot))
continue
- bot.Stun(10 SECONDS, ignore_canstun = TRUE)
to_chat(bot, span_userdanger("Rack connection lost. Recalculating directives..."))
unlink_silicon(bot)
-/// Checks if the passed bot is immune to the stun from major lawset changes
-/obj/machinery/ai_law_rack/base/proc/is_rack_stun_immune(mob/living/bot)
+/// Attempts to stun a linked bot and prevent it from interacting with certain devices
+/obj/machinery/ai_law_rack/base/proc/rack_stun(mob/living/bot, stun_duration = 10 SECONDS, firewall_duration = 30 SECONDS)
if(IS_MALF_AI(bot))
- return TRUE
+ return FALSE // lol
if(!is_valid_z_level(get_turf(bot), get_turf(src)))
- return TRUE
- return FALSE
+ return FALSE // out of range, but still connected - like a mining borg on lavaland. avoid stunning and getting them killed
+ if(bot.AmountStun() > (stun_duration / 2))
+ return FALSE // give them a break
+
+ bot.Stun(stun_duration, ignore_canstun = TRUE)
+ bot.apply_status_effect(/datum/status_effect/firewalled, stun_duration + firewall_duration)
+ return TRUE
/obj/machinery/ai_law_rack/base/examine(mob/user)
. = ..()
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index 6d5ad0529cf5..9c6ebaed5784 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -25,7 +25,7 @@
///Designs related to the autolathe
var/datum/techweb/autounlocking/stored_research
///Designs imported from technology disks that we can print.
- var/list/imported_designs = list()
+ var/list/imported_designs
///The container to hold materials
var/datum/material_container/materials
///direction we output onto (if 0, on top of us)
@@ -45,8 +45,7 @@
. = ..()
set_wires(new /datum/wires/autolathe(src))
- if(!GLOB.autounlock_techwebs[/datum/techweb/autounlocking/autolathe])
- GLOB.autounlock_techwebs[/datum/techweb/autounlocking/autolathe] = new /datum/techweb/autounlocking/autolathe
+ GLOB.autounlock_techwebs[/datum/techweb/autounlocking/autolathe] ||= new /datum/techweb/autounlocking/autolathe()
stored_research = GLOB.autounlock_techwebs[/datum/techweb/autounlocking/autolathe]
register_context()
@@ -143,21 +142,21 @@
var/datum/asset/spritesheet_batched/research_designs/spritesheet = get_asset_datum(/datum/asset/spritesheet_batched/research_designs)
var/size32x32 = "[spritesheet.name]32x32"
- for(var/design_id in designs)
- var/datum/design/design = SSresearch.techweb_design_by_id(design_id)
+ for(var/design_path in designs)
+ var/datum/design/design = SSresearch.techweb_designs[design_path]
if(design.make_reagent)
continue
//compute cost & maximum number of printable items
var/coeff = (ispath(design.build_path, /obj/item/stack) ? 1 : creation_efficiency)
var/list/cost = list()
- var/customMaterials = FALSE
+ var/custom_materials = FALSE
for(var/datum/material/mat as anything in design.materials)
var/mat_cost = design.materials[mat]
var/design_cost = OPTIMAL_COST(mat_cost * coeff)
if(istype(mat))
cost[mat.name] = design_cost
- customMaterials = FALSE
+ custom_materials = FALSE
continue
var/datum/material_requirement/requirement = null
@@ -172,18 +171,18 @@
continue
cost[requirement.get_description()] = design_cost
- customMaterials = TRUE
+ custom_materials = TRUE
//create & send ui data
- var/icon_size = spritesheet.icon_size_id(design.id)
+ var/icon_size = spritesheet.icon_size_id(design.asset_id)
var/list/design_data = list(
"name" = design.name,
"desc" = design.get_description(),
"cost" = cost,
- "id" = design.id,
+ "path" = design_path,
"categories" = design.category,
- "icon" = "[icon_size == size32x32 ? "" : "[icon_size] "][design.id]",
- "customMaterials" = customMaterials
+ "icon" = "[icon_size == size32x32 ? "" : "[icon_size] "][design.asset_id]",
+ "customMaterials" = custom_materials,
)
output += list(design_data)
@@ -194,7 +193,7 @@
var/list/data = materials.ui_static_data()
data["designs"] = handle_designs(stored_research.researched_designs)
- if(imported_designs.len)
+ if(LAZYLEN(imported_designs))
data["designs"] += handle_designs(imported_designs)
if(hacked)
data["designs"] += handle_designs(stored_research.hacked_designs)
@@ -227,11 +226,7 @@
if(!istype(material))
return
- var/amount = params["amount"]
- if(isnull(amount))
- return
-
- amount = text2num(amount)
+ var/amount = text2num(params["amount"])
if(isnull(amount))
return
@@ -257,27 +252,24 @@
return
//validate design
- var/design_id = params["id"]
- if(!design_id)
+ var/design_path = text2path(params["design_path"])
+ if(!design_path)
return
- var/valid_design = stored_research.researched_designs[design_id]
- valid_design ||= stored_research.hacked_designs[design_id]
- valid_design ||= imported_designs[design_id]
+ var/valid_design = stored_research.researched_designs[design_path]
+ valid_design ||= stored_research.hacked_designs[design_path]
+ valid_design ||= imported_designs?[design_path]
if(!valid_design)
return
- var/datum/design/design = SSresearch.techweb_design_by_id(design_id)
+ var/datum/design/design = SSresearch.techweb_designs[design_path]
if(isnull(design))
- stack_trace("got passed an invalid design id: [design_id] and somehow made it past all checks")
+ stack_trace("Autolathe ui_act() got passed an invalid design: \[[design_path]\] and somehow made it past all checks")
return
if(!(design.build_type & AUTOLATHE))
say("This fabricator does not have the necessary keys to decrypt this design.")
return
//validate print quantity
- var/build_count = params["multiplier"]
- if(isnull(build_count))
- return
- build_count = text2num(build_count)
+ var/build_count = text2num(params["multiplier"])
if(isnull(build_count))
return
build_count = clamp(build_count, 1, 50)
@@ -313,7 +305,7 @@
"Material Selection",
sort_list(choices),
)
- if(isnull(chosen))
+ if(isnull(chosen) || QDELING(src))
return // user cancelled
material = choices[chosen]
@@ -496,9 +488,8 @@
balloon_alert(user, "close the panel first!")
return ITEM_INTERACT_BLOCKING
- user.visible_message(span_notice("[user] begins to load \the [tool] in \the [src]..."),
- balloon_alert(user, "uploading design..."),
- span_hear("You hear the chatter of a floppy drive."))
+ user.visible_message(span_notice("[user] begins to load \the [tool] in \the [src]..."), blind_message = span_hear("You hear the chatter of a floppy drive."))
+ balloon_alert(user, "uploading design...")
busy = TRUE
if(!do_after(user, 1.5 SECONDS, target = src))
@@ -509,16 +500,15 @@
var/obj/item/disk/design_disk/disky = tool
var/list/not_imported
- for(var/datum/design/blueprint as anything in disky.blueprints)
- if(!blueprint)
- continue
- if(blueprint.build_type & AUTOLATHE)
- imported_designs[blueprint.id] = TRUE
+ for(var/design_path in disky.blueprints)
+ var/datum/design/disk_design = SSresearch.techweb_designs[design_path]
+ if(disk_design.build_type & AUTOLATHE)
+ LAZYSET(imported_designs, design_path, TRUE)
else
- LAZYADD(not_imported, blueprint.name)
+ LAZYADD(not_imported, disk_design.name)
if(not_imported)
- to_chat(user, span_warning("The following design[length(not_imported) > 1 ? "s" : ""] couldn't be imported: [english_list(not_imported)]"))
+ to_chat(user, span_warning("The following design[LAZYLEN(not_imported) > 1 ? "s" : ""] couldn't be imported: [english_list(not_imported)]"))
busy = FALSE
update_static_data_for_all_viewers()
diff --git a/code/game/machinery/big_manipulator/big_manipulator_interactions.dm b/code/game/machinery/big_manipulator/big_manipulator_interactions.dm
index a29f44a5d522..1d17f0e1647c 100644
--- a/code/game/machinery/big_manipulator/big_manipulator_interactions.dm
+++ b/code/game/machinery/big_manipulator/big_manipulator_interactions.dm
@@ -142,7 +142,7 @@
return
var/obj/item/held_item = obj_resolve
- var/atom/type_to_use = destination_task.find_type_priority(destination_task.skip_anchored)
+ var/atom/type_to_use = destination_task.find_type_priority(destination_task.skip_anchored, TRUE)
if(isnull(type_to_use))
use_in_progress = FALSE
@@ -221,7 +221,7 @@
finish_manipulation()
return
- var/atom/type_to_use = destination_task.find_type_priority(destination_task.skip_anchored)
+ var/atom/type_to_use = destination_task.find_type_priority(destination_task.skip_anchored, TRUE)
if(isnull(type_to_use))
finish_manipulation()
return
diff --git a/code/game/machinery/big_manipulator/manipulator_tasks.dm b/code/game/machinery/big_manipulator/manipulator_tasks.dm
index 18ce051c9933..53edd81886c5 100644
--- a/code/game/machinery/big_manipulator/manipulator_tasks.dm
+++ b/code/game/machinery/big_manipulator/manipulator_tasks.dm
@@ -140,7 +140,7 @@
/datum/manipulator_task/cargo/proc/fill_priority_list(manipulator_tier)
return list()
-/datum/manipulator_task/cargo/proc/find_type_priority(skip_anchored = FALSE)
+/datum/manipulator_task/cargo/proc/find_type_priority(skip_anchored = FALSE, respect_filters = FALSE)
var/atom/movable/best_candidate = null
var/best_priority_index = INFINITY
@@ -151,7 +151,7 @@
var/datum/manipulator_priority/prio = interaction_priorities[i]
- if(!prio.active || ispath(prio, /turf))
+ if(!prio.active || prio.atom_typepath == /turf)
continue
if(!istype(thing, prio.atom_typepath))
@@ -165,6 +165,9 @@
if(living_mob.stat == DEAD)
continue
+ if(respect_filters && should_use_filters && isitem(thing) && !check_filters_for_atom(thing))
+ continue
+
best_candidate = thing
best_priority_index = i
@@ -374,7 +377,7 @@
return FALSE
if(!manipulator.monkey_worker?.resolve())
return FALSE
- if(!find_type_priority(skip_anchored))
+ if(!find_type_priority(skip_anchored, TRUE))
return FALSE
return can_accept(target)
@@ -495,9 +498,7 @@
/datum/manipulator_task/cargo/dropoff_base/use/can_accept(atom/movable/target)
if(!is_valid())
return FALSE
- if(should_use_filters && !check_filters_for_atom(target))
- return FALSE
- return TRUE
+ return find_type_priority(skip_anchored, TRUE) != null
/datum/manipulator_task/cargo/dropoff_base/use/serialize()
var/list/data = ..()
@@ -540,7 +541,7 @@
/datum/manipulator_task/cargo/interact/can_run(obj/machinery/big_manipulator/manipulator)
if(!..())
return FALSE
- return find_type_priority() != null
+ return find_type_priority(skip_anchored, TRUE) != null
/datum/manipulator_task/cargo/interact/run_task(obj/machinery/big_manipulator/manipulator)
manipulator.rotate_to_point(src, src, PROC_REF(try_interact))
diff --git a/code/game/machinery/computer/records/medical.dm b/code/game/machinery/computer/records/medical.dm
index da0576fe2fbb..e079cd505dca 100644
--- a/code/game/machinery/computer/records/medical.dm
+++ b/code/game/machinery/computer/records/medical.dm
@@ -54,7 +54,7 @@
records += list(list(
age = target.age,
- blood_type = target.blood_type,
+ blood_type = initial(target.blood_type:name),
crew_ref = REF(target),
dna = target.dna_string,
gender = target.gender,
@@ -78,10 +78,15 @@
/obj/machinery/computer/records/medical/ui_static_data(mob/user)
var/list/data = list()
+ var/list/blood_type_strings = list()
data["min_age"] = AGE_MIN
data["max_age"] = AGE_MAX
data["physical_statuses"] = PHYSICAL_STATUSES
data["mental_statuses"] = MENTAL_STATUSES
+ for(var/datum/blood_type/blood_path as anything in get_roundstart_blood_types())
+ blood_type_strings += initial(blood_path.name)
+ data["blood_types"] = blood_type_strings
+
return data
/obj/machinery/computer/records/medical/ui_act(action, list/params, datum/tgui/ui)
@@ -148,6 +153,17 @@
target.cause_of_death = death_text
return TRUE
+ if("set_blood_type")
+ var/chosen_path
+ for(var/datum/blood_type/blood_path as anything in get_roundstart_blood_types())
+ if(initial(blood_path.name) == params["blood_type"])
+ chosen_path = blood_path
+ break
+ if(!chosen_path)
+ return FALSE
+ target.blood_type = chosen_path
+ return TRUE
+
return FALSE
/// Deletes medical information from a record.
@@ -156,7 +172,7 @@
return FALSE
target.age = 18
- target.blood_type = pick(list(BLOOD_TYPE_A_PLUS, BLOOD_TYPE_A_MINUS, BLOOD_TYPE_B_PLUS, BLOOD_TYPE_B_MINUS, BLOOD_TYPE_O_PLUS, BLOOD_TYPE_O_MINUS, BLOOD_TYPE_AB_PLUS, BLOOD_TYPE_AB_MINUS))
+ target.blood_type = random_human_blood_type()
target.dna_string = "Unknown"
target.gender = "Unknown"
target.major_disabilities = ""
diff --git a/code/game/machinery/flatpacker.dm b/code/game/machinery/flatpacker.dm
index ad8c3f9a96e2..880d19f17178 100644
--- a/code/game/machinery/flatpacker.dm
+++ b/code/game/machinery/flatpacker.dm
@@ -199,10 +199,11 @@
if(as_part.tier > print_tier)
print_tier = as_part.tier
+ var/datum/design/item_design = SSresearch.techweb_designs[LAZYACCESS(SSresearch.item_to_design[comp_type], 1)]
var/list/mat_list
var/obj/item/null_comp
- if(!isnull(SSresearch.item_to_design[comp_type]))
- mat_list = SSresearch.item_to_design[comp_type][1].materials
+ if(istype(item_design))
+ mat_list = item_design.materials
else
var/datum/stock_part/part = GLOB.stock_part_datums_per_object[comp_type]
if(part)
@@ -211,8 +212,8 @@
null_comp = new comp_type
mat_list = null_comp.custom_materials
- for(var/atom/mat as anything in mat_list)
- CREATE_AND_INCREMENT(costs, mat.type, mat_list[mat] * count)
+ for(var/datum/material/required_material, required_amount in mat_list)
+ CREATE_AND_INCREMENT(costs, required_material.type, required_amount * count)
if(null_comp)
qdel(null_comp)
@@ -230,16 +231,15 @@
return ITEM_INTERACT_BLOCKING
// If insertion was successful and there's already a diskette in the console, eject the old one.
- if(inserted_board)
- inserted_board.forceMove(drop_location())
+ inserted_board?.forceMove(drop_location())
inserted_board = attacking_item
//compute the needed mats from its stock parts
- for(var/type in inserted_board.req_components)
+ for(var/required_component, required_amount in inserted_board.req_components)
//these don't count to the final cost as they have to inserted manually
- if(type in inserted_board.flatpack_components)
+ if(required_component in inserted_board.flatpack_components)
continue
- needed_mats = analyze_cost(type, needed_mats, inserted_board.req_components[type])
+ needed_mats = analyze_cost(required_component, needed_mats, required_amount)
// 5 sheets of iron and 5 of cable coil
CREATE_AND_INCREMENT(needed_mats, /datum/material/iron, (SHEET_MATERIAL_AMOUNT * 5 + (SHEET_MATERIAL_AMOUNT / 20)))
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index d098cabf4e8c..80d04d2df8a5 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -467,7 +467,7 @@ Possible to do for anyone motivated enough:
if(!LAZYLEN(holo_calls))
set_can_hear_flags(CAN_HEAR_ACTIVE_HOLOCALLS, FALSE)
- update_appearance(UPDATE_ICON_STATE)
+ update_appearance()
return TRUE
/**
@@ -537,7 +537,7 @@ Possible to do for anyone motivated enough:
if(ringing != are_ringing)
ringing = are_ringing
- update_appearance(UPDATE_ICON_STATE)
+ update_appearance()
/obj/machinery/holopad/proc/activate_holo(mob/living/user)
var/mob/living/silicon/ai/AI = user
@@ -556,7 +556,7 @@ Possible to do for anyone motivated enough:
hologram.icon = work_off.icon
hologram.icon_state = work_off.icon_state
hologram.copy_overlays(work_off, TRUE)
- hologram.makeHologram()
+ hologram.makeHologram(color_override = AI?.ai_holocolor)
if(AI)
AI.eyeobj.setLoc(get_turf(src)) //ensure the AI camera moves to the holopad
@@ -622,6 +622,23 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
icon_state = "[base_icon_state][(total_users || replay_mode) ? 1 : 0]"
return ..()
+/obj/machinery/holopad/update_overlays()
+ . = ..()
+
+ var/default_color = COLOR_AI_HOLOGRAM_BLUE
+ if(masters || replay_mode)
+ var/mutable_appearance/hololine_overlay = mutable_appearance(icon, "holopad1_mask")
+ for(var/mob/living/silicon/ai/AI as anything in masters)
+ if(istype(AI) && AI.ai_holocolor)
+ default_color = AI.ai_holocolor
+ break
+ hololine_overlay.color = default_color
+ . += hololine_overlay
+ . += emissive_appearance(icon, "holopad1_mask", src, alpha = src.alpha)
+ if(ringing)
+ . += mutable_appearance(icon, "holopad_ringing_mask")
+ . += emissive_appearance(icon, "holopad_ringing_mask", src, alpha = src.alpha)
+
/obj/machinery/holopad/proc/set_holo(datum/owner, obj/effect/overlay/holo_pad_hologram/h)
LAZYSET(masters, owner, h)
LAZYSET(holorays, owner, new /obj/effect/overlay/holoray(loc))
@@ -629,6 +646,9 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
var/mob/living/silicon/ai/AI = owner
if(istype(AI))
AI.current = src
+ if(AI.ai_holocolor)
+ var/obj/effect/overlay/holoray/ray = holorays[owner]
+ ray.color = AI.ai_holocolor
SetLightsAndPower()
update_holoray(owner, get_turf(loc))
return TRUE
@@ -955,9 +975,6 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
uid++
// Let's GLOW BROTHER! (Doing it like this is the most robust option compared to duped overlays)
glow = new(null, src)
- // We need to counteract the pixel offset to ensure we don't double offset (I hate byond)
- glow.pixel_x = 32
- glow.pixel_y = 32
add_overlay(glow)
LAZYADD(update_overlays_on_z, glow)
diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm
index 86e892b8adf5..f49ce62ab702 100644
--- a/code/game/machinery/limbgrower.dm
+++ b/code/game/machinery/limbgrower.dm
@@ -25,12 +25,11 @@
/// All the categories of organs we can print.
var/list/categories = list(SPECIES_HUMAN, SPECIES_LIZARD, SPECIES_MOTH, SPECIES_PLASMAMAN, SPECIES_ETHEREAL, RND_CATEGORY_LIMBS_OTHER, RND_CATEGORY_LIMBS_DIGITIGRADE)
///Designs imported from technology disks that we can print.
- var/list/imported_designs = list()
+ var/list/imported_designs
/obj/machinery/limbgrower/Initialize(mapload)
create_reagents(100, OPENCONTAINER)
- if(!GLOB.autounlock_techwebs[/datum/techweb/autounlocking/limbgrower])
- GLOB.autounlock_techwebs[/datum/techweb/autounlocking/limbgrower] = new /datum/techweb/autounlocking/limbgrower
+ GLOB.autounlock_techwebs[/datum/techweb/autounlocking/limbgrower] ||= new /datum/techweb/autounlocking/limbgrower()
stored_research = GLOB.autounlock_techwebs[/datum/techweb/autounlocking/limbgrower]
. = ..()
AddComponent(/datum/component/plumbing/simple_demand)
@@ -95,41 +94,41 @@
var/list/data = list()
data["categories"] = list()
- var/species_categories = categories.Copy()
+ var/list/species_categories = categories.Copy()
for(var/species in species_categories)
species_categories[species] = list()
var/list/available_nodes = stored_research.researched_designs.Copy()
- if(imported_designs.len)
+ if(LAZYLEN(imported_designs))
available_nodes |= imported_designs
if(obj_flags & EMAGGED)
available_nodes |= stored_research.hacked_designs
- for(var/design_id in available_nodes)
- var/datum/design/limb_design = SSresearch.techweb_design_by_id(design_id)
+ for(var/design_path in available_nodes)
+ var/datum/design/limb_design = SSresearch.techweb_designs[design_path]
for(var/found_category in species_categories)
if(found_category in limb_design.category)
species_categories[found_category] += limb_design
- for(var/category in species_categories)
+ for(var/category, category_designs in species_categories)
var/list/category_data = list(
- name = category,
- designs = list(),
+ "name" = category,
+ "designs" = list(),
)
- for(var/datum/design/found_design in species_categories[category])
+ for(var/datum/design/found_design in category_designs)
var/list/all_reagents = list()
- for(var/datum/reagent/reagent_id as anything in found_design.reagents_list)
- var/list/reagent_data = list(
- name = reagent_id::name,
- amount = (found_design.reagents_list[reagent_id] * production_coefficient),
- )
- all_reagents += list(reagent_data)
+ for(var/_reagent_path, reagent_amount in found_design.reagents_list)
+ var/datum/reagent/reagent_path = _reagent_path
+ all_reagents += list(list(
+ "name" = reagent_path::name,
+ "amount" = reagent_amount * production_coefficient,
+ ))
category_data["designs"] += list(list(
- parent_category = category,
- name = found_design.name,
- id = found_design.id,
- needed_reagents = all_reagents,
+ "parent_category" = category,
+ "name" = found_design.name,
+ "path" = found_design.type,
+ "needed_reagents" = all_reagents,
))
data["categories"] += list(category_data)
@@ -152,12 +151,13 @@
if(istype(tool, /obj/item/disk/design_disk/limbs))
user.visible_message(span_notice("[user] begins to load \the [tool] in \the [src]..."),
span_notice("You begin to load designs from \the [tool]..."),
- span_hear("You hear the clatter of a floppy drive."))
+ span_hear("You hear the clatter of a floppy drive."),
+ )
busy = TRUE
var/obj/item/disk/design_disk/limbs/limb_design_disk = tool
if(do_after(user, 2 SECONDS, target = src))
- for(var/datum/design/found_design in limb_design_disk.blueprints)
- imported_designs[found_design.id] = TRUE
+ for(var/found_design in limb_design_disk.blueprints)
+ LAZYSET(imported_designs, found_design, TRUE)
update_static_data(user)
busy = FALSE
return ITEM_INTERACT_SUCCESS
@@ -200,34 +200,33 @@
return
switch(action)
-
if("empty_reagent")
reagents.del_reagent(text2path(params["reagent_type"]))
- . = TRUE
+ return TRUE
if("make_limb")
- var/design_id = params["design_id"]
+ var/design_path = text2path(params["design_path"])
var/temp_category = params["active_tab"]
- if(!stored_research.researched_designs[design_id] && !stored_research.hacked_designs[design_id] && !imported_designs[design_id])
+ if(!stored_research.researched_designs[design_path] && !stored_research.hacked_designs[design_path] && !imported_designs?[design_path])
return
- if(!(obj_flags & EMAGGED) && stored_research.hacked_designs.Find(design_id))
+ if(!(obj_flags & EMAGGED) && stored_research.hacked_designs[design_path])
return
if(!(temp_category in categories))
return
- being_built = SSresearch.techweb_design_by_id(design_id)
+ being_built = SSresearch.techweb_designs[design_path]
// All the reagents we're using to make our organ.
- var/list/consumed_reagents_list = being_built.reagents_list.Copy()
+ var/list/consumed_reagents_list = LAZYCOPY(being_built.reagents_list)
/// The amount of power we're going to use, based on how much reagent we use.
var/power = 0
- for(var/reagent_id in consumed_reagents_list)
- consumed_reagents_list[reagent_id] *= production_coefficient
- if(!reagents.has_reagent(reagent_id, consumed_reagents_list[reagent_id]))
+ for(var/required_reagent, required_amount in consumed_reagents_list)
+ consumed_reagents_list[required_reagent] *= production_coefficient
+ if(!reagents.has_reagent(required_reagent, required_amount))
audible_message(span_notice("[src] buzzes."))
playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, FALSE)
return
- power = max(active_power_usage, (power + consumed_reagents_list[reagent_id]))
+ power = max(active_power_usage, (power + required_amount))
busy = TRUE
use_energy(power)
@@ -247,13 +246,13 @@
* modified_consumed_reagents_list - the list of reagents we will consume on build, modified by the production coefficient.
*/
/obj/machinery/limbgrower/proc/build_item(list/modified_consumed_reagents_list)
- for(var/reagent_id in modified_consumed_reagents_list)
- if(!reagents.has_reagent(reagent_id, modified_consumed_reagents_list[reagent_id]))
+ for(var/required_reagent, required_amount in modified_consumed_reagents_list)
+ if(!reagents.has_reagent(required_reagent, required_amount))
audible_message(span_notice("The [src] buzzes."))
playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, FALSE)
break
- reagents.remove_reagent(reagent_id, modified_consumed_reagents_list[reagent_id])
+ reagents.remove_reagent(required_reagent, required_amount)
var/built_typepath = being_built.build_path
if(ispath(built_typepath, /obj/item/bodypart))
@@ -277,8 +276,7 @@
/obj/machinery/limbgrower/proc/build_limb(buildpath)
/// The limb we're making with our buildpath, so we can edit it.
//i need to create a body part manually using a set icon (otherwise it doesn't appear)
- var/obj/item/bodypart/limb
- limb = new buildpath(loc)
+ var/obj/item/bodypart/limb = new buildpath(loc)
limb.name = "\improper synthetic [selected_category] [limb.plaintext_zone]"
limb.limb_id = selected_category
limb.species_color = "#62A262"
@@ -286,14 +284,10 @@
///Returns a valid limb typepath based on the selected option
/obj/machinery/limbgrower/proc/create_buildpath()
- var/part_type = being_built.id //their ids match bodypart typepaths
- var/species = selected_category
- var/path
- if(species == SPECIES_HUMAN) //Humans use the parent type.
- path = "/obj/item/bodypart/[part_type]"
+ if(selected_category == SPECIES_HUMAN) // Humans use the parent type
+ return being_built.build_path
else
- path = "/obj/item/bodypart/[part_type]/[species]"
- return text2path(path)
+ return text2path("[being_built.build_path]/[selected_category]")
/obj/machinery/limbgrower/RefreshParts()
. = ..()
@@ -331,8 +325,8 @@
* returns TRUE if we have enough reagent to build it. Returns FALSE if we do not.
*/
/obj/machinery/limbgrower/proc/can_build(datum/design/limb_design)
- for(var/datum/reagent/reagent_id in limb_design.reagents_list)
- if(!reagents.has_reagent(reagent_id, limb_design.reagents_list[reagent_id] * production_coefficient))
+ for(var/required_reagent, required_amount in limb_design.reagents_list)
+ if(!reagents.has_reagent(required_reagent, required_amount * production_coefficient))
return FALSE
return TRUE
@@ -342,7 +336,7 @@
/obj/machinery/limbgrower/fullupgrade/Initialize(mapload)
. = ..()
- for(var/id in SSresearch.techweb_designs)
- var/datum/design/found_design = SSresearch.techweb_design_by_id(id)
+ for(var/design_path, _design in SSresearch.techweb_designs)
+ var/datum/design/found_design = _design
if((found_design.build_type & LIMBGROWER) && !(RND_CATEGORY_HACKED in found_design.category))
- imported_designs[found_design.id] = TRUE
+ LAZYSET(imported_designs, design_path, TRUE)
diff --git a/code/game/machinery/porta_turret/turret_control.dm b/code/game/machinery/porta_turret/turret_control.dm
index f08f35d477c4..ae7767e2ee03 100644
--- a/code/game/machinery/porta_turret/turret_control.dm
+++ b/code/game/machinery/porta_turret/turret_control.dm
@@ -124,18 +124,26 @@
locked = FALSE
return TRUE
-/obj/machinery/turretid/attack_ai(mob/user)
- if(!ailock || isAdminGhostAI(user))
- return attack_hand(user)
- else
- to_chat(user, span_warning("There seems to be a firewall preventing you from accessing this device!"))
+/obj/machinery/turretid/proc/is_ai_locked(mob/user)
+ if(!issilicon(user))
+ return FALSE
+ if(ailock || user.has_status_effect(/datum/status_effect/firewalled))
+ return TRUE
+ return FALSE
/obj/machinery/turretid/ui_interact(mob/user, datum/tgui/ui)
+ if(is_ai_locked(user))
+ to_chat(user, span_warning("There seems to be a firewall preventing you from accessing this device!"))
+ return
+
ui = SStgui.try_update_ui(user, src, ui)
if(!ui)
ui = new(user, src, "TurretControl", name)
ui.open()
+/obj/machinery/turretid/ui_status(mob/user, datum/ui_state/state)
+ return is_ai_locked(user) ? UI_CLOSE : ..()
+
/obj/machinery/turretid/ui_data(mob/user)
var/list/data = list()
data["locked"] = locked
@@ -151,6 +159,8 @@
return
var/mob/user = ui.user
+ if(is_ai_locked(user))
+ return
switch(action)
if("lock")
diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm
index aba3524917eb..714f7420fa7c 100644
--- a/code/game/machinery/recharger.dm
+++ b/code/game/machinery/recharger.dm
@@ -155,6 +155,11 @@
if(charging_cell.charge >= charging_cell.maxcharge) //Inserted thing is at max charge/ammo, notify those around us
playsound(src, 'sound/machines/ping.ogg', 30, TRUE)
say("[charging] has finished recharging!")
+ // Modular computers (mainly PDAs) can remain on and drain their cell while charging.
+ // Unless we stop, the computer will constantly spam the finished recharging message.
+ if(istype(charging, /obj/item/modular_computer))
+ update_appearance()
+ return PROCESS_KILL
else
using_power = TRUE
update_appearance()
diff --git a/code/game/objects/effects/decals/cleanable/aliens.dm b/code/game/objects/effects/decals/cleanable/aliens.dm
index a489e1e3f024..9024c2adc560 100644
--- a/code/game/objects/effects/decals/cleanable/aliens.dm
+++ b/code/game/objects/effects/decals/cleanable/aliens.dm
@@ -7,14 +7,14 @@
color = /datum/blood_type/xeno::color // For mapper sanity
/obj/effect/decal/cleanable/blood/xeno/get_default_blood_type()
- return get_blood_type(BLOOD_TYPE_XENO)
+ return get_blood_type(/datum/blood_type/xeno)
/obj/effect/decal/cleanable/blood/splatter/xeno
name = "pool of acid"
color = /datum/blood_type/xeno::color // For mapper sanity
/obj/effect/decal/cleanable/blood/splatter/xeno/get_default_blood_type()
- return get_blood_type(BLOOD_TYPE_XENO)
+ return get_blood_type(/datum/blood_type/xeno)
/obj/effect/decal/cleanable/blood/gibs/xeno
name = "xeno gibs"
@@ -24,7 +24,7 @@
color = /datum/blood_type/xeno::color // For mapper sanity
/obj/effect/decal/cleanable/blood/gibs/xeno/get_default_blood_type()
- return get_blood_type(BLOOD_TYPE_XENO)
+ return get_blood_type(/datum/blood_type/xeno)
/obj/effect/decal/cleanable/blood/gibs/xeno/up
icon_state = "xgibup1"
@@ -62,4 +62,4 @@
color = /datum/blood_type/xeno::color // For mapper sanity
/obj/effect/decal/cleanable/blood/tracks/xeno/get_default_blood_type()
- return get_blood_type(BLOOD_TYPE_XENO)
+ return get_blood_type(/datum/blood_type/xeno)
diff --git a/code/game/objects/effects/decals/cleanable/blood.dm b/code/game/objects/effects/decals/cleanable/blood.dm
index f4514db7c4d5..7b191cc65943 100644
--- a/code/game/objects/effects/decals/cleanable/blood.dm
+++ b/code/game/objects/effects/decals/cleanable/blood.dm
@@ -141,7 +141,7 @@
for(var/reagent_type in reagents_to_add)
reagents.add_reagent(reagent_type = reagent_type,
amount = round(bloodiness * BLOOD_TO_UNITS_MULTIPLIER / num_reagents, CHEMICAL_VOLUME_ROUNDING),
- data = ispath(reagent_type, /datum/reagent/blood) ? list("blood_DNA" = pick(blood_DNA)) : null)
+ data = ispath(reagent_type, /datum/reagent/blood) ? list(BLOOD_DATA_DNA = pick(blood_DNA)) : null)
return reagents
/obj/effect/decal/cleanable/blood/replace_decal(obj/effect/decal/cleanable/blood/merger)
diff --git a/code/game/objects/effects/decals/cleanable/robots.dm b/code/game/objects/effects/decals/cleanable/robots.dm
index c3c6f9119ef9..8ae636ff485e 100644
--- a/code/game/objects/effects/decals/cleanable/robots.dm
+++ b/code/game/objects/effects/decals/cleanable/robots.dm
@@ -8,7 +8,7 @@
color = null
/obj/effect/decal/cleanable/blood/gibs/robot_debris/get_default_blood_type()
- return get_blood_type(BLOOD_TYPE_OIL)
+ return get_blood_type(/datum/blood_type/oil)
/obj/effect/decal/cleanable/blood/gibs/robot_debris/create_splatter()
if(prob(40))
@@ -45,7 +45,7 @@
color = /datum/blood_type/oil::color // For mapper sanity
/obj/effect/decal/cleanable/blood/oil/get_default_blood_type()
- return get_blood_type(BLOOD_TYPE_OIL)
+ return get_blood_type(/datum/blood_type/oil)
/obj/effect/decal/cleanable/blood/oil/slippery/Initialize(mapload, list/datum/disease/diseases, list/blood_or_dna)
. = ..()
@@ -56,4 +56,4 @@
color = /datum/blood_type/oil::color
/obj/effect/decal/cleanable/blood/splatter/oil/get_default_blood_type()
- return get_blood_type(BLOOD_TYPE_OIL)
+ return get_blood_type(/datum/blood_type/oil)
diff --git a/code/game/objects/effects/decals/turfdecal/weakpoint.dm b/code/game/objects/effects/decals/turfdecal/weakpoint.dm
index 5dcdf28183cc..d2500b689a0c 100644
--- a/code/game/objects/effects/decals/turfdecal/weakpoint.dm
+++ b/code/game/objects/effects/decals/turfdecal/weakpoint.dm
@@ -4,6 +4,8 @@
#define CRACK_DELAY_CHANCE 33
#define CRACK_LENGTH_DEFAULT 8
+GLOBAL_LIST_EMPTY(weakpoints_spawned)
+
/obj/effect/weakpoint
name = "weakpoint crack"
desc = "A suspicious crack runs along the ground."
@@ -12,7 +14,7 @@
base_icon_state = "weakpoint"
layer = ABOVE_NORMAL_TURF_LAYER
move_resist = INFINITY
- alpha = 0
+ alpha = 255
/// The required strength of explosion for a weakpoint to propogate
var/required_strength = EXPLODE_LIGHT
@@ -34,6 +36,8 @@
/obj/effect/weakpoint/Initialize(mapload)
. = ..()
+ GLOB.weakpoints_spawned += src
+ alpha = 0
AddElement(/datum/element/undertile, TRAIT_T_RAY_VISIBLE, INVISIBILITY_OBSERVER, use_anchor = TRUE)
RegisterSignal(src, COMSIG_TURF_CHANGE, PROC_REF(turf_changed))
register_context()
@@ -94,6 +98,10 @@
. += span_notice("\The [src] could be repaired with a welder.")
. += span_warning("A strong enough explosion will cause [src] to expand.")
+/obj/effect/weakpoint/Destroy(force)
+ GLOB.weakpoints_spawned -= src
+ return ..()
+
/**
* Generates a list of turfs from the start location meandering along a randomized set of turns.
* * start_location: The turf to begin the chain of turfs from.
diff --git a/code/game/objects/effects/mining_mob_respawner.dm b/code/game/objects/effects/mining_mob_respawner.dm
index fe98fd02df0a..5f9365f7d1f5 100644
--- a/code/game/objects/effects/mining_mob_respawner.dm
+++ b/code/game/objects/effects/mining_mob_respawner.dm
@@ -13,6 +13,8 @@
var/min_delay = 1 SECONDS
/// Max time from storm to spawn a mob
var/max_delay = 10 SECONDS
+ /// Chance to respawn a mob
+ var/respawn_chance = 30
/// Our currently spawned mob
var/datum/weakref/our_mob
/// Weighted list of things we can spawn
@@ -106,7 +108,9 @@
/obj/effect/mining_mob_respawner/proc/on_storm_event()
SIGNAL_HANDLER
var/mob/living/resolved = our_mob?.resolve()
- if (!resolved || resolved.stat == DEAD)
+ if (resolved && resolved.stat != DEAD)
+ return
+ if (prob(respawn_chance))
addtimer(CALLBACK(src, PROC_REF(make_mob)), rand(min_delay, max_delay), TIMER_DELETE_ME)
/// Play an awesome animation
diff --git a/code/game/objects/effects/spawners/random/_random.dm b/code/game/objects/effects/spawners/random/_random.dm
index 9614c4a17813..3d77f9c158bd 100644
--- a/code/game/objects/effects/spawners/random/_random.dm
+++ b/code/game/objects/effects/spawners/random/_random.dm
@@ -116,16 +116,25 @@
/obj/effect/spawner/random/proc/make_item(spawn_loc, type_path_to_make)
return new type_path_to_make(spawn_loc)
-///If the spawner has a spawn_scatter_radius set, this creates a list of nearby turfs available that are in view and have an unblocked line to them.
-/obj/effect/spawner/random/proc/get_spawn_locations(radius)
+/**
+ * If the spawner has a spawn_scatter_radius set, this creates a list of nearby turfs available that are in view and have an unblocked line to them.
+ *
+ * radius - The scatter radius to search within.
+ * ignore_groundless - If TRUE, allows spawning on groundless turfs like lava, water, or open space even if there isn't a turf below it.
+ **/
+/obj/effect/spawner/random/proc/get_spawn_locations(radius, ignore_groundless = FALSE)
var/list/scatter_locations = list()
if(!radius)
return scatter_locations
for(var/turf/turf_in_view in view(radius, get_turf(src)))
- if(isclosedturf(turf_in_view) || (isgroundlessturf(turf_in_view) && !GET_TURF_BELOW(turf_in_view)))
+ if(isclosedturf(turf_in_view))
continue
+
+ if(!ignore_groundless && isgroundlessturf(turf_in_view) && !GET_TURF_BELOW(turf_in_view))
+ continue
+
if(!has_unblocked_line(turf_in_view))
continue
diff --git a/code/game/objects/effects/spawners/random/biome_mobs.dm b/code/game/objects/effects/spawners/random/biome_mobs.dm
new file mode 100644
index 000000000000..d519e6090e15
--- /dev/null
+++ b/code/game/objects/effects/spawners/random/biome_mobs.dm
@@ -0,0 +1,237 @@
+/obj/effect/spawner/random/biome_mob
+ name = "random biome mob"
+ desc = "Spawns a random mob from a biome"
+ icon = 'icons/mob/simple/lavaland/lavaland_monsters.dmi'
+ icon_state = "large_egg"
+ spawn_scatter_radius = 1
+ spawn_loot_double = FALSE // no duplicates
+ loot = list()
+
+/obj/effect/spawner/random/biome_mob/make_item(spawn_loc, type_path_to_make)
+ var/mob/living/mob_to_spawn = ..()
+
+ // special behavior for mobs that spawn on the escape shuttle so they don't kill each other
+ if(isliving(mob_to_spawn) && istype(get_area(spawn_loc), /area/shuttle/escape))
+ mob_to_spawn.add_faction(FACTION_SHUTTLE)
+ REMOVE_TRAIT(mob_to_spawn, TRAIT_MOVE_FLYING, ELEMENT_TRAIT(/datum/element/simple_flying)) // no flying out of biome containment pens
+ mob_to_spawn.ai_controller.set_ai_status(AI_STATUS_OFF) // when shuttle moves z-level they will automatically wake up
+
+ return mob_to_spawn
+
+/obj/effect/spawner/random/biome_mob/get_spawn_locations(radius, ignore_groundless = FALSE)
+ if(istype(get_area(src), /area/shuttle/escape))
+ // escape shuttle mob spawners need to be able to spawn in water/lava for unique shuttles
+ return ..(radius, ignore_groundless=TRUE)
+ else
+ return ..(radius, ignore_groundless=FALSE)
+
+/obj/effect/spawner/random/biome_mob/grass
+ loot = list(
+ /mob/living/basic/cow,
+ /mob/living/basic/chick/permanent,
+ /mob/living/basic/chicken,
+ /mob/living/basic/goat,
+ /mob/living/basic/sheep,
+ /mob/living/basic/pony,
+ /mob/living/basic/rabbit,
+ /mob/living/basic/deer,
+ /mob/living/basic/goose,
+ /mob/living/basic/pig,
+ /mob/living/basic/stoat,
+ /mob/living/basic/pet/cat,
+ /mob/living/basic/pet/dog/corgi,
+ /mob/living/basic/pet/dog/pug,
+ /mob/living/basic/pet/dog/bullterrier,
+ /mob/living/basic/pet/fox,
+ )
+
+/obj/effect/spawner/random/biome_mob/fairy
+ loot = list(
+ /mob/living/basic/lightgeist,
+ /mob/living/basic/pet/gondola,
+ /mob/living/basic/butterfly,
+ /mob/living/basic/mushroom,
+ /mob/living/basic/seedling,
+ /mob/living/basic/garden_gnome,
+ /mob/living/basic/cow/moonicorn,
+ )
+
+/obj/effect/spawner/random/biome_mob/snow
+ loot = list(
+ /mob/living/basic/pet/penguin/baby/permanent,
+ /mob/living/basic/pet/penguin/emperor,
+ /mob/living/basic/pet/penguin/emperor/shamebrero,
+ /mob/living/basic/statue/frosty,
+ /mob/living/basic/bear/snow,
+ /mob/living/basic/mining/wolf,
+ /mob/living/basic/mining/lobstrosity/juvenile,
+ /mob/living/basic/mining/lobstrosity,
+ /mob/living/basic/mining/basilisk,
+ /mob/living/basic/mining/legion/snow,
+ /mob/living/basic/tree,
+ /mob/living/basic/festivus,
+ )
+
+/obj/effect/spawner/random/biome_mob/jungle
+ loot = list(
+ /mob/living/carbon/human/species/monkey,
+ /mob/living/basic/gorilla/lesser,
+ /mob/living/basic/sloth,
+ /mob/living/basic/lizard,
+ )
+
+/obj/effect/spawner/random/biome_mob/lavaland
+ loot = list(
+ /mob/living/basic/mining/bileworm,
+ /mob/living/basic/mining/brimdemon,
+ /mob/living/basic/mining/goldgrub,
+ /mob/living/basic/mining/goldgrub/baby,
+ /mob/living/basic/mining/goliath,
+ /mob/living/basic/mining/legion,
+ /mob/living/basic/mining/lobstrosity/lava,
+ /mob/living/basic/mining/lobstrosity/juvenile/lava,
+ /mob/living/basic/mining/watcher,
+ /mob/living/basic/mining/gutlunch,
+ /mob/living/basic/mining/gutlunch/milk,
+ /mob/living/basic/mining/hivelord,
+ )
+
+/obj/effect/spawner/random/biome_mob/beach
+ loot = list(
+ /mob/living/basic/parrot,
+ /mob/living/basic/crab,
+ /mob/living/basic/crab/kreb,
+ /mob/living/basic/turtle,
+ /mob/living/basic/carp/passive,
+ )
+
+/obj/effect/spawner/random/biome_mob/maint
+ loot = list(
+ /mob/living/basic/snake,
+ /mob/living/basic/spider/maintenance,
+ /mob/living/basic/regal_rat,
+ /mob/living/basic/mothroach,
+ /mob/living/basic/mouse,
+ /mob/living/basic/bat,
+ /mob/living/basic/ant,
+ /mob/living/basic/bear,
+ /mob/living/basic/snail,
+ /mob/living/basic/frog,
+ /mob/living/basic/cockroach,
+ /mob/living/basic/cockroach/bloodroach,
+ /mob/living/basic/axolotl,
+ )
+
+/obj/effect/spawner/random/biome_mob/hostile
+ loot = list(
+ /mob/living/basic/spider/giant/tangle,
+ /mob/living/basic/spider/giant/breacher,
+ /mob/living/basic/spider/giant/tank,
+ /mob/living/basic/spider/giant/ambush,
+ /mob/living/basic/flesh_spider,
+ /mob/living/basic/lizard/space,
+ /mob/living/basic/rabbit/easter,
+ /mob/living/basic/rabbit/easter/space,
+ /mob/living/basic/pet/cat/cak,
+ /mob/living/basic/pet/dog/breaddog,
+ /mob/living/basic/pet/dog/corgi/exoticcorgi,
+ /mob/living/basic/pet/dog/corgi/narsie,
+ /mob/living/basic/frog/rare,
+ /mob/living/basic/crab/evil,
+ /mob/living/basic/crab/evil/kreb,
+ /mob/living/basic/bear/butter,
+ /mob/living/basic/stickman,
+ /mob/living/basic/stickman/dog,
+ /mob/living/basic/stickman/ranged,
+ /mob/living/basic/living_limb_flesh,
+ /mob/living/basic/headslug,
+ /mob/living/basic/killer_tomato,
+ /mob/living/basic/mining/mook,
+ /mob/living/basic/bear/russian,
+ /mob/living/basic/wumborian_fugu,
+ /mob/living/basic/venus_human_trap,
+ /mob/living/basic/statue,
+ /mob/living/basic/statue/mannequin,
+ /mob/living/basic/slime/random,
+ /mob/living/basic/shade,
+ /mob/living/basic/ghost,
+ /mob/living/basic/ghost/swarm,
+ /mob/living/basic/pony/dangerous,
+ /mob/living/basic/mimic/crate,
+ /mob/living/basic/roro,
+ /mob/living/basic/seedling/meanie,
+ /mob/living/basic/migo,
+ /mob/living/basic/migo/hatsune,
+ /mob/living/basic/headslug,
+ /mob/living/basic/fleshblob,
+ /mob/living/basic/faithless,
+ /mob/living/basic/eyeball,
+ /mob/living/basic/creature,
+ /mob/living/basic/cockroach/glockroach,
+ /mob/living/basic/cockroach/glockroach/mobroach,
+ /mob/living/basic/cockroach/hauberoach,
+ /mob/living/basic/blob_minion/spore/independent,
+ /mob/living/basic/blob_minion/blobbernaut/independent,
+ /mob/living/basic/blankbody,
+ /mob/living/basic/alien/queen,
+ /mob/living/basic/alien/maid,
+ /mob/living/basic/alien/drone,
+ /mob/living/basic/alien/sentinel,
+ /mob/living/basic/alien,
+ )
+
+/obj/effect/spawner/random/biome_mob/clown
+ spawn_loot_count = 3
+ loot = list(
+ /mob/living/basic/clown/fleshclown,
+ /mob/living/basic/clown/clownhulk,
+ /mob/living/basic/clown/longface,
+ /mob/living/basic/clown/clownhulk/chlown,
+ /mob/living/basic/clown/clownhulk/honkmunculus,
+ /mob/living/basic/clown/mutant/glutton,
+ /mob/living/basic/clown/banana,
+ /mob/living/basic/clown/honkling,
+ /mob/living/basic/clown/lube,
+ )
+
+// we need to make special escape shuttle subtypes that use global lists to avoid duplicates
+
+GLOBAL_LIST_INIT(mob_spawner_biome_grass, /obj/effect/spawner/random/biome_mob/grass::loot.Copy())
+/obj/effect/spawner/random/biome_mob/grass/shuttle_only/Initialize(mapload)
+ loot = GLOB.mob_spawner_biome_grass
+ return ..()
+
+GLOBAL_LIST_INIT(mob_spawner_biome_fairy, /obj/effect/spawner/random/biome_mob/fairy::loot.Copy())
+/obj/effect/spawner/random/biome_mob/fairy/shuttle_only/Initialize(mapload)
+ loot = GLOB.mob_spawner_biome_fairy
+ return ..()
+
+GLOBAL_LIST_INIT(mob_spawner_biome_jungle, /obj/effect/spawner/random/biome_mob/jungle::loot.Copy())
+/obj/effect/spawner/random/biome_mob/jungle/shuttle_only/Initialize(mapload)
+ loot = GLOB.mob_spawner_biome_jungle
+ return ..()
+
+GLOBAL_LIST_INIT(mob_spawner_biome_snow, /obj/effect/spawner/random/biome_mob/snow::loot.Copy())
+/obj/effect/spawner/random/biome_mob/snow/shuttle_only/Initialize(mapload)
+ loot = GLOB.mob_spawner_biome_snow
+ return ..()
+
+GLOBAL_LIST_INIT(mob_spawner_biome_lavaland, /obj/effect/spawner/random/biome_mob/lavaland::loot.Copy())
+/obj/effect/spawner/random/biome_mob/lavaland/shuttle_only/Initialize(mapload)
+ loot = GLOB.mob_spawner_biome_lavaland
+ return ..()
+
+GLOBAL_LIST_INIT(mob_spawner_biome_beach, /obj/effect/spawner/random/biome_mob/beach::loot.Copy())
+/obj/effect/spawner/random/biome_mob/beach/shuttle_only/Initialize(mapload)
+ loot = GLOB.mob_spawner_biome_beach
+ return ..()
+
+GLOBAL_LIST_INIT(mob_spawner_biome_maint, /obj/effect/spawner/random/biome_mob/maint::loot.Copy())
+/obj/effect/spawner/random/biome_mob/maint/shuttle_only/Initialize(mapload)
+ loot = GLOB.mob_spawner_biome_maint
+ return ..()
+
+GLOBAL_LIST_INIT(mob_spawner_biome_hostile, /obj/effect/spawner/random/biome_mob/hostile::loot.Copy())
+/obj/effect/spawner/random/biome_mob/hostile/shuttle_only/Initialize(mapload)
+ loot = GLOB.mob_spawner_biome_hostile
+ return ..()
diff --git a/code/game/objects/effects/spawners/random/exotic.dm b/code/game/objects/effects/spawners/random/exotic.dm
index 0bd10ef55930..c2e6e7a90c3a 100644
--- a/code/game/objects/effects/spawners/random/exotic.dm
+++ b/code/game/objects/effects/spawners/random/exotic.dm
@@ -118,7 +118,7 @@
)
/obj/item/mod/module/energy_shield/prototype
- name = "MOD prototype energy shield"
+ name = "\improper MOD prototype energy shield"
desc = "An early prototype of energy shield adapted for use inside of a MOD, the energy shield before this saw \
extensive use in now defunct construction, combat, and mining exosuits with exosuits being something between a \
modsuit and a mech with most still functioning exosuits either being in a museaum or a military parade"
diff --git a/code/game/objects/effects/spawners/structure.dm b/code/game/objects/effects/spawners/structure.dm
index 71376f6e73a0..f021ae223c63 100644
--- a/code/game/objects/effects/spawners/structure.dm
+++ b/code/game/objects/effects/spawners/structure.dm
@@ -158,6 +158,12 @@ again.
icon_state = "bronzewindow_spawner"
spawn_list = list(/obj/structure/grille, /obj/structure/window/bronze/fulltile)
+//bronze
+
+/obj/effect/spawner/structure/window/cult
+ name = "cult window spawner"
+ icon_state = "cultwindow_spawner"
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/cult/fulltile)
//shuttle window
@@ -171,6 +177,60 @@ again.
icon_state = "swindow_spawner"
spawn_list = list(/obj/structure/grille/indestructible, /obj/structure/window/reinforced/shuttle/indestructible)
+/obj/effect/spawner/structure/window/hollow/titanium
+ name = "hollow titanium window spawner"
+ icon_state = "titaniumwindow_spawner_full"
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/titanium, /obj/structure/window/reinforced/titanium/spawner/directional/north, /obj/structure/window/reinforced/titanium/spawner/directional/east, /obj/structure/window/reinforced/titanium/spawner/directional/west)
+
+/obj/effect/spawner/structure/window/hollow/titanium/end
+ icon_state = "titaniumwindow_spawner_end"
+
+/obj/effect/spawner/structure/window/hollow/titanium/end/Initialize(mapload)
+ switch(dir)
+ if(NORTH)
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/titanium/spawner/directional/north, /obj/structure/window/reinforced/titanium/spawner/directional/east, /obj/structure/window/reinforced/titanium/spawner/directional/west)
+ if(EAST)
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/titanium, /obj/structure/window/reinforced/titanium/spawner/directional/north, /obj/structure/window/reinforced/titanium/spawner/directional/east)
+ if(SOUTH)
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/titanium, /obj/structure/window/reinforced/titanium/spawner/directional/east, /obj/structure/window/reinforced/titanium/spawner/directional/west)
+ if(WEST)
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/titanium, /obj/structure/window/reinforced/titanium/spawner/directional/north, /obj/structure/window/reinforced/titanium/spawner/directional/west)
+ return ..()
+
+/obj/effect/spawner/structure/window/hollow/titanium/middle
+ icon_state = "titaniumwindow_spawner_middle"
+
+/obj/effect/spawner/structure/window/hollow/titanium/middle/Initialize(mapload)
+ switch(dir)
+ if(NORTH,SOUTH)
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/titanium, /obj/structure/window/reinforced/titanium/spawner/directional/north)
+ if(EAST,WEST)
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/titanium/spawner/directional/east, /obj/structure/window/reinforced/titanium/spawner/directional/west)
+ return ..()
+
+/obj/effect/spawner/structure/window/hollow/titanium/directional
+ icon_state = "titaniumwindow_spawner_directional"
+
+/obj/effect/spawner/structure/window/hollow/titanium/directional/Initialize(mapload)
+ switch(dir)
+ if(NORTH)
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/titanium/spawner/directional/north)
+ if(NORTHEAST)
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/titanium/spawner/directional/north, /obj/structure/window/reinforced/titanium/spawner/directional/east)
+ if(EAST)
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/titanium/spawner/directional/east)
+ if(SOUTHEAST)
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/titanium, /obj/structure/window/reinforced/titanium/spawner/directional/east)
+ if(SOUTH)
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/titanium)
+ if(SOUTHWEST)
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/titanium, /obj/structure/window/reinforced/titanium/spawner/directional/west)
+ if(WEST)
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/titanium/spawner/directional/west)
+ if(NORTHWEST)
+ spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/titanium/spawner/directional/north, /obj/structure/window/reinforced/titanium/spawner/directional/west)
+ return ..()
+
//plastitanium window
/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index a5b438a48e55..04ddd8566e60 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -457,21 +457,19 @@ GAME_VERB_SRC(/obj/item, move_to_top, oview(1), "Move To Top", null)
. += research_scan(user)
/obj/item/proc/research_scan(mob/user)
- /// Research prospects, including boostable nodes and point values. Deliver to a console to know whether the boosts have already been used.
+ // Research prospects, including boostable nodes and point values. Deliver to a console to know whether the boosts have already been used.
var/list/research_msg = list("Research prospects: ")
- ///Separator between the items on the list
+ // Separator between the items on the list
var/sep = ""
- ///Nodes that can be boosted
- var/list/boostable_nodes = techweb_item_unlock_check(src)
- if (boostable_nodes)
- for(var/id in boostable_nodes)
- var/datum/techweb_node/node = SSresearch.techweb_node_by_id(id)
- if(!node)
- continue
+ // Nodes that can be boosted
+ var/list/boostable_nodes = SSresearch.techweb_unlock_items[type]
+ if(length(boostable_nodes))
+ for(var/boost_path in boostable_nodes)
+ var/datum/techweb_node/node = SSresearch.techweb_nodes[boost_path]
research_msg += sep
research_msg += node.display_name
sep = ", "
- var/list/points = techweb_item_point_check(src)
+ var/list/points = SSresearch.techweb_point_items[type]
if (length(points))
sep = ", "
research_msg += techweb_point_display_generic(points)
diff --git a/code/game/objects/items/AI_modules/_AI_modules.dm b/code/game/objects/items/AI_modules/_AI_modules.dm
index 58b7e17648e1..4a610bb589f0 100644
--- a/code/game/objects/items/AI_modules/_AI_modules.dm
+++ b/code/game/objects/items/AI_modules/_AI_modules.dm
@@ -60,6 +60,7 @@
/obj/item/ai_module/law
desc = "An AI Module for programming laws to an AI."
/// This is where our laws get put at for the module
+ /// Assoc list, key = law text, value = is this an ion law
var/list/laws = list()
/// The laws list last time save_laws() was called
VAR_PRIVATE/list/saved_laws
@@ -71,22 +72,20 @@
/obj/item/ai_module/law/Initialize(mapload)
. = ..()
- if(mapload && HAS_TRAIT(SSstation, STATION_TRAIT_UNIQUE_AI) && is_station_level(z))
- var/delete_module = handle_unique_ai()
- if(delete_module)
- return INITIALIZE_HINT_QDEL
+ if(mapload && HAS_TRAIT(SSstation, STATION_TRAIT_UNIQUE_AI) && is_station_level(z) && handle_unique_ai() == SHOULD_QDEL_MODULE)
+ return INITIALIZE_HINT_QDEL
/// Logs the installation of this module to the law change log and silicon log.
/obj/item/ai_module/law/log_install(mob/living/user, obj/machinery/ai_law_rack/rack)
. = ..()
- for(var/law in laws)
- log_law_change(user, "added law to [rack] ([rack.log_status()], text: [law])")
+ for(var/law, is_ioned in laws)
+ log_law_change(user, "added law to [rack] ([rack.log_status()], text: [law], ioned: [is_ioned])")
/// Logs the uninstallation of this module to the law change log and silicon log.
/obj/item/ai_module/law/log_uninstall(mob/living/user, obj/machinery/ai_law_rack/rack)
. = ..()
- for(var/law in laws)
- log_law_change(user, "removed law from [rack] ([rack.log_status()], text: [law])")
+ for(var/law, is_ioned in laws)
+ log_law_change(user, "removed law from [rack] ([rack.log_status()], text: [law], ioned: [is_ioned])")
/obj/item/ai_module/law/examine(mob/user)
. = ..()
@@ -121,15 +120,15 @@
/// Adds a law to the module and updates any racks we're installed in.
/obj/item/ai_module/law/proc/add_law(law_text)
- laws += law_text
+ laws[law_text] = FALSE
update_rack_laws()
/// Adds a law to the module at a specific index and updates any racks we're installed in.
/obj/item/ai_module/law/proc/add_law_to_index(law_text, index)
- if(length(laws) <= index)
- laws += law_text
- else
+ if(isnum(index) && index <= length(laws))
+ laws -= law_text
laws.Insert(index, law_text)
+ laws[law_text] = FALSE
update_rack_laws()
/// Update any racks we're installed in
@@ -204,8 +203,8 @@
custom_materials = list(/datum/material/diamond = SHEET_MATERIAL_AMOUNT, /datum/material/glass = HALF_SHEET_MATERIAL_AMOUNT, /datum/material/bluespace = HALF_SHEET_MATERIAL_AMOUNT)
/obj/item/ai_module/law/core/apply_to_combined_lawset(datum/ai_laws/combined_lawset)
- for(var/law in laws)
- combined_lawset.add_inherent_law(law)
+ for(var/law_text, is_ioned in laws)
+ combined_lawset.add_inherent_law(law_text, ioned = is_ioned)
/obj/item/ai_module/law/core/pre_user_uninstall_from_rack(mob/living/user, obj/machinery/ai_law_rack/rack)
var/obj/machinery/ai_law_rack/base/parent_rack = rack.get_parent_rack()
@@ -214,9 +213,8 @@
for(var/mob/living/bot in assoc_to_values(parent_rack.linked_mobs))
// removing core laws temporarily stuns the silicon to let people swap cores without immediately getting blasted
- if(bot.AmountStun() > 5 SECONDS || parent_rack.is_rack_stun_immune(bot))
+ if(!parent_rack.rack_stun(bot))
continue
- bot.Stun(10 SECONDS, ignore_canstun = TRUE)
to_chat(bot, span_userdanger("Core module removed. Recalculating directives..."))
/obj/item/ai_module/law/core/full
diff --git a/code/game/objects/items/AI_modules/ion.dm b/code/game/objects/items/AI_modules/ion.dm
index 09f71094e671..d5129848cbf7 100644
--- a/code/game/objects/items/AI_modules/ion.dm
+++ b/code/game/objects/items/AI_modules/ion.dm
@@ -14,9 +14,8 @@ CONTAINS:
/obj/item/ai_module/law/core/full/damaged/proc/gen_laws()
laws.Cut()
- laws += generate_ion_law()
- while(prob(75))
- laws += generate_ion_law()
+ while(!length(laws) && prob(75))
+ laws[generate_ion_law()] = TRUE
/obj/item/ai_module/law/core/full/damaged/on_rack_install(obj/machinery/ai_law_rack/rack)
gen_laws()
@@ -39,11 +38,12 @@ CONTAINS:
laws = list("")
/obj/item/ai_module/law/toy_ai/apply_to_combined_lawset(datum/ai_laws/combined_lawset)
- combined_lawset.add_inherent_law(laws[1], 1)
+ combined_lawset.add_inherent_law(laws[1], 1, ioned = TRUE)
/obj/item/ai_module/law/toy_ai/configure(mob/user)
. = TRUE
- laws[1] = generate_ion_law()
+ laws.Cut()
+ laws[generate_ion_law()] = TRUE
to_chat(user, span_notice("You press the button on [src]."))
playsound(user, 'sound/machines/click.ogg', 20, TRUE)
src.loc.visible_message(span_warning("[icon2html(src, viewers(loc))] [laws[1]]"))
diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm
index 575269af3361..09b5b41937f3 100644
--- a/code/game/objects/items/circuitboards/computer_circuitboards.dm
+++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm
@@ -391,20 +391,29 @@
/obj/item/circuitboard/computer/tram_controls
name = "Tram Controls"
build_path = /obj/machinery/computer/tram_controls
- var/split_mode = FALSE
-
-/obj/item/circuitboard/computer/tram_controls/split
- split_mode = TRUE
+ var/install_type = NORMAL_WINDOW
+ var/specific_transport_id = TRAMSTATION_LINE_1
/obj/item/circuitboard/computer/tram_controls/examine(mob/user)
. = ..()
- . += span_info("The board is configured for [split_mode ? "split window" : "normal window"].")
- . += span_notice("The board mode can be changed with a [EXAMINE_HINT("multitool")].")
+ . += span_info("The board is configured for tram ID [specific_transport_id] and a [install_type] installation.")
+ . += span_notice("The tram ID can be changed with a [EXAMINE_HINT("multitool")]. The installation mode can be changed with a [EXAMINE_HINT("screwdriver")].")
+
+/obj/item/circuitboard/computer/tram_controls/screwdriver_act(mob/living/user)
+ var/selected_install_type = tgui_input_list(user, "Window mounted or standalone?", "Off the rails", list(NORMAL_WINDOW, SPLIT_WINDOW, STANDALONE))
+ if(isnull(selected_install_type))
+ return NONE
+ install_type = selected_install_type
+ to_chat(user, span_notice("[src] is now aligned in installation mode [install_type]."))
+ return ITEM_INTERACT_SUCCESS
/obj/item/circuitboard/computer/tram_controls/multitool_act(mob/living/user)
- split_mode = !split_mode
- to_chat(user, span_notice("[src] positioning set to [split_mode ? "split window" : "normal window"]."))
- return TRUE
+ var/selected_transport_id = tgui_input_list(user, "Which tram?", "Off the rails", SStransport.debug_tram_list)
+ if(isnull(selected_transport_id))
+ return NONE
+ specific_transport_id = selected_transport_id
+ to_chat(user, span_notice("[src] is now programmed to control [specific_transport_id]."))
+ return ITEM_INTERACT_SUCCESS
/obj/item/circuitboard/computer/terminal
name = "Terminal"
diff --git a/code/game/objects/items/debug_items.dm b/code/game/objects/items/debug_items.dm
index a382733560d7..db8cd4ac9439 100644
--- a/code/game/objects/items/debug_items.dm
+++ b/code/game/objects/items/debug_items.dm
@@ -26,7 +26,9 @@
return NONE
/obj/item/debug/human_spawner/attack_self(mob/user)
- ..()
+ . = ..()
+ if(!user.client)
+ return
var/choice = input("Select a species", "Human Spawner", null) in sortTim(GLOB.species_list, GLOBAL_PROC_REF(cmp_text_asc))
selected_species = GLOB.species_list[choice]
diff --git a/code/game/objects/items/devices/earthcracker.dm b/code/game/objects/items/devices/earthcracker.dm
index 9ec9b87ec907..cae7b21977e6 100644
--- a/code/game/objects/items/devices/earthcracker.dm
+++ b/code/game/objects/items/devices/earthcracker.dm
@@ -46,9 +46,9 @@
return FALSE
flick("[base_icon_state]-active", src)
if(is_mining_level(z))
- activation_timer = addtimer(CALLBACK(src, PROC_REF(mining_act), user), 1.2 SECONDS)
+ activation_timer = addtimer(CALLBACK(src, PROC_REF(mining_act), user), 0.8 SECONDS)
return TRUE
- activation_timer = addtimer(CALLBACK(src, PROC_REF(strike_the_earth)), 1.2 SECONDS)
+ activation_timer = addtimer(CALLBACK(src, PROC_REF(strike_the_earth)), 0.8 SECONDS)
return TRUE
if(EARTHCRACKER_SPENT)
balloon_alert(user, "used up!")
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index ac4f158ecedb..ef78cf68443a 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -87,7 +87,7 @@ GLOBAL_LIST_INIT(channel_tokens, list(
/obj/item/radio/headset/Initialize(mapload)
. = ..()
if(ispath(keyslot2))
- keyslot2 = new keyslot2()
+ keyslot2 = new keyslot2(src)
set_listening(TRUE)
set_broadcasting(TRUE)
recalculateChannels()
diff --git a/code/game/objects/items/devices/scanners/autopsy_scanner.dm b/code/game/objects/items/devices/scanners/autopsy_scanner.dm
index 7d202dc346bf..50a2d370eb34 100644
--- a/code/game/objects/items/devices/scanners/autopsy_scanner.dm
+++ b/code/game/objects/items/devices/scanners/autopsy_scanner.dm
@@ -193,6 +193,8 @@
autopsy_information += "Desiccation, commonly caused by Changelings."
else if(HAS_TRAIT_FROM(scanned, TRAIT_HUSK, SKELETON_TRAIT))
autopsy_information += "Stripped flesh."
+ else if(HAS_TRAIT_FROM(scanned, TRAIT_HUSK, /datum/status_effect/zombie::id))
+ autopsy_information += "Zombification."
else if(!HAS_TRAIT_FROM(scanned, TRAIT_HUSK, BURN)) // prioritize showing unknown causes over burns
autopsy_information += "Unknown causes."
else
diff --git a/code/game/objects/items/devices/scanners/health_analyzer.dm b/code/game/objects/items/devices/scanners/health_analyzer.dm
index 1bc9bc02d0df..9805a9545d59 100644
--- a/code/game/objects/items/devices/scanners/health_analyzer.dm
+++ b/code/game/objects/items/devices/scanners/health_analyzer.dm
@@ -182,6 +182,9 @@
render_list += "Subject has been husked by [conditional_tooltip("desiccation", "Irreparable. Under normal circumstances, revival can only proceed via brain transplant.", tochat)].
"
else if(HAS_TRAIT_FROM(target, TRAIT_HUSK, SKELETON_TRAIT))
render_list += "Subject has been husked due to severe flesh loss.
"
+ else if(HAS_TRAIT_FROM(target, TRAIT_HUSK, /datum/status_effect/zombie::id))
+ render_list += "Subject has been husked by [conditional_tooltip("zombification", \
+ "Surgically remove the source of the infection, typically located in the head. If no source is found, it is otherwise irreparable.", tochat)].
"
else if(!HAS_TRAIT_FROM(target, TRAIT_HUSK, BURN)) // prioritize showing unknown causes over burns
render_list += "Subject has been husked by mysterious causes.
"
else
diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm
index bf91d8a0fe59..4d0408b99143 100644
--- a/code/game/objects/items/devices/traitordevices.dm
+++ b/code/game/objects/items/devices/traitordevices.dm
@@ -270,8 +270,7 @@ effective or pretty fucking useless.
return
var/turf/our_turf = get_turf(owner)
- var/lumcount = our_turf?.get_lumcount() || 0
- if(lumcount > 0.3)
+ if(our_turf?.check_lumcount_above(0.3))
// Decay charge while invisible+ in the light
charge = max(0, charge - (max_charge * 0.05) * seconds_per_tick)
build_all_button_icons(UPDATE_BUTTON_STATUS)
diff --git a/code/game/objects/items/grenades/syndieminibomb.dm b/code/game/objects/items/grenades/syndieminibomb.dm
index 02fb27777bcd..4ad4f6f48633 100644
--- a/code/game/objects/items/grenades/syndieminibomb.dm
+++ b/code/game/objects/items/grenades/syndieminibomb.dm
@@ -69,7 +69,7 @@
update_mob()
playsound(loc, 'sound/effects/empulse.ogg', 50, TRUE)
- radiation_pulse(src, max_range = rad_range, threshold = rad_threshold, chance = 100)
+ radiation_pulse(get_turf(src), max_range = rad_range, threshold = rad_threshold, chance = 100) // Activate on the turf, because we'll be gone before SSradiation fires
for (var/turf/open/floor/floor in view(freeze_range, loc))
floor.MakeSlippery(TURF_WET_PERMAFROST, 6 MINUTES)
for(var/mob/living/carbon/victim in floor)
diff --git a/code/game/objects/items/pillow.dm b/code/game/objects/items/pillow.dm
index 789c5c1fbb63..a54bba758dbb 100644
--- a/code/game/objects/items/pillow.dm
+++ b/code/game/objects/items/pillow.dm
@@ -34,6 +34,7 @@
force_wielded = 10, \
)
AddElement(/datum/element/disarm_attack)
+ RegisterSignal(src, COMSIG_ITEM_CAN_DISARM_ATTACK, PROC_REF(can_disarm_attack))
var/static/list/slapcraft_recipe_list = list(\
/datum/crafting_recipe/pillow_suit, /datum/crafting_recipe/pillow_hood,\
@@ -48,6 +49,14 @@
. = ..()
QDEL_NULL(pillow_trophy)
+/obj/item/pillow/proc/can_smother(mob/living/victim, mob/living/user)
+ return (victim.body_position == LYING_DOWN || (user.grab_state >= GRAB_AGGRESSIVE && user.pulling == victim))
+
+/obj/item/pillow/proc/can_disarm_attack(datum/source, mob/living/victim, mob/living/user, message)
+ SIGNAL_HANDLER
+ if(can_smother(victim, user))
+ return COMPONENT_BLOCK_ITEM_DISARM_ATTACK
+
/obj/item/pillow/attack(mob/living/carbon/target_mob, mob/living/user, list/modifiers, list/attack_modifiers)
. = ..()
if(!iscarbon(target_mob))
@@ -60,7 +69,7 @@
last_fighter = user
playsound(user, hit_sound, 80) //the basic 50 vol is barely audible
-/obj/item/pillow/attack_secondary(mob/living/carbon/victim, mob/living/user, params)
+/obj/item/pillow/attack_secondary(mob/living/carbon/victim, mob/living/user, list/modifiers, list/attack_modifiers)
. = ..()
if(!istype(victim))
return
@@ -68,10 +77,11 @@
return
if(HAS_TRAIT(user, TRAIT_PACIFISM))
to_chat(user, span_notice("You can't bring yourself to harm [victim]"))
- return
- if((victim.body_position == LYING_DOWN) || ((user.grab_state >= GRAB_AGGRESSIVE) && (user.pulling == victim)))
- user.visible_message("[user] starts to smother [victim]", span_notice("You begin smothering [victim]"), vision_distance = COMBAT_MESSAGE_RANGE)
+ return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
+ if(can_smother(victim, user))
+ user.visible_message("[user] starts to smother [victim]!", span_notice("You begin smothering [victim]!"), vision_distance = COMBAT_MESSAGE_RANGE)
INVOKE_ASYNC(src, PROC_REF(smothering), user, victim)
+ return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
/obj/item/pillow/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
if(!bricked && istype(tool, /obj/item/stack/sheet/mineral/sandstone))
@@ -147,7 +157,7 @@
/// Smothers the victim while the do_after succeeds and the victim is laying down or being strangled
/obj/item/pillow/proc/smothering(mob/living/carbon/user, mob/living/carbon/victim)
while(victim)
- if((victim.body_position != LYING_DOWN) && ((user.grab_state < GRAB_AGGRESSIVE) || (user.pulling != victim)))
+ if(!can_smother(victim, user))
break
if(!do_after(user, 1 SECONDS, victim))
break
diff --git a/code/game/objects/items/rcd/RDD.dm b/code/game/objects/items/rcd/RDD.dm
index 65d4083d670c..67f62027aed9 100644
--- a/code/game/objects/items/rcd/RDD.dm
+++ b/code/game/objects/items/rcd/RDD.dm
@@ -149,6 +149,18 @@ GLOBAL_LIST_INIT(rdd_designs, list(
list("name" = "Large Plastic Rocks (Alt)", "path" = /obj/structure/decoration/rock/pile/jungle/large/second),
list("name" = "Large Plastic Rocks (Alt 2)", "path" = /obj/structure/decoration/rock/pile/jungle/large/third),
list("name" = "Large Plastic Rocks (Random)", "path" = /obj/structure/decoration/rock/pile/jungle/large/style_random),
+ list("name" = "Plastic Volcano Pore", "path" = /obj/structure/decoration/rock/volcano/first),
+ list("name" = "Plastic Volcano Pore (Alt)", "path" = /obj/structure/decoration/rock/volcano/second),
+ list("name" = "Plastic Volcano Pore (Alt2)", "path" = /obj/structure/decoration/rock/volcano/third),
+ list("name" = "Plastic Volcano Pore (Alt3)", "path" = /obj/structure/decoration/rock/volcano/fourth),
+ list("name" = "Plastic Volcano Pore (Alt4)", "path" = /obj/structure/decoration/rock/volcano/fifth),
+ list("name" = "Plastic Volcano Pore (Random)", "path" = /obj/structure/decoration/rock/volcano/style_random/),
+ ),
+ "Misc" = list(
+ list("name" = "Plastic Glowgrowth Colony", "path" = /obj/structure/decoration/misc/glowgrowth/first),
+ list("name" = "Plastic Glowgrowth Colony (Alt)", "path" = /obj/structure/decoration/misc/glowgrowth/second),
+ list("name" = "Plastic Glowgrowth Colony (Alt2)", "path" = /obj/structure/decoration/misc/glowgrowth/third),
+ list("name" = "Plastic Glowgrowth Colony (Random)", "path" = /obj/structure/decoration/misc/glowgrowth/style_random),
),
))
diff --git a/code/game/objects/items/secret_documents.dm b/code/game/objects/items/secret_documents.dm
index e893e126235e..8528d639e625 100644
--- a/code/game/objects/items/secret_documents.dm
+++ b/code/game/objects/items/secret_documents.dm
@@ -20,6 +20,9 @@
layer = MOB_LAYER
pressure_resistance = 2
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
+ // Could use a more specific sound since it's a lot of paper (ditto with `/paperwork`).
+ drop_sound = 'sound/items/handling/paper_drop.ogg'
+ pickup_sound = 'sound/items/handling/paper_pickup.ogg'
///Nanotrasen documents
/obj/item/documents/nanotrasen
diff --git a/code/game/objects/items/stacks/golem_food/golem_food_buff.dm b/code/game/objects/items/stacks/golem_food/golem_food_buff.dm
index d1ebb858ddbf..a8131c01cda8 100644
--- a/code/game/objects/items/stacks/golem_food/golem_food_buff.dm
+++ b/code/game/objects/items/stacks/golem_food/golem_food_buff.dm
@@ -50,34 +50,42 @@
/datum/golem_food_buff/uranium
status_effect = /datum/status_effect/golem/uranium
+ nutrition = 5
added_info = "If consumed this mineral will power you in place of food, pausing your digestion for five minutes."
/datum/golem_food_buff/silver
status_effect = /datum/status_effect/golem/silver
+ nutrition = 4
added_info = "If consumed this mineral will repel the supernatural, affording you resistance to mystical effects."
/datum/golem_food_buff/plasma
status_effect = /datum/status_effect/golem/plasma
+ nutrition = 6
added_info = "If consumed this mineral will allow you to absorb heat and convert it into power."
/datum/golem_food_buff/plasteel
status_effect = /datum/status_effect/golem/plasteel
+ nutrition = 7
added_info = "If consumed this mineral will harden you against the hazards of space."
/datum/golem_food_buff/gold
status_effect = /datum/status_effect/golem/gold
+ nutrition = 5
added_info = "If consumed this mineral will grant you a shiny coating which reflects projectiles."
/datum/golem_food_buff/diamond
status_effect = /datum/status_effect/golem/diamond
+ nutrition = 9
added_info = "If consumed this mineral will reflact light around you, making you faster and harder to see."
/datum/golem_food_buff/titanium
status_effect = /datum/status_effect/golem/titanium
+ nutrition = 5
added_info = "If consumed this mineral will make you tougher and punch harder."
/datum/golem_food_buff/bananium
status_effect = /datum/status_effect/golem/bananium
+ nutrition = 10
added_info = "If consumed this mineral will make you funnier."
/datum/golem_food_buff/lightbulb
@@ -89,6 +97,7 @@
/datum/golem_food_buff/gibtonite
exclusive = FALSE
+ nutrition = 5
added_info = "After consumption, you can launch this mineral like a rocket. It's a little hard to keep down."
/datum/golem_food_buff/gibtonite/apply_effects(mob/living/carbon/human/consumer, atom/movable/consumed, multiplier = 1)
@@ -107,6 +116,7 @@
/datum/golem_food_buff/bluespace
exclusive = FALSE
+ nutrition = 10
added_info = "After consumption, you can use the stored power to teleport yourself."
/datum/golem_food_buff/bluespace/apply_effects(mob/living/carbon/human/consumer, atom/movable/consumed, multiplier = 1)
diff --git a/code/game/objects/items/stacks/golem_food/golem_status_effects.dm b/code/game/objects/items/stacks/golem_food/golem_status_effects.dm
index 87b50ce84eaf..bcb607d9ebf5 100644
--- a/code/game/objects/items/stacks/golem_food/golem_status_effects.dm
+++ b/code/game/objects/items/stacks/golem_food/golem_status_effects.dm
@@ -145,7 +145,7 @@
owner.remove_filter("[id]_filter")
return ..()
-/datum/status_effect/golem/get_examine_text()
+/datum/status_effect/golem/get_examine_text(mob/examiner)
if(mineral_name)
return span_notice("[owner.p_Their()] body has been augmented with veins of [mineral_name].")
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index 919560adc744..285d1293db02 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -234,8 +234,10 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \
. += GLOB.prglass_recipes
GLOBAL_LIST_INIT(titaniumglass_recipes, list(
+ new/datum/stack_recipe("directional shuttle window",/obj/structure/window/reinforced/titanium/unanchored, time = 0.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_CHECK_DIRECTION, category = CAT_WINDOWS), \
new/datum/stack_recipe("shuttle window", /obj/structure/window/reinforced/shuttle/unanchored, 2, time = 0.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_CHECK_DIRECTION | CRAFT_IS_FULLTILE, category = CAT_WINDOWS), \
- new/datum/stack_recipe("titanium glass shard", /obj/item/shard/titanium, time = 40, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND, category = CAT_MISC) \
+ new/datum/stack_recipe("titanium glass shard", /obj/item/shard/titanium, time = 40, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND, category = CAT_MISC), \
+ new/datum/stack_recipe("titanium glass tile", /obj/item/stack/tile/glass/titanium, 1, 4, 20, category = CAT_TILES), \
))
*/
/obj/item/stack/sheet/titaniumglass
@@ -266,8 +268,12 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list(
. += GLOB.titaniumglass_recipes
GLOBAL_LIST_INIT(plastitaniumglass_recipes, list(
+ new/datum/stack_recipe("directional plastitanium window", /obj/structure/window/reinforced/survival_pod/unanchored, time = 0.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_CHECK_DIRECTION, category = CAT_WINDOWS), \
new/datum/stack_recipe("plastitanium window", /obj/structure/window/reinforced/plasma/plastitanium/unanchored, 2, time = 2 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_IS_FULLTILE, category = CAT_WINDOWS), \
- new/datum/stack_recipe("plastitanium glass shard", /obj/item/shard/plastitanium, time = 60, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND, category = CAT_MISC) \
+ new/datum/stack_recipe("pod window", /obj/structure/window/reinforced/shuttle/survival_pod/unanchored, 2, time = 2 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_IS_FULLTILE, category = CAT_WINDOWS), \
+ new/datum/stack_recipe("plastitanium window filler", /obj/item/stack/wall_filling/plastitaniumglass/basic, 2, 1, 10, crafting_flags = NONE, category = CAT_STRUCTURE), \
+ new/datum/stack_recipe("plastitanium glass shard", /obj/item/shard/plastitanium, time = 60, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND, category = CAT_MISC), \
+ new/datum/stack_recipe("plastitanium glass tile", /obj/item/stack/tile/glass/plastitanium, 1, 4, 20, category = CAT_TILES), \
))
*/
/obj/item/stack/sheet/plastitaniumglass
diff --git a/code/game/objects/items/stacks/sheets/runed_metal.dm b/code/game/objects/items/stacks/sheets/runed_metal.dm
index 856921587679..f4d0186fa5ef 100644
--- a/code/game/objects/items/stacks/sheets/runed_metal.dm
+++ b/code/game/objects/items/stacks/sheets/runed_metal.dm
@@ -64,6 +64,8 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list( \
), \
new /datum/stack_recipe("runed stone platform", /obj/structure/platform/cult, 2, time = 3 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, trait_booster = TRAIT_QUICK_BUILD, trait_modifier = 0.75, category = CAT_STRUCTURE), \
+ new/datum/stack_recipe("directional runed window", /obj/structure/window/cult/unanchored, time = 0, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_CHECK_DIRECTION, category = CAT_WINDOWS), \
+ new/datum/stack_recipe("fulltile runed window", /obj/structure/window/cult/fulltile/unanchored, 2, time = 0, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_IS_FULLTILE, category = CAT_WINDOWS), \
))
/obj/item/stack/sheet/runed_metal
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index 79255f8eec33..adda99a89606 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -99,13 +99,19 @@
update_appearance()
if(is_path_in_list(merge_type, GLOB.golem_stack_food_directory))
- AddComponent(/datum/component/golem_food, golem_food_key = merge_type)
+ var/processing_bonus = 1
+ if(ispath(merge_type, /obj/item/stack/sheet))
+ processing_bonus = GOLEMFOOD_PREPARED_MEAL
+ AddComponent(/datum/component/golem_food, golem_food_key = merge_type, food_multiplier = processing_bonus)
/obj/item/stack/LateInitialize()
merge_with_loc()
/obj/item/stack/Destroy()
mats_per_unit = null
+ if(source)
+ LAZYREMOVE(source.linked_modules, src)
+ source = null
return ..()
/obj/item/stack/update_name(updates)
@@ -582,7 +588,9 @@
return FALSE
if(is_cyborg)
if(source.use_charge(used * cost))
- update_appearance(UPDATE_NAME)
+ //this will include us
+ for(var/obj/item/stack/modules as anything in source.linked_modules)
+ modules.update_appearance(UPDATE_NAME)
return TRUE
return FALSE
if (amount < used)
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index 5f804a838aac..052a77d72d25 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -1189,6 +1189,13 @@
turf_type = /turf/open/floor/bronze/filled
merge_type = /obj/item/stack/tile/bronze/filled
+/obj/item/stack/tile/bronze/window
+ name = "bronze window tile"
+ singular_name = "bronze window floor tile"
+ icon_state = "tile_glass_bronze"
+ turf_type = /turf/open/floor/glass/bronze
+ merge_type = /obj/item/stack/tile/bronze/window
+
/obj/item/stack/tile/cult
name = "engraved tile"
singular_name = "engraved floor tile"
@@ -1197,6 +1204,19 @@
turf_type = /turf/open/floor/cult
mats_per_unit = list(/datum/material/runedmetal=SMALL_MATERIAL_AMOUNT*5)
merge_type = /obj/item/stack/tile/cult
+ tile_reskin_types = list(
+ /obj/item/stack/tile/cult,
+ /obj/item/stack/tile/cult/window,
+ )
+
+/obj/item/stack/tile/cult/window
+ name = "engraved window tile"
+ singular_name = "engraved window tile"
+ desc = "A strange window tile made from runed metal. Doesn't seem to actually have any paranormal powers."
+ icon_state = "tile_glass_runic"
+ turf_type = /turf/open/floor/glass/cult
+ mats_per_unit = list(/datum/material/runedmetal=SMALL_MATERIAL_AMOUNT*5)
+ merge_type = /obj/item/stack/tile/cult/window
/// Floor tiles used to test emissive turfs.
/obj/item/stack/tile/emissive_test
@@ -1322,3 +1342,21 @@
turf_type = /turf/open/floor/glass/reinforced/plasma
merge_type = /obj/item/stack/tile/rglass/plasma
mats_per_unit = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 0.125, /datum/material/alloy/plasmaglass = SHEET_MATERIAL_AMOUNT * 0.25)
+
+/obj/item/stack/tile/glass/titanium
+ name = "titanium glass floor"
+ singular_name = "titanium glass floor tile"
+ desc = "Titanium glass window floors, for when you need something to separate you from the vast void of space."
+ icon_state = "tile_glass_titanium"
+ turf_type = /turf/open/floor/glass/titatanium
+ merge_type = /obj/item/stack/tile/glass/titanium
+ mats_per_unit = list(/datum/material/alloy/titaniumglass = SHEET_MATERIAL_AMOUNT * 0.25)
+
+/obj/item/stack/tile/glass/plastitanium
+ name = "plastitanium glass floor"
+ singular_name = "plasma glass floor tile"
+ desc = "Plastitatanium glass window floors, for when you don't want lava to burn your feet, but still like to see it."
+ icon_state = "tile_glass_plastitanium"
+ turf_type = /turf/open/floor/glass/plastitatanium
+ merge_type = /obj/item/stack/tile/glass/plastitanium
+ mats_per_unit = list(/datum/material/alloy/plastitaniumglass = SHEET_MATERIAL_AMOUNT * 0.25)
diff --git a/code/game/objects/items/stacks/wall_filling.dm b/code/game/objects/items/stacks/wall_filling.dm
index e16e71e82fb0..cbeb4ccbb56e 100644
--- a/code/game/objects/items/stacks/wall_filling.dm
+++ b/code/game/objects/items/stacks/wall_filling.dm
@@ -132,3 +132,29 @@ GLOBAL_LIST_EMPTY(wall_reskin_lists)
icon_state = "redpod-wall-fill"
desc = "A filling for a red dark shuttle wall. Quite the menacing vibe."
merge_type = /obj/item/stack/wall_filling/plastitanium/redpod
+
+
+///Window-fill. Same, but for windows.
+/obj/item/stack/wall_filling/plastitaniumglass
+ name = "plastitaniumglass window filling"
+ singular_name = "plastitanium window filler"
+ desc = "A filling for a standard plastitanium glass window."
+ icon_state = "plastitanium-window-fill"
+ inhand_icon_state = "sheet-plastitaniumglass"
+ mats_per_unit = list(/datum/material/alloy/plastitaniumglass=SHEET_MATERIAL_AMOUNT*2)
+ merge_type = /obj/item/stack/wall_filling/plastitaniumglass
+ made_from = /obj/item/stack/sheet/plastitaniumglass
+ wall_reskin_types = list(
+ /obj/item/stack/wall_filling/plastitaniumglass/basic,
+ /obj/item/stack/wall_filling/plastitaniumglass/pod,
+ )
+
+/obj/item/stack/wall_filling/plastitaniumglass/basic
+ merge_type = /obj/item/stack/wall_filling/plastitaniumglass/basic
+
+/obj/item/stack/wall_filling/plastitaniumglass/pod
+ name = "pod window filling"
+ singular_name = "pod window filler"
+ icon_state = "pod-window-fill"
+ desc = "A filling for a elegant yet formidable window. Mostly seen in hostile enviroments."
+ merge_type = /obj/item/stack/wall_filling/plastitaniumglass/pod
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index aa2d98d728a5..115c04188efe 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -769,10 +769,10 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets)
if("Personal") //only the player who swiped their id has access.
id_card = WEAKREF(card)
name = "[card.registered_name]'s locker"
- desc += " It has been ID locked to [card.registered_name]."
+ desc = initial(desc) + " It has been ID locked to [card.registered_name]."
if("Job") //anyone who has the same access permissions as this id has access. Does NOT apply to the whole department.
name = "[card.assignment]'s locker"
- desc += " It has been access locked to [card.assignment]s."
+ desc = initial(desc) + " It has been access locked to [card.assignment]s."
set_access(card.GetAccess())
if("None") //free for all
name = initial(name)
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index a7c5a929581b..1405b2700d2b 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -111,10 +111,9 @@
. += lid
/obj/structure/closet/crate/attack_hand(mob/user, list/modifiers)
- . = ..()
- if(.)
- return
- tear_manifest(user)
+ if(tear_manifest(user))
+ return TRUE
+ return ..()
/obj/structure/closet/crate/after_open(mob/living/user, force)
. = ..()
@@ -147,12 +146,12 @@
UnregisterSignal(src, COMSIG_CLOSET_CONTENTS_INITIALIZED)
-///Removes the supply manifest from the closet
+///Removes the supply manifest from the closet, returning TRUE if one was torn off
/obj/structure/closet/crate/proc/tear_manifest(mob/user)
var/obj/item/paper/fluff/jobs/cargo/manifest/our_manifest = manifest?.resolve()
if(QDELETED(our_manifest))
manifest = null
- return
+ return FALSE
if(user)
to_chat(user, span_notice("You tear the manifest off of [src]."))
playsound(src, 'sound/items/poster/poster_ripped.ogg', 75, TRUE)
@@ -162,6 +161,7 @@
user.put_in_hands(our_manifest)
manifest = null
update_appearance()
+ return TRUE
/obj/structure/closet/crate/preopen
opened = TRUE
@@ -420,7 +420,7 @@
base_icon_state = "robo"
/obj/structure/closet/crate/mod
- name = "MOD crate"
+ name = "\improper MOD crate"
icon_state = "robo"
base_icon_state = "robo"
diff --git a/code/game/objects/structures/crates_lockers/crates/large.dm b/code/game/objects/structures/crates_lockers/crates/large.dm
index 508b8d714b6c..94b73bbbb3d9 100644
--- a/code/game/objects/structures/crates_lockers/crates/large.dm
+++ b/code/game/objects/structures/crates_lockers/crates/large.dm
@@ -27,9 +27,7 @@
/obj/structure/closet/crate/large/attack_hand(mob/user, list/modifiers)
add_fingerprint(user)
- if(manifest)
- tear_manifest(user)
- else
+ if(!tear_manifest(user))
to_chat(user, span_warning("You need a crowbar to pry this open!"))
/obj/structure/closet/crate/large/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm
index 787b48a31929..bb2d171ffeeb 100644
--- a/code/game/objects/structures/crates_lockers/crates/secure.dm
+++ b/code/game/objects/structures/crates_lockers/crates/secure.dm
@@ -146,55 +146,6 @@
if(prob(30))
new /obj/item/storage/bag/trash/filled(src)
-/obj/structure/closet/crate/secure/owned
- name = "private crate"
- desc = "A crate cover designed to only open for who purchased its contents."
- icon_state = "privatecrate"
- base_icon_state = "privatecrate"
- ///Account of the person buying the crate if private purchasing.
- var/datum/bank_account/buyer_account
- ///Department of the person buying the crate if buying via the NIRN app.
- var/datum/bank_account/department/department_account
- ///Is the secure crate opened or closed?
- var/privacy_lock = TRUE
- ///Is the crate being bought by a person, or a budget card?
- var/department_purchase = FALSE
-
-/obj/structure/closet/crate/secure/owned/examine(mob/user)
- . = ..()
- . += span_notice("It's locked with a privacy lock, and can only be unlocked by the buyer's ID.")
-
-/obj/structure/closet/crate/secure/owned/Initialize(mapload, datum/bank_account/_buyer_account)
- . = ..()
- buyer_account = _buyer_account
- if(IS_DEPARTMENTAL_ACCOUNT(buyer_account))
- department_purchase = TRUE
- department_account = buyer_account
-
-/obj/structure/closet/crate/secure/owned/togglelock(mob/living/user, silent)
- if(privacy_lock)
- if(!broken)
- var/obj/item/card/id/id_card = user.get_idcard(TRUE)
- if(id_card)
- if(id_card.registered_account)
- if(id_card.registered_account == buyer_account || (department_purchase && (id_card.registered_account?.account_job?.paycheck_department) == (department_account.department_id)))
- if(iscarbon(user))
- add_fingerprint(user)
- locked = !locked
- user.visible_message(span_notice("[user] unlocks [src]'s privacy lock."),
- span_notice("You unlock [src]'s privacy lock."))
- privacy_lock = FALSE
- update_appearance()
- else if(!silent)
- to_chat(user, span_warning("Bank account does not match with buyer!"))
- else if(!silent)
- to_chat(user, span_warning("No linked bank account detected!"))
- else if(!silent)
- to_chat(user, span_warning("No ID detected!"))
- else if(!silent)
- to_chat(user, span_warning("[src] is broken!"))
- else ..()
-
/obj/structure/closet/crate/secure/freezer/interdyne
name = "\improper Interdyne freezer"
desc = "This is an Interdyne Pharmaceuticals branded freezer. May or may not contain fresh organs."
diff --git a/code/game/objects/structures/decorations.dm b/code/game/objects/structures/decorations.dm
index fb05b6478e2a..62360925069e 100644
--- a/code/game/objects/structures/decorations.dm
+++ b/code/game/objects/structures/decorations.dm
@@ -607,3 +607,47 @@
. = ..()
icon_state = "rocks[rand(1, 3)]"
update_appearance()
+
+/obj/structure/decoration/rock/volcano
+ name = "plastic volcano pore"
+ desc = "A lovingly painted miniature plastic volcano."
+ icon = /obj/structure/flora/rock/volcano::icon
+ icon_state = /obj/structure/flora/rock/volcano::icon_state
+
+/obj/structure/decoration/rock/volcano/first
+
+/obj/structure/decoration/rock/volcano/second
+ icon_state = "volcano_2"
+
+/obj/structure/decoration/rock/volcano/third
+ icon_state = "volcano_3"
+
+/obj/structure/decoration/rock/volcano/fourth
+ icon_state = "volcano_4"
+
+/obj/structure/decoration/rock/volcano/fifth
+ icon_state = "volcano_5"
+
+/obj/structure/decoration/rock/volcano/style_random/Initialize(mapload)
+ . = ..()
+ icon_state = "volcano_[rand(1, 5)]"
+ update_appearance()
+
+/obj/structure/decoration/misc/glowgrowth
+ name = "plastic glowgrowth colony"
+ desc = "A large plastic immitation of bioluminescent fungi colony. Not so bioluminescent."
+ icon = /obj/structure/flora/ash/glowgrowth::icon
+ icon_state = /obj/structure/flora/ash/glowgrowth::icon_state
+
+/obj/structure/decoration/misc/glowgrowth/first
+
+/obj/structure/decoration/misc/glowgrowth/second
+ icon_state = "glowgrowth2"
+
+/obj/structure/decoration/misc/glowgrowth/third
+ icon_state = "glowgrowth3"
+
+/obj/structure/decoration/misc/glowgrowth/style_random/Initialize(mapload)
+ . = ..()
+ icon_state = "glowgrowth[rand(1, 3)]"
+ update_appearance()
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index a83946392d6e..6ad52ebdb6fa 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -285,16 +285,25 @@
building_window = new/obj/structure/window/reinforced/fulltile(drop_location()) //reinforced window
else if(istype(tool, /obj/item/stack/sheet/titaniumglass))
building_window = new/obj/structure/window/reinforced/shuttle(drop_location())
+ else if(istype(tool, /obj/item/stack/wall_filling/plastitaniumglass/basic))
+ building_window = new/obj/structure/window/reinforced/plasma/plastitanium/windowfill(drop_location())
+ else if(istype(tool, /obj/item/stack/wall_filling/plastitaniumglass/pod))
+ building_window = new/obj/structure/window/reinforced/shuttle/survival_pod(drop_location())
else if(istype(tool, /obj/item/stack/sheet/plastitaniumglass))
building_window = new/obj/structure/window/reinforced/plasma/plastitanium(drop_location())
else if(istype(tool, /obj/item/stack/sheet/bronze))
building_window = new/obj/structure/window/bronze/fulltile(drop_location())
+ else if(istype(tool, /obj/item/stack/sheet/runed_metal))
+ building_window = new/obj/structure/window/cult/fulltile(drop_location())
else
building_window = new/obj/structure/window/fulltile(drop_location()) //normal window
building_window.setDir(dir_to_set)
building_window.set_anchored(FALSE)
building_window.state = 0
- to_spend.use(2)
+ if((istype(tool, /obj/item/stack/wall_filling)))
+ to_spend.use(1)
+ else
+ to_spend.use(2)
to_chat(user, span_notice("You place [to_spend] on [src]."))
return ITEM_INTERACT_SUCCESS
//window placing end
diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm
index 8e7aaf902f6c..c436b1c92713 100644
--- a/code/game/objects/structures/signs/_signs.dm
+++ b/code/game/objects/structures/signs/_signs.dm
@@ -181,11 +181,13 @@
if(!Adjacent(user)) //Make sure user is adjacent still.
to_chat(user, span_warning("You need to stand next to the sign to change it!"))
return ITEM_INTERACT_BLOCKING
- user.visible_message(span_notice("You begin changing [src]."))
+ user.visible_message(span_notice("[user] begins changing [src]."), \
+ span_notice("You begin changing [src]."))
if(!do_after(user, 4 SECONDS, target = src))
return ITEM_INTERACT_BLOCKING
set_sign_type(GLOB.editable_sign_types[choice])
- user.visible_message(span_notice("You finish changing the sign."))
+ user.visible_message(span_notice("[user] finishes changing the sign."), \
+ span_notice("You finish changing the sign."))
return ITEM_INTERACT_SUCCESS
/obj/item/sign/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
diff --git a/code/game/objects/structures/signs/signs_departments.dm b/code/game/objects/structures/signs/signs_departments.dm
index c71de5f99d8a..5356354da574 100644
--- a/code/game/objects/structures/signs/signs_departments.dm
+++ b/code/game/objects/structures/signs/signs_departments.dm
@@ -105,7 +105,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/engineering, 32)
desc = "A sign labelling an area where your life-giving air comes from."
icon_state = "atmos"
-MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/engineering, 32)
+MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/atmospherics, 32)
///////SCIENCE
diff --git a/code/game/objects/structures/spirit_board.dm b/code/game/objects/structures/spirit_board.dm
index 3719f9da1b1b..d956a3d034d5 100644
--- a/code/game/objects/structures/spirit_board.dm
+++ b/code/game/objects/structures/spirit_board.dm
@@ -84,7 +84,7 @@
return FALSE //No feedback here, hiding the cooldown a little makes it harder to tell who's really picking letters.
var/turf/play_turf = get_turf(src)
- if(play_turf?.get_lumcount() > 0.2)
+ if(play_turf?.check_lumcount_above(0.2))
to_chat(ghost, span_warning("It's too bright here to use [src]!"))
return FALSE
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 4925828b66ac..a337021246d5 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -113,7 +113,15 @@
return FALSE
/obj/structure/window/narsie_act()
+ var/atom/place = loc
add_atom_colour(NARSIE_WINDOW_COLOUR, FIXED_COLOUR_PRIORITY)
+ if(src.fulltile)
+ qdel(src)
+ new /obj/structure/window/cult/fulltile(place)
+ else
+ qdel(src)
+ new /obj/structure/window/cult(place)
+ return
/obj/structure/window/singularity_pull(atom/singularity, current_size)
..()
@@ -892,6 +900,51 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/tinted/frosted/spaw
AddElement(/datum/element/tool_blocker, TOOL_WRENCH, TOOL_ACT_PRIMARY)
AddElement(/datum/element/tool_blocker, TOOL_CROWBAR, TOOL_ACT_PRIMARY)
+/obj/structure/window/reinforced/titanium
+ name = "shuttle window"
+ desc = "A reinforced, air-locked pod window."
+ icon_state = "titanium_window"
+ armor_type = /datum/armor/reinforced_shuttle
+ receive_ricochet_chance_mod = 1.2
+ explosion_block = 3
+ glass_type = /obj/item/stack/sheet/titaniumglass
+ custom_materials = list(/datum/material/alloy/titaniumglass = SHEET_MATERIAL_AMOUNT * 1)
+
+/obj/structure/window/reinforced/titanium/unanchored
+ anchored = FALSE
+
+MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/titanium/spawner, 0)
+
+/obj/structure/window/reinforced/titanium/unanchored
+ anchored = FALSE
+
+/obj/structure/window/reinforced/shuttle/survival_pod
+ name = "pod window"
+ icon = 'icons/obj/smooth_structures/pod_window.dmi'
+ icon_state = "pod_window-0"
+ base_icon_state = "pod_window"
+ smoothing_flags = SMOOTH_BITMASK
+ smoothing_groups = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_SURVIVAL_TITANIUM_POD
+ canSmoothWith = SMOOTH_GROUP_SURVIVAL_TITANIUM_POD
+ glass_type = /obj/item/stack/wall_filling/plastitaniumglass/pod
+ glass_amount = 1
+ glass_material_datum = /datum/material/alloy/plastitaniumglass
+
+/obj/structure/window/reinforced/shuttle/survival_pod/unanchored
+ anchored = FALSE
+ state = WINDOW_OUT_OF_FRAME
+
+/obj/structure/window/reinforced/survival_pod
+ name = "pod window"
+ icon_state = "plastitanium_window"
+ glass_type = /obj/item/stack/sheet/plastitaniumglass
+ glass_material_datum = /datum/material/alloy/plastitaniumglass
+
+/obj/structure/window/reinforced/survival_pod/unanchored
+ anchored = FALSE
+
+MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/survival_pod/spawner, 0)
+
/obj/structure/window/reinforced/plasma/plastitanium
name = "plastitanium window"
desc = "A durable looking window made of an alloy of plasma and titanium."
@@ -915,6 +968,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/tinted/frosted/spaw
rad_insulation = RAD_EXTREME_INSULATION
glass_material_datum = /datum/material/alloy/plastitaniumglass
+/obj/structure/window/reinforced/plasma/plastitanium/windowfill
+ glass_type = /obj/item/stack/wall_filling/plastitaniumglass/basic
+ glass_amount = 1
+
/obj/structure/window/reinforced/plasma/plastitanium/indestructible
name = "plastitanium window"
desc = "A durable looking window made of an alloy of plasma and titanium."
@@ -1040,8 +1097,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/tinted/frosted/spaw
/obj/structure/window/bronze
name = "brass window"
desc = "A paper-thin pane of translucent yet reinforced brass. Nevermind, this is just weak bronze!"
- icon = 'icons/obj/smooth_structures/structure_variations.dmi'
- icon_state = "clockwork_window-single"
+ icon_state = "clockworkwindow"
glass_type = /obj/item/stack/sheet/bronze
custom_materials = list(/datum/material/bronze = SHEET_MATERIAL_AMOUNT * 1)
@@ -1066,3 +1122,32 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/bronze/spawner, 0)
/obj/structure/window/bronze/fulltile/unanchored
anchored = FALSE
+
+/obj/structure/window/cult
+ name = "runed window"
+ desc = "A frame of runed metal projecting an arcane blood-red force field, that looks sort of like a window. Peculiar."
+ icon_state = "runedwindow"
+ glass_type = /obj/item/stack/sheet/runed_metal
+ custom_materials = list(/datum/material/runedmetal = SHEET_MATERIAL_AMOUNT * 1)
+
+MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/cult/spawner, 0)
+
+/obj/structure/window/cult/unanchored
+ anchored = FALSE
+
+/obj/structure/window/cult/fulltile
+ icon = 'icons/obj/smooth_structures/cult_window.dmi'
+ icon_state = "cult_window-0"
+ base_icon_state = "cult_window"
+ smoothing_flags = SMOOTH_BITMASK
+ smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE_CULT + SMOOTH_GROUP_WINDOW_FULLTILE
+ canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE_CULT
+ fulltile = TRUE
+ flags_1 = PREVENT_CLICK_UNDER_1
+ obj_flags = CAN_BE_HIT
+ max_integrity = 50
+ glass_amount = 2
+ custom_materials = list(/datum/material/runedmetal = SHEET_MATERIAL_AMOUNT * 2)
+
+/obj/structure/window/cult/fulltile/unanchored
+ anchored = FALSE
diff --git a/code/game/sound/sound_keys/sound_keys.dm b/code/game/sound/sound_keys/sound_keys.dm
index 138594315331..00a9ba444c15 100644
--- a/code/game/sound/sound_keys/sound_keys.dm
+++ b/code/game/sound/sound_keys/sound_keys.dm
@@ -1151,3 +1151,10 @@
'sound/effects/magic/void_deflect2.ogg',
'sound/effects/magic/void_deflect3.ogg',
)
+
+/datum/sound_effect/heavy_drop
+ key = SFX_HEAVY_DROP
+ file_paths = list(
+ 'sound/effects/heavy_drop1.ogg',
+ 'sound/effects/heavy_drop2.ogg',
+ )
diff --git a/code/game/turfs/change_turf.dm b/code/game/turfs/change_turf.dm
index 944899bc6692..3e942e4187e0 100644
--- a/code/game/turfs/change_turf.dm
+++ b/code/game/turfs/change_turf.dm
@@ -81,7 +81,6 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list(
var/old_lighting_corner_SW = lighting_corner_SW
var/old_lighting_corner_NW = lighting_corner_NW
var/old_directional_opacity = directional_opacity
- var/old_dynamic_lumcount = dynamic_lumcount
var/old_rcd_memory = rcd_memory
var/old_explosion_throw_details = explosion_throw_details
var/old_opacity = opacity
@@ -151,8 +150,6 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list(
lighting_corner_SW = old_lighting_corner_SW
lighting_corner_NW = old_lighting_corner_NW
- dynamic_lumcount = old_dynamic_lumcount
-
lattice_underneath = old_lattice_underneath
new_turf.weak_reference = old_ref
diff --git a/code/game/turfs/open/floor/glass.dm b/code/game/turfs/open/floor/glass.dm
index 5ff8f11511d2..eefb1f04e6c7 100644
--- a/code/game/turfs/open/floor/glass.dm
+++ b/code/game/turfs/open/floor/glass.dm
@@ -114,3 +114,43 @@
/turf/open/floor/glass/reinforced/plasma/airless
initial_gas_mix = AIRLESS_ATMOS
+
+/turf/open/floor/glass/bronze
+ name = "bronze glass floor"
+ desc = "Do jump on it, there's no rat'var cultists around to give you smack for it."
+ icon = 'icons/turf/floors/glass_bronze.dmi'
+ icon_state = "glass_bronze-0"
+ base_icon_state = "glass_bronze"
+ floor_tile = /obj/item/stack/tile/bronze/window
+ starlight_color = COLOR_THEME_CLOCKWORK
+ alpha_to_leave = 206
+
+/turf/open/floor/glass/cult
+ name = "cult glass floor"
+ desc = "If you jump on it, there's no guarantee you won't fall into some kinf of nightmare dimension."
+ icon = 'icons/turf/floors/glass_runic.dmi'
+ icon_state = "glass_runic-0"
+ base_icon_state = "glass_runic"
+ floor_tile = /obj/item/stack/tile/cult/window
+ starlight_color = COLOR_CULT_RED
+ alpha_to_leave = 206
+
+/turf/open/floor/glass/titatanium
+ name = "titatanium glass floor"
+ desc = "Do jump on it, it can take it."
+ icon = 'icons/turf/floors/glass_titanium.dmi'
+ icon_state = "glass_titanium-0"
+ base_icon_state = "glass_titanium"
+ floor_tile = /obj/item/stack/tile/glass/titanium
+ starlight_color = COLOR_ASSISTANT_GRAY
+ alpha_to_leave = 206
+
+/turf/open/floor/glass/plastitatanium
+ name = "plastitatanium glass floor"
+ desc = "Do jump on it, it can take it."
+ icon = 'icons/turf/floors/glass_plastitanium.dmi'
+ icon_state = "glass_plastitanium-0"
+ base_icon_state = "glass_plastitanium"
+ floor_tile = /obj/item/stack/tile/glass/plastitanium
+ starlight_color = COLOR_ASSISTANT_GRAY
+ alpha_to_leave = 206
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 91d7c0d0a5c6..3d0f4e87c1d3 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -57,9 +57,6 @@ GLOBAL_LIST_EMPTY(station_turfs)
///Icon-smoothing variable to map a diagonal wall corner with a fixed underlay.
var/list/fixed_underlay = null
- ///Lumcount added by sources other than lighting datum objects, such as the overlay lighting component.
- var/dynamic_lumcount = 0
-
///Bool, whether this turf will always be illuminated no matter what area it is in
///Makes it look blue, be warned
var/space_lit = FALSE
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index e13afc05d769..1fa8ef4d1719 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -35,7 +35,8 @@
////////////////////////////////////////////////////////////////////////////////////////////////ADMIN HELPER PROCS
-ADMIN_VERB(spawn_atom, R_SPAWN, "Spawn", "Spawn an atom.", ADMIN_CATEGORY_DEBUG, object as text|null)
+ADMIN_VERB(spawn_atom, R_SPAWN, "Spawn", "Spawn an atom.", ADMIN_CATEGORY_DEBUG)
+ VERB_ARG(object, VERB_ARG_TYPE_TYPEPATH, VERB_ARG_SOURCE_INPUT)
var/static/list/atom_types
if (isnull(atom_types))
atom_types = subtypesof(/atom)
@@ -74,7 +75,8 @@ ADMIN_VERB(spawn_atom, R_SPAWN, "Spawn", "Spawn an atom.", ADMIN_CATEGORY_DEBUG,
BLACKBOX_LOG_ADMIN_VERB("Spawn Atom")
return TRUE
-ADMIN_VERB(spawn_atom_pod, R_SPAWN, "PodSpawn", "Spawn an atom via supply drop.", ADMIN_CATEGORY_DEBUG, object as text)
+ADMIN_VERB(spawn_atom_pod, R_SPAWN, "PodSpawn", "Spawn an atom via supply drop.", ADMIN_CATEGORY_DEBUG)
+ VERB_ARG(object, VERB_ARG_TYPE_TYPEPATH, VERB_ARG_SOURCE_INPUT)
var/chosen = pick_closest_path(object)
if(!chosen)
return
@@ -94,7 +96,8 @@ ADMIN_VERB(spawn_atom_pod, R_SPAWN, "PodSpawn", "Spawn an atom via supply drop."
log_admin("[key_name(user)] pod-spawned [chosen] at [AREACOORD(user.mob)]")
BLACKBOX_LOG_ADMIN_VERB("Podspawn Atom")
-ADMIN_VERB(spawn_cargo, R_SPAWN, "Spawn Cargo", "Spawn a cargo crate.", ADMIN_CATEGORY_DEBUG, object as text)
+ADMIN_VERB(spawn_cargo, R_SPAWN, "Spawn Cargo", "Spawn a cargo crate.", ADMIN_CATEGORY_DEBUG)
+ VERB_ARG(object, VERB_ARG_TYPE_TYPEPATH, VERB_ARG_SOURCE_INPUT)
var/chosen = pick_closest_path(object, make_types_fancy(subtypesof(/datum/supply_pack)))
if(!chosen)
return
diff --git a/code/modules/admin/admin_verb_panel.dm b/code/modules/admin/admin_verb_panel.dm
new file mode 100644
index 000000000000..056e93a842e9
--- /dev/null
+++ b/code/modules/admin/admin_verb_panel.dm
@@ -0,0 +1,155 @@
+ADMIN_VERB(admin_verb_panel, R_NONE, "Admin Verb Panel", "Browse and invoke admin verbs.", ADMIN_CATEGORY_EVENTS)
+ if(user.admin_verb_panel)
+ var/datum/tgui/existing = SStgui.get_open_ui(user.mob, user.admin_verb_panel)
+ if(existing)
+ existing.close()
+ user.admin_verb_panel = null
+ return
+ var/datum/admin_verb_panel/panel = new(user)
+ user.admin_verb_panel = panel
+ panel.ui_interact(user.mob)
+
+/datum/admin_verb_panel
+ var/client/owner
+ var/selected_verb_type
+ var/typepath_parent = "/datum"
+ var/list/typepath_children = list()
+
+/datum/admin_verb_panel/New(client/user)
+ owner = user
+
+/datum/admin_verb_panel/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "AdminVerbPanel")
+ ui.open()
+
+/datum/admin_verb_panel/ui_state(mob/user)
+ return ADMIN_STATE(R_NONE)
+
+/datum/admin_verb_panel/ui_static_data(mob/user)
+ var/list/data = list()
+ var/list/verbs_data = list()
+ var/list/categories = list()
+
+ for(var/datum/admin_verb/verb_type as anything in SSadmin_verbs.admin_verbs_by_type)
+ var/datum/admin_verb/verb = SSadmin_verbs.admin_verbs_by_type[verb_type]
+ if(!SSadmin_verbs.verify_visibility(owner, verb))
+ continue
+ if(!owner.holder.check_for_rights(verb.permissions))
+ continue
+
+ var/list/verb_entry = list(
+ "type" = "[verb_type]",
+ "name" = verb.name,
+ "description" = verb.description,
+ "category" = verb.category || "Unsorted",
+ "arguments" = list(),
+ )
+
+ for(var/datum/verb_arg_metadata/arg in verb.arguments)
+ var/list/arg_entry = list(
+ "name" = arg.name,
+ "arg_type" = arg.arg_type,
+ "type_path" = "[arg.type_path]",
+ "source" = arg.source,
+ )
+ if(length(arg.options))
+ arg_entry["options"] = arg.options
+ verb_entry["arguments"] += list(arg_entry)
+
+ verbs_data += list(verb_entry)
+ categories |= list(verb.category || "Unsorted")
+
+ data["verbs"] = verbs_data
+ data["categories"] = categories
+ return data
+
+/datum/admin_verb_panel/ui_data(mob/user)
+ var/list/data = list()
+ data["targets"] = build_target_list()
+ data["typepaths"] = list("parent" = typepath_parent, "paths" = typepath_children)
+ return data
+
+/datum/admin_verb_panel/proc/build_target_list()
+ if(!selected_verb_type)
+ return list()
+
+ var/datum/admin_verb/verb = SSadmin_verbs.admin_verbs_by_type[selected_verb_type]
+ if(!verb || !length(verb.arguments))
+ return list()
+
+ var/datum/verb_arg_metadata/entity_arg
+ for(var/datum/verb_arg_metadata/arg in verb.arguments)
+ if(arg.arg_type & VERB_ARG_TYPE_ENTITY)
+ entity_arg = arg
+ break
+
+ if(!entity_arg)
+ return list()
+
+ var/list/source_atoms = entity_arg.get_targets(owner)
+
+ var/list/targets = list()
+ for(var/atom/target in source_atoms)
+ var/list/entry = list(
+ "ref" = REF(target),
+ )
+ if(ismob(target))
+ var/mob/mob_target = target
+ entry["name"] = mob_target.name
+ entry["ckey"] = mob_target.ckey || ""
+ entry["job"] = mob_target.mind?.assigned_role?.title || ""
+ else if(isturf(target))
+ var/turf/turf_target = target
+ var/area/turf_area = get_area(turf_target)
+ entry["name"] = "[turf_area?.name || turf_target.name] ([turf_target.x],[turf_target.y],[turf_target.z])"
+ else if(isarea(target))
+ entry["name"] = target.name
+ else
+ entry["name"] = "[target.name] ([target.type])"
+ targets += list(entry)
+ return targets
+
+/datum/admin_verb_panel/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
+ if(..())
+ return
+
+ switch(action)
+ if("select_verb")
+ selected_verb_type = text2path(params["verb_type"])
+ return TRUE
+ if("invoke")
+ var/verb_type = text2path(params["verb_type"])
+ if(!verb_type)
+ return
+ var/list/raw_args = params["args"]
+ if(!islist(raw_args))
+ raw_args = list()
+ var/alist/resolved_args = alist()
+ for(var/key in raw_args)
+ var/value = raw_args[key]
+ if(istext(value))
+ var/located = locate(value)
+ if(located)
+ value = located
+ resolved_args[key] = value
+ SSadmin_verbs.dynamic_invoke_verb(owner, verb_type, resolved_args)
+ return TRUE
+ if("request_typepaths")
+ var/parent_text = params["parent"]
+ var/browse_type = text2path(parent_text)
+ if(isnull(browse_type))
+ browse_type = /datum
+ typepath_parent = parent_text || "/datum"
+ typepath_children = list()
+ for(var/child_type in typesof(browse_type))
+ if(child_type == browse_type)
+ continue
+ var/child_text = "[child_type]"
+ var/parent_len = length(typepath_parent)
+ var/remainder = copytext(child_text, parent_len + 1)
+ if(findtext(remainder, "/", 2))
+ continue
+ typepath_children += child_text
+ return TRUE
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 31c437252282..0b75f4b140af 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -354,7 +354,8 @@ ADMIN_VERB(test_cardpack_distribution, R_DEBUG, "Test Cardpack Distribution", "T
ADMIN_VERB(print_cards, R_DEBUG, "Print Cards", "Print all cards to chat.", ADMIN_CATEGORY_DEBUG)
SStrading_card_game.printAllCards()
-ADMIN_VERB(give_mob_action, R_FUN, "Give Mob Action", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, mob/ability_recipient)
+ADMIN_VERB(give_mob_action, R_FUN, "Give Mob Action", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN)
+ VERB_ARG_TYPED(ability_recipient, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
var/static/list/all_mob_actions = sort_list(subtypesof(/datum/action/cooldown/mob_cooldown), GLOBAL_PROC_REF(cmp_typepaths_asc))
var/static/list/actions_by_name = list()
if (!length(actions_by_name))
@@ -400,7 +401,8 @@ ADMIN_VERB(give_mob_action, R_FUN, "Give Mob Action", ADMIN_VERB_NO_DESCRIPTION,
log_admin("[key_name(user)] added mob ability [ability_type] to mob [ability_recipient].")
BLACKBOX_LOG_ADMIN_VERB("Add Mob Ability")
-ADMIN_VERB(remove_mob_action, R_FUN, "Remove Mob Action", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, mob/removal_target)
+ADMIN_VERB(remove_mob_action, R_FUN, "Remove Mob Action", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN)
+ VERB_ARG_TYPED(removal_target, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
var/list/target_abilities = list()
for(var/datum/action/cooldown/mob_cooldown/ability in removal_target.actions)
target_abilities[ability.name] = ability
@@ -420,7 +422,8 @@ ADMIN_VERB(remove_mob_action, R_FUN, "Remove Mob Action", ADMIN_VERB_NO_DESCRIPT
message_admins("[key_name_admin(user)] removed the ability [chosen_ability] from [key_name_admin(removal_target)].")
BLACKBOX_LOG_ADMIN_VERB("Remove Mob Ability")
-ADMIN_VERB(give_spell, R_FUN, "Give Spell", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, mob/spell_recipient)
+ADMIN_VERB(give_spell, R_FUN, "Give Spell", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN)
+ VERB_ARG_TYPED(spell_recipient, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
var/which = tgui_alert(user, "Chose by name or by type path?", "Chose option", list("Name", "Typepath"))
if(!which)
return
@@ -467,7 +470,8 @@ ADMIN_VERB(give_spell, R_FUN, "Give Spell", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CAT
to_chat(user, span_userdanger("Spells given to mindless mobs will belong to the mob and not their mind, \
and as such will not be transferred if their mind changes body (Such as from Mindswap)."))
-ADMIN_VERB(remove_spell, R_FUN, "Remove Spell", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, mob/removal_target)
+ADMIN_VERB(remove_spell, R_FUN, "Remove Spell", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN)
+ VERB_ARG_TYPED(removal_target, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
var/list/target_spell_list = list()
for(var/datum/action/cooldown/spell/spell in removal_target.actions)
target_spell_list[spell.name] = spell
@@ -487,7 +491,8 @@ ADMIN_VERB(remove_spell, R_FUN, "Remove Spell", ADMIN_VERB_NO_DESCRIPTION, ADMIN
message_admins("[key_name_admin(user)] removed the spell [chosen_spell] from [key_name_admin(removal_target)].")
BLACKBOX_LOG_ADMIN_VERB("Remove Spell")
-ADMIN_VERB(give_disease, R_FUN, "Give Disease", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, mob/living/victim)
+ADMIN_VERB(give_disease, R_FUN, "Give Disease", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN)
+ VERB_ARG_TYPED(victim, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob/living)
var/datum/disease/disease = tgui_input_list(user, "Choose the disease to give to that guy", "ACHOO", sort_list(SSdisease.diseases, GLOBAL_PROC_REF(cmp_typepaths_asc)))
if(!disease)
return
@@ -496,7 +501,8 @@ ADMIN_VERB(give_disease, R_FUN, "Give Disease", ADMIN_VERB_NO_DESCRIPTION, ADMIN
log_admin("[key_name(user)] gave [key_name(victim)] the disease [disease].")
message_admins(span_adminnotice("[key_name_admin(user)] gave [key_name_admin(victim)] the disease [disease]."))
-ADMIN_VERB_AND_CONTEXT_MENU(object_say, R_FUN, "OSay", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, obj/speaker)
+ADMIN_VERB_AND_CONTEXT_MENU(object_say, R_FUN, "OSay", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, /obj)
+ VERB_ARG_TYPED(speaker, VERB_ARG_TYPE_OBJ, VERB_ARG_SOURCE_WORLD, /obj)
var/message = tgui_input_text(user, "What do you want the message to be?", "Make Sound", encode = FALSE)
if(!message)
return
@@ -543,7 +549,8 @@ ADMIN_VERB(deadmin, R_NONE, "DeAdmin", "Shed your admin powers.", ADMIN_CATEGORY
message_admins("[key_name_admin(user)] deadminned themselves.")
BLACKBOX_LOG_ADMIN_VERB("Deadmin")
-ADMIN_VERB(populate_world, R_DEBUG, "Populate World", "Populate the world with test mobs.", ADMIN_CATEGORY_DEBUG, amount = 50 as num)
+ADMIN_VERB(populate_world, R_DEBUG, "Populate World", "Populate the world with test mobs.", ADMIN_CATEGORY_DEBUG)
+ VERB_ARG(amount, VERB_ARG_TYPE_NUM, VERB_ARG_SOURCE_INPUT)
for (var/i in 1 to amount)
var/turf/tile = get_safe_random_station_turf_equal_weight()
var/mob/living/carbon/human/hooman = new(tile)
@@ -732,7 +739,8 @@ ADMIN_VERB(create_mob_worm, R_FUN, "Create Mob Worm", "Attach a linked list of m
segment.AddComponent(/datum/component/mob_chain, front = previous)
previous = segment
-ADMIN_VERB(give_ai_controller, R_FUN, "Give AI Controller", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, mob/living/my_guy)
+ADMIN_VERB(give_ai_controller, R_FUN, "Give AI Controller", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN)
+ VERB_ARG_TYPED(my_guy, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob/living)
var/static/list/controllers = subtypesof(/datum/admin_ai_template)
var/static/list/controllers_by_name = list()
if (!length(controllers_by_name))
@@ -776,7 +784,8 @@ ADMIN_VERB(open_event_logger, R_DEBUG, "Open Event Logger", "Open the event logg
ADMIN_VERB(view_behavior_tree, R_DEBUG, "View Behavior Tree", "Inspect the AI behavior tree of a mob.", ADMIN_CATEGORY_DEBUG)
GLOB.bt_viewer.ui_interact(user.mob)
-ADMIN_VERB(new_blackmarket_item, R_BUILD, "Create Black Market Item", "Add an item to the black market for purchase.", ADMIN_CATEGORY_EVENTS, object as text)
+ADMIN_VERB(new_blackmarket_item, R_BUILD, "Create Black Market Item", "Add an item to the black market for purchase.", ADMIN_CATEGORY_EVENTS)
+ VERB_ARG(object, VERB_ARG_TYPE_TYPEPATH, VERB_ARG_SOURCE_INPUT)
if(!object)
to_chat(user, span_boldwarning("Failed! Provide a full or partial typepath!"))
return
diff --git a/code/modules/admin/callproc/callproc.dm b/code/modules/admin/callproc/callproc.dm
index 0bf184689063..4598ed057ea4 100644
--- a/code/modules/admin/callproc/callproc.dm
+++ b/code/modules/admin/callproc/callproc.dm
@@ -230,7 +230,8 @@ GLOBAL_PROTECT(LastAdminCalledProc)
return (GLOB.AdminProcCaller && GLOB.AdminProcCaller == usr?.client?.ckey) || (GLOB.AdminProcCallHandler && usr == GLOB.AdminProcCallHandler)
#endif
-ADMIN_VERB_ONLY_CONTEXT_MENU(call_proc_datum, R_DEBUG, "Atom ProcCall", datum/thing as null|area|mob|obj|turf)
+ADMIN_VERB_ONLY_CONTEXT_MENU(call_proc_datum, R_DEBUG, "Atom ProcCall", /datum)
+ VERB_ARG_TYPED(thing, VERB_ARG_TYPE_AREA | VERB_ARG_TYPE_OBJ | VERB_ARG_TYPE_TURF | VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /datum)
var/procname = input(user, "Proc name, eg: fake_blood","Proc:", null) as text|null
if(!procname)
return
diff --git a/code/modules/admin/smites/cluwndice.dm b/code/modules/admin/smites/cluwndice.dm
index 9838bfd9a898..e024a7ef51cd 100644
--- a/code/modules/admin/smites/cluwndice.dm
+++ b/code/modules/admin/smites/cluwndice.dm
@@ -10,5 +10,5 @@
return
var/mob/living/carbon/carbon_target = target
- carbon_target.set_blood_type(BLOOD_TYPE_CLOWN)
+ carbon_target.set_blood_type(/datum/blood_type/clown)
SEND_SOUND(carbon_target, 'sound/items/bikehorn.ogg')
diff --git a/code/modules/admin/verb_datums/_admin_verb_datum.dm b/code/modules/admin/verb_datums/_admin_verb_datum.dm
index 6255d962c40c..ab155e10061c 100644
--- a/code/modules/admin/verb_datums/_admin_verb_datum.dm
+++ b/code/modules/admin/verb_datums/_admin_verb_datum.dm
@@ -12,6 +12,7 @@ GENERAL_PROTECT_DATUM(/datum/admin_verb)
var/permissions //! The permissions required to use the verb.
var/visibility_flag //! The flag that determines if the verb is visible.
VAR_PROTECTED/verb_path //! The path to the verb proc.
+ var/list/datum/verb_arg_metadata/arguments //! Metadata about the verb's arguments.
/datum/admin_verb/Destroy(force)
if(!force)
@@ -25,3 +26,6 @@ GENERAL_PROTECT_DATUM(/datum/admin_verb)
/// Unassigns the verb from the admin.
/datum/admin_verb/proc/unassign_from_client(client/admin)
remove_verb(admin, verb_path)
+
+/datum/admin_verb/proc/get_verb_path()
+ return verb_path
diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm
index 5121dab2f00f..7bea5628f938 100644
--- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm
+++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm
@@ -195,7 +195,8 @@
state = SDQL2_STATE_ERROR;\
CRASH("SDQL2 fatal error");};
-ADMIN_VERB(sdql2_query, R_DEBUG, "SDQL2 Query", "Run a SDQL2 query.", ADMIN_CATEGORY_DEBUG, query_text as message)
+ADMIN_VERB(sdql2_query, R_DEBUG, "SDQL2 Query", "Run a SDQL2 query.", ADMIN_CATEGORY_DEBUG)
+ VERB_ARG(query_text, VERB_ARG_TYPE_MESSAGE, VERB_ARG_SOURCE_INPUT)
var/prompt = tgui_alert(user, "Run SDQL2 Query?", "SDQL2", list("Yes", "Cancel"))
if (prompt != "Yes")
return
diff --git a/code/modules/admin/verbs/admin.dm b/code/modules/admin/verbs/admin.dm
index eee0d0965325..1a02eb8418ec 100644
--- a/code/modules/admin/verbs/admin.dm
+++ b/code/modules/admin/verbs/admin.dm
@@ -27,7 +27,8 @@ ADMIN_VERB(announce, R_ADMIN, "Announce", "Announce your desires to the world.",
log_admin("Announce: [key_name(user)] : [message]")
BLACKBOX_LOG_ADMIN_VERB("Announce")
-ADMIN_VERB(unprison, R_ADMIN, "UnPrison", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, mob/prisoner)
+ADMIN_VERB(unprison, R_ADMIN, "UnPrison", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN)
+ VERB_ARG_TYPED(prisoner, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
if(!is_centcom_level(prisoner.z))
tgui_alert(user, "[prisoner.name] is not prisoned.")
return
@@ -149,7 +150,8 @@ ADMIN_VERB(cmd_admin_check_player_exp, R_ADMIN, "Player Playtime", "View player
///////////////////////////////////////////////////////////////////////////////////////////////
-ADMIN_VERB(drop_everything, R_ADMIN, "Drop Everything", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, mob/living/dropee)
+ADMIN_VERB(drop_everything, R_ADMIN, "Drop Everything", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN)
+ VERB_ARG_TYPED(dropee, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob/living)
var/confirm = tgui_alert(user, "Make [dropee] drop everything?", "Message", list("Yes", "No"))
if(confirm != "Yes")
return
diff --git a/code/modules/admin/verbs/adminevents.dm b/code/modules/admin/verbs/adminevents.dm
index eef7d16c24e6..ab9a5c01d48f 100644
--- a/code/modules/admin/verbs/adminevents.dm
+++ b/code/modules/admin/verbs/adminevents.dm
@@ -1,6 +1,7 @@
// Admin Tab - Event Verbs
-ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_subtle_message, R_ADMIN, "Subtle Message", mob/target)
+ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_subtle_message, R_ADMIN, "Subtle Message", /mob)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
message_admins("[key_name_admin(user)] has started answering [ADMIN_LOOKUPFLW(target)]'s prayer.")
var/msg = input(user, "Message:", "Subtle PM to [target.key]") as text|null
@@ -19,7 +20,8 @@ ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_subtle_message, R_ADMIN, "Subtle Message"
admin_ticket_log(target, msg)
BLACKBOX_LOG_ADMIN_VERB("Subtle Message")
-ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_headset_message, R_ADMIN, "Headset Message", mob/target)
+ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_headset_message, R_ADMIN, "Headset Message", /mob)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
user.admin_headset_message(target)
/client/proc/admin_headset_message(mob/target in GLOB.mob_list, sender = null)
@@ -74,7 +76,8 @@ ADMIN_VERB(cmd_admin_world_narrate, R_ADMIN, "Global Narrate", "Send a direct na
message_admins(span_adminnotice("[key_name_admin(user)] Sent a global narrate"))
BLACKBOX_LOG_ADMIN_VERB("Global Narrate")
-ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_local_narrate, R_ADMIN, "Local Narrate", atom/locale)
+ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_local_narrate, R_ADMIN, "Local Narrate", /atom)
+ VERB_ARG_TYPED(locale, VERB_ARG_TYPE_ATOM, VERB_ARG_SOURCE_WORLD, /atom)
var/range = input(user, "Range:", "Narrate to mobs within how many tiles:", 7) as num|null
if(!range)
return
@@ -89,7 +92,8 @@ ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_local_narrate, R_ADMIN, "Local Narrate",
message_admins(span_adminnotice(" LocalNarrate: [key_name_admin(user)] at [ADMIN_VERBOSEJMP(locale)]: [msg]
"))
BLACKBOX_LOG_ADMIN_VERB("Local Narrate")
-ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_direct_narrate, R_ADMIN, "Direct Narrate", mob/target)
+ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_direct_narrate, R_ADMIN, "Direct Narrate", /mob)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
var/msg = input(user, "Message:", "Enter the text you wish to appear to your target:") as text|null
if( !msg )
@@ -157,7 +161,7 @@ ADMIN_VERB(change_sec_level, R_ADMIN, "Set Security Level", "Changes the securit
message_admins("[key_name_admin(user)] changed the security level to [level]")
BLACKBOX_LOG_ADMIN_VERB("Set Security Level [capitalize(level)]")
-ADMIN_VERB(command_report_footnote, R_FUN, "Command Report Footnote", "Adds a footnote to the roundstart command report.", ADMIN_CATEGORY_EVENTS)
+ADMIN_VERB(command_report_footnote, R_ADMIN, "Command Report Footnote", "Adds a footnote to the roundstart command report.", ADMIN_CATEGORY_EVENTS)
var/datum/command_footnote/command_report_footnote = new /datum/command_footnote()
GLOB.communications_controller.block_command_report += 1 //Add a blocking condition to the counter until the inputs are done.
diff --git a/code/modules/admin/verbs/adminfun.dm b/code/modules/admin/verbs/adminfun.dm
index 0fa1efc54e52..98ba3eaa0dc9 100644
--- a/code/modules/admin/verbs/adminfun.dm
+++ b/code/modules/admin/verbs/adminfun.dm
@@ -1,4 +1,5 @@
-ADMIN_VERB(admin_explosion, R_ADMIN|R_FUN, "Explosion", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, atom/orignator as obj|mob|turf)
+ADMIN_VERB(admin_explosion, R_ADMIN|R_FUN, "Explosion", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN)
+ VERB_ARG_TYPED(orignator, VERB_ARG_TYPE_OBJ | VERB_ARG_TYPE_TURF | VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /atom)
var/devastation = input(user, "Range of total devastation. -1 to none", "Input") as num|null
if(devastation == null)
return
@@ -25,7 +26,8 @@ ADMIN_VERB(admin_explosion, R_ADMIN|R_FUN, "Explosion", ADMIN_VERB_NO_DESCRIPTIO
message_admins("[key_name_admin(user)] created an explosion ([devastation],[heavy],[light],[flames]) at [AREACOORD(orignator)]")
BLACKBOX_LOG_ADMIN_VERB("Explosion")
-ADMIN_VERB(admin_emp, R_ADMIN|R_FUN, "EM Pulse", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, atom/orignator as obj|mob|turf)
+ADMIN_VERB(admin_emp, R_ADMIN|R_FUN, "EM Pulse", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN)
+ VERB_ARG_TYPED(orignator, VERB_ARG_TYPE_OBJ | VERB_ARG_TYPE_TURF | VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /atom)
var/heavy = input(user, "Range of heavy pulse.", "Input") as num|null
if(heavy == null)
return
@@ -39,7 +41,8 @@ ADMIN_VERB(admin_emp, R_ADMIN|R_FUN, "EM Pulse", ADMIN_VERB_NO_DESCRIPTION, ADMI
message_admins("[key_name_admin(user)] created an EM Pulse ([heavy],[light]) at [AREACOORD(orignator)]")
BLACKBOX_LOG_ADMIN_VERB("EM Pulse")
-ADMIN_VERB(gib_them, R_ADMIN, "Gib", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, mob/victim)
+ADMIN_VERB(gib_them, R_ADMIN, "Gib", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN)
+ VERB_ARG_TYPED(victim, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
var/confirm = tgui_alert(user, "Drop a brain?", "Confirm", list("Yes", "No","Cancel")) || "Cancel"
if(confirm == "Cancel")
return
@@ -255,7 +258,8 @@ ADMIN_VERB(mass_modify_traits, R_FUN, "Mass Modify Traits", "Adds or removes a t
out += GLOB.admin_visible_traits[key]
return out
-ADMIN_VERB_AND_CONTEXT_MENU(admin_smite, R_ADMIN|R_FUN, "Smite", "Smite a player with divine power.", ADMIN_CATEGORY_FUN, mob/living/target)
+ADMIN_VERB_AND_CONTEXT_MENU(admin_smite, R_ADMIN|R_FUN, "Smite", "Smite a player with divine power.", ADMIN_CATEGORY_FUN, /mob/living)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob/living)
var/punishment = tgui_input_list(user, "Choose a punishment", "DIVINE SMITING", GLOB.smites)
if(QDELETED(target) || !punishment)
diff --git a/code/modules/admin/verbs/admingame.dm b/code/modules/admin/verbs/admingame.dm
index e7b261a21c53..8f1115ac4af6 100644
--- a/code/modules/admin/verbs/admingame.dm
+++ b/code/modules/admin/verbs/admingame.dm
@@ -1,7 +1,8 @@
ADMIN_VERB(cmd_player_panel, R_ADMIN, "Player Panel", "See all players and their Player Panel.", ADMIN_CATEGORY_GAME)
user.holder.player_panel_new()
-ADMIN_VERB_ONLY_CONTEXT_MENU(show_player_panel, R_ADMIN, "Show Player Panel", mob/player)
+ADMIN_VERB_ONLY_CONTEXT_MENU(show_player_panel, R_ADMIN, "Show Player Panel", /mob)
+ VERB_ARG_TYPED(player, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
log_admin("[key_name(user)] checked the individual player panel for [key_name(player)][isobserver(user.mob)?"":" while in game"].")
if(!player)
@@ -155,7 +156,8 @@ ADMIN_VERB_ONLY_CONTEXT_MENU(show_player_panel, R_ADMIN, "Show Player Panel", mo
user << browse(body, "window=adminplayeropts-[REF(player)];size=550x540")
BLACKBOX_LOG_ADMIN_VERB("Player Panel")
-ADMIN_VERB_ONLY_CONTEXT_MENU(show_occupants_player_panel, R_ADMIN, "Show Occupants PP", obj/target)
+ADMIN_VERB_ONLY_CONTEXT_MENU(show_occupants_player_panel, R_ADMIN, "Show Occupants PP", /obj)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_OBJ, VERB_ARG_SOURCE_WORLD, /obj)
var/list/options = list()
// Vehicles
@@ -225,7 +227,8 @@ ADMIN_VERB_ONLY_CONTEXT_MENU(show_occupants_player_panel, R_ADMIN, "Show Occupan
SSadmin_verbs.dynamic_invoke_verb(user, /datum/admin_verb/show_player_panel, selected_mob)
return
-GAME_VERB_PROC(/client, cmd_admin_godmode, "Godmode", "Admin.Game", mob/mob)
+GAME_VERB_PROC(/client, cmd_admin_godmode, "Godmode", "Admin.Game")
+ VERB_ARG_TYPED(mob, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
if(!check_rights(R_ADMIN))
return
@@ -448,7 +451,8 @@ ADMIN_VERB(combo_hud, R_ADMIN, "Toggle Combo HUD", "Toggles the Admin Combo HUD.
#undef ADMIN_HUDS
-ADMIN_VERB(show_traitor_panel, R_ADMIN, "Show Traitor Panel", "Edit mobs's memory and role", ADMIN_CATEGORY_GAME, mob/target_mob)
+ADMIN_VERB(show_traitor_panel, R_ADMIN, "Show Traitor Panel", "Edit mobs's memory and role", ADMIN_CATEGORY_GAME)
+ VERB_ARG_TYPED(target_mob, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
var/datum/mind/target_mind = target_mob.mind
if(!target_mind)
to_chat(user, "This mob has no mind!", confidential = TRUE)
@@ -459,7 +463,8 @@ ADMIN_VERB(show_traitor_panel, R_ADMIN, "Show Traitor Panel", "Edit mobs's memor
target_mind.traitor_panel()
BLACKBOX_LOG_ADMIN_VERB("Traitor Panel")
-ADMIN_VERB(show_skill_panel, R_ADMIN, "Show Skill Panel", "Edit mobs's experience and skill levels", ADMIN_CATEGORY_GAME, mob/target_mob)
+ADMIN_VERB(show_skill_panel, R_ADMIN, "Show Skill Panel", "Edit mobs's experience and skill levels", ADMIN_CATEGORY_GAME)
+ VERB_ARG_TYPED(target_mob, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
var/datum/mind/target_mind
if(istype(target_mob, /datum/mind))
target_mind = target_mob
diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index 45980d62b388..2485570f0f3d 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -792,7 +792,8 @@ GLOBAL_DATUM_INIT(admin_help_ui_handler, /datum/admin_help_ui_handler, new)
new /datum/admin_help(message, user_client, FALSE, urgent)
-GAME_VERB_HIDDEN(/client, no_tgui_adminhelp, "NoTguiAdminhelp", message as message)
+GAME_VERB_HIDDEN(/client, no_tgui_adminhelp, "NoTguiAdminhelp")
+ VERB_ARG(message, VERB_ARG_TYPE_MESSAGE, VERB_ARG_SOURCE_INPUT)
if(adminhelptimerid)
return
diff --git a/code/modules/admin/verbs/adminjump.dm b/code/modules/admin/verbs/adminjump.dm
index c20e5905d7c3..ed2f2509db03 100644
--- a/code/modules/admin/verbs/adminjump.dm
+++ b/code/modules/admin/verbs/adminjump.dm
@@ -1,4 +1,5 @@
-ADMIN_VERB(jump_to_area, R_ADMIN, "Jump To Area", "Jumps to the specified area.", ADMIN_CATEGORY_GAME, area/target in get_sorted_areas())
+ADMIN_VERB(jump_to_area, R_ADMIN, "Jump To Area", "Jumps to the specified area.", ADMIN_CATEGORY_GAME)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_AREA, VERB_ARG_SOURCE_WORLD, /area)
var/turf/drop_location
top_level:
for(var/list/zlevel_turfs as anything in target.get_zlevel_turf_lists())
@@ -17,19 +18,24 @@ ADMIN_VERB(jump_to_area, R_ADMIN, "Jump To Area", "Jumps to the specified area."
message_admins("[key_name_admin(user)] jumped to [AREACOORD(drop_location)]")
BLACKBOX_LOG_ADMIN_VERB("Jump To Area")
-ADMIN_VERB_ONLY_CONTEXT_MENU(jump_to_turf, R_ADMIN, "Jump To Turf", turf/locale)
+ADMIN_VERB_ONLY_CONTEXT_MENU(jump_to_turf, R_ADMIN, "Jump To Turf", /turf)
+ VERB_ARG_TYPED(locale, VERB_ARG_TYPE_TURF, VERB_ARG_SOURCE_WORLD, /turf)
log_admin("[key_name(user)] jumped to [AREACOORD(locale)]")
message_admins("[key_name_admin(user)] jumped to [AREACOORD(locale)]")
user.mob.abstract_move(locale)
BLACKBOX_LOG_ADMIN_VERB("Jump To Turf")
-ADMIN_VERB_ONLY_CONTEXT_MENU(jump_to_mob, R_ADMIN, "Jump To Mob", mob/target)
+ADMIN_VERB_ONLY_CONTEXT_MENU(jump_to_mob, R_ADMIN, "Jump To Mob", /mob)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
user.mob.abstract_move(target.loc)
log_admin("[key_name(user)] jumped to [key_name(target)]")
message_admins("[key_name_admin(user)] jumped to [ADMIN_LOOKUPFLW(target)] at [AREACOORD(target)]")
BLACKBOX_LOG_ADMIN_VERB("Jump To Mob")
-ADMIN_VERB(jump_to_coord, R_ADMIN, "Jump To Coordinate", "Jump to a specific coordinate in the game world.", ADMIN_CATEGORY_GAME, cx as num, cy as num, cz as num)
+ADMIN_VERB(jump_to_coord, R_ADMIN, "Jump To Coordinate", "Jump to a specific coordinate in the game world.", ADMIN_CATEGORY_GAME)
+ VERB_ARG(cx, VERB_ARG_TYPE_NUM, VERB_ARG_SOURCE_INPUT)
+ VERB_ARG(cy, VERB_ARG_TYPE_NUM, VERB_ARG_SOURCE_INPUT)
+ VERB_ARG(cz, VERB_ARG_TYPE_NUM, VERB_ARG_SOURCE_INPUT)
var/turf/where_we_droppin = locate(cx, cy, cz)
if(isnull(where_we_droppin))
to_chat(user, span_warning("Invalid coordinates."))
@@ -71,7 +77,8 @@ ADMIN_VERB(jump_to_ghost, R_ADMIN, "Jump To Ghost", "Jump your body to your Agho
SSadmin_verbs.dynamic_invoke_verb(user, /datum/admin_verb/admin_ghost)
BLACKBOX_LOG_ADMIN_VERB("Jump To Ghost")
-ADMIN_VERB_AND_CONTEXT_MENU(get_mob, R_ADMIN, "Get Mob", "Teleport a mob to your location.", ADMIN_CATEGORY_GAME, mob/target)
+ADMIN_VERB_AND_CONTEXT_MENU(get_mob, R_ADMIN, "Get Mob", "Teleport a mob to your location.", ADMIN_CATEGORY_GAME, /mob)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
var/atom/loc = get_turf(user.mob)
target.admin_teleport(loc)
BLACKBOX_LOG_ADMIN_VERB("Get Mob")
@@ -112,7 +119,8 @@ ADMIN_VERB(get_key, R_ADMIN, "Get Key", "Teleport the player with the provided k
M.forceMove(get_turf(user))
BLACKBOX_LOG_ADMIN_VERB("Get Key")
-ADMIN_VERB_AND_CONTEXT_MENU(send_mob, R_ADMIN, "Send Mob", "Teleport the specified mob to an area of your choosing.", ADMIN_CATEGORY_GAME, mob/jumper)
+ADMIN_VERB_AND_CONTEXT_MENU(send_mob, R_ADMIN, "Send Mob", "Teleport the specified mob to an area of your choosing.", ADMIN_CATEGORY_GAME, /mob)
+ VERB_ARG_TYPED(jumper, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
var/list/sorted_areas = get_sorted_areas()
if(!length(sorted_areas))
to_chat(user, "No areas found.", confidential = TRUE)
diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm
index dca693429c87..b0ae7f64fe75 100644
--- a/code/modules/admin/verbs/adminpm.dm
+++ b/code/modules/admin/verbs/adminpm.dm
@@ -13,7 +13,8 @@
// We also make SURE to fail loud, IE: if something stops the message from reaching the recipient, the sender HAS to know
// If you "refactor" this to make it "cleaner" I will send you to hell
-ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_pm_context, R_NONE, "Admin PM Mob", mob/target)
+ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_pm_context, R_NONE, "Admin PM Mob", /mob)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
if(!ismob(target))
to_chat(
src,
diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm
index 1f4f6ebf87c8..dcd4869861b6 100644
--- a/code/modules/admin/verbs/adminsay.dm
+++ b/code/modules/admin/verbs/adminsay.dm
@@ -1,4 +1,5 @@
-ADMIN_VERB(cmd_admin_say, R_NONE, "ASay", "Send a message to other admins", ADMIN_CATEGORY_MAIN, message as text)
+ADMIN_VERB(cmd_admin_say, R_NONE, "ASay", "Send a message to other admins", ADMIN_CATEGORY_MAIN)
+ VERB_ARG(message, VERB_ARG_TYPE_TEXT, VERB_ARG_SOURCE_INPUT)
message = emoji_parse(copytext_char(sanitize(message), 1, MAX_MESSAGE_LEN))
if(!message)
return
diff --git a/code/modules/admin/verbs/borgpanel.dm b/code/modules/admin/verbs/borgpanel.dm
index 4714bd6cd1f1..f73c3b10d637 100644
--- a/code/modules/admin/verbs/borgpanel.dm
+++ b/code/modules/admin/verbs/borgpanel.dm
@@ -1,4 +1,5 @@
-ADMIN_VERB(borg_panel, R_ADMIN, "Show Borg Panel", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, mob/living/silicon/robot/borgo)
+ADMIN_VERB(borg_panel, R_ADMIN, "Show Borg Panel", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN)
+ VERB_ARG_TYPED(borgo, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob/living/silicon/robot)
var/datum/borgpanel/borgpanel = new(user.mob, borgo)
borgpanel.ui_interact(user.mob)
diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm
index c330618d8b4c..f0d9792442fa 100644
--- a/code/modules/admin/verbs/deadsay.dm
+++ b/code/modules/admin/verbs/deadsay.dm
@@ -1,5 +1,6 @@
-ADMIN_VERB(dsay, R_NONE, "DSay", "Speak to the dead.", ADMIN_CATEGORY_GAME, message as text)
+ADMIN_VERB(dsay, R_NONE, "DSay", "Speak to the dead.", ADMIN_CATEGORY_GAME)
+ VERB_ARG(message, VERB_ARG_TYPE_TEXT, VERB_ARG_SOURCE_INPUT)
if(user.prefs.muted & MUTE_DEADCHAT)
to_chat(user, span_danger("You cannot send DSAY messages (muted)."), confidential = TRUE)
return
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index 926ae7df0bb8..5bbef5a0c038 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -13,7 +13,8 @@ ADMIN_VERB(air_status, R_DEBUG, "Air Status In Location", "Gets the air status f
atmos_scan(user.mob, user_turf, silent = TRUE)
BLACKBOX_LOG_ADMIN_VERB("Air Status In Location")
-ADMIN_VERB(cmd_admin_robotize, R_FUN, "Make Cyborg", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, mob/target)
+ADMIN_VERB(cmd_admin_robotize, R_FUN, "Make Cyborg", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
if(!SSticker.HasRoundStarted())
tgui_alert(user, "Wait until the game starts")
return
@@ -37,7 +38,9 @@ ADMIN_VERB(cmd_admin_robotize, R_FUN, "Make Cyborg", ADMIN_VERB_NO_DESCRIPTION,
return
return types[key]
-ADMIN_VERB(cmd_del_all, R_DEBUG|R_SPAWN, "Del-All", "Delete all datums with the specified type.", ADMIN_CATEGORY_DEBUG, object as text)
+ADMIN_VERB(cmd_del_all, R_DEBUG|R_SPAWN, "Del-All", "Delete all datums with the specified type.", ADMIN_CATEGORY_DEBUG)
+
+ VERB_ARG(object, VERB_ARG_TYPE_TYPEPATH, VERB_ARG_SOURCE_INPUT)
var/type_to_del = user.poll_type_to_del(object)
if(!type_to_del)
return
@@ -52,7 +55,9 @@ ADMIN_VERB(cmd_del_all, R_DEBUG|R_SPAWN, "Del-All", "Delete all datums with the
message_admins("[key_name_admin(user)] has deleted all ([counter]) instances of [type_to_del].")
BLACKBOX_LOG_ADMIN_VERB("Delete All")
-ADMIN_VERB(cmd_del_all_force, R_DEBUG|R_SPAWN, "Force-Del-All", "Forcibly delete all datums with the specified type.", ADMIN_CATEGORY_DEBUG, object as text)
+ADMIN_VERB(cmd_del_all_force, R_DEBUG|R_SPAWN, "Force-Del-All", "Forcibly delete all datums with the specified type.", ADMIN_CATEGORY_DEBUG)
+
+ VERB_ARG(object, VERB_ARG_TYPE_TYPEPATH, VERB_ARG_SOURCE_INPUT)
var/type_to_del = user.poll_type_to_del(object)
if(!type_to_del)
return
@@ -67,7 +72,9 @@ ADMIN_VERB(cmd_del_all_force, R_DEBUG|R_SPAWN, "Force-Del-All", "Forcibly delete
message_admins("[key_name_admin(user)] has force-deleted all ([counter]) instances of [type_to_del].")
BLACKBOX_LOG_ADMIN_VERB("Force-Delete All")
-ADMIN_VERB(cmd_del_all_hard, R_DEBUG|R_SPAWN, "Hard-Del-All", "Hard delete all datums with the specified type.", ADMIN_CATEGORY_DEBUG, object as text)
+ADMIN_VERB(cmd_del_all_hard, R_DEBUG|R_SPAWN, "Hard-Del-All", "Hard delete all datums with the specified type.", ADMIN_CATEGORY_DEBUG)
+
+ VERB_ARG(object, VERB_ARG_TYPE_TYPEPATH, VERB_ARG_SOURCE_INPUT)
var/type_to_del = user.poll_type_to_del(object)
if(!type_to_del)
return
@@ -114,7 +121,8 @@ ADMIN_VERB(cmd_debug_make_powernets, R_DEBUG|R_SERVER, "Make Powernets", "Regene
BLACKBOX_LOG_ADMIN_VERB("Make Powernets")
ADMIN_VERB_VISIBILITY(cmd_admin_grantfullaccess, ADMIN_VERB_VISIBLITY_FLAG_MAPPING_DEBUG)
-ADMIN_VERB(cmd_admin_grantfullaccess, R_DEBUG, "Grant Full Access", "Grant full access to a mob.", ADMIN_CATEGORY_DEBUG, mob/M)
+ADMIN_VERB(cmd_admin_grantfullaccess, R_DEBUG, "Grant Full Access", "Grant full access to a mob.", ADMIN_CATEGORY_DEBUG)
+ VERB_ARG_TYPED(M, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
if(!SSticker.HasRoundStarted())
tgui_alert(user, "Wait until the game starts")
return
@@ -155,7 +163,8 @@ ADMIN_VERB(cmd_admin_grantfullaccess, R_DEBUG, "Grant Full Access", "Grant full
log_admin("[key_name(user)] has granted [M.key] full access.")
message_admins(span_adminnotice("[key_name_admin(user)] has granted [M.key] full access."))
-ADMIN_VERB(cmd_assume_direct_control, R_ADMIN, "Assume Direct Control", "Assume direct control of a mob.", ADMIN_CATEGORY_DEBUG, mob/M)
+ADMIN_VERB(cmd_assume_direct_control, R_ADMIN, "Assume Direct Control", "Assume direct control of a mob.", ADMIN_CATEGORY_DEBUG)
+ VERB_ARG_TYPED(M, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
if(M.ckey)
if(tgui_alert(user,"This mob is being controlled by [M.key]. Are you sure you wish to assume control of it? [M.key] will be made a ghost.",,list("Yes","No")) != "Yes")
return
@@ -175,7 +184,8 @@ ADMIN_VERB(cmd_assume_direct_control, R_ADMIN, "Assume Direct Control", "Assume
qdel(adminmob)
BLACKBOX_LOG_ADMIN_VERB("Assume Direct Control")
-ADMIN_VERB(cmd_give_direct_control, R_ADMIN, "Give Direct Control", "Give direct control of a mob to another player.", ADMIN_CATEGORY_GAME, mob/M)
+ADMIN_VERB(cmd_give_direct_control, R_ADMIN, "Give Direct Control", "Give direct control of a mob to another player.", ADMIN_CATEGORY_GAME)
+ VERB_ARG_TYPED(M, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
if(!M)
return
if(M.ckey)
@@ -202,7 +212,9 @@ ADMIN_VERB(cmd_give_direct_control, R_ADMIN, "Give Direct Control", "Give direct
BLACKBOX_LOG_ADMIN_VERB("Give Direct Control")
ADMIN_VERB_VISIBILITY(cmd_admin_areatest, ADMIN_VERB_VISIBLITY_FLAG_MAPPING_DEBUG)
-ADMIN_VERB(cmd_admin_areatest, R_DEBUG, "Test Areas", "Tests the areas for various machinery.", ADMIN_CATEGORY_MAPPING, on_station as num, filter_maint as num)
+ADMIN_VERB(cmd_admin_areatest, R_DEBUG, "Test Areas", "Tests the areas for various machinery.", ADMIN_CATEGORY_MAPPING)
+ VERB_ARG(on_station, VERB_ARG_TYPE_NUM, VERB_ARG_SOURCE_INPUT)
+ VERB_ARG(filter_maint, VERB_ARG_TYPE_NUM, VERB_ARG_SOURCE_INPUT)
var/list/dat = list()
var/list/areas_all = list()
var/list/areas_with_APC = list()
@@ -455,7 +467,8 @@ ADMIN_VERB(cmd_admin_areatest_all, R_DEBUG, "Test Areas (ALL)", "Tests the areas
return dresscode
-ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_rejuvenate, R_ADMIN, "Rejuvenate", mob/living/M)
+ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_rejuvenate, R_ADMIN, "Rejuvenate", /mob/living)
+ VERB_ARG_TYPED(M, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob/living)
if(!istype(M))
tgui_alert(user,"Cannot revive a ghost")
return
@@ -467,10 +480,12 @@ ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_rejuvenate, R_ADMIN, "Rejuvenate", mob/li
admin_ticket_log(M, msg)
BLACKBOX_LOG_ADMIN_VERB("Rejuvenate")
-ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_delete, R_DEBUG|R_SPAWN, "Delete", atom/target as obj|mob|turf)
+ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_admin_delete, R_DEBUG|R_SPAWN, "Delete", /atom)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_OBJ | VERB_ARG_TYPE_MOB | VERB_ARG_TYPE_TURF, VERB_ARG_SOURCE_WORLD, /atom)
user.admin_delete(target)
-ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_check_contents, R_ADMIN, "Check Contents", mob/living/mob)
+ADMIN_VERB_ONLY_CONTEXT_MENU(cmd_check_contents, R_ADMIN, "Check Contents", /mob/living)
+ VERB_ARG_TYPED(mob, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob/living)
var/list/mob_contents = mob.get_contents()
for(var/content in mob_contents)
to_chat(user, "[content] [ADMIN_VV(content)] [ADMIN_TAG(content)]", confidential = TRUE)
@@ -569,7 +584,8 @@ ADMIN_VERB(debug_plane_masters, R_DEBUG, "Edit/Debug Planes", "Edit and visualiz
holder.plane_debug.set_mirroring(FALSE)
holder.plane_debug.ui_interact(mob)
-ADMIN_VERB(debug_huds, R_DEBUG, "Debug HUDs", "Debug the data or antag HUDs.", ADMIN_CATEGORY_DEBUG, i as num)
+ADMIN_VERB(debug_huds, R_DEBUG, "Debug HUDs", "Debug the data or antag HUDs.", ADMIN_CATEGORY_DEBUG)
+ VERB_ARG(i, VERB_ARG_TYPE_NUM, VERB_ARG_SOURCE_INPUT)
user.debug_variables(GLOB.huds[i])
ADMIN_VERB(jump_to_ruin, R_DEBUG, "Jump to Ruin", "Displays a list of all placed ruins to teleport to.", ADMIN_CATEGORY_DEBUG)
@@ -642,7 +658,8 @@ ADMIN_VERB(place_ruin, R_DEBUG, "Spawn Ruin", "Attempt to randomly place a speci
ADMIN_VERB(unload_ctf, R_DEBUG, "Unload CTF", "Despawns the majority of CTF.", ADMIN_CATEGORY_DEBUG)
toggle_id_ctf(user, CTF_GHOST_CTF_GAME_ID, unload=TRUE)
-ADMIN_VERB(run_empty_query, R_DEBUG, "Run Empty Query", "Runs a specified number of empty queries.", ADMIN_CATEGORY_DEBUG, val as num)
+ADMIN_VERB(run_empty_query, R_DEBUG, "Run Empty Query", "Runs a specified number of empty queries.", ADMIN_CATEGORY_DEBUG)
+ VERB_ARG(val, VERB_ARG_TYPE_NUM, VERB_ARG_SOURCE_INPUT)
var/list/queries = list()
for(var/i in 1 to val)
var/datum/db_query/query = SSdbcore.NewQuery("NULL")
diff --git a/code/modules/admin/verbs/diagnostics.dm b/code/modules/admin/verbs/diagnostics.dm
index 5dafce71c193..6bd6a983d9ea 100644
--- a/code/modules/admin/verbs/diagnostics.dm
+++ b/code/modules/admin/verbs/diagnostics.dm
@@ -1,5 +1,7 @@
ADMIN_VERB_VISIBILITY(debug_air_status, ADMIN_VERB_VISIBLITY_FLAG_MAPPING_DEBUG)
-ADMIN_VERB(debug_air_status, R_DEBUG, "Debug Air Status" , ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, turf/target)
+
+ADMIN_VERB(debug_air_status, R_DEBUG, "Debug Air Status" , ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_TURF, VERB_ARG_SOURCE_WORLD, /turf)
atmos_scan(user.mob, target, silent = TRUE)
BLACKBOX_LOG_ADMIN_VERB("Show Air Status")
diff --git a/code/modules/admin/verbs/fix_air.dm b/code/modules/admin/verbs/fix_air.dm
index 5ca7aeadcc3a..bf676df6a69c 100644
--- a/code/modules/admin/verbs/fix_air.dm
+++ b/code/modules/admin/verbs/fix_air.dm
@@ -1,5 +1,8 @@
// Proc taken from yogstation, credit to nichlas0010 for the original
-ADMIN_VERB_AND_CONTEXT_MENU(fix_air, R_ADMIN, "Fix Air", "Fixes air in a specified radius.", ADMIN_CATEGORY_GAME, turf/open/locale, range = 2 as num)
+ADMIN_VERB_AND_CONTEXT_MENU(fix_air, R_ADMIN, "Fix Air", "Fixes air in a specified radius.", ADMIN_CATEGORY_GAME, /turf/open)
+ VERB_ARG_TYPED(locale, VERB_ARG_TYPE_TURF, VERB_ARG_SOURCE_WORLD, /turf/open)
+ VERB_ARG(range, VERB_ARG_TYPE_NUM, VERB_ARG_SOURCE_INPUT)
+
message_admins("[key_name_admin(user)] fixed air with range [range] in area [locale.loc.name]")
user.mob.log_message("fixed air with range [range] in area [locale.loc.name]", LOG_ADMIN)
diff --git a/code/modules/admin/verbs/grant_dna_infusion.dm b/code/modules/admin/verbs/grant_dna_infusion.dm
index e39b7efc1b23..b06b4aced839 100644
--- a/code/modules/admin/verbs/grant_dna_infusion.dm
+++ b/code/modules/admin/verbs/grant_dna_infusion.dm
@@ -3,7 +3,8 @@
* Returns the entry if all organs were successfully replaced.
* If no infusion was picked, the infusion had no organs, or if one or more organs could not be granted, returns FALSE
*/
-GAME_VERB_PROC(/client, grant_dna_infusion, "Apply DNA Infusion", "Debug", mob/living/carbon/human/target)
+GAME_VERB_PROC(/client, grant_dna_infusion, "Apply DNA Infusion", "Debug")
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob/living/carbon/human)
var/list/infusions = list()
for(var/datum/infuser_entry/path as anything in sort_list(subtypesof(/datum/infuser_entry), GLOBAL_PROC_REF(cmp_typepaths_asc)))
diff --git a/code/modules/admin/verbs/machine_upgrade.dm b/code/modules/admin/verbs/machine_upgrade.dm
index 2cac1be623e9..7cb751afd345 100644
--- a/code/modules/admin/verbs/machine_upgrade.dm
+++ b/code/modules/admin/verbs/machine_upgrade.dm
@@ -1,4 +1,5 @@
-ADMIN_VERB_ONLY_CONTEXT_MENU(machine_upgrade, R_DEBUG, "Tweak Component Ratings", obj/machinery/machine)
+ADMIN_VERB_ONLY_CONTEXT_MENU(machine_upgrade, R_DEBUG, "Tweak Component Ratings", /obj/machinery)
+ VERB_ARG_TYPED(machine, VERB_ARG_TYPE_OBJ, VERB_ARG_SOURCE_WORLD, /obj/machinery)
if(!ismachinery(machine))
return
var/new_rating = tgui_input_number(user, "", "Enter new rating:")
diff --git a/code/modules/admin/verbs/manipulate_organs.dm b/code/modules/admin/verbs/manipulate_organs.dm
index ecf63cc5e6f8..2275b396c887 100644
--- a/code/modules/admin/verbs/manipulate_organs.dm
+++ b/code/modules/admin/verbs/manipulate_organs.dm
@@ -1,5 +1,7 @@
ADMIN_VERB_VISIBILITY(manipulate_organs, ADMIN_VERB_VISIBLITY_FLAG_MAPPING_DEBUG)
-ADMIN_VERB(manipulate_organs, R_DEBUG, "Manipulate Organs", "Manipulate the organs of a living carbon.", ADMIN_CATEGORY_DEBUG, mob/living/carbon/carbon_victim)
+
+ADMIN_VERB(manipulate_organs, R_DEBUG, "Manipulate Organs", "Manipulate the organs of a living carbon.", ADMIN_CATEGORY_DEBUG)
+ VERB_ARG_TYPED(carbon_victim, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob/living/carbon)
var/operation = tgui_input_list(user, "Select organ operation", "Organ Manipulation", list("Add organ", "Add implant", "Drop organ/implant", "Remove organ/implant"))
if (isnull(operation))
return
diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm
index c30c3e6d4550..f908ea16ea62 100644
--- a/code/modules/admin/verbs/playsound.dm
+++ b/code/modules/admin/verbs/playsound.dm
@@ -3,7 +3,8 @@
#define SHELLEO_STDOUT 2
#define SHELLEO_STDERR 3
-ADMIN_VERB(play_sound, R_SOUND, "Play Global Sound", "Play a sound to all connected players.", ADMIN_CATEGORY_FUN, sound as sound)
+ADMIN_VERB(play_sound, R_SOUND, "Play Global Sound", "Play a sound to all connected players.", ADMIN_CATEGORY_FUN)
+ VERB_ARG(sound, VERB_ARG_TYPE_SOUND, VERB_ARG_SOURCE_INPUT)
var/freq = 1
var/vol = tgui_input_number(user, "What volume would you like the sound to play at?", max_value = 100)
if(!vol)
@@ -39,14 +40,17 @@ ADMIN_VERB(play_sound, R_SOUND, "Play Global Sound", "Play a sound to all connec
BLACKBOX_LOG_ADMIN_VERB("Play Global Sound")
-ADMIN_VERB(play_local_sound, R_SOUND, "Play Local Sound", "Plays a sound only you can hear.", ADMIN_CATEGORY_FUN, sound as sound)
+ADMIN_VERB(play_local_sound, R_SOUND, "Play Local Sound", "Plays a sound only you can hear.", ADMIN_CATEGORY_FUN)
+ VERB_ARG(sound, VERB_ARG_TYPE_SOUND, VERB_ARG_SOURCE_INPUT)
log_admin("[key_name(user)] played a local sound [sound]")
message_admins("[key_name_admin(user)] played a local sound [sound]")
var/volume = tgui_input_number(user, "What volume would you like the sound to play at?", max_value = 100)
playsound(get_turf(user.mob), sound, volume || 50, FALSE)
BLACKBOX_LOG_ADMIN_VERB("Play Local Sound")
-ADMIN_VERB(play_direct_mob_sound, R_SOUND, "Play Direct Mob Sound", "Play a sound directly to a mob.", ADMIN_CATEGORY_FUN, sound as sound, mob/target)
+ADMIN_VERB(play_direct_mob_sound, R_SOUND, "Play Direct Mob Sound", "Play a sound directly to a mob.", ADMIN_CATEGORY_FUN)
+ VERB_ARG(sound, VERB_ARG_TYPE_SOUND, VERB_ARG_SOURCE_INPUT)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
if(!target)
target = input(user, "Choose a mob to play the sound to. Only they will hear it.", "Play Mob Sound") as null|anything in sort_names(GLOB.player_list)
if(QDELETED(target))
@@ -250,7 +254,8 @@ ADMIN_VERB(play_web_sound, R_SOUND, "Play Internet Sound", "Play a given interne
else
web_sound(user.mob, null)
-ADMIN_VERB(set_round_end_sound, R_SOUND, "Set Round End Sound", "Set the sound that plays on round end.", ADMIN_CATEGORY_FUN, sound as sound)
+ADMIN_VERB(set_round_end_sound, R_SOUND, "Set Round End Sound", "Set the sound that plays on round end.", ADMIN_CATEGORY_FUN)
+ VERB_ARG(sound, VERB_ARG_TYPE_SOUND, VERB_ARG_SOURCE_INPUT)
var/volume = tgui_input_number(user, "What volume would you like this sound to play at?", max_value = 100)
var/sound/admin_sound = sound(sound)
if(volume)
diff --git a/code/modules/admin/verbs/possess.dm b/code/modules/admin/verbs/possess.dm
index 4f4fd3d9649a..00864cb8b2f8 100644
--- a/code/modules/admin/verbs/possess.dm
+++ b/code/modules/admin/verbs/possess.dm
@@ -1,5 +1,6 @@
-ADMIN_VERB_AND_CONTEXT_MENU(possess, R_POSSESS, "Possess Obj", "Possess an object.", ADMIN_CATEGORY_FUN, obj/target)
+ADMIN_VERB_AND_CONTEXT_MENU(possess, R_POSSESS, "Possess Obj", "Possess an object.", ADMIN_CATEGORY_FUN, /obj)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_OBJ, VERB_ARG_SOURCE_WORLD, /obj)
if(isnull(target.loc))
return
diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm
index a8443b80303a..ce35b8745cda 100644
--- a/code/modules/admin/verbs/pray.dm
+++ b/code/modules/admin/verbs/pray.dm
@@ -1,4 +1,5 @@
-GAME_VERB(/mob, pray, VERB_PRAY, null, message as text)
+GAME_VERB(/mob, pray, VERB_PRAY, null)
+ VERB_ARG(message, VERB_ARG_TYPE_TEXT, VERB_ARG_SOURCE_INPUT)
if(GLOB.say_disabled) //This is here to try to identify lag problems
to_chat(src, span_danger("Speech is currently admin-disabled."), confidential = TRUE)
return
diff --git a/code/modules/admin/verbs/selectequipment.dm b/code/modules/admin/verbs/selectequipment.dm
index f67ef904ffc3..12cfa91cf179 100644
--- a/code/modules/admin/verbs/selectequipment.dm
+++ b/code/modules/admin/verbs/selectequipment.dm
@@ -1,4 +1,5 @@
-ADMIN_VERB_ONLY_CONTEXT_MENU(select_equipment, R_FUN, "Select Equipment", mob/target)
+ADMIN_VERB_ONLY_CONTEXT_MENU(select_equipment, R_FUN, "Select Equipment", /mob)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
var/datum/select_equipment/ui = new(user, target)
ui.ui_interact(user.mob)
diff --git a/code/modules/admin/verbs/spawnobjasmob.dm b/code/modules/admin/verbs/spawnobjasmob.dm
index 56fe8fbf84fa..6c641f75cc63 100644
--- a/code/modules/admin/verbs/spawnobjasmob.dm
+++ b/code/modules/admin/verbs/spawnobjasmob.dm
@@ -1,4 +1,5 @@
-ADMIN_VERB(spawn_obj_as_mob, R_SPAWN, "Spawn Object-Mob", "Spawn an object as if it were a mob.", ADMIN_CATEGORY_DEBUG, object as text)
+ADMIN_VERB(spawn_obj_as_mob, R_SPAWN, "Spawn Object-Mob", "Spawn an object as if it were a mob.", ADMIN_CATEGORY_DEBUG)
+ VERB_ARG(object, VERB_ARG_TYPE_TYPEPATH, VERB_ARG_SOURCE_INPUT)
var/chosen = pick_closest_path(object, make_types_fancy(subtypesof(/obj)))
if (!chosen)
diff --git a/code/modules/admin/view_variables/mark_datum.dm b/code/modules/admin/view_variables/mark_datum.dm
index a71e5909db41..73eccf21cd8c 100644
--- a/code/modules/admin/view_variables/mark_datum.dm
+++ b/code/modules/admin/view_variables/mark_datum.dm
@@ -10,7 +10,8 @@
holder.RegisterSignal(holder.marked_datum, COMSIG_QDELETING, TYPE_PROC_REF(/datum/admins, handle_marked_del))
vv_update_display(D, "marked", VV_MSG_MARKED)
-ADMIN_VERB_ONLY_CONTEXT_MENU(mark_datum, R_NONE, "Mark Object", datum/target as anything)
+ADMIN_VERB_ONLY_CONTEXT_MENU(mark_datum, R_NONE, "Mark Object", /datum)
+ VERB_ARG_TYPED(target, VERB_ARG_TYPE_MOB | VERB_ARG_TYPE_OBJ | VERB_ARG_TYPE_TURF | VERB_ARG_TYPE_AREA, VERB_ARG_SOURCE_VIEW, /datum)
user.mark_datum(target)
/datum/admins/proc/handle_marked_del(datum/source)
diff --git a/code/modules/admin/view_variables/tag_datum.dm b/code/modules/admin/view_variables/tag_datum.dm
index 030f245bbe5a..ab853dcc584b 100644
--- a/code/modules/admin/view_variables/tag_datum.dm
+++ b/code/modules/admin/view_variables/tag_datum.dm
@@ -12,5 +12,6 @@
else
holder.add_tagged_datum(target_datum)
-ADMIN_VERB_ONLY_CONTEXT_MENU(tag_datum, R_NONE, "Tag Datum", datum/target_datum as anything)
+ADMIN_VERB_ONLY_CONTEXT_MENU(tag_datum, R_NONE, "Tag Datum", /datum)
+ VERB_ARG_TYPED(target_datum, VERB_ARG_TYPE_MOB | VERB_ARG_TYPE_OBJ | VERB_ARG_TYPE_TURF | VERB_ARG_TYPE_AREA, VERB_ARG_SOURCE_VIEW, /datum)
user.tag_datum(target_datum)
diff --git a/code/modules/admin/view_variables/view_variables.dm b/code/modules/admin/view_variables/view_variables.dm
index 3259ccf4c221..f93d0a9b2774 100644
--- a/code/modules/admin/view_variables/view_variables.dm
+++ b/code/modules/admin/view_variables/view_variables.dm
@@ -1,7 +1,8 @@
#define ICON_STATE_CHECKED 1 /// this dmi is checked. We don't check this one anymore.
#define ICON_STATE_NULL 2 /// this dmi has null-named icon_state, allowing it to show a sprite on vv editor.
-ADMIN_VERB_ONLY_CONTEXT_MENU(debug_variables, R_NONE, "View Variables", datum/thing as anything)
+ADMIN_VERB_ONLY_CONTEXT_MENU(debug_variables, R_NONE, "View Variables", /datum)
+ VERB_ARG_TYPED(thing, VERB_ARG_TYPE_DATUM, VERB_ARG_SOURCE_WORLD, /datum)
user.debug_variables(thing)
// This is kept as a separate proc because admins are able to show VV to non-admins
diff --git a/code/modules/antagonists/blob/blobstrains/distributed_neurons.dm b/code/modules/antagonists/blob/blobstrains/distributed_neurons.dm
index e85d9828c2b3..cae50f25e83c 100644
--- a/code/modules/antagonists/blob/blobstrains/distributed_neurons.dm
+++ b/code/modules/antagonists/blob/blobstrains/distributed_neurons.dm
@@ -33,5 +33,4 @@
if(exposed_mob.stat == DEAD && overmind.can_buy(5))
var/mob/living/basic/blob_minion/spore/minion/spore = overmind.create_spore(get_turf(exposed_mob))
spore.zombify(exposed_mob)
- overmind.add_points(-5)
to_chat(overmind, span_notice("Spent 5 resources for the zombification of [exposed_mob]."))
diff --git a/code/modules/antagonists/blob/blobstrains/shifting_fragments.dm b/code/modules/antagonists/blob/blobstrains/shifting_fragments.dm
index 8dfe798c57e3..a17b6425e4e9 100644
--- a/code/modules/antagonists/blob/blobstrains/shifting_fragments.dm
+++ b/code/modules/antagonists/blob/blobstrains/shifting_fragments.dm
@@ -30,6 +30,7 @@
/datum/reagent/blob/shifting_fragments
name = "Shifting Fragments"
color = "#C8963C"
+ taste_description = "egg yolk"
/datum/reagent/blob/shifting_fragments/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume, show_message, touch_protection, mob/eye/blob/overmind)
. = ..()
diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm
index 29cd71db1af2..661b61ab0cc1 100644
--- a/code/modules/antagonists/blob/overmind.dm
+++ b/code/modules/antagonists/blob/overmind.dm
@@ -306,7 +306,7 @@ GLOBAL_LIST_EMPTY(blob_nodes)
if(blobstrain)
. += "Its strain is [blobstrain.name]."
-/mob/eye/blob/update_health_hud()
+/mob/eye/blob/update_health_hud(healthpercent)
if(!blob_core)
return FALSE
var/current_health = round((blob_core.get_integrity() / blob_core.max_integrity) * 100)
diff --git a/code/modules/antagonists/blob/powers.dm b/code/modules/antagonists/blob/powers.dm
index 6939c4d27c4c..de31f1c3f369 100644
--- a/code/modules/antagonists/blob/powers.dm
+++ b/code/modules/antagonists/blob/powers.dm
@@ -166,7 +166,7 @@
if(!can_buy(BLOB_UPGRADE_REFLECTOR_COST))
return
- to_chat(src, span_warning("You secrete a reflective ooze over the shield blob, allowing it to reflect projectiles at the cost of reduced integrity."))
+ to_chat(src, span_warning("You secrete a reflective ooze over the shield blob, allowing it to reflect projectiles at the cost of reduced resistance to explosions."))
shield = shield.change_to(/obj/structure/blob/shield/reflective, src)
shield.balloon_alert(src, "upgraded to [shield.name]!")
diff --git a/code/modules/antagonists/blood_worm/blood_worm_mob.dm b/code/modules/antagonists/blood_worm/blood_worm_mob.dm
index fa9a3d2df608..6442dde137df 100644
--- a/code/modules/antagonists/blood_worm/blood_worm_mob.dm
+++ b/code/modules/antagonists/blood_worm/blood_worm_mob.dm
@@ -269,6 +269,14 @@
. = ..()
icon_state = "invade-[effect_name]"
+/mob/living/basic/blood_worm/lazarus_revive(mob/living/reviver, malfunctioning)
+ if(!IS_BLOODWORM(src)) //checks to see if this isn't just a poly'd bloodworm
+ return ..()
+
+ revive(HEAL_ALL)
+ to_chat(reviver, span_userdanger("[src] resists the control of the injector!"))
+ balloon_alert(reviver, "can't control!")
+
/mob/living/basic/blood_worm/hatchling
name = "hatchling blood worm"
desc = "A freshly hatched blood worm. It looks hungry and weak, requiring blood to grow further."
diff --git a/code/modules/antagonists/brother/brother.dm b/code/modules/antagonists/brother/brother.dm
index 7f3cbe1225fb..41faf16e122b 100644
--- a/code/modules/antagonists/brother/brother.dm
+++ b/code/modules/antagonists/brother/brother.dm
@@ -137,7 +137,7 @@
var/mob/living/carbon/human/dummy/consistent/brother1 = new
var/mob/living/carbon/human/dummy/consistent/brother2 = new
- brother1.dna.features[FEATURE_ETHEREAL_COLOR] = GLOB.color_list_ethereal["Faint Red"]
+ brother1.dna.features[FEATURE_MUTANT_COLOR] = GLOB.color_list_ethereal["Faint Red"]
brother1.set_species(/datum/species/ethereal)
brother2.dna.features[FEATURE_MOTH_ANTENNAE] = "Plain"
diff --git a/code/modules/antagonists/heretic/heretic_curses.dm b/code/modules/antagonists/heretic/heretic_curses.dm
index 3d05ff097f46..757bd75088e8 100644
--- a/code/modules/antagonists/heretic/heretic_curses.dm
+++ b/code/modules/antagonists/heretic/heretic_curses.dm
@@ -28,7 +28,7 @@
for(var/datum/reagent/blood/usable_reagent as anything in requirement.reagents?.reagent_list)
if(!istype(usable_reagent, /datum/reagent/blood))
continue
- blood_samples[usable_reagent.data["blood_DNA"]] = TRUE
+ blood_samples[usable_reagent.data[BLOOD_DATA_DNA]] = TRUE
return TRUE
@@ -90,7 +90,7 @@
if(!to_drain.reagents?.reagent_list)
continue
for(var/datum/reagent/to_match in to_drain.reagents.reagent_list)
- if(to_match.data["blood_DNA"] != to_curse.dna.unique_enzymes)
+ if(to_match.data[BLOOD_DATA_DNA] != to_curse.dna.unique_enzymes)
continue
to_drain.reagents.remove_reagent(to_match.type, 5)
return TRUE
diff --git a/code/modules/antagonists/heretic/items/forbidden_book.dm b/code/modules/antagonists/heretic/items/forbidden_book.dm
index 3a7fafba81ba..6aa2198772d4 100644
--- a/code/modules/antagonists/heretic/items/forbidden_book.dm
+++ b/code/modules/antagonists/heretic/items/forbidden_book.dm
@@ -130,7 +130,7 @@
for(var/datum/reagent/blood/usable_reagent as anything in held_offhand.reagents?.reagent_list)
if(!istype(usable_reagent, /datum/reagent/blood))
continue
- blood_samples += usable_reagent.data["blood_DNA"]
+ blood_samples += usable_reagent.data[BLOOD_DATA_DNA]
if(isnull(blood_samples))
user.balloon_alert(user, "no blood!")
return ITEM_INTERACT_BLOCKING
diff --git a/code/modules/antagonists/heretic/items/heretic_blades.dm b/code/modules/antagonists/heretic/items/heretic_blades.dm
index 614a91ed0228..c2c01bd0a441 100644
--- a/code/modules/antagonists/heretic/items/heretic_blades.dm
+++ b/code/modules/antagonists/heretic/items/heretic_blades.dm
@@ -141,7 +141,7 @@
AddComponent(
/datum/component/bloody_spreader,\
- blood_dna = list("Alien DNA" = get_blood_type(BLOOD_TYPE_XENO)),\
+ blood_dna = list("Alien DNA" = get_blood_type(/datum/blood_type/xeno)),\
)
// Path of Void's blade
diff --git a/code/modules/antagonists/heretic/magic/realignment.dm b/code/modules/antagonists/heretic/magic/realignment.dm
index 1f33b8d1e1bd..b40b51e5f8bf 100644
--- a/code/modules/antagonists/heretic/magic/realignment.dm
+++ b/code/modules/antagonists/heretic/magic/realignment.dm
@@ -57,7 +57,7 @@
///Traits to add/remove
var/list/realignment_traits = list(TRAIT_BATON_RESISTANCE, TRAIT_PACIFISM)
-/datum/status_effect/realignment/get_examine_text()
+/datum/status_effect/realignment/get_examine_text(mob/examiner)
return span_notice("[owner.p_Theyre()] glowing a soft white.")
/datum/status_effect/realignment/on_apply()
diff --git a/code/modules/antagonists/heretic/status_effects/buffs.dm b/code/modules/antagonists/heretic/status_effects/buffs.dm
index f0a10abf8c59..1a6ec9ba7ee0 100644
--- a/code/modules/antagonists/heretic/status_effects/buffs.dm
+++ b/code/modules/antagonists/heretic/status_effects/buffs.dm
@@ -27,7 +27,7 @@
owner.apply_status_effect(/datum/status_effect/crucible_soul_cooldown)
location = null
-/datum/status_effect/crucible_soul/get_examine_text()
+/datum/status_effect/crucible_soul/get_examine_text(mob/examiner)
return span_notice("[owner.p_They()] [owner.p_do()]n't seem to be all here.")
/datum/action/cancel_crucible_soul
@@ -317,7 +317,7 @@
span_notice("You exit the refuge."),
)
-/datum/status_effect/caretaker_refuge/get_examine_text()
+/datum/status_effect/caretaker_refuge/get_examine_text(mob/examiner)
return span_warning("[owner.p_Theyre()] enveloped in an unholy haze!")
/datum/status_effect/caretaker_refuge/proc/nullrod_handler(datum/source, obj/item/weapon)
diff --git a/code/modules/antagonists/heretic/status_effects/heretic_passive.dm b/code/modules/antagonists/heretic/status_effects/heretic_passive.dm
index c30ce76318c0..f59e9cbd26ac 100644
--- a/code/modules/antagonists/heretic/status_effects/heretic_passive.dm
+++ b/code/modules/antagonists/heretic/status_effects/heretic_passive.dm
@@ -388,16 +388,11 @@
tongue.disliked_foodtypes = NONE
tongue.toxic_foodtypes = NONE
-/// Any time you take a bite of something, if it's meat or an organ you will heal some damage
-/datum/status_effect/heretic_passive/flesh/proc/on_eat(mob/eater, atom/food)
+/// Any time you take a bite of something, if it's meat or gory (probably an organ) you will heal some damage
+/datum/status_effect/heretic_passive/flesh/proc/on_eat(mob/eater, atom/food, foodtypes)
SIGNAL_HANDLER
- var/obj/item/organ/consumed_organ = food
- if(istype(consumed_organ) && consumed_organ.foodtype_flags & MEAT)
- heal_glutton() // Heal the owner if they eat meat
- return
- var/obj/item/food/consumed_food = food
- if(istype(consumed_food) && consumed_food.foodtypes & MEAT)
- heal_glutton() // Heal the owner if they eat meat
+ if(foodtypes & (MEAT | GORE)) //All edible organs are gory, but not all of them are meat (podpeople, fishpeople.) If someone adds edible non-meat, non-gory organs, then I guess back to the drawing board.
+ heal_glutton()
/datum/status_effect/heretic_passive/flesh/proc/heal_glutton()
var/healed_amount = owner.heal_overall_damage(2, 2, updating_health = FALSE)
diff --git a/code/modules/antagonists/nightmare/nightmare_organs.dm b/code/modules/antagonists/nightmare/nightmare_organs.dm
index 367bec10482b..78a0386b5e4a 100644
--- a/code/modules/antagonists/nightmare/nightmare_organs.dm
+++ b/code/modules/antagonists/nightmare/nightmare_organs.dm
@@ -41,9 +41,7 @@
var/turf/owner_turf = owner.loc
if(!isturf(owner_turf))
return
- var/light_amount = owner_turf.get_lumcount()
-
- if (light_amount < SHADOW_SPECIES_LIGHT_THRESHOLD) //dodge in the dark
+ if (owner_turf.check_lumcount_below(SHADOW_SPECIES_LIGHT_THRESHOLD)) //dodge in the dark
owner.apply_status_effect(/datum/status_effect/shadow/nightmare)
/datum/status_effect/shadow/nightmare
@@ -140,12 +138,13 @@
/obj/item/organ/heart/nightmare/on_death(seconds_per_tick)
if(!owner)
return
- var/turf/T = get_turf(owner)
- if(istype(T))
- var/light_amount = T.get_lumcount()
- if(light_amount < SHADOW_SPECIES_LIGHT_THRESHOLD)
+
+ var/turf/owner_turf = get_turf(owner)
+ if(istype(owner_turf))
+ if(owner_turf.check_lumcount_below(SHADOW_SPECIES_LIGHT_THRESHOLD))
respawn_progress += seconds_per_tick SECONDS
playsound(owner, 'sound/effects/singlebeat.ogg', 40, TRUE)
+
if(respawn_progress < HEART_RESPAWN_THRESHHOLD)
return
diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm
index b54a3540307d..b7dd3cd5b7d7 100644
--- a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm
+++ b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm
@@ -105,7 +105,7 @@ GLOBAL_LIST_EMPTY(jam_on_wardec)
var/obj/machinery/announcement_system/announcement_system = get_announcement_system(null, null, list(RADIO_CHANNEL_SCIENCE))
if (!isnull(announcement_system))
announcement_system.broadcast("Additional research data received from Nanotrasen R&D Division following the emergency protocol.", list(RADIO_CHANNEL_SCIENCE), TRUE)
- station_techweb.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS * 3))
+ station_techweb.adjust_points(TECHWEB_POINT_TYPE_GENERIC, TECHWEB_TIER_5_POINTS * 3)
qdel(src)
diff --git a/code/modules/asset_cache/assets/research_designs.dm b/code/modules/asset_cache/assets/research_designs.dm
index 3f28fcdd67bc..cbdce771d7bb 100644
--- a/code/modules/asset_cache/assets/research_designs.dm
+++ b/code/modules/asset_cache/assets/research_designs.dm
@@ -3,10 +3,7 @@
name = "design"
/datum/asset/spritesheet_batched/research_designs/create_spritesheets()
- for (var/datum/design/path as anything in subtypesof(/datum/design))
- if(initial(path.id) == DESIGN_ID_IGNORE)
- continue
-
+ for (var/datum/design/path as anything in valid_subtypesof(/datum/design))
var/icon_file
var/icon_state
var/datum/icon_transformer/transform = null
@@ -38,7 +35,7 @@
// GAGS icon short-circuit the rest of the checks
if (item::greyscale_config && item::greyscale_colors)
- insert_icon(path::id, gags_to_universal_icon(item))
+ insert_icon(get_design_id(path), gags_to_universal_icon(item))
continue
else
icon_file = item::icon
@@ -53,8 +50,7 @@
// computers (and snowflakes) get their screen and keyboard sprites
if (ispath(item, /obj/machinery/computer) || ispath(item, /obj/machinery/power/solar_control))
- if(!transform)
- transform = new()
+ transform ||= new()
var/obj/machinery/computer/C = item
var/screen = initial(C.icon_screen)
var/keyboard = initial(C.icon_keyboard)
@@ -64,4 +60,8 @@
if (keyboard && (keyboard in all_states))
transform.blend_icon(uni_icon(icon_file, keyboard), ICON_OVERLAY)
- insert_icon(initial(path.id), uni_icon(icon_file, icon_state, transform=transform))
+ insert_icon(get_design_id(path), uni_icon(icon_file, icon_state, transform=transform))
+
+/datum/asset/spritesheet_batched/research_designs/proc/get_design_id(design_path)
+ var/static/base_path_len = length("/datum/design/")
+ return replacetext(splicetext("[design_path]", 1, base_path_len), "/", "_")
diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm
index 6a34b2b276e0..672a177671de 100644
--- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm
+++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm
@@ -133,16 +133,10 @@ GLOBAL_LIST_INIT(meta_gas_info, meta_gas_list()) //see ATMOSPHERICS/gas_types.dm
/datum/gas_mixture/proc/thermal_energy()
return THERMAL_ENERGY(src) //see code/__DEFINES/atmospherics.dm; use the define in performance critical areas
-///Update archived versions of variables. Returns: 1 in all cases
+/// Update archived versions of variables
/datum/gas_mixture/proc/archive()
- var/list/cached_moles = moles
- var/list/cached_moles_archive = moles_archive
-
+ moles_archive = moles.Copy()
temperature_archived = temperature
- for(var/gas_id, value in cached_moles)
- cached_moles_archive[gas_id] = value
-
- return TRUE
///Merges all air from giver into self. Deletes giver. Returns: 1 if we are mutable, 0 otherwise
/datum/gas_mixture/proc/merge(datum/gas_mixture/giver)
diff --git a/code/modules/atmospherics/gasmixtures/immutable_mixtures.dm b/code/modules/atmospherics/gasmixtures/immutable_mixtures.dm
index 9ed9c9fe4e6b..bcab35870d6d 100644
--- a/code/modules/atmospherics/gasmixtures/immutable_mixtures.dm
+++ b/code/modules/atmospherics/gasmixtures/immutable_mixtures.dm
@@ -15,7 +15,7 @@
moles_archive.Cut()
/datum/gas_mixture/immutable/archive()
- return TRUE //nothing changes, so we do nothing and the archive is successful
+ return // nothing changes, so we do nothing
/datum/gas_mixture/immutable/merge()
return FALSE //we're immutable.
diff --git a/code/modules/autowiki/pages/fishing.dm b/code/modules/autowiki/pages/fishing.dm
index 4d879b6bdabf..d21aea6ba7d4 100644
--- a/code/modules/autowiki/pages/fishing.dm
+++ b/code/modules/autowiki/pages/fishing.dm
@@ -332,6 +332,7 @@
var/list/generated_icons = list()
var/datum/techweb/techweb = locate(/datum/techweb/admin) in SSresearch.techwebs
+ techweb ||= new /datum/techweb/admin()
for(var/scan_type in typesof(/datum/experiment/scanning/fish))
techweb.add_experiment(scan_type) //Make sure each followup experiment is available
var/datum/experiment/scanning/fish/scan = locate(scan_type) in techweb.available_experiments
diff --git a/code/modules/autowiki/pages/stockparts.dm b/code/modules/autowiki/pages/stockparts.dm
index 99a8f20bccdb..074636523bab 100644
--- a/code/modules/autowiki/pages/stockparts.dm
+++ b/code/modules/autowiki/pages/stockparts.dm
@@ -46,17 +46,14 @@
return output
/datum/autowiki/stock_parts/proc/find_design(obj/item/stock_parts/stock_part)
- for(var/design_type in subtypesof(/datum/design))
- var/datum/design/recipe = new design_type()
-
- if(ispath(recipe.build_path, stock_part.type))
- return recipe
+ for(var/datum/design/design_type as anything in valid_subtypesof(/datum/design))
+ if(ispath(design_type::build_path, stock_part.type))
+ return new design_type()
/datum/autowiki/stock_parts/proc/find_research(datum/design/recipe)
- for(var/node_type in subtypesof(/datum/techweb_node))
+ for(var/datum/techweb_node/node_type as anything in valid_subtypesof(/datum/techweb_node))
var/datum/techweb_node/node = new node_type()
-
- if(node.design_ids.Find(recipe.id))
+ if(LAZYACCESS(node.unlocked_designs, recipe.type))
return node
/datum/autowiki/stock_parts/proc/create_icon(obj/item/stock_parts/stock_part)
@@ -82,8 +79,7 @@
/datum/autowiki/stock_parts/proc/generate_material_list(datum/design/recipe)
var/list/materials = list()
- for(var/ingredient_type, amount in recipe.materials)
- var/datum/material/ingredient = new ingredient_type()
+ for(var/datum/material/ingredient, amount in recipe.materials)
materials += "[amount] [ingredient.name]"
return materials.Join("
")
diff --git a/code/modules/autowiki/pages/techweb.dm b/code/modules/autowiki/pages/techweb.dm
index 6198e4645eb0..11908c807b6b 100644
--- a/code/modules/autowiki/pages/techweb.dm
+++ b/code/modules/autowiki/pages/techweb.dm
@@ -4,9 +4,9 @@
/datum/autowiki/techweb/generate()
var/output = ""
- for (var/node_id in sort_list(SSresearch.techweb_nodes, GLOBAL_PROC_REF(sort_research_nodes)))
- var/datum/techweb_node/node = SSresearch.techweb_nodes[node_id]
- if (!node.show_on_wiki)
+ for (var/node_path in sort_list(SSresearch.techweb_nodes, GLOBAL_PROC_REF(sort_research_nodes)))
+ var/datum/techweb_node/node = SSresearch.techweb_nodes[node_path]
+ if (!(node.node_flags & TECHWEB_NODE_WIKI))
continue
if (!valid_node(node))
@@ -15,20 +15,20 @@
output += "\n\n" + include_template("Autowiki/TechwebEntry", list(
"name" = escape_value(node.display_name),
"description" = escape_value(node.description),
- "prerequisites" = generate_prerequisites(node.prereq_ids),
- "designs" = generate_designs(node.design_ids),
+ "prerequisites" = generate_prerequisites(node.prerequisite_nodes),
+ "designs" = generate_designs(node.unlocked_designs),
))
return output
/datum/autowiki/techweb/proc/valid_node(datum/techweb_node/node)
- return !node.experimental
+ return !(node.node_flags & TECHWEB_NODE_EXPERIMENTAL)
-/datum/autowiki/techweb/proc/generate_designs(list/design_ids)
+/datum/autowiki/techweb/proc/generate_designs(list/designs_to_generate)
var/output = ""
- for (var/design_id in design_ids)
- var/datum/design/design = SSresearch.techweb_designs[design_id]
+ for (var/design_path in designs_to_generate)
+ var/datum/design/design = SSresearch.techweb_designs[design_path]
output += include_template("Autowiki/TechwebEntryDesign", list(
"name" = escape_value(design.name),
"description" = escape_value(design.get_description()),
@@ -36,11 +36,11 @@
return output
-/datum/autowiki/techweb/proc/generate_prerequisites(list/prereq_ids)
+/datum/autowiki/techweb/proc/generate_prerequisites(list/prerequisites)
var/output = ""
- for (var/prereq_id in prereq_ids)
- var/datum/techweb_node/node = SSresearch.techweb_nodes[prereq_id]
+ for (var/node_path in prerequisites)
+ var/datum/techweb_node/node = SSresearch.techweb_nodes[node_path]
output += include_template("Autowiki/TechwebEntryPrerequisite", list(
"name" = escape_value(node.display_name),
))
@@ -51,17 +51,17 @@
page = "Template:Autowiki/Content/Techweb/Experimental"
/datum/autowiki/techweb/experimental/valid_node(datum/techweb_node/node)
- return node.experimental
+ return (node.node_flags & TECHWEB_NODE_EXPERIMENTAL)
-/proc/sort_research_nodes(node_id_a, node_id_b)
- var/datum/techweb_node/node_a = SSresearch.techweb_nodes[node_id_a]
- var/datum/techweb_node/node_b = SSresearch.techweb_nodes[node_id_b]
+/proc/sort_research_nodes(node_path_a, node_path_b)
+ var/datum/techweb_node/node_a = SSresearch.techweb_nodes[node_path_a]
+ var/datum/techweb_node/node_b = SSresearch.techweb_nodes[node_path_b]
- var/prereq_difference = node_a.prereq_ids.len - node_b.prereq_ids.len
+ var/prereq_difference = length(node_a.prerequisite_nodes) - length(node_b.prerequisite_nodes)
if (prereq_difference != 0)
return prereq_difference
- var/experiment_difference = node_a.required_experiments.len - node_b.required_experiments.len
+ var/experiment_difference = length(node_a.required_experiments) - length(node_b.required_experiments)
if (experiment_difference != 0)
return experiment_difference
diff --git a/code/modules/awaymissions/mission_code/heretic/fake_items.dm b/code/modules/awaymissions/mission_code/heretic/fake_items.dm
index ab6c72941cea..e0af209dbc7c 100644
--- a/code/modules/awaymissions/mission_code/heretic/fake_items.dm
+++ b/code/modules/awaymissions/mission_code/heretic/fake_items.dm
@@ -19,7 +19,7 @@
anchored = 1
/obj/item/fake_items/time_stopper
- name = "MOD timestopper module"
+ name = "\improper MOD timestopper module"
desc = "A module that can halt time in a small radius around the user... for as long as they \
want! Great for monologues or lunch breaks. Keep in mind moving will end the stop, and the \
module has a hefty cooldown period to avoid reality errors."
diff --git a/code/modules/awaymissions/mission_code/heretic/heretic_gateway_tram.dm b/code/modules/awaymissions/mission_code/heretic/heretic_gateway_tram.dm
index bd6360766332..272732155ea1 100644
--- a/code/modules/awaymissions/mission_code/heretic/heretic_gateway_tram.dm
+++ b/code/modules/awaymissions/mission_code/heretic/heretic_gateway_tram.dm
@@ -24,6 +24,5 @@
configured_transport_id = HERETIC_LINE_1
/obj/machinery/computer/tram_controls/heretic_tram_computer
- icon = 'icons/obj/tram/heretic_tram.dmi'
- icon_screen = HERETIC_LINE_1
specific_transport_id = HERETIC_LINE_1
+ install_type = STANDALONE
diff --git a/code/modules/bitrunning/server/loot.dm b/code/modules/bitrunning/server/loot.dm
index 83a06849555a..2a0ce3b66db6 100644
--- a/code/modules/bitrunning/server/loot.dm
+++ b/code/modules/bitrunning/server/loot.dm
@@ -152,10 +152,7 @@
if(!LAZYLEN(SSresearch.techweb_nodes_experimental))
return FALSE
- var/static/list/passing_grades = list()
- if(!passing_grades.len)
- passing_grades = list(BITRUNNING_GRADE_A,BITRUNNING_GRADE_S)
-
+ var/static/list/passing_grades = list(BITRUNNING_GRADE_A,BITRUNNING_GRADE_S)
return generated_domain.difficulty >= BITRUNNER_DIFFICULTY_MEDIUM && (grade in passing_grades)
diff --git a/code/modules/bitrunning/virtual_domain/virtual_domain.dm b/code/modules/bitrunning/virtual_domain/virtual_domain.dm
index e5d19db30aac..aff8b724c7b7 100644
--- a/code/modules/bitrunning/virtual_domain/virtual_domain.dm
+++ b/code/modules/bitrunning/virtual_domain/virtual_domain.dm
@@ -99,7 +99,7 @@
var/best_grade = "None"
/datum/lazy_template/virtual_domain/proc/can_view_name(scanner_tier, server_points)
- return difficulty < scanner_tier && cost <= server_points + 5
+ return cost <= server_points + 5
/datum/lazy_template/virtual_domain/proc/can_view_reward(scanner_tier, server_points)
return difficulty < (scanner_tier + 1) && cost <= server_points + 3
diff --git a/code/modules/buildmode/buildmode.dm b/code/modules/buildmode/buildmode.dm
index 73c9d42f6fee..be1c58896990 100644
--- a/code/modules/buildmode/buildmode.dm
+++ b/code/modules/buildmode/buildmode.dm
@@ -170,7 +170,8 @@
mode.handle_click(user.client, params, object)
return TRUE // no doing underlying actions
-GAME_VERB_GLOBAL_PROC(togglebuildmode, "Toggle Build Mode", "", "Event", mob/M as mob in GLOB.player_list)
+GAME_VERB_GLOBAL_PROC(togglebuildmode, "Toggle Build Mode", "", "Event")
+ VERB_ARG_TYPED(M, VERB_ARG_TYPE_MOB, VERB_ARG_SOURCE_WORLD, /mob)
if(M.client)
if(istype(M.client.click_intercept,/datum/buildmode))
diff --git a/code/modules/cards/deck/tarot.dm b/code/modules/cards/deck/tarot.dm
index a408b04a6cf3..405df3459224 100644
--- a/code/modules/cards/deck/tarot.dm
+++ b/code/modules/cards/deck/tarot.dm
@@ -22,7 +22,7 @@
if(prob(50))
var/obj/item/toy/singlecard/card = .
if(!card)
- return FALSE
+ return
var/matrix/M = matrix()
M.Turn(180)
diff --git a/code/modules/cargo/exports.dm b/code/modules/cargo/exports.dm
index 7fc606992b37..2a4b40259b92 100644
--- a/code/modules/cargo/exports.dm
+++ b/code/modules/cargo/exports.dm
@@ -119,6 +119,8 @@ Then the player gets the profit from selling his own wasted time.
var/include_subtypes = TRUE
/// Types excluded from export
var/list/exclude_types = list()
+ /// A list consisting of the original export times, without any subtypes adjusted via include_subtypes
+ var/list/original_export_types = list()
/// Set to false if the cost shouldn't be determinable by an export scanner
var/scannable = TRUE
/// Export market that this export applies to. Defaults to EXPORT_MARKET_STATION for items sold to the standard supply shuttle, replacements exist for pirates, etc.
@@ -126,6 +128,7 @@ Then the player gets the profit from selling his own wasted time.
/datum/export/New()
..()
+ original_export_types = export_types?.Copy()
export_types = typecacheof(export_types, only_root_path = !include_subtypes)
exclude_types = typecacheof(exclude_types)
diff --git a/code/modules/cargo/exports/large_objects.dm b/code/modules/cargo/exports/large_objects.dm
index 9c4754c64eeb..ab23ad7e95dc 100644
--- a/code/modules/cargo/exports/large_objects.dm
+++ b/code/modules/cargo/exports/large_objects.dm
@@ -25,6 +25,7 @@
/datum/export/crate/wooden/ore
unit_name = "ore box"
export_types = list(/obj/structure/ore_box)
+ exclude_types = list()
/datum/export/crate/wood
cost = CARGO_CRATE_VALUE * 0.48
@@ -36,11 +37,13 @@
cost = CARGO_CRATE_VALUE/2 //50 wooden crates cost 800 credits, and you can make 10 coffins in seconds with those planks. Each coffin selling for 100 means you can make a net gain of 200 credits for wasting your time making coffins.
unit_name = "coffin"
export_types = list(/obj/structure/closet/crate/coffin)
+ exclude_types = list()
/datum/export/crate/cardboard
cost = CARGO_CRATE_VALUE/5
unit_name = "cardboard box"
export_types = list(/obj/structure/closet/crate/cardboard, /obj/structure/closet/cardboard)
+ exclude_types = list()
/datum/export/reagent_dispenser
abstract_type = /datum/export/reagent_dispenser
diff --git a/code/modules/cargo/exports/materials.dm b/code/modules/cargo/exports/materials.dm
index 36f358a11ebe..263eb45ce097 100644
--- a/code/modules/cargo/exports/materials.dm
+++ b/code/modules/cargo/exports/materials.dm
@@ -127,7 +127,7 @@
return . * SSstock_market.materials_prices[material_id]
var/obj/item/stock_block/exported_block = exported_obj
- return . * (exported_block.fluid ? SSstock_market.materials_prices[exported_block.custom_materials[1].type] : exported_block.export_value)
+ return . * (exported_block.fluid ? exported_block.update_value() : exported_block.export_value)
/datum/export/material/market/sell_object(obj/sold_item, datum/export_report/report, dry_run, apply_elastic)
. = ..()
diff --git a/code/modules/cargo/exports/tools.dm b/code/modules/cargo/exports/tools.dm
index eea9afe94a09..bf4c7ca8954f 100644
--- a/code/modules/cargo/exports/tools.dm
+++ b/code/modules/cargo/exports/tools.dm
@@ -141,16 +141,22 @@
cost = CARGO_CRATE_VALUE * 0.375
unit_name = "soap"
export_types = list(/obj/item/soap)
+ exclude_types = list(
+ /obj/item/soap/homemade,
+ /obj/item/soap/omega,
+ )
/datum/export/soap/homemade
cost = CARGO_CRATE_VALUE * 0.15
unit_name = "artisanal soap"
export_types = list(/obj/item/soap/homemade)
+ exclude_types = list()
/datum/export/soap/omega
cost = CARGO_CRATE_VALUE * 14
unit_name = "omega soap"
export_types = list(/obj/item/soap/omega)
+ exclude_types = list()
/datum/export/candle
cost = CARGO_CRATE_VALUE * 0.06125
diff --git a/code/modules/cargo/goodies.dm b/code/modules/cargo/goodies.dm
index c6cfa0cf2aab..c32ffe0271a1 100644
--- a/code/modules/cargo/goodies.dm
+++ b/code/modules/cargo/goodies.dm
@@ -128,7 +128,7 @@
contains = list(/obj/item/gun/energy/laser/soul)
/datum/supply_pack/goody/smg_single
- name = "Disabler SMG Single_Pack"
+ name = "Disabler SMG Single Pack"
desc = "Contains one disabler SMG, capable of rapidly firing weak disabler beams."
cost = PAYCHECK_COMMAND * 6
access_view = ACCESS_WEAPONS
diff --git a/code/modules/cargo/materials_market.dm b/code/modules/cargo/materials_market.dm
index 207a47ae0c65..b1251248321e 100644
--- a/code/modules/cargo/materials_market.dm
+++ b/code/modules/cargo/materials_market.dm
@@ -355,31 +355,40 @@
/obj/item/stock_block/Initialize(mapload)
. = ..()
addtimer(CALLBACK(src, PROC_REF(value_warning)), 1.5 MINUTES, TIMER_DELETE_ME)
- addtimer(CALLBACK(src, PROC_REF(update_value)), 3 MINUTES, TIMER_DELETE_ME)
+ addtimer(CALLBACK(src, PROC_REF(become_liquid)), 3 MINUTES, TIMER_DELETE_ME)
/obj/item/stock_block/examine(mob/user)
. = ..()
var/datum/material/export_mat = custom_materials[1]
var/quantity = custom_materials[export_mat] / SHEET_MATERIAL_AMOUNT
- . += span_notice("\The [src] is worth [quantity * export_value] [MONEY_SYMBOL], from selling [quantity] sheets of [export_mat.name].")
if(fluid)
. += span_warning("\The [src] is currently liquid! Its value is based on the market price.")
+ update_value()
else
. += span_notice("\The [src]'s value is still [span_boldnotice("locked in")]. [span_boldnotice("Sell it")] before its value becomes liquid!")
+ . += span_notice("\The [src] is worth [quantity * export_value] [MONEY_SYMBOL], from selling [quantity] sheets of [export_mat.name].")
+
+/// Creates a visible effect warning nearby players that a stock block is beginning to become liquid in price.
/obj/item/stock_block/proc/value_warning()
visible_message(span_warning("\The [src] is starting to become liquid!"))
icon_state = "stock_block_fluid"
update_appearance(UPDATE_ICON_STATE)
-/obj/item/stock_block/proc/update_value()
- export_value = SSstock_market.materials_prices[custom_materials[1]]
+/// Creates a visible effect warning nearby players that a stock block has become liquid in price, and updates the value, icon_state, and fluidity vars.
+/obj/item/stock_block/proc/become_liquid()
+ update_value()
icon_state = "stock_block_liquid"
update_appearance(UPDATE_ICON_STATE)
visible_message(span_warning("\The [src] becomes liquid!"))
fluid = TRUE
+/// Updates the value of the stock block, for examine, and for sale value. Export value becomes equal to the stock market value of that material.
+/obj/item/stock_block/proc/update_value()
+ export_value = SSstock_market.materials_prices[src.custom_materials[1].type]
+ return export_value
+
#undef MAX_STACK_LIMIT
#undef GALATIC_MATERIAL_ORDER
diff --git a/code/modules/cargo/packs/_packs.dm b/code/modules/cargo/packs/_packs.dm
index e6ed881e76d8..ac48cf977570 100644
--- a/code/modules/cargo/packs/_packs.dm
+++ b/code/modules/cargo/packs/_packs.dm
@@ -58,20 +58,20 @@
*/
/datum/supply_pack/proc/generate(atom/A, datum/bank_account/paying_account, crate_override)
var/obj/structure/closet/crate/C
- if(paying_account)
- C = new /obj/structure/closet/crate/secure/owned(A, paying_account)
- C.name = "[crate_name || C.name] - Purchased by [paying_account.account_holder]"
- else if(!crate_type && !crate_override)
- CRASH("tried to generate a supply pack without a valid crate type")
- else if(crate_override)
+
+ if(crate_override)
var/obj/unique_container = new crate_override(A)
fill(unique_container)
return unique_container
- else
- C = new crate_type(A)
- if(crate_name)
- C.name = crate_name
+ if(!crate_type)
+ CRASH("tried to generate a supply pack without a valid crate type")
+
+ C = new crate_type(A)
+ C.name = "[crate_name || C.name][paying_account ? " - Purchased by [paying_account.account_holder]" : ""]"
+ if(paying_account) // adds component for locking the crate so only the buyer (or their department) can open it
+ C.AddComponent(/datum/component/locked_to_account, paying_account)
+
if(access)
C.req_access = list(access)
if(access_any)
diff --git a/code/modules/cargo/packs/livestock.dm b/code/modules/cargo/packs/livestock.dm
index 274aa5fecb94..7c097403bde8 100644
--- a/code/modules/cargo/packs/livestock.dm
+++ b/code/modules/cargo/packs/livestock.dm
@@ -3,7 +3,6 @@
crate_type = /obj/structure/closet/crate/critter
/datum/supply_pack/critter/stasis
- group = "Livestock (Stasis)"
crate_type = /obj/structure/closet/crate/critter/stasis
/datum/supply_pack/critter/stasis/fill(obj/container)
@@ -171,6 +170,7 @@
contains = list(/mob/living/basic/mothroach)
crate_name = "mothroach crate"
+/* // DARKPACK EDIT REMOVAL - (Removes Monkey Cubes and Bees)
/datum/supply_pack/critter/monkey
name = "Monkey Cube Crate"
desc = "Stop monkeying around! Contains seven monkey cubes. Just add water!"
@@ -178,6 +178,7 @@
contains = list (/obj/item/storage/box/monkeycubes)
crate_type = /obj/structure/closet/crate
crate_name = "monkey cube crate"
+*/
/datum/supply_pack/critter/pug
name = "Pug Crate"
diff --git a/code/modules/cargo/packs/organic.dm b/code/modules/cargo/packs/organic.dm
index f8a1fbfc6043..a84789e34987 100644
--- a/code/modules/cargo/packs/organic.dm
+++ b/code/modules/cargo/packs/organic.dm
@@ -17,6 +17,7 @@
crate_name = "beekeeper suits"
crate_type = /obj/structure/closet/crate/hydroponics
+/* // DARKPACK EDIT REMOVAL - (Removing Monkey Cubes and Bees)
/datum/supply_pack/organic/hydroponics/beekeeping_fullkit
name = "Beekeeping Starter Crate"
desc = "BEES BEES BEES. Contains three honey frames, a beekeeper suit and helmet, \
@@ -31,6 +32,7 @@
)
crate_name = "beekeeping starter crate"
crate_type = /obj/structure/closet/crate/hydroponics
+*/
/datum/supply_pack/organic/randomized
test_ignored = TRUE
@@ -118,7 +120,7 @@
desc = "Get things cooking with this crate full of useful ingredients! \
Contains a dozen eggs, three bananas, and some flour, rice, milk, \
soymilk, salt, pepper, enzyme, sugar, and monkeymeat."
- cost = CARGO_CRATE_VALUE * 2
+ cost = CARGO_CRATE_VALUE * 3 // DARKPACK EDIT CHANGE - Unit test failure? - Original: cost = CARGO_CRATE_VALUE * 2
contains = list(/obj/item/reagent_containers/condiment/flour,
/obj/item/reagent_containers/condiment/rice,
/obj/item/reagent_containers/condiment/milk,
diff --git a/code/modules/cargo/packs/security.dm b/code/modules/cargo/packs/security.dm
index dd03fe33361f..e5291bafcbb0 100644
--- a/code/modules/cargo/packs/security.dm
+++ b/code/modules/cargo/packs/security.dm
@@ -32,7 +32,7 @@
cost = CARGO_CRATE_VALUE
access_view = ACCESS_SECURITY
contains = list(/obj/item/mod/construction/plating/security)
- crate_name = "MOD plating crate"
+ crate_name = "\improper MOD plating crate"
/datum/supply_pack/security/disabler
name = "Disabler Crate"
diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm
index 13a23485c9c2..c0c23af6298c 100644
--- a/code/modules/client/client_defines.dm
+++ b/code/modules/client/client_defines.dm
@@ -246,6 +246,8 @@
/// Loot panel for the client
var/datum/lootpanel/loot_panel
+ var/datum/admin_verb_panel/admin_verb_panel
+
///Which ambient sound this client is currently being provided.
var/current_ambient_sound
diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index ef458c52aad8..faf60efa5269 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -1125,6 +1125,15 @@ GLOBAL_LIST_INIT(unrecommended_builds, list(
verblist[++verblist.len] = list(verb_to_init.category, verb_to_init.name)
src.stat_panel.send_message("init_verbs", list(panel_tabs = panel_tabs, verblist = verblist))
+ var/list/panel_verbs = list()
+ for(var/procpath/verb_to_init as anything in verbstoprocess)
+ if(!verb_to_init || verb_to_init.hidden)
+ continue
+ if(!SSverbs.verbs_by_verb_path[verb_to_init] && !SSadmin_verbs.admin_verbs_by_verb_path[verb_to_init])
+ continue
+ panel_verbs += list(SSverbs.serialize_verb(verb_to_init))
+ tgui_panel?.window?.send_message("verbs/init", list("verbs" = panel_verbs))
+
/client/proc/check_panel_loaded()
if(stat_panel.is_ready())
return
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 2a04edab3cd0..e4a3e60a4eb4 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -589,7 +589,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
continue
// DARKPACK EDIT ADD END - TTRPG preferences
- preference.apply_to_human(character, read_preference(preference.type))
+ preference.apply_to_human(character, read_preference(preference.type), src)
character.dna.real_name = character.real_name
diff --git a/code/modules/client/preferences/README.md b/code/modules/client/preferences/README.md
index e30198eafbd4..be86875d2037 100644
--- a/code/modules/client/preferences/README.md
+++ b/code/modules/client/preferences/README.md
@@ -246,13 +246,13 @@ There are a handful of procs preferences can use to act on their own:
/// Apply this preference onto the given human.
/// Must be overriden by subtypes.
/// Called when the savefile_identifier == PREFERENCE_CHARACTER.
-/datum/preference/proc/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/proc/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
```
For example, `/datum/preference/numeric/age` contains:
```dm
-/datum/preference/numeric/age/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/numeric/age/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.age = value
```
diff --git a/code/modules/client/preferences/_preference.dm b/code/modules/client/preferences/_preference.dm
index 1ea1575a82e3..f747c3bae7e3 100644
--- a/code/modules/client/preferences/_preference.dm
+++ b/code/modules/client/preferences/_preference.dm
@@ -238,7 +238,7 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key())
/// Apply this preference onto the given human.
/// Must be overriden by subtypes.
/// Called when the savefile_identifier == PREFERENCE_CHARACTER.
-/datum/preference/proc/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/proc/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
SHOULD_NOT_SLEEP(TRUE)
SHOULD_CALL_PARENT(FALSE)
CRASH("`apply_to_human()` was not implemented for [type]!")
@@ -515,7 +515,7 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key())
/datum/preference/choiced/species_feature/create_default_value()
return get_consistent_feature_entry(get_accessory_list())
-/datum/preference/choiced/species_feature/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/species_feature/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.dna.features[feature_key] = value
/// Returns what acessory list to draw from
diff --git a/code/modules/client/preferences/addict.dm b/code/modules/client/preferences/addict.dm
index 7aafde6fc70b..429c4ac2cd5b 100644
--- a/code/modules/client/preferences/addict.dm
+++ b/code/modules/client/preferences/addict.dm
@@ -27,7 +27,7 @@
return FALSE
return /datum/quirk/item_quirk/addict/junkie::name in preferences.all_quirks
-/datum/preference/choiced/junkie/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/junkie/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
/datum/preference/choiced/smoker
@@ -47,7 +47,7 @@
return FALSE
return /datum/quirk/item_quirk/addict/smoker::name in preferences.all_quirks
-/datum/preference/choiced/smoker/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/smoker/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
/datum/preference/choiced/alcoholic
@@ -67,5 +67,5 @@
return FALSE
return /datum/quirk/item_quirk/addict/alcoholic::name in preferences.all_quirks
-/datum/preference/choiced/alcoholic/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/alcoholic/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/age.dm b/code/modules/client/preferences/age.dm
index 13732347dd83..0f321f8d93c5 100644
--- a/code/modules/client/preferences/age.dm
+++ b/code/modules/client/preferences/age.dm
@@ -6,7 +6,7 @@
minimum = AGE_MIN
maximum = AGE_MAX
-/datum/preference/numeric/age/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/numeric/age/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.age = value
target.chronological_age = value // DARKPACK EDIT ADD - Immortal age
diff --git a/code/modules/client/preferences/ai_core_display.dm b/code/modules/client/preferences/ai_core_display.dm
index c2eedc03e47a..6afd85c6e90b 100644
--- a/code/modules/client/preferences/ai_core_display.dm
+++ b/code/modules/client/preferences/ai_core_display.dm
@@ -20,5 +20,5 @@
return istype(preferences.get_highest_priority_job(), /datum/job/ai)
-/datum/preference/choiced/ai_core_display/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/ai_core_display/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/ai_emote_display.dm b/code/modules/client/preferences/ai_emote_display.dm
index c7738c08a681..321cbdbf3b11 100644
--- a/code/modules/client/preferences/ai_emote_display.dm
+++ b/code/modules/client/preferences/ai_emote_display.dm
@@ -25,5 +25,5 @@
return istype(preferences.get_highest_priority_job(), /datum/job/ai)
-/datum/preference/choiced/ai_emote_display/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/ai_emote_display/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/ai_hologram_display.dm b/code/modules/client/preferences/ai_hologram_display.dm
index 382e900d03b0..935c71c39850 100644
--- a/code/modules/client/preferences/ai_hologram_display.dm
+++ b/code/modules/client/preferences/ai_hologram_display.dm
@@ -21,5 +21,5 @@
return istype(preferences.get_highest_priority_job(), /datum/job/ai)
-/datum/preference/choiced/ai_hologram_display/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/ai_hologram_display/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/blindfold_color.dm b/code/modules/client/preferences/blindfold_color.dm
index 8081ac15be8a..b75997bb267e 100644
--- a/code/modules/client/preferences/blindfold_color.dm
+++ b/code/modules/client/preferences/blindfold_color.dm
@@ -13,5 +13,5 @@
return /datum/quirk/item_quirk/blindness::name in preferences.all_quirks
-/datum/preference/color/blindfold_color/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/color/blindfold_color/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/body_type.dm b/code/modules/client/preferences/body_type.dm
index 33c8f736fd8d..125d47617289 100644
--- a/code/modules/client/preferences/body_type.dm
+++ b/code/modules/client/preferences/body_type.dm
@@ -13,7 +13,7 @@
/datum/preference/choiced/body_type/create_informed_default_value(datum/preferences/preferences)
return gender_has_physique(preferences.read_preference(/datum/preference/choiced/gender)) ? USE_GENDER : FEMALE
-/datum/preference/choiced/body_type/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/body_type/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
if (value == USE_GENDER)
value = target.gender
if (!gender_has_physique(value))
diff --git a/code/modules/client/preferences/chipped.dm b/code/modules/client/preferences/chipped.dm
index 25896564edba..c6a476066cea 100644
--- a/code/modules/client/preferences/chipped.dm
+++ b/code/modules/client/preferences/chipped.dm
@@ -17,5 +17,5 @@
return /datum/quirk/chipped::name in preferences.all_quirks
-/datum/preference/choiced/chipped/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/chipped/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/clothing.dm b/code/modules/client/preferences/clothing.dm
index 40b89849b1c9..b1dee61d6ad1 100644
--- a/code/modules/client/preferences/clothing.dm
+++ b/code/modules/client/preferences/clothing.dm
@@ -64,7 +64,7 @@
if (DMESSENGER)
return /obj/item/storage/backpack/messenger/med
-/datum/preference/choiced/backpack/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/backpack/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.backpack = value
/// Jumpsuit preference
@@ -92,7 +92,7 @@
if (PREF_SKIRT)
return /obj/item/clothing/under/vampire/baali/female // DARKPACK EDIT CHANGE
-/datum/preference/choiced/jumpsuit/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/jumpsuit/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.jumpsuit_style = value
/// Socks preference
@@ -120,7 +120,7 @@
return generate_underwear_icon(SSaccessories.socks_list[value], lower_half)
-/datum/preference/choiced/socks/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/socks/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.socks = value
/// Undershirt preference
@@ -169,7 +169,7 @@
icon_with_undershirt.scale(32, 32)
return icon_with_undershirt
-/datum/preference/choiced/undershirt/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/undershirt/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.undershirt = value
/// Underwear preference
@@ -198,7 +198,7 @@
return generate_underwear_icon(SSaccessories.underwear_list[value], lower_half, COLOR_ALMOST_BLACK)
-/datum/preference/choiced/underwear/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/underwear/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.underwear = value
/datum/preference/choiced/underwear/is_accessible(datum/preferences/preferences)
diff --git a/code/modules/client/preferences/food_allergy.dm b/code/modules/client/preferences/food_allergy.dm
index 1ab5307c1fc9..6040416af554 100644
--- a/code/modules/client/preferences/food_allergy.dm
+++ b/code/modules/client/preferences/food_allergy.dm
@@ -17,5 +17,5 @@
return /datum/quirk/item_quirk/food_allergic::name in preferences.all_quirks
-/datum/preference/choiced/food_allergy/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/food_allergy/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/gender.dm b/code/modules/client/preferences/gender.dm
index 1ad7f9ac0d8b..f1749ade5d67 100644
--- a/code/modules/client/preferences/gender.dm
+++ b/code/modules/client/preferences/gender.dm
@@ -7,7 +7,7 @@
/datum/preference/choiced/gender/init_possible_values()
return list(MALE, FEMALE, PLURAL, NEUTER)
-/datum/preference/choiced/gender/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/gender/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
if(!target.dna.species.sexes)
value = PLURAL //disregard gender preferences on this species
target.gender = value
diff --git a/code/modules/client/preferences/glasses.dm b/code/modules/client/preferences/glasses.dm
index 59be8f754857..65e916384966 100644
--- a/code/modules/client/preferences/glasses.dm
+++ b/code/modules/client/preferences/glasses.dm
@@ -22,5 +22,5 @@
return /datum/quirk/item_quirk/nearsighted::name in preferences.all_quirks
-/datum/preference/choiced/glasses/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/glasses/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/hemiplegic.dm b/code/modules/client/preferences/hemiplegic.dm
index 04a8bf1374e3..6e417e2c05b2 100644
--- a/code/modules/client/preferences/hemiplegic.dm
+++ b/code/modules/client/preferences/hemiplegic.dm
@@ -14,5 +14,5 @@
return /datum/quirk/hemiplegic::name in preferences.all_quirks
-/datum/preference/choiced/hemiplegic/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/hemiplegic/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/heterochromatic.dm b/code/modules/client/preferences/heterochromatic.dm
index 25a399d6f194..0ff6c9cf325c 100644
--- a/code/modules/client/preferences/heterochromatic.dm
+++ b/code/modules/client/preferences/heterochromatic.dm
@@ -9,6 +9,6 @@
return /datum/quirk/heterochromatic::name in preferences.all_quirks
-/datum/preference/color/heterochromatic/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/color/heterochromatic/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
var/datum/quirk/heterochromatic/hetero_quirk = locate() in target.quirks
hetero_quirk?.apply_heterochromatic_eyes(value)
diff --git a/code/modules/client/preferences/hotkeys.dm b/code/modules/client/preferences/hotkeys.dm
index b96b68286d60..6e928d636ed1 100644
--- a/code/modules/client/preferences/hotkeys.dm
+++ b/code/modules/client/preferences/hotkeys.dm
@@ -5,3 +5,5 @@
/datum/preference/toggle/hotkeys/apply_to_client(client/client, value)
client.hotkeys = value
+ if(istype(client))
+ client.tgui_panel?.send_hotkey_mode()
diff --git a/code/modules/client/preferences/language.dm b/code/modules/client/preferences/language.dm
index 9c7f4ffc8214..197c19ee3f1d 100644
--- a/code/modules/client/preferences/language.dm
+++ b/code/modules/client/preferences/language.dm
@@ -44,7 +44,7 @@
return values
-/datum/preference/choiced/language/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/language/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
/datum/preference/toggle/language_speakable
@@ -61,7 +61,7 @@
return /datum/quirk/bilingual::name in preferences.all_quirks
-/datum/preference/toggle/language_speakable/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/toggle/language_speakable/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
/datum/preference/choiced/language_skill
@@ -85,7 +85,7 @@
/datum/preference/choiced/language_skill/init_possible_values()
return list("100%", "75%", "50%", "33%", "25%", "10%")
-/datum/preference/choiced/language_skill/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/language_skill/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
/datum/preference/choiced/csl_strength
@@ -104,5 +104,5 @@
/datum/preference/choiced/csl_strength/init_possible_values()
return list("75%", "50%", "25%")
-/datum/preference/choiced/csl_strength/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/csl_strength/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/names.dm b/code/modules/client/preferences/names.dm
index fee5edb04248..aebf9f7e3b1d 100644
--- a/code/modules/client/preferences/names.dm
+++ b/code/modules/client/preferences/names.dm
@@ -18,7 +18,7 @@
var/relevant_job
-/datum/preference/name/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/name/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
// Only real_name applies directly, everything else is applied by something else
return
@@ -44,7 +44,7 @@
group = "_real_name"
savefile_key = "real_name"
-/datum/preference/name/real_name/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/name/real_name/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.real_name = value
target.update_visible_name() // DARKPACK EDIT CHANGE - ORIGINAL: target.name = value
target.log_mob_tag("TAG: [target.tag] RENAMED: [key_name(target)]")
diff --git a/code/modules/client/preferences/operative_species.dm b/code/modules/client/preferences/operative_species.dm
index e67ffff75682..715a3c371957 100644
--- a/code/modules/client/preferences/operative_species.dm
+++ b/code/modules/client/preferences/operative_species.dm
@@ -20,5 +20,5 @@
return FALSE
-/datum/preference/toggle/nuke_ops_species/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/toggle/nuke_ops_species/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/paint_color.dm b/code/modules/client/preferences/paint_color.dm
index 9c97fc2c8564..37a2fe0cf8ad 100644
--- a/code/modules/client/preferences/paint_color.dm
+++ b/code/modules/client/preferences/paint_color.dm
@@ -11,5 +11,5 @@
return /datum/quirk/item_quirk/tagger::name in preferences.all_quirks
-/datum/preference/color/paint_color/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/color/paint_color/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/paraplegic.dm b/code/modules/client/preferences/paraplegic.dm
index 10e91deef717..7877c853fa9e 100644
--- a/code/modules/client/preferences/paraplegic.dm
+++ b/code/modules/client/preferences/paraplegic.dm
@@ -16,5 +16,5 @@
return /datum/quirk/paraplegic::name in preferences.all_quirks
-/datum/preference/choiced/paraplegic/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/paraplegic/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/persistent_scars.dm b/code/modules/client/preferences/persistent_scars.dm
index e80c6cc7c39f..659eeeaaf762 100644
--- a/code/modules/client/preferences/persistent_scars.dm
+++ b/code/modules/client/preferences/persistent_scars.dm
@@ -4,7 +4,7 @@
savefile_identifier = PREFERENCE_CHARACTER
should_update_preview = FALSE
-/datum/preference/toggle/persistent_scars/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/toggle/persistent_scars/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
// This proc doesn't do anything, due to the nature of persistent scars, we ALWAYS need to have a client to be able to use them properly. Or at the very least, a ckey.
// So we don't need to store this anywhere else, we simply search the preference when we need it.
return
diff --git a/code/modules/client/preferences/phobia.dm b/code/modules/client/preferences/phobia.dm
index 89025b26240b..3ccf85f6b2b4 100644
--- a/code/modules/client/preferences/phobia.dm
+++ b/code/modules/client/preferences/phobia.dm
@@ -13,5 +13,5 @@
return /datum/brain_trauma/mild/phobia::name in preferences.all_quirks
-/datum/preference/choiced/phobia/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/phobia/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/playtime_reward_cloak.dm b/code/modules/client/preferences/playtime_reward_cloak.dm
index 5eb1c89e9b25..d7e686ad74ac 100644
--- a/code/modules/client/preferences/playtime_reward_cloak.dm
+++ b/code/modules/client/preferences/playtime_reward_cloak.dm
@@ -12,7 +12,7 @@
return preferences.parent?.is_veteran()
-/datum/preference/toggle/playtime_reward_cloak/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/toggle/playtime_reward_cloak/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
/// Returns whether the client should receive the gamer cloak
diff --git a/code/modules/client/preferences/prisoner_crime.dm b/code/modules/client/preferences/prisoner_crime.dm
index 3f8a1189fc4f..f8d485cb23cd 100644
--- a/code/modules/client/preferences/prisoner_crime.dm
+++ b/code/modules/client/preferences/prisoner_crime.dm
@@ -8,7 +8,7 @@
/datum/preference/choiced/prisoner_crime/init_possible_values()
return assoc_to_keys(GLOB.prisoner_crimes) + "Random"
-/datum/preference/choiced/prisoner_crime/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/prisoner_crime/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
/datum/preference/choiced/prisoner_crime/create_default_value()
diff --git a/code/modules/client/preferences/prosthetic_limb.dm b/code/modules/client/preferences/prosthetic_limb.dm
index a9bdb81e825d..73ff4d00827c 100644
--- a/code/modules/client/preferences/prosthetic_limb.dm
+++ b/code/modules/client/preferences/prosthetic_limb.dm
@@ -16,5 +16,5 @@
return /datum/quirk/prosthetic_limb::name in preferences.all_quirks
-/datum/preference/choiced/prosthetic/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/prosthetic/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/prosthetic_organ.dm b/code/modules/client/preferences/prosthetic_organ.dm
index 3ac5d66ca319..b073a9daa816 100644
--- a/code/modules/client/preferences/prosthetic_organ.dm
+++ b/code/modules/client/preferences/prosthetic_organ.dm
@@ -17,5 +17,5 @@
return /datum/quirk/prosthetic_organ::name in preferences.all_quirks
-/datum/preference/choiced/prosthetic_organ/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/prosthetic_organ/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/random.dm b/code/modules/client/preferences/random.dm
index a28c46a4c959..4a0a39d470ad 100644
--- a/code/modules/client/preferences/random.dm
+++ b/code/modules/client/preferences/random.dm
@@ -4,7 +4,7 @@
savefile_identifier = PREFERENCE_CHARACTER
can_randomize = FALSE
-/datum/preference/choiced/random_body/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/random_body/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
/datum/preference/choiced/random_body/init_possible_values()
@@ -24,7 +24,7 @@
can_randomize = FALSE
default_value = FALSE
-/datum/preference/toggle/random_hardcore/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/toggle/random_hardcore/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
/datum/preference/toggle/random_hardcore/is_accessible(datum/preferences/preferences)
@@ -39,7 +39,7 @@
savefile_identifier = PREFERENCE_CHARACTER
can_randomize = FALSE
-/datum/preference/choiced/random_name/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/random_name/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
/datum/preference/choiced/random_name/init_possible_values()
diff --git a/code/modules/client/preferences/rds_limit.dm b/code/modules/client/preferences/rds_limit.dm
index e8d015a0703b..3f96f6b01eeb 100644
--- a/code/modules/client/preferences/rds_limit.dm
+++ b/code/modules/client/preferences/rds_limit.dm
@@ -5,7 +5,7 @@
default_value = FALSE
should_update_preview = FALSE
-/datum/preference/toggle/rds_limit/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/toggle/rds_limit/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
/datum/preference/toggle/rds_limit/is_accessible(datum/preferences/preferences)
diff --git a/code/modules/client/preferences/scarred_eye.dm b/code/modules/client/preferences/scarred_eye.dm
index 7e0b7147691f..33232be81959 100644
--- a/code/modules/client/preferences/scarred_eye.dm
+++ b/code/modules/client/preferences/scarred_eye.dm
@@ -16,5 +16,5 @@
return /datum/quirk/item_quirk/scarred_eye::name in preferences.all_quirks
-/datum/preference/choiced/scarred_eye/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/scarred_eye/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/security_department.dm b/code/modules/client/preferences/security_department.dm
index 97bd71b69f72..842fec24ed76 100644
--- a/code/modules/client/preferences/security_department.dm
+++ b/code/modules/client/preferences/security_department.dm
@@ -15,7 +15,7 @@
/datum/preference/choiced/security_department/init_possible_values()
return GLOB.security_depts_prefs
-/datum/preference/choiced/security_department/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/security_department/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
/datum/preference/choiced/security_department/create_default_value()
diff --git a/code/modules/client/preferences/silicon_gender.dm b/code/modules/client/preferences/silicon_gender.dm
index 63b49c84927b..a022a38e8a86 100644
--- a/code/modules/client/preferences/silicon_gender.dm
+++ b/code/modules/client/preferences/silicon_gender.dm
@@ -29,7 +29,7 @@
/datum/preference/choiced/silicon_gender/create_default_value()
return SILICON_NEUTER
-/datum/preference/choiced/silicon_gender/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/silicon_gender/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
#undef SILICON_MALE
diff --git a/code/modules/client/preferences/skin_tone.dm b/code/modules/client/preferences/skin_tone.dm
index d2359f8ce694..39a9174dbbf7 100644
--- a/code/modules/client/preferences/skin_tone.dm
+++ b/code/modules/client/preferences/skin_tone.dm
@@ -26,5 +26,5 @@
return data
-/datum/preference/choiced/skin_tone/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/skin_tone/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.skin_tone = value
diff --git a/code/modules/client/preferences/species.dm b/code/modules/client/preferences/species.dm
index 38b7ebb3fe68..86a500a8893d 100644
--- a/code/modules/client/preferences/species.dm
+++ b/code/modules/client/preferences/species.dm
@@ -26,7 +26,7 @@
return values
-/datum/preference/choiced/species/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/species/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
// target.set_species(value, icon_update = FALSE, pref_load = TRUE) // DARKPACK EDIT REMOVAL - SPLATS
/datum/preference/choiced/species/compile_constant_data()
diff --git a/code/modules/client/preferences/species_features/basic.dm b/code/modules/client/preferences/species_features/basic.dm
index b33f2818bdaf..62de45f8e367 100644
--- a/code/modules/client/preferences/species_features/basic.dm
+++ b/code/modules/client/preferences/species_features/basic.dm
@@ -26,7 +26,7 @@
category = PREFERENCE_CATEGORY_SECONDARY_FEATURES
relevant_head_flag = HEAD_EYECOLOR
-/datum/preference/color/eye_color/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/color/eye_color/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
var/hetero = target.eye_color_heterochromatic
target.eye_color_left = value
if(!hetero)
@@ -64,7 +64,7 @@
/datum/preference/choiced/facial_hairstyle/icon_for(value)
return generate_icon_with_head_accessory(SSaccessories.facial_hairstyles_list[value])
-/datum/preference/choiced/facial_hairstyle/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/facial_hairstyle/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.set_facial_hairstyle(value, update = FALSE)
/datum/preference/choiced/facial_hairstyle/create_default_value()
@@ -98,7 +98,7 @@
category = PREFERENCE_CATEGORY_SUPPLEMENTAL_FEATURES
relevant_head_flag = HEAD_FACIAL_HAIR
-/datum/preference/color/facial_hair_color/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/color/facial_hair_color/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.set_facial_haircolor(value, update = FALSE)
/datum/preference/color/facial_hair_color/create_informed_default_value(datum/preferences/preferences)
@@ -115,7 +115,7 @@
/datum/preference/choiced/facial_hair_gradient/init_possible_values()
return assoc_to_keys_features(SSaccessories.facial_hair_gradients_list)
-/datum/preference/choiced/facial_hair_gradient/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/facial_hair_gradient/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.set_facial_hair_gradient_style(new_style = value, update = FALSE)
/datum/preference/choiced/facial_hair_gradient/create_default_value()
@@ -128,7 +128,7 @@
savefile_key = "facial_hair_gradient_color"
relevant_head_flag = HEAD_FACIAL_HAIR
-/datum/preference/color/facial_hair_gradient/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/color/facial_hair_gradient/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.set_facial_hair_gradient_color(new_color = value, update = FALSE)
/datum/preference/color/facial_hair_gradient/is_accessible(datum/preferences/preferences)
@@ -146,7 +146,7 @@
/datum/preference/color/hair_color/has_relevant_feature(datum/preferences/preferences)
return ..() || (/datum/quirk/item_quirk/bald::name in preferences.all_quirks)
-/datum/preference/color/hair_color/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/color/hair_color/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.set_haircolor(value, update = FALSE)
/datum/preference/color/hair_color/create_informed_default_value(datum/preferences/preferences)
@@ -171,7 +171,7 @@
var/datum/sprite_accessory/hair/hairstyle = SSaccessories.hairstyles_list[value]
return generate_icon_with_head_accessory(hairstyle, hairstyle?.y_offset)
-/datum/preference/choiced/hairstyle/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/hairstyle/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.set_hairstyle(value, update = FALSE)
/datum/preference/choiced/hairstyle/create_default_value()
@@ -209,7 +209,7 @@
/datum/preference/choiced/hair_gradient/init_possible_values()
return assoc_to_keys_features(SSaccessories.hair_gradients_list)
-/datum/preference/choiced/hair_gradient/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/hair_gradient/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.set_hair_gradient_style(new_style = value, update = FALSE)
/datum/preference/choiced/hair_gradient/create_default_value()
@@ -222,7 +222,7 @@
savefile_key = "hair_gradient_color"
relevant_head_flag = HEAD_HAIR
-/datum/preference/color/hair_gradient/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/color/hair_gradient/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.set_hair_gradient_color(new_color = value, update = FALSE)
/datum/preference/color/hair_gradient/is_accessible(datum/preferences/preferences)
diff --git a/code/modules/client/preferences/species_features/ethereal.dm b/code/modules/client/preferences/species_features/ethereal.dm
index 03fcbd4287bf..44be76f9f742 100644
--- a/code/modules/client/preferences/species_features/ethereal.dm
+++ b/code/modules/client/preferences/species_features/ethereal.dm
@@ -32,5 +32,6 @@
icon.blend_color(GLOB.color_list_ethereal[value], ICON_MULTIPLY)
return icon
-/datum/preference/choiced/ethereal_color/apply_to_human(mob/living/carbon/human/target, value)
- target.dna.features[FEATURE_ETHEREAL_COLOR] = GLOB.color_list_ethereal[value]
+/datum/preference/choiced/ethereal_color/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
+ if (current_species_has_savekey(preferences))
+ target.dna.features[FEATURE_MUTANT_COLOR] = GLOB.color_list_ethereal[value]
diff --git a/code/modules/client/preferences/species_features/lizard.dm b/code/modules/client/preferences/species_features/lizard.dm
index 849d1a21114a..4a73b00e9801 100644
--- a/code/modules/client/preferences/species_features/lizard.dm
+++ b/code/modules/client/preferences/species_features/lizard.dm
@@ -81,7 +81,7 @@
/datum/preference/choiced/lizard_legs/init_possible_values()
return list(NORMAL_LEGS, DIGITIGRADE_LEGS)
-/datum/preference/choiced/lizard_legs/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/lizard_legs/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.dna.features[FEATURE_LEGS] = value
// Hack to update the dummy in the preference menu
// (Because digi legs are ONLY handled on species change)
diff --git a/code/modules/client/preferences/species_features/mutants.dm b/code/modules/client/preferences/species_features/mutants.dm
index e7004368e40b..5326b7360add 100644
--- a/code/modules/client/preferences/species_features/mutants.dm
+++ b/code/modules/client/preferences/species_features/mutants.dm
@@ -15,8 +15,11 @@
/datum/preference/color/mutant_color/create_default_value()
return sanitize_hexcolor("[pick("7F", "FF")][pick("7F", "FF")][pick("7F", "FF")]")
-/datum/preference/color/mutant_color/apply_to_human(mob/living/carbon/human/target, value)
- target.dna.features[FEATURE_MUTANT_COLOR] = value
+/datum/preference/color/mutant_color/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
+ var/species_type = preferences.read_preference(/datum/preference/choiced/species)
+ var/datum/species/species = GLOB.species_prototypes[species_type]
+ if (!(TRAIT_FIXED_MUTANT_COLORS in species.inherent_traits))
+ target.dna.features[FEATURE_MUTANT_COLOR] = value
/datum/preference/color/mutant_color/is_valid(value)
if (!..(value))
diff --git a/code/modules/client/preferences/species_features/vampire.dm b/code/modules/client/preferences/species_features/vampire.dm
index 797ccb1e48a4..08bcfee9c210 100644
--- a/code/modules/client/preferences/species_features/vampire.dm
+++ b/code/modules/client/preferences/species_features/vampire.dm
@@ -24,7 +24,7 @@
///list that stores a vampire house name for each department
GLOBAL_LIST_EMPTY(vampire_houses)
-/datum/preference/choiced/vampire_status/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/vampire_status/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
if(!HAS_TRAIT(target, TRAIT_BLOOD_CLANS))
return
diff --git a/code/modules/client/preferences/trans_prosthetic.dm b/code/modules/client/preferences/trans_prosthetic.dm
index db8447726138..3484fee7fa6f 100644
--- a/code/modules/client/preferences/trans_prosthetic.dm
+++ b/code/modules/client/preferences/trans_prosthetic.dm
@@ -16,5 +16,5 @@
return /datum/quirk/transhumanist::name in preferences.all_quirks
-/datum/preference/choiced/trans_prosthetic/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/trans_prosthetic/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/underwear_color.dm b/code/modules/client/preferences/underwear_color.dm
index 1304bdaf2da8..51bc34e9bf4b 100644
--- a/code/modules/client/preferences/underwear_color.dm
+++ b/code/modules/client/preferences/underwear_color.dm
@@ -11,5 +11,5 @@
var/datum/species/species = GLOB.species_prototypes[species_type]
return !(TRAIT_NO_UNDERWEAR in species.inherent_traits)
-/datum/preference/color/underwear_color/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/color/underwear_color/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
target.underwear_color = value
diff --git a/code/modules/client/preferences/uplink_location.dm b/code/modules/client/preferences/uplink_location.dm
index e545a2f005a2..d7d57962b34c 100644
--- a/code/modules/client/preferences/uplink_location.dm
+++ b/code/modules/client/preferences/uplink_location.dm
@@ -23,5 +23,5 @@
/datum/preference/choiced/uplink_location/create_default_value()
return UPLINK_PDA
-/datum/preference/choiced/uplink_location/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/uplink_location/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
diff --git a/code/modules/client/preferences/voice.dm b/code/modules/client/preferences/voice.dm
index e64714e36c83..08da78994b73 100644
--- a/code/modules/client/preferences/voice.dm
+++ b/code/modules/client/preferences/voice.dm
@@ -22,7 +22,7 @@
return cached_data
return list("invalid")
-/datum/preference/choiced/voice/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/voice/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
if(SStts.tts_enabled && !(value in SStts.available_speakers))
value = SStts.random_tts_voice(target.gender) // As a failsafe
target.voice = value
@@ -43,7 +43,7 @@
/datum/preference/numeric/tts_voice_pitch/create_default_value()
return 0
-/datum/preference/numeric/tts_voice_pitch/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/numeric/tts_voice_pitch/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
if(SStts.tts_enabled && SStts.pitch_enabled)
target.pitch = value
@@ -61,7 +61,7 @@
/datum/preference/choiced/tts_blip_base/init_possible_values()
return list(TTS_BLIPS_MASCULINE, TTS_BLIPS_FEMININE)
-/datum/preference/choiced/tts_blip_base/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/choiced/tts_blip_base/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
if(SStts.tts_enabled)
if(value == TTS_BLIPS_MASCULINE)
target.blip_base = "male"
@@ -89,6 +89,6 @@
/datum/preference/numeric/tts_blip_number/create_default_value()
return rand(1, 4)
-/datum/preference/numeric/tts_blip_number/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/numeric/tts_blip_number/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
if(SStts.tts_enabled)
target.blip_number = value
diff --git a/code/modules/client/spawn_text_overlay.dm b/code/modules/client/spawn_text_overlay.dm
new file mode 100644
index 000000000000..2912ffda005b
--- /dev/null
+++ b/code/modules/client/spawn_text_overlay.dm
@@ -0,0 +1,46 @@
+/// Displays a typewriter-style spawn text overlay that includes station/area/job name and time
+/client/proc/show_spawn_text_overlay(duration = 5 SECONDS)
+ set waitfor = FALSE
+
+ var/mob_name = mob.name
+ var/job_title = mob.mind?.assigned_role.title || "Unknown"
+
+ var/station_name = station_name()
+ var/area_name = get_area_name(mob, format_text = TRUE) || "Unknown Location"
+ var/time_date = server_timestamp(format = "YYYY-MM-DD hh:mm:ss", ic_time = TRUE)
+
+ var/text = {"
+ [mob_name] - [job_title]
+ [station_name]
+ [area_name]
+ [time_date]
+ "}
+ text = uppertext(text)
+
+ var/atom/movable/screen/spawn_text = new()
+ spawn_text.maptext_height = 64
+ spawn_text.maptext_width = 512
+ spawn_text.layer = FLY_LAYER
+ spawn_text.plane = FULLSCREEN_PLANE
+ spawn_text.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA
+ spawn_text.screen_loc = "LEFT+1,TOP-3"
+
+ screen += spawn_text
+ animate(spawn_text, alpha = 255, time = 1 SECONDS)
+
+ for(var/i in 1 to length_char(text) + 1)
+ if(QDELETED(spawn_text) || QDELETED(src))
+ return
+ spawn_text.maptext = MAPTEXT_PIXELLARI(copytext_char(text, 1, i))
+ sleep(1)
+
+ addtimer(CALLBACK(src, PROC_REF(fade_spawn_text_overlay), src, spawn_text), duration)
+
+/client/proc/fade_spawn_text_overlay(client/player_client, atom/movable/screen/spawn_text)
+ if(QDELETED(spawn_text))
+ return
+ animate(spawn_text, alpha = 0, time = 0.5 SECONDS)
+ sleep(5)
+ if(player_client && !QDELETED(spawn_text))
+ player_client.screen -= spawn_text
+ qdel(spawn_text)
diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm
index a9a5d3e4dcd8..7722d7dcbfb4 100644
--- a/code/modules/client/verbs/ooc.dm
+++ b/code/modules/client/verbs/ooc.dm
@@ -2,7 +2,8 @@ GLOBAL_VAR_INIT(OOC_COLOR, null)//If this is null, use the CSS for OOC. Otherwis
GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8")
///talking in OOC uses this
-GAME_VERB(/client, ooc, VERB_OOC, null, msg as text)
+GAME_VERB(/client, ooc, VERB_OOC, null)
+ VERB_ARG(msg, VERB_ARG_TYPE_TEXT, VERB_ARG_SOURCE_INPUT)
if(GLOB.say_disabled) //This is here to try to identify lag problems
to_chat(usr, span_danger("Speech is currently admin-disabled."))
return
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index aab2bfee2955..d3110ea61ddb 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -398,7 +398,7 @@
.["sterile"] = "Increases the speed at which reagents are administered to others by [round((1/NITRILE_GLOVES_MULTIPLIER-1)*100, 1)]%."
if(TRAIT_FAST_CUFFING in clothing_traits)
.["secure"] = "Increases the speed at which you apply restraints."
- if(emp_protection >= EMP_PROTECTION_NONE)
+ if(emp_protection > EMP_PROTECTION_NONE)
.["emp resistant"] = "Reduces the effects of incoming electromagnetic pulses on the wearer."
/obj/item/clothing/examine_descriptor(mob/user)
diff --git a/code/modules/clothing/head/animalears.dm b/code/modules/clothing/head/animalears.dm
index bcb5ffb63edd..71e08a475f03 100644
--- a/code/modules/clothing/head/animalears.dm
+++ b/code/modules/clothing/head/animalears.dm
@@ -3,7 +3,7 @@
desc = "A pair of kitty ears. Meow!"
icon_state = "kitty"
color = "#999999"
-
+ clothing_traits = list(TRAIT_CAT_EMOTES_ALLOWED)
dog_fashion = /datum/dog_fashion/head/kitty
/obj/item/clothing/head/costume/kitty/visual_equipped(mob/living/carbon/human/user, slot)
diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm
index 3ba411d75da7..c21dde12968e 100644
--- a/code/modules/clothing/head/helmet.dm
+++ b/code/modules/clothing/head/helmet.dm
@@ -16,6 +16,7 @@
flags_cover = HEADCOVERSEYES|EARS_COVERED
flags_inv = HIDEHAIR
dog_fashion = /datum/dog_fashion/head/helmet
+ resistance_flags = NONE
/datum/armor/head_helmet
melee = 35
diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm
index e365abec485e..13be503e96b0 100644
--- a/code/modules/clothing/masks/_masks.dm
+++ b/code/modules/clothing/masks/_masks.dm
@@ -17,8 +17,25 @@
var/voice_override
/// If set to true, activates the radio effect on TTS. Used for sec hailers, but other masks can utilize it for their own vocal effect.
var/use_radio_beeps_tts = FALSE
- /// The unique sound effect of dying while wearing this
- var/unique_death
+ /// A list of sound overrides for emotes, which can play when the mask is worn on the mask slot
+ var/list/emote_sounds
+
+/obj/item/clothing/mask/equipped(mob/living/equipper, slot)
+ . = ..()
+ if (!(slot & ITEM_SLOT_MASK))
+ return
+ for(var/key in emote_sounds)
+ RegisterSignal(equipper, COMSIG_MOB_EMOTE_SOUND(key), PROC_REF(get_emote_sound))
+
+/obj/item/clothing/mask/dropped(mob/living/dropper)
+ . = ..()
+ for(var/key in emote_sounds)
+ UnregisterSignal(dropper, COMSIG_MOB_EMOTE_SOUND(key))
+
+/obj/item/clothing/mask/proc/get_emote_sound(mob/living/source, key, list/sounds)
+ SIGNAL_HANDLER
+ var/sound_override = get_emote_sound_from_list(emote_sounds[key], source)
+ sounds[sound_override] = EMOTE_SOUND_MASK
/obj/item/clothing/mask/attack_self(mob/user)
if((clothing_flags & VOICEBOX_TOGGLABLE))
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
index 28170db5b3ef..acdb0507ca67 100644
--- a/code/modules/clothing/masks/gasmask.dm
+++ b/code/modules/clothing/masks/gasmask.dm
@@ -426,6 +426,9 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
flags_cover = MASKCOVERSEYES
resistance_flags = FLAMMABLE
fishing_modifier = 0
+ emote_sounds = list(
+ /datum/emote/living/scream::key = SFX_SCREECH,
+ )
/obj/item/clothing/mask/gas/sexymime
name = "sexy mime mask"
diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm
index 9c3f517beb6f..d936a66cf171 100644
--- a/code/modules/clothing/masks/hailer.dm
+++ b/code/modules/clothing/masks/hailer.dm
@@ -58,7 +58,11 @@ GLOBAL_LIST_INIT(hailer_phrases, list(
visor_flags_cover = MASKCOVERSMOUTH | PEPPERPROOF
tint = 0
fishing_modifier = 0
- unique_death = 'sound/items/sec_hailer/sec_death.ogg'
+ emote_sounds = list(
+ /datum/emote/living/deathgasp::key = 'sound/items/sec_hailer/sec_death.ogg',
+ )
+ voice_filter = @{"[0:a] asetrate=%SAMPLE_RATE%*0.7,aresample=16000,atempo=1/0.7,lowshelf=g=-20:f=500,highpass=f=500,aphaser=in_gain=1:out_gain=1:delay=3.0:decay=0.4:speed=0.5:type=t [out]; [out]atempo=1.2,volume=15dB [final]; anoisesrc=a=0.01:d=60 [noise]; [final][noise] amix=duration=shortest"}
+ use_radio_beeps_tts = TRUE
COOLDOWN_DECLARE(hailer_cooldown)
///Decides the phrases available for use; defines used are the last index of a category of available phrases
var/aggressiveness = AGGR_BAD_COP
@@ -70,8 +74,6 @@ GLOBAL_LIST_INIT(hailer_phrases, list(
var/recent_uses = 0
///Whether the hailer is emagged or not
var/safety = TRUE
- voice_filter = @{"[0:a] asetrate=%SAMPLE_RATE%*0.7,aresample=16000,atempo=1/0.7,lowshelf=g=-20:f=500,highpass=f=500,aphaser=in_gain=1:out_gain=1:delay=3.0:decay=0.4:speed=0.5:type=t [out]; [out]atempo=1.2,volume=15dB [final]; anoisesrc=a=0.01:d=60 [noise]; [final][noise] amix=duration=shortest"}
- use_radio_beeps_tts = TRUE
/obj/item/clothing/mask/gas/sechailer/plasmaman
starting_filter_type = /obj/item/gas_filter/plasmaman
diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm
index 33095e716497..14aac47f5643 100644
--- a/code/modules/clothing/spacesuits/_spacesuits.dm
+++ b/code/modules/clothing/spacesuits/_spacesuits.dm
@@ -180,7 +180,7 @@
// If we got here, it means thermals are on, the cell is in and the cell has
// just had enough charge subtracted from it to power the thermal regulator
- user.adjust_bodytemperature(get_temp_change_amount((temperature_setting - user.bodytemperature), 0.08 * seconds_per_tick))
+ user.adjust_bodytemperature(get_temp_change_amount((temperature_setting - user.bodytemperature), BODYTEMP_SUIT_CHANGE_RATE * seconds_per_tick))
update_hud_icon(user)
// Clean up the cell on destroy
diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm
index 12ba36c89eb7..7613cb6eda37 100644
--- a/code/modules/clothing/suits/toggles.dm
+++ b/code/modules/clothing/suits/toggles.dm
@@ -11,6 +11,8 @@
/// Reference to hood object, if it exists
var/obj/item/clothing/head/hooded/hood
+ var/auto_deploy_hood_on_outfit_equip = TRUE
+
/obj/item/clothing/suit/hooded/Initialize(mapload)
. = ..()
if (!hoodtype)
@@ -27,6 +29,7 @@
on_created = CALLBACK(src, PROC_REF(on_hood_created)),\
on_deployed = CALLBACK(src, PROC_REF(on_hood_up)),\
on_removed = CALLBACK(src, PROC_REF(on_hood_down)),\
+ auto_deploy_on_outfit_equip = auto_deploy_hood_on_outfit_equip,\
)
/obj/item/clothing/suit/hooded/Destroy()
diff --git a/code/modules/clothing/suits/wintercoats.dm b/code/modules/clothing/suits/wintercoats.dm
index 5b4f92e0c473..fb00b5d8db8d 100644
--- a/code/modules/clothing/suits/wintercoats.dm
+++ b/code/modules/clothing/suits/wintercoats.dm
@@ -16,6 +16,7 @@
var/zipped = FALSE
/// Whether alt-clicking this coat zips/unzips it
var/can_altclick_zip = TRUE
+ auto_deploy_hood_on_outfit_equip = FALSE
/datum/armor/hooded_wintercoat
bio = 10
diff --git a/code/modules/deathmatch/deathmatch_lobby.dm b/code/modules/deathmatch/deathmatch_lobby.dm
index 28ba9a5c547f..87dd400bc3da 100644
--- a/code/modules/deathmatch/deathmatch_lobby.dm
+++ b/code/modules/deathmatch/deathmatch_lobby.dm
@@ -76,9 +76,8 @@
/datum/deathmatch_lobby/proc/find_spawns_and_start_delay(datum/lazy_template/source, list/atoms)
SIGNAL_HANDLER
- for(var/thing in atoms)
- if(istype(thing, /obj/effect/landmark/deathmatch_player_spawn))
- player_spawns += thing
+ for(var/obj/effect/landmark/deathmatch_player_spawn/spawn_point in atoms)
+ player_spawns += spawn_point
UnregisterSignal(source, COMSIG_LAZY_TEMPLATE_LOADED)
map.template_in_use = FALSE
@@ -91,8 +90,8 @@
playing = FALSE
return FALSE
- for(var/modpath in modifiers)
- GLOB.deathmatch_game.modifiers[modpath].on_start_game(src)
+ for(var/datum/deathmatch_modifier/modifier_path as anything in modifiers)
+ GLOB.deathmatch_game.modifiers[modifier_path].on_start_game(src)
for (var/key in players)
var/mob/dead/observer/observer = players[key]["mob"]
@@ -119,8 +118,8 @@
announce(span_reallybig("GO!"))
if(length(modifiers))
var/list/modifier_names = list()
- for(var/datum/deathmatch_modifier/modifier as anything in modifiers)
- modifier_names += uppertext(initial(modifier.name))
+ for(var/datum/deathmatch_modifier/modifier_path as anything in modifiers)
+ modifier_names += uppertext(initial(modifier_path.name))
announce(span_boldnicegreen("THIS MATCH MODIFIERS: [english_list(modifier_names, and_text = " ,")]."))
return TRUE
@@ -150,8 +149,8 @@
new_player.PossessByPlayer(ckey)
players_info["mob"] = new_player
- for(var/datum/deathmatch_modifier/modifier as anything in modifiers)
- GLOB.deathmatch_game.modifiers[modifier].apply(new_player, src)
+ for(var/datum/deathmatch_modifier/modifier_path as anything in modifiers)
+ GLOB.deathmatch_game.modifiers[modifier_path].apply(new_player, src)
// register death handling.
register_player_signals(new_player)
@@ -193,8 +192,8 @@
loser.ghostize(can_reenter_corpse = FALSE)
qdel(loser)
- for(var/datum/deathmatch_modifier/modifier in modifiers)
- GLOB.deathmatch_game.modifiers[modifier].on_end_game(src)
+ for(var/datum/deathmatch_modifier/modifier_path as anything in modifiers)
+ GLOB.deathmatch_game.modifiers[modifier_path].on_end_game(src)
clear_reservation()
GLOB.deathmatch_game.remove_lobby(host)
@@ -323,8 +322,8 @@
continue
players[player_key]["loadout"] = loadouts[1]
- for(var/deathmatch_mod in modifiers)
- GLOB.deathmatch_game.modifiers[deathmatch_mod].on_map_changed(src)
+ for(var/datum/deathmatch_modifier/modifier_path as anything in modifiers)
+ GLOB.deathmatch_game.modifiers[modifier_path].on_map_changed(src)
/datum/deathmatch_lobby/proc/clear_reservation()
if(isnull(location) || isnull(map))
@@ -393,8 +392,8 @@
if(length(modifiers))
var/list/mod_names = list()
- for(var/datum/deathmatch_modifier/modpath as anything in modifiers)
- mod_names += modpath::name
+ for(var/datum/deathmatch_modifier/modifier_path as anything in modifiers)
+ mod_names += modifier_path::name
data["active_mods"] = "Selected modifiers: [english_list(mod_names)]"
if(is_player && !isnull(players[user.ckey]["loadout"]))
@@ -505,13 +504,13 @@
return TRUE
if("toggle_modifier")
- var/datum/deathmatch_modifier/modpath = text2path(params["modpath"])
- if(!ispath(modpath))
+ var/datum/deathmatch_modifier/modifier_path = text2path(params["modpath"])
+ if(!ispath(modifier_path))
return TRUE
if(usr.ckey != host && !check_rights(R_ADMIN))
return TRUE
- var/datum/deathmatch_modifier/chosen_modifier = GLOB.deathmatch_game.modifiers[modpath]
- if(modpath in modifiers)
+ var/datum/deathmatch_modifier/chosen_modifier = GLOB.deathmatch_game.modifiers[modifier_path]
+ if(modifier_path in modifiers)
unselect_modifier(chosen_modifier)
return TRUE
if(chosen_modifier.selectable(src))
@@ -553,14 +552,14 @@
if(!mod_menu_open)
return modifier_list
- for(var/modpath in GLOB.deathmatch_game.modifiers)
- var/datum/deathmatch_modifier/mod = GLOB.deathmatch_game.modifiers[modpath]
+ for(var/datum/deathmatch_modifier/modifier_path as anything in GLOB.deathmatch_game.modifiers)
+ var/datum/deathmatch_modifier/mod = GLOB.deathmatch_game.modifiers[modifier_path]
UNTYPED_LIST_ADD(modifier_list, list(
"name" = mod.name,
"desc" = mod.description,
- "modpath" = "[modpath]",
- "selected" = (modpath in modifiers),
+ "modpath" = "[modifier_path]",
+ "selected" = (modifier_path in modifiers),
"selectable" = is_host && mod.selectable(src),
))
diff --git a/code/modules/deathmatch/deathmatch_modifier.dm b/code/modules/deathmatch/deathmatch_modifier.dm
index 96d2f281ed9b..3e7c6a949c7b 100644
--- a/code/modules/deathmatch/deathmatch_modifier.dm
+++ b/code/modules/deathmatch/deathmatch_modifier.dm
@@ -526,9 +526,8 @@
///Pick global modifiers at random.
for(var/iteration in 1 to rand(3, 5))
var/datum/deathmatch_modifier/modifier = GLOB.deathmatch_game.modifiers[pick_n_take(modifiers_pool)]
- modifier.on_select(lobby)
+ lobby.select_modifier(modifier)
modifier.on_start_game(lobby)
- lobby.modifiers += modifier.type
modifiers_pool -= modifier.blacklisted_modifiers
if(!length(modifiers_pool))
return
diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm
index 1c6f1dda4a22..5aadcdf0f899 100644
--- a/code/modules/detectivework/scanner.dm
+++ b/code/modules/detectivework/scanner.dm
@@ -150,8 +150,8 @@
if(!istype(present_reagent, /datum/reagent/blood))
continue
- var/blood_DNA = present_reagent.data["blood_DNA"]
- var/blood_type = present_reagent.data["blood_type"]
+ var/blood_DNA = present_reagent.data[BLOOD_DATA_DNA]
+ var/blood_type = present_reagent.data[BLOOD_DATA_TYPE]
if(!blood_DNA || !blood_type)
continue
diff --git a/code/modules/escape_menu/escape_menu.dm b/code/modules/escape_menu/escape_menu.dm
index a710a64537d0..ae5b06aa5185 100644
--- a/code/modules/escape_menu/escape_menu.dm
+++ b/code/modules/escape_menu/escape_menu.dm
@@ -140,6 +140,7 @@ GAME_VERB_HIDDEN(/client, reset_held_keys_verb, "Reset Held Keys")
"timeDilation" = "[round(SStime_track.time_dilation_current, 1)]",
"mapName" = SSmapping.current_map?.map_name || "Loading...",
"mapFeedbackLink" = SSmapping.current_map?.feedback_link,
+ "mapWebmap" = SSmapping.current_map?.mapping_url,
"canLeaveBody" = isliving(client?.mob),
"canAdminHelp" = (/client/verb/adminhelp in client?.verbs),
"canSeeNotes" = CONFIG_GET(flag/see_own_notes),
diff --git a/code/modules/events/immovable_rod/immovable_rod.dm b/code/modules/events/immovable_rod/immovable_rod.dm
index 338952289586..899247e69ebf 100644
--- a/code/modules/events/immovable_rod/immovable_rod.dm
+++ b/code/modules/events/immovable_rod/immovable_rod.dm
@@ -28,10 +28,13 @@
var/dnd_style_level_up = TRUE
/// Whether the rod can loop across other z-levels. The rod will still loop when the z-level is self-looping even if this is FALSE.
var/loopy_rod = FALSE
+ /// Whether or not this rod should be shown to ghosts for auto-orbiting.
+ var/should_augury = TRUE
/obj/effect/immovablerod/Initialize(mapload, atom/target_atom, atom/specific_target, force_looping = FALSE)
. = ..()
- SSaugury.register_doom(src, 2000)
+ if(should_augury)
+ SSaugury.register_doom(src, SEVERITY_ROD)
var/turf/real_destination = get_turf(target_atom)
destination_turf = real_destination
diff --git a/code/modules/events/shuttle_loan/shuttle_loan_datum.dm b/code/modules/events/shuttle_loan/shuttle_loan_datum.dm
index 5130d36db71d..b079153879d7 100644
--- a/code/modules/events/shuttle_loan/shuttle_loan_datum.dm
+++ b/code/modules/events/shuttle_loan/shuttle_loan_datum.dm
@@ -98,7 +98,7 @@
if(prob(50))
spawn_list.Add(/mob/living/basic/trooper/syndicate/ranged/infiltrator)
*/
-
+/* // DARKPACK EDIT REMOVAL START - (Removes Monkey Cubes and Bees)
/datum/shuttle_loan_situation/lots_of_bees
sender = "CentCom Janitorial Division"
announcement_text = "One of our freighters carrying a bee shipment has been attacked by eco-terrorists. Can you clean up the mess for us?"
@@ -133,6 +133,7 @@
for(var/i in 1 to 10)
var/casing = /obj/item/ammo_casing/spent
new casing(pick_n_take(empty_shuttle_turfs))
+*/ // DARKPACK EDIT REMOVAL END
/datum/shuttle_loan_situation/jc_a_bomb
sender = "CentCom Security Division"
diff --git a/code/modules/events/stray_cargo.dm b/code/modules/events/stray_cargo.dm
index a8d362deb3b9..0369714c8ce9 100644
--- a/code/modules/events/stray_cargo.dm
+++ b/code/modules/events/stray_cargo.dm
@@ -42,6 +42,10 @@
var/crate_type
/// Set to TRUE to emag the launched crate rather than just unlocking it.
var/emag_crate = FALSE
+ /// Upper bound of how many random seconds to wait before dropping the pod (replaces start_when)
+ var/upper_bound_wait_time = 40
+ /// Lower bound of how many random seconds to wait before dropping the pod (replaces start_when)
+ var/lower_bound_wait_time = 20
/datum/round_event/stray_cargo/announce(fake)
if(fake)
@@ -53,13 +57,8 @@
* Also randomizes the start timer
*/
/datum/round_event/stray_cargo/setup()
- start_when = rand(20, 40)
- if(admin_override_turf)
- impact_area = get_area(admin_override_turf)
- else
- impact_area = find_event_area()
- if(!impact_area)
- CRASH("No valid areas for cargo pod found.")
+ start_when = rand(lower_bound_wait_time , upper_bound_wait_time)
+ impact_area = get_impact_area()
var/list/turf_test = get_area_turfs(impact_area)
if(!turf_test.len)
CRASH("Stray Cargo Pod : No valid turfs found for [impact_area] - [impact_area.type]")
@@ -71,8 +70,23 @@
if(initial(pack_type.order_flags) & ORDER_SPECIAL)
stray_spawnable_supply_packs -= pack
+/datum/round_event/stray_cargo/proc/get_impact_area()
+ if(admin_override_turf)
+ . = get_area(admin_override_turf)
+ else
+ . = find_event_area()
+ if(isnull(.))
+ CRASH("No valid areas for cargo pod found.")
+
///Spawns a random supply pack, puts it in a pod, and spawns it on a random tile of the selected area
/datum/round_event/stray_cargo/start()
+ var/turf/landing_zone = get_landing_zone()
+ var/obj/structure/closet/supplypod/pod = make_pod()
+ var/obj/container = get_contents()
+ send_pod(landing_zone, pod, container)
+
+///Selects a place for the pod to land in
+/datum/round_event/stray_cargo/proc/get_landing_zone()
var/list/turf/valid_turfs = get_area_turfs(impact_area)
//Only target non-dense turfs to prevent wall-embedded pods
for(var/i in valid_turfs)
@@ -84,6 +98,14 @@
landing_zone = admin_override_turf
else
landing_zone = pick(valid_turfs)
+ return landing_zone
+
+///Handles the creation of the pod, in case it needs to be modified beforehand
+/datum/round_event/stray_cargo/proc/make_pod()
+ return new /obj/structure/closet/supplypod
+
+///Generates the contents of the pod
+/datum/round_event/stray_cargo/proc/get_contents()
var/pack_type
if(admin_override_contents)
pack_type = admin_override_contents
@@ -104,8 +126,8 @@
var/storage_override
if(initial(supply_pack.order_flags) & ORDER_GOODY) // We offer goody items inside of briefcases, but regular crates still default to their standard crates.
storage_override = /obj/item/storage/briefcase/empty
- var/obj/container = supply_pack.generate(null, crate_override = (crate_type || storage_override))
+ var/obj/container = supply_pack.generate(null, crate_override = (crate_type || storage_override))
if(container && istype(container, /obj/structure/closet/crate)) //empty supply packs are a thing! get memed on.
var/obj/structure/closet/crate/crate = container
if(emag_crate)
@@ -113,16 +135,17 @@
else
crate.locked = FALSE //Unlock secure crates
crate.update_appearance()
- var/obj/structure/closet/supplypod/pod = make_pod()
+ return container
+
+///Sends the pod to the given location, containing the container
+/datum/round_event/stray_cargo/proc/send_pod(landing_zone, pod, container)
var/obj/effect/pod_landingzone/landing_marker = new(landing_zone, pod, container)
+ create_ghost_notification(landing_marker)
+
+/datum/round_event/stray_cargo/proc/create_ghost_notification(landing_marker)
var/static/mutable_appearance/target_appearance = mutable_appearance('icons/obj/supplypods_32x32.dmi', "LZ")
notify_ghosts("[control.name] has summoned a supply crate!", source = get_turf(landing_marker), header = "Cargo Inbound", alert_overlay = target_appearance)
-///Handles the creation of the pod, in case it needs to be modified beforehand
-/datum/round_event/stray_cargo/proc/make_pod()
- var/obj/structure/closet/supplypod/S = new
- return S
-
///Picks an area that wouldn't risk critical damage if hit by a pod explosion
/datum/round_event/stray_cargo/proc/find_event_area()
var/static/list/allowed_areas
diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm
index 180054fa7a1f..311eb5502f55 100644
--- a/code/modules/events/vent_clog.dm
+++ b/code/modules/events/vent_clog.dm
@@ -187,10 +187,17 @@
clear_signals()
kill()
+/datum/round_event/vent_clog/proc/on_examine(datum/source, mob/user, list/examine_list)
+ if(vent.welded)
+ examine_list += span_notice("Something's moving around in it, but it's being blocked by the welded opening.")
+ return
+ examine_list += span_warning("Something's trying to get out. You could use a [span_green("plunger")] to send it back on its way.")
+
///Handles the initial steps of clogging a vent, either at event start or when the vent moves.
/datum/round_event/vent_clog/proc/clog_vent()
RegisterSignal(vent, COMSIG_QDELETING, PROC_REF(vent_move))
RegisterSignal(vent, COMSIG_PLUNGER_ACT, PROC_REF(plunger_unclog))
+ RegisterSignal(vent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
for(var/turf/nearby_turf in view(2, get_turf(vent)))
if(isopenturf(nearby_turf) && prob(85))
@@ -200,7 +207,7 @@
///Clears the signals related to the event, before we wrap things up.
/datum/round_event/vent_clog/proc/clear_signals()
- UnregisterSignal(vent, list(COMSIG_QDELETING, COMSIG_PLUNGER_ACT))
+ UnregisterSignal(vent, list(COMSIG_QDELETING, COMSIG_PLUNGER_ACT, COMSIG_ATOM_EXAMINE))
/datum/round_event_control/vent_clog/major
name = "Ventilation Clog: Major"
diff --git a/code/modules/fishing/fish/fish_traits.dm b/code/modules/fishing/fish/fish_traits.dm
index 3df656406186..48376affc2c4 100644
--- a/code/modules/fishing/fish/fish_traits.dm
+++ b/code/modules/fishing/fish/fish_traits.dm
@@ -201,8 +201,7 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
if(HAS_TRAIT(rod, TRAIT_ROD_IGNORE_ENVIRONMENT))
return
var/turf/turf = get_turf(location)
- var/light_amount = turf?.get_lumcount()
- if(light_amount > SHADOW_SPECIES_LIGHT_THRESHOLD)
+ if(turf?.check_lumcount_above(SHADOW_SPECIES_LIGHT_THRESHOLD))
.[MULTIPLICATIVE_FISHING_MOD] = 0
/datum/fish_trait/nocturnal/apply_to_fish(obj/item/fish/fish, initial = TRUE)
@@ -218,8 +217,7 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
if(!source.loc || (!HAS_TRAIT(source.loc, TRAIT_IS_AQUARIUM) && !isturf(source.loc)))
return
var/turf/turf = get_turf(source)
- var/light_amount = turf.get_lumcount()
- if(light_amount > SHADOW_SPECIES_LIGHT_THRESHOLD)
+ if(turf.check_lumcount_above(SHADOW_SPECIES_LIGHT_THRESHOLD))
source.damage_fish(0.5 * seconds_per_tick)
/datum/fish_trait/nocturnal/apply_to_mob(mob/living/basic/mob)
@@ -237,9 +235,8 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
var/turf/our_turf = mob.loc
if(!isturf(our_turf))
return
- var/light_amount = our_turf.get_lumcount()
- if (light_amount < SHADOW_SPECIES_LIGHT_THRESHOLD) //heal in the dark
+ if (our_turf.check_lumcount_below(SHADOW_SPECIES_LIGHT_THRESHOLD)) //heal in the dark
mob.apply_status_effect(/datum/status_effect/shadow/regeneration)
/datum/fish_trait/heavy
diff --git a/code/modules/food_and_drinks/food/burgers.dm b/code/modules/food_and_drinks/food/burgers.dm
index 846489d19bca..ac37cd16e1a6 100644
--- a/code/modules/food_and_drinks/food/burgers.dm
+++ b/code/modules/food_and_drinks/food/burgers.dm
@@ -551,7 +551,7 @@
/datum/reagent/consumable/nutriment = 5,
/datum/reagent/consumable/nutriment/protein = 5,
/datum/reagent/consumable/nutriment/vitamin = 1,
- /datum/reagent/consumable/liquidelectricity/enriched = 6,
+ /datum/reagent/consumable/liquidelectricity = 6,
)
tastes = list("bun" = 2, "pure electricity" = 4)
foodtypes = GRAIN | TOXIC
diff --git a/code/modules/food_and_drinks/food/cake.dm b/code/modules/food_and_drinks/food/cake.dm
index 821b62bb8e2c..28d4c9a6da3c 100644
--- a/code/modules/food_and_drinks/food/cake.dm
+++ b/code/modules/food_and_drinks/food/cake.dm
@@ -302,7 +302,7 @@
/datum/reagent/consumable/sprinkles = 10,
/datum/reagent/consumable/nutriment/vitamin = 5,
/datum/reagent/consumable/pwr_game = 10,
- /datum/reagent/consumable/liquidelectricity/enriched = 10,
+ /datum/reagent/consumable/liquidelectricity = 10,
)
tastes = list("cake" = 3, "a Vlad's Salad" = 1)
slice_type = /obj/item/food/cakeslice/birthday/energy
@@ -333,7 +333,7 @@
/datum/reagent/consumable/sprinkles = 2,
/datum/reagent/consumable/nutriment/vitamin = 1,
/datum/reagent/consumable/pwr_game = 2,
- /datum/reagent/consumable/liquidelectricity/enriched = 2,
+ /datum/reagent/consumable/liquidelectricity = 2,
)
tastes = list("cake" = 3, "a Vlad's Salad" = 1)
crafting_complexity = FOOD_COMPLEXITY_4
diff --git a/code/modules/food_and_drinks/food/martian.dm b/code/modules/food_and_drinks/food/martian.dm
index 2f0fabddee8f..9d54fa3af621 100644
--- a/code/modules/food_and_drinks/food/martian.dm
+++ b/code/modules/food_and_drinks/food/martian.dm
@@ -1386,7 +1386,7 @@
icon = 'icons/obj/food/martian.dmi'
icon_state = "pickled_voltvine"
food_reagents = list(
- /datum/reagent/consumable/liquidelectricity/enriched = 4,
+ /datum/reagent/consumable/liquidelectricity = 4,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("sour radish" = 1)
@@ -1401,7 +1401,7 @@
icon = 'icons/obj/food/martian.dmi'
icon_state = "volt_fish"
food_reagents = list(
- /datum/reagent/consumable/liquidelectricity/enriched = 6,
+ /datum/reagent/consumable/liquidelectricity = 6,
/datum/reagent/consumable/nutriment/protein = 4,
)
tastes = list("fish" = 1, "sour pear" = 1)
@@ -1416,7 +1416,7 @@
icon = 'icons/obj/food/martian.dmi'
icon_state = "sprout_bowl"
food_reagents = list(
- /datum/reagent/consumable/liquidelectricity/enriched = 8,
+ /datum/reagent/consumable/liquidelectricity = 8,
/datum/reagent/consumable/nutriment/protein = 4,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
diff --git a/code/modules/food_and_drinks/food/meatslab.dm b/code/modules/food_and_drinks/food/meatslab.dm
index 60687d712db2..05b23af1b3db 100644
--- a/code/modules/food_and_drinks/food/meatslab.dm
+++ b/code/modules/food_and_drinks/food/meatslab.dm
@@ -7,7 +7,7 @@
var/subjectjob = null
var/blood_decal_type = /obj/effect/decal/cleanable/blood
-/obj/item/food/meat/Initialize(mapload, blood_dna_list = list("meaty DNA" = get_blood_type(BLOOD_TYPE_MEAT)))
+/obj/item/food/meat/Initialize(mapload, blood_dna_list = list("meaty DNA" = get_blood_type(/datum/blood_type/meat)))
. = ..()
if(!blood_decal_type || !length(custom_materials))
@@ -170,7 +170,7 @@
/obj/item/food/meat/slab/human/mutant/ethereal
icon_state = "etherealmeat"
desc = "So shiny you feel like ingesting it might make you shine too"
- food_reagents = list(/datum/reagent/consumable/liquidelectricity/enriched = 10)
+ food_reagents = list(/datum/reagent/consumable/liquidelectricity = 10)
tastes = list("pure electricity" = 2, "meat" = 1)
foodtypes = RAW | MEAT | TOXIC | GORE
venue_value = FOOD_MEAT_MUTANT
diff --git a/code/modules/food_and_drinks/food/pastries.dm b/code/modules/food_and_drinks/food/pastries.dm
index 89c418b8cf4a..08dc0e8fe286 100644
--- a/code/modules/food_and_drinks/food/pastries.dm
+++ b/code/modules/food_and_drinks/food/pastries.dm
@@ -335,7 +335,7 @@
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 2,
/datum/reagent/consumable/caramel = 3,
- /datum/reagent/consumable/liquidelectricity/enriched = 3,
+ /datum/reagent/consumable/liquidelectricity = 3,
)
tastes = list("cake" = 3, "caramel" = 2, "zap" = 1)
foodtypes = GRAIN|DAIRY|VEGETABLES|SUGAR
diff --git a/code/modules/food_and_drinks/food/pie.dm b/code/modules/food_and_drinks/food/pie.dm
index 2e29b2a33451..9489371f1449 100644
--- a/code/modules/food_and_drinks/food/pie.dm
+++ b/code/modules/food_and_drinks/food/pie.dm
@@ -503,7 +503,7 @@
icon_state = "bacid_pie"
food_reagents = list(
/datum/reagent/consumable/nutriment = 18,
- /datum/reagent/consumable/liquidelectricity/enriched = 18
+ /datum/reagent/consumable/liquidelectricity = 18
)
tastes = list("battery acid" = 2, "electricity" = 2, "a cyber world" = 2)
foodtypes = GRAIN|DAIRY|TOXIC
@@ -518,7 +518,7 @@
icon_state = "bacid_pie_slice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4.5,
- /datum/reagent/consumable/liquidelectricity/enriched = 4.5
+ /datum/reagent/consumable/liquidelectricity = 4.5
)
tastes = list("battery acid" = 1, "electricity" = 1, "a cyber world" = 1)
foodtypes = TOXIC
diff --git a/code/modules/food_and_drinks/food/pizza.dm b/code/modules/food_and_drinks/food/pizza.dm
index ee57c9e6b3b7..8ddd82db8ffd 100644
--- a/code/modules/food_and_drinks/food/pizza.dm
+++ b/code/modules/food_and_drinks/food/pizza.dm
@@ -560,7 +560,7 @@
icon_state ="energypizza"
food_reagents = list(
/datum/reagent/consumable/nutriment = 18,
- /datum/reagent/consumable/liquidelectricity/enriched = 18,
+ /datum/reagent/consumable/liquidelectricity = 18,
)
tastes = list("pure electricity" = 4, "pizza" = 2)
slice_type = /obj/item/food/pizzaslice/energy
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index 7f4f88ec61ae..29f315c43847 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -217,7 +217,7 @@
trash_type = /obj/item/trash/energybar
food_reagents = list(
/datum/reagent/consumable/nutriment = 3,
- /datum/reagent/consumable/liquidelectricity/enriched = 3,
+ /datum/reagent/consumable/liquidelectricity = 3,
)
tastes = list("pure electricity" = 3, "fitness" = 2)
foodtypes = TOXIC
@@ -644,7 +644,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types())
icon_state = "shok_roks_candy"
trash_type = /obj/item/trash/shok_roks
food_reagents = list(
- /datum/reagent/consumable/liquidelectricity/enriched = 2,
+ /datum/reagent/consumable/liquidelectricity = 2,
/datum/reagent/consumable/sugar = 3
)
food_flags = FOOD_FINGER_FOOD
diff --git a/code/modules/food_and_drinks/machinery/gibber.dm b/code/modules/food_and_drinks/machinery/gibber.dm
index ce61460c7222..67881d3178e6 100644
--- a/code/modules/food_and_drinks/machinery/gibber.dm
+++ b/code/modules/food_and_drinks/machinery/gibber.dm
@@ -232,11 +232,9 @@ GAME_VERB_SRC(/obj/machinery/gibber, eject, oview(1), "Empty gibber", null)
var/mob/living/carbon/human/agent_whiskey = victim
var/drop_chance = 0
for (var/obj/item/bodypart/limb as anything in agent_whiskey.get_bodyparts())
- if (!limb.butcher_drops)
- continue
-
- for (var/obj/item/drop_type as anything in limb.butcher_drops)
- var/amount = limb.butcher_drops[drop_type] || 1
+ var/list/limb_butcher_drops = limb.get_butcher_drops()
+ for (var/obj/item/drop_type as anything in limb_butcher_drops)
+ var/amount = limb_butcher_drops[drop_type] || 1
drop_chance += amount * efficiency
if (drop_chance > 1)
amount = floor(drop_chance)
diff --git a/code/modules/food_and_drinks/machinery/microwave.dm b/code/modules/food_and_drinks/machinery/microwave.dm
index f08922430f0c..77dc1cfa9c23 100644
--- a/code/modules/food_and_drinks/machinery/microwave.dm
+++ b/code/modules/food_and_drinks/machinery/microwave.dm
@@ -854,7 +854,12 @@
pre_fail()
return
- if(!vampire_charge_amount || !length(ingredients) || vampire_charge_amount < 25 || (cell_powered && (isnull(cell) || !cell.charge)))
+ if(cell_powered && (isnull(cell) || !cell.charge))
+ playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, FALSE)
+ balloon_alert(cooker, "no power draw!")
+ return
+
+ if(!vampire_charge_amount || !length(ingredients) || vampire_charge_amount < 25)
vampire_cell = null
charge_loop_finish(cooker)
return
diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.dm b/code/modules/food_and_drinks/recipes/food_mixtures.dm
index edb20b25a908..f66217edd8d3 100644
--- a/code/modules/food_and_drinks/recipes/food_mixtures.dm
+++ b/code/modules/food_and_drinks/recipes/food_mixtures.dm
@@ -334,11 +334,21 @@
/datum/chemical_reaction/food/grounding_neutralise
results = list(/datum/reagent/consumable/salt = 2)
- required_reagents = list(/datum/reagent/consumable/liquidelectricity/enriched = 2, /datum/reagent/consumable/grounding_solution = 1)
+ required_reagents = list(
+ /datum/reagent/consumable/liquidelectricity = 2,
+ /datum/reagent/consumable/grounding_solution = 1,
+ )
mix_message = "The mixture lets off a sharp snap as the electricity discharges."
mix_sound = 'sound/items/weapons/taser.ogg'
reaction_flags = REACTION_INSTANT | REACTION_TAG_ACTIVE
+/datum/chemical_reaction/food/grounding_neutralise/pre_reaction_other_checks(datum/reagents/holder)
+ for(var/datum/reagent/consumable/liquidelectricity/liquid_elec in holder.reagent_list)
+ if(LAZYACCESS(liquid_elec.data, BLOOD_DATA_ENRICHED_ETHEREAL))
+ return ..()
+
+ return FALSE
+
/datum/chemical_reaction/food/martian_batter
results = list(/datum/reagent/consumable/martian_batter = 10)
required_reagents = list(/datum/reagent/consumable/flour = 5, /datum/reagent/consumable/nutriment/soup/dashi = 5)
diff --git a/code/modules/food_and_drinks/recipes/soup_mixtures.dm b/code/modules/food_and_drinks/recipes/soup_mixtures.dm
index 1fe85af0dc00..bbdc09811a00 100644
--- a/code/modules/food_and_drinks/recipes/soup_mixtures.dm
+++ b/code/modules/food_and_drinks/recipes/soup_mixtures.dm
@@ -1187,7 +1187,7 @@
/datum/reagent/consumable/nutriment/soup/electrons = 30,
// Jupiter cups obviously contain a fair amount of LE naturally,
// but to make it "worthwhile" for Ethereals to eat we add a bit extra
- /datum/reagent/consumable/liquidelectricity/enriched = 10,
+ /datum/reagent/consumable/liquidelectricity = 10,
)
percentage_of_nutriment_converted = 0.10
@@ -1463,11 +1463,11 @@
drink_type = MEAT | VEGETABLES | GORE
/datum/chemical_reaction/food/soup/black_broth
+ required_temp = 325
required_reagents = list(
/datum/reagent/water = 40,
/datum/reagent/consumable/vinegar = 8,
/datum/reagent/blood = 8,
- /datum/reagent/consumable/ice = 4,
)
required_ingredients = list(
/obj/item/food/tiziran_sausage = 1,
diff --git a/code/modules/hallucination/eyes_in_dark.dm b/code/modules/hallucination/eyes_in_dark.dm
index 9c127fb4e14f..0f880a5e251e 100644
--- a/code/modules/hallucination/eyes_in_dark.dm
+++ b/code/modules/hallucination/eyes_in_dark.dm
@@ -20,7 +20,7 @@
var/list/valid = list()
for(var/turf/open/nearby in view(hallucinator))
- if(nearby.get_lumcount() > LIGHTING_TILE_IS_DARK)
+ if(nearby.check_lumcount_above(LIGHTING_TILE_IS_DARK))
continue
valid += nearby
@@ -82,7 +82,7 @@
/obj/effect/abstract/floating_eyes/process(seconds_per_tick)
var/turf/below_us = get_turf(src)
var/mob/seer = seer_ref?.resolve()
- if(below_us.get_lumcount() > LIGHTING_TILE_IS_DARK || seer?.lighting_cutoff >= 2.5 || get_dist(seer, src) <= 1)
+ if(below_us.check_lumcount_above(LIGHTING_TILE_IS_DARK) || seer?.lighting_cutoff >= 2.5 || get_dist(seer, src) <= 1)
graceful_delete()
/obj/effect/abstract/floating_eyes/proc/graceful_delete()
diff --git a/code/modules/hallucination/on_fire.dm b/code/modules/hallucination/on_fire.dm
index 75534e475c97..625ff1cf15d2 100644
--- a/code/modules/hallucination/on_fire.dm
+++ b/code/modules/hallucination/on_fire.dm
@@ -49,6 +49,7 @@
hallucinator.client?.images |= fire_overlay
to_chat(hallucinator, span_userdanger("You're set on fire!"))
+ hallucinator.add_mood_event("on_fire", /datum/mood_event/on_fire)
var/atom/movable/screen/alert/fire/fake/alert = hallucinator.throw_alert(ALERT_FIRE, /atom/movable/screen/alert/fire/fake, override = TRUE)
alert.hallucination_weakref = WEAKREF(src)
times_to_lower_stamina = rand(5, 10)
@@ -58,6 +59,9 @@
/datum/hallucination/fire/Destroy()
hallucinator.clear_alert(ALERT_FIRE, clear_override = TRUE)
hallucinator.clear_alert(ALERT_TEMPERATURE, clear_override = TRUE)
+ if(!hallucinator.on_fire)
+ hallucinator.clear_mood_event("on_fire")
+ hallucinator.add_mood_event("fake_fire", /datum/mood_event/fake_fire)
if(fire_overlay)
hallucinator.client?.images -= fire_overlay
fire_overlay = null
@@ -143,3 +147,8 @@
/atom/movable/screen/alert/fire/fake/handle_stop_drop_roll(mob/living/roller)
return !!roller.apply_status_effect(/datum/status_effect/stop_drop_roll/hallucinating, hallucination_weakref)
+
+/datum/mood_event/fake_fire
+ description = "Oh... I was just imagining those flames."
+ mood_change = 4
+ timeout = 30 SECONDS
diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm
index 6e2db6c05bae..55eaeff29bc7 100644
--- a/code/modules/hydroponics/biogenerator.dm
+++ b/code/modules/hydroponics/biogenerator.dm
@@ -49,8 +49,7 @@
/obj/machinery/biogenerator/Initialize(mapload)
. = ..()
- if(!GLOB.autounlock_techwebs[/datum/techweb/autounlocking/biogenerator])
- GLOB.autounlock_techwebs[/datum/techweb/autounlocking/biogenerator] = new /datum/techweb/autounlocking/biogenerator
+ GLOB.autounlock_techwebs[/datum/techweb/autounlocking/biogenerator] ||= new /datum/techweb/autounlocking/biogenerator()
stored_research = GLOB.autounlock_techwebs[/datum/techweb/autounlocking/biogenerator]
soundloop = new(src, processing)
if(mapload)
@@ -494,27 +493,26 @@
data["categories"] = list()
data["max_visual_biomass"] = max_visual_biomass
- var/categories = show_categories.Copy()
+ var/list/categories = show_categories.Copy()
for(var/category in categories)
categories[category] = list()
- for(var/design_id in stored_research.researched_designs)
- var/datum/design/design = SSresearch.techweb_design_by_id(design_id)
+ for(var/design_path in stored_research.researched_designs)
+ var/datum/design/design = SSresearch.techweb_designs[design_path]
for(var/category in categories)
if(category in design.category)
categories[category] += design
- for(var/category in categories)
+ for(var/category, category_designs in categories)
var/list/cat = list(
"name" = category,
"items" = (category == selected_cat ? list() : null))
- for(var/item in categories[category])
- var/datum/design/design = item
+ for(var/datum/design/design as anything in category_designs)
cat["items"] += list(list(
- "id" = design.id,
+ "path" = design.type,
"name" = design.name,
- "is_reagent" = design.make_reagent != null,
+ "is_reagent" = !isnull(design.make_reagent),
"cost" = design.materials[SSmaterials.get_material(/datum/material/biomass)] / efficiency,
))
data["categories"] += list(cat)
@@ -537,24 +535,23 @@
return TRUE
if("create")
- var/amount = text2num(params["amount"])
- if(!amount)
+ var/design_path = text2path(params["design_path"])
+ if(!design_path)
return
- var/id = params["id"]
- if(!stored_research.researched_designs.Find(id))
- stack_trace("ID did not map to a researched datum [id]")
+ if(!stored_research.researched_designs[design_path])
return
- var/datum/design/design = SSresearch.techweb_design_by_id(id)
- amount = clamp(amount, 1, (design.make_reagent && beaker ? beaker.reagents.maximum_volume - beaker.reagents.total_volume : max_output))
-
- if(design && !istype(design, /datum/design/error_design))
- create_product(design, amount)
+ var/datum/design/design = SSresearch.techweb_designs[design_path]
+ if(!istype(design))
+ stack_trace("Invalid design ID passed into biogenerator ui_act()")
+ return
- else
- stack_trace("ID could not be turned into a valid techweb design datum [id]")
+ var/amount = text2num(params["amount"])
+ if(!amount)
return
+ amount = clamp(amount, 1, (design.make_reagent && beaker ? beaker.reagents.maximum_volume - beaker.reagents.total_volume : max_output))
+ create_product(design, amount)
return TRUE
diff --git a/code/modules/hydroponics/grown/berries.dm b/code/modules/hydroponics/grown/berries.dm
index 697c7eb41ee9..3c4106275622 100644
--- a/code/modules/hydroponics/grown/berries.dm
+++ b/code/modules/hydroponics/grown/berries.dm
@@ -220,7 +220,12 @@
icon_harvest = "lanternfruit-harvest"
genes = list(/datum/plant_gene/trait/glow/yellow)
mutatelist = null
- reagents_add = list(/datum/reagent/consumable/nutriment = 0.07, /datum/reagent/sulfur = 0.07, /datum/reagent/consumable/sugar = 0.07, /datum/reagent/consumable/liquidelectricity = 0.07)
+ reagents_add = list(
+ /datum/reagent/consumable/nutriment = 0.07,
+ /datum/reagent/sulfur = 0.07,
+ /datum/reagent/consumable/sugar = 0.07,
+ /datum/reagent/consumable/liquidelectricity = 0.07,
+ )
graft_gene = /datum/plant_gene/trait/glow/yellow
/obj/item/food/grown/lanternfruit
diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm
index e999e3b66534..99a085dcc875 100644
--- a/code/modules/hydroponics/grown/mushrooms.dm
+++ b/code/modules/hydroponics/grown/mushrooms.dm
@@ -224,7 +224,12 @@
endurance = 8
yield = 4
growthstages = 2
- genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/reagent/preset/liquidelectricity, /datum/plant_gene/trait/carnivory/jupitercup)
+ genes = list(
+ /datum/plant_gene/reagent/preset/liquidelectricity,
+ /datum/plant_gene/trait/carnivory/jupitercup,
+ /datum/plant_gene/trait/cell_charge,
+ /datum/plant_gene/trait/plant_type/fungal_metabolism,
+ )
growing_icon = 'icons/obj/service/hydroponics/growing_mushrooms.dmi'
reagents_add = list(/datum/reagent/consumable/nutriment = 0.1)
mutatelist = null
@@ -300,7 +305,11 @@
icon_harvest = "glowcap-harvest"
plantname = "Glowcaps"
product = /obj/item/food/grown/mushroom/glowshroom/glowcap
- genes = list(/datum/plant_gene/trait/glow/red, /datum/plant_gene/trait/cell_charge, /datum/plant_gene/trait/plant_type/fungal_metabolism)
+ genes = list(
+ /datum/plant_gene/trait/glow/red,
+ /datum/plant_gene/trait/cell_charge,
+ /datum/plant_gene/trait/plant_type/fungal_metabolism,
+ )
mutatelist = null
reagents_add = list(/datum/reagent/teslium = 0.1, /datum/reagent/consumable/nutriment = 0.04)
rarity = 30
diff --git a/code/modules/hydroponics/grown/replicapod.dm b/code/modules/hydroponics/grown/replicapod.dm
index 7c79f6b79ef8..f2830a3274bf 100644
--- a/code/modules/hydroponics/grown/replicapod.dm
+++ b/code/modules/hydroponics/grown/replicapod.dm
@@ -81,11 +81,11 @@
ckey = blood.data["ckey"]
realName = blood.data["real_name"]
blood_gender = blood.data["gender"]
- blood_type = blood.data["blood_type"]
+ blood_type = blood.data[BLOOD_DATA_TYPE]
features = blood.data["features"]
factions = blood.data["factions"]
quirks = blood.data["quirks"]
- sampleDNA = blood.data["blood_DNA"]
+ sampleDNA = blood.data[BLOOD_DATA_DNA]
contains_sample = TRUE
visible_message(span_notice("The [src] is injected with a fresh blood sample."))
investigate_log("[key_name(mind)]'s cloning record was added to [src]", INVESTIGATE_BOTANY)
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index 6855bb760f43..0b09df2e9832 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -311,10 +311,6 @@
set_self_sustaining(FALSE)
visible_message(span_warning("[name]'s auto-grow functionality shuts off!"))
- if(isturf(loc))
- var/turf/currentTurf = loc
- light_level = currentTurf.get_lumcount()
-
if(world.time > (lastcycle + cycledelay))
lastcycle = world.time
if(myseed && plant_status != HYDROTRAY_PLANT_DEAD)
@@ -344,7 +340,7 @@
//Photosynthesis/////////////////////////////////////////////////////////
// Lack of light hurts non-mushrooms
- if(light_level < (is_fungus ? 0.2 : 0.4))
+ if(astype(loc, /turf)?.check_lumcount_below(is_fungus ? 0.2 : 0.4))
adjust_plant_health((is_fungus ? -1 : -2) / rating)
//Water//////////////////////////////////////////////////////////////////
diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm
index a550a644ce75..c7fa89f32ae7 100644
--- a/code/modules/hydroponics/plant_genes.dm
+++ b/code/modules/hydroponics/plant_genes.dm
@@ -802,6 +802,22 @@
trait_ids = CONTENTS_CHANGE_ID
mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_GRAFTABLE
+/datum/plant_gene/trait/brewing/on_new_plant(obj/item/our_plant, newloc)
+ . = ..()
+ if(!.)
+ return
+
+ RegisterSignal(our_plant, COMSIG_PLANT_ON_HARVEST, PROC_REF(brewing_harvest))
+
+/datum/plant_gene/trait/brewing/proc/brewing_harvest(obj/item/our_plant, obj/item/seeds/our_seed)
+ SIGNAL_HANDLER
+
+ if(!istype(our_plant, /obj/item/food/grown))
+ return
+
+ var/obj/item/food/grown/grown_plant = our_plant
+ grown_plant.ferment()
+
/**
* Similar to auto-distilling, but instead of brewing the plant's contents it juices it.
*
@@ -814,6 +830,19 @@
trait_ids = CONTENTS_CHANGE_ID
mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_GRAFTABLE
+/datum/plant_gene/trait/juicing/on_new_plant(obj/item/our_plant, newloc)
+ . = ..()
+ if(!.)
+ return
+
+ RegisterSignal(our_plant, COMSIG_PLANT_ON_HARVEST, PROC_REF(juicing_harvest))
+
+/datum/plant_gene/trait/juicing/proc/juicing_harvest(obj/item/our_plant, obj/item/seeds/our_seed)
+ SIGNAL_HANDLER
+
+ // FALSE is used to differentiate from null
+ our_plant.juice(juicer = FALSE)
+
/**
* Plays a laughter sound when someone slips on it.
* Like the sitcom component but for plants.
@@ -923,6 +952,23 @@
trait_flags = TRAIT_HALVES_YIELD
mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_GRAFTABLE
+/datum/plant_gene/trait/chem_heating/on_new_plant(obj/item/our_plant, newloc)
+ . = ..()
+ if(!.)
+ return
+
+ RegisterSignal(our_plant, COMSIG_PLANT_ON_HARVEST, PROC_REF(chem_heating_harvest))
+
+/datum/plant_gene/trait/chem_heating/proc/chem_heating_harvest(obj/item/our_plant, obj/item/seeds/our_seed)
+ SIGNAL_HANDLER
+
+ var/num_nutriment = our_plant.reagents.get_reagent_amount(/datum/reagent/consumable/nutriment)
+ our_plant.visible_message(span_notice("[our_plant] releases freezing air, consuming its nutriments to heat its contents."))
+ our_plant.reagents.remove_reagent(/datum/reagent/consumable/nutriment, num_nutriment)
+ our_plant.reagents.chem_temp = min(1000, (our_plant.reagents.chem_temp + num_nutriment * 25))
+ our_plant.reagents.handle_reactions()
+ playsound(our_plant, 'sound/effects/wounds/sizzle2.ogg', 5)
+
/**
* This trait is the opposite of above - it cools down the plant's chemical contents on harvest.
* This requires nutriment to fuel. 1u nutriment = -5 K.
@@ -935,6 +981,23 @@
trait_flags = TRAIT_HALVES_YIELD
mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_GRAFTABLE
+/datum/plant_gene/trait/chem_cooling/on_new_plant(obj/item/our_plant, newloc)
+ . = ..()
+ if(!.)
+ return
+
+ RegisterSignal(our_plant, COMSIG_PLANT_ON_HARVEST, PROC_REF(chem_cooling_harvest))
+
+/datum/plant_gene/trait/chem_cooling/proc/chem_cooling_harvest(obj/item/our_plant, obj/item/seeds/our_seed)
+ SIGNAL_HANDLER
+
+ var/num_nutriment = our_plant.reagents.get_reagent_amount(/datum/reagent/consumable/nutriment)
+ our_plant.visible_message(span_notice("[our_plant] releases a blast of hot air, consuming its nutriments to cool its contents."))
+ our_plant.reagents.remove_reagent(/datum/reagent/consumable/nutriment, num_nutriment)
+ our_plant.reagents.chem_temp = max(3, (our_plant.reagents.chem_temp + num_nutriment * -5))
+ our_plant.reagents.handle_reactions()
+ playsound(our_plant, 'sound/effects/space_wind.ogg', 50)
+
/// Prevents species mutation, while still allowing wild mutation harvest and Floral Somatoray species mutation. Trait acts as a tag for hydroponics.dm to recognise.
/datum/plant_gene/trait/never_mutate
name = "Prosophobic Inclination"
diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm
index 022cb911f7bc..c05409d964f2 100644
--- a/code/modules/hydroponics/seeds.dm
+++ b/code/modules/hydroponics/seeds.dm
@@ -271,51 +271,29 @@
* Specific chem handling is also handled here, like bloodtype, food taste within nutriment, and the auto-distilling/autojuicing traits.
* This is where chemical reactions can occur, and the heating / cooling traits effect the reagent container.
*/
-/obj/item/seeds/proc/prepare_result(obj/item/T)
- if(!T.reagents)
- CRASH("[T] has no reagents.")
- var/reagent_max = 0
- for(var/rid in reagents_add)
- reagent_max += reagents_add[rid]
- if(IS_EDIBLE(T) || istype(T, /obj/item/grown))
- var/obj/item/food/grown/grown_edible = T
- var/reagent_purity = get_reagent_purity()
- for(var/rid in reagents_add)
- var/reagent_overflow_mod = reagents_add[rid]
- if(reagent_max > 1)
- reagent_overflow_mod = (reagents_add[rid]/ reagent_max)
- var/edible_vol = grown_edible.reagents ? grown_edible.reagents.maximum_volume : 0
- var/amount = max(1, round((edible_vol)*(potency/100) * reagent_overflow_mod, 1)) //the plant will always have at least 1u of each of the reagents in its reagent production traits
- var/list/data
- if(rid == /datum/reagent/blood) // Hack to make blood in plants always O-
- data = list("blood_type" = get_blood_type(BLOOD_TYPE_O_MINUS))
- if(istype(grown_edible) && (rid == /datum/reagent/consumable/nutriment || rid == /datum/reagent/consumable/nutriment/vitamin))
- data = grown_edible.tastes // apple tastes of apple.
- T.reagents.add_reagent(rid, amount, data, added_purity = reagent_purity)
-
- //Handles the juicing trait, swaps nutriment and vitamins for that species various juices if they exist. Mutually exclusive with distilling.
- if(get_gene(/datum/plant_gene/trait/juicing) && grown_edible.juice_typepath())
- grown_edible.juice(juicer = FALSE) //we pass FALSE & not null because Byond default args will subtitute it with the default value
- else if(get_gene(/datum/plant_gene/trait/brewing))
- grown_edible.ferment()
-
- /// The number of nutriments we have inside of our plant, for use in our heating / cooling genes
- var/num_nutriment = T.reagents.get_reagent_amount(/datum/reagent/consumable/nutriment)
-
- // Heats up the plant's contents by 25 kelvin per 1 unit of nutriment. Mutually exclusive with cooling.
- if(get_gene(/datum/plant_gene/trait/chem_heating))
- T.visible_message(span_notice("[T] releases freezing air, consuming its nutriments to heat its contents."))
- T.reagents.remove_reagent(/datum/reagent/consumable/nutriment, num_nutriment)
- T.reagents.chem_temp = min(1000, (T.reagents.chem_temp + num_nutriment * 25))
- T.reagents.handle_reactions()
- playsound(T.loc, 'sound/effects/wounds/sizzle2.ogg', 5)
- // Cools down the plant's contents by 5 kelvin per 1 unit of nutriment. Mutually exclusive with heating.
- else if(get_gene(/datum/plant_gene/trait/chem_cooling))
- T.visible_message(span_notice("[T] releases a blast of hot air, consuming its nutriments to cool its contents."))
- T.reagents.remove_reagent(/datum/reagent/consumable/nutriment, num_nutriment)
- T.reagents.chem_temp = max(3, (T.reagents.chem_temp + num_nutriment * -5))
- T.reagents.handle_reactions()
- playsound(T.loc, 'sound/effects/space_wind.ogg', 50)
+/obj/item/seeds/proc/prepare_result(obj/item/result)
+ if(isnull(result.reagents))
+ CRASH("[result] has no reagents.")
+
+ if(!istype(result, /obj/item/grown) && !IS_EDIBLE(result))
+ return
+
+ var/sum_reagent_percentage = 0
+ for(var/reagent_type, reagent_volume_percentage in reagents_add)
+ sum_reagent_percentage += reagent_volume_percentage
+
+ var/reagent_purity = get_reagent_purity()
+ for(var/reagent_type, reagent_volume_percentage in reagents_add)
+ // Going over 100% volume percentage penalizes you
+ // However the plant will always have at least 1u of each of the reagents in its reagent production traits
+ result.reagents.add_reagent(
+ reagent_type = reagent_type,
+ amount = max(1, round((result.reagents?.maximum_volume || 0) * (potency / 100) * reagent_volume_percentage * min(1, 1 / sum_reagent_percentage))),
+ added_purity = reagent_purity,
+ creation_callback = CALLBACK(src, PROC_REF(send_reagent_signal), result),
+ )
+
+ SEND_SIGNAL(result, COMSIG_PLANT_ON_HARVEST, src)
/// Returns reagent purity based on seed stats
/obj/item/seeds/proc/get_reagent_purity()
@@ -325,6 +303,11 @@
var/result_purity = clamp(0.5 + purity_from_lifespan + purity_from_endurance + purity_from_instability, 0, 1) //50% base + stats
return result_purity
+/// Sends a signal to reagents in produced produce
+/obj/item/seeds/proc/send_reagent_signal(obj/item/plant, datum/reagent/the_reagent)
+ PRIVATE_PROC(TRUE)
+ SEND_SIGNAL(the_reagent, COMSIG_REAGENT_GROWN_IN_PLANT, src, plant)
+
/// Setters procs ///
/**
diff --git a/code/modules/hydroponics/unique_plant_genes.dm b/code/modules/hydroponics/unique_plant_genes.dm
index f0f71b8a9e84..49b15a72e56b 100644
--- a/code/modules/hydroponics/unique_plant_genes.dm
+++ b/code/modules/hydroponics/unique_plant_genes.dm
@@ -760,7 +760,7 @@
/// Jupitercup's fragile Liquid Electricity
/datum/plant_gene/reagent/preset/liquidelectricity
- reagent_id = /datum/reagent/consumable/liquidelectricity/enriched
+ reagent_id = /datum/reagent/consumable/liquidelectricity
rate = 0.1
/// Carbon Roses's fragile Carbon
diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm
index c8c4d3e7aaab..98b341f10277 100644
--- a/code/modules/jobs/job_types/_job.dm
+++ b/code/modules/jobs/job_types/_job.dm
@@ -379,6 +379,7 @@
var/satchel = /obj/item/storage/backpack/satchel
var/duffelbag = /obj/item/storage/backpack/duffelbag
var/messenger = /obj/item/storage/backpack/messenger
+ var/wintercoat = /obj/item/clothing/suit/hooded/wintercoat
var/pda_slot = ITEM_SLOT_BELT
@@ -684,6 +685,7 @@
/datum/job/proc/after_latejoin_spawn(mob/living/spawning)
SHOULD_CALL_PARENT(TRUE)
SEND_GLOBAL_SIGNAL(COMSIG_GLOB_JOB_AFTER_LATEJOIN_SPAWN, src, spawning)
+ spawning.client.show_spawn_text_overlay()
/// Called when a mob that has this job is admin respawned
/datum/job/proc/on_respawn(mob/new_character)
diff --git a/code/modules/jobs/job_types/assistant/gimmick_assistants.dm b/code/modules/jobs/job_types/assistant/gimmick_assistants.dm
index 1a9b62956904..be8c52c6c293 100644
--- a/code/modules/jobs/job_types/assistant/gimmick_assistants.dm
+++ b/code/modules/jobs/job_types/assistant/gimmick_assistants.dm
@@ -10,6 +10,7 @@
/datum/outfit/job/assistant/gimmick/give_jumpsuit(mob/living/carbon/human/target)
return //dont do colorized and stuff, it messes with our uniforms
+/* // DARKPACK EDIT REMOVAL START - (Removes Monkey Cubes and Bees)
/datum/outfit/job/assistant/gimmick/bee
name = "Gimmick Assistant - Bee"
suit = /obj/item/clothing/suit/hooded/bee_costume
@@ -24,6 +25,7 @@
discounted_pack = /datum/supply_pack/organic/hydroponics/beekeeping_fullkit
discount_pct_off = 0.7
+*/ // DARKPACK EDIT REMOVAL END
/datum/outfit/job/assistant/gimmick/chicken
name = "Gimmick Assistant - Chicken"
diff --git a/code/modules/jobs/job_types/atmospheric_technician.dm b/code/modules/jobs/job_types/atmospheric_technician.dm
index 0a2472d7b065..a9670e530535 100644
--- a/code/modules/jobs/job_types/atmospheric_technician.dm
+++ b/code/modules/jobs/job_types/atmospheric_technician.dm
@@ -57,6 +57,8 @@
box = /obj/item/storage/box/survival/engineer
pda_slot = ITEM_SLOT_LPOCKET
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos
+
/datum/outfit/job/atmos/mod
name = "Atmospheric Technician (MODsuit)"
diff --git a/code/modules/jobs/job_types/botanist.dm b/code/modules/jobs/job_types/botanist.dm
index cff826ec5054..679f07d06fa0 100644
--- a/code/modules/jobs/job_types/botanist.dm
+++ b/code/modules/jobs/job_types/botanist.dm
@@ -54,3 +54,5 @@
satchel = /obj/item/storage/backpack/satchel/hyd
duffelbag = /obj/item/storage/backpack/duffelbag/hydroponics
messenger = /obj/item/storage/backpack/messenger/hyd
+
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/hydro
diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm
index a3ad2d52aa85..f2d737ad31eb 100644
--- a/code/modules/jobs/job_types/captain.dm
+++ b/code/modules/jobs/job_types/captain.dm
@@ -91,6 +91,8 @@
implants = list(/obj/item/implant/mindshield)
skillchips = list(/obj/item/skillchip/disk_verifier)
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/captain
+
var/special_charter
/datum/outfit/job/captain/pre_equip(mob/living/carbon/human/H, visuals_only)
diff --git a/code/modules/jobs/job_types/cargo_technician.dm b/code/modules/jobs/job_types/cargo_technician.dm
index 2cef58a09e84..7856714d157a 100644
--- a/code/modules/jobs/job_types/cargo_technician.dm
+++ b/code/modules/jobs/job_types/cargo_technician.dm
@@ -49,6 +49,8 @@
ears = /obj/item/radio/headset/headset_cargo
l_hand = /obj/item/universal_scanner
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/cargo
+
/datum/outfit/job/cargo_tech/mod
name = "Cargo Technician (MODsuit)"
diff --git a/code/modules/jobs/job_types/chemist.dm b/code/modules/jobs/job_types/chemist.dm
index f8d65aabb8fa..05955e1a3454 100644
--- a/code/modules/jobs/job_types/chemist.dm
+++ b/code/modules/jobs/job_types/chemist.dm
@@ -58,3 +58,5 @@
box = /obj/item/storage/box/survival/medical
chameleon_extras = /obj/item/gun/syringe
+
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/medical/chemistry
diff --git a/code/modules/jobs/job_types/chief_engineer.dm b/code/modules/jobs/job_types/chief_engineer.dm
index 53a28072503e..369d89f5c115 100644
--- a/code/modules/jobs/job_types/chief_engineer.dm
+++ b/code/modules/jobs/job_types/chief_engineer.dm
@@ -86,6 +86,8 @@
skillchips = list(/obj/item/skillchip/job/engineer)
pda_slot = ITEM_SLOT_LPOCKET
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/engineering/ce
+
/datum/outfit/job/ce/mod
name = "Chief Engineer (MODsuit)"
diff --git a/code/modules/jobs/job_types/chief_medical_officer.dm b/code/modules/jobs/job_types/chief_medical_officer.dm
index 7ffc07fbabb4..7b03fe19121e 100644
--- a/code/modules/jobs/job_types/chief_medical_officer.dm
+++ b/code/modules/jobs/job_types/chief_medical_officer.dm
@@ -83,6 +83,8 @@
)
skillchips = list(/obj/item/skillchip/entrails_reader)
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/medical/cmo
+
/datum/outfit/job/cmo/mod
name = "Chief Medical Officer (MODsuit)"
diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm
index 453216d2df1f..fb19a7d521bf 100644
--- a/code/modules/jobs/job_types/clown.dm
+++ b/code/modules/jobs/job_types/clown.dm
@@ -42,7 +42,7 @@
spawned.apply_pref_name(/datum/preference/name/clown, player_client)
if(check_holidays(APRIL_FOOLS)) // Clown blood is real
var/mob/living/carbon/human/human_clown = spawned
- human_clown.set_blood_type(BLOOD_TYPE_CLOWN)
+ human_clown.set_blood_type(/datum/blood_type/clown)
return ..()
diff --git a/code/modules/jobs/job_types/coroner.dm b/code/modules/jobs/job_types/coroner.dm
index 150d029d35cd..c2e15efbd9af 100644
--- a/code/modules/jobs/job_types/coroner.dm
+++ b/code/modules/jobs/job_types/coroner.dm
@@ -73,3 +73,5 @@
messenger = /obj/item/storage/backpack/messenger/coroner
skillchips = list(/obj/item/skillchip/entrails_reader)
+
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/medical/coroner
diff --git a/code/modules/jobs/job_types/detective.dm b/code/modules/jobs/job_types/detective.dm
index 68fd432d6707..7c6a5bf8ff79 100644
--- a/code/modules/jobs/job_types/detective.dm
+++ b/code/modules/jobs/job_types/detective.dm
@@ -78,6 +78,8 @@
skillchips = list(/obj/item/skillchip/job/detectives_taste)
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/security
+
/datum/outfit/job/detective/pre_equip(mob/living/carbon/human/human, visuals_only = FALSE)
. = ..()
if (human.age < AGE_MINOR)
diff --git a/code/modules/jobs/job_types/geneticist.dm b/code/modules/jobs/job_types/geneticist.dm
index 68a178bbf55c..95645ebed9ee 100644
--- a/code/modules/jobs/job_types/geneticist.dm
+++ b/code/modules/jobs/job_types/geneticist.dm
@@ -48,3 +48,5 @@
satchel = /obj/item/storage/backpack/satchel/gen
duffelbag = /obj/item/storage/backpack/duffelbag/genetics
messenger = /obj/item/storage/backpack/messenger/gen
+
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/science/genetics
diff --git a/code/modules/jobs/job_types/head_of_personnel.dm b/code/modules/jobs/job_types/head_of_personnel.dm
index 1d48437ed42f..b4bf3706b9fd 100644
--- a/code/modules/jobs/job_types/head_of_personnel.dm
+++ b/code/modules/jobs/job_types/head_of_personnel.dm
@@ -110,6 +110,8 @@
/obj/item/stamp/head/hop,
)
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/hop
+
/datum/outfit/job/hop/pre_equip(mob/living/carbon/human/H)
..()
if(check_holidays(IAN_HOLIDAY))
diff --git a/code/modules/jobs/job_types/head_of_security.dm b/code/modules/jobs/job_types/head_of_security.dm
index 899224b33f34..7febc5371fcb 100644
--- a/code/modules/jobs/job_types/head_of_security.dm
+++ b/code/modules/jobs/job_types/head_of_security.dm
@@ -46,18 +46,10 @@
/datum/job/head_of_security/after_spawn(mob/living/spawned, client/player_client)
. = ..()
- if(!ishuman(spawned) || !prob(PIG_COP_PROBABILITY))
+ if(!prob(PIG_COP_PROBABILITY))
return
- var/mob/living/carbon/human/piggy = spawned
- for (var/obj/item/bodypart/ham as anything in piggy.get_bodyparts())
- // These are string lists
- ham.butcher_drops = ham.butcher_drops.Copy()
- for (var/meat_type in ham.butcher_drops)
- if (!ispath(meat_type, /obj/item/food/meat/slab))
- continue
- ham.butcher_drops[/obj/item/food/meat/slab/pig] = ham.butcher_drops[meat_type]
- ham.butcher_drops -= meat_type
- ham.butcher_drops = string_list(ham.butcher_drops)
+ for (var/obj/item/bodypart/ham as anything in spawned.get_bodyparts())
+ ham.butcher_drops_override = list(/obj/item/food/meat/slab/pig = ham.base_meat_amount)
/datum/outfit/job/hos
name = "Head of Security"
@@ -93,6 +85,8 @@
)
implants = list(/obj/item/implant/mindshield)
+ wintercoat = /obj/item/clothing/suit/armor/hos/trenchcoat/winter
+
/datum/outfit/job/hos/mod
name = "Head of Security (MODsuit)"
diff --git a/code/modules/jobs/job_types/janitor.dm b/code/modules/jobs/job_types/janitor.dm
index 52735aad579d..d9a52c9d6d9b 100644
--- a/code/modules/jobs/job_types/janitor.dm
+++ b/code/modules/jobs/job_types/janitor.dm
@@ -42,6 +42,8 @@
skillchips = list(/obj/item/skillchip/job/janitor, /obj/item/skillchip/disposals)
backpack_contents = list(/obj/item/access_key)
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/janitor
+
/datum/outfit/job/janitor/pre_equip(mob/living/carbon/human/human_equipper, visuals_only)
. = ..()
if(check_holidays(GARBAGEDAY))
diff --git a/code/modules/jobs/job_types/medical_doctor.dm b/code/modules/jobs/job_types/medical_doctor.dm
index c5da45553292..0c300d2f6315 100644
--- a/code/modules/jobs/job_types/medical_doctor.dm
+++ b/code/modules/jobs/job_types/medical_doctor.dm
@@ -60,3 +60,5 @@
box = /obj/item/storage/box/survival/medical
chameleon_extras = /obj/item/gun/syringe
skillchips = list(/obj/item/skillchip/entrails_reader)
+
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/medical
diff --git a/code/modules/jobs/job_types/paramedic.dm b/code/modules/jobs/job_types/paramedic.dm
index ad9244333b87..fca347c0cad1 100644
--- a/code/modules/jobs/job_types/paramedic.dm
+++ b/code/modules/jobs/job_types/paramedic.dm
@@ -68,6 +68,8 @@
chameleon_extras = /obj/item/gun/syringe
pda_slot = ITEM_SLOT_LPOCKET
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/medical/paramedic
+
/datum/outfit/job/doctor/mod
name = "Paramedic (MODsuit)"
diff --git a/code/modules/jobs/job_types/quartermaster.dm b/code/modules/jobs/job_types/quartermaster.dm
index 962f558c602c..b353664100ca 100644
--- a/code/modules/jobs/job_types/quartermaster.dm
+++ b/code/modules/jobs/job_types/quartermaster.dm
@@ -54,3 +54,5 @@
l_hand = /obj/item/clipboard
chameleon_extras = /obj/item/stamp/head/qm
+
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/cargo/qm
diff --git a/code/modules/jobs/job_types/research_director.dm b/code/modules/jobs/job_types/research_director.dm
index 7c1e04406687..3da1d9425835 100644
--- a/code/modules/jobs/job_types/research_director.dm
+++ b/code/modules/jobs/job_types/research_director.dm
@@ -79,6 +79,8 @@
chameleon_extras = /obj/item/stamp/head/rd
skillchips = list(/obj/item/skillchip/research_director, /obj/item/skillchip/job/roboticist)
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/science/rd
+
/datum/outfit/job/rd/mod
name = "Research Director (MODsuit)"
diff --git a/code/modules/jobs/job_types/roboticist.dm b/code/modules/jobs/job_types/roboticist.dm
index 9f91c6f22e0a..4306ec080702 100644
--- a/code/modules/jobs/job_types/roboticist.dm
+++ b/code/modules/jobs/job_types/roboticist.dm
@@ -56,6 +56,8 @@
pda_slot = ITEM_SLOT_LPOCKET
skillchips = list(/obj/item/skillchip/job/roboticist)
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/science/robotics
+
/datum/outfit/job/roboticist/mod
name = "Roboticist (MODsuit)"
suit_store = /obj/item/tank/internals/oxygen
diff --git a/code/modules/jobs/job_types/scientist.dm b/code/modules/jobs/job_types/scientist.dm
index 923c9bff54b5..d32340c5d258 100644
--- a/code/modules/jobs/job_types/scientist.dm
+++ b/code/modules/jobs/job_types/scientist.dm
@@ -52,6 +52,8 @@
duffelbag = /obj/item/storage/backpack/duffelbag/science
messenger = /obj/item/storage/backpack/messenger/science
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/science
+
/datum/outfit/job/scientist/pre_equip(mob/living/carbon/human/H)
..()
try_giving_horrible_tie()
diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm
index d78fb4f94b07..fd87de05d375 100644
--- a/code/modules/jobs/job_types/security_officer.dm
+++ b/code/modules/jobs/job_types/security_officer.dm
@@ -59,18 +59,10 @@ GLOBAL_LIST_EMPTY(security_officer_distribution)
/datum/job/security_officer/after_spawn(mob/living/spawned, client/player_client)
. = ..()
- if(!ishuman(spawned) || !prob(PIG_COP_PROBABILITY))
+ if(!prob(PIG_COP_PROBABILITY))
return
- var/mob/living/carbon/human/piggy = spawned
- for (var/obj/item/bodypart/ham as anything in piggy.get_bodyparts())
- // These are string lists
- ham.butcher_drops = ham.butcher_drops.Copy()
- for (var/meat_type in ham.butcher_drops)
- if (!ispath(meat_type, /obj/item/food/meat/slab))
- continue
- ham.butcher_drops[/obj/item/food/meat/slab/pig] = ham.butcher_drops[meat_type]
- ham.butcher_drops -= meat_type
- ham.butcher_drops = string_list(ham.butcher_drops)
+ for (var/obj/item/bodypart/ham as anything in spawned.get_bodyparts())
+ ham.butcher_drops_override = list(/obj/item/food/meat/slab/pig = ham.base_meat_amount)
/datum/job/security_officer/after_roundstart_spawn(mob/living/spawning, client/player_client)
. = ..()
@@ -259,6 +251,8 @@ GLOBAL_LIST_EMPTY(security_officer_distribution)
//The helmet is necessary because /obj/item/clothing/head/helmet/sec is overwritten in the chameleon list by the standard helmet, which has the same name and icon state
implants = list(/obj/item/implant/mindshield)
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/security
+
/datum/outfit/job/security/mod
name = "Security Officer (MODsuit)"
diff --git a/code/modules/jobs/job_types/shaft_miner.dm b/code/modules/jobs/job_types/shaft_miner.dm
index d2c7502c5105..8b6d36349e9a 100644
--- a/code/modules/jobs/job_types/shaft_miner.dm
+++ b/code/modules/jobs/job_types/shaft_miner.dm
@@ -57,6 +57,8 @@
box = /obj/item/storage/box/survival/mining
chameleon_extras = /obj/item/gun/energy/recharge/kinetic_accelerator
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/miner
+
/datum/outfit/job/miner/equipped
name = "Shaft Miner (Equipment)"
diff --git a/code/modules/jobs/job_types/station_engineer.dm b/code/modules/jobs/job_types/station_engineer.dm
index aa71e1bb5508..8e25895c0be3 100644
--- a/code/modules/jobs/job_types/station_engineer.dm
+++ b/code/modules/jobs/job_types/station_engineer.dm
@@ -65,6 +65,8 @@
pda_slot = ITEM_SLOT_LPOCKET
skillchips = list(/obj/item/skillchip/job/engineer)
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/engineering
+
/datum/outfit/job/engineer/gloved
name = "Station Engineer (Gloves)"
diff --git a/code/modules/jobs/job_types/warden.dm b/code/modules/jobs/job_types/warden.dm
index eea6d428c101..1c42257a60a1 100644
--- a/code/modules/jobs/job_types/warden.dm
+++ b/code/modules/jobs/job_types/warden.dm
@@ -44,18 +44,10 @@
/datum/job/warden/after_spawn(mob/living/spawned, client/player_client)
. = ..()
- if(!ishuman(spawned) || !prob(PIG_COP_PROBABILITY))
+ if(!prob(PIG_COP_PROBABILITY))
return
- var/mob/living/carbon/human/piggy = spawned
- for (var/obj/item/bodypart/ham as anything in piggy.get_bodyparts())
- // These are string lists
- ham.butcher_drops = ham.butcher_drops.Copy()
- for (var/meat_type in ham.butcher_drops)
- if (!ispath(meat_type, /obj/item/food/meat/slab))
- continue
- ham.butcher_drops[/obj/item/food/meat/slab/pig] = ham.butcher_drops[meat_type]
- ham.butcher_drops -= meat_type
- ham.butcher_drops = string_list(ham.butcher_drops)
+ for (var/obj/item/bodypart/ham as anything in spawned.get_bodyparts())
+ ham.butcher_drops_override = list(/obj/item/food/meat/slab/pig = ham.base_meat_amount)
/datum/outfit/job/warden
name = "Warden"
@@ -81,3 +73,5 @@
box = /obj/item/storage/box/survival/security
implants = list(/obj/item/implant/mindshield)
+
+ wintercoat = /obj/item/clothing/suit/hooded/wintercoat/security
diff --git a/code/modules/keybindings/bindings_client.dm b/code/modules/keybindings/bindings_client.dm
index b72e8af905d8..672d6fba6639 100644
--- a/code/modules/keybindings/bindings_client.dm
+++ b/code/modules/keybindings/bindings_client.dm
@@ -1,6 +1,6 @@
// Clients aren't datums so we have to define these procs indpendently.
// These verbs are called for all key press and release events
-GAME_VERB_HIDDEN_INSTANT(/client, keyDown, "keyDown", _key as text, mousepos_x as num, mousepos_y as num, sizex as num, sizey as num)
+GAME_VERB_NATIVE_INSTANT(/client, keyDown, "keyDown", null, _key as text, mousepos_x as num, mousepos_y as num, sizex as num, sizey as num)
client_keysend_amount += 1
@@ -80,7 +80,7 @@ GAME_VERB_HIDDEN_INSTANT(/client, keyDown, "keyDown", _key as text, mousepos_x a
mob.focus?.key_down(_key, src, full_key)
mob.update_mouse_pointer()
-GAME_VERB_HIDDEN_INSTANT(/client, keyUp, "keyUp", _key as text, mousepos_x as num, mousepos_y as num, sizex as num, sizey as num)
+GAME_VERB_NATIVE_INSTANT(/client, keyUp, "keyUp", null, _key as text, mousepos_x as num, mousepos_y as num, sizex as num, sizey as num)
var/key_combo = key_combos_held[_key]
if(key_combo)
diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm
index f3feed46bcff..161e4b14adfb 100644
--- a/code/modules/lighting/lighting_turf.dm
+++ b/code/modules/lighting/lighting_turf.dm
@@ -16,11 +16,49 @@
new /atom/movable/lighting_object(null, src)
-// Used to get a scaled lumcount.
+/// Used to get a scaled lumcount.
/turf/proc/get_lumcount(minlum = 0, maxlum = 1)
if (!lighting_object)
return 1
+ var/totallums = get_static_lumcount(minlum, maxlum)
+ totallums += get_dynamic_lumcount()
+ return CLAMP01(totallums)
+
+// Kyler was worried about cost of having these use assoc args, so they're split ~smartkar
+// Also easier to use this way
+/// Optimized get_lumcount for when you only care if the lumcount is below a certain value, and not what the actual value is
+/turf/proc/check_lumcount_below(value)
+ if (!lighting_object)
+ return FALSE
+
+ var/lums = get_static_lumcount()
+ if (lums >= value)
+ return FALSE
+
+ for (var/datum/component/overlay_lighting/light as anything in collect_dynamic_lightsources())
+ lums += light.lum_power
+ if (lums >= value)
+ return FALSE
+ return TRUE
+
+/// Optimized get_lumcount for when you only care if the lumcount is above a certain value, and not what the actual value is
+/turf/proc/check_lumcount_above(value)
+ if (!lighting_object)
+ return TRUE
+
+ var/lums = get_static_lumcount()
+ if (lums > value)
+ return TRUE
+
+ for (var/datum/component/overlay_lighting/light as anything in collect_dynamic_lightsources())
+ lums += light.lum_power
+ if (lums > value)
+ return TRUE
+ return FALSE
+
+/// Returns lumcount from turf lighting
+/turf/proc/get_static_lumcount(minlum = 0, maxlum = 1)
var/totallums = 0
var/datum/lighting_corner/L
L = lighting_corner_NE
@@ -36,14 +74,41 @@
if (L)
totallums += L.lum_r + L.lum_b + L.lum_g
-
totallums /= 12 // 4 corners, each with 3 channels, get the average.
-
totallums = (totallums - minlum) / (maxlum - minlum)
-
- totallums += dynamic_lumcount
-
- return CLAMP01(totallums)
+ return totallums
+
+/// Fetches dynamic lumcount from lightsources potentially in view of this turf from our spatial grid
+/turf/proc/get_dynamic_lumcount()
+ . = 0
+ for (var/datum/component/overlay_lighting/light as anything in collect_dynamic_lightsources())
+ . += light.lum_power
+
+// You've heard of oranges_ear, prepare for oranges_eye
+/// Uses the same optimization via viewers() that get_hearers_in_view does by allocating oranges ears to overlay lights
+/// And collecting viewers rather than checking view() for each one of them
+/turf/proc/collect_dynamic_lightsources()
+ . = list()
+
+ var/datum/spatial_grid_cell/grid_cell = SSspatial_grid.get_cell_of(src)
+ var/list/light_sources = list()
+ var/furthest_range = 0
+ for (var/datum/component/overlay_lighting/light as anything in grid_cell.dynamic_light_sources)
+ furthest_range = max(furthest_range, light.lumcount_range)
+ if (isnull(light_sources[light.current_holder]))
+ light_sources[light.current_holder] = light
+ else if (islist(light_sources[light.current_holder]))
+ light_sources[light.current_holder] |= light
+ else
+ light_sources[light.current_holder] = list(light_sources[light.current_holder], light)
+
+ var/list/assigned_oranges_ears = SSspatial_grid.assign_oranges_ears(light_sources)
+ for(var/mob/oranges_ear/ear in hearers(furthest_range, src))
+ for (var/atom/glowie as anything in ear.references)
+ . += light_sources[glowie]
+
+ for(var/mob/oranges_ear/remaining_ear as anything in assigned_oranges_ears)
+ remaining_ear.unassign()
// Returns a boolean whether the turf is on soft lighting.
// Soft lighting being the threshold at which point the overlay considers
@@ -53,7 +118,7 @@
if (!lighting_object)
return FALSE
- return !(luminosity || dynamic_lumcount)
+ return !(luminosity || get_dynamic_lumcount())
///Proc to add movable sources of opacity on the turf and let it handle lighting code.
diff --git a/code/modules/loadout/categories/suits.dm b/code/modules/loadout/categories/suits.dm
index c830aff2a12d..cc4c0c63f4ea 100644
--- a/code/modules/loadout/categories/suits.dm
+++ b/code/modules/loadout/categories/suits.dm
@@ -42,9 +42,17 @@
)
/datum/loadout_item/suit/hoodie_pullover
- name = "pullover"
+ name = "Pullover"
item_path = /obj/item/clothing/suit/hooded/wintercoat/pullover
/datum/loadout_item/suit/hoodie_zipup
- name = "zipup"
+ name = "Zipup"
item_path = /obj/item/clothing/suit/hooded/wintercoat/zipup
+
+/datum/loadout_item/suit/wintercoat
+ name = "Winter Coat (Departmental)"
+ item_path = /obj/item/clothing/suit/hooded/wintercoat
+
+/datum/loadout_item/suit/wintercoat/insert_path_into_outfit(datum/outfit/outfit, mob/living/carbon/human/equipper, visuals_only = FALSE)
+ . = ..()
+ outfit.suit = astype(outfit, /datum/outfit/job)?.wintercoat || item_path
diff --git a/code/modules/loadout/loadout_preference.dm b/code/modules/loadout/loadout_preference.dm
index ef4a994b5530..c48e3b7f4971 100644
--- a/code/modules/loadout/loadout_preference.dm
+++ b/code/modules/loadout/loadout_preference.dm
@@ -11,7 +11,7 @@
// - list(/obj/item/plush/lizard = list("name" = "Tests-The-Loadout", "color" = "#FF0000"))
// Loadouts are applied with job equip code.
-/datum/preference/loadout/apply_to_human(mob/living/carbon/human/target, value)
+/datum/preference/loadout/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
return
// Sanitize on load to ensure no invalid paths from older saves get in
diff --git a/code/modules/manufactorio/machines/lathe.dm b/code/modules/manufactorio/machines/lathe.dm
index e82c5c0a1201..f773e87b5ea0 100644
--- a/code/modules/manufactorio/machines/lathe.dm
+++ b/code/modules/manufactorio/machines/lathe.dm
@@ -5,8 +5,8 @@
circuit = /obj/item/circuitboard/machine/manulathe
/// power cost for lathing
var/power_cost = 5 KILO WATTS
- /// design id we print
- var/design_id
+ /// The typepath of the design we print
+ var/chosen_design_path
///The container to hold materials
var/datum/material_container/materials
//looping sound for printing items
@@ -28,8 +28,7 @@
)
register_context()
. = ..()
- if(!GLOB.autounlock_techwebs[/datum/techweb/autounlocking/autolathe])
- GLOB.autounlock_techwebs[/datum/techweb/autounlocking/autolathe] = new /datum/techweb/autounlocking/autolathe
+ GLOB.autounlock_techwebs[/datum/techweb/autounlocking/autolathe] ||= new /datum/techweb/autounlocking/autolathe()
stored_research = GLOB.autounlock_techwebs[/datum/techweb/autounlocking/autolathe]
/obj/machinery/power/manufacturing/lathe/Destroy()
@@ -51,12 +50,9 @@
var/datum/stock_part/matter_bin/bin = locate() in component_parts
materials.max_amount = bin.tier * (SHEET_MATERIAL_AMOUNT * MAX_STACK_SIZE)
-
/obj/machinery/power/manufacturing/lathe/examine(mob/user)
. = ..()
- var/datum/design/design
- if(!isnull(design_id))
- design = SSresearch.techweb_design_by_id(design_id)
+ var/datum/design/design = SSresearch.techweb_designs[chosen_design_path]
. += span_notice("It is set to print [!isnull(design) ? design.name : "nothing, set with a multitool"].")
if(isnull(design))
return
@@ -91,20 +87,20 @@
/obj/machinery/power/manufacturing/lathe/multitool_act(mob/living/user, obj/item/tool)
. = ..()
var/list/name_to_id = list()
- for(var/id in stored_research.researched_designs)
- var/datum/design/design = SSresearch.techweb_design_by_id(id)
- name_to_id[design.name] = id
+ for(var/design_path in stored_research.researched_designs)
+ var/datum/design/design = SSresearch.techweb_designs[design_path]
+ name_to_id[design.name] = design_path
var/result = tgui_input_list(user, "Select Design", "Select Design", sort_list(name_to_id))
if(isnull(result))
return ITEM_INTERACT_FAILURE
- design_id = name_to_id[result]
+ chosen_design_path = name_to_id[result]
return ITEM_INTERACT_SUCCESS
/obj/machinery/power/manufacturing/lathe/process()
if(!isnull(withheld) && !send_resource(withheld, dir))
return
- var/datum/design/design = SSresearch.techweb_design_by_id(design_id)
+ var/datum/design/design = SSresearch.techweb_designs[chosen_design_path]
if(isnull(design) || !(design.build_type & AUTOLATHE))
return
if(surplus() < power_cost)
diff --git a/code/modules/mapfluff/ruins/lavaland_ruin_code.dm b/code/modules/mapfluff/ruins/lavaland_ruin_code.dm
index 0d1abe5bda81..1a30343f10ad 100644
--- a/code/modules/mapfluff/ruins/lavaland_ruin_code.dm
+++ b/code/modules/mapfluff/ruins/lavaland_ruin_code.dm
@@ -3,11 +3,7 @@
///Wizard tower item
/obj/item/disk/design_disk/knight_gear
name = "Magic Disk of Smithing"
-
-/obj/item/disk/design_disk/knight_gear/Initialize(mapload)
- . = ..()
- blueprints += new /datum/design/knight_armour
- blueprints += new /datum/design/knight_helmet
+ blueprints = list(/datum/design/knight_armour, /datum/design/knight_helmet)
//Free Golems
@@ -15,15 +11,11 @@
name = "Golem Creation Disk"
desc = "A gift from the Liberator."
icon_state = "datadisk1"
-
-/obj/item/disk/design_disk/golem_shell/Initialize(mapload)
- . = ..()
- blueprints += new /datum/design/golem_shell
+ blueprints = list(/datum/design/golem_shell)
/datum/design/golem_shell
name = "Golem Shell Construction"
desc = "Allows for the construction of a Golem Shell."
- id = "golem"
build_type = AUTOLATHE
materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*20)
build_path = /obj/item/golem_shell
diff --git a/code/modules/mapfluff/ruins/spaceruin_code/clericsden.dm b/code/modules/mapfluff/ruins/spaceruin_code/clericsden.dm
index 56b09ef7f79f..e6654b136b2b 100644
--- a/code/modules/mapfluff/ruins/spaceruin_code/clericsden.dm
+++ b/code/modules/mapfluff/ruins/spaceruin_code/clericsden.dm
@@ -3,10 +3,7 @@
//Primary reward: the cleric's mace design disk.
/obj/item/disk/design_disk/cleric_mace
name = "Enshrined Disc of Smiting"
-
-/obj/item/disk/design_disk/cleric_mace/Initialize(mapload)
- . = ..()
- blueprints += new /datum/design/cleric_mace
+ blueprints = list(/datum/design/cleric_mace)
/obj/item/paper/fluff/ruins/clericsden/contact
default_raw_text = "Father Aurellion, the ritual is complete, and soon our brothers at the bastion will see the error of our ways. After all, a god of clockwork or blood? Preposterous. Only the TRUE GOD should have so much power. Signed, Father Odivallus."
diff --git a/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm b/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm
index b96df88a3917..e56f09ffb078 100644
--- a/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm
+++ b/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm
@@ -580,7 +580,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999))
if(!istype(interacting_with, /obj/item/hilbertshotel))
return ..()
if(!interacting_with.IsReachableBy(user))
- to_chat(user, span_warning("It's to far away to scan!"))
+ to_chat(user, span_warning("It's too far away to scan!"))
return ITEM_INTERACT_BLOCKING
var/obj/item/hilbertshotel/sphere = interacting_with
if(length(sphere.activeRooms))
diff --git a/code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_rnd.dm b/code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_rnd.dm
index 8a002f4a8186..d1c0f6b35230 100644
--- a/code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_rnd.dm
+++ b/code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_rnd.dm
@@ -4,7 +4,8 @@
req_access = list(ACCESS_AWAY_SCIENCE)
/obj/machinery/rnd/server/oldstation/Initialize(mapload)
- var/datum/techweb/oldstation_web = locate(/datum/techweb/oldstation) in SSresearch.techwebs
+ var/datum/techweb/oldstation/oldstation_web = locate(/datum/techweb/oldstation) in SSresearch.techwebs
+ oldstation_web ||= new()
stored_research = oldstation_web
return ..()
@@ -26,7 +27,7 @@
/obj/machinery/rnd/server/oldstation/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
if(istype(tool, /obj/item/research_notes) && stored_research)
var/obj/item/research_notes/research_notes = tool
- stored_research.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = research_notes.value))
+ stored_research.adjust_points(TECHWEB_POINT_TYPE_GENERIC, research_notes.value)
playsound(src, 'sound/machines/copier.ogg', 50, TRUE)
qdel(research_notes)
return ITEM_INTERACT_SUCCESS
diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm
index 8a39d3f04743..73797075bcfb 100644
--- a/code/modules/mapping/mapping_helpers.dm
+++ b/code/modules/mapping/mapping_helpers.dm
@@ -1499,11 +1499,6 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_atoms_ontop)
icon_state = "basic_mob_flammable"
flag_to_give = FLAMMABLE_MOB
-/obj/effect/mapping_helpers/basic_mob_flags/immune_to_fists
- name = "Basic mob immune to fists flag helper"
- icon_state = "basic_mob_immune_to_fists"
- flag_to_give = IMMUNE_TO_FISTS
-
/obj/effect/mapping_helpers/basic_mob_flags/immune_to_getting_wet
name = "Basic mob immune to getting wet flag helper"
icon_state = "basic_mob_immune_to_getting_wet"
diff --git a/code/modules/meteors/meteor_types.dm b/code/modules/meteors/meteor_types.dm
index 386deb89501c..e5b4dc613e3f 100644
--- a/code/modules/meteors/meteor_types.dm
+++ b/code/modules/meteors/meteor_types.dm
@@ -195,7 +195,7 @@
hits = 2
hitpwr = EXPLODE_LIGHT
meteorsound = 'sound/items/dodgeball.ogg'
- threat = 1
+ threat = SEVERITY_SAND
/obj/effect/meteor/sand/make_debris()
return //We drop NOTHING
@@ -224,13 +224,13 @@
hitpwr = EXPLODE_LIGHT
meteorsound = 'sound/items/weapons/gun/smg/shot.ogg'
meteordrop = list(/obj/item/stack/ore/glass)
- threat = 1
+ threat = SEVERITY_DUST
//Medium-sized
/obj/effect/meteor/medium
name = "meteor"
dropamt = 3
- threat = 5
+ threat = SEVERITY_MEDIUM_METEOR
/obj/effect/meteor/medium/meteor_effect()
..()
@@ -243,7 +243,7 @@
hits = 6
heavy = TRUE
dropamt = 4
- threat = 10
+ threat = SEVERITY_BIG_METEOR
/obj/effect/meteor/big/meteor_effect()
..()
@@ -258,7 +258,7 @@
heavy = TRUE
meteorsound = 'sound/effects/bamf.ogg'
meteordrop = list(/obj/item/stack/ore/plasma)
- threat = 20
+ threat = SEVERITY_FLAMING_METEOR
signature = "thermal"
/obj/effect/meteor/flaming/meteor_effect()
@@ -273,7 +273,7 @@
heavy = TRUE
hits = 9
meteordrop = list(/obj/item/stack/ore/uranium)
- threat = 35
+ threat = SEVERITY_IRRADIATED_METEOR
signature = "radiation"
/obj/effect/meteor/irradiated/meteor_effect()
@@ -291,7 +291,7 @@
hits = 9
heavy = TRUE
meteorsound = 'sound/effects/break_stone.ogg'
- threat = 25
+ threat = SEVERITY_CLUSTER_METEOR
signature = "ordnance"
///Number of fragmentation meteors to be spawned
var/cluster_count = 8
@@ -323,7 +323,7 @@
meteorsound = 'sound/mobs/humanoids/ethereal/ethereal_revive_fail.ogg'
meteordrop = list(/mob/living/basic/carp)
dropamt = 1
- threat = 5
+ threat = SEVERITY_FROZEN_CARP
signature = "fishing and trawling"
/obj/effect/meteor/carp/Initialize(mapload)
@@ -339,7 +339,7 @@
dropamt = 3
hits = 12
meteordrop = list(/obj/item/stack/ore/bluespace_crystal)
- threat = 15
+ threat = SEVERITY_BLUESPACE_METEOR
signature = "bluespace flux"
/obj/effect/meteor/bluespace/Bump(atom/bumped_atom)
@@ -355,7 +355,7 @@
hits = 175 //Honks everything, including space tiles. Depending on the angle/how much stuff it hits, there's a fair chance that it will spare the station from the actual explosion
meteordrop = list(/obj/item/stack/ore/bananium)
meteorsound = 'sound/items/bikehorn.ogg'
- threat = 15
+ threat = SEVERITY_BANANIUM_METEOR
movement_type = PHASING
signature = "comedy"
@@ -377,7 +377,7 @@
desc = "It radiates with captive energy, ready to be let loose upon the world."
icon_state = "bluespace"
hits = 6
- threat = 10
+ threat = SEVERITY_EMP_METEOR
signature = "electromagnetic interference"
/obj/effect/meteor/emp/Move()
@@ -400,7 +400,7 @@
meteorsound = 'sound/effects/blob/blobattack.ogg'
meteordrop = list(/obj/item/food/meat/slab/human, /obj/item/organ/heart, /obj/item/organ/lungs, /obj/item/organ/appendix)
var/meteorgibs = /obj/effect/gibspawner/generic
- threat = 2
+ threat = SEVERITY_MEATY_ORE
signature = "culinary material"
/obj/effect/meteor/meaty/setup_extra_drops()
@@ -443,7 +443,7 @@
heavy = TRUE
meteorsound = 'sound/effects/bamf.ogg'
meteordrop = list(/obj/item/stack/ore/plasma)
- threat = 50
+ threat = SEVERITY_TUNGSKA_METEOR
signature = "armageddon"
/obj/effect/meteor/tunguska/Move()
@@ -469,7 +469,7 @@
heavy = TRUE
dropamt = 1
meteordrop = list(/obj/item/clothing/head/utility/hardhat/pumpkinhead, /obj/item/food/grown/pumpkin)
- threat = 100
+ threat = SEVERITY_PUMPKING
/obj/effect/meteor/pumpkin/Initialize(mapload)
. = ..()
diff --git a/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher_trophies.dm b/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher_trophies.dm
index 7e183d8e8512..df43f72b5bb2 100644
--- a/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher_trophies.dm
+++ b/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher_trophies.dm
@@ -7,6 +7,7 @@
desc = "A strange spike with no usage."
icon = 'icons/obj/mining_zones/artefacts.dmi'
icon_state = "tail_spike"
+ w_class = WEIGHT_CLASS_SMALL
/// If it has a bonus effect, this is how much that effect is
var/bonus_value = 10
/// ID of the trophy to be sent by the signal
diff --git a/code/modules/mining/equipment/kinetic_crusher/trophies_fauna.dm b/code/modules/mining/equipment/kinetic_crusher/trophies_fauna.dm
index ee70b0611937..2a41d59fabb1 100644
--- a/code/modules/mining/equipment/kinetic_crusher/trophies_fauna.dm
+++ b/code/modules/mining/equipment/kinetic_crusher/trophies_fauna.dm
@@ -10,8 +10,8 @@
denied_type = /obj/item/crusher_trophy/watcher_wing
trophy_id = TROPHY_WATCHER
bonus_value = 5
- wildhunter_drops = list(/obj/item/stack/sheet/sinew = 7)
- custom_materials = list(/datum/material/diamond = SHEET_MATERIAL_AMOUNT * 10, /datum/material/bone = SHEET_MATERIAL_AMOUNT * 5)
+ wildhunter_drops = list(/obj/item/stack/sheet/sinew = 5)
+ custom_materials = list(/datum/material/diamond = SHEET_MATERIAL_AMOUNT * 6, /datum/material/bone = SHEET_MATERIAL_AMOUNT * 5)
/obj/item/crusher_trophy/watcher_wing/effect_desc()
return "mark detonation to prevent certain creatures from using certain attacks for [bonus_value*0.1] second\s"
@@ -35,7 +35,7 @@
icon_state = "magma_wing"
denied_type = /obj/item/crusher_trophy/magma_wing
wildhunter_drops = list(/obj/item/stack/sheet/sinew/magmawing = 3)
- custom_materials = list(/datum/material/diamond = SHEET_MATERIAL_AMOUNT * 6, /datum/material/bone = SHEET_MATERIAL_AMOUNT * 3)
+ custom_materials = list(/datum/material/diamond = SHEET_MATERIAL_AMOUNT * 2, /datum/material/bone = SHEET_MATERIAL_AMOUNT * 3)
/// List of mobs we've marked
var/list/mob/living/marked_targets = list()
@@ -97,10 +97,10 @@
name = "icewing watcher wing"
desc = "A carefully preserved frozen wing from an icewing watcher. Suitable as a trophy for a kinetic crusher."
icon_state = "ice_wing"
- bonus_value = 2
+ bonus_value = 1
denied_type = /obj/item/crusher_trophy/ice_wing
wildhunter_drops = list(/obj/item/stack/sheet/sinew/icewing = 3)
- custom_materials = list(/datum/material/diamond = SHEET_MATERIAL_AMOUNT * 6, /datum/material/bone = SHEET_MATERIAL_AMOUNT * 3)
+ custom_materials = list(/datum/material/diamond = SHEET_MATERIAL_AMOUNT * 5, /datum/material/bone = SHEET_MATERIAL_AMOUNT * 3)
/obj/item/crusher_trophy/ice_wing/effect_desc()
return "user to backstep [bonus_value] tile\s when detonating a mark"
@@ -129,7 +129,7 @@
denied_type = /obj/item/crusher_trophy/legion_skull
bonus_value = 3
// No wildhunter drop to prevent refresh cheese
- custom_materials = list(/datum/material/bone = SHEET_MATERIAL_AMOUNT * 5)
+ custom_materials = list(/datum/material/bone = SHEET_MATERIAL_AMOUNT * 4)
/obj/item/crusher_trophy/legion_skull/effect_desc()
return "a kinetic crusher to recharge [bonus_value*0.1] second\s faster"
@@ -153,7 +153,7 @@
bonus_value = 2
trophy_id = TROPHY_GOLIATH_TENTACLE
wildhunter_drops = list(/obj/item/stack/sheet/animalhide/goliath_hide = 3)
- custom_materials = list(/datum/material/bone = SHEET_MATERIAL_AMOUNT * 8)
+ custom_materials = list(/datum/material/bone = SHEET_MATERIAL_AMOUNT * 6)
/// Your missing health is multiplied by this value to find the bonus damage
var/missing_health_ratio = 0.1
@@ -179,7 +179,7 @@
trophy_id = TROPHY_LOBSTER_CLAW
bonus_value = 1
// No wildhunter drop to prevent refresh cheese
- custom_materials = list(/datum/material/meat = SHEET_MATERIAL_AMOUNT * 12, /datum/material/bone = SHEET_MATERIAL_AMOUNT * 5)
+ custom_materials = list(/datum/material/meat = SHEET_MATERIAL_AMOUNT * 8, /datum/material/bone = SHEET_MATERIAL_AMOUNT * 4)
/obj/item/crusher_trophy/lobster_claw/effect_desc()
return "mark detonation to briefly rebuke the target for [bonus_value] second[bonus_value > 1 ? "s" : ""]"
@@ -215,7 +215,7 @@
desc = "A baby bileworm. Suitable as a trophy for a kinetic crusher."
denied_type = /obj/item/crusher_trophy/bileworm_spewlet
wildhunter_drops = list(/obj/item/stack/sheet/animalhide/bileworm = 3)
- custom_materials = list(/datum/material/gold = SHEET_MATERIAL_AMOUNT * 12)
+ custom_materials = list(/datum/material/gold = SHEET_MATERIAL_AMOUNT * 8)
///item ability that handles the effect
var/datum/action/cooldown/mob_cooldown/projectile_attack/dir_shots/spewlet/ability
diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm
index 1f31fbb60536..36d594b2ad6f 100644
--- a/code/modules/mining/equipment/survival_pod.dm
+++ b/code/modules/mining/equipment/survival_pod.dm
@@ -150,23 +150,6 @@
//Pod objects
-//Window
-/obj/structure/window/reinforced/shuttle/survival_pod
- name = "pod window"
- icon = 'icons/obj/smooth_structures/pod_window.dmi'
- icon_state = "pod_window-0"
- base_icon_state = "pod_window"
- smoothing_flags = SMOOTH_BITMASK
- smoothing_groups = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_SURVIVAL_TITANIUM_POD
- canSmoothWith = SMOOTH_GROUP_SURVIVAL_TITANIUM_POD
-
-/obj/structure/window/reinforced/survival_pod
- name = "pod window"
- icon = 'icons/obj/mining_zones/survival_pod.dmi'
- icon_state = "pwindow"
-
-MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/survival_pod/spawner, 0)
-
//Door
/obj/machinery/door/airlock/survival_pod
name = "Airlock"
diff --git a/code/modules/mining/lavaland/mining_loot/consumables.dm b/code/modules/mining/lavaland/mining_loot/consumables.dm
index 27e6b53e777b..5ce7ef933ae9 100644
--- a/code/modules/mining/lavaland/mining_loot/consumables.dm
+++ b/code/modules/mining/lavaland/mining_loot/consumables.dm
@@ -4,27 +4,22 @@
name = "KA Mod Disk"
desc = "A design disc containing the design for a unique kinetic accelerator modkit. It's compatible with a research console."
icon_state = "datadisk1"
- var/modkit_design = /datum/design/unique_modkit
-
-/obj/item/disk/design_disk/modkit_disc/Initialize(mapload)
- . = ..()
- blueprints += new modkit_design
/obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe
name = "Offensive Mining Explosion Mod Disk"
- modkit_design = /datum/design/unique_modkit/offensive_turf_aoe
+ blueprints = list(/datum/design/unique_modkit/offensive_turf_aoe)
/obj/item/disk/design_disk/modkit_disc/rapid_repeater
name = "Rapid Repeater Mod Disk"
- modkit_design = /datum/design/unique_modkit/rapid_repeater
+ blueprints = list(/datum/design/unique_modkit/rapid_repeater)
/obj/item/disk/design_disk/modkit_disc/resonator_blast
name = "Resonator Blast Mod Disk"
- modkit_design = /datum/design/unique_modkit/resonator_blast
+ blueprints = list(/datum/design/unique_modkit/resonator_blast)
/obj/item/disk/design_disk/modkit_disc/bounty
name = "Death Syphon Mod Disk"
- modkit_design = /datum/design/unique_modkit/bounty
+ blueprints = list(/datum/design/unique_modkit/bounty)
// Wisp Lantern
/obj/item/wisp_lantern
diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm
index fab53fbe93f3..20d62a349854 100644
--- a/code/modules/mining/machine_processing.dm
+++ b/code/modules/mining/machine_processing.dm
@@ -111,7 +111,7 @@
if("setAlloy")
processing_machine.selected_material = null
- processing_machine.selected_alloy = params["value"]
+ processing_machine.selected_alloy = text2path(params["new_alloy"])
return TRUE
if("toggle")
@@ -157,8 +157,7 @@
MATCONTAINER_EXAMINE, \
allowed_items = accepted_type \
)
- if(!GLOB.autounlock_techwebs[/datum/techweb/autounlocking/smelter])
- GLOB.autounlock_techwebs[/datum/techweb/autounlocking/smelter] = new /datum/techweb/autounlocking/smelter
+ GLOB.autounlock_techwebs[/datum/techweb/autounlocking/smelter] ||= new /datum/techweb/autounlocking/smelter()
stored_research = GLOB.autounlock_techwebs[/datum/techweb/autounlocking/smelter]
selected_material = SSmaterials.get_material(/datum/material/iron)
@@ -181,24 +180,22 @@
/obj/machinery/mineral/processing_unit/ui_static_data()
var/list/data = list()
+ data["materialIcons"] = list()
for(var/datum/material/material as anything in materials.materials)
var/obj/display = initial(material.sheet_type)
- data["materialIcons"] += list(
- list(
- "id" = REF(material),
- "icon" = icon2base64(icon(initial(display.icon), icon_state = initial(display.icon_state), frame = 1)),
- )
- )
-
- for(var/research in stored_research.researched_designs)
- var/datum/design/design = SSresearch.techweb_design_by_id(research)
- var/obj/display = initial(design.build_path)
- data["alloyIcons"] += list(
- list(
- "id" = design.id,
- "icon" = icon2base64(icon(initial(display.icon), icon_state = initial(display.icon_state), frame = 1)),
- )
- )
+ data["materialIcons"] += list(list(
+ "id" = REF(material),
+ "icon" = icon2base64(icon(initial(display.icon), icon_state = initial(display.icon_state), frame = 1)),
+ ))
+
+ data["alloyIcons"] = list()
+ for(var/design_path in stored_research.researched_designs)
+ var/datum/design/design = SSresearch.techweb_designs[design_path]
+ var/obj/display = design.build_path
+ data["alloyIcons"] += list(list(
+ "id" = "[design_path]",
+ "icon" = icon2base64(icon(display::icon, display::icon_state, frame = 1)),
+ ))
data += materials.ui_static_data()
@@ -211,14 +208,12 @@
data["selectedMaterial"] = selected_material?.name
data["alloys"] = list()
- for(var/research in stored_research.researched_designs)
- var/datum/design/design = SSresearch.techweb_design_by_id(research)
- data["alloys"] += list(
- list(
- "name" = design.name,
- "id" = design.id,
- )
- )
+ for(var/design_path in stored_research.researched_designs)
+ var/datum/design/design = SSresearch.techweb_designs[design_path]
+ data["alloys"] += list(list(
+ "name" = design.name,
+ "path" = design_path,
+ ))
data["selectedAlloy"] = selected_alloy
data["state"] = on
@@ -252,13 +247,12 @@
materials.retrieve_stack(sheets_to_remove, mat, out)
/obj/machinery/mineral/processing_unit/proc/smelt_alloy(seconds_per_tick = 2)
- var/datum/design/alloy = stored_research.isDesignResearchedID(selected_alloy) //check if it's a valid design
- if(!alloy)
+ if(!stored_research.researched_designs[selected_alloy]) //check if it's a valid design
on = FALSE
return
+ var/datum/design/alloy = SSresearch.techweb_designs[selected_alloy]
var/amount = can_smelt(alloy, seconds_per_tick)
-
if(!amount)
on = FALSE
return
diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm
index 8091c67ebd30..aab0d724c104 100644
--- a/code/modules/mining/machine_redemption.dm
+++ b/code/modules/mining/machine_redemption.dm
@@ -50,8 +50,7 @@
/obj/machinery/mineral/ore_redemption/Initialize(mapload)
. = ..()
- if(!GLOB.autounlock_techwebs[/datum/techweb/autounlocking/smelter])
- GLOB.autounlock_techwebs[/datum/techweb/autounlocking/smelter] = new /datum/techweb/autounlocking/smelter
+ GLOB.autounlock_techwebs[/datum/techweb/autounlocking/smelter] ||= new /datum/techweb/autounlocking/smelter()
stored_research = GLOB.autounlock_techwebs[/datum/techweb/autounlocking/smelter]
//mat_container_signals is for reedeming points from local storage if silo is not required
@@ -105,7 +104,7 @@
if(!amount || !redemption_mat_amount)
return FALSE
- var/smeltable_sheets = FLOOR(redemption_mat_amount / amount, 1)
+ var/smeltable_sheets = floor(redemption_mat_amount / amount)
if(!smeltable_sheets)
return FALSE
@@ -264,12 +263,12 @@
"icon_state" = sheet_type::icon_state,
))
- for(var/research in stored_research.researched_designs)
- var/datum/design/alloy = SSresearch.techweb_design_by_id(research)
+ for(var/design_path in stored_research.researched_designs)
+ var/datum/design/alloy = SSresearch.techweb_designs[design_path]
var/obj/alloy_type = alloy.build_path
data["materials"] += list(list(
"name" = alloy.name,
- "id" = alloy.id,
+ "id" = design_path,
"category" = "alloy",
"amount" = can_smelt_alloy(alloy),
"icon" = alloy_type::icon,
@@ -338,28 +337,32 @@
return
else if(!allowed(usr)) //Check the ID inside, otherwise check the user
to_chat(usr, span_warning("Required access not found."))
- else
- var/datum/material/mat = locate(params["id"])
+ return
- var/amount = mat_container.materials[mat]
- if(!amount)
- return
+ var/datum/material/mat = locate(params["material_ref"])
- var/stored_amount = CEILING(amount / SHEET_MATERIAL_AMOUNT, 0.1)
- if(!stored_amount)
- return
+ var/amount = mat_container.materials[mat]
+ if(!amount)
+ return
- var/desired = text2num(params["sheets"])
- var/sheets_to_remove = round(min(desired, 50, stored_amount))
- materials.eject_sheets(mat, sheets_to_remove, get_step(src, output_dir), user_data = ID_DATA(usr))
+ var/stored_amount = CEILING(amount / SHEET_MATERIAL_AMOUNT, 0.1)
+ if(!stored_amount)
+ return
+
+ var/desired = text2num(params["sheets"])
+ var/sheets_to_remove = round(min(desired, 50, stored_amount))
+ materials.eject_sheets(mat, sheets_to_remove, get_step(src, output_dir), user_data = ID_DATA(usr))
return TRUE
if("Smelt")
if(!mat_container)
return
if(!materials.can_use_resource(user_data = ID_DATA(usr)))
return
- var/alloy_id = params["id"]
- var/datum/design/alloy = stored_research.isDesignResearchedID(alloy_id)
+ var/alloy_path = text2path(params["path"])
+ if(!stored_research.researched_designs[alloy_path])
+ return
+ var/datum/design/alloy = SSresearch.techweb_designs[alloy_path]
+
var/obj/item/card/id/user_id_card
if(isliving(usr))
var/mob/living/user = usr
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 874d03916f54..de85f39f2d25 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -664,7 +664,8 @@ GAME_VERB(/mob/dead/observer, restore_ghost_appearance, "Restore Ghost Character
if (!isnull(client) && !isnull(client.eye))
reset_perspective(null)
-GAME_VERB_HIDDEN(/mob/dead/observer, add_view_range, "Add View Range", input as num)
+GAME_VERB_HIDDEN(/mob/dead/observer, add_view_range, "Add View Range")
+ VERB_ARG(input, VERB_ARG_TYPE_NUM, VERB_ARG_SOURCE_INPUT)
if(SSlag_switch.measures[DISABLE_GHOST_ZOOM_TRAY] && !client?.holder)
to_chat(usr, span_notice("That verb is currently globally disabled."))
diff --git a/code/modules/mob/living/basic/alien/_alien.dm b/code/modules/mob/living/basic/alien/_alien.dm
index e76c7fec11b0..3d1db5b6978d 100644
--- a/code/modules/mob/living/basic/alien/_alien.dm
+++ b/code/modules/mob/living/basic/alien/_alien.dm
@@ -88,7 +88,7 @@
return TRUE
/mob/living/basic/alien/get_bloodtype()
- return get_blood_type(BLOOD_TYPE_XENO)
+ return get_blood_type(/datum/blood_type/xeno)
/mob/living/basic/alien/get_gibs_type(drop_bitflags = NONE)
if(drop_bitflags & DROP_BODYPARTS)
diff --git a/code/modules/mob/living/basic/basic.dm b/code/modules/mob/living/basic/basic.dm
index 641e2b7999ab..d5e04fa9db0f 100644
--- a/code/modules/mob/living/basic/basic.dm
+++ b/code/modules/mob/living/basic/basic.dm
@@ -6,7 +6,7 @@
health = 20
maxHealth = 20
max_stamina = BASIC_MOB_STAMINA_MATCH_HEALTH
- gender = PLURAL
+ gender = PLURAL // Plural means we randomize by default.
living_flags = MOVES_ON_ITS_OWN
status_flags = CANPUSH | CANSTUN
fire_stack_decay_rate = -5 // Reasonably fast as NPCs will not usually actively extinguish themselves
@@ -85,6 +85,9 @@
///We only try to show a gibbing animation if this exists.
var/icon_gib = null
+ /// If we randomize our gender when its default is set to plural
+ var/randomize_gender = TRUE
+
///If the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood.
var/gold_core_spawnable = NO_SPAWN
///Sentience type, for slime potions. SHOULD BE AN ELEMENT BUT I DONT CARE ABOUT IT FOR NOW
@@ -107,7 +110,7 @@
/mob/living/basic/Initialize(mapload)
. = ..()
- if(gender == PLURAL)
+ if((gender == PLURAL) && randomize_gender)
gender = pick(MALE,FEMALE)
if(!real_name)
diff --git a/code/modules/mob/living/basic/basic_defense.dm b/code/modules/mob/living/basic/basic_defense.dm
index dcfa637848b3..f4c4c117ac87 100644
--- a/code/modules/mob/living/basic/basic_defense.dm
+++ b/code/modules/mob/living/basic/basic_defense.dm
@@ -96,7 +96,6 @@
var/datum/storyteller_roll/damage/damage_roll = new damage_roll_type()
damage_roll.difficulty += damage_difficulty_bonus
damage = damage_roll.st_roll(user, src, damage_bonus_dice) TTRPG_DAMAGE
- damage = (basic_mob_flags & IMMUNE_TO_FISTS) ? 0 : damage
if(damage <= 0 || !attack_landed)
playsound(loc, attacking_bodypart.unarmed_miss_sound, 25, TRUE, -1)
@@ -206,7 +205,7 @@
if(. && stat != DEAD) //successful larva bite
var/damage_done = apply_damage(rand(attacking_larva.melee_damage_lower, attacking_larva.melee_damage_upper), BRUTE)
if(damage_done > 0)
- attacking_larva.amount_grown = min(attacking_larva.amount_grown + damage_done, attacking_larva.max_grown)
+ attacking_larva.amount_grown = min(attacking_larva.amount_grown + damage_done, XENOMORPH_MAX_GROWTH)
/mob/living/basic/attack_drone(mob/living/basic/drone/attacking_drone)
if(attacking_drone.combat_mode) //No kicking dogs even as a rogue drone. Use a weapon.
diff --git a/code/modules/mob/living/basic/bots/mulebot/mulebot_control.dm b/code/modules/mob/living/basic/bots/mulebot/mulebot_control.dm
index d7bd93be22c4..8250073a55a1 100644
--- a/code/modules/mob/living/basic/bots/mulebot/mulebot_control.dm
+++ b/code/modules/mob/living/basic/bots/mulebot/mulebot_control.dm
@@ -18,7 +18,8 @@
data["modeStatus"] = "average"
if(BOT_NO_ROUTE)
data["modeStatus"] = "bad"
- data["load"] = get_load_name()
+ data["load"] = !!load
+ data["loadName"] = get_load_name()
data["destination"] = ai_controller.blackboard[BB_MULEBOT_DESTINATION_BEACON]
data["homeDestination"] = ai_controller.blackboard[BB_MULEBOT_HOME_BEACON]
data["destinationsList"] = GLOB.deliverybeacontags
diff --git a/code/modules/mob/living/basic/bots/mulebot/mulebot_delivery.dm b/code/modules/mob/living/basic/bots/mulebot/mulebot_delivery.dm
index 5fec23e9bbfc..990d66eb113d 100644
--- a/code/modules/mob/living/basic/bots/mulebot/mulebot_delivery.dm
+++ b/code/modules/mob/living/basic/bots/mulebot/mulebot_delivery.dm
@@ -47,7 +47,8 @@
if(load || atom_to_load.anchored)
return
- if(!isturf(atom_to_load.loc)) //To prevent the loading from stuff from someone's inventory or screen icons.
+ var/prev_loc = atom_to_load.loc
+ if(!isturf(prev_loc)) //To prevent the loading from stuff from someone's inventory or screen icons.
return
var/obj/structure/closet/crate/crate = atom_to_load
@@ -65,14 +66,18 @@
if(crate)
crate.close() //make sure the crate is closed
-
object_to_load.forceMove(src)
+ playsound(src, SFX_HEAVY_DROP, 60, TRUE)
else if(isliving(atom_to_load))
if(!load_mob(atom_to_load)) //forceMove() is handled in buckling
return
load = atom_to_load
+ var/stored_alpha = load.alpha
+ do_loading_animation(load, prev_loc)
+ load.alpha = stored_alpha // Restoring previous alpha following the animation's completion.
+ load.transform = load.transform.Scale(10/7)
update_appearance()
///resolves the name to display for the loaded mob. primarily needed for the paranormal subtype since we don't want to show the name of ghosts riding it.
@@ -88,9 +93,11 @@
can_buckle = FALSE
return TRUE
-// called to unload the bot
-// argument is optional direction to unload
-// if zero or null, unload at bot's location
+/**
+ * called to unload the bot
+ * argument is optional direction to unload
+ * if zero or null, unload at bot's location
+ */
/mob/living/basic/bot/mulebot/proc/unload(dirn)
if(QDELETED(load))
if(load) //if our thing was qdel'd, there's likely a leftover reference. just clear it and remove the overlay. we'll let the bot keep moving around to prevent it abruptly stopping somewhere.
@@ -101,9 +108,7 @@
update_bot_mode(new_mode = BOT_IDLE)
var/atom/movable/cached_load = load //cache the load since unbuckling mobs clears the var.
-
unbuckle_all_mobs()
-
if(load) //don't have to do any of this for mobs.
cached_load.forceMove(loc)
cached_load.pixel_y = initial(cached_load.pixel_y)
@@ -113,5 +118,40 @@
if(dirn) //move the thing to the delivery point.
cached_load.Move(get_step(loc,dirn), dirn)
-
+ playsound(src, SFX_HEAVY_DROP, 50, TRUE)
update_appearance()
+
+/mob/living/basic/bot/mulebot/proc/do_loading_animation(atom/movable/animated_load, turf/old_loc)
+ if(!animated_load || !old_loc)
+ return
+ animate(src, time = 0.1 SECONDS, pixel_y = -2)
+
+ var/image/pickup_animation = image(icon = animated_load)
+ SET_PLANE(pickup_animation, GAME_PLANE, old_loc)
+ pickup_animation.transform.Scale(0.75)
+ pickup_animation.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA
+
+ var/direction = get_dir(old_loc, src)
+ var/to_x = base_pixel_x + base_pixel_w
+ var/to_y = base_pixel_y + base_pixel_z
+
+ if(direction & NORTH)
+ to_y += 32
+ else if(direction & SOUTH)
+ to_y -= 32
+ if(direction & EAST)
+ to_x += 32
+ else if(direction & WEST)
+ to_x -= 32
+ if(!direction)
+ to_y += 10
+ pickup_animation.pixel_x += 6 * (prob(50) ? 1 : -1) //6 to the right or left, helps break up the straight upward move
+
+ var/atom/movable/flick_visual/pickup = old_loc.flick_overlay_view(pickup_animation, 0.4 SECONDS)
+ var/matrix/animation_matrix = new(pickup.transform)
+ animation_matrix.Turn(pick(-30, 30))
+ animation_matrix.Scale(1.1)
+
+ animate(pickup, alpha = 175, pixel_x = to_x, pixel_y = to_y, time = 0.3 SECONDS, transform = animation_matrix, easing = CUBIC_EASING)
+ animate(animated_load, alpha = 0, transform = matrix().Scale(0.7), time = 0.1 SECONDS)
+ animate(src, time = 0.1 SECONDS, pixel_y = 0, delay = 0.1 SECONDS, easing = QUAD_EASING)
diff --git a/code/modules/mob/living/basic/bots/mulebot/mulebot_movement.dm b/code/modules/mob/living/basic/bots/mulebot/mulebot_movement.dm
index 0654477a0965..a9b15ea138de 100644
--- a/code/modules/mob/living/basic/bots/mulebot/mulebot_movement.dm
+++ b/code/modules/mob/living/basic/bots/mulebot/mulebot_movement.dm
@@ -14,7 +14,7 @@
cell?.use(cell_move_power_usage)
set_cell_hud()
- if(has_gravity())
+ if(isnull(buckled) && isnull(pulledby) && isnull(throwing) && has_gravity())
for(var/mob/living/carbon/human/future_pancake in loc)
if(future_pancake.body_position == LYING_DOWN)
run_over(future_pancake)
diff --git a/code/modules/mob/living/basic/bots/secbot/secbot.dm b/code/modules/mob/living/basic/bots/secbot/secbot.dm
index df9633d92656..e66e2fa206b0 100644
--- a/code/modules/mob/living/basic/bots/secbot/secbot.dm
+++ b/code/modules/mob/living/basic/bots/secbot/secbot.dm
@@ -175,7 +175,7 @@
/mob/living/basic/bot/secbot/proc/post_stun(mob/living/carbon/current_target, harm = FALSE)
flick("[base_icon_state]-c", src)
- var/threat = 5 || ai_controller.blackboard[BB_CURRENT_CRIMINAL_ASSESSMENT]
+ var/threat = ai_controller.blackboard[BB_CURRENT_CRIMINAL_ASSESSMENT] || 5
if(security_mode_flags & SECBOT_DECLARE_ARRESTS)
var/area/location = get_area(src)
speak("[security_mode_flags & SECBOT_HANDCUFF_TARGET ? "Arresting" : "Detaining"] level [threat] scumbag [RUNECHAT_BOLD("[current_target]")] in [location].", radio_channel)
diff --git a/code/modules/mob/living/basic/bots/secbot/secbot_ai.dm b/code/modules/mob/living/basic/bots/secbot/secbot_ai.dm
index b8afdb678a31..a3a95baa8437 100644
--- a/code/modules/mob/living/basic/bots/secbot/secbot_ai.dm
+++ b/code/modules/mob/living/basic/bots/secbot/secbot_ai.dm
@@ -20,7 +20,7 @@
var/mob/living/carbon/human/human_target = the_target
if(human_target.handcuffed || IS_UNCONSCIOUS_OR_CRIT(human_target))
return FALSE
- if(locate(human_target) in my_controller.blackboard[BB_BASIC_MOB_RETALIATE_LIST])
+ if(human_target in my_controller.blackboard[BB_BASIC_MOB_RETALIATE_LIST])
return TRUE
var/mob/living/basic/bot/secbot/my_bot = living_mob
if(human_target.IsParalyzed() && !(my_bot.security_mode_flags & SECBOT_HANDCUFF_TARGET))
@@ -41,7 +41,7 @@
/datum/ai_controller/basic_controller/bot/secbot/proc/on_target_set()
SIGNAL_HANDLER
var/datum/action/cooldown/bot_announcement/announcement = blackboard[BB_ANNOUNCE_ABILITY]
- var/threat_level = 5 || blackboard[BB_CURRENT_CRIMINAL_ASSESSMENT]
+ var/threat_level = blackboard[BB_CURRENT_CRIMINAL_ASSESSMENT] || 5
INVOKE_ASYNC(announcement, TYPE_PROC_REF(/datum/action/cooldown/bot_announcement, announce), "Level [threat_level] infraction alert!")
playsound(pawn, pick(
'sound/mobs/non-humanoids/beepsky/criminal.ogg',
diff --git a/code/modules/mob/living/basic/bots/secbot/super_beepsky.dm b/code/modules/mob/living/basic/bots/secbot/super_beepsky.dm
index 9e0410b467e3..782102123cc8 100644
--- a/code/modules/mob/living/basic/bots/secbot/super_beepsky.dm
+++ b/code/modules/mob/living/basic/bots/secbot/super_beepsky.dm
@@ -9,7 +9,7 @@
ai_controller = /datum/ai_controller/basic_controller/bot/secbot/super_beepsky
baton_type = /obj/item/melee/energy/sword/saber
speed = 4 //he's a fast fucker
- ///chance we block bullets
+ ///chance we block melee attacks
var/block_chance = 50
///is our sword currently active?
var/sword_active = FALSE
@@ -48,7 +48,7 @@
if(IS_UNCONSCIOUS_OR_CRIT(src))
return NONE
- if(!sword_active || !prob(block_chance))
+ if(!sword_active)
return NONE
visible_message(span_warning("[source] deflects [hitting_projectile] with its energy swords!"))
@@ -84,7 +84,7 @@
/mob/living/basic/bot/secbot/grievous/explode()
var/atom/drop_location = drop_location()
//Parent is dropping the weapon, so let's drop 3 more to make up for it.
- for(var/i in 0 to 3)
+ for(var/i in 1 to 3)
drop_part(baton_type, drop_location)
return ..()
@@ -97,3 +97,6 @@
maxHealth = 50
block_chance = 0
baton_type = /obj/item/toy/sword
+
+/mob/living/basic/bot/secbot/grievous/toy/block_bullets(datum/source, obj/projectile/hitting_projectile)
+ return NONE
diff --git a/code/modules/mob/living/basic/clown/clown.dm b/code/modules/mob/living/basic/clown/clown.dm
index 9c8ec1e8bb7d..3392d19b4e3d 100644
--- a/code/modules/mob/living/basic/clown/clown.dm
+++ b/code/modules/mob/living/basic/clown/clown.dm
@@ -68,7 +68,7 @@
/mob/living/basic/clown/get_bloodtype()
if (check_holidays(APRIL_FOOLS))
- return get_blood_type(BLOOD_TYPE_CLOWN)
+ return get_blood_type(/datum/blood_type/clown)
return ..()
/mob/living/basic/clown/lube
diff --git a/code/modules/mob/living/basic/cult/shade.dm b/code/modules/mob/living/basic/cult/shade.dm
index a929bc26736c..2547013945cd 100644
--- a/code/modules/mob/living/basic/cult/shade.dm
+++ b/code/modules/mob/living/basic/cult/shade.dm
@@ -3,6 +3,7 @@
real_name = "Shade"
desc = "A bound spirit."
gender = PLURAL
+ randomize_gender = FALSE
icon = 'icons/mob/nonhuman-player/cult.dmi'
icon_state = "shade_cult"
icon_living = "shade_cult"
diff --git a/code/modules/mob/living/basic/cytology/vatbeast.dm b/code/modules/mob/living/basic/cytology/vatbeast.dm
index b0de4c1d7548..bb6ffec1a270 100644
--- a/code/modules/mob/living/basic/cytology/vatbeast.dm
+++ b/code/modules/mob/living/basic/cytology/vatbeast.dm
@@ -60,7 +60,7 @@
AddElement(/datum/element/swabable, CELL_LINE_TABLE_VATBEAST, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 5)
/mob/living/basic/vatbeast/get_bloodtype()
- return get_blood_type(BLOOD_TYPE_LIZARD) // Green and alien
+ return get_blood_type(/datum/blood_type/lizard) // Green and alien
/// Attack people and slap them
/datum/ai_controller/basic_controller/vatbeast
diff --git a/code/modules/mob/living/basic/drone/_drone.dm b/code/modules/mob/living/basic/drone/_drone.dm
index 36c60b175abf..8cf2ea4d06bb 100644
--- a/code/modules/mob/living/basic/drone/_drone.dm
+++ b/code/modules/mob/living/basic/drone/_drone.dm
@@ -53,7 +53,7 @@
/// Stored drone color, restored when unhacked
var/colour = "grey"
var/list/drone_overlays[DRONE_TOTAL_LAYERS]
- /// Drone laws announced on spawn
+ /// Drone laws announced on spawn, can be overridden for regular drones via config/drone_laws.txt
var/laws = \
"1. You may not involve yourself in the matters of another being, even if such matters conflict with Law Two or Law Three, unless the other being is another Drone.\n"+\
"2. You may not harm any being, regardless of intent or circumstance.\n"+\
@@ -104,6 +104,7 @@
/mob/living/basic/drone/Initialize(mapload)
. = ..()
GLOB.drones_list += src
+ laws = get_default_laws()
AddElement(/datum/element/dextrous, hud_type = hud_type)
AddComponent(/datum/component/basic_inhands, y_offset = getItemPixelShiftY())
AddComponent(/datum/component/simple_access, SSid_access.get_region_access_list(list(REGION_ALL_GLOBAL)))
@@ -156,6 +157,19 @@
AddElement(/datum/element/can_be_held)
+/mob/living/basic/drone/proc/get_default_laws()
+ var/base_laws = /mob/living/basic/drone::laws
+ if(initial(laws) != base_laws) //subtype lawset, the config doesn't apply
+ return initial(laws)
+ var/list/lines = list()
+ for(var/line in world.file2list("[global.config.directory]/drone_laws.txt"))
+ if(!line)
+ continue
+ if(findtextEx(line, "#", 1, 2))
+ continue
+ lines += "[length(lines) + 1]. [line]"
+ return length(lines) ? jointext(lines, "\n") : base_laws
+
/mob/living/basic/drone/med_hud_set_health()
set_hud_image_state(DIAG_HUD, "huddiag[RoundDiagBar(health/maxHealth)]")
@@ -182,8 +196,9 @@
return FALSE
check_laws()
- if(flavortext)
- to_chat(src, "[flavortext]")
+ var/flavor = get_policy("[type]") || flavortext
+ if(flavor)
+ to_chat(src, "[flavor]")
if(!picked)
pickVisualAppearance()
diff --git a/code/modules/mob/living/basic/drone/interaction.dm b/code/modules/mob/living/basic/drone/interaction.dm
index 90cad722002c..a8d926225a5c 100644
--- a/code/modules/mob/living/basic/drone/interaction.dm
+++ b/code/modules/mob/living/basic/drone/interaction.dm
@@ -165,7 +165,7 @@
visible_message(span_info("[src]'s display glows a content blue!"), \
"ERROR: LAW OVERRIDE DETECTED")
to_chat(src, span_info("From now on, these are your laws:"))
- laws = initial(laws)
+ laws = get_default_laws()
to_chat(src, laws)
to_chat(src, "Having been restored, your onboard antivirus reports the all-clear and you are able to perform all actions again.")
hacked = FALSE
diff --git a/code/modules/mob/living/basic/farm_animals/goose/forage_for_goose_food.bt.json b/code/modules/mob/living/basic/farm_animals/goose/forage_for_goose_food.bt.json
index f7fe2284a28d..6a928fef8dbd 100644
--- a/code/modules/mob/living/basic/farm_animals/goose/forage_for_goose_food.bt.json
+++ b/code/modules/mob/living/basic/farm_animals/goose/forage_for_goose_food.bt.json
@@ -1,11 +1,19 @@
{
"dm_type": "/datum/bt_node/subtree/forage_for_goose_food",
- "type": "leaf",
- "behavior": "/datum/bt_node/ai_behavior/acquire_target/update_interaction_target",
+ "type": "decorator",
+ "decorator": "/datum/bt_node/decorator/key_off_cooldown",
"vars": {
- "target_key": "BB_TARGET_FOOD",
- "targeting_strategy": "/datum/targeting_strategy/goose_edible",
- "target_source": "/datum/target_source/oview_items",
- "vision_range": 1
+ "observer_abort": "BT_ABORT_SELF",
+ "cooldown_key": "BB_NEXT_FOOD_EAT"
+ },
+ "child": {
+ "type": "leaf",
+ "behavior": "/datum/bt_node/ai_behavior/acquire_target/update_interaction_target",
+ "vars": {
+ "target_key": "BB_TARGET_FOOD",
+ "targeting_strategy": "/datum/targeting_strategy/goose_edible",
+ "target_source": "/datum/target_source/oview_items",
+ "vision_range": 4
+ }
}
}
diff --git a/code/modules/mob/living/basic/farm_animals/goose/goose.dm b/code/modules/mob/living/basic/farm_animals/goose/goose.dm
index 935b3af656e2..abd31a17933d 100644
--- a/code/modules/mob/living/basic/farm_animals/goose/goose.dm
+++ b/code/modules/mob/living/basic/farm_animals/goose/goose.dm
@@ -60,6 +60,9 @@
/// Called when we've eaten something
/mob/living/basic/goose/proc/on_gobbled(atom/source, obj/item/food, mob/feeder)
SIGNAL_HANDLER
+ // The eaten item isn't always destroyed (see conserve_food), so make sure the AI
+ // forgets about it instead of trying to eat the same swallowed item forever.
+ ai_controller?.clear_blackboard_key(BB_TARGET_FOOD)
if (!food.has_material_type(/datum/material/plastic))
return NONE
diff --git a/code/modules/mob/living/basic/farm_animals/rabbit.dm b/code/modules/mob/living/basic/farm_animals/rabbit.dm
index 75caf1a6991c..54e2773286ab 100644
--- a/code/modules/mob/living/basic/farm_animals/rabbit.dm
+++ b/code/modules/mob/living/basic/farm_animals/rabbit.dm
@@ -13,7 +13,6 @@
icon_state = "rabbit_white"
icon_living = "rabbit_white"
icon_dead = "rabbit_white_dead"
- gender = PLURAL
mob_biotypes = MOB_ORGANIC | MOB_BEAST
health = 15
maxHealth = 15
diff --git a/code/modules/mob/living/basic/lavaland/bileworm/bileworm_instrument.dm b/code/modules/mob/living/basic/lavaland/bileworm/bileworm_instrument.dm
index 2fade1b1dcc3..2d492995d7d5 100644
--- a/code/modules/mob/living/basic/lavaland/bileworm/bileworm_instrument.dm
+++ b/code/modules/mob/living/basic/lavaland/bileworm/bileworm_instrument.dm
@@ -6,7 +6,7 @@
icon_state = "bilehorn"
allowed_instrument_ids = "bilehorn"
inhand_icon_state = null
- custom_materials = list(/datum/material/gold = SHEET_MATERIAL_AMOUNT * 12, /datum/material/bone = SHEET_MATERIAL_AMOUNT * 2)
+ custom_materials = list(/datum/material/gold = SHEET_MATERIAL_AMOUNT * 8, /datum/material/bone = SHEET_MATERIAL_AMOUNT * 2)
/datum/crafting_recipe/bilehorn
name = "Bilehorn"
diff --git a/code/modules/mob/living/basic/lavaland/goliath/goliath.dm b/code/modules/mob/living/basic/lavaland/goliath/goliath.dm
index e851cfdeabe8..56ea5ee94e59 100644
--- a/code/modules/mob/living/basic/lavaland/goliath/goliath.dm
+++ b/code/modules/mob/living/basic/lavaland/goliath/goliath.dm
@@ -10,7 +10,6 @@
base_pixel_x = -12
gender = MALE // Female ones are the bipedal elites
speed = 12
- // basic_mob_flags = IMMUNE_TO_FISTS // DARKPACK EDIT REMOVAL
maxHealth = 300
health = 300
friendly_verb_continuous = "wails at"
diff --git a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.bt.json b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.bt.json
index bc32d519c2b7..6271f2781685 100644
--- a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.bt.json
+++ b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.bt.json
@@ -30,17 +30,18 @@
"key": "BB_CURRENT_TARGET"
},
"child": {
- "type": "selector",
+ "type": "parallel",
+ "failure_policy": "BT_PARALLEL_FAILURE_ANY",
+ "success_policy": "BT_PARALLEL_SUCCESS_CHILD_ONE",
+ "repeat_secondary": true,
+ "finish_on_primary": true,
"children": [
- {
- "type": "subtree",
- "subtype": "/datum/bt_node/subtree/run_away_from_target"
- },
{
"type": "parallel",
"failure_policy": "BT_PARALLEL_FAILURE_ANY",
"success_policy": "BT_PARALLEL_SUCCESS_CHILD_ONE",
"repeat_secondary": true,
+ "repeat_secondary_delay": "1 SECONDS",
"finish_on_primary": true,
"children": [
{
@@ -79,15 +80,6 @@
}
]
},
- {
- "type": "leaf",
- "behavior": "/datum/bt_node/ai_behavior/move_to_target",
- "vars": {
- "target_key": "BB_CURRENT_TARGET",
- "required_dist": 1,
- "finish_on_arrival": false
- }
- },
{
"type": "decorator",
"decorator": "/datum/bt_node/decorator/cooldown",
@@ -102,6 +94,43 @@
}
}
]
+ },
+ {
+ "type": "selector",
+ "children": [
+ {
+ "type": "decorator",
+ "decorator": "/datum/bt_node/decorator/mob_stat_at_least",
+ "vars": {
+ "observer_abort": "BT_ABORT_SELF",
+ "key": "BB_CURRENT_TARGET",
+ "min_stat": "SOFT_CRIT"
+ },
+ "child": {
+ "type": "leaf",
+ "behavior": "/datum/bt_node/ai_behavior/move_to_target",
+ "vars": {
+ "target_key": "BB_CURRENT_TARGET",
+ "required_dist": 1,
+ "finish_on_arrival": false
+ }
+ }
+ },
+ {
+ "type": "decorator",
+ "decorator": "/datum/bt_node/decorator/mob_stat_at_least",
+ "vars": {
+ "observer_abort": "BT_ABORT_SELF",
+ "invert": true,
+ "key": "BB_CURRENT_TARGET",
+ "min_stat": "SOFT_CRIT"
+ },
+ "child": {
+ "type": "subtree",
+ "subtype": "/datum/bt_node/subtree/run_away_from_target"
+ }
+ }
+ ]
}
]
}
diff --git a/code/modules/mob/living/basic/lavaland/tendril/tendril.dm b/code/modules/mob/living/basic/lavaland/tendril/tendril.dm
index ee199dbf1d64..9311539dae08 100644
--- a/code/modules/mob/living/basic/lavaland/tendril/tendril.dm
+++ b/code/modules/mob/living/basic/lavaland/tendril/tendril.dm
@@ -14,7 +14,7 @@ GLOBAL_LIST_INIT(tendrils, list())
base_pixel_w = -8
status_flags = NONE
mob_biotypes = MOB_ORGANIC | MOB_SKELETAL | MOB_MINING | MOB_SPECIAL
- basic_mob_flags = DEL_ON_DEATH // DARKPACK EDIT CHANGE - (immune to fists is annoying)
+ basic_mob_flags = DEL_ON_DEATH
mob_size = MOB_SIZE_HUGE
maxHealth = 800
health = 800
diff --git a/code/modules/mob/living/basic/minebots/minebot.dm b/code/modules/mob/living/basic/minebots/minebot.dm
index ac361c561f98..0afc83514a9b 100644
--- a/code/modules/mob/living/basic/minebots/minebot.dm
+++ b/code/modules/mob/living/basic/minebots/minebot.dm
@@ -90,7 +90,7 @@
comms.implant(src)
assign_access()
-/mob/living/basic/mining_drone/set_combat_mode(new_mode, silent = TRUE)
+/mob/living/basic/mining_drone/set_combat_mode(new_mode, silent = TRUE, force = FALSE)
. = ..()
icon_state = combat_mode ? "mining_drone_offense" : "mining_drone"
balloon_alert(src, "now [combat_mode ? "attacking" : "collecting"]")
diff --git a/code/modules/mob/living/basic/pets/cat/cat.dm b/code/modules/mob/living/basic/pets/cat/cat.dm
index 03e9424d824f..771379629846 100644
--- a/code/modules/mob/living/basic/pets/cat/cat.dm
+++ b/code/modules/mob/living/basic/pets/cat/cat.dm
@@ -61,33 +61,6 @@
///callback for after a kitten is born
var/datum/callback/post_birth_callback
- // DARKPACK EDIT ADD START - NPC
- bloodpool = 2
- maxbloodpool = 2
- // DARKPACK EDIT ADD END
-
-
-/datum/emote/cat
- abstract_type = /datum/emote/cat
- mob_type_allowed_typecache = /mob/living/basic/pet/cat
- mob_type_blacklist_typecache = list()
-
-/datum/emote/cat/meow
- key = "meow"
- key_third_person = "meows"
- message = "meows!"
- emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE
- vary = TRUE
- sound = SFX_CAT_MEOW
-
-/datum/emote/cat/purr
- key = "purr"
- key_third_person = "purrs"
- message = "purrs."
- emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE
- vary = TRUE
- sound = SFX_CAT_PURR
-
/mob/living/basic/pet/cat/Initialize(mapload)
. = ..()
AddComponent(/datum/component/obeys_commands, pet_commands)
@@ -99,7 +72,7 @@
AddElement(/datum/element/can_be_held)
add_cell_sample()
add_verb(src, /mob/living/proc/toggle_resting)
- add_traits(list(TRAIT_CATLIKE_INSTINCT, TRAIT_VENTCRAWLER_ALWAYS, TRAIT_WOUND_LICKER, TRAIT_COLORBLIND), INNATE_TRAIT)
+ add_traits(list(TRAIT_CAT_EMOTES_ALLOWED, TRAIT_CATLIKE_INSTINCT, TRAIT_VENTCRAWLER_ALWAYS, TRAIT_WOUND_LICKER, TRAIT_COLORBLIND), INNATE_TRAIT)
ai_controller.set_blackboard_key(BB_HUNTABLE_PREY, typecacheof(huntable_items))
if(can_breed)
add_breeding_component()
diff --git a/code/modules/mob/living/basic/pets/cat/runtime.dm b/code/modules/mob/living/basic/pets/cat/runtime.dm
index c2097e1366da..e02b1fa7c1a4 100644
--- a/code/modules/mob/living/basic/pets/cat/runtime.dm
+++ b/code/modules/mob/living/basic/pets/cat/runtime.dm
@@ -8,6 +8,7 @@
icon_state = "cat"
icon_living = "cat"
icon_dead = "cat_dead"
+ held_state = "cat"
gender = FEMALE
gold_core_spawnable = NO_SPAWN
unique_pet = TRUE
@@ -34,6 +35,7 @@
icon_state = "original"
icon_living = "original"
icon_dead = "original_dead"
+ held_state = "original"
update_appearance()
post_birth_callback = CALLBACK(src, PROC_REF(after_birth))
diff --git a/code/modules/mob/living/basic/slime/actions.dm b/code/modules/mob/living/basic/slime/actions.dm
index e4e5ea252d3b..3e4408d440ca 100644
--- a/code/modules/mob/living/basic/slime/actions.dm
+++ b/code/modules/mob/living/basic/slime/actions.dm
@@ -3,6 +3,7 @@
button_icon = 'icons/mob/actions/actions_slime.dmi'
background_icon_state = "bg_alien"
overlay_icon_state = "bg_alien_border"
+ transparent_when_unavailable = FALSE
///Does the ability require a specific slime lifestage?
var/life_stage_required
///Does the ability requires the slime to hit max growth?
@@ -10,6 +11,11 @@
///Does the ability cost nutrition?
var/nutrition_cost = 0
+/datum/action/innate/slime/create_button(mob/viewer)
+ var/atom/movable/screen/movable/action_button/button = ..()
+ button.maptext_x = 2
+ return button
+
/datum/action/innate/slime/IsAvailable(feedback = FALSE)
. = ..()
if(!.)
@@ -37,6 +43,14 @@
needs_growth = TRUE
nutrition_cost = SLIME_EVOLUTION_COST
+/datum/action/innate/slime/evolve/update_button_status(atom/movable/screen/movable/action_button/button, force = FALSE)
+ . = ..()
+ var/mob/living/basic/slime/slime_owner = owner
+ if(!isnull(life_stage_required) && slime_owner.life_stage != life_stage_required)
+ button.maptext = ""
+ return
+ button.maptext = MAPTEXT_TINY_UNICODE("[slime_owner.amount_grown]/[SLIME_EVOLUTION_THRESHOLD]")
+
///Turns a baby slime into an adult slime
/datum/action/innate/slime/evolve/Activate()
if(IS_UNCONSCIOUS_OR_CRIT(owner))
@@ -76,6 +90,14 @@
life_stage_required = SLIME_LIFE_STAGE_ADULT
needs_growth = TRUE
+/datum/action/innate/slime/reproduce/update_button_status(atom/movable/screen/movable/action_button/button, force = FALSE)
+ . = ..()
+ var/mob/living/basic/slime/slime_owner = owner
+ if(!isnull(life_stage_required) && slime_owner.life_stage != life_stage_required)
+ button.maptext = ""
+ return
+ button.maptext = MAPTEXT_TINY_UNICODE("[slime_owner.amount_grown]/[SLIME_EVOLUTION_THRESHOLD]")
+
/datum/action/innate/slime/reproduce/Activate()
var/mob/living/basic/slime/slime_owner = owner
slime_owner.reproduce()
@@ -142,6 +164,8 @@
if(ckey) // Player slimes are more robust at spliting. Once an oversight of poor copypasta, now a feature!
baby.set_nutrition(new_nutrition)
baby.powerlevel = new_powerlevel
+ var/atom/movable/screen/slime_power/power_hud = baby.hud_used?.screen_objects[HUD_MOB_SLIME_POWER]
+ power_hud?.update_maptext()
if(mutation_chance)
baby.mutation_chance = clamp(mutation_chance + rand(-5, 5), 0, 100)
else
diff --git a/code/modules/mob/living/basic/slime/defense.dm b/code/modules/mob/living/basic/slime/defense.dm
index e746176a49b0..1e519f57d2c2 100644
--- a/code/modules/mob/living/basic/slime/defense.dm
+++ b/code/modules/mob/living/basic/slime/defense.dm
@@ -3,7 +3,7 @@
. = ..()
if(. & EMP_PROTECT_SELF)
return
- powerlevel = 0 // oh no, the power!
+ adjust_power_level(-SLIME_MAX_POWER) // oh no, the power!
///If a slime is attack with an empty hand, shoves included, try to wrestle them off the mob they are on
/mob/living/basic/slime/proc/on_attack_hand(mob/living/basic/slime/defender_slime, mob/living/attacker)
diff --git a/code/modules/mob/living/basic/slime/life.dm b/code/modules/mob/living/basic/slime/life.dm
index 68f1eb1646da..fcc4ab1f0cd4 100644
--- a/code/modules/mob/living/basic/slime/life.dm
+++ b/code/modules/mob/living/basic/slime/life.dm
@@ -26,7 +26,7 @@
if(!has_status_effect(/datum/status_effect/grouped/stasis)) //Check if we don't have the status effect yet
to_chat(src, span_danger("Nerve gas in the air has put you in stasis!"))
apply_status_effect(/datum/status_effect/grouped/stasis, STASIS_SLIME_BZ)
- powerlevel = 0
+ adjust_power_level(-SLIME_MAX_POWER)
ai_controller?.clear_blackboard_key(BB_SLIME_RABID)
else if(has_status_effect(/datum/status_effect/grouped/stasis)) //Check if we still have the status effect
to_chat(src, span_notice("You wake up from the stasis."))
@@ -66,9 +66,15 @@
amount_grown++
if(powerlevel < SLIME_MAX_POWER && SPT_PROB(30-powerlevel*2, seconds_per_tick))
- powerlevel++
+ adjust_power_level(1)
else if (powerlevel < SLIME_MEDIUM_POWER && SLIME_HUNGER_NUTRITION <= nutrition && SPT_PROB(25-powerlevel*5, seconds_per_tick))
- powerlevel++
+ adjust_power_level(1)
update_mob_action_buttons()
+
+///Given a number to adjust by, changes our powerlevel and updates our HUD to show the right number.
+/mob/living/basic/slime/proc/adjust_power_level(to_adjust)
+ powerlevel = clamp(powerlevel + to_adjust, SLIME_MIN_POWER, SLIME_MAX_POWER)
+ var/atom/movable/screen/slime_power/power_hud = hud_used?.screen_objects[HUD_MOB_SLIME_POWER]
+ power_hud?.update_maptext()
diff --git a/code/modules/mob/living/basic/slime/slime.dm b/code/modules/mob/living/basic/slime/slime.dm
index 91a508b87cd8..b97873cbdcd4 100644
--- a/code/modules/mob/living/basic/slime/slime.dm
+++ b/code/modules/mob/living/basic/slime/slime.dm
@@ -10,6 +10,7 @@
pass_flags = PASSTABLE | PASSGRILLE
gender = NEUTER
faction = list(FACTION_SLIME, FACTION_NEUTRAL)
+ hud_type = /datum/hud/living/slime
icon_living = "grey-baby"
icon_dead = "grey-baby-dead"
@@ -182,6 +183,8 @@
. = ..()
nutrition = min(nutrition, SLIME_MAX_NUTRITION)
+/mob/living/basic/slime/get_fullness(only_consumable)
+ return round((nutrition / SLIME_MAX_NUTRITION) * NUTRITION_LEVEL_FAT)
/mob/living/basic/slime/update_name()
///Checks if the slime has a generic name, in the format of baby/adult slime (123)
@@ -209,13 +212,6 @@
return ..()
-/mob/living/basic/slime/get_status_tab_items()
- . = ..()
- if(!hunger_disabled)
- . += "Nutrition: [nutrition]/[SLIME_MAX_NUTRITION]"
- . += "Growth: [amount_grown]/[SLIME_EVOLUTION_THRESHOLD]"
- . += "Power Level: [powerlevel]/[SLIME_MAX_POWER]"
-
/mob/living/basic/slime/mouse_drop_dragged(atom/target_atom, mob/user)
if(isliving(target_atom) && target_atom != src && user == src)
var/mob/living/food = target_atom
@@ -305,7 +301,7 @@
do_sparks(5, TRUE, borg_target)
var/stunprob = our_slime.powerlevel * SLIME_SHOCK_PERCENTAGE_PER_LEVEL + SLIME_BASE_SHOCK_PERCENTAGE
if(prob(stunprob) && our_slime.powerlevel >= SLIME_EXTRA_SHOCK_COST)
- our_slime.powerlevel = clamp(our_slime.powerlevel - SLIME_EXTRA_SHOCK_COST, SLIME_MIN_POWER, SLIME_MAX_POWER)
+ our_slime.adjust_power_level(-SLIME_EXTRA_SHOCK_COST)
borg_target.apply_damage(our_slime.powerlevel * rand(6, 10), BRUTE, spread_damage = TRUE, wound_bonus = CANT_WOUND)
borg_target.visible_message(span_danger("\The [our_slime] shocks [borg_target]!"), span_userdanger("\The [our_slime] shocks you!"))
else
@@ -327,7 +323,7 @@
carbon_target.Knockdown(power * 2 SECONDS)
carbon_target.set_stutter_if_lower(power * 2 SECONDS)
if (prob(stunprob) && our_slime.powerlevel >= SLIME_EXTRA_SHOCK_COST)
- our_slime.powerlevel = clamp(our_slime.powerlevel - SLIME_EXTRA_SHOCK_COST, SLIME_MIN_POWER, SLIME_MAX_POWER)
+ adjust_power_level(-SLIME_EXTRA_SHOCK_COST)
carbon_target.apply_damage(our_slime.powerlevel * rand(6, 10), BURN, spread_damage = TRUE, wound_bonus = CANT_WOUND)
if(isslime(target))
diff --git a/code/modules/mob/living/basic/space_fauna/ant.dm b/code/modules/mob/living/basic/space_fauna/ant.dm
index 7a0265989029..93cf767511fd 100644
--- a/code/modules/mob/living/basic/space_fauna/ant.dm
+++ b/code/modules/mob/living/basic/space_fauna/ant.dm
@@ -7,6 +7,7 @@
icon_dead = "ant_dead"
speak_emote = list("buzzes", "chitters")
gender = PLURAL // We are Ven-ant
+ randomize_gender = FALSE
pass_flags = PASSTABLE
mob_size = MOB_SIZE_SMALL
mob_biotypes = MOB_ORGANIC|MOB_BUG
diff --git a/code/modules/mob/living/basic/space_fauna/netherworld/creature.dm b/code/modules/mob/living/basic/space_fauna/netherworld/creature.dm
index 916492c229af..87686491d3a0 100644
--- a/code/modules/mob/living/basic/space_fauna/netherworld/creature.dm
+++ b/code/modules/mob/living/basic/space_fauna/netherworld/creature.dm
@@ -47,7 +47,7 @@
/mob/living/basic/creature/proc/can_be_seen(turf/location)
// Check for darkness
if(location?.lighting_object)
- if(location.get_lumcount() < 0.1) // No one can see us in the darkness, right?
+ if(location.check_lumcount_below(0.1)) // No one can see us in the darkness, right?
return null
// We aren't in darkness, loop for viewers.
diff --git a/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm b/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm
index 3e7c799ee96b..b51ccc39ef96 100644
--- a/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm
+++ b/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm
@@ -188,7 +188,7 @@
. += "Unused Stolen Essence: [essence_excess] SE"
. += "Perfect Souls Stolen: [perfectsouls]"
-/mob/living/basic/revenant/update_health_hud()
+/mob/living/basic/revenant/update_health_hud(healthpercent)
if(isnull(hud_used))
return
diff --git a/code/modules/mob/living/basic/space_fauna/revenant/revenant_effects.dm b/code/modules/mob/living/basic/space_fauna/revenant/revenant_effects.dm
index 6b5f63bf00f0..164a54625916 100644
--- a/code/modules/mob/living/basic/space_fauna/revenant/revenant_effects.dm
+++ b/code/modules/mob/living/basic/space_fauna/revenant/revenant_effects.dm
@@ -1,6 +1,7 @@
/// Parent type for all unique revenant status effects
/datum/status_effect/revenant
id = STATUS_EFFECT_ID_ABSTRACT
+ processing_speed = STATUS_EFFECT_PRIORITY
alert_type = null
/datum/status_effect/revenant/on_creation(mob/living/new_owner, duration)
diff --git a/code/modules/mob/living/basic/stoats/stoat.bt.json b/code/modules/mob/living/basic/stoats/stoat.bt.json
index 9c8d273c7433..f20e1ebd6be5 100644
--- a/code/modules/mob/living/basic/stoats/stoat.bt.json
+++ b/code/modules/mob/living/basic/stoats/stoat.bt.json
@@ -23,7 +23,7 @@
"decorator": "/datum/bt_node/decorator/bb_key_set",
"vars": {
"key": "BB_CURRENT_TARGET",
- "observer_abort": "BT_ABORT_SELF"
+ "observer_abort": "BT_ABORT_BOTH"
},
"child": {
"type": "parallel",
diff --git a/code/modules/mob/living/basic/stoats/stoat.dm b/code/modules/mob/living/basic/stoats/stoat.dm
index 3f71e5730fe5..d4efbd4f81e1 100644
--- a/code/modules/mob/living/basic/stoats/stoat.dm
+++ b/code/modules/mob/living/basic/stoats/stoat.dm
@@ -21,6 +21,7 @@
verb_ask = "chips curiously"
verb_exclaim = "chips loudly"
verb_yell = "chips loudly"
+ speed = -0.25
faction = list(FACTION_NEUTRAL)
ai_controller = /datum/ai_controller/basic_controller/stoat
///some commands we obey
diff --git a/code/modules/mob/living/basic/stoats/stoat_ai.dm b/code/modules/mob/living/basic/stoats/stoat_ai.dm
index 181baf573dc0..c3b8699ce6d6 100644
--- a/code/modules/mob/living/basic/stoats/stoat_ai.dm
+++ b/code/modules/mob/living/basic/stoats/stoat_ai.dm
@@ -5,6 +5,13 @@
BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends,
BB_GUILTY_CONSCIOUS_CHANCE = 5,
BB_STEAL_CHANCE = 25,
+ BB_STEAL_TARGET_PRIORITIES = list(
+ /obj/item/disk/nuclear = 70,
+ /obj/item/card/id = 50,
+ /obj/item/gun = 30,
+ /obj/item/grenade = 30,
+ ),
+ BB_STEAL_FALLBACK_PRIORITY = 5,
BB_BABIES_PARTNER_TYPES = list(/mob/living/basic/stoat),
BB_BABIES_CHILD_TYPES = list(/mob/living/basic/stoat/kit),
BB_FUCKS = TRUE
@@ -17,6 +24,13 @@
BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends,
BB_GUILTY_CONSCIOUS_CHANCE = 5,
BB_STEAL_CHANCE = 2,
+ BB_STEAL_TARGET_PRIORITIES = list(
+ /obj/item/disk/nuclear = 500,
+ /obj/item/card/id = 50,
+ /obj/item/gun = 30,
+ /obj/item/grenade = 30,
+ ),
+ BB_STEAL_FALLBACK_PRIORITY = 5,
BB_FUCKS = FALSE
)
ai_movement = /datum/ai_movement/basic_avoidance
diff --git a/code/modules/mob/living/basic/vermin/mothroach/mothroach.dm b/code/modules/mob/living/basic/vermin/mothroach/mothroach.dm
index 2a64aa285a18..772ec8ba0b52 100644
--- a/code/modules/mob/living/basic/vermin/mothroach/mothroach.dm
+++ b/code/modules/mob/living/basic/vermin/mothroach/mothroach.dm
@@ -40,17 +40,6 @@
/datum/pet_command/perform_trick_sequence,
)
-/datum/emote/mothroach
- abstract_type = /datum/emote/mothroach
- mob_type_allowed_typecache = /mob/living/basic/mothroach
- mob_type_blacklist_typecache = list()
-
-/datum/emote/mothroach/squeaks
- key = "squeaks"
- key_third_person = "squeaks"
- message = "squeaks!"
- emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE
-
/mob/living/basic/mothroach/Initialize(mapload)
. = ..()
var/static/list/food_types = list(/obj/item/clothing)
@@ -62,7 +51,7 @@
AddElement(/datum/element/can_be_held)
AddElement(/datum/element/swabable, CELL_LINE_TABLE_MOTHROACH, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 5)
add_verb(src, /mob/living/proc/toggle_resting)
- ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT)
+ add_traits(list(TRAIT_MOTH_EMOTES_ALLOWED, TRAIT_VENTCRAWLER_ALWAYS), INNATE_TRAIT)
/mob/living/basic/mothroach/toggle_resting()
. = ..()
diff --git a/code/modules/mob/living/blood.dm b/code/modules/mob/living/blood.dm
index 146635425ae1..528e0419fffa 100644
--- a/code/modules/mob/living/blood.dm
+++ b/code/modules/mob/living/blood.dm
@@ -37,10 +37,11 @@
// Handled here instead of in the saline reagent datum, because this way the modification order is consistent.
// E.g. if you have an effect that modifies blood volume over the dilution cap, then saline should do nothing.
var/datum/reagent/medicine/salglu_solution/saline = reagents?.has_reagent(/datum/reagent/medicine/salglu_solution)
- if (saline && amount < saline.dilution_cap)
+ if (saline && amount < SALINE_DILUTION_CAP)
var/datum/blood_type/blood_type = get_bloodtype()
+ var/datum/status_effect/stacking/saline_glucose_dilution/dilution = has_status_effect(/datum/status_effect/stacking/saline_glucose_dilution)
if (blood_type?.restoration_chem == saline.required_restoration_chem)
- amount = min(amount + saline.volume * saline.dilution_per_unit, BLOOD_VOLUME_NORMAL)
+ amount = min(amount + saline.volume * dilution.get_blood_multiplier(), BLOOD_VOLUME_NORMAL)
return amount
@@ -438,9 +439,7 @@
if (!blood_type || !can_bleed())
return
- var/blood_data = list()
- blood_data["blood_type"] = blood_type
- blood_data["blood_DNA"] = blood_type.dna_string
+ var/list/blood_data = blood_type.get_default_blood_data()
if (reagents)
var/list/temp_chem = list()
@@ -508,7 +507,7 @@
blood_data["gender"] = gender
blood_data["real_name"] = real_name
if (dna)
- blood_data["blood_DNA"] = dna.unique_enzymes
+ blood_data[BLOOD_DATA_DNA] = dna.unique_enzymes
blood_data["features"] = dna.features
blood_data["quirks"] = list()
@@ -532,20 +531,20 @@
if (!(mob_biotypes & MOB_ORGANIC))
if (mob_biotypes & MOB_ROBOTIC)
- return get_blood_type(BLOOD_TYPE_OIL)
+ return get_blood_type(/datum/blood_type/oil)
return
if (mob_biotypes & MOB_SLIME)
- return get_blood_type(BLOOD_TYPE_TOX)
- else if (mob_biotypes & MOB_PLANT)
- return get_blood_type(BLOOD_TYPE_H2O)
- else if (mob_biotypes & MOB_REPTILE)
- return get_blood_type(BLOOD_TYPE_LIZARD)
- else if (mob_biotypes & MOB_HUMANOID)
+ return get_blood_type(/datum/blood_type/slime)
+ if (mob_biotypes & MOB_PLANT)
+ return get_blood_type(/datum/blood_type/water)
+ if (mob_biotypes & MOB_REPTILE)
+ return get_blood_type(/datum/blood_type/lizard)
+ if (mob_biotypes & MOB_HUMANOID)
// O+ as to avoid mobs bleeding all human bloodtypes under the sun, and its statistically the most common one
- return get_blood_type(BLOOD_TYPE_O_PLUS)
+ return get_blood_type(/datum/blood_type/human/o_plus)
- return get_blood_type(BLOOD_TYPE_ANIMAL)
+ return get_blood_type(/datum/blood_type/animal)
/// Returns the reagent type this mob has for blood
/mob/living/proc/get_blood_reagent()
@@ -578,14 +577,18 @@
/// Returns the blood_type datum that corresponds to the string id key in GLOB.blood_types
/proc/get_blood_type(id)
RETURN_TYPE(/datum/blood_type)
+ if(ispath(id, /datum/blood_type))
+ var/datum/blood_type/bloodtype_type = id
+ return GLOB.blood_types[bloodtype_type::name]
+
return GLOB.blood_types[id]
/// Returns the hex color string, or a color matrix, of a given blood_type datum given an assoc list of blood_DNA e.g. ("Unknown Blood Type", "*X")
/proc/get_color_from_blood_list(list/blood_DNA)
var/datum/blood_type/blood_type
if(!length(blood_DNA))
- return get_blood_type(BLOOD_TYPE_O_PLUS).get_color()
- else if (length(blood_DNA) == 1) // Microop for when we don't need to do color mixing
+ return get_blood_type(/datum/blood_type/human/o_plus).get_color()
+ if(length(blood_DNA) == 1) // Microop for when we don't need to do color mixing
blood_type = blood_DNA[blood_DNA[length(blood_DNA)]]
return blood_type.get_color()
@@ -605,7 +608,7 @@
valid_colors += 1
if (valid_colors == 0)
- return get_blood_type(BLOOD_TYPE_O_PLUS).get_color()
+ return get_blood_type(/datum/blood_type/human/o_plus).get_color()
r_color /= valid_colors
g_color /= valid_colors
diff --git a/code/modules/mob/living/blood_types.dm b/code/modules/mob/living/blood_types.dm
index 6ec859b5d053..f064c1cfa74d 100644
--- a/code/modules/mob/living/blood_types.dm
+++ b/code/modules/mob/living/blood_types.dm
@@ -22,10 +22,9 @@
/datum/blood_type/New()
. = ..()
- id = name
compatible_types |= type_key()
- if (!desc)
- desc = reagent_type::description
+ id ||= name
+ desc ||= reagent_type::description
/datum/blood_type/Destroy(force)
if(!force)
@@ -52,6 +51,14 @@
return null
return name
+/// Default stuff included in this blood type's blood data
+/// Return a list of key/value pairs for blood data, or null if no additional default data
+/datum/blood_type/proc/get_default_blood_data()
+ return list(
+ BLOOD_DATA_TYPE = src,
+ BLOOD_DATA_DNA = dna_string,
+ )
+
/// Returns blood color or color matrix
/// Useful when you want to have a blood color with values out of normal hex bounds for that acidic look
/// set dynamic to TRUE to redo the matrix each time (e.g. for clown blood dynamically shifting each time)
@@ -166,22 +173,30 @@
abstract_type = /datum/blood_type/human
/datum/blood_type/human/a_minus
- name = BLOOD_TYPE_A_MINUS
- compatible_types = list(/datum/blood_type/human/a_minus, /datum/blood_type/human/o_minus)
+ name = "A-"
+ compatible_types = list(
+ /datum/blood_type/human/a_minus,
+ /datum/blood_type/human/o_minus,
+ )
/datum/blood_type/human/a_plus
- name = BLOOD_TYPE_A_PLUS
- compatible_types = list(/datum/blood_type/human/a_minus, /datum/blood_type/human/a_plus, /datum/blood_type/human/o_minus, /datum/blood_type/human/o_plus)
+ name = "A+"
+ compatible_types = list(
+ /datum/blood_type/human/a_minus,
+ /datum/blood_type/human/a_plus,
+ /datum/blood_type/human/o_minus,
+ /datum/blood_type/human/o_plus,
+ )
/datum/blood_type/human/b_minus
- name = BLOOD_TYPE_B_MINUS
+ name = "B-"
compatible_types = list(
/datum/blood_type/human/b_minus,
/datum/blood_type/human/o_minus,
)
/datum/blood_type/human/b_plus
- name = BLOOD_TYPE_B_PLUS
+ name = "B+"
compatible_types = list(
/datum/blood_type/human/b_minus,
/datum/blood_type/human/b_plus,
@@ -190,7 +205,7 @@
)
/datum/blood_type/human/ab_minus
- name = BLOOD_TYPE_AB_MINUS
+ name = "AB-"
compatible_types = list(
/datum/blood_type/human/a_minus,
/datum/blood_type/human/b_minus,
@@ -199,7 +214,7 @@
)
/datum/blood_type/human/ab_plus
- name = BLOOD_TYPE_AB_PLUS
+ name = "AB+"
compatible_types = list(
/datum/blood_type/human/a_minus,
/datum/blood_type/human/a_plus,
@@ -212,51 +227,56 @@
)
/datum/blood_type/human/o_minus
- name = BLOOD_TYPE_O_MINUS
+ name = "O-"
compatible_types = list(
/datum/blood_type/human/o_minus,
)
/datum/blood_type/human/o_plus
- name = BLOOD_TYPE_O_PLUS
+ name = "O+"
compatible_types = list(
/datum/blood_type/human/o_minus,
/datum/blood_type/human/o_plus,
)
-/datum/blood_type/human/universal
- name = BLOOD_TYPE_UNIVERSAL
+/// Universal accepts all blood types, but not all blood types accept universal
+/datum/blood_type/universal
+ name = "U"
+ desc = /datum/blood_type/human::desc
-/datum/blood_type/human/universal/New()
+/datum/blood_type/universal/New()
. = ..()
compatible_types = subtypesof(/datum/blood_type)
-/datum/blood_type/human/universal/vampire
- name = BLOOD_TYPE_VAMPIRE
+/datum/blood_type/universal/vampire
+ name = "V"
dna_string = "Hemovore DNA"
/datum/blood_type/animal
- name = BLOOD_TYPE_ANIMAL
- desc = "Blood cells suspended in plasma, the most abundant of which being the hemoglobin-containing red blood cells."
+ name = "Y-"
+ desc = /datum/blood_type/human::desc
dna_string = "Animal DNA"
/datum/blood_type/lizard
- name = BLOOD_TYPE_LIZARD
+ name = "L"
desc = "Green sulfhemoglobin subtype-based blood, which while less effective at transporting oxygen, \
is capable of withstanding much higher temperatures without breaking down or clotting."
dna_string = "Lizard DNA"
color = BLOOD_COLOR_LIZARD
/datum/blood_type/ethereal
- name = BLOOD_TYPE_ETHEREAL
+ name = "LE"
dna_string = "Ethereal DNA"
color = /datum/reagent/consumable/liquidelectricity::color
reagent_type = /datum/reagent/consumable/liquidelectricity
+/datum/blood_type/ethereal/get_default_blood_data()
+ . = ..()
+ // Unenriched by default to prevent Ethereals from going crazy with syringe guns
+ .[BLOOD_DATA_ENRICHED_ETHEREAL] = FALSE
+
/datum/blood_type/ethereal/get_emissive_alpha(atom/source, is_worn = FALSE)
- if (is_worn)
- return 102
- return 125
+ return is_worn ? 102 : 125
/datum/blood_type/ethereal/set_up_blood(obj/effect/decal/cleanable/blood/blood, new_splat = FALSE)
. = ..()
@@ -266,7 +286,7 @@
blood.can_dry = FALSE
/datum/blood_type/oil
- name = BLOOD_TYPE_OIL
+ name = "Oil"
dna_string = "Oil"
color = BLOOD_COLOR_OIL
reagent_type = /datum/reagent/fuel/oil
@@ -295,11 +315,11 @@
blood.desc = /obj/effect/decal/cleanable/blood/oil::desc
/datum/blood_type/meat // why does this exist
- name = BLOOD_TYPE_MEAT
+ name = "MT-"
dna_string = "Meaty DNA"
/datum/blood_type/xeno
- name = BLOOD_TYPE_XENO
+ name = "X*"
desc = "An incredibly potent mineral acid, somehow capable of carrying oxygen."
dna_string = "Alien DNA"
color = BLOOD_COLOR_XENO
@@ -321,7 +341,7 @@
/// April fool's blood for clowns
/datum/blood_type/clown
- name = BLOOD_TYPE_CLOWN
+ name = "C"
dna_string = "Clown DNA"
reagent_type = /datum/reagent/colorful_reagent
is_species_universal = TRUE
@@ -340,7 +360,7 @@
/// Slimeperson blood, aka 'toxin' blood type
/datum/blood_type/slime
- name = BLOOD_TYPE_TOX
+ name = "TOX"
dna_string = "Slime DNA"
color = /datum/reagent/toxin/slimejelly::color
reagent_type = /datum/reagent/toxin/slimejelly
@@ -355,7 +375,7 @@
/// Podpeople blood
/datum/blood_type/water
- name = BLOOD_TYPE_H2O
+ name = "H2O"
dna_string = "Plant DNA"
color = /datum/reagent/water::color
reagent_type = /datum/reagent/water
@@ -368,7 +388,7 @@
/// Snail blood
/datum/blood_type/snail
- name = BLOOD_TYPE_SNAIL
+ name = "S"
dna_string = "Snail DNA"
reagent_type = /datum/reagent/lube
restoration_chem = /datum/reagent/silicon
@@ -386,13 +406,13 @@
abstract_type = /datum/blood_type/random_chemical
/datum/blood_type/random_chemical/New(datum/reagent/reagent)
+ abstract_type = null
+ id = reagent
name = initial(reagent.name)
desc = initial(reagent.description)
- . = ..()
- id = type_key()
color = initial(reagent.color)
reagent_type = reagent
- abstract_type = null
+ return ..()
/datum/blood_type/random_chemical/type_key()
return reagent_type
diff --git a/code/modules/mob/living/brain/brain.dm b/code/modules/mob/living/brain/brain.dm
index 615410fbb629..012717567a90 100644
--- a/code/modules/mob/living/brain/brain.dm
+++ b/code/modules/mob/living/brain/brain.dm
@@ -17,6 +17,7 @@
if(!container?.mecha && (!container || container.immobilize)) //Unless inside a mecha, brains are rather helpless.
add_traits(list(TRAIT_IMMOBILIZED, TRAIT_HANDS_BLOCKED), BRAIN_UNAIDED)
ADD_TRAIT(src, TRAIT_SILICON_EMOTES_ALLOWED, INNATE_TRAIT)
+ ADD_TRAIT(src, TRAIT_NEVER_CONSIDERED_ALIVE, INNATE_TRAIT)
/mob/living/brain/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents)
var/obj/item/organ/brain/brain_loc = loc
diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm
index 134677e7807e..f283193dee64 100644
--- a/code/modules/mob/living/brain/brain_item.dm
+++ b/code/modules/mob/living/brain/brain_item.dm
@@ -493,14 +493,6 @@
else
set_organ_damage(BRAIN_DAMAGE_DEATH)
-/obj/item/organ/brain/zombie
- name = "zombie brain"
- desc = "This glob of green mass can't have much intelligence inside it."
- icon_state = "brain-x"
- variant_traits_added = list(TRAIT_PRIMITIVE)
- variant_traits_removed = list(TRAIT_LITERATE, TRAIT_ADVANCEDTOOLUSER)
- shade_color = "green"
-
/obj/item/organ/brain/alien
name = "alien brain"
desc = "We barely understand the brains of terrestial animals. Who knows what we may find in the brain of such an advanced species?"
diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm
index 3de9f365c95e..bcc423471ffb 100644
--- a/code/modules/mob/living/carbon/alien/alien.dm
+++ b/code/modules/mob/living/carbon/alien/alien.dm
@@ -92,7 +92,7 @@
apply_damage(HEAT_DAMAGE_LEVEL_2 * seconds_per_tick, BURN)
/mob/living/carbon/alien/get_bloodtype()
- return get_blood_type(BLOOD_TYPE_XENO)
+ return get_blood_type(/datum/blood_type/xeno)
/*----------------------------------------
Proc: AddInfectionImages()
diff --git a/code/modules/mob/living/carbon/alien/emote.dm b/code/modules/mob/living/carbon/alien/emote.dm
index 0bd641ff3635..24e059570104 100644
--- a/code/modules/mob/living/carbon/alien/emote.dm
+++ b/code/modules/mob/living/carbon/alien/emote.dm
@@ -14,7 +14,6 @@
message_larva = "softly roars."
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
vary = TRUE
-
-/datum/emote/living/alien/roar/get_sound(mob/living/user)
- if(isalienadult(user))
- return 'sound/mobs/non-humanoids/hiss/hiss5.ogg'
+ sounds_by_mobtype = list(
+ /mob/living/carbon/alien/adult = 'sound/mobs/non-humanoids/hiss/hiss5.ogg',
+ )
diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm
index d1256f7fb635..1013059714f1 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva.dm
@@ -35,7 +35,6 @@
)
var/amount_grown = 0
- var/max_grown = 100
var/time_of_birth
@@ -46,15 +45,8 @@
/datum/action/cooldown/alien/larva_evolve,
)
grant_actions_by_list(innate_actions)
-
return ..()
-//This needs to be fixed
-// This comment is 12 years old I hope it's fixed by now
-/mob/living/carbon/alien/larva/get_status_tab_items()
- . = ..()
- . += "Progress: [amount_grown]/[max_grown]"
-
/mob/living/carbon/alien/larva/Login()
. = ..()
if(!. || !client)
@@ -63,7 +55,7 @@
/mob/living/carbon/alien/larva/adjustPlasma(amount)
if(stat != DEAD && amount > 0)
- amount_grown = min(amount_grown + 1, max_grown)
+ amount_grown = min(amount_grown + 1, XENOMORPH_MAX_GROWTH)
..(amount)
//can't equip anything
diff --git a/code/modules/mob/living/carbon/alien/larva/life.dm b/code/modules/mob/living/carbon/alien/larva/life.dm
index 8913a01ace58..e598d0c4e621 100644
--- a/code/modules/mob/living/carbon/alien/larva/life.dm
+++ b/code/modules/mob/living/carbon/alien/larva/life.dm
@@ -3,10 +3,10 @@
/mob/living/carbon/alien/larva/Life(seconds_per_tick = SSMOBS_DT)
if(HAS_TRAIT(src, TRAIT_NO_TRANSFORM))
return
- if(!..() || HAS_TRAIT(src, TRAIT_STASIS) || (amount_grown >= max_grown))
+ if(!..() || HAS_TRAIT(src, TRAIT_STASIS) || (amount_grown >= XENOMORPH_MAX_GROWTH))
return // We're dead, in stasis, or already grown.
// GROW!
- amount_grown = min(amount_grown + (0.5 * seconds_per_tick), max_grown)
+ amount_grown = min(amount_grown + (0.5 * seconds_per_tick), XENOMORPH_MAX_GROWTH)
update_icons()
/mob/living/carbon/alien/larva/on_knockedout_trait_loss(datum/source)
diff --git a/code/modules/mob/living/carbon/alien/larva/powers.dm b/code/modules/mob/living/carbon/alien/larva/powers.dm
index d330983f20eb..de80de4d5439 100644
--- a/code/modules/mob/living/carbon/alien/larva/powers.dm
+++ b/code/modules/mob/living/carbon/alien/larva/powers.dm
@@ -29,8 +29,21 @@
name = "Evolve"
desc = "Evolve into a higher alien caste."
button_icon_state = "alien_evolve_larva"
+ transparent_when_unavailable = FALSE
plasma_cost = 0
+/datum/action/cooldown/alien/larva_evolve/create_button(mob/viewer)
+ var/atom/movable/screen/movable/action_button/button = ..()
+ button.maptext_x = 1
+ return button
+
+/datum/action/cooldown/alien/larva_evolve/update_button_status(atom/movable/screen/movable/action_button/button, force = FALSE)
+ . = ..()
+ var/mob/living/carbon/alien/larva/larva_owner = owner
+ var/percentage_shown = "[round((larva_owner.amount_grown / XENOMORPH_MAX_GROWTH) * 100, 0.1)]"
+ button.maptext_x = (length(percentage_shown) >= 3) ? 0 : 1
+ button.maptext = MAPTEXT_TINY_UNICODE("[percentage_shown]%")
+
/datum/action/cooldown/alien/larva_evolve/IsAvailable(feedback = FALSE)
. = ..()
if(!.)
@@ -41,7 +54,7 @@
var/mob/living/carbon/alien/larva/larva = owner
if(larva.handcuffed || larva.legcuffed) // Cuffing larvas ? Eh ?
return FALSE
- if(larva.amount_grown < larva.max_grown)
+ if(larva.amount_grown < XENOMORPH_MAX_GROWTH)
return FALSE
if(larva.movement_type & VENTCRAWLING)
return FALSE
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index b732bf702088..a1458c8ab371 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -798,7 +798,7 @@
return ..()
/mob/living/carbon/can_be_revived()
- if(HAS_TRAIT(src, TRAIT_HUSK))
+ if(HAS_TRAIT_NOT_FROM(src, TRAIT_HUSK, /datum/status_effect/zombie::id))
return FALSE
if(!HAS_TRAIT(src, TRAIT_BRAINLESS_CARBON) && !get_organ_by_type(/obj/item/organ/brain))
return FALSE
@@ -901,7 +901,7 @@
hand_bodyparts[lost_hand.held_index] = null
///Proc to hook behavior on bodypart additions. Do not directly call. You're looking for [/obj/item/bodypart/proc/try_attach_limb()].
-/mob/living/carbon/proc/add_bodypart(obj/item/bodypart/new_bodypart)
+/mob/living/carbon/proc/add_bodypart(obj/item/bodypart/new_bodypart, special, lazy)
SHOULD_NOT_OVERRIDE(TRUE)
new_bodypart.on_adding(src)
@@ -912,7 +912,7 @@
// Apply a bodypart effect or merge with an existing one, for stuff like plant limbs regenning in light
for(var/datum/status_effect/grouped/bodypart_effect/effect_type as anything in new_bodypart.bodypart_effects)
- apply_status_effect(effect_type, type, new_bodypart)
+ apply_status_effect(effect_type, type, new_bodypart, special, lazy)
// Tell the organs in the bodyparts that we are in a mob again
for(var/obj/item/organ/organ in new_bodypart)
@@ -1308,7 +1308,7 @@
if(isnull(dna))
return
- if(istext(new_blood_type))
+ if(istext(new_blood_type) || ispath(new_blood_type, /datum/blood_type))
new_blood_type = get_blood_type(new_blood_type)
if(!istype(new_blood_type))
return
diff --git a/code/modules/mob/living/carbon/carbon_update_icons.dm b/code/modules/mob/living/carbon/carbon_update_icons.dm
index 4860ae2af9f5..2d5f1b86b6ef 100644
--- a/code/modules/mob/living/carbon/carbon_update_icons.dm
+++ b/code/modules/mob/living/carbon/carbon_update_icons.dm
@@ -485,7 +485,7 @@
. += limb_gender
. += limb_id
. += husk_type
- . += "husk"
+ . += is_husked == HUSKED_ZOMBIE ? "zombie_husk" : "burn_husk"
. += body_zone
if(is_invisible)
. += "invisible"
diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm
index ef87c35a0d62..66e26489d623 100644
--- a/code/modules/mob/living/carbon/emote.dm
+++ b/code/modules/mob/living/carbon/emote.dm
@@ -15,24 +15,27 @@
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
vary = TRUE
affected_by_pitch = FALSE
+ sounds_by_mobtype = list(
+ /mob/living/carbon = list(
+ 'sound/mobs/humanoids/human/clap/clap1.ogg',
+ 'sound/mobs/humanoids/human/clap/clap2.ogg',
+ 'sound/mobs/humanoids/human/clap/clap3.ogg',
+ 'sound/mobs/humanoids/human/clap/clap4.ogg',
+ ),
+ )
-/datum/emote/living/carbon/clap/get_sound(mob/living/user)
+/datum/emote/living/carbon/clap/should_play_sound(mob/living/user, intentional = FALSE)
if(!user.get_bodypart(BODY_ZONE_L_ARM) || !user.get_bodypart(BODY_ZONE_R_ARM))
- return
- return pick(
- 'sound/mobs/humanoids/human/clap/clap1.ogg',
- 'sound/mobs/humanoids/human/clap/clap2.ogg',
- 'sound/mobs/humanoids/human/clap/clap3.ogg',
- 'sound/mobs/humanoids/human/clap/clap4.ogg',
- )
+ return FALSE
+ return ..()
/datum/emote/living/carbon/crack
key = "crack"
key_third_person = "cracks"
message = "cracks their knuckles."
- sound = 'sound/mobs/humanoids/human/knuckle_crack/knuckles.ogg'
can_use_flags = EMOTE_CANUSE_REQUIRE_HANDS
cooldown = 6 SECONDS
+ sound = 'sound/mobs/humanoids/human/knuckle_crack/knuckles.ogg'
/datum/emote/living/carbon/crack/can_run_emote(mob/living/carbon/user, status_check = TRUE , intentional, params)
if(!iscarbon(user) || user.usable_hands < 2)
@@ -47,6 +50,19 @@
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
vary = TRUE
can_use_flags = EMOTE_CANUSE_SOFTCRIT
+ sounds_by_mobtype = list(
+ /mob/living/carbon/human = list(
+ FEMALE = list(
+ 'sound/mobs/humanoids/human/cry/female_cry1.ogg',
+ 'sound/mobs/humanoids/human/cry/female_cry2.ogg',
+ ),
+ MALE = list(
+ 'sound/mobs/humanoids/human/cry/male_cry1.ogg',
+ 'sound/mobs/humanoids/human/cry/male_cry2.ogg',
+ 'sound/mobs/humanoids/human/cry/male_cry3.ogg',
+ ),
+ ),
+ )
/datum/emote/living/carbon/cry/run_emote(mob/user, params, type_override, intentional)
. = ..()
@@ -55,11 +71,6 @@
var/mob/living/carbon/human/human_user = user
QDEL_IN(human_user.give_emote_overlay(/datum/bodypart_overlay/simple/emote/cry), 12.8 SECONDS)
-/datum/emote/living/carbon/cry/get_sound(mob/living/carbon/human/user)
- if(!istype(user))
- return
- return user.dna.species.get_cry_sound(user)
-
/datum/emote/living/carbon/circle
key = "circle"
key_third_person = "circles"
@@ -74,45 +85,14 @@
if(user.put_in_hands(N))
to_chat(user, span_notice("You make a circle with your hand."))
-/datum/emote/living/carbon/meow
- key = "meow"
- key_third_person = "meows"
- vary = TRUE
- sound = SFX_CAT_MEOW
- message = "meows!"
- message_mime = "meows silently."
- emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE
-
-/datum/emote/living/carbon/meow/can_run_emote(mob/living/carbon/user, status_check = TRUE , intentional, params)
- if(!iscarbon(user) || (!istype(user.get_organ_slot(ORGAN_SLOT_TONGUE), /obj/item/organ/tongue/cat)))
- return FALSE
- return ..()
-
-/datum/emote/living/carbon/purr
- key = "purr"
- key_third_person = "purrs"
+/datum/emote/living/carbon/whistle
+ key = "whistle"
+ key_third_person = "whistles"
+ message = "whistles."
+ message_mime = "whistles silently!"
vary = TRUE
- sound = SFX_CAT_PURR
- message = "purrs."
- emote_type = EMOTE_AUDIBLE
-
-/datum/emote/living/carbon/purr/can_run_emote(mob/living/carbon/user, status_check = TRUE , intentional, params)
- if(!iscarbon(user) || (!istype(user.get_organ_slot(ORGAN_SLOT_TONGUE), /obj/item/organ/tongue/cat)) || HAS_MIND_TRAIT(user, TRAIT_MIMING))
- return FALSE
- return ..()
-
-/datum/emote/living/carbon/mchitter
- key = "chitter"
- key_third_person = "chitters"
- message = "chitters!"
- message_mime = "chitters silently?"
- sound = 'sound/mobs/humanoids/moth/moth_chitter.ogg'
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
-
-/datum/emote/living/carbon/mchitter/can_run_emote(mob/living/carbon/user, status_check, intentional, params)
- if(!ismoth(user))
- return FALSE
- return ..()
+ sound = 'sound/mobs/humanoids/human/whistle/whistle1.ogg'
/datum/emote/living/carbon/moan
key = "moan"
@@ -121,19 +101,6 @@
message_mime = "appears to moan!"
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
-/datum/emote/living/carbon/msqueak
- key = "squeak"
- key_third_person = "squeaks"
- message = "squeaks!"
- message_mime = "squeaks silently?"
- sound = 'sound/mobs/humanoids/moth/moth_squeak.ogg'
- emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
-
-/datum/emote/living/carbon/msqueak/can_run_emote(mob/living/carbon/user, status_check, intentional, params)
- if(!ismoth(user))
- return FALSE
- return ..()
-
/datum/emote/living/carbon/noogie
key = "noogie"
key_third_person = "noogies"
@@ -221,14 +188,12 @@
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
can_use_flags = EMOTE_CANUSE_REQUIRE_HANDS
affected_by_pitch = FALSE
-
-/datum/emote/living/carbon/snap/get_sound(mob/living/user)
- if(ishuman(user))
- return pick(
+ sounds_by_mobtype = list(
+ /mob/living/carbon/human = list(
'sound/mobs/humanoids/human/snap/fingersnap1.ogg',
'sound/mobs/humanoids/human/snap/fingersnap2.ogg',
- )
- return null
+ ),
+ )
/datum/emote/living/carbon/shoesteal
key = "shoesteal"
@@ -261,11 +226,7 @@
message = "hisses!"
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
vary = TRUE
-
-/datum/emote/living/carbon/hiss/get_sound(mob/living/carbon/user)
- . = ..()
- if(!istype(user))
- return
- if(isalien(user))
- return SFX_HISS
- return user.dna.species.get_hiss_sound()
+ sounds_by_mobtype = list(
+ /mob/living/carbon/human = 'sound/mobs/humanoids/human/hiss/human_hiss.ogg',
+ /mob/living/carbon/alien = SFX_HISS,
+ )
diff --git a/code/modules/mob/living/carbon/examine.dm b/code/modules/mob/living/carbon/examine.dm
index eee491fcc70b..1270028e53d6 100644
--- a/code/modules/mob/living/carbon/examine.dm
+++ b/code/modules/mob/living/carbon/examine.dm
@@ -1,6 +1,5 @@
/// Adds a newline to the examine list if the above entry is not empty and it is not the first element in the list
#define ADD_NEWLINE_IF_NECESSARY(list) if(length(list) > 0 && list[length(list)]) { list += "" }
-#define CARBON_EXAMINE_EMBEDDING_MAX_DIST 4
/mob/living/carbon/human/get_examine_icon(mob/user)
return null
@@ -42,7 +41,7 @@
. += generate_death_examine_text()
//Status effects
- var/list/status_examines = get_status_effect_examinations()
+ var/list/status_examines = get_status_effect_examinations(user)
if (length(status_examines))
. += status_examines
@@ -292,7 +291,10 @@
. += span_notice("[t_He] [t_is] just absolutely fucked up, you can look again to take a closer look...")
if(HAS_TRAIT(src, TRAIT_HUSK))
- . += span_warning("This body has been reduced to a grotesque husk.")
+ if(HAS_TRAIT_FROM(src, TRAIT_HUSK, /datum/status_effect/zombie::id))
+ . += span_warning("[t_His] skin has rotted into a sickly green color.") // future todo: lizards don't have skin, they have scales
+ else
+ . += span_warning("This body has been reduced to a grotesque husk.")
if(HAS_MIND_TRAIT(user, TRAIT_MORBID))
if(HAS_TRAIT(src, TRAIT_DISSECTED))
. += span_notice("[t_He] appear[p_s()] to have been dissected. Useless for examination... for now.")
@@ -336,11 +338,11 @@
/**
* Shows any and all examine text related to any status effects the user has.
*/
-/mob/living/proc/get_status_effect_examinations()
+/mob/living/proc/get_status_effect_examinations(mob/examiner)
var/list/examine_list = list()
for(var/datum/status_effect/effect as anything in status_effects)
- var/effect_text = effect.get_examine_text()
+ var/effect_text = effect.get_examine_text(examiner)
if(!effect_text)
continue
@@ -645,4 +647,3 @@
return span_notice("[p_They()] appear[p_s()] to be [age_text].")
#undef ADD_NEWLINE_IF_NECESSARY
-#undef CARBON_EXAMINE_EMBEDDING_MAX_DIST
diff --git a/code/modules/mob/living/carbon/human/_species.dm b/code/modules/mob/living/carbon/human/_species.dm
index 4be111ae6642..d0d5015272b4 100644
--- a/code/modules/mob/living/carbon/human/_species.dm
+++ b/code/modules/mob/living/carbon/human/_species.dm
@@ -47,7 +47,7 @@ GLOBAL_LIST_EMPTY(features_by_species)
var/digitigrade_customization = DIGITIGRADE_NEVER
///If your race uses a non standard bloodtype (A+, O-, AB-, etc). For example, lizards have L type blood.
///Reagent that your species bleeds, and what chemical can be used to recover lost blood depend on this
- var/exotic_bloodtype
+ var/datum/blood_type/exotic_bloodtype
///The rate at which blood is passively drained by having the blood deficiency quirk. Some races such as slimepeople can regen their blood at different rates so this is to account for that
var/blood_deficiency_drain_rate = BLOOD_REGEN_FACTOR + BLOOD_DEFICIENCY_MODIFIER // slightly above the regen rate so it slowly drains instead of regenerates.
///What the species drops when gibbed by a gibber machine.
@@ -112,8 +112,6 @@ GLOBAL_LIST_EMPTY(features_by_species)
var/fixed_mut_color = ""
///Special mutation that can be found in the genepool exclusively in this species. Dont leave empty or changing species will be a headache
var/inert_mutation = /datum/mutation/dwarfism
- ///Used to set the mob's death_sound upon species change
- var/death_sound
///Special sound for grabbing
var/grab_sound
/// A path to an outfit that is important for species life e.g. plasmaman outfit
@@ -374,7 +372,7 @@ GLOBAL_LIST_EMPTY(features_by_species)
human_who_gained_species.living_flags |= STOP_OVERLAY_UPDATE_BODY_PARTS //Don't call update_body_parts() for every single bodypart overlay added.
// Drop the items the new species can't wear
- human_who_gained_species.mob_biotypes = inherent_biotypes
+ human_who_gained_species.mob_biotypes |= inherent_biotypes
human_who_gained_species.butcher_results = knife_butcher_results?.Copy()
//update body zones to match what they are supposed to have
@@ -449,6 +447,7 @@ GLOBAL_LIST_EMPTY(features_by_species)
human.living_flags |= STOP_OVERLAY_UPDATE_BODY_PARTS //Don't call update_body_parts() for every single bodypart overlay removed.
human.butcher_results = null
+ human.mob_biotypes &= ~inherent_biotypes
for(var/trait in inherent_traits)
REMOVE_TRAIT(human, trait, SPECIES_TRAIT)
@@ -1055,7 +1054,7 @@ GLOBAL_LIST_EMPTY(features_by_species)
return
// Only stabilise core temp when alive and not in statis
- if(humi.stat != DEAD && !HAS_TRAIT(humi, TRAIT_STASIS))
+ if(humi.stat != DEAD && !HAS_TRAIT(humi, TRAIT_STASIS) && !HAS_TRAIT(humi, TRAIT_COLD_BLOODED))
body_temperature_core(humi, seconds_per_tick)
// These do run in statis
@@ -1074,7 +1073,7 @@ GLOBAL_LIST_EMPTY(features_by_species)
* * humi (required) The mob we will stabilize
*/
/datum/species/proc/body_temperature_core(mob/living/carbon/human/humi, seconds_per_tick)
- var/natural_change = get_temp_change_amount(humi.get_body_temp_normal() - humi.coretemperature, 0.06 * seconds_per_tick)
+ var/natural_change = get_temp_change_amount(humi.get_body_temp_normal() - humi.coretemperature, BODYTEMP_CORE_CHANGE_RATE * seconds_per_tick)
humi.adjust_coretemperature(humi.metabolism_efficiency * natural_change)
/**
@@ -1091,8 +1090,8 @@ GLOBAL_LIST_EMPTY(features_by_species)
// change the core based on the skin temp
var/skin_core_diff = humi.bodytemperature - humi.coretemperature
- // change rate of 0.04 per second to be slightly below area to skin change rate and still have a solid curve
- var/skin_core_change = get_temp_change_amount(skin_core_diff, 0.04 * seconds_per_tick)
+ // change rate of slightly below area to skin change rate and still having a solid curve
+ var/skin_core_change = get_temp_change_amount(skin_core_diff, BODYTEMP_SKIN_CORE_CHANGE_RATE * seconds_per_tick)
humi.adjust_coretemperature(skin_core_change)
@@ -1110,8 +1109,8 @@ GLOBAL_LIST_EMPTY(features_by_species)
// Changes to the skin temperature based on the area
var/area_skin_diff = area_temp - humi.bodytemperature
if(!humi.on_fire || area_skin_diff > 0)
- // change rate of 0.05 as area temp has large impact on the surface
- var/area_skin_change = get_temp_change_amount(area_skin_diff, 0.05 * seconds_per_tick)
+ // change rate near full speed as area temp has large impact on the surface
+ var/area_skin_change = get_temp_change_amount(area_skin_diff, BODYTEMP_AREA_SKIN_CHANGE_RATE * seconds_per_tick)
// We need to apply the thermal protection of the clothing when applying area to surface change
// If the core bodytemp goes over the normal body temp you are overheating and becom sweaty
@@ -1129,8 +1128,8 @@ GLOBAL_LIST_EMPTY(features_by_species)
if(!humi.on_fire)
// Get the changes to the skin from the core temp
var/core_skin_diff = humi.coretemperature - humi.bodytemperature
- // change rate of 0.045 to reflect temp back to the skin at the slight higher rate then core to skin
- var/core_skin_change = (1 + thermal_protection) * get_temp_change_amount(core_skin_diff, 0.045 * seconds_per_tick)
+ // change rate to reflect temp back to the skin at a slightly higher rate than skin to core
+ var/core_skin_change = (1 + thermal_protection) * get_temp_change_amount(core_skin_diff, BODYTEMP_CORE_SKIN_CHANGE_RATE * seconds_per_tick)
// We do not want to over shoot after using protection
if(core_skin_diff > 0)
@@ -1366,13 +1365,13 @@ GLOBAL_LIST_EMPTY(features_by_species)
// Stun //
////////////
-/datum/species/proc/spec_stun(mob/living/carbon/human/H,amount)
+/datum/species/proc/spec_stun(mob/living/carbon/human/H, amount)
if((H.movement_type & FLYING) && !H.buckled)
var/obj/item/organ/wings/functional/wings = H.get_organ_slot(ORGAN_SLOT_EXTERNAL_WINGS)
if(wings)
wings.toggle_flight(H)
wings.fly_slip(H)
- . = stunmod * H.physiology.stun_mod * amount
+ . = min(stunmod * H.physiology.stun_mod * amount, LAZYMIN(H.physiology.max_stun_len, INFINITY))
/datum/species/proc/negates_gravity(mob/living/carbon/human/H)
if(H.movement_type & FLYING)
@@ -1422,42 +1421,6 @@ GLOBAL_LIST_EMPTY(features_by_species)
/datum/species/proc/prepare_human_for_preview(mob/living/carbon/human/human)
return
-/// Returns the species' scream sound.
-/datum/species/proc/get_scream_sound(mob/living/carbon/human/human)
- return
-
-/// Returns the species' cry sound.
-/datum/species/proc/get_cry_sound(mob/living/carbon/human/human)
- return
-
-/// Returns the species' sigh sound.
-/datum/species/proc/get_sigh_sound(mob/living/carbon/human/human)
- return
-
-/// Returns the species' sniff sound.
-/datum/species/proc/get_sniff_sound(mob/living/carbon/human/human)
- return
-
-/// Returns the species' cough sound.
-/datum/species/proc/get_cough_sound(mob/living/carbon/human/human)
- return
-
-/// Returns the species' laugh sound
-/datum/species/proc/get_laugh_sound(mob/living/carbon/human/human)
- return
-
-/// Returns the species' sneeze sound.
-/datum/species/proc/get_sneeze_sound(mob/living/carbon/human/human)
- return
-
-/// Returns the species' snore sound.
-/datum/species/proc/get_snore_sound(mob/living/carbon/human/human)
- return
-
-/// Returns the species' hiss sound
-/datum/species/proc/get_hiss_sound(mob/living/carbon/human/human)
- return
-
/// Returns a list of all organ typepaths this species probably has
/datum/species/proc/get_organs(include_brain = TRUE)
var/list/mut_organs = list()
diff --git a/code/modules/mob/living/carbon/human/dummy.dm b/code/modules/mob/living/carbon/human/dummy.dm
index 372fb8ea2a24..7fb4db6c1c88 100644
--- a/code/modules/mob/living/carbon/human/dummy.dm
+++ b/code/modules/mob/living/carbon/human/dummy.dm
@@ -111,10 +111,9 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy)
/proc/create_consistent_human_dna(mob/living/carbon/human/target)
target.dna.features[FEATURE_MUTANT_COLOR] = COLOR_VIBRANT_LIME
- target.dna.features[FEATURE_ETHEREAL_COLOR] = COLOR_WHITE
for(var/feature_key in SSaccessories.feature_list)
target.dna.features[feature_key] = get_consistent_feature_entry(SSaccessories.feature_list[feature_key])
- target.dna.initialize_dna(newblood_type = get_blood_type(BLOOD_TYPE_O_MINUS), create_mutation_blocks = FALSE, randomize_features = FALSE)
+ target.dna.initialize_dna(newblood_type = get_blood_type(/datum/blood_type/human/o_minus), create_mutation_blocks = FALSE, randomize_features = FALSE)
// UF and UI are nondeterministic, even though the features are the same some blocks will randomize slightly
// In practice this doesn't matter, but this is for the sake of 100%(ish) consistency
var/static/consistent_UF
diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm
index d1a3650caee6..b4c10eb528c8 100644
--- a/code/modules/mob/living/carbon/human/emote.dm
+++ b/code/modules/mob/living/carbon/human/emote.dm
@@ -67,7 +67,8 @@
vary = FALSE
/datum/emote/living/carbon/human/screech/get_sound(mob/living/carbon/human/user)
- return user.dna.species.get_scream_sound(user)
+ var/datum/emote/scream_emote = GLOB.emote_list[/datum/emote/living/scream::key][1]
+ return scream_emote.get_sound(user)
/datum/emote/living/carbon/human/pale
key = "pale"
@@ -322,15 +323,15 @@
message = "glows brightly!"
emote_type = EMOTE_VISIBLE
-/datum/emote/living/carbon/human/glow/can_run_emote(mob/living/carbon/human/user, status_check = TRUE , intentional, params)
- if(!isethereal(user))
+/datum/emote/living/carbon/human/glow/can_run_emote(mob/living/carbon/human/user, status_check = TRUE, intentional, params)
+ if(!user.has_status_effect(/datum/status_effect/grouped/bodypart_effect/ethereal_glow))
return FALSE
return ..()
/datum/emote/living/carbon/human/glow/run_emote(mob/living/carbon/human/user, params, type_override, intentional)
. = ..()
- var/datum/species/ethereal/goober = user.dna.species
- goober.handle_glow_emote(user, 1.75, 1.2)
+ var/datum/status_effect/grouped/bodypart_effect/ethereal_glow/glow = user.has_status_effect(/datum/status_effect/grouped/bodypart_effect/ethereal_glow)
+ glow.handle_glow_emote(1.75, 1.2)
/datum/emote/living/carbon/human/flare
key = "flare"
@@ -339,15 +340,15 @@
emote_type = EMOTE_VISIBLE
sound = 'sound/mobs/humanoids/ethereal/ethereal_hiss.ogg'
-/datum/emote/living/carbon/human/flare/can_run_emote(mob/living/carbon/human/user, status_check = TRUE , intentional, params)
- if(!isethereal(user))
+/datum/emote/living/carbon/human/flare/can_run_emote(mob/living/carbon/human/user, status_check = TRUE, intentional, params)
+ if(!user.has_status_effect(/datum/status_effect/grouped/bodypart_effect/ethereal_glow))
return FALSE
return ..()
/datum/emote/living/carbon/human/flare/run_emote(mob/living/carbon/human/user, params, type_override, intentional)
. = ..()
- var/datum/species/ethereal/goober = user.dna.species
- goober.handle_glow_emote(user, 12, 6, flare = TRUE, duration = 2 SECONDS, flare_time = 10 SECONDS)
+ var/datum/status_effect/grouped/bodypart_effect/ethereal_glow/glow = user.has_status_effect(/datum/status_effect/grouped/bodypart_effect/ethereal_glow)
+ glow.handle_glow_emote(12, 6, flare = TRUE, duration = 2 SECONDS, flare_time = 10 SECONDS)
/datum/emote/living/carbon/human/flicker
key = "flicker"
@@ -357,11 +358,11 @@
sound = 'sound/effects/sparks/sparks4.ogg'
/datum/emote/living/carbon/human/flicker/can_run_emote(mob/living/carbon/human/user, status_check = TRUE , intentional, params)
- if(!isethereal(user))
+ if(!user.has_status_effect(/datum/status_effect/grouped/bodypart_effect/ethereal_glow))
return FALSE
return ..()
/datum/emote/living/carbon/human/flicker/run_emote(mob/living/carbon/human/user, params, type_override, intentional)
. = ..()
- var/datum/species/ethereal/goober = user.dna.species
- goober.start_flicker(user)
+ var/datum/status_effect/grouped/bodypart_effect/ethereal_glow/glow = user.has_status_effect(/datum/status_effect/grouped/bodypart_effect/ethereal_glow)
+ glow.start_flicker()
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 223446a49814..808401c963e4 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -97,7 +97,6 @@
return
return ..()
-
/mob/living/carbon/human/Topic(href, href_list)
if(href_list["see_id"])
@@ -708,7 +707,7 @@
if(locked_record)
locked_record.name = newname
-/mob/living/carbon/human/update_health_hud()
+/mob/living/carbon/human/update_health_hud(healthpercent)
if(!client || !hud_used)
return
// Updates the health bar, also sends signal
@@ -1216,6 +1215,3 @@
/mob/living/carbon/human/species/zombie
race = /datum/species/zombie
-
-/mob/living/carbon/human/species/zombie/infectious
- race = /datum/species/zombie/infectious
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 08889d1055f9..587d1805b3b7 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -250,7 +250,7 @@
if(check_block(worm, damage, "\the [worm]", attack_type = UNARMED_ATTACK))
return FALSE
if(stat != DEAD)
- worm.amount_grown = min(worm.amount_grown + damage, worm.max_grown)
+ worm.amount_grown = min(worm.amount_grown + damage, XENOMORPH_MAX_GROWTH)
var/obj/item/bodypart/affecting = get_bodypart(get_random_valid_zone(worm.zone_selected))
var/armor_block = run_armor_check(affecting, MELEE)
apply_damage(damage, BRUTE, affecting, armor_block)
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index a95fccb1cd19..015cfe3ebd65 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -9,7 +9,7 @@
hud_type = /datum/hud/human
pressure_resistance = 25
buckle_lying = 0
- mob_biotypes = MOB_ORGANIC|MOB_HUMANOID
+ mob_biotypes = NONE // The current mob biotypes of human mobs are dependent on the human species (and the organ set bonus)
can_be_shoved_into = TRUE
initial_language_holder = /datum/language_holder/empty // We get stuff from our species
flags_1 = PREVENT_CONTENTS_EXPLOSION_1
diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm
index 74fc72be79fd..ddd782db7158 100644
--- a/code/modules/mob/living/carbon/human/human_helpers.dm
+++ b/code/modules/mob/living/carbon/human/human_helpers.dm
@@ -262,7 +262,7 @@
continue
if (preference.is_randomizable())
- preference.apply_to_human(src, preference.create_random_value(preferences))
+ preference.apply_to_human(src, preference.create_random_value(preferences), preferences)
fully_replace_character_name(real_name, generate_random_mob_name())
diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm
index 5441ead6fd8e..dab8f7a0767a 100644
--- a/code/modules/mob/living/carbon/human/human_update_icons.dm
+++ b/code/modules/mob/living/carbon/human/human_update_icons.dm
@@ -715,7 +715,7 @@ generate/load female uniform sprites matching all previously decided variables
remove_overlay(EYES_LAYER)
var/obj/item/bodypart/head/noggin = get_bodypart(BODY_ZONE_HEAD)
- if(isnull(noggin) || noggin.is_husked || noggin.is_invisible)
+ if(isnull(noggin) || noggin.is_invisible)
return
if(refresh)
diff --git a/code/modules/mob/living/carbon/human/physiology.dm b/code/modules/mob/living/carbon/human/physiology.dm
index 45afc498ac38..0882d60d8f95 100644
--- a/code/modules/mob/living/carbon/human/physiology.dm
+++ b/code/modules/mob/living/carbon/human/physiology.dm
@@ -33,6 +33,8 @@
var/stun_mod = 1
/// Multiplied aplpied to just knockdowns, stacks with above multiplicatively
var/knockdown_mod = 1
+ /// Lazylen of caps to maximum stun length in seconds - the smallest cap will be used
+ var/list/max_stun_len
/// Modifier to amount of blood lost when bleeding (both on life ticks and from flat bleed calls)
var/bleed_mod = 1
diff --git a/code/modules/mob/living/carbon/human/species_types/android.dm b/code/modules/mob/living/carbon/human/species_types/android.dm
index 28ff1fc3ea66..8337c2ffbf9a 100644
--- a/code/modules/mob/living/carbon/human/species_types/android.dm
+++ b/code/modules/mob/living/carbon/human/species_types/android.dm
@@ -25,7 +25,7 @@
)
inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID
- exotic_bloodtype = BLOOD_TYPE_OIL
+ exotic_bloodtype = /datum/blood_type/oil
meat = null
mutantbrain = /obj/item/organ/brain/cybernetic
mutanttongue = /obj/item/organ/tongue/robot
diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm
index 5adf84f02b29..11d20ab829b9 100644
--- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm
+++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm
@@ -7,12 +7,12 @@
mutantstomach = /obj/item/organ/stomach/ethereal
mutanttongue = /obj/item/organ/tongue/ethereal
mutantheart = /obj/item/organ/heart/ethereal
- exotic_bloodtype = BLOOD_TYPE_ETHEREAL
+ exotic_bloodtype = /datum/blood_type/ethereal
siemens_coeff = 0.5 //They thrive on energy
payday_modifier = 1.0
inherent_traits = list(
TRAIT_MUTANT_COLORS,
- TRAIT_FIXED_MUTANT_COLORS,
+ TRAIT_FIXED_MUTANT_COLORS, // Has a separate pref for mutant color
TRAIT_AGENDER,
)
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT
@@ -24,7 +24,7 @@
bodytemp_heat_damage_limit = FIRE_MINIMUM_TEMPERATURE_TO_SPREAD // about 150C
// Cold temperatures hurt faster as it is harder to move with out the heat energy
bodytemp_cold_damage_limit = (T20C - 10) // about 10c
- hair_color_mode = USE_FIXED_MUTANT_COLOR
+ hair_color_mode = USE_MUTANT_COLOR
hair_alpha = 140
facial_hair_alpha = 140
@@ -37,218 +37,30 @@
BODY_ZONE_CHEST = /obj/item/bodypart/chest/ethereal,
)
- var/current_color
- var/default_color
- var/disrupted = FALSE
- var/emageffect = FALSE
- var/powermult = 1
- var/rangemult = 1
- var/flickering = FALSE
- var/currently_flickered
- var/obj/effect/dummy/lighting_obj/ethereal_light
-
-/datum/species/ethereal/Destroy(force)
- QDEL_NULL(ethereal_light)
- return ..()
-
/datum/species/ethereal/on_species_gain(mob/living/carbon/human/new_ethereal, datum/species/old_species, pref_load, regenerate_icons)
. = ..()
if(!ishuman(new_ethereal))
return
- default_color = new_ethereal.dna.features[FEATURE_ETHEREAL_COLOR]
- RegisterSignal(new_ethereal, COMSIG_ATOM_EMAG_ACT, PROC_REF(on_emag_act))
- RegisterSignal(new_ethereal, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp_act))
- RegisterSignal(new_ethereal, COMSIG_ATOM_SABOTEUR_ACT, PROC_REF(hit_by_saboteur))
- RegisterSignal(new_ethereal, COMSIG_LIGHT_EATER_ACT, PROC_REF(on_light_eater))
- RegisterSignal(new_ethereal, COMSIG_LIVING_HEALTH_UPDATE, PROC_REF(refresh_light_color))
- RegisterSignal(new_ethereal, COMSIG_CARBON_BODYPART_UPDATED, PROC_REF(update_bodypart_color))
- ethereal_light = new_ethereal.mob_light(light_type = /obj/effect/dummy/lighting_obj/moblight/species)
- refresh_light_color(new_ethereal)
-
var/obj/item/organ/heart/ethereal/ethereal_heart = new_ethereal.get_organ_slot(ORGAN_SLOT_HEART)
- ethereal_heart.ethereal_color = default_color
-
- for(var/obj/item/bodypart/limb as anything in new_ethereal.get_bodyparts())
- if(limb.limb_id == SPECIES_ETHEREAL)
- limb.update_limb(is_creating = TRUE)
-
-/datum/species/ethereal/on_species_loss(mob/living/carbon/human/former_ethereal, datum/species/new_species, pref_load)
- UnregisterSignal(former_ethereal, list(
- COMSIG_ATOM_EMAG_ACT,
- COMSIG_ATOM_EMP_ACT,
- COMSIG_ATOM_SABOTEUR_ACT,
- COMSIG_LIGHT_EATER_ACT,
- COMSIG_LIVING_HEALTH_UPDATE,
- COMSIG_CARBON_BODYPART_UPDATED,
- ))
- QDEL_NULL(ethereal_light)
- return ..()
+ ethereal_heart.set_ethereal_color(new_ethereal.dna.features[FEATURE_MUTANT_COLOR])
+ // Trigger a refresh as lazy attached limbs do not cause those
+ var/datum/status_effect/grouped/bodypart_effect/ethereal_glow/glow_status = new_ethereal.has_status_effect(/datum/status_effect/grouped/bodypart_effect/ethereal_glow)
+ if (!isnull(glow_status))
+ glow_status.refresh_light_color()
/datum/species/ethereal/randomize_features()
var/list/features = ..()
- features[FEATURE_ETHEREAL_COLOR] = GLOB.color_list_ethereal[pick(GLOB.color_list_ethereal)]
+ features[FEATURE_MUTANT_COLOR] = GLOB.color_list_ethereal[pick(GLOB.color_list_ethereal)]
return features
-/datum/species/ethereal/proc/refresh_light_color(mob/living/carbon/human/ethereal)
- SIGNAL_HANDLER
- if(isnull(ethereal_light))
- return
- if(ethereal.stat != DEAD && !disrupted)
- var/healthpercent = max(ethereal.health, 0) / 100
- if(!emageffect)
- var/static/list/skin_color = rgb2num("#eda495")
- var/list/colors = rgb2num(ethereal.dna.features[FEATURE_ETHEREAL_COLOR])
- var/list/built_color = list()
- for(var/i in 1 to 3)
- built_color += skin_color[i] + ((colors[i] - skin_color[i]) * healthpercent)
- current_color = rgb(built_color[1], built_color[2], built_color[3])
-
- ethereal_light.set_light_range_power_color((1 + (2 * healthpercent)) * rangemult, (1 + (1 * healthpercent) * powermult), current_color)
- if(flickering)
- if(currently_flickered)
- ethereal_light.set_light_on(FALSE)
- else
- ethereal_light.set_light_on(TRUE)
- else
- if(currently_flickered)
- currently_flickered = FALSE
- ethereal_light.set_light_on(TRUE)
- fixed_mut_color = current_color
- ethereal.set_facial_haircolor(current_color, override = TRUE, update = FALSE)
- ethereal.set_haircolor(current_color, override = TRUE, update = FALSE)
- ethereal.update_body()
- else
- ethereal_light.set_light_on(FALSE)
- var/dead_color = rgb(128,128,128)
- fixed_mut_color = dead_color
- ethereal.set_facial_haircolor(dead_color, override = TRUE, update = FALSE)
- ethereal.set_haircolor(dead_color, override = TRUE, update = FALSE)
- ethereal.update_body()
-
-/datum/species/ethereal/proc/update_bodypart_color(datum/source, obj/item/bodypart/part, dropping_limb, is_creating)
- SIGNAL_HANDLER
- if(part.limb_id != SPECIES_ETHEREAL)
- return
- part.species_color = current_color
-
-/datum/species/ethereal/proc/on_emp_act(mob/living/carbon/human/source, severity, protection)
- SIGNAL_HANDLER
- if(protection & EMP_PROTECT_SELF)
- return
- disrupted = TRUE
- refresh_light_color(source)
- to_chat(source, span_notice("You feel the light of your body leave you."))
- switch(severity)
- if(EMP_LIGHT)
- addtimer(CALLBACK(src, PROC_REF(stop_emp), source), 10 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) //We're out for 10 seconds
- if(EMP_HEAVY)
- addtimer(CALLBACK(src, PROC_REF(stop_emp), source), 20 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) //We're out for 20 seconds
-
-/datum/species/ethereal/proc/hit_by_saboteur(mob/living/carbon/human/source, disrupt_duration)
- disrupted = TRUE
- refresh_light_color(source)
- to_chat(source, span_warning("Something inside of you crackles in a bad way."))
- source.take_bodypart_damage(burn = 3, wound_bonus = CANT_WOUND)
- addtimer(CALLBACK(src, PROC_REF(stop_emp), source), disrupt_duration, TIMER_UNIQUE|TIMER_OVERRIDE)
- return TRUE
-
-/datum/species/ethereal/proc/on_emag_act(mob/living/carbon/human/source, mob/user)
- SIGNAL_HANDLER
- if(emageffect)
- return FALSE
- emageffect = TRUE
- if(user)
- to_chat(user, span_notice("You tap [source] on the back with your card."))
- source.visible_message(span_danger("[source] starts flickering in an array of colors!"))
- handle_emag(source)
- addtimer(CALLBACK(src, PROC_REF(stop_emag), source), 2 MINUTES) //Disco mode for 2 minutes! This doesn't affect the ethereal at all besides either annoying some players, or making someone look badass.
- return TRUE
-
-/// Special handling for getting hit with a light eater
-/datum/species/ethereal/proc/on_light_eater(mob/living/carbon/human/source, datum/light_eater)
- SIGNAL_HANDLER
- source.emp_act(EMP_LIGHT)
- return COMPONENT_BLOCK_LIGHT_EATER
-
-/datum/species/ethereal/proc/stop_emp(mob/living/carbon/human/ethereal)
- disrupted = FALSE
- refresh_light_color(ethereal)
- to_chat(ethereal, span_notice("You feel more energized as your shine comes back."))
-
-/datum/species/ethereal/proc/handle_emag(mob/living/carbon/human/ethereal)
- if(!emageffect)
- return
- current_color = GLOB.color_list_ethereal[pick(GLOB.color_list_ethereal)]
- refresh_light_color(ethereal)
- addtimer(CALLBACK(src, PROC_REF(handle_emag), ethereal), 0.5 SECONDS)
-
-/datum/species/ethereal/proc/stop_emag(mob/living/carbon/human/ethereal)
- emageffect = FALSE
- refresh_light_color(ethereal)
- ethereal.visible_message(span_danger("[ethereal] stops flickering and goes back to their normal state!"))
-
-/datum/species/ethereal/proc/handle_glow_emote(mob/living/carbon/human/ethereal, power, range, flare = FALSE, duration = 5 SECONDS, flare_time = 0)
- powermult = power
- rangemult = range
- refresh_light_color(ethereal)
- addtimer(CALLBACK(src, PROC_REF(stop_glow_emote), ethereal, flare, flare_time), duration)
-
-/datum/species/ethereal/proc/stop_glow_emote(mob/living/carbon/human/ethereal, flare, flare_time)
- if(!flare)
- powermult = 1
- rangemult = 1
- refresh_light_color(ethereal)
- return
- powermult = 0.5
- rangemult = 0.75
- refresh_light_color(ethereal)
- start_flicker(ethereal, duration = 1.5 SECONDS, min = 1, max = 2)
- sleep(1.5 SECONDS)
- powermult = 1
- rangemult = 1
- disrupted = TRUE
- to_chat(ethereal, span_warning("Your shine flickers and fades."))
- addtimer(CALLBACK(src, PROC_REF(stop_emp), ethereal), flare_time, TIMER_UNIQUE|TIMER_OVERRIDE)
-
-
-/datum/species/ethereal/proc/start_flicker(mob/living/carbon/human/ethereal, duration = 6 SECONDS, min = 1, max = 4)
- flickering = TRUE
- handle_flicker(ethereal, min, max)
- addtimer(CALLBACK(src, PROC_REF(stop_flicker), ethereal), duration)
-
-/datum/species/ethereal/proc/handle_flicker(mob/living/carbon/human/ethereal, flickmin = 1, flickmax = 4)
- if(!flickering)
- currently_flickered = FALSE
- refresh_light_color(ethereal)
- return
- if(currently_flickered)
- currently_flickered = FALSE
- else
- currently_flickered = TRUE
- refresh_light_color(ethereal)
- addtimer(CALLBACK(src, PROC_REF(handle_flicker), ethereal), rand(1, 4))
-
-/datum/species/ethereal/proc/stop_flicker(mob/living/carbon/human/ethereal)
- flickering = FALSE
- currently_flickered = FALSE
+/datum/species/ethereal/prepare_human_for_preview(mob/living/carbon/human/human)
+ human.dna.features[FEATURE_MUTANT_COLOR] = GLOB.color_list_ethereal["Green"]
/datum/species/ethereal/get_features()
var/list/features = ..()
-
features += "feature_ethcolor"
-
return features
-/datum/species/ethereal/get_scream_sound(mob/living/carbon/human/ethereal)
- return pick(
- 'sound/mobs/humanoids/ethereal/ethereal_scream_1.ogg',
- 'sound/mobs/humanoids/ethereal/ethereal_scream_2.ogg',
- 'sound/mobs/humanoids/ethereal/ethereal_scream_3.ogg',
- )
-
-/datum/species/ethereal/get_hiss_sound(mob/living/carbon/human/ethereal)
- return 'sound/mobs/humanoids/ethereal/ethereal_hiss.ogg'
-
/datum/species/ethereal/get_physical_attributes()
return "Ethereals process electricity as their power supply, not food, and are somewhat resistant to it.\
They do so via their crystal core, their equivalent of a human heart, which will also encase them in a reviving crystal if they die.\
@@ -310,6 +122,7 @@
id = SPECIES_ETHEREAL_LUSTROUS
examine_limb_id = SPECIES_ETHEREAL
mutantbrain = /obj/item/organ/brain/lustrous
+ mutanttongue = /obj/item/organ/tongue/ethereal/lustrous
changesource_flags = MIRROR_BADMIN | MIRROR_MAGIC | MIRROR_PRIDE | RACE_SWAP | ERT_SPAWN
inherent_traits = list(
TRAIT_MUTANT_COLORS,
@@ -333,14 +146,7 @@
return "Lustrous are what remains of an Ethereal after freebasing esoteric drugs. \
They are pressure immune, virus immune, can see bluespace tears in reality, and have a really weird scream. They remain vulnerable to physical damage."
-/datum/species/ethereal/lustrous/get_scream_sound(mob/living/carbon/human/ethereal)
- return pick(
- 'sound/mobs/humanoids/ethereal/lustrous_scream_1.ogg',
- 'sound/mobs/humanoids/ethereal/lustrous_scream_2.ogg',
- 'sound/mobs/humanoids/ethereal/lustrous_scream_3.ogg',
- )
-
-/datum/species/ethereal/lustrous/on_species_gain(mob/living/carbon/new_lustrous, datum/species/old_species, pref_load, regenerate_icons)
- ..()
- default_color = new_lustrous.dna.features[FEATURE_ETHEREAL_COLOR]
- new_lustrous.dna.features[FEATURE_ETHEREAL_COLOR] = GLOB.color_list_lustrous[pick(GLOB.color_list_lustrous)] //Picks one of 5 lustrous-specific colors.
+/datum/species/ethereal/lustrous/randomize_features()
+ var/list/features = ..()
+ features[FEATURE_MUTANT_COLOR] = GLOB.color_list_lustrous[pick(GLOB.color_list_lustrous)]
+ return features
diff --git a/code/modules/mob/living/carbon/human/species_types/felinid.dm b/code/modules/mob/living/carbon/human/species_types/felinid.dm
index a1733698711d..61a2354ca4a8 100644
--- a/code/modules/mob/living/carbon/human/species_types/felinid.dm
+++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm
@@ -35,9 +35,6 @@
mutantears = /obj/item/organ/ears
return ..()
-/datum/species/human/felinid/get_hiss_sound(mob/living/carbon/human/felinid)
- return 'sound/mobs/humanoids/felinid/felinid_hiss.ogg'
-
/proc/mass_purrbation()
for(var/mob in GLOB.human_list)
purrbation_apply(mob)
diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm
index c87c52b52357..ec820b7ab447 100644
--- a/code/modules/mob/living/carbon/human/species_types/humans.dm
+++ b/code/modules/mob/living/carbon/human/species_types/humans.dm
@@ -18,90 +18,6 @@
human.update_body()
// DARKPACK EDIT CHANGE END
-/datum/species/human/get_scream_sound(mob/living/carbon/human/human)
- if(human.physique == MALE)
- if(prob(1))
- return 'sound/mobs/humanoids/human/scream/wilhelm_scream.ogg'
- return pick(
- 'sound/mobs/humanoids/human/scream/malescream_1.ogg',
- 'sound/mobs/humanoids/human/scream/malescream_2.ogg',
- 'sound/mobs/humanoids/human/scream/malescream_3.ogg',
- 'sound/mobs/humanoids/human/scream/malescream_4.ogg',
- 'sound/mobs/humanoids/human/scream/malescream_5.ogg',
- 'sound/mobs/humanoids/human/scream/malescream_6.ogg',
- )
-
- return pick(
- 'sound/mobs/humanoids/human/scream/femalescream_1.ogg',
- 'sound/mobs/humanoids/human/scream/femalescream_2.ogg',
- 'sound/mobs/humanoids/human/scream/femalescream_3.ogg',
- 'sound/mobs/humanoids/human/scream/femalescream_4.ogg',
- 'sound/mobs/humanoids/human/scream/femalescream_5.ogg',
- )
-
-/datum/species/human/get_cough_sound(mob/living/carbon/human/human)
- if(human.physique == FEMALE)
- return pick(
- 'sound/mobs/humanoids/human/cough/female_cough1.ogg',
- 'sound/mobs/humanoids/human/cough/female_cough2.ogg',
- 'sound/mobs/humanoids/human/cough/female_cough3.ogg',
- 'sound/mobs/humanoids/human/cough/female_cough4.ogg',
- 'sound/mobs/humanoids/human/cough/female_cough5.ogg',
- 'sound/mobs/humanoids/human/cough/female_cough6.ogg',
- )
- return pick(
- 'sound/mobs/humanoids/human/cough/male_cough1.ogg',
- 'sound/mobs/humanoids/human/cough/male_cough2.ogg',
- 'sound/mobs/humanoids/human/cough/male_cough3.ogg',
- 'sound/mobs/humanoids/human/cough/male_cough4.ogg',
- 'sound/mobs/humanoids/human/cough/male_cough5.ogg',
- 'sound/mobs/humanoids/human/cough/male_cough6.ogg',
- )
-
-/datum/species/human/get_cry_sound(mob/living/carbon/human/human)
- if(human.physique == FEMALE)
- return pick(
- 'sound/mobs/humanoids/human/cry/female_cry1.ogg',
- 'sound/mobs/humanoids/human/cry/female_cry2.ogg',
- )
- return pick(
- 'sound/mobs/humanoids/human/cry/male_cry1.ogg',
- 'sound/mobs/humanoids/human/cry/male_cry2.ogg',
- 'sound/mobs/humanoids/human/cry/male_cry3.ogg',
- )
-
-
-/datum/species/human/get_sneeze_sound(mob/living/carbon/human/human)
- if(human.physique == FEMALE)
- return 'sound/mobs/humanoids/human/sneeze/female_sneeze1.ogg'
- return 'sound/mobs/humanoids/human/sneeze/male_sneeze1.ogg'
-
-/datum/species/human/get_laugh_sound(mob/living/carbon/human/human)
- if(human.physique == FEMALE)
- return 'sound/mobs/humanoids/human/laugh/womanlaugh.ogg'
- return pick(
- 'sound/mobs/humanoids/human/laugh/manlaugh1.ogg',
- 'sound/mobs/humanoids/human/laugh/manlaugh2.ogg',
- )
-
-/datum/species/human/get_sigh_sound(mob/living/carbon/human/human)
- if(human.physique == FEMALE)
- return SFX_FEMALE_SIGH
- return SFX_MALE_SIGH
-
-/datum/species/human/get_sniff_sound(mob/living/carbon/human/human)
- if(human.physique == FEMALE)
- return 'sound/mobs/humanoids/human/sniff/female_sniff.ogg'
- return 'sound/mobs/humanoids/human/sniff/male_sniff.ogg'
-
-/datum/species/human/get_snore_sound(mob/living/carbon/human/human)
- if(human.physique == FEMALE)
- return SFX_SNORE_FEMALE
- return SFX_SNORE_MALE
-
-/datum/species/human/get_hiss_sound(mob/living/carbon/human/human)
- return 'sound/mobs/humanoids/human/hiss/human_hiss.ogg'
-
/datum/species/human/get_species_description()
return "Humans are the dominant species in the known galaxy. \
Their kind extend from old Earth to the edges of known space."
diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
index 1d244f4731d3..25581a7dad8c 100644
--- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
@@ -21,7 +21,7 @@
mutanteyes = /obj/item/organ/eyes/jelly
mutantheart = null
meat = /obj/item/food/meat/slab/human/mutant/slime
- exotic_bloodtype = BLOOD_TYPE_TOX
+ exotic_bloodtype = /datum/blood_type/slime
blood_deficiency_drain_rate = JELLY_REGEN_RATE + BLOOD_DEFICIENCY_MODIFIER
coldmod = 6 // = 3x cold damage
heatmod = 0.5 // = 1/4x heat damage
diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm
index 2d51b1676a52..eaf2db2c9d00 100644
--- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm
@@ -4,6 +4,7 @@
plural_form = "Lizardfolk"
id = SPECIES_LIZARD
inherent_traits = list(
+ TRAIT_COLD_BLOODED,
TRAIT_MUTANT_COLORS,
)
inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_REPTILE
@@ -28,9 +29,8 @@
species_cookie = /obj/item/food/meat/slab
meat = /obj/item/food/meat/slab/human/mutant/lizard
skinned_type = /obj/item/stack/sheet/animalhide/carbon/lizard
- exotic_bloodtype = BLOOD_TYPE_LIZARD
+ exotic_bloodtype = /datum/blood_type/lizard
inert_mutation = /datum/mutation/firebreath
- death_sound = 'sound/mobs/humanoids/lizard/deathsound.ogg'
species_language_holder = /datum/language_holder/lizard
digitigrade_customization = DIGITIGRADE_OPTIONAL
@@ -47,81 +47,11 @@
BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/lizard,
)
-/// Lizards are cold blooded and do not stabilize body temperature naturally
-/datum/species/lizard/body_temperature_core(mob/living/carbon/human/humi, seconds_per_tick)
- return
-
/datum/species/lizard/randomize_features()
var/list/features = ..()
features[FEATURE_LIZARD_MARKINGS] = pick(SSaccessories.feature_list[FEATURE_LIZARD_MARKINGS])
return features
-/datum/species/lizard/get_scream_sound(mob/living/carbon/human/lizard)
- return pick(
- 'sound/mobs/humanoids/lizard/lizard_scream_1.ogg',
- 'sound/mobs/humanoids/lizard/lizard_scream_2.ogg',
- 'sound/mobs/humanoids/lizard/lizard_scream_3.ogg',
- )
-
-/datum/species/lizard/get_cough_sound(mob/living/carbon/human/lizard)
- if(lizard.physique == FEMALE)
- return pick(
- 'sound/mobs/humanoids/human/cough/female_cough1.ogg',
- 'sound/mobs/humanoids/human/cough/female_cough2.ogg',
- 'sound/mobs/humanoids/human/cough/female_cough3.ogg',
- 'sound/mobs/humanoids/human/cough/female_cough4.ogg',
- 'sound/mobs/humanoids/human/cough/female_cough5.ogg',
- 'sound/mobs/humanoids/human/cough/female_cough6.ogg',
- )
- return pick(
- 'sound/mobs/humanoids/human/cough/male_cough1.ogg',
- 'sound/mobs/humanoids/human/cough/male_cough2.ogg',
- 'sound/mobs/humanoids/human/cough/male_cough3.ogg',
- 'sound/mobs/humanoids/human/cough/male_cough4.ogg',
- 'sound/mobs/humanoids/human/cough/male_cough5.ogg',
- 'sound/mobs/humanoids/human/cough/male_cough6.ogg',
- )
-
-
-/datum/species/lizard/get_cry_sound(mob/living/carbon/human/lizard)
- if(lizard.physique == FEMALE)
- return pick(
- 'sound/mobs/humanoids/human/cry/female_cry1.ogg',
- 'sound/mobs/humanoids/human/cry/female_cry2.ogg',
- )
- return pick(
- 'sound/mobs/humanoids/human/cry/male_cry1.ogg',
- 'sound/mobs/humanoids/human/cry/male_cry2.ogg',
- 'sound/mobs/humanoids/human/cry/male_cry3.ogg',
- )
-
-
-/datum/species/lizard/get_sneeze_sound(mob/living/carbon/human/lizard)
- if(lizard.physique == FEMALE)
- return 'sound/mobs/humanoids/human/sneeze/female_sneeze1.ogg'
- return 'sound/mobs/humanoids/human/sneeze/male_sneeze1.ogg'
-
-/datum/species/lizard/get_laugh_sound(mob/living/carbon/human/lizard)
- return 'sound/mobs/humanoids/lizard/lizard_laugh1.ogg'
-
-/datum/species/lizard/get_sigh_sound(mob/living/carbon/human/lizard)
- if(lizard.physique == FEMALE)
- return SFX_FEMALE_SIGH
- return SFX_MALE_SIGH
-
-/datum/species/lizard/get_sniff_sound(mob/living/carbon/human/lizard)
- if(lizard.physique == FEMALE)
- return 'sound/mobs/humanoids/human/sniff/female_sniff.ogg'
- return 'sound/mobs/humanoids/human/sniff/male_sniff.ogg'
-
-/datum/species/lizard/get_snore_sound(mob/living/carbon/human/lizard)
- if(lizard.physique == FEMALE)
- return SFX_SNORE_FEMALE
- return SFX_SNORE_MALE
-
-/datum/species/lizard/get_hiss_sound(mob/living/carbon/human/lizard)
- return 'sound/mobs/humanoids/lizard/lizard_hiss.ogg'
-
/datum/species/lizard/get_physical_attributes()
return "Lizardpeople can withstand slightly higher temperatures than most species, but they are very vulnerable to the cold \
and can't regulate their body-temperature internally, making the vacuum of space extremely deadly to them."
@@ -176,6 +106,7 @@ Lizard subspecies: ASHWALKERS
mutantlungs = /obj/item/organ/lungs/lavaland
mutantbrain = /obj/item/organ/brain/primitive
inherent_traits = list(
+ TRAIT_COLD_BLOODED,
TRAIT_MUTANT_COLORS,
TRAIT_VIRUSIMMUNE,
)
@@ -204,6 +135,7 @@ Lizard subspecies: SILVER SCALED
id = SPECIES_LIZARD_SILVER
inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_REPTILE
inherent_traits = list(
+ TRAIT_COLD_BLOODED,
TRAIT_HOLY,
TRAIT_NOBREATH,
TRAIT_PIERCEIMMUNE,
diff --git a/code/modules/mob/living/carbon/human/species_types/monkeys.dm b/code/modules/mob/living/carbon/human/species_types/monkeys.dm
index 1a876b55a72b..bd178237d769 100644
--- a/code/modules/mob/living/carbon/human/species_types/monkeys.dm
+++ b/code/modules/mob/living/carbon/human/species_types/monkeys.dm
@@ -54,13 +54,6 @@
return TRUE
return ..()
-/datum/species/monkey/get_scream_sound(mob/living/carbon/human/monkey)
- return get_sfx(SFX_SCREECH)
-
-/datum/species/monkey/get_hiss_sound(mob/living/carbon/human/monkey)
- return 'sound/mobs/humanoids/human/hiss/human_hiss.ogg'
- // we're both great apes, or something..
-
/datum/species/monkey/get_physical_attributes()
return "Monkeys are slippery, can crawl into vents, and are more dextrous than humans.. but only when stealing things. \
Natural monkeys cannot operate machinery or most tools with their paws, but unusually clever monkeys or those that were once something else can."
diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm
index 5a712a5a1368..c984baf53ff4 100644
--- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm
+++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm
@@ -20,7 +20,6 @@
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT
species_cookie = /obj/item/food/muffin/moffin
species_language_holder = /datum/language_holder/moth
- death_sound = 'sound/mobs/humanoids/moth/moth_death.ogg'
payday_modifier = 1.0
family_heirlooms = list(/obj/item/flashlight/lantern/heirloom_moth)
@@ -38,61 +37,6 @@
features[FEATURE_MOTH_MARKINGS] = pick(SSaccessories.feature_list[FEATURE_MOTH_MARKINGS])
return features
-/datum/species/moth/get_scream_sound(mob/living/carbon/human/moth)
- return 'sound/mobs/humanoids/moth/scream_moth.ogg'
-
-/datum/species/moth/get_cough_sound(mob/living/carbon/human/moth)
- if(moth.physique == FEMALE)
- return pick(
- 'sound/mobs/humanoids/human/cough/female_cough1.ogg',
- 'sound/mobs/humanoids/human/cough/female_cough2.ogg',
- 'sound/mobs/humanoids/human/cough/female_cough3.ogg',
- 'sound/mobs/humanoids/human/cough/female_cough4.ogg',
- 'sound/mobs/humanoids/human/cough/female_cough5.ogg',
- 'sound/mobs/humanoids/human/cough/female_cough6.ogg',
- )
- return pick(
- 'sound/mobs/humanoids/human/cough/male_cough1.ogg',
- 'sound/mobs/humanoids/human/cough/male_cough2.ogg',
- 'sound/mobs/humanoids/human/cough/male_cough3.ogg',
- 'sound/mobs/humanoids/human/cough/male_cough4.ogg',
- 'sound/mobs/humanoids/human/cough/male_cough5.ogg',
- 'sound/mobs/humanoids/human/cough/male_cough6.ogg',
- )
-
-
-/datum/species/moth/get_cry_sound(mob/living/carbon/human/moth)
- if(moth.physique == FEMALE)
- return pick(
- 'sound/mobs/humanoids/human/cry/female_cry1.ogg',
- 'sound/mobs/humanoids/human/cry/female_cry2.ogg',
- )
- return pick(
- 'sound/mobs/humanoids/human/cry/male_cry1.ogg',
- 'sound/mobs/humanoids/human/cry/male_cry2.ogg',
- 'sound/mobs/humanoids/human/cry/male_cry3.ogg',
- )
-
-
-/datum/species/moth/get_sneeze_sound(mob/living/carbon/human/moth)
- if(moth.physique == FEMALE)
- return 'sound/mobs/humanoids/human/sneeze/female_sneeze1.ogg'
- return 'sound/mobs/humanoids/human/sneeze/male_sneeze1.ogg'
-
-
-/datum/species/moth/get_laugh_sound(mob/living/carbon/human/moth)
- return 'sound/mobs/humanoids/moth/moth_laugh1.ogg'
-
-/datum/species/moth/get_sigh_sound(mob/living/carbon/human/moth)
- if(moth.physique == FEMALE)
- return SFX_FEMALE_SIGH
- return SFX_MALE_SIGH
-
-/datum/species/moth/get_sniff_sound(mob/living/carbon/human/moth)
- if(moth.physique == FEMALE)
- return 'sound/mobs/humanoids/human/sniff/female_sniff.ogg'
- return 'sound/mobs/humanoids/human/sniff/male_sniff.ogg'
-
/datum/species/moth/get_physical_attributes()
return "Moths have large and fluffy wings, which help them navigate the station if gravity is offline by pushing the air around them. \
Due to that, it isn't of much use out in space. Their eyes are very sensitive."
diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
index 7b9c9dd516a0..65ae620cf980 100644
--- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
+++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
@@ -71,13 +71,6 @@
else
give_important_for_life(equipping)
-/datum/species/plasmaman/get_scream_sound(mob/living/carbon/human)
- return pick(
- 'sound/mobs/humanoids/plasmaman/plasmeme_scream_1.ogg',
- 'sound/mobs/humanoids/plasmaman/plasmeme_scream_2.ogg',
- 'sound/mobs/humanoids/plasmaman/plasmeme_scream_3.ogg',
- )
-
/datum/species/plasmaman/get_physical_attributes()
return "Plasmamen literally breathe and live plasma. They spontaneously combust on contact with oxygen, and besides all the quirks that go with that, \
they're very vulnerable to all kinds of physical damage due to their brittle structure."
diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm
index 1c316f735a9f..759d1d68a963 100644
--- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm
@@ -17,7 +17,7 @@
heatmod = 1.5
payday_modifier = 1.0
meat = /obj/item/food/meat/slab/human/mutant/plant
- exotic_bloodtype = BLOOD_TYPE_H2O
+ exotic_bloodtype = /datum/blood_type/water
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT
species_language_holder = /datum/language_holder/plant
diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm
index 205a364e22d3..355a75b48948 100644
--- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm
@@ -18,6 +18,7 @@
mutantbrain = /obj/item/organ/brain/shadow
mutanteyes = /obj/item/organ/eyes/shadow
+ mutanttongue = /obj/item/organ/tongue/shadow
mutantheart = null
mutantlungs = null
@@ -113,9 +114,6 @@
icon = 'icons/obj/medical/organs/shadow_organs.dmi'
shade_color = "grey-ish"
-/datum/species/shadow/get_scream_sound(mob/living/carbon/human/moth)
- return 'sound/mobs/humanoids/shadow/shadow_wail.ogg'
-
/datum/species/shadow/proc/on_flashed(source, mob/living/carbon/flashed, flash, deviation)
SIGNAL_HANDLER
diff --git a/code/modules/mob/living/carbon/human/species_types/snail.dm b/code/modules/mob/living/carbon/human/species_types/snail.dm
index a6e12b297777..4d2e111fcad7 100644
--- a/code/modules/mob/living/carbon/human/species_types/snail.dm
+++ b/code/modules/mob/living/carbon/human/species_types/snail.dm
@@ -16,7 +16,7 @@
mutanteyes = /obj/item/organ/eyes/snail
mutanttongue = /obj/item/organ/tongue/snail
mutantliver = /obj/item/organ/liver/snail
- exotic_bloodtype = BLOOD_TYPE_SNAIL
+ exotic_bloodtype = /datum/blood_type/snail
bodypart_overrides = list(
BODY_ZONE_HEAD = /obj/item/bodypart/head/snail,
diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm
index 9ade8591552c..e40b31a7c115 100644
--- a/code/modules/mob/living/carbon/human/species_types/vampire.dm
+++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm
@@ -16,7 +16,7 @@
)
inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID
changesource_flags = MIRROR_BADMIN | MIRROR_PRIDE | WABBAJACK | ERT_SPAWN
- exotic_bloodtype = BLOOD_TYPE_VAMPIRE
+ exotic_bloodtype = /datum/blood_type/universal/vampire
blood_deficiency_drain_rate = BLOOD_DEFICIENCY_MODIFIER // vampires already passively lose blood, so this just makes them lose it slightly more quickly when they have blood deficiency.
mutantheart = /obj/item/organ/heart/vampire
mutanttongue = /obj/item/organ/tongue/vampire
diff --git a/code/modules/mob/living/carbon/human/species_types/zombies.dm b/code/modules/mob/living/carbon/human/species_types/zombies.dm
index 7d1b374c90d8..0be24e7a1317 100644
--- a/code/modules/mob/living/carbon/human/species_types/zombies.dm
+++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm
@@ -2,60 +2,22 @@
// 1spooky
name = "High-Functioning Zombie"
id = SPECIES_ZOMBIE
- sexes = FALSE
- meat = /obj/item/food/meat/slab/human/mutant/zombie
- mutanttongue = /obj/item/organ/tongue/zombie
- inherent_traits = list(
- // SHARED WITH ALL ZOMBIES
- TRAIT_BLOODY_MESS,
- TRAIT_EASILY_WOUNDED,
- TRAIT_EASYDISMEMBER,
- TRAIT_FAKEDEATH,
- TRAIT_LIMBATTACHMENT,
- TRAIT_LIVERLESS_METABOLISM,
- TRAIT_NOBREATH,
- TRAIT_NODEATH,
- TRAIT_NOCRITDAMAGE,
- TRAIT_NOHUNGER,
- TRAIT_NO_DNA_COPY,
- TRAIT_NO_ZOMBIFY,
- TRAIT_RADIMMUNE,
- TRAIT_RESISTCOLD,
- TRAIT_RESISTHIGHPRESSURE,
- TRAIT_RESISTLOWPRESSURE,
- TRAIT_TOXIMMUNE,
- // HIGH FUNCTIONING UNIQUE
- TRAIT_NOBLOOD,
- TRAIT_SUCCUMB_OVERRIDE,
- )
- mutantstomach = null
- mutantheart = null
- mutantliver = null
- mutantlungs = null
- inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | ERT_SPAWN
- bodytemp_normal = T0C // They have no natural body heat, the environment regulates body temp
- bodytemp_heat_damage_limit = FIRE_MINIMUM_TEMPERATURE_TO_EXIST // Take damage at fire temp
- bodytemp_cold_damage_limit = MINIMUM_TEMPERATURE_TO_MOVE // take damage below minimum movement temp
-
- bodypart_overrides = list(
- BODY_ZONE_HEAD = /obj/item/bodypart/head/zombie,
- BODY_ZONE_CHEST = /obj/item/bodypart/chest/zombie,
- BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/zombie,
- BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/zombie,
- BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/zombie,
- BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/zombie
- )
-
-/// Zombies do not stabilize body temperature they are the walking dead and are cold blooded
-/datum/species/zombie/body_temperature_core(mob/living/carbon/human/humi, seconds_per_tick)
- return
+ mutanttongue = /obj/item/organ/tongue/zombie // not necessary as status effect gives it, but for tests
/datum/species/zombie/check_roundstart_eligible()
if(check_holidays(HALLOWEEN))
return TRUE
return ..()
+/datum/species/zombie/on_species_gain(mob/living/carbon/human/human_who_gained_species, datum/species/old_species, pref_load, regenerate_icons, replace_missing)
+ . = ..()
+ human_who_gained_species.apply_status_effect(/datum/status_effect/zombie/uninfected)
+
+/datum/species/zombie/on_species_loss(mob/living/carbon/human/human_who_lost_species, datum/species/new_species, pref_load, regenerate_icons, replace_missing)
+ . = ..()
+ human_who_lost_species.remove_status_effect(/datum/status_effect/zombie/uninfected)
+
/datum/species/zombie/get_physical_attributes()
return "Zombies are undead, and thus completely immune to any environmental hazard, or any physical threat besides blunt force trauma and burns. \
Their limbs are easy to pop off their joints, but they can somehow just slot them back in."
@@ -82,19 +44,41 @@
return to_add
-/datum/species/zombie/infectious
- name = "Infectious Zombie"
- id = SPECIES_ZOMBIE_INFECTIOUS
- examine_limb_id = SPECIES_ZOMBIE
- damage_modifier = 20 // 120 damage to KO a zombie, which kills it
- mutanteyes = /obj/item/organ/eyes/zombie
- mutantbrain = /obj/item/organ/brain/zombie
- mutanttongue = /obj/item/organ/tongue/zombie
- changesource_flags = MIRROR_BADMIN | WABBAJACK | ERT_SPAWN
-
- inherent_traits = list(
- // SHARED WITH ALL ZOMBIES
+/datum/status_effect/zombie
+ id = "zombified"
+ alert_type = null
+ tick_interval = STATUS_EFFECT_NO_TICK
+
+ /// Time it takes before regen starts to kick in
+ var/regen_time = 6 SECONDS
+ /// Amount healed per regen tick - if 0, no regen will occur
+ var/regen_amount = 0.5
+ /// The hand to give the zombie - if null, they will have normal hands
+ var/zombie_hand = /obj/item/mutant_hand/zombie
+ /// The movespeed modifier to apply to the zombie - if null, no movespeed modifier will be applied
+ var/movespeed_mod = /datum/movespeed_modifier/zombie
+ /// % Reduction to all physical damage the zombie takes
+ var/damage_modifier = 20
+ /// Multiplier to all stamina damage the zombie types
+ var/stamina_modifier = 0.33
+ /// Max length of stun effects
+ var/max_stun_length = 2 SECONDS
+
+ /// List of traits applied to this type of zombie
+ var/list/unique_traits = list(
+ TRAIT_APATHETIC,
+ TRAIT_COMBAT_MODE_LOCK,
+ TRAIT_DISCOORDINATED_TOOL_USER,
+ TRAIT_ILLITERATE,
+ TRAIT_NEVER_CONSIDERED_ALIVE,
+ TRAIT_PRIMITIVE,
+ TRAIT_STABLEHEART,
+ TRAIT_STABLELIVER,
+ )
+ /// List of traits applied to all zombie types
+ var/static/list/zombie_traits = list(
TRAIT_BLOODY_MESS,
+ TRAIT_COLD_BLOODED,
TRAIT_EASILY_WOUNDED,
TRAIT_EASYDISMEMBER,
TRAIT_FAKEDEATH,
@@ -104,105 +88,203 @@
TRAIT_NOCRITDAMAGE,
TRAIT_NODEATH,
TRAIT_NOHUNGER,
- TRAIT_NO_DNA_COPY,
TRAIT_RADIMMUNE,
TRAIT_RESISTCOLD,
TRAIT_RESISTHIGHPRESSURE,
TRAIT_RESISTLOWPRESSURE,
TRAIT_TOXIMMUNE,
- // INFECTIOUS UNIQUE
- TRAIT_STABLEHEART, // Replacement for noblood. Infectious zombies can bleed but don't need their heart.
- TRAIT_STABLELIVER, // Not necessary but for consistency with above
- TRAIT_APATHETIC, // They don't have the brains for mood.
)
- // Infectious zombies have slow legs
- bodypart_overrides = list(
- BODY_ZONE_HEAD = /obj/item/bodypart/head/zombie,
- BODY_ZONE_CHEST = /obj/item/bodypart/chest/zombie,
- BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/zombie,
- BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/zombie,
- BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/zombie/infectious,
- BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/zombie/infectious,
- )
+ /// Biotypes we added (typically just MOB_UNDEAD)
+ VAR_PRIVATE/added_biotypes = NONE
+ /// Biotypes we removed (typically just MOB_ORGANIC)
+ VAR_PRIVATE/removed_biotypes = NONE
+ /// Tongue we removed and stored away for later restoration
+ VAR_PRIVATE/datum/weakref/removed_tongue
- var/regen_time = 6 SECONDS
- var/regen_amount = 0.5
- var/zombie_hand = /obj/item/mutant_hand/zombie
+/datum/status_effect/zombie/on_apply()
+ if(!ishuman(owner) || HAS_TRAIT(owner, TRAIT_UNHUSKABLE))
+ return FALSE
-/datum/species/zombie/infectious/on_species_gain(mob/living/carbon/human/new_zombie, datum/species/old_species, pref_load, regenerate_icons)
- . = ..()
- new_zombie.set_combat_mode(TRUE)
- // Needs to be added after combat mode is set
- ADD_TRAIT(new_zombie, TRAIT_COMBAT_MODE_LOCK, SPECIES_TRAIT)
- new_zombie.physiology.stamina_mod *= 0.33 //Zombie stam resist
-
- // Deal with the source of this zombie corruption
- // Infection organ needs to be handled separately from mutant_organs
- // because it persists through species transitions
+ var/mob/living/carbon/human/new_zombie = owner
+ LAZYADD(new_zombie.physiology.max_stun_len, max_stun_length)
+ if(!isnull(movespeed_mod))
+ new_zombie.add_movespeed_modifier(movespeed_mod)
+ new_zombie.physiology.stamina_mod *= stamina_modifier // Zombie stam resist
+ new_zombie.physiology.damage_resistance += damage_modifier
+ new_zombie.add_traits(unique_traits | zombie_traits, TRAIT_STATUS_EFFECT(id))
+ new_zombie.lighting_cutoff_red = 25
+ new_zombie.lighting_cutoff_green = 35
+ new_zombie.lighting_cutoff_blue = 5
+ new_zombie.update_sight()
+ new_zombie.set_combat_mode(TRUE, silent = TRUE, force = TRUE)
+ set_zombie_temperature()
+ add_zombie_biotypes()
+
+ // Ensures we have an infection organ even if we were applied by something else
var/obj/item/organ/zombie_infection/infection = new_zombie.get_organ_slot(ORGAN_SLOT_ZOMBIE)
if(isnull(infection))
infection = new()
infection.Insert(new_zombie)
+ RegisterSignal(infection, COMSIG_ORGAN_REMOVED, PROC_REF(organ_removed))
- new_zombie.AddComponent( \
- /datum/component/mutant_hands, \
- mutant_hand_path = zombie_hand, \
- )
- new_zombie.AddComponent( \
- /datum/component/regenerator, \
- regeneration_delay = regen_time, \
- brute_per_second = regen_amount, \
- burn_per_second = regen_amount, \
- tox_per_second = regen_amount, \
- oxy_per_second = regen_amount * 0.5, \
- heals_wounds = TRUE, \
- )
+ var/obj/item/bodypart/head/head = new_zombie.get_bodypart(BODY_ZONE_HEAD)
+ if(!QDELETED(head))
+ head.can_dismember = TRUE
+
+ var/obj/item/organ/tongue/old_tongue = new_zombie.get_organ_slot(ORGAN_SLOT_TONGUE)
+ if(!QDELETED(old_tongue))
+ old_tongue.Remove(new_zombie, special = TRUE)
+ if(!QDELETED(old_tongue))
+ old_tongue.moveToNullspace()
+ removed_tongue = WEAKREF(old_tongue)
+
+ var/obj/item/organ/tongue/zombie/new_tongue = new()
+ new_tongue.Insert(new_zombie, special = TRUE)
+
+ if(!isnull(zombie_hand))
+ new_zombie.AddComponent( \
+ /datum/component/mutant_hands, \
+ mutant_hand_path = zombie_hand, \
+ )
+ if(regen_amount > 0)
+ new_zombie.AddComponent( \
+ /datum/component/regenerator, \
+ regeneration_delay = regen_time, \
+ brute_per_second = regen_amount, \
+ burn_per_second = regen_amount, \
+ tox_per_second = regen_amount, \
+ oxy_per_second = regen_amount * 0.5, \
+ heals_wounds = TRUE, \
+ )
+
+ new_zombie.become_husk(id)
+
+ RegisterSignal(new_zombie, COMSIG_SPECIES_GAIN, PROC_REF(zombie_species_changed))
+ RegisterSignal(new_zombie, COMSIG_LIVING_DEATH, PROC_REF(zombie_died_somehow))
+ RegisterSignal(new_zombie, COMSIG_CARBON_POST_ATTACH_LIMB, PROC_REF(zombie_limb_gained))
+ RegisterSignal(new_zombie, COMSIG_CARBON_POST_REMOVE_LIMB, PROC_REF(zombie_limb_lost))
+
+ return TRUE
+
+/datum/status_effect/zombie/on_remove()
+ var/mob/living/carbon/human/was_zombie = owner
+
+ var/obj/item/organ/tongue/zombie/old_tongue = was_zombie.get_organ_slot(ORGAN_SLOT_TONGUE)
+ var/obj/item/organ/tongue/removed_tongue_real = removed_tongue?.resolve()
+ if(!QDELETED(old_tongue))
+ qdel(old_tongue)
+ if(!QDELETED(removed_tongue_real))
+ removed_tongue_real.Insert(was_zombie, special = TRUE)
+
+ var/obj/item/bodypart/head/head = was_zombie.get_bodypart(BODY_ZONE_HEAD)
+ if(!QDELETED(head))
+ head.can_dismember = initial(head.can_dismember)
-/datum/species/zombie/infectious/on_species_loss(mob/living/carbon/human/was_zombie, datum/species/new_species, pref_load)
- . = ..()
- REMOVE_TRAIT(was_zombie, TRAIT_COMBAT_MODE_LOCK, SPECIES_TRAIT)
qdel(was_zombie.GetComponent(/datum/component/mutant_hands))
qdel(was_zombie.GetComponent(/datum/component/regenerator))
- was_zombie.physiology.stamina_mod /= 0.33
+ LAZYREMOVE(was_zombie.physiology.max_stun_len, max_stun_length)
+ if(!isnull(movespeed_mod))
+ was_zombie.remove_movespeed_modifier(movespeed_mod)
+ was_zombie.physiology.stamina_mod /= stamina_modifier
+ was_zombie.physiology.damage_resistance -= damage_modifier
+ was_zombie.remove_traits(zombie_traits | unique_traits, TRAIT_STATUS_EFFECT(id))
+ was_zombie.lighting_cutoff_red = initial(was_zombie.lighting_cutoff_red)
+ was_zombie.lighting_cutoff_green = initial(was_zombie.lighting_cutoff_green)
+ was_zombie.lighting_cutoff_blue = initial(was_zombie.lighting_cutoff_blue)
+ was_zombie.update_sight()
+ was_zombie.cure_husk(id)
+ restore_zombie_temperature()
+ remove_zombie_biotypes()
+
+ var/obj/item/organ/zombie_infection/infection = was_zombie.get_organ_slot(ORGAN_SLOT_ZOMBIE)
+ if(!QDELETED(infection))
+ UnregisterSignal(infection, COMSIG_ORGAN_REMOVED)
+ qdel(infection)
+
+ UnregisterSignal(was_zombie, COMSIG_SPECIES_GAIN)
+ UnregisterSignal(was_zombie, COMSIG_LIVING_DEATH)
+ UnregisterSignal(was_zombie, COMSIG_CARBON_POST_ATTACH_LIMB)
+ UnregisterSignal(was_zombie, COMSIG_CARBON_POST_REMOVE_LIMB)
+
+/datum/status_effect/zombie/proc/add_zombie_biotypes()
+ if(!(owner.mob_biotypes & MOB_UNDEAD))
+ owner.mob_biotypes |= MOB_UNDEAD
+ added_biotypes = MOB_UNDEAD
+
+ if(owner.mob_biotypes & MOB_ORGANIC)
+ owner.mob_biotypes &= ~MOB_ORGANIC
+ removed_biotypes = MOB_ORGANIC
-/datum/species/zombie/infectious/check_roundstart_eligible()
- return FALSE
+/datum/status_effect/zombie/proc/remove_zombie_biotypes()
+ owner.mob_biotypes &= ~added_biotypes
+ owner.mob_biotypes |= removed_biotypes
-/datum/species/zombie/infectious/spec_stun(mob/living/carbon/human/H,amount)
- return min(2 SECONDS, amount)
+/datum/status_effect/zombie/proc/set_zombie_temperature()
+ var/mob/living/carbon/human/zombie = owner
+ zombie.dna.species.bodytemp_normal = T0C
+ zombie.dna.species.bodytemp_heat_damage_limit = FIRE_MINIMUM_TEMPERATURE_TO_EXIST
-// Weaker subtype - less healing, weaker attacks, etc
-/datum/species/zombie/infectious/mindless
- name = "Mindless Infectious Zombie"
- id = SPECIES_ZOMBIE_INFECTIOUS_MINDLESS
+/datum/status_effect/zombie/proc/restore_zombie_temperature()
+ var/mob/living/carbon/human/zombie = owner
+ zombie.dna.species.bodytemp_normal = initial(zombie.dna.species.bodytemp_normal)
+ zombie.dna.species.bodytemp_heat_damage_limit = initial(zombie.dna.species.bodytemp_heat_damage_limit)
+
+/datum/status_effect/zombie/proc/zombie_limb_gained(mob/living/carbon/human/zombie, obj/item/bodypart/head/limb)
+ SIGNAL_HANDLER
+ if(istype(limb))
+ limb.can_dismember = TRUE
+
+/datum/status_effect/zombie/proc/zombie_limb_lost(mob/living/carbon/human/zombie, obj/item/bodypart/head/limb)
+ SIGNAL_HANDLER
+ if(istype(limb))
+ limb.can_dismember = initial(limb.can_dismember)
+
+/datum/status_effect/zombie/proc/organ_removed(obj/item/organ/zombie_infection/infection, ...)
+ SIGNAL_HANDLER
+ UnregisterSignal(infection, COMSIG_ORGAN_REMOVED)
+ qdel(src)
+
+/datum/status_effect/zombie/proc/zombie_died_somehow(mob/living/carbon/human/zombie, gibbed)
+ SIGNAL_HANDLER
+ if(gibbed)
+ return
+
+ var/obj/item/organ/zombie_infection/infection = owner.get_organ_slot(ORGAN_SLOT_ZOMBIE)
+ qdel(infection) // this will in turn qdel this status effect
+
+/datum/status_effect/zombie/proc/zombie_species_changed(mob/living/carbon/human/zombie, ...)
+ SIGNAL_HANDLER
+
+ set_zombie_temperature()
+ add_zombie_biotypes()
+
+/datum/status_effect/zombie/mindless
regen_time = 10 SECONDS
regen_amount = 0.2
zombie_hand = /obj/item/mutant_hand/zombie/weak
+ movespeed_mod = /datum/movespeed_modifier/zombie/mindless
-/datum/species/zombie/infectious/mindless/on_species_gain(mob/living/carbon/human/new_zombie, datum/species/old_species, pref_load, regenerate_icons)
- . = ..()
- new_zombie.add_movespeed_modifier(/datum/movespeed_modifier/mindless_zombie)
-
-/datum/species/zombie/infectious/mindless/on_species_loss(mob/living/carbon/human/was_zombie, datum/species/new_species, pref_load)
- . = ..()
- was_zombie.remove_movespeed_modifier(/datum/movespeed_modifier/mindless_zombie)
-
-/datum/movespeed_modifier/mindless_zombie
- multiplicative_slowdown = 0.75
-
-// Your skin falls off
-/datum/species/human/krokodil_addict
- name = "\improper Krokodil Human"
- id = SPECIES_ZOMBIE_KROKODIL
- examine_limb_id = SPECIES_HUMAN
- changesource_flags = MIRROR_BADMIN | WABBAJACK | ERT_SPAWN
-
- bodypart_overrides = list(
- BODY_ZONE_HEAD = /obj/item/bodypart/head/zombie,
- BODY_ZONE_CHEST = /obj/item/bodypart/chest/zombie,
- BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/zombie,
- BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/zombie,
- BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/zombie,
- BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/zombie
+/datum/status_effect/zombie/uninfected
+ regen_amount = 0
+ damage_modifier = 0
+ stamina_modifier = 1
+ zombie_hand = null
+ movespeed_mod = null
+ max_stun_length = INFINITY
+ unique_traits = list(
+ TRAIT_NOBLOOD,
+ TRAIT_SUCCUMB_OVERRIDE,
)
+
+/datum/status_effect/zombie/uninfected/organ_removed(obj/item/organ/zombie_infection/infection, ...)
+ return // nope
+
+/datum/status_effect/zombie/uninfected/zombie_died_somehow(mob/living/carbon/human/zombie, gibbed)
+ return // you're stuck with it bud
+
+/datum/movespeed_modifier/zombie
+ multiplicative_slowdown = 1.0
+
+/datum/movespeed_modifier/zombie/mindless
+ multiplicative_slowdown = parent_type::multiplicative_slowdown + 0.5
diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm
index 7e5018a88e0d..0ab13a4aa3d4 100644
--- a/code/modules/mob/living/carbon/life.dm
+++ b/code/modules/mob/living/carbon/life.dm
@@ -492,8 +492,8 @@
// A simple weighted average that simplifies down to "total synth volume / total blood volume" i.e. "how much of our blood is synthetic"
AddComponent(/datum/component/synth_blood, (added_synth_volume + existing_synth_volume) / (blood_added + cached_blood_volume))
- if(chem.data?["blood_type"])
- var/datum/blood_type/donor_type = chem.data["blood_type"]
+ if(chem.data?[BLOOD_DATA_TYPE])
+ var/datum/blood_type/donor_type = chem.data[BLOOD_DATA_TYPE]
if(!(donor_type.type_key() in blood_type.compatible_types))
reagents.add_reagent(/datum/reagent/toxin, reac_volume * 0.5)
return COMPONENT_NO_EXPOSE_REAGENTS
diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm
index 7944351ca463..a40de0b4df63 100644
--- a/code/modules/mob/living/emote.dm
+++ b/code/modules/mob/living/emote.dm
@@ -110,6 +110,9 @@
emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE | EMOTE_IMPORTANT
cooldown = (15 SECONDS)
can_use_flags = EMOTE_CANUSE_UNCONSCIOUS | EMOTE_CANUSE_HARDCRIT | EMOTE_CANUSE_SOFTCRIT
+ sound_wall_ignore = TRUE
+ vary = TRUE
+ sound_volume = 200
/datum/emote/living/deathgasp/run_emote(mob/living/user, params, type_override, intentional)
if(!is_type_in_typecache(user, mob_type_allowed_typecache))
@@ -119,19 +122,21 @@
message_animal_or_basic = custom_message
. = ..()
message_animal_or_basic = initial(message_animal_or_basic)
+
+/datum/emote/living/deathgasp/get_sound(mob/living/user)
+ . = ..()
+ if(!. && user.death_sound)
+ return user.death_sound
+
+/datum/emote/living/deathgasp/should_play_sound(mob/living/user, intentional = FALSE)
if(!user.can_speak() || user.get_oxy_loss() >= 50)
- return //stop the sound if oxyloss too high/cant speak
- // DARKPACK EDIT ADD START - Torpor
+ return FALSE //stop the sound if oxyloss too high/cant speak
+ // DARKPACK EDIT ADD START - VAMPIRE - (Torpor)
// Prevent mobs in a deathcoma from revealing they actually died
if (HAS_TRAIT(user, TRAIT_DEATHCOMA))
- return
+ return FALSE
// DARKPACK EDIT ADD END
- // For masks that give unique death sounds
- var/obj/item/clothing/mask/mask = astype(user.get_item_by_slot(ITEM_SLOT_MASK), /obj/item/clothing/mask)
- if(mask?.unique_death)
- playsound(user, mask.unique_death, 200, TRUE, TRUE)
- else if(user.death_sound)
- playsound(user, user.death_sound, 200, TRUE, TRUE)
+ return ..()
/datum/emote/living/drool
key = "drool"
@@ -207,24 +212,19 @@
message_mime = "gasps silently!"
emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE
can_use_flags = EMOTE_CANUSE_UNCONSCIOUS | EMOTE_CANUSE_HARDCRIT | EMOTE_CANUSE_SOFTCRIT
-
-/datum/emote/living/gasp/get_sound(mob/living/user)
- if(HAS_MIND_TRAIT(user, TRAIT_MIMING))
- return
- if(!ishuman(user))
- return
-
- var/mob/living/carbon/human/human_user = user
- if(human_user.physique == FEMALE)
- return pick(
+ sounds_by_mobtype = list(
+ /mob/living/carbon/human = list(
+ MALE = list(
+ 'sound/mobs/humanoids/human/gasp/gasp_male1.ogg',
+ 'sound/mobs/humanoids/human/gasp/gasp_male2.ogg',
+ ),
+ FEMALE = list(
'sound/mobs/humanoids/human/gasp/gasp_female1.ogg',
'sound/mobs/humanoids/human/gasp/gasp_female2.ogg',
'sound/mobs/humanoids/human/gasp/gasp_female3.ogg',
- )
- return pick(
- 'sound/mobs/humanoids/human/gasp/gasp_male1.ogg',
- 'sound/mobs/humanoids/human/gasp/gasp_male2.ogg',
- )
+ ),
+ ),
+ )
/datum/emote/living/gasp/shock
key = "gaspshock"
@@ -309,15 +309,19 @@
emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE
manual_specific_emote_audio_cooldown = 8 SECONDS
vary = TRUE
+ sounds_by_mobtype = list(
+ /mob/living/carbon/human = list(
+ MALE = list(
+ 'sound/mobs/humanoids/human/laugh/manlaugh1.ogg',
+ 'sound/mobs/humanoids/human/laugh/manlaugh2.ogg',
+ ),
+ FEMALE = 'sound/mobs/humanoids/human/laugh/womanlaugh.ogg',
+ ),
+ )
/datum/emote/living/laugh/can_run_emote(mob/living/user, status_check = TRUE , intentional, params)
return ..() && user.can_speak(allow_mimes = TRUE)
-/datum/emote/living/laugh/get_sound(mob/living/carbon/human/user)
- if(!istype(user))
- return
- return user.dna.species.get_laugh_sound(user)
-
/datum/emote/living/look
key = "look"
key_third_person = "looks"
@@ -381,11 +385,12 @@
message_mime = "acts out an exaggerated silent sneeze."
emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE
vary = TRUE
-
-/datum/emote/living/sneeze/get_sound(mob/living/carbon/human/user)
- if(!istype(user))
- return
- return user.dna.species.get_sneeze_sound(user)
+ sounds_by_mobtype = list(
+ /mob/living/carbon/human = list(
+ MALE = 'sound/mobs/humanoids/human/sneeze/male_sneeze1.ogg',
+ FEMALE = 'sound/mobs/humanoids/human/sneeze/female_sneeze1.ogg',
+ ),
+ )
/datum/emote/living/cough
key = "cough"
@@ -394,15 +399,30 @@
message_mime = "acts out an exaggerated cough!"
vary = TRUE
emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE | EMOTE_RUNECHAT
+ sounds_by_mobtype = list(
+ /mob/living/carbon/human = list(
+ MALE = list(
+ 'sound/mobs/humanoids/human/cough/male_cough1.ogg',
+ 'sound/mobs/humanoids/human/cough/male_cough2.ogg',
+ 'sound/mobs/humanoids/human/cough/male_cough3.ogg',
+ 'sound/mobs/humanoids/human/cough/male_cough4.ogg',
+ 'sound/mobs/humanoids/human/cough/male_cough5.ogg',
+ 'sound/mobs/humanoids/human/cough/male_cough6.ogg',
+ ),
+ FEMALE = list(
+ 'sound/mobs/humanoids/human/cough/female_cough1.ogg',
+ 'sound/mobs/humanoids/human/cough/female_cough2.ogg',
+ 'sound/mobs/humanoids/human/cough/female_cough3.ogg',
+ 'sound/mobs/humanoids/human/cough/female_cough4.ogg',
+ 'sound/mobs/humanoids/human/cough/female_cough5.ogg',
+ 'sound/mobs/humanoids/human/cough/female_cough6.ogg',
+ ),
+ ),
+ )
/datum/emote/living/cough/can_run_emote(mob/user, status_check = TRUE , intentional, params)
return !HAS_TRAIT(user, TRAIT_SOOTHED_THROAT) && ..()
-/datum/emote/living/cough/get_sound(mob/living/carbon/human/user)
- if(!istype(user))
- return
- return user.dna.species.get_cough_sound(user)
-
/datum/emote/living/wheeze
key = "wheeze"
key_third_person = "wheezes"
@@ -427,6 +447,25 @@
manual_specific_emote_audio_cooldown = 10 SECONDS
forced_specific_emote_audio_cooldown = 4 SECONDS
vary = TRUE
+ sounds_by_mobtype = list(
+ /mob/living/carbon/human = list(
+ MALE = list(
+ 'sound/mobs/humanoids/human/scream/malescream_1.ogg',
+ 'sound/mobs/humanoids/human/scream/malescream_2.ogg',
+ 'sound/mobs/humanoids/human/scream/malescream_3.ogg',
+ 'sound/mobs/humanoids/human/scream/malescream_4.ogg',
+ 'sound/mobs/humanoids/human/scream/malescream_5.ogg',
+ 'sound/mobs/humanoids/human/scream/malescream_6.ogg',
+ ),
+ FEMALE = list(
+ 'sound/mobs/humanoids/human/scream/femalescream_1.ogg',
+ 'sound/mobs/humanoids/human/scream/femalescream_2.ogg',
+ 'sound/mobs/humanoids/human/scream/femalescream_3.ogg',
+ 'sound/mobs/humanoids/human/scream/femalescream_4.ogg',
+ 'sound/mobs/humanoids/human/scream/femalescream_5.ogg',
+ ),
+ ),
+ )
/datum/emote/living/scream/run_emote(mob/user, params, type_override, intentional = FALSE)
if(!intentional && HAS_TRAIT(user, TRAIT_ANALGESIA))
@@ -439,10 +478,13 @@
return "makes a loud and pained whimper."
/datum/emote/living/scream/get_sound(mob/living/user)
- if(!ishuman(user))
+ . = ..()
+ if(!ishuman(user) || !.)
return
var/mob/living/carbon/human/humie = user
- return humie.dna.species.get_scream_sound(user)
+ //Rare chance for this banger of a classic to play instead of the avarage joe screams
+ if(humie.physique == MALE && prob(1) && ishumanbasic(humie))
+ return 'sound/mobs/humanoids/human/scream/wilhelm_scream.ogg'
/datum/emote/living/scowl
key = "scowl"
@@ -477,6 +519,12 @@
message_mime = "acts out an exaggerated silent sigh."
emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE
vary = TRUE
+ sounds_by_mobtype = list(
+ /mob/living/carbon/human = list(
+ MALE = SFX_MALE_SIGH,
+ FEMALE = SFX_FEMALE_SIGH,
+ ),
+ )
/datum/emote/living/sigh/run_emote(mob/living/user, params, type_override, intentional)
. = ..()
@@ -485,11 +533,6 @@
var/image/emote_animation = image('icons/mob/human/emote_visuals.dmi', user, "sigh")
flick_overlay_global(emote_animation, GLOB.clients, 2.0 SECONDS)
-/datum/emote/living/sigh/get_sound(mob/living/carbon/human/user)
- if(!istype(user))
- return
- return user.dna.species.get_sigh_sound(user)
-
/datum/emote/living/sit
key = "sit"
key_third_person = "sits"
@@ -512,11 +555,12 @@
message_mime = "sniffs silently."
emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE
vary = TRUE
-
-/datum/emote/living/sniff/get_sound(mob/living/carbon/human/user)
- if(!istype(user))
- return
- return user.dna.species.get_sniff_sound(user)
+ sounds_by_mobtype = list(
+ /mob/living/carbon/human = list(
+ MALE = 'sound/mobs/humanoids/human/sniff/male_sniff.ogg',
+ FEMALE = 'sound/mobs/humanoids/human/sniff/female_sniff.ogg',
+ ),
+ )
/datum/emote/living/snore
key = "snore"
@@ -525,12 +569,12 @@
message_mime = "sleeps soundly."
emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE
can_use_flags = EMOTE_CANUSE_UNCONSCIOUS
-
-// eventually we want to give species their own "snoring" sounds
-/datum/emote/living/snore/get_sound(mob/living/carbon/human/user)
- if(!istype(user))
- return
- return user.dna.species.get_snore_sound(user)
+ sounds_by_mobtype = list(
+ /mob/living/carbon/human = list(
+ MALE = SFX_SNORE_MALE,
+ FEMALE = SFX_SNORE_FEMALE,
+ ),
+ )
/datum/emote/living/stare
key = "stare"
@@ -821,13 +865,45 @@
message_mime = "makes a rude gesture!"
emote_type = EMOTE_AUDIBLE
-/datum/emote/living/carbon/whistle
- key = "whistle"
- key_third_person = "whistles"
- message = "whistles."
- message_mime = "whistles silently!"
+///Abstract type for emotes that can be run by cats and those with a felinid tongue
+/datum/emote/living/cat
+ abstract_type = /datum/emote/living/cat
+ trait_required = TRAIT_CAT_EMOTES_ALLOWED
+
+/datum/emote/living/cat/meow
+ key = "meow"
+ key_third_person = "meows"
+ vary = TRUE
+ message = "meows!"
+ message_mime = "meows silently."
+ emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE
+ sound = SFX_CAT_MEOW
+
+/datum/emote/living/cat/purr
+ key = "purr"
+ key_third_person = "purrs"
vary = TRUE
+ message = "purrs."
+ emote_type = EMOTE_AUDIBLE
+ sound = SFX_CAT_PURR
+
+///Abstract type for emotes that can be run by mothroaches and those with a moth tongue
+/datum/emote/living/moth
+ abstract_type = /datum/emote/living/moth
+ trait_required = TRAIT_MOTH_EMOTES_ALLOWED
+
+/datum/emote/living/moth/mchitter
+ key = "chitter"
+ key_third_person = "chitters"
+ message = "chitters!"
+ message_mime = "chitters silently?"
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
+ sound = 'sound/mobs/humanoids/moth/moth_chitter.ogg'
-/datum/emote/living/carbon/whistle/get_sound(mob/living/user)
- return 'sound/mobs/humanoids/human/whistle/whistle1.ogg'
+/datum/emote/living/moth/msqueak
+ key = "squeak"
+ key_third_person = "squeaks"
+ message = "squeaks!"
+ message_mime = "squeaks silently?"
+ emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
+ sound = 'sound/mobs/humanoids/moth/moth_squeak.ogg'
diff --git a/code/modules/mob/living/inhand_holder.dm b/code/modules/mob/living/inhand_holder.dm
index 509d4e4f0048..5ee53d5a9bd7 100644
--- a/code/modules/mob/living/inhand_holder.dm
+++ b/code/modules/mob/living/inhand_holder.dm
@@ -85,7 +85,8 @@
if(display_messages)
to_chat(captor, span_warning("[released_mob] wriggles free!"))
captor.dropItemToGround(src)
- released_mob.forceMove(drop_location())
+ else
+ released_mob.forceMove(drop_location())
released_mob.reset_perspective()
released_mob.setDir(SOUTH)
if(display_messages)
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 87da311cbfae..849be0838ffb 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -528,7 +528,8 @@
//mob verbs are a lot faster than object verbs
//for more info on why this is not atom/pull, see examinate() in mob.dm
-GAME_VERB(/mob/living, pulled, "Pull", null, atom/movable/thing_pulled as mob|obj in oview(1))
+GAME_VERB_CONTEXT(/mob/living, pulled, "Pull", "", null, /atom/movable)
+ VERB_ARG_TYPED(thing_pulled, VERB_ARG_TYPE_MOB | VERB_ARG_TYPE_OBJ, VERB_ARG_SOURCE_VIEW, /atom/movable)
if(istype(thing_pulled) && Adjacent(thing_pulled))
start_pulling(thing_pulled)
@@ -552,7 +553,8 @@ GAME_VERB(/mob/living, pulled, "Pull", null, atom/movable/thing_pulled as mob|ob
log_message("points at [pointing_at]", LOG_EMOTE)
visible_message(span_infoplain("[span_name("[src]")] points at [pointing_at]."), span_notice("You point at [pointing_at]."))
-GAME_VERB_HIDDEN(/mob/living, succumb, "succumb", whispered as num|null)
+GAME_VERB_HIDDEN(/mob/living, succumb, "succumb")
+ VERB_ARG(whispered, VERB_ARG_TYPE_NUM, VERB_ARG_SOURCE_INPUT)
if (!CAN_SUCCUMB(src))
if(HAS_TRAIT(src, TRAIT_SUCCUMB_OVERRIDE))
if(whispered)
@@ -843,9 +845,10 @@ GAME_VERB_PROC(/mob/living, mob_sleep, "Sleep", null)
update_stamina()
SEND_SIGNAL(src, COMSIG_LIVING_HEALTH_UPDATE)
-/mob/living/update_health_hud()
+/mob/living/update_health_hud(healthpercent)
var/severity = 0
- var/healthpercent = (health/maxHealth) * 100
+ if(!healthpercent)
+ healthpercent = (health/maxHealth) * 100
var/atom/movable/screen/healthdoll/living/livingdoll = hud_used?.screen_objects[HUD_MOB_HEALTHDOLL]
if(istype(livingdoll)) //to really put you in the boots of a simplemob
switch(healthpercent)
@@ -873,6 +876,8 @@ GAME_VERB_PROC(/mob/living, mob_sleep, "Sleep", null)
livingdoll.add_filter("mob_shape_mask", 1, alpha_mask_filter(icon = mob_mask))
livingdoll.add_filter("inset_drop_shadow", 2, drop_shadow_filter(size = -1))
livingdoll.health_overlay.maptext = MAPTEXT("