diff --git a/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm b/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm
index 289f1e6f188..737f835832b 100644
--- a/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm
+++ b/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm
@@ -1601,8 +1601,8 @@
/obj/structure/rack,
/obj/effect/decal/cleanable/dirt,
/obj/item/storage/toolbox/mechanical,
-/obj/item/ammo_box/c38,
-/obj/item/ammo_box/c38,
+/obj/item/ammo_box/speedloader/c38,
+/obj/item/ammo_box/speedloader/c38,
/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
dir = 1
},
@@ -3661,7 +3661,7 @@
/obj/structure/window/reinforced/spawner/directional/south,
/obj/effect/spawner/random/contraband/permabrig_weapon,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/item/ammo_box/c38,
+/obj/item/ammo_box/speedloader/c38,
/obj/effect/turf_decal/tile/dark_red/anticorner,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/dangerous_research)
diff --git a/_maps/RandomRuins/SpaceRuins/dragoontomb.dmm b/_maps/RandomRuins/SpaceRuins/dragoontomb.dmm
index eb168fbedc7..459e2a312c1 100644
--- a/_maps/RandomRuins/SpaceRuins/dragoontomb.dmm
+++ b/_maps/RandomRuins/SpaceRuins/dragoontomb.dmm
@@ -28,7 +28,7 @@
/obj/item/clothing/shoes/workboots/mining,
/obj/item/clothing/gloves/color/black,
/obj/effect/mob_spawn/corpse/human/charredskeleton,
-/obj/item/borg/sight/meson,
+/obj/item/clothing/glasses/meson,
/obj/item/pickaxe/improvised,
/turf/open/misc/asteroid/basalt/airless,
/area/ruin/unpowered/no_grav)
diff --git a/_maps/RandomRuins/SpaceRuins/oldstation.dmm b/_maps/RandomRuins/SpaceRuins/oldstation.dmm
index a318ac21998..22deb912f32 100644
--- a/_maps/RandomRuins/SpaceRuins/oldstation.dmm
+++ b/_maps/RandomRuins/SpaceRuins/oldstation.dmm
@@ -5093,8 +5093,8 @@
/obj/item/spess_knife,
/obj/item/clothing/suit/armor/vest/old,
/obj/item/gun/ballistic/rifle/boltaction,
-/obj/item/ammo_box/strilka310,
-/obj/item/ammo_box/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
/turf/open/floor/plating,
/area/ruin/space/ancientstation/delta/hall)
"Cc" = (
diff --git a/_maps/RandomZLevels/museum.dmm b/_maps/RandomZLevels/museum.dmm
index 29db691e5af..4c7fe9782de 100644
--- a/_maps/RandomZLevels/museum.dmm
+++ b/_maps/RandomZLevels/museum.dmm
@@ -103,7 +103,7 @@
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/iron/white/small,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"aR" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/obj/effect/turf_decal/siding/dark_blue{
@@ -264,7 +264,7 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/dark,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"cm" = (
/obj/machinery/door/airlock/grunge,
/obj/structure/barricade/wooden/crude,
@@ -815,7 +815,7 @@
"gE" = (
/obj/item/clothing/suit/caution,
/turf/open/floor/iron/white/small,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"gG" = (
/obj/effect/turf_decal/siding/dark_blue/corner{
dir = 4
@@ -952,7 +952,7 @@
dir = 5
},
/turf/open/floor/iron/dark,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"hT" = (
/mob/living/basic/statue/mannequin{
name = "Dale Knox";
@@ -983,6 +983,9 @@
},
/turf/open/floor/engine,
/area/awaymission/museum)
+"ia" = (
+/turf/open/floor/iron/white/small,
+/area/awaymission/museum/cafeteria)
"il" = (
/obj/structure/table/wood,
/obj/item/clothing/suit/costume/judgerobe,
@@ -1160,7 +1163,7 @@
name = "Restrooms"
},
/turf/open/floor/iron/dark,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"jy" = (
/mob/living/basic/statue/mannequin{
name = "Dale Knox";
@@ -1183,7 +1186,7 @@
queue_id = "museum_right_wing"
},
/turf/closed/indestructible/reinforced,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"jF" = (
/obj/machinery/suit_storage_unit/open,
/obj/effect/turf_decal/box,
@@ -1315,7 +1318,7 @@
name = "Restrooms"
},
/turf/open/floor/iron,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"kA" = (
/obj/machinery/conveyor{
dir = 1
@@ -1332,7 +1335,7 @@
id = "museum_cafeteria"
},
/turf/open/floor/iron,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"kO" = (
/obj/structure/railing{
dir = 8
@@ -1740,7 +1743,7 @@
"nY" = (
/obj/structure/sign/poster/official/no_erp/directional/north,
/turf/open/floor/iron/white/small,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"nZ" = (
/obj/structure/chair/sofa/bench/left{
dir = 1
@@ -1831,7 +1834,7 @@
queue_id = "museum_cafeteria"
},
/turf/closed/indestructible/reinforced,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"oQ" = (
/turf/open/floor/holofloor/beach/coast{
dir = 1
@@ -1914,7 +1917,7 @@
id = "museum_cafeteria"
},
/turf/open/floor/iron,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"pD" = (
/obj/structure/broken_flooring/corner/always_floorplane/directional/west,
/obj/effect/decal/cleanable/dirt/dust,
@@ -1954,7 +1957,7 @@
dir = 4
},
/turf/open/floor/iron/dark,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"pX" = (
/obj/structure/rack,
/obj/effect/spawner/random/maintenance/two,
@@ -2317,6 +2320,13 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/engine,
/area/awaymission/museum)
+"sR" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 10
+ },
+/turf/open/floor/iron/dark,
+/area/awaymission/museum/cafeteria)
"sX" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/obj/effect/turf_decal/siding/dark_blue{
@@ -2522,7 +2532,7 @@
/obj/structure/tank_holder/extinguisher/anti,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/white/small,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"up" = (
/obj/effect/turf_decal/siding/wood{
dir = 4
@@ -2538,7 +2548,7 @@
id_tag = "museum_toilet2"
},
/turf/open/floor/iron,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"ut" = (
/obj/machinery/light/very_dim/directional/north,
/obj/effect/decal/cleanable/dirt/dust,
@@ -2546,7 +2556,7 @@
/obj/structure/mop_bucket,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/iron/white/small,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"uu" = (
/obj/structure/rack,
/obj/effect/spawner/random/engineering/material,
@@ -2711,7 +2721,7 @@
note_info = "I'VE WORKED HERE FOR 7 YEARS! JUST TO BE REPLACED BY A VENDING MACHINE?! YOU KNOW WHAT? FUCK YOU, I'VE LOCKED DOWN THE CAFETERIA AND WON'T BE COMING OUT 'TILL YOU GIVE ME MY JOB BACK!"
},
/turf/open/floor/iron,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"wh" = (
/obj/structure/broken_flooring/corner/always_floorplane/directional/west,
/obj/structure/lattice,
@@ -2723,7 +2733,7 @@
id = "museum_right_wing"
},
/turf/open/floor/iron,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"wk" = (
/obj/machinery/vending/dinnerware,
/turf/open/floor/iron/freezer,
@@ -2805,7 +2815,7 @@
},
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"wZ" = (
/turf/open/misc/beach/coast{
dir = 1
@@ -3547,7 +3557,7 @@
/obj/structure/mirror/directional/east,
/obj/structure/sink/directional/west,
/turf/open/floor/iron/white/small,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"CI" = (
/obj/effect/turf_decal/caution,
/obj/effect/decal/cleanable/dirt/dust,
@@ -3973,7 +3983,7 @@
dir = 4
},
/turf/open/floor/iron/dark,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"FY" = (
/obj/structure/chair/sofa/bench/left,
/turf/open/floor/iron/cafeteria,
@@ -4156,7 +4166,7 @@
id = "museum_right_wing"
},
/turf/open/floor/iron/dark,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"HE" = (
/obj/effect/turf_decal/siding/dark_blue{
dir = 1
@@ -4210,7 +4220,7 @@
},
/obj/machinery/light/small/dim/directional/west,
/turf/open/floor/iron/white/small,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"HY" = (
/obj/machinery/light/floor,
/obj/effect/decal/cleanable/dirt/dust,
@@ -4242,7 +4252,7 @@
/area/awaymission/museum)
"Ir" = (
/turf/closed/indestructible/fakedoor,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"Iu" = (
/turf/open/floor/mineral/titanium/blue,
/area/awaymission/museum)
@@ -4369,7 +4379,7 @@
id_tag = "museum_toilet1"
},
/turf/open/floor/iron,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"Js" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/obj/effect/turf_decal/siding/dark_blue{
@@ -4493,7 +4503,7 @@
content = list("Instructions; stand upright; remove safety clip; aim noozle at base of fire... the rest is up to you.")
},
/turf/open/floor/iron/white/small,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"KB" = (
/obj/structure/sign/warning/no_smoking/circle/directional/east,
/turf/open/floor/iron/cafeteria,
@@ -4623,7 +4633,7 @@
/obj/effect/turf_decal/siding/dark_blue,
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron/dark,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"Mg" = (
/obj/structure/plaque/static_plaque/golden/commission/tram,
/turf/closed/indestructible/reinforced,
@@ -4971,6 +4981,12 @@
},
/turf/open/indestructible/plating,
/area/awaymission/museum)
+"PI" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/turf_decal/siding/dark_blue,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark,
+/area/awaymission/museum/cafeteria)
"PK" = (
/obj/machinery/door/poddoor{
id = "gatewayfake"
@@ -5291,7 +5307,7 @@
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/fluff/fake_scrubber,
/turf/open/floor/iron/white/small,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"So" = (
/obj/machinery/shower/directional/east,
/turf/open/floor/iron/white/textured_large,
@@ -5340,7 +5356,7 @@
late_initialize_pop = 1
},
/turf/open/floor/iron/dark,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"SU" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/item/stack/spacecash/c1000,
@@ -5491,6 +5507,10 @@
/obj/structure/fluff/fake_scrubber,
/turf/open/floor/iron,
/area/awaymission/museum)
+"Up" = (
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/awaymission/museum/cafeteria)
"Uq" = (
/obj/effect/smooths_with_walls,
/turf/cordon/secret,
@@ -5543,7 +5563,7 @@
/obj/structure/sink/directional/west,
/obj/effect/decal/cleanable/blood/oil/slippery,
/turf/open/floor/iron/white/small,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"UI" = (
/obj/effect/turf_decal/tile/green/opposingcorners,
/obj/effect/decal/cleanable/dirt/dust,
@@ -5878,7 +5898,7 @@
},
/obj/machinery/light/small/dim/directional/west,
/turf/open/floor/iron/white/small,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"WZ" = (
/obj/structure/chair/sofa/bench{
dir = 1
@@ -6026,7 +6046,7 @@
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/fluff/fake_camera,
/turf/open/floor/iron/white/small,
-/area/awaymission/museum)
+/area/awaymission/museum/cafeteria)
"Yr" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/obj/structure/table/reinforced,
@@ -43388,11 +43408,11 @@ re
re
re
re
-FK
+Ph
HD
wi
ST
-FK
+Ph
re
re
re
@@ -43637,17 +43657,17 @@ re
re
re
re
-FK
-FK
-FK
-FK
-FK
-FK
-FK
+Ph
+Ph
+Ph
+Ph
+Ph
+Ph
+Ph
re
-FK
-aa
-uY
+Ph
+PI
+ms
ci
jC
re
@@ -43894,19 +43914,19 @@ re
re
re
re
-FK
+Ph
aO
-FK
+Ph
WY
-FK
+Ph
HW
-FK
-FK
-FK
+Ph
+Ph
+Ph
Mb
-TM
+Up
wV
-FK
+Ph
re
re
re
@@ -44151,19 +44171,19 @@ re
re
re
re
-FK
+Ph
wg
-FK
+Ph
us
-FK
+Ph
Jp
-FK
+Ph
um
-FK
+Ph
Mb
-uY
+ms
wV
-FK
+Ph
re
re
re
@@ -44408,17 +44428,17 @@ re
re
re
re
-FK
-Gn
-Gn
-Gn
+Ph
+ia
+ia
+ia
Sm
-Gn
+ia
Kz
-Gn
-FK
+ia
+Ph
ju
-uY
+ms
ci
Ir
re
@@ -44665,19 +44685,19 @@ re
re
re
re
-FK
+Ph
nY
-Gn
-Gn
-Gn
-Gn
-Gn
-Gn
+ia
+ia
+ia
+ia
+ia
+ia
kx
-uY
-uY
+ms
+ms
wV
-FK
+Ph
re
re
re
@@ -44922,19 +44942,19 @@ re
re
re
re
-FK
+Ph
ut
UH
gE
CG
-Gn
+ia
CG
Yn
-FK
-RC
-TM
+Ph
+sR
+Up
FU
-FK
+Ph
re
re
re
@@ -45179,19 +45199,19 @@ re
re
re
re
-FK
-FK
-FK
-FK
-FK
-FK
-FK
-FK
-FK
+Ph
+Ph
+Ph
+Ph
+Ph
+Ph
+Ph
+Ph
+Ph
Mb
-uY
+ms
wV
-FK
+Ph
Uq
re
re
@@ -45444,9 +45464,9 @@ re
re
re
re
-FK
+Ph
pN
-uY
+ms
hS
oP
re
@@ -45701,11 +45721,11 @@ re
re
re
re
-FK
-FK
+Ph
+Ph
pz
kL
-FK
+Ph
re
re
re
diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm
index 8c4f46d49b9..3bcd5ec4a1c 100644
--- a/_maps/RandomZLevels/snowdin.dmm
+++ b/_maps/RandomZLevels/snowdin.dmm
@@ -2113,8 +2113,8 @@
/area/awaymission/snowdin/post/hydro)
"hZ" = (
/obj/item/gun/ballistic/rifle/boltaction,
-/obj/item/ammo_box/strilka310,
-/obj/item/ammo_box/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
/obj/structure/closet/secure_closet{
icon_state = "sec";
name = "security officer's locker";
diff --git a/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm b/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
index 8b3fcbe2d90..f6c85f0ddc4 100644
--- a/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
+++ b/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
@@ -36029,12 +36029,9 @@
/turf/open/floor/plating,
/area/station/engineering/atmos/project)
"kpz" = (
-/obj/structure/rack,
-/obj/item/aicard,
-/obj/item/pai_card,
-/obj/item/circuitboard/aicore,
/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
+/obj/machinery/modular_computer/preset/research,
/turf/open/floor/wood,
/area/station/command/heads_quarters/rd)
"kpC" = (
@@ -39959,6 +39956,10 @@
/area/station/commons/fitness/recreation)
"lAu" = (
/obj/structure/cable,
+/obj/structure/rack,
+/obj/item/aicard,
+/obj/item/pai_card,
+/obj/item/circuitboard/aicore,
/turf/open/floor/wood,
/area/station/command/heads_quarters/rd)
"lAE" = (
@@ -82589,7 +82590,7 @@
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
"xZp" = (
-/obj/machinery/computer/rdconsole,
+/obj/machinery/modular_computer/preset/research,
/turf/open/floor/carpet,
/area/station/command/bridge)
"xZG" = (
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index 5740dabcd25..2190c7772c4 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -15709,10 +15709,10 @@
},
/area/station/hallway/primary/fore)
"dRh" = (
-/obj/machinery/telecomms/bus/preset_four,
/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
dir = 1
},
+/obj/machinery/telecomms/bus/preset_two,
/turf/open/floor/iron/telecomms,
/area/station/tcommsat/server)
"dRo" = (
@@ -39973,10 +39973,10 @@
/turf/open/floor/iron,
/area/station/security/range)
"jPC" = (
-/obj/machinery/telecomms/bus/preset_two,
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
dir = 4
},
+/obj/machinery/telecomms/bus/preset_four,
/turf/open/floor/iron/telecomms,
/area/station/tcommsat/server)
"jPE" = (
@@ -47677,9 +47677,6 @@
/area/station/engineering/atmos/mix)
"lKk" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/siding/green/corner{
- dir = 4
- },
/obj/effect/decal/cleanable/dirt,
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
index da696f331ce..7bee4abe142 100644
--- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm
+++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
@@ -27799,7 +27799,7 @@
/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass,
/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass,
/obj/item/gun/ballistic/revolver/russian,
-/obj/item/ammo_box/a357,
+/obj/item/ammo_box/speedloader/c357,
/obj/item/reagent_containers/cup/glass/bottle/vodka/badminka,
/obj/effect/turf_decal/bot_white/left,
/obj/effect/turf_decal/tile/neutral/fourcorners,
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index ecd4982df27..0f440feea26 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -36,6 +36,18 @@
/obj/effect/spawner/random/engineering/atmospherics_portable,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"aas" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology/hallway)
"aaz" = (
/obj/effect/spawner/random/trash/cigbutt,
/obj/effect/turf_decal/trimline/yellow/filled/line{
@@ -51,14 +63,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"abc" = (
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central)
"abI" = (
/obj/structure/chair/stool/directional/south,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -192,6 +196,14 @@
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/station/solars/port/aft)
+"aeh" = (
+/obj/structure/table/wood,
+/obj/effect/spawner/random/food_or_drink/booze{
+ spawn_random_offset = 1
+ },
+/obj/machinery/duct,
+/turf/open/floor/wood,
+/area/station/maintenance/port/aft)
"aej" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -199,6 +211,14 @@
"aeq" = (
/turf/closed/wall/r_wall,
/area/station/ai_monitored/security/armory)
+"aer" = (
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"aeu" = (
/obj/effect/decal/cleanable/cobweb,
/obj/item/kirbyplants/organic/plant20{
@@ -209,14 +229,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/main)
-"aez" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/machinery/duct,
-/turf/open/floor/iron/dark/textured,
-/area/station/medical/cryo)
"afj" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 1
@@ -496,22 +508,27 @@
/obj/machinery/vending/drugs,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
-"ajK" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+"akb" = (
+/obj/effect/turf_decal/stripes/line{
dir = 8
},
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 1
- },
-/obj/structure/disposalpipe/segment{
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/junction/flip,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
+"ake" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
dir = 4
},
-/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{
- dir = 1
- },
+/obj/structure/disposalpipe/segment,
+/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/smooth_half,
-/area/station/medical/cryo)
+/turf/open/floor/iron/white,
+/area/station/security/prison)
"aks" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral{
@@ -914,19 +931,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"ark" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/green/half/contrasted{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"art" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -1197,16 +1201,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/wood,
/area/station/maintenance/port/aft)
-"axK" = (
-/obj/effect/turf_decal/trimline/red/filled/line{
- dir = 8
- },
-/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/iron/white,
-/area/station/security/prison)
"axO" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 4
@@ -1386,16 +1380,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/command/gateway)
-"aAQ" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"aAS" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -1420,6 +1404,11 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
+"aBF" = (
+/obj/structure/cable,
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/station/security/checkpoint/supply)
"aBL" = (
/obj/effect/spawner/structure/window,
/obj/structure/cable,
@@ -1652,10 +1641,6 @@
/obj/effect/spawner/random/bureaucracy/paper,
/turf/open/floor/wood,
/area/station/commons/dorms)
-"aFz" = (
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"aFI" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -1898,20 +1883,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/engineering/main)
-"aJm" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/spawner/random/structure/closet_maintenance,
-/obj/effect/spawner/random/maintenance/three,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
-"aJn" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"aJv" = (
/obj/structure/sign/warning/fire,
/turf/closed/wall/r_wall,
@@ -2176,13 +2147,6 @@
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"aNH" = (
-/obj/effect/turf_decal/siding/purple{
- dir = 1
- },
-/obj/machinery/wall_healer/directional/south,
-/turf/open/floor/iron/white,
-/area/station/science/research)
"aNN" = (
/obj/machinery/airalarm/directional/south,
/obj/machinery/disposal/bin,
@@ -2672,28 +2636,37 @@
},
/turf/open/floor/circuit,
/area/station/ai_monitored/turret_protected/ai)
+"aWS" = (
+/obj/structure/table/reinforced,
+/obj/item/book/manual/wiki/engineering_hacking{
+ pixel_x = 2;
+ pixel_y = 3
+ },
+/obj/item/book/manual/wiki/engineering_guide{
+ pixel_x = -2
+ },
+/obj/item/trash/can{
+ pixel_x = -8
+ },
+/obj/machinery/firealarm/directional/south,
+/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
+/obj/machinery/wall_healer/directional/east,
+/turf/open/floor/iron,
+/area/station/engineering/break_room)
"aXa" = (
/turf/closed/wall,
/area/station/security/prison/mess)
-"aXE" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Service Maintenance"
- },
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
+"aXA" = (
/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/airlock/cyclelink_helper_multi{
- cycle_id = "service-passthrough"
- },
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/red/opposingcorners,
/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
+/turf/open/floor/iron/white,
+/area/station/security/prison/mess)
"aXF" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/bed,
@@ -2959,6 +2932,20 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"baR" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/duct,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/machinery/wall_healer/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/service)
"bbd" = (
/obj/machinery/duct,
/obj/effect/turf_decal/trimline/blue/filled/line{
@@ -2975,12 +2962,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/break_room)
-"bbt" = (
-/obj/structure/girder,
-/obj/effect/spawner/random/structure/grille,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"bbT" = (
/obj/structure/closet/crate,
/obj/item/stack/cable_coil,
@@ -3063,15 +3044,6 @@
/obj/effect/turf_decal/siding,
/turf/open/floor/iron,
/area/station/science/lab)
-"bdy" = (
-/obj/effect/turf_decal/trimline/blue/filled/corner{
- dir = 4
- },
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/surgery/theatre)
"bdE" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/rack,
@@ -3155,14 +3127,6 @@
},
/turf/open/floor/engine/plasma,
/area/station/engineering/atmos)
-"bfg" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/iron/white/smooth_large,
-/area/station/medical/surgery/aft)
"bfj" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -3582,6 +3546,12 @@
},
/turf/open/floor/iron,
/area/station/command/gateway)
+"bmx" = (
+/obj/structure/mirror/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/commons/toilet/auxiliary)
"bmB" = (
/obj/machinery/light_switch/directional/south,
/obj/effect/turf_decal/tile/red/opposingcorners,
@@ -3624,19 +3594,6 @@
/obj/machinery/light_switch/directional/south,
/turf/open/floor/iron/white,
/area/station/medical/office)
-"bns" = (
-/obj/machinery/door/airlock/public/glass{
- name = "Prison Cafeteria"
- },
-/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/door/firedoor,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/security/prison/mess)
"bnx" = (
/obj/effect/turf_decal/tile/blue{
dir = 1
@@ -3826,6 +3783,13 @@
/obj/effect/turf_decal/tile/purple,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"bpM" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/sign/poster/contraband/random/directional/north,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"bpY" = (
/obj/machinery/light/small/directional/west,
/obj/item/clothing/mask/animal/horsehead,
@@ -3854,29 +3818,11 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
/turf/open/floor/iron/dark,
/area/station/engineering/atmospherics_engine)
-"bqs" = (
-/obj/structure/cable,
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/security/checkpoint/supply)
"bqC" = (
/obj/structure/table/wood,
/obj/item/cigarette/pipe,
/turf/open/floor/wood,
/area/station/commons/lounge)
-"bqJ" = (
-/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/turf_decal/siding/purple/corner{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"bqX" = (
/turf/closed/wall/r_wall,
/area/station/medical/chemistry)
@@ -3989,42 +3935,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/carpet,
/area/station/service/theater)
-"bsE" = (
+"bsV" = (
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/sorting/mail{
- dir = 4
- },
-/obj/effect/mapping_helpers/mail_sorting/science/xenobiology,
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 8
- },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology)
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"bsZ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/aft/greater)
-"btn" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/service)
"btx" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -4175,6 +4098,28 @@
},
/turf/open/floor/iron,
/area/station/commons/locker)
+"bvg" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/door_buttons/airlock_controller{
+ idExterior = "xeno_airlock_exterior";
+ idInterior = "xeno_airlock_interior";
+ idSelf = "xeno_airlock_control";
+ name = "Access Console";
+ pixel_x = -25;
+ pixel_y = -25;
+ req_access = list("xenobiology")
+ },
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"bvJ" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -4183,6 +4128,16 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/science/robotics/lab)
+"bvX" = (
+/obj/structure/cable,
+/obj/machinery/door/poddoor/shutters/preopen{
+ name = "QM Privacy Shutters";
+ id = "qmroom";
+ dir = 8
+ },
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/station/command/heads_quarters/qm)
"bvY" = (
/obj/machinery/power/tracker,
/obj/structure/cable,
@@ -4207,11 +4162,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/grimy,
/area/station/service/chapel/office)
-"bwi" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"bwr" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -4261,17 +4211,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/commons/locker)
-"bxq" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/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/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
"bxr" = (
/obj/structure/sign/warning/electric_shock/directional/east,
/turf/open/space/basic,
@@ -4426,6 +4365,14 @@
/obj/effect/mapping_helpers/airlock/access/all/security/entrance,
/turf/open/floor/iron,
/area/station/security/brig)
+"bAp" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
"bAA" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -4554,12 +4501,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/command)
-"bCE" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/duct,
-/turf/open/floor/wood,
-/area/station/maintenance/port/aft)
"bCM" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -4922,16 +4863,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/white,
/area/station/medical/storage)
-"bJg" = (
-/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/brown{
- dir = 8
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central)
"bJk" = (
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/trimline/blue/filled/line{
@@ -5037,6 +4968,14 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron,
/area/station/security/prison/garden)
+"bKW" = (
+/obj/machinery/door/window/left/directional/south{
+ name = "Permabrig Kitchen"
+ },
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/security/prison/mess)
"bLd" = (
/turf/closed/wall,
/area/station/maintenance/starboard/aft)
@@ -5075,6 +5014,15 @@
/obj/structure/window/reinforced/spawner/directional/west,
/turf/open/floor/plating/airless,
/area/space/nearstation)
+"bLV" = (
+/obj/effect/spawner/structure/window,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 4;
+ name = "Cargo Lockdown Shutters";
+ id = "cargolockdown"
+ },
+/turf/open/floor/plating,
+/area/station/cargo/lobby)
"bMa" = (
/obj/structure/disposaloutlet{
dir = 4;
@@ -5240,6 +5188,16 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/station/maintenance/port/aft)
+"bOX" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 8
+ },
+/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/iron/white,
+/area/station/security/prison)
"bPi" = (
/obj/structure/chair/office{
dir = 8
@@ -5347,13 +5305,6 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron,
/area/station/security/brig)
-"bRG" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/commons/toilet/auxiliary)
"bRH" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/stripes/line{
@@ -5574,36 +5525,6 @@
/obj/effect/turf_decal/tile/red/opposingcorners,
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
-"bVK" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/machinery/door/airlock/virology{
- autoclose = 0;
- frequency = 1449;
- id_tag = "virology_airlock_interior";
- name = "Virology Interior Airlock"
- },
-/obj/machinery/door_buttons/access_button{
- idDoor = "virology_airlock_interior";
- idSelf = "virology_airlock_control";
- name = "Virology Access Button";
- pixel_x = 8;
- pixel_y = -24;
- req_access = list("virology")
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/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/medical/virology,
-/obj/machinery/door/firedoor,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"bWe" = (
/obj/structure/table/glass,
/obj/structure/reagent_dispensers/wall/virusfood/directional/west,
@@ -5865,6 +5786,18 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/cargo/sorting)
+"caK" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/trimline/purple,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology)
"caO" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -6033,15 +5966,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"cfc" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/landmark/generic_maintenance_landmark,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"cfe" = (
/obj/machinery/navbeacon{
codes_txt = "patrol;next_patrol=8-Central-to-Aft";
@@ -6156,6 +6080,11 @@
},
/turf/closed/wall,
/area/station/maintenance/central)
+"cig" = (
+/obj/structure/sign/warning/hot_temp/directional/south,
+/obj/effect/spawner/random/structure/crate,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"cii" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -6345,6 +6274,21 @@
},
/turf/open/floor/iron/white,
/area/station/science/ordnance/storage)
+"cmp" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/light/directional/west,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
+"cmy" = (
+/obj/machinery/door/airlock{
+ id_tag = "Toilet1";
+ name = "Unit 1"
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/freezer,
+/area/station/commons/toilet/restrooms)
"cmB" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -6647,14 +6591,6 @@
},
/turf/open/floor/iron/white/corner,
/area/station/hallway/secondary/entry)
-"crl" = (
-/obj/effect/turf_decal/trimline/red/filled/line{
- dir = 8
- },
-/obj/item/radio/intercom/prison/directional/west,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/security/prison)
"crr" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -6672,14 +6608,6 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/commons/dorms)
-"csb" = (
-/obj/effect/turf_decal/trimline/red/filled/line{
- dir = 8
- },
-/obj/machinery/door/firedoor,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/security/prison)
"csn" = (
/obj/effect/turf_decal/bot_white/right,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -7011,6 +6939,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/science/robotics/lab)
+"cwD" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"cwF" = (
/obj/structure/sink/directional/west,
/obj/structure/mirror/directional/east,
@@ -7264,6 +7199,13 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"czZ" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white/smooth_large,
+/area/station/medical/surgery/aft)
"cAf" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -7520,6 +7462,15 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/commons/storage/primary)
+"cFq" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"cFr" = (
/obj/structure/table,
/obj/machinery/status_display/evac/directional/east,
@@ -7628,6 +7579,17 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"cHZ" = (
+/obj/machinery/light/small/directional/south,
+/obj/machinery/button/door/directional/south{
+ id = "FitnessShower";
+ name = "Lock Control";
+ normaldoorcontrol = 1;
+ specialfunctions = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/freezer,
+/area/station/commons/fitness/recreation)
"cId" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -7656,6 +7618,20 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"cIE" = (
+/obj/machinery/light/directional/west,
+/obj/machinery/piratepad/civilian,
+/obj/effect/turf_decal/bot_white,
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central)
"cIK" = (
/obj/machinery/smartfridge/chemistry/preloaded,
/obj/effect/turf_decal/tile/yellow/fourcorners,
@@ -7783,6 +7759,11 @@
},
/turf/open/floor/plating/reinforced,
/area/station/cargo/storage)
+"cKG" = (
+/obj/machinery/light_switch/directional/north,
+/obj/machinery/duct,
+/turf/open/floor/iron/freezer,
+/area/station/security/prison/shower)
"cKN" = (
/obj/structure/table/wood,
/obj/structure/cable,
@@ -7866,6 +7847,16 @@
/obj/machinery/firealarm/directional/east,
/turf/open/floor/iron/white/corner,
/area/station/hallway/secondary/entry)
+"cMr" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/door/airlock{
+ id_tag = "AuxShower";
+ name = "Showers"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/commons/toilet/auxiliary)
"cMG" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -7920,6 +7911,16 @@
},
/turf/open/floor/iron/white,
/area/station/command/heads_quarters/cmo)
+"cNl" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/wall_healer/directional/west,
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"cNA" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass{
@@ -8020,6 +8021,14 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/dark,
/area/station/security/mechbay)
+"cQo" = (
+/obj/effect/turf_decal/tile/green/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/light/cold/directional/north,
+/obj/structure/reagent_dispensers/plumbed,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"cQx" = (
/obj/machinery/computer/atmos_control/nitrous_tank{
dir = 1
@@ -8183,15 +8192,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"cUf" = (
-/obj/effect/turf_decal/trimline/red/filled/corner{
- dir = 8
- },
-/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)
"cUk" = (
/obj/effect/spawner/random/vending/snackvend,
/obj/structure/disposalpipe/segment{
@@ -8310,6 +8310,12 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"cWx" = (
+/obj/structure/rack,
+/obj/item/clothing/gloves/color/fyellow,
+/obj/effect/spawner/random/maintenance/two,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
"cWy" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 8;
@@ -8356,6 +8362,14 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"cWX" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Storage Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"cXc" = (
/obj/structure/table,
/obj/item/food/grown/poppy/lily,
@@ -8370,11 +8384,6 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron,
/area/station/science/robotics/mechbay)
-"cXs" = (
-/obj/structure/cable,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/security/prison)
"cXw" = (
/obj/machinery/holopad,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -8419,6 +8428,17 @@
},
/turf/open/floor/iron,
/area/station/command/heads_quarters/ce)
+"cYs" = (
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 8
+ },
+/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/white,
+/area/station/medical/medbay/central)
"cYx" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 4
@@ -8636,6 +8656,10 @@
/obj/structure/window/spawner/directional/south,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"dcD" = (
+/obj/structure/reagent_dispensers/plumbed,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"dcF" = (
/obj/effect/landmark/event_spawn,
/obj/effect/decal/cleanable/dirt,
@@ -8691,17 +8715,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
/turf/open/floor/plating,
/area/station/hallway/secondary/entry)
-"ddK" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"ddO" = (
/obj/effect/turf_decal/trimline/green/filled/corner,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -9261,6 +9274,19 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/engine,
/area/station/engineering/atmospherics_engine)
+"dni" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology)
"dno" = (
/turf/open/floor/iron/white,
/area/station/medical/virology)
@@ -9297,6 +9323,16 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"dog" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"dox" = (
/obj/structure/rack,
/obj/item/screwdriver{
@@ -9390,6 +9426,17 @@
},
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"dpR" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/latex,
+/obj/item/clothing/mask/surgical,
+/obj/item/reagent_containers/spray/cleaner,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 9
+ },
+/obj/machinery/wall_healer/directional/west,
+/turf/open/floor/iron/white,
+/area/station/security/medical)
"dqc" = (
/obj/machinery/door/airlock/security/glass{
name = "N2O Storage"
@@ -9727,15 +9774,6 @@
},
/turf/open/floor/wood/parquet,
/area/station/medical/psychology)
-"dvz" = (
-/obj/effect/spawner/structure/window,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 1;
- name = "Cargo Lockdown Shutters";
- id = "cargolockdown"
- },
-/turf/open/floor/plating,
-/area/station/cargo/sorting)
"dvJ" = (
/obj/structure/tank_dispenser,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -10202,6 +10240,14 @@
/obj/structure/window/spawner/directional/west,
/turf/open/floor/grass,
/area/station/science/research)
+"dGo" = (
+/obj/machinery/firealarm/directional/east,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/start/hangover,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/commons/toilet/auxiliary)
"dGq" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/stairs/left{
@@ -10220,16 +10266,6 @@
/obj/effect/mapping_helpers/airlock/access/all/command/gateway,
/turf/open/floor/iron,
/area/station/command/gateway)
-"dGv" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 5
- },
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/surgery/theatre)
"dGD" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -10267,6 +10303,13 @@
/obj/effect/turf_decal/tile/brown/fourcorners,
/turf/open/floor/iron,
/area/station/cargo/lobby)
+"dHu" = (
+/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/freezer,
+/area/station/commons/toilet/restrooms)
"dHG" = (
/obj/machinery/atmospherics/components/binary/crystallizer{
dir = 4
@@ -10444,11 +10487,6 @@
/obj/machinery/status_display/ai/directional/south,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/ai)
-"dKO" = (
-/obj/structure/urinal/directional/north,
-/obj/structure/cable,
-/turf/open/floor/iron/freezer,
-/area/station/commons/toilet/restrooms)
"dKY" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -10617,16 +10655,6 @@
},
/turf/open/floor/iron,
/area/station/security/courtroom)
-"dMX" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/spawner/random/trash/garbage{
- spawn_scatter_radius = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"dMY" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/blue/half/contrasted,
@@ -10647,11 +10675,6 @@
/obj/machinery/newscaster/directional/east,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"dNC" = (
-/obj/machinery/light/small/dim/directional/west,
-/obj/structure/reagent_dispensers/plumbed,
-/turf/open/floor/plating,
-/area/station/security/prison/safe)
"dNX" = (
/obj/effect/turf_decal/tile/red{
dir = 8
@@ -10700,6 +10723,18 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"dOz" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 9
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/cryo)
"dOA" = (
/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
/obj/effect/turf_decal/siding/purple,
@@ -10721,15 +10756,6 @@
},
/turf/open/floor/wood/large,
/area/station/commons/lounge)
-"dOS" = (
-/obj/structure/filingcabinet/white,
-/obj/machinery/camera/directional/south{
- c_tag = "Medbay Psychology Office";
- network = list("ss13","medbay")
- },
-/obj/effect/turf_decal/siding/wood,
-/turf/open/floor/wood/parquet,
-/area/station/medical/psychology)
"dOY" = (
/obj/effect/spawner/random/engineering/tank,
/turf/open/floor/plating,
@@ -10758,13 +10784,6 @@
/obj/effect/turf_decal/stripes/red/line,
/turf/open/floor/engine,
/area/station/science/cytology)
-"dPJ" = (
-/obj/effect/spawner/random/trash/garbage{
- spawn_scatter_radius = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"dPL" = (
/obj/structure/filingcabinet/security{
pixel_x = 4
@@ -10969,11 +10988,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"dSp" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/engineering/atmospherics_portable,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"dSt" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
@@ -11120,6 +11134,25 @@
/obj/effect/turf_decal/tile/bar/opposingcorners,
/turf/open/floor/iron,
/area/station/service/bar)
+"dUE" = (
+/obj/structure/table/wood,
+/obj/item/flashlight/lamp/green{
+ pixel_x = 5;
+ pixel_y = 14
+ },
+/obj/item/folder/white{
+ pixel_x = 6;
+ pixel_y = -1
+ },
+/obj/item/paper_bin/carbon{
+ pixel_x = -5;
+ pixel_y = 1
+ },
+/obj/item/pen{
+ pixel_x = -5
+ },
+/turf/open/floor/carpet,
+/area/station/medical/psychology)
"dVb" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
@@ -11411,18 +11444,6 @@
"dZm" = (
/turf/closed/wall,
/area/station/commons/storage/tools)
-"dZo" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/door/poddoor/shutters/preopen{
- name = "Cargo Lockdown Shutters";
- id = "cargolockdown";
- dir = 8
- },
-/turf/open/floor/plating,
-/area/station/security/checkpoint/supply)
"dZy" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 4
@@ -11464,6 +11485,12 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/security/armory)
+"eax" = (
+/obj/structure/sign/poster/official/random/directional/south,
+/obj/machinery/light/small/directional/west,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/commons/toilet/auxiliary)
"eaA" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/thinplating_new{
@@ -11634,6 +11661,16 @@
},
/turf/open/floor/wood,
/area/station/maintenance/port/aft)
+"ecL" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
"ecO" = (
/turf/open/floor/carpet,
/area/station/service/library)
@@ -11716,6 +11753,14 @@
},
/turf/open/floor/iron,
/area/station/security/warden)
+"eeu" = (
+/obj/machinery/door/airlock{
+ id_tag = "Toilet4";
+ name = "Unit 4"
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/freezer,
+/area/station/commons/toilet/restrooms)
"eey" = (
/obj/machinery/firealarm/directional/west,
/obj/structure/rack,
@@ -11856,20 +11901,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/science/ordnance/testlab)
-"egM" = (
-/obj/machinery/light/directional/west,
-/obj/machinery/piratepad/civilian,
-/obj/effect/turf_decal/bot_white,
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central)
"egP" = (
/obj/item/radio/intercom/directional/north,
/obj/effect/turf_decal/stripes/line{
@@ -12226,6 +12257,17 @@
},
/turf/open/floor/engine,
/area/station/science/xenobiology)
+"eln" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
"ely" = (
/obj/structure/table/reinforced,
/obj/item/clipboard{
@@ -12322,18 +12364,6 @@
},
/turf/open/floor/carpet,
/area/station/command/bridge)
-"enf" = (
-/obj/effect/decal/cleanable/dirt,
-/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 = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"eni" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/layer_manifold/cyan/hidden{
@@ -12341,6 +12371,13 @@
},
/turf/open/floor/plating,
/area/station/hallway/secondary/entry)
+"env" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/security/prison)
"eny" = (
/obj/structure/table,
/obj/machinery/firealarm/directional/south,
@@ -12549,13 +12586,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/main)
-"eri" = (
-/obj/effect/spawner/random/entertainment/arcade,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/wall_healer/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
"erl" = (
/obj/structure/rack,
/obj/effect/turf_decal/bot{
@@ -13021,13 +13051,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"exK" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/obj/machinery/wall_healer/directional/north,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology)
"exN" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -13057,6 +13080,18 @@
/obj/structure/window/reinforced/plasma/spawner/directional/south,
/turf/open/floor/engine,
/area/station/engineering/supermatter)
+"eyK" = (
+/obj/effect/decal/cleanable/dirt,
+/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 = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
"eyX" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 1
@@ -13167,6 +13202,14 @@
},
/turf/open/floor/iron/white,
/area/station/science/ordnance/storage)
+"eBY" = (
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/structure/sink/kitchen/directional/west,
+/turf/open/floor/iron/cafeteria,
+/area/station/service/kitchen)
"eCg" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -13388,6 +13431,14 @@
},
/turf/open/floor/iron/dark,
/area/station/ai_monitored/aisat/exterior)
+"eGg" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/aft/greater)
"eGm" = (
/obj/machinery/airalarm/directional/west,
/obj/machinery/camera/directional/west{
@@ -13437,10 +13488,39 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/secondary/command)
+"eHc" = (
+/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/brown{
+ dir = 8
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central)
"eHf" = (
/obj/effect/spawner/random/vending/colavend,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"eHm" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/aft/greater)
+"eHo" = (
+/obj/machinery/light/small/directional/west,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/structure/sign/poster/official/random/directional/west,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/commons/toilet/auxiliary)
"eHR" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -13908,17 +13988,6 @@
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/science/robotics/mechbay)
-"ePA" = (
-/obj/machinery/light/small/directional/south,
-/obj/machinery/button/door/directional/south{
- id = "FitnessShower";
- name = "Lock Control";
- normaldoorcontrol = 1;
- specialfunctions = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/freezer,
-/area/station/commons/fitness/recreation)
"ePN" = (
/obj/structure/chair{
dir = 8
@@ -14099,16 +14168,6 @@
},
/turf/open/floor/wood/large,
/area/station/service/theater)
-"eSR" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"eTg" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -14248,14 +14307,6 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"eVU" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"eVX" = (
/obj/machinery/firealarm/directional/west,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -14397,6 +14448,9 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
+"eYg" = (
+/turf/open/floor/iron/freezer,
+/area/station/commons/fitness/recreation)
"eYj" = (
/obj/effect/spawner/random/trash/garbage{
spawn_scatter_radius = 1
@@ -14520,6 +14574,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/carpet,
/area/station/command/heads_quarters/hos)
+"fae" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology)
"fag" = (
/obj/item/food/cracker,
/obj/item/food/cracker{
@@ -14804,23 +14865,6 @@
initial_gas_mix = "TEMP=2.7"
},
/area/space/nearstation)
-"ffS" = (
-/obj/structure/cable,
-/obj/machinery/door/airlock/virology/glass{
- name = "Virology Lab"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/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/medical/virology,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"ffU" = (
/obj/effect/turf_decal/siding/purple,
/obj/machinery/camera/directional/south{
@@ -14932,14 +14976,6 @@
/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"fhA" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"fhB" = (
/obj/machinery/holopad,
/obj/structure/cable,
@@ -15111,6 +15147,15 @@
"fjD" = (
/turf/closed/wall,
/area/station/commons/toilet/auxiliary)
+"fjO" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology/hallway)
"fjW" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -15131,18 +15176,6 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/science/research)
-"fkk" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/landmark/event_spawn,
-/obj/effect/turf_decal/trimline/purple,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology)
"fkl" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -15624,19 +15657,6 @@
dir = 8
},
/area/station/service/chapel/office)
-"frs" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- 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/duct,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology/hallway)
"frt" = (
/obj/structure/rack,
/obj/item/gun/energy/ionrifle,
@@ -15740,6 +15760,11 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"ftL" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/vending/autodrobe,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"ftM" = (
/obj/structure/sign/warning/pods,
/turf/closed/wall,
@@ -15849,17 +15874,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"fxT" = (
-/obj/machinery/door/airlock/wood{
- doorClose = 'sound/effects/doorcreaky.ogg';
- doorOpen = 'sound/effects/doorcreaky.ogg';
- name = "The Gobetting Barmaid"
- },
-/obj/effect/mapping_helpers/airlock/abandoned,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"fxW" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/trimline/yellow/filled/line,
@@ -15868,6 +15882,10 @@
},
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"fyg" = (
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/security/prison)
"fym" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
@@ -15976,17 +15994,6 @@
/obj/effect/turf_decal/tile/red/fourcorners,
/turf/open/floor/iron,
/area/station/security/checkpoint/engineering)
-"fAo" = (
-/obj/machinery/door/airlock/maintenance,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/airlock/unres,
-/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"fAt" = (
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk{
@@ -16230,17 +16237,6 @@
},
/turf/open/floor/iron/white,
/area/station/science/ordnance/testlab)
-"fFq" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/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/broken_floor,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"fFu" = (
/obj/machinery/door/airlock/maintenance{
name = "Storage Room"
@@ -16348,13 +16344,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/disposal/incinerator)
-"fGP" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/security/prison/mess)
"fGR" = (
/obj/machinery/camera/directional/east{
c_tag = "Atmospherics Tank - N2"
@@ -16370,21 +16359,22 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/station/maintenance/starboard/fore)
-"fGW" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"fHd" = (
/obj/machinery/power/shieldwallgen,
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/command/teleporter)
+"fHr" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/sorting/mail/flip{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/mail_sorting/medbay/virology,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/firealarm_sanity,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
"fHy" = (
/obj/structure/window/reinforced/spawner/directional/east,
/turf/open/floor/plating/airless,
@@ -16855,14 +16845,6 @@
},
/turf/open/floor/iron,
/area/station/command/teleporter)
-"fRG" = (
-/obj/machinery/firealarm/directional/east,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/landmark/start/hangover,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/commons/toilet/auxiliary)
"fRS" = (
/obj/structure/cable,
/turf/open/floor/iron,
@@ -17365,10 +17347,27 @@
/obj/machinery/computer/security/telescreen/cmo/directional/west,
/turf/open/floor/iron/white,
/area/station/command/heads_quarters/cmo)
+"gbz" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/green/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"gbB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"gbE" = (
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"gbG" = (
/obj/effect/spawner/random/structure/closet_maintenance,
/obj/item/storage/box/lights/mixed,
@@ -17501,6 +17500,18 @@
},
/turf/open/floor/iron/dark,
/area/station/ai_monitored/aisat/exterior)
+"geA" = (
+/obj/item/folder/white{
+ pixel_x = 4;
+ pixel_y = -3
+ },
+/obj/structure/table/glass,
+/obj/effect/turf_decal/tile/green/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/wall_healer/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/command/bridge)
"geD" = (
/obj/structure/sign/warning/vacuum/external/directional/north,
/obj/machinery/light/small/directional/north,
@@ -17697,17 +17708,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/wood,
/area/station/commons/lounge)
-"gjt" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/landmark/firealarm_sanity,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"gjv" = (
/obj/machinery/door/window/left/directional/west{
name = "Maximum Security Test Chamber";
@@ -18071,21 +18071,6 @@
/obj/structure/chair/wood/wings,
/turf/open/floor/carpet,
/area/station/service/theater)
-"gpv" = (
-/obj/structure/cable,
-/obj/machinery/door/airlock{
- name = "Custodial Closet"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/access/all/service/janitor,
-/obj/effect/landmark/navigate_destination/janitor,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"gpB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
@@ -18297,14 +18282,22 @@
"gtb" = (
/turf/open/floor/iron/white,
/area/station/medical/pharmacy)
-"gtk" = (
-/obj/effect/turf_decal/trimline/red/filled/line{
+"gtd" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
},
-/obj/machinery/airalarm/directional/west,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{
+ dir = 1
+ },
/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/security/prison)
+/turf/open/floor/iron/white/smooth_half,
+/area/station/medical/cryo)
"gtm" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -18318,16 +18311,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/pumproom)
-"gtH" = (
-/obj/machinery/door/airlock{
- name = "Prison Showers"
- },
-/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/iron/freezer,
-/area/station/security/prison/shower)
"gtR" = (
/obj/effect/turf_decal/tile/blue,
/obj/effect/turf_decal/tile/green{
@@ -18354,28 +18337,10 @@
},
/turf/open/floor/iron/dark,
/area/station/security/checkpoint/science)
-"gub" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"guo" = (
/obj/machinery/door/poddoor/incinerator_atmos_main,
/turf/open/floor/engine,
/area/station/maintenance/disposal/incinerator)
-"guq" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"guC" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 8
@@ -18393,21 +18358,6 @@
},
/turf/open/floor/iron/white,
/area/station/science/ordnance/testlab)
-"guI" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/item/reagent_containers/cup/bucket{
- pixel_x = -6;
- pixel_y = 27
- },
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/service/janitor)
"guL" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -18482,6 +18432,15 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron,
/area/station/science/xenobiology)
+"gvd" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 10
+ },
+/obj/structure/cable,
+/obj/structure/sign/eyechart/directional/west,
+/turf/open/floor/iron/white,
+/area/station/medical/cryo)
"gvg" = (
/obj/structure/table/reinforced,
/obj/machinery/door/poddoor/shutters{
@@ -18611,6 +18570,15 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
+"gyl" = (
+/obj/effect/spawner/structure/window,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 1;
+ name = "Cargo Lockdown Shutters";
+ id = "cargolockdown"
+ },
+/turf/open/floor/plating,
+/area/station/cargo/sorting)
"gyo" = (
/obj/structure/cable,
/obj/machinery/door/airlock/mining{
@@ -18623,6 +18591,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
+"gyz" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/sink/directional/east,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology)
"gyG" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/delivery,
@@ -18762,20 +18737,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/virology)
-"gAH" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/light/floor,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology)
"gAI" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -18818,6 +18779,14 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"gBt" = (
+/obj/machinery/door/airlock{
+ id_tag = "Toilet3";
+ name = "Unit 3"
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/freezer,
+/area/station/commons/toilet/restrooms)
"gBx" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -18982,12 +18951,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
-"gEF" = (
-/obj/structure/rack,
-/obj/item/clothing/gloves/color/fyellow,
-/obj/effect/spawner/random/maintenance/two,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
"gEG" = (
/obj/machinery/door/airlock/maintenance,
/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
@@ -19037,6 +19000,15 @@
/obj/structure/table/wood,
/turf/open/floor/carpet,
/area/station/service/chapel/funeral)
+"gEZ" = (
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"gFd" = (
/obj/machinery/power/terminal,
/obj/machinery/light/small/directional/east,
@@ -19147,6 +19119,14 @@
},
/turf/open/floor/iron,
/area/station/security/holding_cell)
+"gHq" = (
+/obj/effect/turf_decal/trimline/blue/filled/warning{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"gHw" = (
/obj/machinery/atmospherics/components/tank,
/obj/effect/turf_decal/siding/purple{
@@ -19178,6 +19158,15 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
+"gHK" = (
+/obj/structure/cable,
+/obj/machinery/button/door/directional/east{
+ name = "Cargo Lockdown";
+ id = "cargolockdown";
+ req_access = list("cargo")
+ },
+/turf/open/floor/catwalk_floor/iron,
+/area/station/cargo/storage)
"gHY" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -19215,6 +19204,14 @@
/obj/effect/turf_decal/tile/bar,
/turf/open/floor/iron/cafeteria,
/area/station/service/kitchen)
+"gIt" = (
+/obj/effect/turf_decal/trimline/blue/filled/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/white,
+/area/station/medical/treatment_center)
"gIB" = (
/obj/structure/light_construct/directional/north,
/obj/effect/decal/cleanable/greenglow,
@@ -19493,6 +19490,19 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/engineering/main)
+"gMN" = (
+/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/turf_decal/siding/purple/corner{
+ dir = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"gMQ" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -19557,6 +19567,12 @@
/obj/structure/window/reinforced/spawner/directional/south,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/aisat/exterior)
+"gNR" = (
+/obj/structure/girder,
+/obj/effect/spawner/random/structure/grille,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"gNT" = (
/obj/structure/cable,
/obj/effect/turf_decal/trimline/blue/filled/line{
@@ -19675,18 +19691,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/carpet,
/area/station/command/heads_quarters/captain/private)
-"gPY" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/spawner/random/trash/garbage{
- spawn_scatter_radius = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"gQa" = (
/obj/effect/turf_decal/siding/thinplating_new/corner,
/obj/effect/turf_decal/trimline/brown/filled/corner,
@@ -19747,6 +19751,17 @@
/obj/item/wrench,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"gSr" = (
+/obj/structure/bed/medical/emergency,
+/obj/machinery/camera/directional/west{
+ c_tag = "Gateway - Atrium"
+ },
+/obj/effect/turf_decal/bot{
+ dir = 1
+ },
+/obj/machinery/wall_healer/directional/west,
+/turf/open/floor/iron,
+/area/station/command/gateway)
"gSu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
@@ -19775,12 +19790,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"gTn" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
"gTo" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/security/glass{
@@ -19967,6 +19976,11 @@
/obj/effect/spawner/structure/window/reinforced/plasma,
/turf/open/floor/plating,
/area/station/engineering/atmos)
+"gWr" = (
+/obj/structure/cable,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"gWv" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -20000,14 +20014,6 @@
/obj/structure/bed/medical/emergency,
/turf/open/floor/iron/white,
/area/station/security/medical)
-"gXd" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/service/janitor)
"gXe" = (
/obj/structure/mirror/directional/west,
/obj/item/lipstick/black,
@@ -20041,6 +20047,15 @@
"gXu" = (
/turf/open/floor/plating,
/area/station/engineering/main)
+"gXv" = (
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/surgery/theatre)
"gXw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/turf/open/floor/circuit/telecomms,
@@ -20131,6 +20146,15 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"gYR" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"gYU" = (
/turf/closed/wall,
/area/station/service/chapel/funeral)
@@ -20165,6 +20189,17 @@
/obj/structure/window/reinforced/spawner/directional/south,
/turf/open/floor/iron/white,
/area/station/science/lab)
+"gZC" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/light/directional/south,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
"gZM" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/structure/window/reinforced/spawner/directional/north,
@@ -20211,12 +20246,6 @@
/obj/item/pen/invisible,
/turf/open/floor/engine/cult,
/area/station/service/library)
-"haE" = (
-/obj/structure/mirror/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/commons/toilet/auxiliary)
"haP" = (
/obj/structure/chair{
dir = 1
@@ -20332,6 +20361,22 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
/turf/open/floor/iron/white/corner,
/area/station/hallway/secondary/entry)
+"hcH" = (
+/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/turf_decal/tile/purple/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/purple{
+ dir = 1
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"hcP" = (
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
@@ -20458,6 +20503,11 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"heY" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"hfa" = (
/obj/machinery/computer/crew,
/obj/effect/turf_decal/tile/green/half/contrasted{
@@ -20499,6 +20549,25 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/checker,
/area/station/engineering/storage_shared)
+"hfJ" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Surgery C Maintenance"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/aft/greater)
+"hgi" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"hgt" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -20694,6 +20763,11 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"hkh" = (
+/obj/structure/cable,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/security/prison)
"hko" = (
/obj/effect/turf_decal/bot{
dir = 1
@@ -20764,6 +20838,25 @@
},
/turf/open/floor/iron,
/area/station/cargo/sorting)
+"hlg" = (
+/obj/structure/safe/vault,
+/obj/item/storage/briefcase/secure/riches,
+/obj/item/storage/backpack/duffelbag/syndie/hitman,
+/obj/item/card/id/advanced/silver/reaper,
+/obj/item/lazarus_injector,
+/obj/item/gun/energy/disabler,
+/obj/item/gun/ballistic/revolver/russian,
+/obj/item/ammo_box/speedloader/c357,
+/obj/item/clothing/neck/stethoscope,
+/obj/item/book{
+ desc = "An undeniably handy book.";
+ icon_state = "bookknock";
+ name = "\improper A Simpleton's Guide to Safe-cracking with Stethoscopes"
+ },
+/obj/effect/turf_decal/bot_white/left,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/ai_monitored/command/nuke_storage)
"hlj" = (
/obj/structure/table/wood,
/obj/machinery/computer/security/wooden_tv{
@@ -20860,6 +20953,16 @@
/obj/structure/cable/multilayer/connected,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/aisat/exterior)
+"hmo" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 5
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/surgery/theatre)
"hmq" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/blue,
@@ -20874,14 +20977,12 @@
},
/turf/open/floor/iron,
/area/station/security/brig)
-"hmy" = (
-/obj/machinery/door/window/left/directional/south{
- name = "Permabrig Kitchen"
- },
-/obj/effect/turf_decal/tile/red/opposingcorners,
+"hmY" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/security/prison/mess)
+/turf/open/floor/iron,
+/area/station/commons/toilet/auxiliary)
"hnn" = (
/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
dir = 4
@@ -20931,6 +21032,12 @@
/obj/effect/turf_decal/trimline/brown/filled/line,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
+"hoh" = (
+/obj/machinery/airalarm/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/commons/toilet/auxiliary)
"hor" = (
/obj/machinery/door/airlock/maintenance{
name = "Warehouse Maintenance"
@@ -21103,6 +21210,16 @@
dir = 8
},
/area/station/service/chapel/office)
+"hsq" = (
+/obj/effect/landmark/event_spawn,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/service/hydroponics)
"hsF" = (
/obj/machinery/door/airlock{
id_tag = "AuxToilet3";
@@ -21280,6 +21397,12 @@
/obj/structure/window/reinforced/spawner/directional/north,
/turf/open/floor/plating,
/area/station/security/checkpoint/customs)
+"hvo" = (
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"hvr" = (
/obj/machinery/camera/directional/south{
c_tag = "Central Primary Hallway - Fore - Courtroom"
@@ -21448,31 +21571,6 @@
/obj/machinery/status_display/evac/directional/south,
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"hxz" = (
-/obj/item/reagent_containers/spray/plantbgone{
- pixel_y = 3
- },
-/obj/item/reagent_containers/spray/plantbgone{
- pixel_x = 8;
- pixel_y = 8
- },
-/obj/item/reagent_containers/spray/plantbgone{
- pixel_x = 13;
- pixel_y = 5
- },
-/obj/item/watertank,
-/obj/item/grenade/chem_grenade/antiweed,
-/obj/structure/table/glass,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/structure/sign/poster/official/random/directional/south,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/service/hydroponics)
"hxB" = (
/obj/item/kirbyplants/organic/plant21,
/turf/open/floor/iron/grimy,
@@ -21549,6 +21647,12 @@
/obj/structure/window/spawner/directional/west,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
+"hyI" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"hyN" = (
/obj/structure/sign/warning/secure_area,
/turf/closed/wall/r_wall,
@@ -21639,15 +21743,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/commons/locker)
-"hAA" = (
-/obj/effect/spawner/structure/window,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 4;
- name = "Cargo Lockdown Shutters";
- id = "cargolockdown"
- },
-/turf/open/floor/plating,
-/area/station/cargo/lobby)
"hAF" = (
/obj/machinery/camera/directional/south{
c_tag = "MiniSat Exterior Access";
@@ -21670,14 +21765,6 @@
/obj/structure/table,
/turf/open/floor/iron,
/area/station/security/prison/visit)
-"hAN" = (
-/obj/structure/cable,
-/obj/effect/spawner/random/trash/garbage{
- spawn_scatter_radius = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"hAW" = (
/obj/machinery/camera/directional/south{
c_tag = "Research Director's Office - Observation Cage";
@@ -21710,6 +21797,16 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"hBu" = (
+/obj/machinery/door/airlock{
+ name = "Hydroponics Backroom"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"hBB" = (
/obj/machinery/computer/rdconsole{
dir = 8
@@ -21719,12 +21816,6 @@
},
/turf/open/floor/iron/white,
/area/station/command/heads_quarters/rd)
-"hBC" = (
-/obj/structure/kitchenspike_frame,
-/obj/effect/decal/cleanable/blood/old,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"hBD" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/components/unary/airlock_pump{
@@ -22024,17 +22115,6 @@
/obj/structure/fake_stairs/directional/south,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"hIx" = (
-/obj/machinery/holopad,
-/obj/effect/turf_decal/box/white{
- color = "#52B4E9"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/landmark/start/medical_doctor,
-/obj/effect/landmark/event_spawn,
-/obj/machinery/duct,
-/turf/open/floor/iron/white/smooth_large,
-/area/station/medical/surgery/aft)
"hIJ" = (
/obj/structure/cable,
/obj/machinery/chem_heater/withbuffer,
@@ -22217,6 +22297,13 @@
},
/turf/open/floor/plating,
/area/station/maintenance/aft/greater)
+"hMf" = (
+/obj/effect/turf_decal/siding/purple{
+ dir = 1
+ },
+/obj/machinery/wall_healer/directional/south,
+/turf/open/floor/iron/white,
+/area/station/science/research)
"hMn" = (
/obj/effect/turf_decal/trimline/brown/filled/line{
dir = 4
@@ -22345,14 +22432,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"hOR" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/spawner/random/trash/soap{
- spawn_scatter_radius = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/freezer,
-/area/station/security/prison/shower)
"hPk" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -22634,10 +22713,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"hSP" = (
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"hSQ" = (
/obj/structure/bodycontainer/morgue/beeper_off{
dir = 8
@@ -22783,27 +22858,6 @@
/obj/effect/landmark/navigate_destination,
/turf/open/floor/iron/white,
/area/station/medical/virology)
-"hVX" = (
-/obj/structure/toilet{
- pixel_y = 8;
- dir = 4
- },
-/obj/machinery/light/small/directional/west,
-/obj/machinery/newscaster/directional/south,
-/obj/effect/landmark/blobstart,
-/obj/effect/landmark/start/hangover,
-/obj/machinery/button/door/directional/west{
- id = "Toilet2";
- name = "Lock Control";
- normaldoorcontrol = 1;
- specialfunctions = 4
- },
-/obj/effect/spawner/random/trash/graffiti{
- pixel_x = -32;
- spawn_loot_chance = 50
- },
-/turf/open/floor/iron/freezer,
-/area/station/commons/toilet/restrooms)
"hVY" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -22889,6 +22943,20 @@
/obj/effect/turf_decal/tile/red/opposingcorners,
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
+"hXZ" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/sorting/mail{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/mail_sorting/science/xenobiology,
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology)
"hYd" = (
/obj/machinery/microwave{
pixel_x = -3;
@@ -23671,26 +23739,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"ikS" = (
-/obj/item/radio/intercom/directional/east,
-/obj/structure/table/wood,
-/obj/item/flashlight/lamp/green{
- pixel_x = 5;
- pixel_y = 14
- },
-/obj/item/folder/white{
- pixel_x = 6;
- pixel_y = -1
- },
-/obj/item/paper_bin/carbon{
- pixel_x = -5;
- pixel_y = 1
- },
-/obj/item/pen{
- pixel_x = -5
- },
-/turf/open/floor/carpet,
-/area/station/medical/psychology)
"ikY" = (
/obj/structure/sign/warning/secure_area/directional/south,
/turf/open/floor/plating,
@@ -23850,6 +23898,21 @@
/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"inl" = (
+/obj/structure/noticeboard/directional/south,
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood,
+/obj/machinery/button/curtain{
+ pixel_x = -7;
+ pixel_y = -23;
+ id = "psychology_curtains";
+ name = "psychology curtains button"
+ },
+/obj/machinery/computer/records/medical/laptop{
+ dir = 1
+ },
+/turf/open/floor/wood/parquet,
+/area/station/medical/psychology)
"inw" = (
/obj/machinery/disposal/bin{
desc = "A pneumatic waste disposal unit. This one leads into space!";
@@ -24207,13 +24270,6 @@
/obj/effect/turf_decal/tile/yellow/fourcorners,
/turf/open/floor/iron,
/area/station/engineering/break_room)
-"ita" = (
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/machinery/wall_healer/directional/west,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"itg" = (
/obj/effect/landmark/event_spawn,
/obj/effect/turf_decal/tile/bar,
@@ -24241,17 +24297,6 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/science/research)
-"itW" = (
-/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 = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"itY" = (
/obj/machinery/door/poddoor/preopen{
id = "Engineering";
@@ -24278,11 +24323,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"iuB" = (
-/obj/effect/spawner/random/food_or_drink/donkpockets,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"iva" = (
/obj/machinery/door/airlock/maintenance{
name = "Security Maintenance"
@@ -24442,6 +24482,17 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/aisat/exterior)
+"ixA" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/landmark/navigate_destination,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology)
"ixP" = (
/obj/machinery/firealarm/directional/south,
/obj/structure/cable,
@@ -24498,25 +24549,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard/lesser)
-"iyC" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/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/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"iyV" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/navbeacon{
@@ -24622,10 +24654,6 @@
/obj/item/radio/intercom/directional/west,
/turf/open/floor/wood/large,
/area/station/command/heads_quarters/qm)
-"izJ" = (
-/obj/structure/reagent_dispensers/plumbed,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"izZ" = (
/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
dir = 4
@@ -24771,6 +24799,14 @@
/obj/structure/table/wood,
/turf/open/floor/wood,
/area/station/commons/vacant_room/office)
+"iBO" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 8
+ },
+/obj/machinery/airalarm/directional/west,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/security/prison)
"iCj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
/obj/effect/mapping_helpers/airlock/locked,
@@ -24808,15 +24844,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/circuit,
/area/station/ai_monitored/turret_protected/ai)
-"iCX" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"iDe" = (
/obj/structure/table,
/obj/item/reagent_containers/cup/glass/drinkingglass,
@@ -24993,6 +25020,23 @@
/obj/effect/turf_decal/box,
/turf/open/floor/iron/dark/smooth_large,
/area/station/cargo/bitrunning/den)
+"iGL" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 8;
+ id = "XenoPens";
+ name = "Xenobiology Lockdown"
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/science/xenobiology)
"iHc" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -25257,6 +25301,16 @@
/obj/structure/cable,
/turf/open/floor/iron/dark/textured_half,
/area/station/cargo/bitrunning/den)
+"iMa" = (
+/obj/machinery/door/airlock{
+ name = "Prison Showers"
+ },
+/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/iron/freezer,
+/area/station/security/prison/shower)
"iMd" = (
/obj/structure/bed/medical/emergency{
dir = 4
@@ -25342,14 +25396,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
-"iMQ" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/mob/living/basic/lizard/wags_his_tail,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/service/janitor)
"iMR" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -25643,13 +25689,6 @@
/obj/structure/extinguisher_cabinet/directional/east,
/turf/open/floor/iron/white,
/area/station/science/research)
-"iRg" = (
-/obj/structure/chair/stool/directional/west,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/landmark/event_spawn,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"iRh" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 8
@@ -25705,6 +25744,11 @@
/obj/effect/mapping_helpers/airlock/access/any/engineering/tcoms,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/aisat/foyer)
+"iSd" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"iSh" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/yellow/half/contrasted{
@@ -25760,17 +25804,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"iTH" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/machinery/light/directional/south,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
"iTO" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -25834,14 +25867,6 @@
"iUv" = (
/turf/closed/wall/r_wall,
/area/station/security/prison)
-"iUJ" = (
-/obj/effect/turf_decal/trimline/blue/filled/warning{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
"iVi" = (
/obj/machinery/door/airlock{
id_tag = "Cabin6";
@@ -26184,6 +26209,36 @@
/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
/turf/open/floor/iron/white,
/area/station/science/ordnance/office)
+"iZI" = (
+/obj/item/reagent_containers/spray/plantbgone{
+ pixel_y = 3
+ },
+/obj/item/reagent_containers/spray/plantbgone{
+ pixel_x = 8;
+ pixel_y = 8
+ },
+/obj/item/reagent_containers/spray/plantbgone{
+ pixel_x = 13;
+ pixel_y = 5
+ },
+/obj/item/watertank,
+/obj/item/grenade/chem_grenade/antiweed,
+/obj/structure/table/glass,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/structure/sign/poster/official/random/directional/south,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/service/hydroponics)
+"iZX" = (
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"jaj" = (
/obj/structure/chair,
/obj/structure/cable,
@@ -26216,10 +26271,6 @@
/obj/effect/decal/cleanable/blood/oil/slippery,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"jaM" = (
-/obj/structure/reagent_dispensers/plumbed,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"jaO" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
dir = 6
@@ -26299,44 +26350,6 @@
/obj/effect/spawner/random/armory/laser_gun,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/security/armory)
-"jcg" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/machinery/light/directional/west,
-/obj/machinery/button/door/directional/west{
- id = "qmroom";
- name = "Privacy Blast Doors Control";
- pixel_y = -10
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/machinery/light_switch/directional/west{
- pixel_x = -41;
- pixel_y = 5
- },
-/obj/machinery/button/door/directional/west{
- pixel_y = -1;
- name = "Cargo Lockdown";
- id = "cargolockdown";
- req_access = list("cargo")
- },
-/obj/machinery/button/door/directional/west{
- pixel_y = 8;
- name = "Cargo Lobby Lockdown";
- id = "cargolobbylockdown";
- req_access = list("cargo")
- },
-/turf/open/floor/wood/large,
-/area/station/command/heads_quarters/qm)
"jcw" = (
/obj/machinery/atmospherics/components/tank,
/turf/open/floor/iron/dark,
@@ -26450,6 +26463,19 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"jen" = (
+/obj/machinery/door/airlock/public/glass{
+ name = "Prison Cafeteria"
+ },
+/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/door/firedoor,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/security/prison/mess)
"jew" = (
/obj/effect/turf_decal/stripes/red/line{
dir = 4
@@ -26567,6 +26593,16 @@
/obj/effect/turf_decal/trimline/green/line,
/turf/open/floor/iron/dark,
/area/station/service/cafeteria)
+"jgn" = (
+/obj/structure/filingcabinet/white,
+/obj/machinery/camera/directional/south{
+ c_tag = "Medbay Psychology Office";
+ network = list("ss13","medbay")
+ },
+/obj/effect/turf_decal/siding/wood,
+/obj/item/radio/intercom/directional/south,
+/turf/open/floor/wood/parquet,
+/area/station/medical/psychology)
"jgt" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 1;
@@ -26688,6 +26724,17 @@
/obj/machinery/meter,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
+"jio" = (
+/obj/machinery/holopad,
+/obj/effect/turf_decal/box/white{
+ color = "#52B4E9"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/start/medical_doctor,
+/obj/effect/landmark/event_spawn,
+/obj/machinery/duct,
+/turf/open/floor/iron/white/smooth_large,
+/area/station/medical/surgery/aft)
"jis" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass{
@@ -26718,21 +26765,6 @@
},
/turf/open/floor/iron,
/area/station/science/xenobiology)
-"jjm" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/holopad,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/purple/fourcorners,
-/obj/effect/turf_decal/siding/purple/corner{
- dir = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"jjn" = (
/obj/effect/turf_decal/stripes/line,
/obj/structure/cable,
@@ -26892,11 +26924,6 @@
"jlU" = (
/turf/closed/wall/r_wall,
/area/station/science/xenobiology)
-"jlY" = (
-/obj/structure/urinal/directional/north,
-/obj/effect/landmark/start/hangover,
-/turf/open/floor/iron/freezer,
-/area/station/commons/toilet/restrooms)
"jmc" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 4
@@ -27198,15 +27225,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"jrp" = (
-/obj/structure/cable,
-/obj/effect/spawner/random/maintenance,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/sign/poster/contraband/random/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"jrI" = (
/obj/machinery/door/poddoor/massdriver_trash,
/obj/machinery/atmos_shield_gen/active{
@@ -27284,13 +27302,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
-"jsq" = (
-/obj/structure/toilet{
- pixel_y = 8
- },
-/obj/structure/light_construct/small/directional/south,
-/turf/open/floor/plating,
-/area/station/maintenance/aft/greater)
"jsr" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -27567,6 +27578,17 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/wood,
/area/station/service/library)
+"jwI" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"jwP" = (
/obj/structure/table,
/obj/item/paper_bin,
@@ -27619,19 +27641,6 @@
/obj/structure/window/reinforced/spawner/directional/south,
/turf/open/floor/wood,
/area/station/command/heads_quarters/captain/private)
-"jxH" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology)
"jxM" = (
/obj/item/radio/intercom/directional/west{
pixel_y = -10
@@ -27759,12 +27768,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"jzw" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology)
"jzD" = (
/obj/machinery/holopad/secure,
/turf/open/floor/iron/dark,
@@ -27805,6 +27808,12 @@
/obj/structure/cable,
/turf/open/floor/carpet,
/area/station/service/chapel)
+"jAq" = (
+/obj/structure/cable,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"jAs" = (
/obj/structure/window/spawner/directional/east,
/obj/structure/window/spawner/directional/north,
@@ -27844,6 +27853,15 @@
},
/turf/open/floor/iron/grimy,
/area/station/security/detectives_office)
+"jAT" = (
+/obj/structure/cable,
+/obj/machinery/door/poddoor/shutters/preopen{
+ name = "QM Privacy Shutters";
+ id = "qmroom"
+ },
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/station/command/heads_quarters/qm)
"jAV" = (
/obj/machinery/atmospherics/pipe/smart/manifold/dark/visible{
dir = 1
@@ -28046,6 +28064,14 @@
/obj/structure/sign/poster/party_game,
/turf/closed/wall,
/area/space/nearstation)
+"jFw" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/security/prison)
"jFy" = (
/obj/effect/landmark/generic_maintenance_landmark,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -28060,6 +28086,14 @@
/obj/effect/turf_decal/tile/blue/fourcorners,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"jFF" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/machinery/duct,
+/turf/open/floor/iron/dark/textured,
+/area/station/medical/cryo)
"jFK" = (
/obj/machinery/washing_machine,
/obj/effect/decal/cleanable/dirt,
@@ -28162,14 +28196,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"jGG" = (
-/obj/machinery/holopad,
-/obj/effect/turf_decal/box/white{
- color = "#52B4E9"
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white/smooth_large,
-/area/station/medical/treatment_center)
"jGN" = (
/obj/machinery/computer/station_alert/station_only{
dir = 1
@@ -29037,12 +29063,6 @@
},
/turf/open/floor/iron,
/area/station/security/brig)
-"jVx" = (
-/obj/effect/turf_decal/trimline/blue/filled/corner{
- dir = 1
- },
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
"jVy" = (
/obj/machinery/portable_atmospherics/pump/lil_pump,
/obj/effect/turf_decal/siding/purple{
@@ -29064,16 +29084,6 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel/office)
-"jVY" = (
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 1;
- name = "Cargo Lockdown Shutters";
- id = "cargolockdown"
- },
-/obj/structure/cable,
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/security/checkpoint/supply)
"jVZ" = (
/obj/structure/table/reinforced,
/obj/machinery/door/window/right/directional/west{
@@ -29207,6 +29217,22 @@
/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
/turf/closed/wall/r_wall,
/area/station/engineering/atmos)
+"jYw" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/service)
"jYy" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 1
@@ -29577,6 +29603,14 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"kge" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"kgg" = (
/obj/structure/railing,
/obj/structure/railing{
@@ -29612,6 +29646,14 @@
/obj/machinery/door/poddoor/incinerator_ordmix,
/turf/open/floor/engine/vacuum,
/area/station/science/ordnance/burnchamber)
+"kgR" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"kgV" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -29702,6 +29744,11 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
+"kim" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating,
+/area/station/maintenance/fore)
"kir" = (
/obj/structure/disposalpipe/sorting/mail/flip{
dir = 4
@@ -29763,18 +29810,6 @@
/obj/effect/mapping_helpers/mail_sorting/science/rd_office,
/turf/open/floor/iron/white,
/area/station/science/research)
-"kjM" = (
-/obj/effect/spawner/structure/window,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 4;
- name = "Cargo Lockdown Shutters";
- id = "cargolockdown"
- },
-/turf/open/floor/plating,
-/area/station/cargo/lobby)
"kjO" = (
/obj/structure/table,
/obj/item/restraints/handcuffs/cable/white,
@@ -30018,19 +30053,20 @@
/obj/structure/sign/warning/secure_area,
/turf/closed/wall/r_wall,
/area/station/command/gateway)
+"kna" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/item/cigbutt/roach,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
"knd" = (
/obj/effect/landmark/start/assistant,
/obj/structure/chair/comfy/black,
/obj/machinery/light/small/directional/north,
/turf/open/floor/wood,
/area/station/service/library)
-"knf" = (
-/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/freezer,
-/area/station/commons/toilet/restrooms)
"knt" = (
/obj/machinery/mech_bay_recharge_port,
/obj/structure/cable,
@@ -30286,6 +30322,12 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/command/gateway)
+"ksC" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
"ksM" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -30361,6 +30403,16 @@
/obj/effect/turf_decal/trimline/blue/filled/corner,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"kux" = (
+/obj/structure/cable,
+/obj/machinery/door/poddoor/shutters/preopen{
+ name = "QM Privacy Shutters";
+ id = "qmroom";
+ dir = 4
+ },
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/station/command/heads_quarters/qm)
"kuD" = (
/obj/structure/lattice,
/obj/machinery/atmospherics/components/unary/passive_vent{
@@ -30607,15 +30659,6 @@
/obj/item/toy/figure/cargotech,
/turf/open/space/basic,
/area/space/nearstation)
-"kyL" = (
-/obj/structure/cable,
-/obj/machinery/door/poddoor/shutters/preopen{
- name = "QM Privacy Shutters";
- id = "qmroom"
- },
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/command/heads_quarters/qm)
"kyQ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -30673,6 +30716,16 @@
/obj/effect/mapping_helpers/airlock/access/any/security/general,
/turf/open/floor/iron,
/area/station/security/courtroom)
+"kzE" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/spawner/structure/window,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 1;
+ name = "Cargo Lockdown Shutters";
+ id = "cargolockdown"
+ },
+/turf/open/floor/plating,
+/area/station/cargo/sorting)
"kzG" = (
/turf/open/floor/iron/recharge_floor,
/area/station/maintenance/port/aft)
@@ -30865,17 +30918,6 @@
"kCZ" = (
/turf/closed/wall,
/area/station/service/hydroponics)
-"kDa" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/firealarm/directional/west,
-/obj/machinery/camera/directional/west{
- c_tag = "Medbay Main Hallway - South";
- network = list("ss13","medbay")
- },
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
"kDb" = (
/obj/structure/chair/office/light{
dir = 1
@@ -31210,16 +31252,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"kJE" = (
-/obj/structure/cable,
-/obj/machinery/door/poddoor/shutters/preopen{
- name = "QM Privacy Shutters";
- id = "qmroom";
- dir = 4
- },
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/command/heads_quarters/qm)
"kJO" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -31238,17 +31270,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"kKh" = (
-/obj/effect/turf_decal/trimline/blue/filled/corner{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/blue/filled/corner,
-/obj/structure/chair{
- dir = 4
- },
-/obj/structure/sign/poster/official/help_others/directional/south,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
"kKk" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -31450,15 +31471,6 @@
/obj/effect/turf_decal/tile/purple,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"kMo" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 10
- },
-/obj/structure/cable,
-/obj/structure/sign/eyechart/directional/west,
-/turf/open/floor/iron/white,
-/area/station/medical/cryo)
"kMr" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/obj/effect/turf_decal/siding/wood{
@@ -31546,6 +31558,13 @@
/obj/effect/turf_decal/tile/red/fourcorners,
/turf/open/floor/iron/dark,
/area/station/security/checkpoint/medical)
+"kOu" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/security/prison/mess)
"kOB" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -31666,29 +31685,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"kQA" = (
-/obj/machinery/mineral/ore_redemption{
- dir = 4;
- input_dir = 8;
- output_dir = 4
- },
-/obj/effect/turf_decal/delivery,
-/obj/machinery/door/firedoor,
-/obj/machinery/door/window/left/directional/east{
- name = "Ore Redemption Window"
- },
-/obj/machinery/door/window/left/directional/west{
- req_access = list("cargo");
- name = "Cargo Security Window"
- },
-/obj/effect/turf_decal/tile/brown/fourcorners,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 4;
- name = "Cargo Lockdown Shutters";
- id = "cargolockdown"
- },
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"kQO" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/mob/living/basic/sloth/citrus,
@@ -31743,13 +31739,13 @@
/obj/machinery/announcement_system,
/turf/open/floor/iron/grimy,
/area/station/tcommsat/computer)
-"kRy" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/sink/directional/east,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology)
+"kRq" = (
+/obj/structure/chair/stool/directional/west,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/landmark/event_spawn,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"kRA" = (
/obj/effect/spawner/random/engineering/atmospherics_portable,
/obj/effect/mapping_helpers/broken_floor,
@@ -31864,15 +31860,6 @@
/obj/item/pen,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
-"kTZ" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"kUb" = (
/obj/machinery/atmospherics/components/unary/thermomachine/heater/on,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -32272,31 +32259,12 @@
/obj/structure/closet/crate,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
-"kZQ" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"laa" = (
/obj/machinery/light/directional/east,
/turf/open/floor/iron/chapel{
dir = 1
},
/area/station/service/chapel)
-"laf" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/spawner/random/trash/garbage{
- spawn_scatter_radius = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"lah" = (
/obj/structure/rack,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -32497,6 +32465,14 @@
/obj/machinery/light/directional/south,
/turf/open/floor/iron,
/area/station/engineering/gravity_generator)
+"leI" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/service/janitor)
"leP" = (
/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
dir = 4
@@ -32528,11 +32504,6 @@
/obj/structure/cable,
/turf/open/floor/iron/textured,
/area/station/medical/chem_storage)
-"lfm" = (
-/obj/machinery/light_switch/directional/north,
-/obj/machinery/duct,
-/turf/open/floor/iron/freezer,
-/area/station/security/prison/shower)
"lfu" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -32544,6 +32515,14 @@
},
/turf/open/floor/iron/white,
/area/station/science/research)
+"lfU" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/mob/living/basic/lizard/wags_his_tail,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/service/janitor)
"lge" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -32639,6 +32618,16 @@
},
/turf/open/floor/wood,
/area/station/service/theater)
+"lix" = (
+/obj/structure/sign/poster/official/cleanliness/directional/west,
+/obj/structure/sink/directional/south,
+/obj/effect/turf_decal/tile/green/anticorner/contrasted{
+ dir = 1
+ },
+/obj/structure/mirror/directional/north,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"liz" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
@@ -32811,21 +32800,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"llx" = (
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 4;
- name = "Cargo Lobby Lockdown Shutters";
- id = "cargolobbylockdown"
- },
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"llC" = (
/obj/effect/landmark/event_spawn,
/turf/open/floor/glass/reinforced,
@@ -32841,6 +32815,20 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/engineering/break_room)
+"lme" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/firedoor,
+/obj/machinery/computer/cargo/request{
+ dir = 1
+ },
+/obj/structure/window/spawner/directional/south,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 1;
+ name = "Cargo Lockdown Shutters";
+ id = "cargolockdown"
+ },
+/turf/open/floor/plating,
+/area/station/cargo/sorting)
"lmk" = (
/obj/item/radio/intercom/directional/south,
/obj/structure/bodycontainer/morgue{
@@ -32856,11 +32844,6 @@
dir = 8
},
/area/station/medical/morgue)
-"lmn" = (
-/obj/structure/cable,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"lmx" = (
/obj/machinery/light_switch/directional/west,
/obj/effect/decal/cleanable/cobweb,
@@ -32880,6 +32863,18 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel)
+"lmy" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
+"lmC" = (
+/obj/structure/reagent_dispensers/plumbed,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"lmF" = (
/obj/effect/turf_decal/bot_white/right,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -32899,13 +32894,6 @@
/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"lmT" = (
-/obj/effect/turf_decal/trimline/red/filled/corner{
- dir = 8
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/security/prison)
"lnc" = (
/turf/closed/wall,
/area/station/commons/dorms)
@@ -32923,14 +32911,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/hallway/primary/fore)
-"lnM" = (
-/obj/item/reagent_containers/cup/bucket,
-/obj/item/mop,
-/obj/item/reagent_containers/cup/bottle/ammonia,
-/obj/structure/cable,
-/mob/living/basic/mouse/brown/tom,
-/turf/open/floor/plating,
-/area/station/security/prison/safe)
"lnP" = (
/obj/effect/spawner/random/structure/closet_maintenance,
/turf/open/floor/plating,
@@ -32969,6 +32949,16 @@
},
/turf/open/floor/iron,
/area/station/engineering/main)
+"loM" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"loR" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -33015,22 +33005,6 @@
/obj/machinery/biogenerator,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"lpN" = (
-/obj/machinery/door/airlock/maintenance,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "viro-passthrough"
- },
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/medical/medbay/central)
"lpR" = (
/obj/structure/table,
/obj/effect/turf_decal/siding{
@@ -33155,6 +33129,13 @@
},
/turf/open/floor/plating,
/area/station/medical/chemistry)
+"lsb" = (
+/obj/effect/spawner/random/trash/garbage{
+ spawn_scatter_radius = 1
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"lsf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -33269,16 +33250,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/service)
-"ltX" = (
-/obj/effect/landmark/event_spawn,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/service/hydroponics)
"lug" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -33360,14 +33331,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/security/medical)
-"lvU" = (
-/obj/machinery/door/airlock{
- id_tag = "Toilet4";
- name = "Unit 4"
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/freezer,
-/area/station/commons/toilet/restrooms)
"lvZ" = (
/obj/machinery/door/firedoor,
/obj/structure/disposalpipe/segment,
@@ -33832,23 +33795,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"lHB" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/firedoor,
-/obj/machinery/computer/cargo/request{
- dir = 1
- },
-/obj/structure/window/spawner/directional/south,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 1;
- name = "Cargo Lockdown Shutters";
- id = "cargolockdown"
- },
-/turf/open/floor/plating,
-/area/station/cargo/sorting)
-"lHH" = (
-/turf/open/floor/iron/freezer,
-/area/station/commons/fitness/recreation)
"lHK" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/west,
@@ -33865,6 +33811,44 @@
/obj/machinery/atmospherics/components/unary/thermomachine/freezer,
/turf/open/floor/iron,
/area/station/engineering/atmos/pumproom)
+"lIA" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/machinery/light/directional/west,
+/obj/machinery/button/door/directional/west{
+ id = "qmroom";
+ name = "Privacy Blast Doors Control";
+ pixel_y = -10
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/obj/machinery/light_switch/directional/west{
+ pixel_x = -41;
+ pixel_y = 5
+ },
+/obj/machinery/button/door/directional/west{
+ pixel_y = -1;
+ name = "Cargo Lockdown";
+ id = "cargolockdown";
+ req_access = list("cargo")
+ },
+/obj/machinery/button/door/directional/west{
+ pixel_y = 8;
+ name = "Cargo Lobby Lockdown";
+ id = "cargolobbylockdown";
+ req_access = list("cargo")
+ },
+/turf/open/floor/wood/large,
+/area/station/command/heads_quarters/qm)
"lIB" = (
/obj/structure/table/reinforced,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -33876,6 +33860,12 @@
},
/turf/open/floor/iron,
/area/station/service/bar)
+"lIS" = (
+/obj/structure/kitchenspike_frame,
+/obj/effect/decal/cleanable/blood/old,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"lIX" = (
/obj/structure/chair/comfy/brown,
/turf/open/floor/engine/cult,
@@ -33891,27 +33881,6 @@
},
/turf/open/floor/iron/grimy,
/area/station/tcommsat/computer)
-"lJm" = (
-/obj/structure/toilet{
- pixel_y = 8;
- dir = 4
- },
-/obj/machinery/light/small/directional/west,
-/obj/machinery/newscaster/directional/south,
-/obj/effect/landmark/start/assistant,
-/obj/effect/landmark/start/hangover,
-/obj/effect/spawner/random/trash/graffiti{
- pixel_x = -32;
- spawn_loot_chance = 50
- },
-/obj/machinery/button/door/directional/west{
- id = "Toilet3";
- name = "Lock Control";
- normaldoorcontrol = 1;
- specialfunctions = 4
- },
-/turf/open/floor/iron/freezer,
-/area/station/commons/toilet/restrooms)
"lJn" = (
/obj/machinery/airalarm/directional/east,
/obj/machinery/computer/security/telescreen/entertainment/directional/north,
@@ -33976,15 +33945,6 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"lLw" = (
-/obj/machinery/shower/directional/south,
-/obj/structure/curtain,
-/obj/structure/window/reinforced/tinted/spawner/directional/west,
-/obj/machinery/door/window/left/directional/south{
- name = "Shower"
- },
-/turf/open/floor/iron/freezer,
-/area/station/commons/fitness/recreation)
"lLB" = (
/obj/structure/table/glass,
/obj/item/wrench,
@@ -34115,12 +34075,6 @@
/obj/effect/spawner/random/maintenance/two,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"lNf" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/landmark/event_spawn,
-/obj/machinery/duct,
-/turf/open/floor/iron/freezer,
-/area/station/commons/toilet/restrooms)
"lNh" = (
/obj/machinery/door/airlock/security/glass{
name = "Prison Sanitarium"
@@ -34410,6 +34364,17 @@
/obj/structure/sign/directions/evac,
/turf/closed/wall/r_wall,
/area/station/maintenance/department/medical/central)
+"lRY" = (
+/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 = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"lSw" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -34432,6 +34397,21 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/command)
+"lTc" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/item/reagent_containers/cup/bucket{
+ pixel_x = -6;
+ pixel_y = 27
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/service/janitor)
"lTi" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/camera/directional/south{
@@ -34818,6 +34798,15 @@
},
/turf/open/floor/engine,
/area/station/maintenance/disposal/incinerator)
+"lZI" = (
+/obj/structure/cable,
+/obj/effect/spawner/random/maintenance,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/sign/poster/contraband/random/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"lZM" = (
/obj/structure/table/wood,
/obj/item/reagent_containers/cup/glass/shaker,
@@ -34933,26 +34922,6 @@
/obj/effect/turf_decal/tile/yellow/half/contrasted,
/turf/open/floor/iron,
/area/station/commons/storage/tools)
-"mbI" = (
-/obj/structure/table/reinforced,
-/obj/machinery/door/firedoor,
-/obj/structure/desk_bell{
- pixel_x = 7
- },
-/obj/machinery/door/window/right/directional/south{
- name = "Cargo Desk";
- req_access = list("shipping")
- },
-/obj/item/newspaper{
- pixel_x = -5
- },
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 1;
- name = "Cargo Lockdown Shutters";
- id = "cargolockdown"
- },
-/turf/open/floor/plating,
-/area/station/cargo/sorting)
"mbJ" = (
/obj/machinery/portable_atmospherics/pump,
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
@@ -35093,6 +35062,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"mdA" = (
+/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,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/aft/greater)
"mdL" = (
/obj/machinery/computer/shuttle/mining{
dir = 1;
@@ -35103,6 +35080,17 @@
},
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
+"mdO" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/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/broken_floor,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"mei" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
/turf/open/floor/iron,
@@ -35142,17 +35130,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/carpet,
/area/station/command/heads_quarters/hos)
-"mfb" = (
-/obj/effect/turf_decal/trimline/red/filled/line{
- dir = 4
- },
-/obj/structure/disposalpipe/segment,
-/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)
"mfd" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
@@ -35248,14 +35225,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/storage)
-"mhs" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"mhA" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/west,
@@ -35402,16 +35371,6 @@
/obj/structure/cable/layer3,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/aisat/exterior)
-"mka" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/structure/window,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 1;
- name = "Cargo Lockdown Shutters";
- id = "cargolockdown"
- },
-/turf/open/floor/plating,
-/area/station/cargo/sorting)
"mkr" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 4;
@@ -35472,13 +35431,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"mma" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/chair/stool/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/service/janitor)
"mml" = (
/obj/machinery/holopad,
/obj/effect/turf_decal/bot_white,
@@ -35803,6 +35755,13 @@
},
/turf/open/floor/plating,
/area/station/maintenance/aft/lesser)
+"mrq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/wall_healer/directional/north,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology)
"mru" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
@@ -35848,15 +35807,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"msn" = (
-/obj/structure/cable,
-/obj/machinery/button/door/directional/east{
- name = "Cargo Lockdown";
- id = "cargolockdown";
- req_access = list("cargo")
- },
-/turf/open/floor/catwalk_floor/iron,
-/area/station/cargo/storage)
"msp" = (
/obj/machinery/door/airlock/external,
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
@@ -35939,6 +35889,15 @@
/obj/structure/cable,
/turf/open/floor/carpet,
/area/station/command/corporate_showroom)
+"mti" = (
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/sign/poster/contraband/random/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"mtj" = (
/obj/machinery/medical_kiosk,
/obj/effect/turf_decal/siding/white,
@@ -35974,16 +35933,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"mtZ" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/sorting/mail,
-/obj/effect/mapping_helpers/mail_sorting/medbay/virology,
-/obj/effect/turf_decal/tile/green/half/contrasted,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"mui" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -36089,11 +36038,6 @@
/obj/machinery/light/floor,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"mvv" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"mvN" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/line,
@@ -36148,14 +36092,6 @@
},
/turf/open/floor/wood,
/area/station/command/heads_quarters/hos)
-"mwm" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/aft/greater)
"mwo" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -36359,6 +36295,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
+"mAZ" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/sorting/mail{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/mail_sorting/medbay/general,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"mBe" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -36511,14 +36458,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"mCV" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"mCZ" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
dir = 9
@@ -36553,6 +36492,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"mDv" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"mDA" = (
/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{
dir = 4
@@ -36614,11 +36564,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"mEx" = (
-/obj/structure/reagent_dispensers/plumbed,
-/obj/effect/spawner/random/maintenance/three,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"mEG" = (
/obj/structure/closet/secure_closet/security/engine,
/obj/machinery/airalarm/directional/east,
@@ -36779,6 +36724,26 @@
/obj/effect/spawner/random/engineering/atmospherics_portable,
/turf/open/floor/plating,
/area/station/maintenance/aft/lesser)
+"mGV" = (
+/obj/structure/toilet{
+ dir = 1
+ },
+/obj/machinery/light/small/directional/east,
+/obj/machinery/newscaster/directional/east,
+/obj/effect/landmark/start/assistant,
+/obj/effect/landmark/start/hangover,
+/obj/machinery/button/door/directional/south{
+ id = "Toilet4";
+ name = "Lock Control";
+ normaldoorcontrol = 1;
+ specialfunctions = 4
+ },
+/obj/effect/spawner/random/trash/graffiti{
+ pixel_y = -32;
+ spawn_loot_chance = 50
+ },
+/turf/open/floor/iron/freezer,
+/area/station/commons/toilet/restrooms)
"mGX" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -36809,16 +36774,6 @@
/obj/item/clothing/gloves/color/yellow,
/turf/open/floor/iron,
/area/station/engineering/main)
-"mHl" = (
-/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/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"mHy" = (
/obj/structure/rack,
/turf/open/floor/plating,
@@ -36986,6 +36941,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/engineering/main)
+"mLd" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"mLp" = (
/obj/effect/landmark/start/quartermaster,
/obj/structure/cable,
@@ -37301,6 +37264,20 @@
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
/area/station/maintenance/fore)
+"mQf" = (
+/obj/structure/cable,
+/obj/machinery/door/airlock/virology/glass{
+ name = "Containment Cells"
+ },
+/obj/structure/disposalpipe/segment,
+/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/access/all/medical/virology,
+/obj/effect/turf_decal/tile/green/fourcorners,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"mQi" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
/obj/effect/turf_decal/bot,
@@ -37493,6 +37470,15 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/engineering/atmos/storage/gas)
+"mSO" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/landmark/generic_maintenance_landmark,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"mSS" = (
/obj/machinery/atmospherics/components/binary/pump/on,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -37523,15 +37509,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"mTg" = (
-/obj/structure/cable,
-/obj/machinery/door/airlock/hatch{
- name = "Observation Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"mTk" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -37659,19 +37636,6 @@
},
/turf/open/space/basic,
/area/space/nearstation)
-"mWA" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/spawner/random/trash/garbage{
- spawn_scatter_radius = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"mWU" = (
/turf/open/floor/iron,
/area/station/maintenance/space_hut)
@@ -37870,6 +37834,11 @@
/obj/machinery/status_display/evac/directional/west,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/command/storage/eva)
+"mZB" = (
+/obj/structure/urinal/directional/north,
+/obj/effect/landmark/start/hangover,
+/turf/open/floor/iron/freezer,
+/area/station/commons/toilet/restrooms)
"mZC" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass{
@@ -37981,6 +37950,15 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"nbQ" = (
+/obj/machinery/shower/directional/south,
+/obj/structure/curtain,
+/obj/structure/window/reinforced/tinted/spawner/directional/west,
+/obj/machinery/door/window/left/directional/south{
+ name = "Shower"
+ },
+/turf/open/floor/iron/freezer,
+/area/station/commons/fitness/recreation)
"nbS" = (
/obj/structure/table,
/obj/effect/turf_decal/tile/red/half/contrasted{
@@ -38193,13 +38171,6 @@
"nfs" = (
/turf/open/floor/engine,
/area/station/command/heads_quarters/rd)
-"nft" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/machinery/duct,
-/turf/open/floor/iron/freezer,
-/area/station/commons/toilet/restrooms)
"nfy" = (
/obj/structure/table,
/obj/item/paper_bin,
@@ -38469,6 +38440,18 @@
},
/turf/open/floor/iron,
/area/station/security/execution/transfer)
+"nlN" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/poddoor/shutters/preopen{
+ name = "Cargo Lockdown Shutters";
+ id = "cargolockdown";
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/station/security/checkpoint/supply)
"nlP" = (
/obj/structure/table,
/obj/item/stock_parts/subspace/treatment,
@@ -38549,6 +38532,10 @@
/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/iron,
/area/station/maintenance/disposal/incinerator)
+"nmX" = (
+/obj/structure/reagent_dispensers/plumbed,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"nmZ" = (
/obj/effect/turf_decal/stripes/white/line,
/obj/effect/turf_decal/stripes/white/line{
@@ -38672,6 +38659,27 @@
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/station/solars/starboard/fore)
+"noy" = (
+/obj/structure/toilet{
+ pixel_y = 8;
+ dir = 4
+ },
+/obj/machinery/light/small/directional/west,
+/obj/machinery/newscaster/directional/south,
+/obj/effect/landmark/blobstart,
+/obj/effect/landmark/start/hangover,
+/obj/machinery/button/door/directional/west{
+ id = "Toilet2";
+ name = "Lock Control";
+ normaldoorcontrol = 1;
+ specialfunctions = 4
+ },
+/obj/effect/spawner/random/trash/graffiti{
+ pixel_x = -32;
+ spawn_loot_chance = 50
+ },
+/turf/open/floor/iron/freezer,
+/area/station/commons/toilet/restrooms)
"noA" = (
/obj/machinery/portable_atmospherics/canister/air,
/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{
@@ -38874,6 +38882,12 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
+"nrI" = (
+/obj/structure/urinal/directional/north,
+/obj/structure/cable,
+/obj/machinery/light/floor,
+/turf/open/floor/iron/freezer,
+/area/station/commons/toilet/restrooms)
"nrM" = (
/obj/effect/turf_decal/siding/wood,
/obj/structure/cable,
@@ -39060,6 +39074,11 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/external,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"ntG" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"ntM" = (
/obj/machinery/power/solar_control{
id = "foreport";
@@ -39119,6 +39138,26 @@
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/iron/white,
/area/station/science/cytology)
+"nuk" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/firedoor,
+/obj/structure/desk_bell{
+ pixel_x = 7
+ },
+/obj/machinery/door/window/right/directional/south{
+ name = "Cargo Desk";
+ req_access = list("shipping")
+ },
+/obj/item/newspaper{
+ pixel_x = -5
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 1;
+ name = "Cargo Lockdown Shutters";
+ id = "cargolockdown"
+ },
+/turf/open/floor/plating,
+/area/station/cargo/sorting)
"nur" = (
/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
@@ -39266,6 +39305,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
+"nwZ" = (
+/obj/machinery/duct,
+/obj/structure/falsewall,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"nxg" = (
/obj/machinery/light/small/dim/directional/south,
/obj/machinery/atmospherics/components/binary/pump/on/layer4{
@@ -39563,13 +39607,6 @@
},
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
-"nCc" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white/smooth_large,
-/area/station/medical/surgery/aft)
"nCr" = (
/obj/machinery/status_display/ai/directional/east,
/turf/open/floor/iron/white,
@@ -39625,17 +39662,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron,
/area/station/security/prison)
-"nCL" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"nCQ" = (
/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible{
dir = 4
@@ -40100,26 +40126,6 @@
/obj/machinery/light/small/dim/directional/south,
/turf/open/floor/plating,
/area/station/maintenance/port)
-"nKO" = (
-/obj/structure/toilet{
- dir = 1
- },
-/obj/machinery/light/small/directional/east,
-/obj/machinery/newscaster/directional/east,
-/obj/effect/landmark/start/assistant,
-/obj/effect/landmark/start/hangover,
-/obj/machinery/button/door/directional/south{
- id = "Toilet4";
- name = "Lock Control";
- normaldoorcontrol = 1;
- specialfunctions = 4
- },
-/obj/effect/spawner/random/trash/graffiti{
- pixel_y = -32;
- spawn_loot_chance = 50
- },
-/turf/open/floor/iron/freezer,
-/area/station/commons/toilet/restrooms)
"nLq" = (
/obj/machinery/airalarm/directional/south,
/turf/open/floor/wood,
@@ -40501,26 +40507,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible,
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
-"nTD" = (
-/obj/structure/table/reinforced,
-/obj/item/book/manual/wiki/engineering_hacking{
- pixel_x = 2;
- pixel_y = 3
- },
-/obj/item/book/manual/wiki/engineering_guide{
- pixel_x = -2
- },
-/obj/item/trash/can{
- pixel_x = -8
- },
-/obj/machinery/firealarm/directional/south,
-/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
-/obj/machinery/wall_healer/directional/east,
-/turf/open/floor/iron,
-/area/station/engineering/break_room)
"nTH" = (
/obj/structure/cable,
/obj/machinery/computer/crew{
@@ -40604,20 +40590,6 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics/garden)
-"nWd" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/duct,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/machinery/wall_healer/directional/north,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/service)
"nWk" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/trimline/red/filled/line{
@@ -40650,6 +40622,13 @@
/obj/effect/turf_decal/trimline/blue/filled/warning,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"nWB" = (
+/obj/effect/turf_decal/trimline/yellow/filled/corner{
+ dir = 4
+ },
+/obj/machinery/camera/directional/north,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
"nWS" = (
/obj/structure/window/reinforced/spawner/directional/west,
/turf/open/space/basic,
@@ -40714,16 +40693,6 @@
/obj/structure/grille/broken,
/turf/open/space/basic,
/area/space/nearstation)
-"nYL" = (
-/obj/machinery/door/airlock/hatch{
- name = "Xenobiology Maintenance"
- },
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"nYU" = (
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
@@ -40855,6 +40824,16 @@
},
/turf/open/floor/iron,
/area/station/security/checkpoint/customs)
+"oay" = (
+/obj/machinery/door/airlock/hatch{
+ name = "Xenobiology Maintenance"
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"oaB" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 8
@@ -41212,14 +41191,6 @@
/obj/effect/turf_decal/tile/green/fourcorners,
/turf/open/floor/iron/showroomfloor,
/area/station/maintenance/starboard/lesser)
-"ohY" = (
-/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,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/aft/greater)
"ohZ" = (
/obj/machinery/suit_storage_unit/rd,
/obj/effect/turf_decal/stripes/line{
@@ -41256,11 +41227,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/science/genetics)
-"oiz" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/reagent_dispensers/fueltank,
-/turf/open/floor/plating,
-/area/station/maintenance/fore)
"oiI" = (
/obj/machinery/air_sensor/nitrous_tank,
/turf/open/floor/engine/n2o,
@@ -41272,23 +41238,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/wood,
/area/station/maintenance/port/aft)
-"oiX" = (
-/obj/machinery/door/airlock/mining{
- name = "Deliveries"
- },
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/access/any/supply/shipping,
-/obj/effect/turf_decal/tile/brown/opposingcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 1;
- name = "Cargo Lockdown Shutters";
- id = "cargolockdown"
- },
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"ojo" = (
/obj/effect/turf_decal/siding/wood{
dir = 6
@@ -41473,6 +41422,12 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/aisat/foyer)
+"omK" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology)
"omV" = (
/obj/effect/spawner/random/structure/grille,
/obj/structure/cable,
@@ -41490,13 +41445,6 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"onv" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/light/directional/west,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
"onD" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -41555,14 +41503,6 @@
"oor" = (
/turf/closed/wall,
/area/station/security/checkpoint/supply)
-"oos" = (
-/obj/machinery/door/airlock{
- id_tag = "Toilet1";
- name = "Unit 1"
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/freezer,
-/area/station/commons/toilet/restrooms)
"ooz" = (
/obj/structure/closet/emcloset,
/obj/machinery/camera/directional/west{
@@ -42193,12 +42133,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/solars/starboard/fore)
-"ozP" = (
-/obj/effect/turf_decal/tile/red/fourcorners,
-/obj/structure/closet/secure_closet/security/cargo,
+"ozN" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/security/checkpoint/supply)
+/obj/structure/disposalpipe/segment,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology)
"ozX" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -42581,20 +42524,6 @@
/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
/turf/open/floor/plating,
/area/station/science/ordnance)
-"oGf" = (
-/obj/machinery/door/airlock/maintenance,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "viro-passthrough"
- },
-/obj/effect/mapping_helpers/airlock/unres,
-/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/medical/medbay/central)
"oGj" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible,
/obj/effect/turf_decal/box,
@@ -42767,17 +42696,6 @@
"oIg" = (
/turf/closed/wall/r_wall,
/area/station/science/genetics)
-"oIC" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/machinery/wall_healer/directional/south,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/command)
"oIG" = (
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
@@ -42821,6 +42739,14 @@
/obj/effect/spawner/random/structure/closet_maintenance,
/turf/open/floor/plating,
/area/station/maintenance/aft/lesser)
+"oJB" = (
+/obj/structure/table,
+/obj/item/toy/plush/slimeplushie{
+ name = "Nanners"
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"oJD" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 4
@@ -42956,11 +42882,6 @@
},
/turf/open/floor/iron,
/area/station/security/checkpoint/engineering)
-"oMs" = (
-/obj/machinery/duct,
-/obj/structure/falsewall,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"oMx" = (
/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den,
/obj/machinery/door/airlock/maintenance{
@@ -43024,6 +42945,14 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/circuit/green,
/area/station/ai_monitored/turret_protected/ai_upload)
+"oOy" = (
+/obj/effect/landmark/start/botanist,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/service/hydroponics)
"oOz" = (
/obj/machinery/status_display/evac/directional/north,
/obj/structure/table/wood,
@@ -43196,6 +43125,19 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
+"oRL" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ 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/duct,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology/hallway)
"oRM" = (
/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
dir = 4
@@ -43349,14 +43291,6 @@
/obj/machinery/digital_clock/directional/north,
/turf/open/floor/iron,
/area/station/hallway/secondary/command)
-"oUE" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/security/prison/mess)
"oUK" = (
/obj/structure/table,
/obj/item/electronics/apc,
@@ -43403,17 +43337,6 @@
},
/turf/open/floor/iron,
/area/station/security/courtroom)
-"oWa" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/landmark/navigate_destination,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology)
"oWc" = (
/obj/structure/sign/warning/electric_shock,
/turf/closed/wall/r_wall,
@@ -43479,25 +43402,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/solars/starboard/aft)
-"oXK" = (
-/obj/structure/safe/vault,
-/obj/item/storage/briefcase/secure/riches,
-/obj/item/storage/backpack/duffelbag/syndie/hitman,
-/obj/item/card/id/advanced/silver/reaper,
-/obj/item/lazarus_injector,
-/obj/item/gun/energy/disabler,
-/obj/item/gun/ballistic/revolver/russian,
-/obj/item/ammo_box/a357,
-/obj/item/clothing/neck/stethoscope,
-/obj/item/book{
- desc = "An undeniably handy book.";
- icon_state = "bookknock";
- name = "\improper A Simpleton's Guide to Safe-cracking with Stethoscopes"
- },
-/obj/effect/turf_decal/bot_white/left,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/ai_monitored/command/nuke_storage)
"oXL" = (
/obj/machinery/disposal/bin,
/obj/structure/cable,
@@ -43612,11 +43516,6 @@
/obj/structure/window/spawner/directional/south,
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation)
-"oZL" = (
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/security/prison/mess)
"oZN" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
@@ -43630,21 +43529,6 @@
/obj/effect/turf_decal/trimline/blue/filled/mid_joiner,
/turf/open/floor/iron/white/smooth_large,
/area/station/medical/surgery/theatre)
-"oZZ" = (
-/obj/structure/disposalpipe/sorting/mail/flip{
- dir = 2
- },
-/obj/structure/cable,
-/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/effect/mapping_helpers/mail_sorting/service/janitor_closet,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"pab" = (
/obj/structure/table,
/obj/item/stock_parts/subspace/ansible,
@@ -43838,14 +43722,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"pdx" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/item/cigbutt/roach,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"pdI" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/security/glass{
@@ -43978,6 +43854,13 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard/lesser)
+"pgA" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/burnt_floor,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"pgD" = (
/obj/machinery/door/airlock/maintenance{
name = "Chapel Maintenance"
@@ -44005,15 +43888,6 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/service/kitchen)
-"pgM" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology)
"pgU" = (
/obj/structure/chair{
dir = 4
@@ -44089,6 +43963,23 @@
},
/turf/open/floor/iron,
/area/station/command/gateway)
+"pih" = (
+/obj/machinery/door/airlock/mining{
+ name = "Deliveries"
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/any/supply/shipping,
+/obj/effect/turf_decal/tile/brown/opposingcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 1;
+ name = "Cargo Lockdown Shutters";
+ id = "cargolockdown"
+ },
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"piv" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -44273,6 +44164,14 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"plL" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/duct,
+/obj/machinery/wall_healer/directional/west,
+/turf/open/floor/iron,
+/area/station/commons/fitness/recreation)
"pma" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/solars/port/fore)
@@ -44323,6 +44222,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/solars/starboard/aft)
+"pmx" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/green/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"pmA" = (
/obj/machinery/door/firedoor,
/obj/machinery/smartfridge/food,
@@ -44385,17 +44297,6 @@
/obj/effect/turf_decal/caution,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"pnx" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"pnD" = (
/obj/machinery/airalarm/directional/north,
/obj/effect/spawner/random/structure/closet_private,
@@ -44462,6 +44363,25 @@
/obj/machinery/holopad,
/turf/open/floor/iron/white,
/area/station/command/heads_quarters/rd)
+"poG" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Service Maintenance"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/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/airlock/cyclelink_helper_multi{
+ cycle_id = "service-passthrough"
+ },
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"poJ" = (
/obj/machinery/telecomms/hub/preset,
/turf/open/floor/circuit/green/telecomms/mainframe,
@@ -44564,14 +44484,6 @@
/obj/machinery/module_duplicator,
/turf/open/floor/iron/white,
/area/station/science/explab)
-"pqz" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Storage Room"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"pqH" = (
/obj/structure/window/reinforced/spawner/directional/west,
/turf/open/floor/iron/dark,
@@ -44748,6 +44660,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"pta" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/event_spawn,
+/obj/machinery/duct,
+/turf/open/floor/iron/freezer,
+/area/station/commons/toilet/restrooms)
"ptd" = (
/obj/structure/sign/warning/vacuum/external/directional/north,
/obj/effect/decal/cleanable/dirt/dust,
@@ -44780,6 +44698,20 @@
},
/turf/open/floor/iron/white,
/area/station/science/research)
+"ptP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/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/maintenance/starboard/greater)
"pua" = (
/obj/machinery/vending/assist,
/obj/effect/landmark/navigate_destination,
@@ -44949,6 +44881,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/closed/wall,
/area/station/maintenance/starboard/fore)
+"pxK" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 4;
+ name = "Cargo Lobby Lockdown Shutters";
+ id = "cargolobbylockdown"
+ },
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"pxN" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/delivery,
@@ -45029,16 +44973,6 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"pyX" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/machinery/wall_healer/directional/south,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"pyY" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -45388,6 +45322,27 @@
/obj/structure/cable,
/turf/open/floor/circuit/green,
/area/station/science/robotics/mechbay)
+"pGp" = (
+/obj/structure/toilet{
+ pixel_y = 8;
+ dir = 4
+ },
+/obj/machinery/light/small/directional/west,
+/obj/machinery/newscaster/directional/south,
+/obj/effect/landmark/blobstart,
+/obj/effect/landmark/start/hangover,
+/obj/machinery/button/door/directional/west{
+ id = "Toilet1";
+ name = "Lock Control";
+ normaldoorcontrol = 1;
+ specialfunctions = 4
+ },
+/obj/effect/spawner/random/trash/graffiti{
+ pixel_x = -32;
+ spawn_loot_chance = 50
+ },
+/turf/open/floor/iron/freezer,
+/area/station/commons/toilet/restrooms)
"pGu" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/corner{
@@ -45469,14 +45424,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/break_room)
-"pHt" = (
-/obj/structure/table,
-/obj/item/toy/plush/slimeplushie{
- name = "Nanners"
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"pHv" = (
/obj/machinery/door/airlock/maintenance{
name = "Surgery Maintenance"
@@ -45608,13 +45555,6 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/dark/textured_large,
/area/station/cargo/bitrunning/den)
-"pJu" = (
-/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/iron/freezer,
-/area/station/security/prison/shower)
"pJv" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/structure/window/reinforced/spawner/directional/north,
@@ -45800,16 +45740,6 @@
/obj/machinery/telecomms/receiver/preset_right,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/station/tcommsat/server)
-"pNf" = (
-/obj/machinery/door/airlock{
- name = "Hydroponics Backroom"
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"pNk" = (
/obj/structure/extinguisher_cabinet/directional/north,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -45934,13 +45864,6 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"pON" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/sign/poster/contraband/random/directional/north,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"pPh" = (
/obj/structure/closet/secure_closet/miner,
/obj/item/clothing/suit/hooded/wintercoat/miner,
@@ -46001,15 +45924,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/brig,
/turf/open/floor/iron,
/area/station/security/prison/safe)
-"pQj" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology)
"pQr" = (
/obj/effect/spawner/random/trash/garbage,
/obj/effect/landmark/generic_maintenance_landmark,
@@ -46131,14 +46045,6 @@
/obj/item/reagent_containers/spray/pepper,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
-"pSa" = (
-/obj/effect/turf_decal/trimline/red/filled/corner{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/security/prison)
"pSl" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 5
@@ -46278,6 +46184,26 @@
/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics,
/turf/open/floor/iron,
/area/station/hallway/secondary/service)
+"pUB" = (
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/machinery/door/airlock/research{
+ autoclose = 0;
+ frequency = 1449;
+ id_tag = "xeno_airlock_interior";
+ name = "Xenobiology Lab Internal Airlock"
+ },
+/obj/structure/disposalpipe/segment{
+ 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/mapping_helpers/airlock/access/all/science/xenobio,
+/obj/effect/turf_decal/tile/purple/fourcorners,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology/hallway)
"pUM" = (
/obj/structure/table,
/obj/effect/turf_decal/siding/white/corner,
@@ -46425,17 +46351,6 @@
/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only,
/turf/open/floor/plating,
/area/station/maintenance/solars/port/fore)
-"pWX" = (
-/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,
-/obj/effect/turf_decal/tile/green/half/contrasted{
- dir = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"pXh" = (
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron/dark,
@@ -46542,10 +46457,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security/prison)
-"pZr" = (
-/obj/machinery/duct,
-/turf/open/floor/carpet/green,
-/area/station/maintenance/port/aft)
"pZG" = (
/obj/machinery/power/solar_control{
id = "forestarboard";
@@ -46766,6 +46677,14 @@
/obj/structure/dresser,
/turf/open/floor/carpet,
/area/station/commons/dorms)
+"qeq" = (
+/obj/machinery/door/airlock{
+ name = "Cleaning Closet"
+ },
+/obj/structure/cable,
+/obj/machinery/duct,
+/turf/open/floor/iron/dark,
+/area/station/security/prison/safe)
"qer" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -46910,13 +46829,12 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"qgn" = (
+"qgr" = (
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
+/obj/effect/spawner/random/trash/garbage{
+ spawn_scatter_radius = 1
},
-/obj/effect/decal/cleanable/cobweb,
+/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
"qgt" = (
@@ -47074,15 +46992,6 @@
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"qiD" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology)
"qiH" = (
/obj/machinery/light/small/directional/west,
/obj/machinery/airalarm/directional/west,
@@ -47126,6 +47035,22 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/security/execution/transfer)
+"qju" = (
+/obj/machinery/door/airlock/maintenance,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "viro-passthrough"
+ },
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/medical/medbay/central)
"qjy" = (
/obj/effect/spawner/random/engineering/tank,
/turf/open/floor/plating,
@@ -47170,18 +47095,6 @@
/obj/item/reagent_containers/cup/soda_cans/monkey_energy,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"qkq" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology/hallway)
"qkA" = (
/obj/machinery/computer/security,
/obj/effect/turf_decal/tile/red/half/contrasted{
@@ -47202,6 +47115,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/aft/lesser)
+"qkY" = (
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/security/prison/mess)
"qlc" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/blue{
@@ -47318,19 +47236,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/aisat/exterior)
-"qmU" = (
-/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{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central)
"qnj" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -47384,6 +47289,16 @@
/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/maintenance/fore)
+"qof" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/wall_healer/directional/east,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"qos" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -47498,6 +47413,14 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"qqJ" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 8
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/security/prison)
"qrg" = (
/obj/machinery/light_switch/directional/north,
/turf/open/floor/circuit/green{
@@ -47534,6 +47457,13 @@
/obj/machinery/computer/security/telescreen/minisat/directional/south,
/turf/open/floor/carpet,
/area/station/command/heads_quarters/captain/private)
+"qrG" = (
+/obj/effect/spawner/random/entertainment/arcade,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/wall_healer/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/exit/departure_lounge)
"qrO" = (
/obj/machinery/chem_dispenser/drinks{
dir = 1
@@ -47670,6 +47600,11 @@
/obj/structure/table/wood,
/turf/open/floor/carpet,
/area/station/command/corporate_showroom)
+"qts" = (
+/obj/structure/mirror/directional/west,
+/obj/structure/sink/directional/east,
+/turf/open/floor/iron/freezer,
+/area/station/commons/fitness/recreation)
"qua" = (
/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
dir = 1
@@ -47717,15 +47652,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"qvC" = (
-/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,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"qvJ" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -47809,12 +47735,15 @@
dir = 1
},
/area/station/service/chapel)
-"qxr" = (
+"qxj" = (
/obj/structure/cable,
-/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/duct,
/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
+/area/station/maintenance/starboard/greater)
"qxt" = (
/obj/effect/turf_decal/bot,
/turf/open/floor/engine,
@@ -47904,14 +47833,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"qzf" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"qzg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/obj/machinery/meter/layer4,
@@ -48013,26 +47934,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/security/prison)
-"qBo" = (
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/machinery/door/airlock/research{
- autoclose = 0;
- frequency = 1449;
- id_tag = "xeno_airlock_interior";
- name = "Xenobiology Lab Internal Airlock"
- },
-/obj/structure/disposalpipe/segment{
- 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/mapping_helpers/airlock/access/all/science/xenobio,
-/obj/effect/turf_decal/tile/purple/fourcorners,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology/hallway)
"qBq" = (
/obj/structure/rack,
/obj/effect/landmark/blobstart,
@@ -48273,6 +48174,15 @@
/obj/structure/chair/stool/directional/west,
/turf/open/floor/iron,
/area/station/commons/locker)
+"qFV" = (
+/obj/machinery/light/directional/east,
+/obj/structure/cable,
+/obj/machinery/light_switch/directional/east{
+ pixel_y = -2;
+ pixel_x = 21
+ },
+/turf/open/floor/catwalk_floor/iron,
+/area/station/cargo/storage)
"qGa" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/grunge{
@@ -48352,16 +48262,6 @@
/obj/machinery/computer/security/telescreen/ce/directional/south,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/ce)
-"qHp" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/brown/filled/line{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/wall_healer/directional/east,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"qHs" = (
/obj/structure/sign/warning/docking,
/turf/closed/wall,
@@ -48450,6 +48350,13 @@
/obj/structure/window/reinforced/spawner/directional/south,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/aisat/exterior)
+"qIR" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"qIS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
@@ -48526,16 +48433,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"qKz" = (
-/obj/structure/cable,
-/obj/machinery/door/poddoor/shutters/preopen{
- name = "QM Privacy Shutters";
- id = "qmroom";
- dir = 8
- },
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/command/heads_quarters/qm)
"qKD" = (
/obj/structure/sign/poster/random/directional/east,
/obj/effect/turf_decal/tile/bar,
@@ -48814,6 +48711,16 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/carpet,
/area/station/command/bridge)
+"qNX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/wall_healer/directional/south,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"qOk" = (
/obj/structure/table/optable,
/obj/item/radio/intercom/directional/south,
@@ -48877,13 +48784,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"qOT" = (
-/obj/item/storage/bag/trash,
-/obj/machinery/airalarm/directional/west,
-/obj/structure/cable,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/security/prison/safe)
"qOV" = (
/obj/structure/table,
/obj/item/reagent_containers/condiment/saltshaker{
@@ -49609,6 +49509,19 @@
"rac" = (
/turf/closed/wall,
/area/station/commons/lounge)
+"raf" = (
+/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{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central)
"rao" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -49799,27 +49712,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"rdT" = (
-/obj/structure/toilet{
- pixel_y = 8;
- dir = 4
- },
-/obj/machinery/light/small/directional/west,
-/obj/machinery/newscaster/directional/south,
-/obj/effect/landmark/blobstart,
-/obj/effect/landmark/start/hangover,
-/obj/machinery/button/door/directional/west{
- id = "Toilet1";
- name = "Lock Control";
- normaldoorcontrol = 1;
- specialfunctions = 4
- },
-/obj/effect/spawner/random/trash/graffiti{
- pixel_x = -32;
- spawn_loot_chance = 50
- },
-/turf/open/floor/iron/freezer,
-/area/station/commons/toilet/restrooms)
"rea" = (
/obj/effect/turf_decal/stripes/red/line{
dir = 5
@@ -49895,6 +49787,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/security/lockers)
+"rfe" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central)
"rff" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -49904,9 +49804,26 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/solars/starboard/fore)
+"rfn" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"rft" = (
/turf/closed/wall/r_wall,
/area/station/security/prison/mess)
+"rfA" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/firealarm_sanity,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"rfY" = (
/obj/structure/lattice,
/obj/structure/sign/warning/electric_shock/directional/east,
@@ -49995,6 +49912,28 @@
/obj/machinery/light/directional/east,
/turf/open/floor/iron,
/area/station/construction/storage_wing)
+"rie" = (
+/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/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
+"rim" = (
+/obj/machinery/door/airlock/maintenance,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "viro-passthrough"
+ },
+/obj/effect/mapping_helpers/airlock/unres,
+/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/medical/medbay/central)
"riq" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
@@ -50085,14 +50024,6 @@
/obj/machinery/recharge_station,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"rkf" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/duct,
-/obj/machinery/wall_healer/directional/west,
-/turf/open/floor/iron,
-/area/station/commons/fitness/recreation)
"rkg" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass{
@@ -50380,6 +50311,13 @@
/obj/machinery/duct,
/turf/open/floor/iron/white,
/area/station/medical/surgery/theatre)
+"rpt" = (
+/obj/structure/toilet{
+ pixel_y = 8
+ },
+/obj/structure/light_construct/small/directional/south,
+/turf/open/floor/plating,
+/area/station/maintenance/aft/greater)
"rpw" = (
/obj/effect/turf_decal/trimline/blue/filled/warning{
dir = 1
@@ -50477,6 +50415,11 @@
/obj/machinery/digital_clock/directional/south,
/turf/open/floor/iron,
/area/station/service/bar)
+"rrF" = (
+/obj/machinery/light/small/directional/south,
+/obj/machinery/duct,
+/turf/open/floor/iron/freezer,
+/area/station/security/prison/shower)
"rrL" = (
/obj/effect/turf_decal/delivery,
/obj/machinery/door/poddoor/preopen{
@@ -50533,6 +50476,13 @@
/obj/structure/window/reinforced/spawner/directional/west,
/turf/open/floor/iron,
/area/station/science/xenobiology)
+"rsA" = (
+/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/iron/freezer,
+/area/station/security/prison/shower)
"rsD" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -50545,6 +50495,19 @@
dir = 4
},
/area/station/science/lab)
+"rsF" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/spawner/random/trash/garbage{
+ spawn_scatter_radius = 1
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"rsI" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 1
@@ -50879,6 +50842,15 @@
},
/turf/open/floor/iron,
/area/station/science/xenobiology)
+"rwy" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 8
+ },
+/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)
"rwE" = (
/obj/structure/table,
/obj/item/paper_bin{
@@ -51093,19 +51065,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/brig)
-"rAa" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Storage Room"
- },
-/obj/effect/mapping_helpers/airlock/abandoned,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"rAo" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/reagent_dispensers/watertank,
@@ -51330,17 +51289,6 @@
},
/turf/open/floor/wood,
/area/station/service/library)
-"rFO" = (
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/bot,
-/obj/structure/sink/kitchen/directional/east,
-/turf/open/floor/iron/cafeteria,
-/area/station/service/kitchen)
"rFR" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 4
@@ -51479,6 +51427,14 @@
/obj/effect/spawner/random/structure/grille,
/turf/open/floor/plating,
/area/station/maintenance/port)
+"rHM" = (
+/obj/machinery/door/airlock{
+ id_tag = "Toilet2";
+ name = "Unit 2"
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/freezer,
+/area/station/commons/toilet/restrooms)
"rHZ" = (
/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible,
/obj/machinery/atmospherics/components/binary/valve/digital{
@@ -51912,16 +51868,6 @@
/obj/structure/flora/bush/fullgrass/style_random,
/turf/open/floor/grass,
/area/station/science/ordnance/office)
-"rPB" = (
-/obj/effect/spawner/structure/window,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 1;
- name = "Cargo Lockdown Shutters";
- id = "cargolockdown"
- },
-/turf/open/floor/plating,
-/area/station/cargo/sorting)
"rPF" = (
/obj/machinery/shower/directional/south{
name = "emergency shower"
@@ -52161,15 +52107,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/security/evidence)
-"rTF" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Surgery C Maintenance"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/aft/greater)
"rTL" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass{
@@ -52259,14 +52196,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/solars/starboard/aft)
-"rUU" = (
-/obj/effect/turf_decal/tile/green/half/contrasted{
- dir = 1
- },
-/obj/machinery/light/cold/directional/north,
-/obj/structure/reagent_dispensers/plumbed,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"rVb" = (
/obj/effect/turf_decal/trimline/green/filled/line{
dir = 4
@@ -52322,22 +52251,10 @@
/obj/effect/turf_decal/trimline/purple/filled/warning,
/turf/open/floor/iron,
/area/station/science/lab)
-"rVY" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"rVZ" = (
/obj/structure/cable,
/turf/open/floor/grass,
/area/station/medical/virology)
-"rWf" = (
-/obj/structure/urinal/directional/north,
-/obj/structure/cable,
-/obj/machinery/light/floor,
-/turf/open/floor/iron/freezer,
-/area/station/commons/toilet/restrooms)
"rWi" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
/turf/open/floor/engine/n2,
@@ -52585,6 +52502,14 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"saA" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/surgery/theatre)
"saB" = (
/obj/machinery/button/door/directional/west{
id = "atmoshfr";
@@ -52623,6 +52548,17 @@
/obj/structure/bookcase/random/religion,
/turf/open/floor/wood,
/area/station/service/library)
+"saO" = (
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
"saU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -52729,18 +52665,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
-"scw" = (
-/obj/item/folder/white{
- pixel_x = 4;
- pixel_y = -3
- },
-/obj/structure/table/glass,
-/obj/effect/turf_decal/tile/green/half/contrasted{
- dir = 8
- },
-/obj/machinery/wall_healer/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/command/bridge)
"scB" = (
/obj/structure/chair/office/light,
/turf/open/floor/iron/white,
@@ -52828,6 +52752,14 @@
/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
+"sen" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/iron/white/smooth_large,
+/area/station/medical/surgery/aft)
"sey" = (
/obj/structure/sign/departments/court/directional/north,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -52841,6 +52773,13 @@
/obj/structure/sign/directions/evac,
/turf/closed/wall/r_wall,
/area/station/hallway/primary/aft)
+"sff" = (
+/obj/effect/spawner/random/maintenance,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"sfg" = (
/obj/structure/cable,
/obj/effect/turf_decal/trimline/red/filled/line{
@@ -52926,6 +52865,14 @@
/obj/effect/turf_decal/tile/purple/opposingcorners,
/turf/open/floor/iron,
/area/station/science/research)
+"sgI" = (
+/obj/item/reagent_containers/cup/bucket,
+/obj/item/mop,
+/obj/item/reagent_containers/cup/bottle/ammonia,
+/obj/structure/cable,
+/mob/living/basic/mouse/brown/tom,
+/turf/open/floor/plating,
+/area/station/security/prison/safe)
"sgX" = (
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
dir = 4
@@ -52967,11 +52914,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"shR" = (
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/wall_healer/directional/east,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"shV" = (
/obj/effect/turf_decal/stripes/line,
/obj/structure/cable,
@@ -52982,13 +52924,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/main)
-"sie" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology)
"sik" = (
/obj/structure/railing/corner/end{
dir = 4
@@ -53299,12 +53234,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
-"soa" = (
-/obj/structure/sign/poster/official/random/directional/south,
-/obj/machinery/light/small/directional/west,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/commons/toilet/auxiliary)
"sof" = (
/obj/effect/turf_decal/tile/blue{
dir = 8
@@ -53507,20 +53436,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"stD" = (
-/obj/machinery/door/airlock/medical/glass{
- name = "Primary Treatment Centre"
- },
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 8
- },
-/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/medical/general,
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
"stI" = (
/obj/effect/turf_decal/delivery,
/obj/structure/table,
@@ -53686,14 +53601,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/aft/greater)
-"swR" = (
-/obj/machinery/door/airlock{
- name = "Cleaning Closet"
- },
-/obj/structure/cable,
-/obj/machinery/duct,
-/turf/open/floor/iron/dark,
-/area/station/security/prison/safe)
"swV" = (
/obj/effect/turf_decal/trimline/purple/line{
dir = 4
@@ -53703,14 +53610,6 @@
},
/turf/open/floor/iron/white,
/area/station/science/research)
-"sxf" = (
-/obj/effect/turf_decal/trimline/blue/filled/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/white,
-/area/station/medical/treatment_center)
"sxg" = (
/obj/machinery/door/firedoor,
/turf/open/floor/iron/white/side,
@@ -53737,6 +53636,16 @@
/obj/machinery/computer/security/wooden_tv,
/turf/open/floor/wood,
/area/station/command/heads_quarters/captain/private)
+"sxU" = (
+/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/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"sxX" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -53754,14 +53663,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/security/brig)
-"syg" = (
-/obj/structure/table/wood,
-/obj/effect/spawner/random/food_or_drink/booze{
- spawn_random_offset = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/wood,
-/area/station/maintenance/port/aft)
"syh" = (
/obj/machinery/door/poddoor/shutters{
id = "maintwarehouse"
@@ -53868,24 +53769,6 @@
"szp" = (
/turf/closed/wall,
/area/station/commons/fitness/recreation)
-"szD" = (
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 4;
- name = "Cargo Lobby Lockdown Shutters";
- id = "cargolobbylockdown"
- },
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"szJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/landmark/start/janitor,
@@ -53982,6 +53865,12 @@
},
/turf/open/floor/iron,
/area/station/security/holding_cell)
+"sBR" = (
+/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/white,
+/area/station/medical/medbay/central)
"sBS" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -54266,6 +54155,13 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
+"sFn" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/service/hydroponics)
"sFo" = (
/obj/machinery/button/crematorium{
id = "crematoriumChapel";
@@ -54291,18 +54187,6 @@
},
/turf/open/floor/iron,
/area/station/service/kitchen)
-"sFY" = (
-/obj/effect/turf_decal/trimline/blue/filled/corner{
- dir = 8
- },
-/obj/structure/sign/departments/psychology/directional/west,
-/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/white,
-/area/station/medical/medbay/central)
"sGm" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -54316,15 +54200,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"sGv" = (
-/obj/machinery/light/directional/east,
-/obj/structure/cable,
-/obj/machinery/light_switch/directional/east{
- pixel_y = -2;
- pixel_x = 21
- },
-/turf/open/floor/catwalk_floor/iron,
-/area/station/cargo/storage)
"sGw" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5{
dir = 9
@@ -54360,12 +54235,29 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/solars/port/aft)
+"sGM" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/spawner/random/trash/soap{
+ spawn_scatter_radius = 1
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/freezer,
+/area/station/security/prison/shower)
"sGP" = (
/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/landmark/event_spawn,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
+"sGR" = (
+/obj/structure/cable,
+/obj/machinery/door/airlock/hatch{
+ name = "Observation Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"sHg" = (
/obj/item/radio/intercom/directional/south,
/obj/machinery/camera/directional/south{
@@ -54586,16 +54478,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/grimy,
/area/station/service/chapel/office)
-"sMo" = (
-/obj/structure/sign/poster/official/cleanliness/directional/west,
-/obj/structure/sink/directional/south,
-/obj/effect/turf_decal/tile/green/anticorner/contrasted{
- dir = 1
- },
-/obj/structure/mirror/directional/north,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"sMB" = (
/obj/machinery/door/window/brigdoor/security/cell/left/directional/south{
id = "Cell 1";
@@ -54704,6 +54586,20 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/science/genetics)
+"sOd" = (
+/obj/machinery/door/airlock/medical/glass{
+ name = "Primary Treatment Centre"
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 8
+ },
+/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/medical/general,
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"sOi" = (
/obj/structure/table/wood,
/obj/item/folder/red,
@@ -54746,19 +54642,6 @@
/obj/structure/light_construct/directional/east,
/turf/open/floor/wood,
/area/station/commons/vacant_room/office)
-"sOM" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/green/half/contrasted{
- dir = 8
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"sOP" = (
/obj/structure/rack,
/obj/item/toy/plush/lizard_plushie/green{
@@ -54798,17 +54681,19 @@
/obj/effect/landmark/navigate_destination,
/turf/open/floor/wood,
/area/station/command/heads_quarters/hos)
-"sPq" = (
-/obj/structure/cable,
+"sPk" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Storage Room"
+ },
+/obj/effect/mapping_helpers/airlock/abandoned,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/stripes/line{
+/obj/effect/mapping_helpers/airlock/unres{
dir = 1
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"sPy" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -55104,13 +54989,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"sTA" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"sTK" = (
/obj/item/radio/intercom/directional/south,
/obj/effect/turf_decal/tile/blue/half/contrasted,
@@ -55298,6 +55176,13 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"sWr" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/machinery/duct,
+/turf/open/floor/iron/freezer,
+/area/station/commons/toilet/restrooms)
"sWs" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
@@ -55340,17 +55225,6 @@
"sWV" = (
/turf/closed/wall/r_wall,
/area/station/security/detectives_office)
-"sWZ" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/aft/greater)
"sXe" = (
/obj/effect/landmark/start/station_engineer,
/obj/machinery/light/directional/west,
@@ -55466,13 +55340,21 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron,
/area/station/science/xenobiology)
-"tak" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/burnt_floor,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
+"sZP" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 4;
+ name = "Cargo Lobby Lockdown Shutters";
+ id = "cargolobbylockdown"
+ },
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"tar" = (
/obj/machinery/medical_kiosk,
/obj/effect/turf_decal/tile/blue/half/contrasted,
@@ -55486,6 +55368,11 @@
},
/turf/open/floor/iron/solarpanel/airless,
/area/station/solars/starboard/fore)
+"taB" = (
+/obj/structure/urinal/directional/north,
+/obj/structure/cable,
+/turf/open/floor/iron/freezer,
+/area/station/commons/toilet/restrooms)
"taD" = (
/obj/structure/railing/corner/end/flip{
dir = 8
@@ -55568,13 +55455,6 @@
},
/turf/open/floor/iron,
/area/station/commons/lounge)
-"tbm" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"tbp" = (
/obj/machinery/door/airlock/command/glass{
name = "Server Access"
@@ -55802,16 +55682,6 @@
},
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
-"tgC" = (
-/obj/structure/noticeboard/directional/south,
-/obj/structure/table/wood,
-/obj/machinery/computer/records/medical/laptop{
- dir = 1;
- pixel_y = 4
- },
-/obj/effect/turf_decal/siding/wood,
-/turf/open/floor/wood/parquet,
-/area/station/medical/psychology)
"tgD" = (
/obj/structure/table/glass,
/obj/item/clothing/gloves/latex,
@@ -55863,21 +55733,6 @@
dir = 8
},
/area/station/medical/morgue)
-"thT" = (
-/obj/structure/cable,
-/obj/machinery/camera/directional/east{
- c_tag = "Xenobiology Lab - Central West";
- network = list("ss13","rd","xeno")
- },
-/obj/structure/disposalpipe/segment,
-/obj/machinery/button/door/directional/east{
- id = "XenoPens";
- name = "Xenobiology Shutters";
- req_access = list("xenobiology")
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology)
"thY" = (
/obj/effect/spawner/random/structure/grille,
/obj/effect/turf_decal/stripes/line{
@@ -56139,16 +55994,6 @@
dir = 4
},
/area/station/service/chapel)
-"tmI" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/door/airlock{
- id_tag = "AuxShower";
- name = "Showers"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/commons/toilet/auxiliary)
"tmK" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -56392,6 +56237,12 @@
/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"tqr" = (
+/obj/effect/turf_decal/tile/red/fourcorners,
+/obj/structure/closet/secure_closet/security/cargo,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/security/checkpoint/supply)
"tqx" = (
/obj/machinery/door/window/left/directional/north{
name = "Mass Driver Control Door";
@@ -56443,6 +56294,18 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation)
+"trC" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/spawner/random/trash/garbage{
+ spawn_scatter_radius = 1
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"trE" = (
/obj/structure/window/reinforced/spawner/directional/north,
/obj/structure/window/reinforced/spawner/directional/south,
@@ -56540,21 +56403,20 @@
/obj/structure/table,
/turf/open/floor/iron/dark,
/area/station/security/office)
-"tti" = (
-/obj/structure/table,
-/obj/item/clothing/gloves/latex,
-/obj/item/clothing/mask/surgical,
-/obj/item/reagent_containers/spray/cleaner,
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 9
- },
-/obj/machinery/wall_healer/directional/west,
-/turf/open/floor/iron/white,
-/area/station/security/medical)
"tts" = (
/obj/machinery/atmospherics/pipe/smart/simple/orange/visible,
/turf/closed/wall/r_wall,
/area/station/engineering/atmos)
+"ttD" = (
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 1;
+ name = "Cargo Lockdown Shutters";
+ id = "cargolockdown"
+ },
+/obj/structure/cable,
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/station/security/checkpoint/supply)
"ttE" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 8
@@ -56615,12 +56477,19 @@
},
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
-"tub" = (
+"ttY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/spawner/random/trash/garbage{
+ spawn_scatter_radius = 1
+ },
/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/security/prison/mess)
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"tug" = (
/obj/structure/extinguisher_cabinet/directional/west,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -56658,6 +56527,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/aft/lesser)
+"tuO" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"tvE" = (
/turf/closed/wall/r_wall,
/area/station/command/gateway)
@@ -56697,22 +56574,6 @@
/obj/effect/spawner/random/structure/grille,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"twu" = (
-/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/turf_decal/tile/purple/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/siding/purple{
- dir = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"twy" = (
/obj/effect/turf_decal/siding/purple,
/turf/open/floor/iron/dark,
@@ -56793,14 +56654,6 @@
/obj/machinery/vending/cigarette,
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
-"txP" = (
-/obj/effect/landmark/start/botanist,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/service/hydroponics)
"tyj" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -56844,18 +56697,19 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
+"tzr" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"tzt" = (
/obj/structure/statue/snow/snowman,
/turf/open/floor/fake_snow,
/area/station/maintenance/port/aft)
-"tzD" = (
-/obj/machinery/door/airlock{
- id_tag = "Toilet3";
- name = "Unit 3"
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/freezer,
-/area/station/commons/toilet/restrooms)
"tzE" = (
/obj/structure/cable,
/obj/effect/turf_decal/trimline/green/filled/line{
@@ -56952,6 +56806,24 @@
/obj/structure/flora/bush/flowers_br/style_random,
/turf/open/floor/grass,
/area/station/science/research)
+"tAV" = (
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 4;
+ name = "Cargo Lobby Lockdown Shutters";
+ id = "cargolobbylockdown"
+ },
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"tBc" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -57017,6 +56889,14 @@
/obj/machinery/door/firedoor/heavy,
/turf/open/floor/iron/dark/textured,
/area/station/engineering/atmos)
+"tBV" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 8
+ },
+/obj/item/radio/intercom/prison/directional/west,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/security/prison)
"tCC" = (
/obj/effect/turf_decal/trimline/green/filled/line{
dir = 8
@@ -57089,17 +56969,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"tDY" = (
-/obj/structure/bed/medical/emergency,
-/obj/machinery/camera/directional/west{
- c_tag = "Gateway - Atrium"
- },
-/obj/effect/turf_decal/bot{
- dir = 1
- },
-/obj/machinery/wall_healer/directional/west,
-/turf/open/floor/iron,
-/area/station/command/gateway)
"tDZ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/trash/box,
@@ -57144,14 +57013,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/science/research)
-"tEy" = (
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/structure/sink/kitchen/directional/west,
-/turf/open/floor/iron/cafeteria,
-/area/station/service/kitchen)
"tEP" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -57172,6 +57033,16 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"tFI" = (
+/obj/effect/spawner/structure/window,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 1;
+ name = "Cargo Lockdown Shutters";
+ id = "cargolockdown"
+ },
+/turf/open/floor/plating,
+/area/station/cargo/sorting)
"tGA" = (
/obj/effect/turf_decal/tile/neutral{
dir = 8
@@ -57465,6 +57336,17 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/commons/locker)
+"tKs" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/machinery/wall_healer/directional/south,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/command)
"tKu" = (
/obj/machinery/firealarm/directional/west,
/obj/structure/disposalpipe/segment,
@@ -57495,28 +57377,6 @@
/obj/structure/sign/warning/electric_shock/directional/south,
/turf/open/space/basic,
/area/space/nearstation)
-"tLc" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door_buttons/airlock_controller{
- idExterior = "xeno_airlock_exterior";
- idInterior = "xeno_airlock_interior";
- idSelf = "xeno_airlock_control";
- name = "Access Console";
- pixel_x = -25;
- pixel_y = -25;
- req_access = list("xenobiology")
- },
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 8
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"tLd" = (
/obj/structure/chair/office{
dir = 8
@@ -57547,6 +57407,12 @@
},
/turf/open/floor/carpet,
/area/station/command/heads_quarters/captain/private)
+"tLr" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/duct,
+/turf/open/floor/wood,
+/area/station/maintenance/port/aft)
"tLv" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
@@ -57878,6 +57744,14 @@
/obj/structure/window/reinforced/spawner/directional/south,
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/service/kitchen/coldroom)
+"tRt" = (
+/obj/machinery/holopad,
+/obj/effect/turf_decal/box/white{
+ color = "#52B4E9"
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white/smooth_large,
+/area/station/medical/treatment_center)
"tRE" = (
/obj/structure/chair{
dir = 1
@@ -57923,6 +57797,23 @@
"tSw" = (
/turf/closed/wall,
/area/station/maintenance/aft/greater)
+"tSH" = (
+/obj/structure/cable,
+/obj/machinery/door/airlock/virology/glass{
+ name = "Virology Lab"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/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/medical/virology,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"tSP" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -58213,20 +58104,15 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/secondary/command)
-"tXk" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
+"tXj" = (
/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
+/obj/structure/disposalpipe/segment{
+ dir = 10
},
/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/maintenance/starboard/greater)
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology)
"tXq" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
@@ -58332,6 +58218,11 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/plating,
/area/station/security/execution/transfer)
+"tYV" = (
+/obj/machinery/light/small/dim/directional/west,
+/obj/structure/reagent_dispensers/plumbed,
+/turf/open/floor/plating,
+/area/station/security/prison/safe)
"tYW" = (
/obj/machinery/light/directional/south,
/obj/structure/cable,
@@ -58365,6 +58256,11 @@
},
/turf/open/floor/iron,
/area/station/engineering/main)
+"tZA" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/wood,
+/area/station/maintenance/port/aft)
"tZD" = (
/obj/effect/landmark/start/captain,
/obj/structure/chair/comfy/brown,
@@ -58663,14 +58559,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white/smooth_large,
/area/station/medical/surgery/theatre)
-"udp" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"udD" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -58701,13 +58589,6 @@
/obj/effect/turf_decal/tile/purple,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"udO" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/service/hydroponics)
"udU" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/brown{
@@ -58885,6 +58766,18 @@
},
/turf/open/floor/carpet,
/area/station/service/theater)
+"uii" = (
+/obj/effect/spawner/structure/window,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 4;
+ name = "Cargo Lockdown Shutters";
+ id = "cargolockdown"
+ },
+/turf/open/floor/plating,
+/area/station/cargo/lobby)
"uiw" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
@@ -58958,14 +58851,6 @@
/obj/structure/mirror/directional/east,
/turf/open/floor/iron/freezer,
/area/station/commons/toilet/restrooms)
-"ujP" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/burnt_floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"ukc" = (
/obj/machinery/portable_atmospherics/canister/air,
/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{
@@ -59075,6 +58960,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"ulJ" = (
+/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,
+/obj/effect/turf_decal/tile/green/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"ulR" = (
/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
dir = 1
@@ -59174,14 +59070,6 @@
},
/turf/open/floor/iron,
/area/station/security/brig)
-"uom" = (
-/obj/effect/turf_decal/trimline/red/filled/line{
- dir = 8
- },
-/obj/structure/cable,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/security/prison)
"uor" = (
/obj/machinery/door/poddoor{
id = "QMLoaddoor2";
@@ -59336,6 +59224,11 @@
},
/turf/open/floor/iron/white,
/area/station/science/explab)
+"uqS" = (
+/obj/effect/spawner/random/food_or_drink/donkpockets,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"uqX" = (
/obj/structure/cable,
/obj/item/kirbyplants/random,
@@ -59656,20 +59549,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"uvP" = (
-/obj/structure/cable,
-/obj/machinery/door/airlock/virology/glass{
- name = "Containment Cells"
- },
-/obj/structure/disposalpipe/segment,
-/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/access/all/medical/virology,
-/obj/effect/turf_decal/tile/green/fourcorners,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"uwa" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -59755,10 +59634,6 @@
/obj/machinery/meter,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"uxA" = (
-/obj/structure/reagent_dispensers/plumbed,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"uxS" = (
/turf/open/floor/wood,
/area/station/maintenance/port/aft)
@@ -59775,6 +59650,12 @@
/obj/structure/plasticflaps,
/turf/open/floor/plating,
/area/station/cargo/sorting)
+"uyb" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/security/prison/mess)
"uyd" = (
/obj/structure/sign/warning/pods/directional/east,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -59889,6 +59770,14 @@
},
/turf/open/space/basic,
/area/space/nearstation)
+"uzH" = (
+/obj/effect/turf_decal/trimline/red/filled/corner{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/security/prison)
"uzJ" = (
/obj/effect/turf_decal/trimline/blue/filled/warning{
dir = 4
@@ -60116,6 +60005,21 @@
},
/turf/open/floor/engine,
/area/station/science/explab)
+"uDZ" = (
+/obj/structure/cable,
+/obj/machinery/door/airlock{
+ name = "Custodial Closet"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/airlock/access/all/service/janitor,
+/obj/effect/landmark/navigate_destination/janitor,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
"uEo" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 4
@@ -60219,6 +60123,14 @@
/obj/effect/turf_decal/tile/red/half/contrasted,
/turf/open/floor/iron,
/area/station/security/checkpoint/customs)
+"uFi" = (
+/obj/structure/table/glass,
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/obj/item/storage/medkit/regular,
+/turf/open/floor/iron/dark,
+/area/station/command/bridge)
"uFq" = (
/obj/machinery/door/window/left/directional/west{
name = "Mass Driver Door";
@@ -60228,20 +60140,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/science/ordnance/testlab)
-"uFr" = (
-/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/tile/blue/half/contrasted{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/surgery/aft)
"uFw" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -60344,11 +60242,6 @@
/obj/effect/spawner/random/techstorage/ai_all,
/turf/open/floor/iron/dark,
/area/station/engineering/storage/tech)
-"uGx" = (
-/obj/machinery/light/small/directional/south,
-/obj/machinery/duct,
-/turf/open/floor/iron/freezer,
-/area/station/security/prison/shower)
"uGz" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/binary/pump/on/layer4{
@@ -60473,18 +60366,6 @@
/obj/machinery/light/small/dim/directional/north,
/turf/open/floor/plating,
/area/station/maintenance/port)
-"uIM" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 9
- },
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/white,
-/area/station/medical/cryo)
"uIP" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -60495,6 +60376,20 @@
/obj/structure/cable,
/turf/open/floor/wood,
/area/station/command/heads_quarters/captain/private)
+"uJd" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/light/floor,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology)
"uJm" = (
/obj/structure/bookcase{
name = "Forbidden Knowledge"
@@ -60721,16 +60616,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/security/execution/transfer)
-"uNd" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"uNl" = (
/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
dir = 4
@@ -60741,23 +60626,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
-"uNs" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 8;
- id = "XenoPens";
- name = "Xenobiology Lockdown"
- },
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/science/xenobiology)
"uND" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -60771,15 +60639,6 @@
/obj/machinery/power/apc/auto_name/directional/west,
/turf/open/floor/iron,
/area/station/service/janitor)
-"uNO" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology/hallway)
"uNS" = (
/obj/effect/spawner/random/trash/box,
/turf/open/floor/plating,
@@ -60878,6 +60737,18 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"uPR" = (
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/blue/filled/corner,
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/structure/sign/poster/official/help_others/directional/south,
+/obj/structure/sign/departments/psychology/directional/west,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
"uQe" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -61057,6 +60928,15 @@
/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/iron/dark,
/area/station/medical/storage)
+"uTv" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/spawner/random/structure/chair_maintenance{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"uTH" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 4
@@ -61529,6 +61409,13 @@
/obj/machinery/light/directional/east,
/turf/open/floor/iron,
/area/station/engineering/main)
+"vaY" = (
+/obj/item/storage/bag/trash,
+/obj/machinery/airalarm/directional/west,
+/obj/structure/cable,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/security/prison/safe)
"vbf" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/line{
@@ -61681,18 +61568,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/lobby)
-"vem" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 4;
- name = "Cargo Lobby Lockdown Shutters";
- id = "cargolobbylockdown"
- },
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"veo" = (
/obj/structure/weightmachine/weightlifter{
color = "#f5a183";
@@ -61716,14 +61591,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"veS" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/surgery/theatre)
"vfa" = (
/obj/effect/turf_decal/trimline/blue/filled/corner{
dir = 1
@@ -61786,15 +61653,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"vgu" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/freezer,
-/area/station/commons/toilet/restrooms)
"vgv" = (
/obj/effect/turf_decal/stripes/line{
dir = 9
@@ -62118,6 +61976,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"vkT" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/chair/stool/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/service/janitor)
"vla" = (
/obj/effect/landmark/firealarm_sanity,
/turf/open/floor/engine{
@@ -62405,11 +62270,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"vpR" = (
-/obj/structure/mirror/directional/west,
-/obj/structure/sink/directional/east,
-/turf/open/floor/iron/freezer,
-/area/station/commons/fitness/recreation)
"vqj" = (
/obj/machinery/computer/atmos_alert/station_only{
dir = 1
@@ -62509,12 +62369,6 @@
/obj/effect/turf_decal/tile/red/half/contrasted,
/turf/open/floor/iron,
/area/station/security/checkpoint/customs)
-"vsr" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/commons/toilet/auxiliary)
"vsG" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/disposalpipe/segment{
@@ -62848,6 +62702,17 @@
/obj/effect/spawner/random/bureaucracy/paper,
/turf/open/floor/plating,
/area/station/maintenance/port)
+"vxf" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/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/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
"vxi" = (
/obj/machinery/light/directional/east,
/obj/effect/turf_decal/stripes/line{
@@ -63154,14 +63019,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/engineering/gravity_generator)
-"vCu" = (
-/obj/machinery/light/small/directional/west,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/structure/sign/poster/official/random/directional/west,
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/commons/toilet/auxiliary)
"vCC" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -63316,6 +63173,13 @@
/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden,
/turf/open/floor/iron,
/area/station/engineering/atmos/storage/gas)
+"vEO" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/wall_healer/directional/west,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"vET" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -63331,6 +63195,27 @@
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"vFa" = (
+/obj/structure/toilet{
+ pixel_y = 8;
+ dir = 4
+ },
+/obj/machinery/light/small/directional/west,
+/obj/machinery/newscaster/directional/south,
+/obj/effect/landmark/start/assistant,
+/obj/effect/landmark/start/hangover,
+/obj/effect/spawner/random/trash/graffiti{
+ pixel_x = -32;
+ spawn_loot_chance = 50
+ },
+/obj/machinery/button/door/directional/west{
+ id = "Toilet3";
+ name = "Lock Control";
+ normaldoorcontrol = 1;
+ specialfunctions = 4
+ },
+/turf/open/floor/iron/freezer,
+/area/station/commons/toilet/restrooms)
"vFb" = (
/obj/structure/lattice/catwalk,
/obj/item/binoculars,
@@ -63579,6 +63464,21 @@
/obj/structure/light_construct/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"vJA" = (
+/obj/structure/cable,
+/obj/machinery/camera/directional/east{
+ c_tag = "Xenobiology Lab - Central West";
+ network = list("ss13","rd","xeno")
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/button/door/directional/east{
+ id = "XenoPens";
+ name = "Xenobiology Shutters";
+ req_access = list("xenobiology")
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology)
"vJX" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -63678,11 +63578,27 @@
},
/turf/open/floor/iron,
/area/station/commons/locker)
+"vLE" = (
+/obj/item/kirbyplants,
+/obj/effect/turf_decal/tile/blue/half/contrasted,
+/obj/machinery/wall_healer/directional/south,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
"vLM" = (
/obj/structure/table/wood/poker,
/obj/item/storage/dice,
/turf/open/floor/wood,
/area/station/commons/lounge)
+"vLW" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/spawner/random/trash/garbage{
+ spawn_scatter_radius = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"vLX" = (
/obj/item/wrench,
/turf/open/floor/iron/dark,
@@ -63999,16 +63915,6 @@
/obj/machinery/light/floor,
/turf/open/floor/iron,
/area/station/commons/locker)
-"vRk" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/junction/flip,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"vRr" = (
/obj/effect/turf_decal/trimline/brown/corner{
dir = 1
@@ -64117,14 +64023,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/medical/surgery/theatre)
-"vSU" = (
-/obj/machinery/door/airlock{
- id_tag = "Toilet2";
- name = "Unit 2"
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/freezer,
-/area/station/commons/toilet/restrooms)
"vTf" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{
dir = 8
@@ -64249,14 +64147,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/brig)
-"vVz" = (
-/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/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"vVE" = (
/obj/machinery/camera/motion/directional/east{
c_tag = "MiniSat Maintenance";
@@ -64373,23 +64263,23 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/security/courtroom)
+"vWO" = (
+/obj/machinery/door/airlock/wood{
+ doorClose = 'sound/effects/doorcreaky.ogg';
+ doorOpen = 'sound/effects/doorcreaky.ogg';
+ name = "The Gobetting Barmaid"
+ },
+/obj/effect/mapping_helpers/airlock/abandoned,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"vWT" = (
/obj/structure/frame/machine{
anchored = 1
},
/turf/open/floor/circuit/green/off,
/area/station/science/research)
-"vXg" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/sorting/mail/flip{
- dir = 1
- },
-/obj/effect/mapping_helpers/mail_sorting/medbay/virology,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/landmark/firealarm_sanity,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
"vXj" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 9
@@ -64754,6 +64644,22 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"wcY" = (
+/obj/effect/turf_decal/trimline/red/filled/corner{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/security/prison)
+"wcZ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology)
"wde" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 9
@@ -64861,6 +64767,13 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/central)
+"weR" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/commons/toilet/auxiliary)
"wfm" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -64934,12 +64847,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"wfZ" = (
-/obj/machinery/airalarm/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/commons/toilet/auxiliary)
"wgf" = (
/obj/effect/turf_decal/delivery,
/obj/structure/closet/firecloset,
@@ -65185,16 +65092,6 @@
/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/wood,
/area/station/service/library)
-"wkt" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/wall_healer/directional/west,
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
"wkv" = (
/obj/structure/railing{
dir = 8
@@ -65517,19 +65414,20 @@
},
/turf/open/floor/iron/white,
/area/station/medical/virology)
-"wra" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/sign/poster/contraband/random/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"wrc" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
+"wre" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/sorting/mail,
+/obj/effect/mapping_helpers/mail_sorting/medbay/virology,
+/obj/effect/turf_decal/tile/green/half/contrasted,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"wrg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -65700,6 +65598,17 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/security/brig)
+"wtc" = (
+/obj/machinery/door/airlock/maintenance,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/airlock/unres,
+/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"wto" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -65746,6 +65655,11 @@
/obj/structure/cable,
/turf/open/floor/circuit,
/area/station/ai_monitored/turret_protected/ai_upload)
+"wtD" = (
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/wall_healer/directional/east,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"wtP" = (
/obj/effect/turf_decal/siding{
dir = 4
@@ -65812,6 +65726,21 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port)
+"wvu" = (
+/obj/structure/disposalpipe/sorting/mail/flip{
+ dir = 2
+ },
+/obj/structure/cable,
+/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/effect/mapping_helpers/mail_sorting/service/janitor_closet,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
"wvB" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -65920,6 +65849,25 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
+"wxE" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/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/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"wxF" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/line{
@@ -66096,17 +66044,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"wAX" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/sorting/mail{
- dir = 1
- },
-/obj/effect/mapping_helpers/mail_sorting/medbay/general,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"wBe" = (
/obj/effect/turf_decal/trimline/red/filled/corner{
dir = 4
@@ -66418,11 +66355,6 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"wGf" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/vending/autodrobe,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"wGz" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/light_construct/directional/east,
@@ -66463,6 +66395,29 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/commons/dorms)
+"wGW" = (
+/obj/machinery/mineral/ore_redemption{
+ dir = 4;
+ input_dir = 8;
+ output_dir = 4
+ },
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/window/left/directional/east{
+ name = "Ore Redemption Window"
+ },
+/obj/machinery/door/window/left/directional/west{
+ req_access = list("cargo");
+ name = "Cargo Security Window"
+ },
+/obj/effect/turf_decal/tile/brown/fourcorners,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 4;
+ name = "Cargo Lockdown Shutters";
+ id = "cargolockdown"
+ },
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"wHd" = (
/obj/machinery/space_heater,
/turf/open/floor/plating,
@@ -66524,6 +66479,17 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"wIf" = (
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/bot,
+/obj/structure/sink/kitchen/directional/east,
+/turf/open/floor/iron/cafeteria,
+/area/station/service/kitchen)
"wIB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/closed/wall/r_wall,
@@ -67314,6 +67280,12 @@
"wYB" = (
/turf/closed/wall,
/area/station/hallway/secondary/service)
+"wYH" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/spawner/random/structure/closet_maintenance,
+/obj/effect/spawner/random/maintenance/three,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"wZe" = (
/obj/machinery/door/airlock/public/glass{
name = "Chapel Office"
@@ -67331,11 +67303,6 @@
},
/turf/open/floor/grass,
/area/station/science/research)
-"wZh" = (
-/obj/effect/turf_decal/trimline/blue/filled/line,
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
"wZk" = (
/obj/machinery/light_switch/directional/north,
/obj/structure/showcase/cyborg/old{
@@ -67343,11 +67310,6 @@
},
/turf/open/floor/iron/grimy,
/area/station/tcommsat/computer)
-"wZl" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/duct,
-/turf/open/floor/wood,
-/area/station/maintenance/port/aft)
"wZo" = (
/obj/machinery/airalarm/directional/east,
/obj/effect/turf_decal/tile/brown/half/contrasted{
@@ -67474,13 +67436,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
-"xcp" = (
-/obj/effect/spawner/random/maintenance,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"xcv" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -67544,11 +67499,6 @@
"xdJ" = (
/turf/closed/wall,
/area/station/medical/surgery/aft)
-"xdQ" = (
-/obj/structure/sign/warning/hot_temp/directional/south,
-/obj/effect/spawner/random/structure/crate,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"xdX" = (
/obj/machinery/door/firedoor,
/obj/structure/cable,
@@ -67753,11 +67703,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"xgz" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
"xgB" = (
/obj/structure/cable,
/turf/open/floor/plating,
@@ -67833,6 +67778,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/aft/lesser)
+"xhu" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
"xhO" = (
/obj/machinery/camera/directional/north{
c_tag = "Science Robotics Workshop";
@@ -67914,6 +67867,10 @@
},
/turf/open/floor/circuit/green,
/area/station/ai_monitored/turret_protected/ai)
+"xje" = (
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"xjg" = (
/mob/living/basic/bot/cleanbot/medbay,
/turf/open/floor/iron/white,
@@ -67961,11 +67918,9 @@
},
/turf/open/floor/wood/parquet,
/area/station/medical/psychology)
-"xjK" = (
-/obj/structure/chair/stool/directional/west,
-/obj/effect/mapping_helpers/broken_floor,
+"xjJ" = (
/obj/machinery/duct,
-/turf/open/floor/wood,
+/turf/open/floor/carpet/green,
/area/station/maintenance/port/aft)
"xkj" = (
/obj/effect/spawner/random/maintenance,
@@ -68015,10 +67970,6 @@
/obj/structure/cable/layer3,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/command/storage/satellite)
-"xkB" = (
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/security/prison)
"xkE" = (
/obj/machinery/recharge_station,
/obj/effect/landmark/start/hangover,
@@ -68064,14 +68015,6 @@
/obj/item/pen/red,
/turf/open/floor/wood,
/area/station/service/lawoffice)
-"xlt" = (
-/obj/structure/table/glass,
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/item/storage/medkit/regular,
-/turf/open/floor/iron/dark,
-/area/station/command/bridge)
"xlv" = (
/obj/machinery/airalarm/directional/south,
/obj/machinery/computer/mech_bay_power_console{
@@ -68256,6 +68199,15 @@
"xpo" = (
/turf/open/floor/carpet,
/area/station/commons/dorms)
+"xps" = (
+/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,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer5,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"xpB" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
@@ -68380,10 +68332,27 @@
/obj/effect/landmark/navigate_destination,
/turf/open/floor/engine/cult,
/area/station/service/library)
+"xrl" = (
+/obj/effect/turf_decal/trimline/red/filled/corner{
+ dir = 8
+ },
+/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)
"xrr" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/disposal/incinerator)
+"xru" = (
+/obj/effect/spawner/structure/window,
+/obj/structure/curtain/cloth/fancy/mechanical{
+ name = "Psychology Curtains";
+ id = "psychology_curtains"
+ },
+/turf/open/floor/plating,
+/area/station/medical/psychology)
"xrv" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
@@ -68392,6 +68361,12 @@
/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"xrx" = (
+/obj/structure/chair/stool/directional/west,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/duct,
+/turf/open/floor/wood,
+/area/station/maintenance/port/aft)
"xrG" = (
/obj/structure/fireaxecabinet/directional/west,
/obj/machinery/camera/directional/west{
@@ -68602,15 +68577,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4,
/turf/closed/wall/r_wall,
/area/station/maintenance/aft/lesser)
-"xuY" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/spawner/random/structure/chair_maintenance{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"xvd" = (
/obj/structure/closet/emcloset,
/obj/effect/turf_decal/delivery,
@@ -68644,6 +68610,36 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/science/genetics)
+"xvQ" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/locked,
+/obj/machinery/door/airlock/virology{
+ autoclose = 0;
+ frequency = 1449;
+ id_tag = "virology_airlock_interior";
+ name = "Virology Interior Airlock"
+ },
+/obj/machinery/door_buttons/access_button{
+ idDoor = "virology_airlock_interior";
+ idSelf = "virology_airlock_control";
+ name = "Virology Access Button";
+ pixel_x = 8;
+ pixel_y = -24;
+ req_access = list("virology")
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/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/medical/virology,
+/obj/machinery/door/firedoor,
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"xvR" = (
/obj/structure/table,
/obj/item/paper/guides/jobs/engi/gravity_gen,
@@ -68939,12 +68935,6 @@
/obj/structure/window/spawner/directional/south,
/turf/open/floor/iron/dark,
/area/station/commons/fitness/recreation)
-"xAF" = (
-/obj/item/kirbyplants,
-/obj/effect/turf_decal/tile/blue/half/contrasted,
-/obj/machinery/wall_healer/directional/south,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
"xAR" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -69143,13 +69133,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"xDA" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/port)
"xDD" = (
/obj/effect/turf_decal/stripes/red/line{
dir = 9
@@ -69483,6 +69466,15 @@
/obj/machinery/airalarm/directional/south,
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
+"xKx" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/freezer,
+/area/station/commons/toilet/restrooms)
"xKK" = (
/turf/closed/wall,
/area/station/science/research)
@@ -69819,6 +69811,21 @@
},
/turf/open/floor/iron/white/smooth_large,
/area/station/medical/medbay/lobby)
+"xRa" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/holopad,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple/fourcorners,
+/obj/effect/turf_decal/siding/purple/corner{
+ dir = 1
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"xRc" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
dir = 10
@@ -69832,6 +69839,11 @@
},
/turf/open/floor/plating,
/area/station/maintenance/aft/lesser)
+"xRG" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/engineering/atmospherics_portable,
+/turf/open/floor/plating,
+/area/station/maintenance/port)
"xRO" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -69875,15 +69887,6 @@
/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"xSn" = (
-/obj/effect/turf_decal/trimline/red/filled/line{
- dir = 8
- },
-/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)
"xSO" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -70342,6 +70345,20 @@
/obj/machinery/monkey_recycler,
/turf/open/floor/iron,
/area/station/science/xenobiology)
+"yaA" = (
+/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/tile/blue/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white,
+/area/station/medical/surgery/aft)
"yaD" = (
/obj/structure/table,
/obj/item/stack/rods/fifty,
@@ -70649,6 +70666,11 @@
/obj/structure/sign/poster/random/directional/north,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"yeQ" = (
+/obj/structure/reagent_dispensers/plumbed,
+/obj/effect/spawner/random/maintenance/three,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"yeV" = (
/obj/structure/closet/secure_closet/hos,
/obj/item/clothing/shoes/cowboy/black,
@@ -70818,13 +70840,6 @@
},
/turf/open/floor/plating,
/area/station/cargo/sorting)
-"yhO" = (
-/obj/effect/turf_decal/trimline/red/filled/line{
- dir = 8
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/white,
-/area/station/security/prison)
"yia" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -84538,7 +84553,7 @@ jUm
cXW
cXW
bLm
-pZr
+xjJ
uxS
uxS
fgn
@@ -84795,7 +84810,7 @@ uke
bLm
cXW
cXW
-pZr
+xjJ
oBA
ruz
ehn
@@ -85044,7 +85059,7 @@ vXH
rHE
uGz
vXH
-dSp
+xRG
tYi
giT
jUb
@@ -85052,7 +85067,7 @@ esd
htr
htr
dSQ
-syg
+aeh
dbm
ruz
uxS
@@ -85309,8 +85324,8 @@ xqn
uxS
fQZ
ehv
-xjK
-iRg
+xrx
+kRq
uxS
ehn
uxS
@@ -85567,7 +85582,7 @@ fQD
uxS
uxS
qKs
-cfc
+mSO
dqN
uxS
uxS
@@ -85824,7 +85839,7 @@ ruz
ehn
uxS
uxS
-bwi
+ntG
uxS
uxS
uxS
@@ -86081,7 +86096,7 @@ coJ
uxS
fNI
uxS
-bCE
+tLr
wGz
uxS
uxS
@@ -86099,12 +86114,12 @@ jUb
aaa
xjH
aWC
-mHl
-vVz
-vVz
-mtZ
-uvP
-pWX
+sxU
+rie
+rie
+wre
+mQf
+ulJ
eYE
hcR
gqV
@@ -86338,7 +86353,7 @@ hWD
etv
jUb
fYq
-wZl
+tZA
jUb
dyd
jXO
@@ -86356,7 +86371,7 @@ jUb
aaa
xjH
ocN
-ark
+gbz
uGq
iam
kHk
@@ -86595,7 +86610,7 @@ jUb
jUb
jUb
jUb
-fxT
+vWO
jUb
jUb
jUb
@@ -86613,7 +86628,7 @@ jUb
lMJ
xjH
xjH
-ffS
+tSH
xjH
xjH
xjH
@@ -86841,18 +86856,18 @@ njE
fHV
pOa
flN
-sTA
-mhs
-fAo
-aAQ
-ujP
-tbm
-dMX
-qzf
-jrp
-tbm
-wra
-tbm
+cwD
+mLd
+wtc
+dog
+kge
+bsV
+vLW
+aer
+lZI
+bsV
+mti
+bsV
jUb
cBc
aFf
@@ -86870,7 +86885,7 @@ jUb
aaa
aaa
rKQ
-eSR
+loM
rKQ
aaa
aaa
@@ -87097,15 +87112,15 @@ sOF
fkd
eDC
pOa
-jaM
-xDA
+dcD
+qIR
jUb
jUb
jUb
jUb
jUb
jUb
-bbt
+gNR
jUb
jUb
jUb
@@ -87127,7 +87142,7 @@ jUb
aaa
aaa
rKQ
-gjt
+rfA
rKQ
aaa
aaa
@@ -87338,7 +87353,7 @@ fcq
jPE
auh
crr
-wkt
+cNl
crr
qer
crr
@@ -87355,14 +87370,14 @@ pOa
pOa
pOa
pOa
-kZQ
+hyI
jUb
xIK
bar
nBp
-hSP
-pqz
-iuB
+xje
+cWX
+uqS
jUb
oSy
gwK
@@ -87384,7 +87399,7 @@ jUb
aaa
aaa
rKQ
-iyC
+wxE
rKQ
aaa
aaa
@@ -87612,12 +87627,12 @@ gXe
vwi
tql
pOa
-xcp
+sff
jUb
tWr
qKs
-dPJ
-hBC
+lsb
+lIS
jUb
nYy
jUb
@@ -87641,7 +87656,7 @@ jUb
jUb
xjH
xjH
-bVK
+xvQ
xjH
xjH
lMJ
@@ -87861,15 +87876,15 @@ fjD
fjD
fjD
fjD
-vsr
-bRG
+hmY
+weR
pOa
vZE
ivx
gDZ
lEu
pOa
-pON
+bpM
jUb
qno
fms
@@ -87897,8 +87912,8 @@ nsa
jUb
tzt
xjH
-sMo
-sOM
+lix
+pmx
jXn
xjH
aaa
@@ -88114,11 +88129,11 @@ iOc
qwG
fjD
rEj
-vCu
+eHo
cwc
kXa
fjD
-tmI
+cMr
fjD
pOa
cIW
@@ -88126,7 +88141,7 @@ tKj
tYi
vXH
pOa
-tak
+pgA
jUb
tXX
dqN
@@ -88154,8 +88169,8 @@ nsa
jUb
huF
xjH
-rUU
-eSR
+cQo
+loM
vYJ
xjH
aaa
@@ -88371,19 +88386,19 @@ iOc
mAs
fjD
aOo
-haE
-vsr
-fRG
-vsr
-wfZ
-soa
-oMs
-aFz
-mvv
+bmx
+hmY
+dGo
+hmY
+hoh
+eax
+nwZ
+gbE
+iSd
sNM
tYi
pOa
-kZQ
+hyI
jUb
ilQ
oVn
@@ -88636,11 +88651,11 @@ fjD
hsF
pOa
vJY
-mvv
-mvv
-rVY
-rAa
-guq
+iSd
+iSd
+rfn
+sPk
+tzr
jUb
sal
gvg
@@ -88894,7 +88909,7 @@ oyx
pOa
xgG
vJY
-wGf
+ftL
wev
pOa
uOH
@@ -88919,15 +88934,15 @@ kZv
xNq
xLB
mbx
-wAX
-eVU
-qvC
-nCL
-iCX
-oGf
-sPq
-vXg
-iTH
+mAZ
+lmy
+xps
+jwI
+gYR
+rim
+eln
+fHr
+gZC
bhS
tSw
tSw
@@ -89176,7 +89191,7 @@ jUb
jUb
jUb
jUb
-gPY
+trC
jUb
jUb
fLe
@@ -89184,10 +89199,10 @@ jUb
gll
azE
xxU
-bxq
-lpN
-sWZ
-ohY
+vxf
+qju
+eHm
+mdA
rKf
tSw
laL
@@ -89444,10 +89459,10 @@ erF
xTw
bhS
fqR
-mwm
+eGg
drm
tSw
-jsq
+rpt
tSw
wxF
tSw
@@ -89701,7 +89716,7 @@ tzE
ucc
tSw
tSw
-rTF
+hfJ
tSw
tSw
tSw
@@ -89900,7 +89915,7 @@ liU
nrB
smB
tik
-mka
+kzE
xwa
fjw
cwY
@@ -89958,7 +89973,7 @@ wSv
fuA
aPq
fVa
-uFr
+yaA
vZb
tBJ
tnG
@@ -90157,7 +90172,7 @@ snZ
xgx
dfk
uyf
-rPB
+tFI
uya
yhL
nQR
@@ -90195,9 +90210,9 @@ jUb
jUb
mqz
pHv
-veS
-dGv
-bdy
+saA
+hmo
+gXv
izl
rps
eme
@@ -90215,7 +90230,7 @@ oBO
ieH
vDc
miX
-bfg
+sen
iAu
tBJ
cxw
@@ -90472,7 +90487,7 @@ tFr
nMf
bIv
miX
-hIx
+jio
qOk
tBJ
gIB
@@ -90663,15 +90678,15 @@ kKO
vQT
hBo
gWz
-sGv
-msn
+qFV
+gHK
hIp
ksM
lQf
wsx
dsJ
-qHp
-oiX
+qof
+pih
lzD
hIW
uyh
@@ -90729,7 +90744,7 @@ kHg
nMf
vDc
aRk
-nCc
+czZ
msC
tBJ
gLY
@@ -90918,14 +90933,14 @@ eOl
vjg
mLp
kQP
-qKz
-qKz
+bvX
+bvX
kQP
kQP
-hAA
-kjM
+bLV
+uii
dHi
-kQA
+wGW
lVp
bzH
bzH
@@ -91130,11 +91145,11 @@ tKa
tGX
aXa
iSl
-oZL
-hmy
-oZL
-oZL
-tub
+qkY
+bKW
+qkY
+qkY
+uyb
eJp
bmB
aXa
@@ -91184,7 +91199,7 @@ cIl
qxJ
vNp
erU
-dvz
+gyl
uuW
pPm
jHM
@@ -91391,7 +91406,7 @@ lds
mzm
hXQ
bVF
-fGP
+kOu
aJK
liL
kKZ
@@ -91431,17 +91446,17 @@ ciE
dUd
rtz
fpV
-jcg
+lIA
bEK
ydp
cNb
-kyL
+jAT
kUG
rVn
qxJ
sik
ryV
-mbI
+nuk
qCx
cap
nZW
@@ -91475,8 +91490,8 @@ cIW
pOa
mpV
izs
-uIM
-kMo
+dOz
+gvd
grm
sSp
wvP
@@ -91486,7 +91501,7 @@ ckE
ckE
oJD
oPv
-wZh
+iZX
xtu
rvb
ver
@@ -91648,7 +91663,7 @@ kKZ
aXa
aXa
iDe
-oUE
+aXA
aij
oGZ
aXa
@@ -91692,13 +91707,13 @@ wyV
iqo
wyV
cJt
-kyL
+jAT
alu
aUm
jvv
bNN
rod
-lHB
+lme
gav
hab
uyP
@@ -91731,8 +91746,8 @@ kir
vXH
pOa
xYM
-aez
-ajK
+jFF
+gtd
aSe
jeL
jxc
@@ -91905,7 +91920,7 @@ vjF
kZF
aXa
aXa
-bns
+jen
aXa
aXa
aXa
@@ -91949,7 +91964,7 @@ wyV
wyV
wyV
oxX
-kyL
+jAT
vdW
oac
fhB
@@ -91959,7 +91974,7 @@ oor
oor
xma
oor
-dZo
+nlN
oor
oor
oor
@@ -92000,7 +92015,7 @@ mtj
buN
lTR
bHE
-jGG
+tRt
agZ
rvb
mhm
@@ -92159,18 +92174,18 @@ wBn
iFz
eyX
qYd
-lmT
-gtk
-yhO
-axK
-yhO
-yhO
-crl
-pSa
-cUf
-csb
-uom
-xSn
+wcY
+iBO
+env
+bOX
+env
+env
+tBV
+uzH
+xrl
+qqJ
+jFw
+rwy
cji
vjF
ejR
@@ -92212,8 +92227,8 @@ upN
qxJ
ajq
vwg
-jVY
-ozP
+ttD
+tqr
rBB
kJk
xJj
@@ -92416,7 +92431,7 @@ hwZ
rGe
wtw
tcW
-mfb
+ake
axO
tcW
tcW
@@ -92427,7 +92442,7 @@ tcW
tcW
odh
tcW
-mfb
+ake
qAX
bhN
wBe
@@ -92458,16 +92473,16 @@ qme
cNg
kQP
kQP
-kJE
-kJE
+kux
+kux
kQP
kQP
kQP
kQP
rcR
-llx
-vem
-szD
+sZP
+pxK
+tAV
nDG
oor
oor
@@ -92512,8 +92527,8 @@ bHE
vWv
hMq
hMq
-sxf
-jVx
+gIt
+hvo
nKE
xtu
rvb
@@ -92536,7 +92551,7 @@ yiJ
sfA
eQO
xjI
-dOS
+jgn
tSw
tAH
nwT
@@ -92673,7 +92688,7 @@ tGX
fwf
ihb
ihb
-gtH
+iMa
ihb
ihb
mzI
@@ -92684,7 +92699,7 @@ wZz
wZz
wZz
oUU
-xkB
+fyg
rDr
wIM
aCQ
@@ -92707,7 +92722,7 @@ rlU
vis
dhz
ixT
-oXK
+hlg
rlU
aaa
aEH
@@ -92726,14 +92741,14 @@ udU
isA
eKG
iit
-egM
-bqs
+cIE
+aBF
kkA
fMC
uYE
iQb
hRJ
-bqs
+aBF
mnP
xOw
iOc
@@ -92769,7 +92784,7 @@ pSl
eUN
jpU
jpU
-xgz
+heY
qXh
ehg
hgu
@@ -92793,7 +92808,7 @@ vAX
sfA
dvn
qkJ
-tgC
+inl
tSw
tAH
ifQ
@@ -92930,18 +92945,18 @@ qig
ocG
ihb
pGZ
-pJu
+rsA
mAe
ihb
nyf
uZa
nEZ
wZz
-dNC
-qOT
-swR
-cXs
-xkB
+tYV
+vaY
+qeq
+hkh
+fyg
oDX
dfB
aCQ
@@ -92983,14 +92998,14 @@ kWP
lgg
uLE
cSu
-abc
+rfe
oor
-bqs
-bqs
+aBF
+aBF
pog
oor
-bqs
-bqs
+aBF
+aBF
uGU
mFo
npY
@@ -93026,7 +93041,7 @@ ppG
nuO
xQC
ckE
-iUJ
+gHq
bJk
mpk
pyU
@@ -93046,7 +93061,7 @@ ngl
ngl
ngl
uYp
-ikS
+dUE
cnc
igP
sjx
@@ -93186,16 +93201,16 @@ dAc
lyu
qDg
ihb
-lfm
-hOR
-uGx
+cKG
+sGM
+rrF
ihb
pEI
jDB
ybd
wZz
tIE
-lnM
+sgI
wZz
xwf
fBY
@@ -93240,14 +93255,14 @@ hSg
uTN
uVm
sSV
-bJg
+eHc
anX
-qmU
+raf
nyb
xYT
nyb
nyb
-qmU
+raf
qjH
vhB
guR
@@ -93283,7 +93298,7 @@ sSp
jxc
jfn
jxc
-stD
+sOd
jxc
sSp
sSp
@@ -93303,8 +93318,8 @@ dZy
kTO
gdL
fEK
-rOF
-rOF
+xru
+xru
cMX
rOF
tSw
@@ -93559,11 +93574,11 @@ ePg
eMI
jfN
eMI
-kDa
-onv
-sFY
+cmp
+sBR
+cYs
xar
-kKh
+uPR
tSw
koq
swP
@@ -93797,7 +93812,7 @@ iFi
eUW
iFi
iFi
-gTn
+ksC
fod
uVx
jso
@@ -94330,7 +94345,7 @@ oNy
bqX
bqX
bqX
-iHn
+nWB
nmQ
qZa
aec
@@ -94752,7 +94767,7 @@ qJi
mzL
hAL
nRZ
-tti
+dpR
jDf
gWT
vaH
@@ -95827,7 +95842,7 @@ jLQ
fgS
jrk
dhX
-oIC
+tKs
gBD
twl
bcx
@@ -95850,7 +95865,7 @@ nBB
nbT
xxU
tFr
-xAF
+vLE
eIO
eIO
eIO
@@ -96651,7 +96666,7 @@ wnW
tSw
oBD
iUm
-eri
+qrG
hPk
xMz
xMz
@@ -97100,8 +97115,8 @@ tKN
lMJ
dsQ
mZL
-scw
-xlt
+geA
+uFi
acf
hmq
dJX
@@ -98114,7 +98129,7 @@ lKZ
dNX
iVA
mlK
-ita
+vEO
dNX
nyV
dNX
@@ -98690,7 +98705,7 @@ dXQ
gmt
qsx
gmt
-shR
+wtD
uzk
gmt
qhx
@@ -100201,7 +100216,7 @@ kmZ
buL
pha
sdp
-tDY
+gSr
erl
pbS
eny
@@ -103760,11 +103775,11 @@ ilh
tWE
edQ
ilh
-lJm
+vFa
dIO
-hVX
+noy
dIO
-rdT
+pGp
dIO
hxt
qRk
@@ -104017,11 +104032,11 @@ ilh
qhR
xAR
ilh
-tzD
+gBt
dIO
-vSU
+rHM
dIO
-oos
+cmy
dIO
dTv
qRk
@@ -104531,8 +104546,8 @@ nja
icC
eCn
ilh
-dKO
-lNf
+taB
+pta
fLz
ujM
cwF
@@ -104600,7 +104615,7 @@ aBX
iio
kjG
gwf
-aNH
+hMf
mMX
rhe
rPA
@@ -104788,8 +104803,8 @@ ilh
ilh
ilh
ilh
-rWf
-nft
+nrI
+sWr
dIO
dIO
dIO
@@ -105027,7 +105042,7 @@ szp
szp
szp
ilh
-oiz
+kim
mVr
jCj
ihX
@@ -105045,11 +105060,11 @@ xnU
mgE
xnU
dIO
-jlY
-vgu
+mZB
+xKx
kAF
-lvU
-nKO
+eeu
+mGV
dIO
aqa
rNJ
@@ -105281,8 +105296,8 @@ lMJ
lMJ
lMJ
szp
-lHH
-vpR
+eYg
+qts
ilh
ipG
gKc
@@ -105303,7 +105318,7 @@ yfw
eek
wst
mPE
-knf
+dHu
gGf
dIO
dIO
@@ -105538,8 +105553,8 @@ aaa
aaa
aaa
nvn
-lLw
-ePA
+nbQ
+cHZ
ilh
gfe
aDR
@@ -105850,14 +105865,14 @@ fGH
fhQ
sFB
mal
-rFO
+wIf
pmZ
qdI
ttF
sRY
wDh
uIs
-btn
+jYw
gsr
pUA
wFM
@@ -106057,7 +106072,7 @@ peF
liO
sSs
gkM
-rkf
+plL
uKL
uKL
mKu
@@ -107139,7 +107154,7 @@ cfA
mqu
mJk
itg
-tEy
+eBY
nEB
uIs
bjl
@@ -107658,7 +107673,7 @@ tQC
gsP
phS
huG
-nWd
+baR
ydS
kCZ
nKI
@@ -107895,7 +107910,7 @@ xww
xww
aEr
sDs
-pyX
+qNX
obG
gUe
yks
@@ -108178,10 +108193,10 @@ foB
siz
lKp
unL
-laf
-aJn
-aJn
-oZZ
+rsF
+xhu
+xhu
+wvu
hWx
ekG
tUn
@@ -108432,13 +108447,13 @@ huG
gPq
wYB
qlL
-udO
-hxz
+sFn
+iZI
unL
-uNd
+ecL
unL
unL
-gpv
+uDZ
unL
tUn
tUn
@@ -108689,13 +108704,13 @@ huG
dhs
wYB
uXS
-txP
+oOy
bnE
unL
-kTZ
+cFq
unL
iMF
-guI
+lTc
uND
slc
tUn
@@ -108946,13 +108961,13 @@ unL
aLu
unL
xII
-ltX
+hsq
kbR
vOK
-pnx
+saO
unL
kbN
-gXd
+leI
szJ
heS
tUn
@@ -109203,14 +109218,14 @@ unL
gmi
unL
unL
-pNf
+hBu
unL
unL
-fGW
+hgi
unL
vtI
-mma
-iMQ
+vkT
+lfU
rAo
tUn
iLn
@@ -109460,10 +109475,10 @@ nGo
aBM
unL
lPy
-vRk
-aJn
-fhA
-gub
+akb
+xhu
+bAp
+qxj
unL
gjF
sjB
@@ -109713,11 +109728,11 @@ unL
unL
wOF
esH
-pdx
+kna
xcO
-aXE
-tXk
-itW
+poG
+ptP
+lRY
kGv
xZb
fWA
@@ -109974,9 +109989,9 @@ dQy
pDR
unL
unL
-enf
+eyK
hCl
-aJm
+wYH
hum
jCx
cZF
@@ -110230,8 +110245,8 @@ unL
unL
unL
unL
-izJ
-fFq
+nmX
+mdO
izp
goZ
fWA
@@ -110487,8 +110502,8 @@ uxt
tcn
iOm
unL
-mEx
-mWA
+yeQ
+ttY
isl
fWA
fWA
@@ -111003,7 +111018,7 @@ hCl
mAJ
dXe
xrW
-xdQ
+cig
hum
tSY
jKA
@@ -111716,7 +111731,7 @@ hMQ
qXB
qXB
kpI
-gEF
+cWx
qcP
wrn
qXB
@@ -112058,7 +112073,7 @@ aaa
aaa
wmL
apS
-qkq
+aas
ooz
wmL
aaa
@@ -112315,7 +112330,7 @@ aaa
aaa
wmL
cvO
-uNO
+fjO
hUd
uWk
aaa
@@ -112572,7 +112587,7 @@ aaa
aaa
wmL
jkX
-frs
+oRL
dFo
wmL
aaa
@@ -112784,7 +112799,7 @@ dFH
ygb
pEG
cAj
-nTD
+aWS
peM
wUM
cZw
@@ -112829,7 +112844,7 @@ oMA
lSw
wmL
gUS
-qBo
+pUB
gUS
wmL
lSw
@@ -113086,7 +113101,7 @@ oMA
eYu
agN
bXs
-tLc
+bvg
juH
pJA
hLJ
@@ -113343,7 +113358,7 @@ myr
xfm
nHG
hjw
-bqJ
+gMN
hzL
wNO
tml
@@ -113600,7 +113615,7 @@ vOz
tsy
sRa
ppC
-twu
+hcH
mKD
hxY
nae
@@ -113857,7 +113872,7 @@ ePT
syV
jsi
eoZ
-jjm
+xRa
nui
wWV
onD
@@ -114114,7 +114129,7 @@ jlU
jlU
rsz
lVB
-bsE
+hXZ
uHD
hEw
jlU
@@ -114371,7 +114386,7 @@ plp
gog
fUx
pst
-fkk
+caK
vuK
yag
hFz
@@ -114628,7 +114643,7 @@ mtu
jfS
bQQ
lVB
-oWa
+ixA
iWc
ces
elm
@@ -114885,7 +114900,7 @@ dVv
gog
jjj
jNo
-gAH
+uJd
klK
aDQ
hFz
@@ -115142,7 +115157,7 @@ iTQ
vGq
avx
vBf
-uNs
+iGL
tIP
qQJ
vGq
@@ -115393,16 +115408,16 @@ hbK
hbK
rMu
xiL
-exK
+mrq
fdZ
mMK
mMK
mMK
mMK
-jxH
+dni
tMI
pwZ
-kRy
+gyz
fdZ
fdZ
jvX
@@ -115656,16 +115671,16 @@ amV
vVx
kyh
iwO
-pQj
-jzw
-thT
-jzw
-sie
-pgM
-qiD
-nYL
-ddK
-hAN
+tXj
+omK
+vJA
+omK
+fae
+wcZ
+ozN
+oay
+mDv
+qgr
wrc
aaa
aaa
@@ -115922,7 +115937,7 @@ xVu
idA
xiL
xiL
-lmn
+gWr
wrc
aaa
aaa
@@ -116179,7 +116194,7 @@ oQJ
xlH
mCj
xiL
-lmn
+gWr
hbK
aaa
aaa
@@ -116436,7 +116451,7 @@ pDl
uYP
ljF
xiL
-lmn
+gWr
wrc
lMJ
lMJ
@@ -116693,7 +116708,7 @@ gkC
xlH
mtu
xiL
-lmn
+gWr
hbK
aaa
aaa
@@ -116950,7 +116965,7 @@ xVu
idA
xiL
xiL
-lmn
+gWr
wrc
aaa
aaa
@@ -117206,8 +117221,8 @@ psc
eTI
rKg
xiL
-lmn
-lmn
+gWr
+gWr
wrc
aaa
aaa
@@ -117463,7 +117478,7 @@ wFy
ohD
bZb
xiL
-lmn
+gWr
hbK
hbK
lMJ
@@ -117720,7 +117735,7 @@ toM
eOP
hWa
xiL
-lmn
+gWr
wrc
aaa
aaa
@@ -117977,7 +117992,7 @@ fff
mtu
ljF
xiL
-lmn
+gWr
wrc
aaa
aaa
@@ -118234,7 +118249,7 @@ fff
mtu
lWM
xiL
-lmn
+gWr
hbK
lMJ
lMJ
@@ -118491,7 +118506,7 @@ xiL
xiL
xiL
xiL
-lmn
+gWr
hbK
aaa
aaa
@@ -118745,10 +118760,10 @@ mCu
kgW
jlU
xiL
-qxr
-lmn
-lmn
-hAN
+jAq
+gWr
+gWr
+qgr
hbK
aaa
aaa
@@ -119002,7 +119017,7 @@ xkv
nET
jlU
iOJ
-lmn
+gWr
rDf
rDf
utD
@@ -119259,7 +119274,7 @@ nnc
hdy
aWp
eSb
-udp
+tuO
wHd
uLa
hbK
@@ -119516,7 +119531,7 @@ kcu
kcu
jlU
hbK
-mTg
+sGR
hbK
hbK
hbK
@@ -119772,9 +119787,9 @@ gyK
kcu
kcu
jlU
-qgn
-mCV
-xuY
+gEZ
+kgR
+uTv
hbK
aaa
aaa
@@ -120029,8 +120044,8 @@ jQz
nJr
kcu
jlU
-uxA
-pHt
+lmC
+oJB
lUS
hbK
aaa
diff --git a/_maps/map_files/NebulaStation/NebulaStation.dmm b/_maps/map_files/NebulaStation/NebulaStation.dmm
index b683e139a78..348f2b50aa3 100644
--- a/_maps/map_files/NebulaStation/NebulaStation.dmm
+++ b/_maps/map_files/NebulaStation/NebulaStation.dmm
@@ -15284,6 +15284,7 @@
dir = 1
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/item/pipe_dispenser,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
"cpk" = (
@@ -44751,7 +44752,6 @@
/obj/structure/table/reinforced,
/obj/item/t_scanner,
/obj/item/pipe_dispenser,
-/obj/item/pipe_dispenser,
/obj/item/storage/belt/utility,
/obj/effect/turf_decal/bot,
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm
index dfcce8dc3b2..11fb4bc5caa 100644
--- a/_maps/map_files/generic/CentCom.dmm
+++ b/_maps/map_files/generic/CentCom.dmm
@@ -9129,8 +9129,8 @@
/area/centcom/central_command_areas/courtroom)
"QY" = (
/obj/item/storage/box/handcuffs,
-/obj/item/ammo_box/a357,
-/obj/item/ammo_box/a357,
+/obj/item/ammo_box/speedloader/c357,
+/obj/item/ammo_box/speedloader/c357,
/obj/item/gun/ballistic/revolver/mateba,
/obj/structure/table/reinforced,
/obj/machinery/firealarm/directional/south,
diff --git a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_3.dmm b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_3.dmm
index 69b84841086..4e29c62a599 100644
--- a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_3.dmm
+++ b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_3.dmm
@@ -256,6 +256,10 @@
/obj/structure/cable,
/turf/open/floor/catwalk_floor,
/area/station/maintenance/department/crew_quarters/dorms)
+"Gv" = (
+/obj/effect/landmark/firealarm_sanity,
+/turf/open/floor/grass,
+/area/station/asteroid)
"GE" = (
/obj/structure/flora/bush/flowers_br/style_random,
/turf/open/floor/grass,
@@ -1082,7 +1086,7 @@ GE
vg
ci
rO
-rO
+Gv
rO
rO
Cp
diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm
index 411c98cb101..d8f320e4bd3 100644
--- a/_maps/map_files/tramstation/tramstation.dmm
+++ b/_maps/map_files/tramstation/tramstation.dmm
@@ -45250,7 +45250,7 @@
/obj/structure/safe/vault,
/obj/item/clothing/head/costume/bearpelt,
/obj/item/gun/ballistic/revolver/russian,
-/obj/item/ammo_box/a357,
+/obj/item/ammo_box/speedloader/c357,
/obj/effect/turf_decal/bot_white/left,
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/machinery/light/dim/directional/east,
diff --git a/_maps/map_files/wawastation/wawastation.dmm b/_maps/map_files/wawastation/wawastation.dmm
index 31d1932d9e0..2edb6f6f87c 100644
--- a/_maps/map_files/wawastation/wawastation.dmm
+++ b/_maps/map_files/wawastation/wawastation.dmm
@@ -45211,6 +45211,7 @@
pixel_x = -3;
pixel_y = 3
},
+/obj/item/clothing/gloves/color/yellow,
/turf/open/floor/iron/textured,
/area/station/engineering/storage/tech)
"pEk" = (
diff --git a/_maps/minigame/basketball/soviet_bear.dmm b/_maps/minigame/basketball/soviet_bear.dmm
index a612daa3653..f636344c4c0 100644
--- a/_maps/minigame/basketball/soviet_bear.dmm
+++ b/_maps/minigame/basketball/soviet_bear.dmm
@@ -6,9 +6,9 @@
/area/centcom/basketball)
"aw" = (
/obj/structure/table,
-/obj/item/ammo_box/strilka310,
-/obj/item/ammo_box/strilka310,
-/obj/item/ammo_box/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
@@ -348,9 +348,9 @@
/area/centcom/basketball)
"Bd" = (
/obj/structure/table,
-/obj/item/ammo_box/strilka310,
-/obj/item/ammo_box/strilka310,
-/obj/item/ammo_box/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
/turf/open/floor/iron/dark,
/area/centcom/basketball)
"BJ" = (
diff --git a/_maps/minigame/deathmatch/arena_station.dmm b/_maps/minigame/deathmatch/arena_station.dmm
index 1e2b1b57be7..c3fb3ed3903 100644
--- a/_maps/minigame/deathmatch/arena_station.dmm
+++ b/_maps/minigame/deathmatch/arena_station.dmm
@@ -876,7 +876,7 @@
/area/deathmatch)
"Kz" = (
/obj/effect/spawner/random/trash/box,
-/obj/item/ammo_box/a357,
+/obj/item/ammo_box/speedloader/c357,
/turf/open/indestructible/plating,
/area/deathmatch)
"KC" = (
diff --git a/_maps/minigame/deathmatch/train.dmm b/_maps/minigame/deathmatch/train.dmm
index 3f0619d1ab4..d35de7b1a6e 100644
--- a/_maps/minigame/deathmatch/train.dmm
+++ b/_maps/minigame/deathmatch/train.dmm
@@ -34,7 +34,7 @@
locked = 0
},
/obj/effect/decal/cleanable/fuel_pool/hivis,
-/obj/item/ammo_box/c38,
+/obj/item/ammo_box/speedloader/c38,
/obj/effect/turf_decal/stripes/asteroid/line{
dir = 6
},
@@ -242,7 +242,7 @@
locked = 0
},
/obj/effect/decal/cleanable/fuel_pool/hivis,
-/obj/item/ammo_box/c38,
+/obj/item/ammo_box/speedloader/c38,
/obj/effect/turf_decal/stripes/asteroid/line{
dir = 4
},
@@ -617,7 +617,7 @@
/area/deathmatch)
"EX" = (
/obj/structure/lattice/catwalk,
-/obj/item/ammo_box/c38/match,
+/obj/item/ammo_box/speedloader/c38/match,
/turf/open/chasm/true/no_smooth/fake_motion_sand/fast,
/area/deathmatch)
"Fa" = (
@@ -932,7 +932,7 @@
locked = 0
},
/obj/effect/decal/cleanable/fuel_pool/hivis,
-/obj/item/ammo_box/c38,
+/obj/item/ammo_box/speedloader/c38,
/obj/effect/turf_decal/stripes/asteroid/line{
dir = 4
},
diff --git a/_maps/minigame/deathmatch/underground_arena.dmm b/_maps/minigame/deathmatch/underground_arena.dmm
index 4d776acb0b4..cd8d535ad71 100644
--- a/_maps/minigame/deathmatch/underground_arena.dmm
+++ b/_maps/minigame/deathmatch/underground_arena.dmm
@@ -564,7 +564,7 @@
/area/deathmatch)
"Kb" = (
/obj/structure/table/reinforced,
-/obj/item/ammo_box/strilka310/surplus,
+/obj/item/ammo_box/speedloader/strilka310/surplus,
/turf/open/indestructible/dark/smooth_large,
/area/deathmatch)
"Kr" = (
diff --git a/_maps/modular_generic/jungle_m_armory.dmm b/_maps/modular_generic/jungle_m_armory.dmm
index 39090181945..0ba60740059 100644
--- a/_maps/modular_generic/jungle_m_armory.dmm
+++ b/_maps/modular_generic/jungle_m_armory.dmm
@@ -242,7 +242,7 @@
/obj/effect/turf_decal/siding/wood{
dir = 4
},
-/obj/item/ammo_box/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
/obj/effect/decal/cleanable/dirt,
/obj/structure/railing/corner/end/flip{
dir = 8
diff --git a/_maps/modular_generic/station_s_vault.dmm b/_maps/modular_generic/station_s_vault.dmm
index 774d50d3152..3a621492bb2 100644
--- a/_maps/modular_generic/station_s_vault.dmm
+++ b/_maps/modular_generic/station_s_vault.dmm
@@ -77,7 +77,7 @@
/obj/effect/turf_decal/trimline/dark_blue/corner{
dir = 8
},
-/obj/item/ammo_box/a357,
+/obj/item/ammo_box/speedloader/c357,
/obj/item/gun/ballistic/revolver/golden,
/turf/open/floor/iron/smooth_corner{
dir = 8
diff --git a/_maps/shuttles/hunter_psyker.dmm b/_maps/shuttles/hunter_psyker.dmm
index 476e58ce6f8..2c744e09ec0 100644
--- a/_maps/shuttles/hunter_psyker.dmm
+++ b/_maps/shuttles/hunter_psyker.dmm
@@ -147,25 +147,25 @@
"gE" = (
/obj/effect/turf_decal/tile/dark_blue/diagonal_edge,
/obj/structure/table/reinforced/plasmarglass,
-/obj/item/ammo_box/c38/match{
+/obj/item/ammo_box/speedloader/c38/match{
pixel_x = -5;
pixel_y = 4
},
-/obj/item/ammo_box/c38/match{
+/obj/item/ammo_box/speedloader/c38/match{
pixel_x = -1;
pixel_y = 4
},
-/obj/item/ammo_box/c38/match{
+/obj/item/ammo_box/speedloader/c38/match{
pixel_x = 3;
pixel_y = 4
},
-/obj/item/ammo_box/c38/match{
+/obj/item/ammo_box/speedloader/c38/match{
pixel_x = -8
},
-/obj/item/ammo_box/c38/match{
+/obj/item/ammo_box/speedloader/c38/match{
pixel_x = -4
},
-/obj/item/ammo_box/c38/match,
+/obj/item/ammo_box/speedloader/c38/match,
/turf/open/floor/iron/white/diagonal,
/area/shuttle/hunter)
"gW" = (
diff --git a/_maps/shuttles/hunter_russian.dmm b/_maps/shuttles/hunter_russian.dmm
index 3f3f24fee57..46840f7cdd7 100644
--- a/_maps/shuttles/hunter_russian.dmm
+++ b/_maps/shuttles/hunter_russian.dmm
@@ -173,10 +173,10 @@
/obj/structure/closet/crate/secure/weapon{
name = "surplus crate"
},
-/obj/item/ammo_box/strilka310,
-/obj/item/ammo_box/strilka310,
-/obj/item/ammo_box/strilka310,
-/obj/item/ammo_box/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
/turf/open/floor/pod/dark,
/area/shuttle/hunter/russian)
"qF" = (
@@ -611,7 +611,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/item/gun/ballistic/automatic/pistol,
/obj/item/ammo_box/magazine/m9mm,
-/obj/item/ammo_box/strilka310,
+/obj/item/ammo_box/speedloader/strilka310,
/obj/item/crowbar,
/turf/open/floor/pod/dark,
/area/shuttle/hunter/russian)
diff --git a/_maps/shuttles/pirate_silverscale.dmm b/_maps/shuttles/pirate_silverscale.dmm
index b95c32be7d1..e5780fed0cb 100644
--- a/_maps/shuttles/pirate_silverscale.dmm
+++ b/_maps/shuttles/pirate_silverscale.dmm
@@ -802,18 +802,18 @@
dir = 8
},
/obj/effect/turf_decal/bot,
-/obj/item/ammo_box/strilka310/phasic{
+/obj/item/ammo_box/speedloader/strilka310/phasic{
pixel_y = -5;
pixel_x = 5
},
-/obj/item/ammo_box/strilka310/phasic{
+/obj/item/ammo_box/speedloader/strilka310/phasic{
pixel_x = 5
},
-/obj/item/ammo_box/strilka310/phasic{
+/obj/item/ammo_box/speedloader/strilka310/phasic{
pixel_x = -5;
pixel_y = -5
},
-/obj/item/ammo_box/strilka310/phasic{
+/obj/item/ammo_box/speedloader/strilka310/phasic{
pixel_x = -5
},
/obj/item/gun/ballistic/rifle/boltaction/prime{
diff --git a/_maps/templates/battlecruiser_starfury.dmm b/_maps/templates/battlecruiser_starfury.dmm
index 5cf3c984694..b34b6f1bdab 100644
--- a/_maps/templates/battlecruiser_starfury.dmm
+++ b/_maps/templates/battlecruiser_starfury.dmm
@@ -2205,11 +2205,11 @@
pixel_y = 4
},
/obj/item/ammo_box/c10mm,
-/obj/item/ammo_box/a357{
+/obj/item/ammo_box/speedloader/c357{
icon_state = "357-7";
pixel_y = 3
},
-/obj/item/ammo_box/a357{
+/obj/item/ammo_box/speedloader/c357{
icon_state = "357-7";
pixel_x = 2
},
@@ -2360,7 +2360,7 @@
/obj/item/storage/lockbox/medal{
req_access = list("syndicate_leader")
},
-/obj/item/ammo_box/a357{
+/obj/item/ammo_box/speedloader/c357{
icon_state = "357-7";
pixel_x = 2
},
diff --git a/_maps/virtual_domains/meta_central.dmm b/_maps/virtual_domains/meta_central.dmm
index 440f002970d..98ccb7a67e9 100644
--- a/_maps/virtual_domains/meta_central.dmm
+++ b/_maps/virtual_domains/meta_central.dmm
@@ -4096,7 +4096,7 @@
/area/virtual_domain)
"Il" = (
/obj/structure/lattice,
-/obj/item/ammo_box/strilka310/surplus,
+/obj/item/ammo_box/speedloader/strilka310/surplus,
/turf/open/space/basic,
/area/virtual_domain)
"Io" = (
diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm
index 982f83e9d06..26cff68b93a 100644
--- a/code/__DEFINES/combat.dm
+++ b/code/__DEFINES/combat.dm
@@ -236,16 +236,22 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list(
// Ammo box multiload defines
/// Ammo box does not accept multiload in or out, e.g. ammo box CANNOT transfer multiple casings in one action, either IN or OUT.
#define AMMO_BOX_MULTILOAD_NONE 0
-/// Ammo box accepts multiload going in, e.g. ammo box can transfer multiple casings IN at once.
+/// Ammo box accepts multiload going in, e.g. a magazine being fed from a stripper clip.
#define AMMO_BOX_MULTILOAD_IN (1 << 0)
-/// Ammo box accepts multiload going out, e.g. ammo box can transfer multiple casings OUT at once.
+/// Ammo box can multiload going out to other ammo boxes, but not loaded magazines, e.g. an ammo box feeding into an unloaded magazine.
#define AMMO_BOX_MULTILOAD_OUT (1 << 1)
+/// Ammo box can multiload going out into loaded magazines, e.g. a speedloader feeding into a revolver's cylinder or a stripper clip feeding into a loaded magazine.
+#define AMMO_BOX_MULTILOAD_OUT_LOADED (1 << 2)
/// Ammo box accepts multiload in AND out, e.g. ammo box can transfer multiple casings IN at once *and* OUT at once.
-#define AMMO_BOX_MULTILOAD_BOTH AMMO_BOX_MULTILOAD_IN | AMMO_BOX_MULTILOAD_OUT
+/// Ammo boxes are assumed to have some variety of magazine loading assistance.
+#define AMMO_BOX_MULTILOAD_BOTH (AMMO_BOX_MULTILOAD_IN | AMMO_BOX_MULTILOAD_OUT)
+/// Ammo box can accept multiloads, AND can give multiloads to boxes that are loaded or not loaded. Individual stripper clips would count for this.
+#define AMMO_BOX_MULTILOAD_ALL (AMMO_BOX_MULTILOAD_IN | AMMO_BOX_MULTILOAD_OUT | AMMO_BOX_MULTILOAD_OUT_LOADED)
DEFINE_BITFIELD(ammo_box_multiload, list(
"LOAD_IN" = AMMO_BOX_MULTILOAD_IN,
"LOAD_OUT" = AMMO_BOX_MULTILOAD_OUT,
+ "LOAD_OUT_LOADED" = AMMO_BOX_MULTILOAD_OUT_LOADED,
))
#define SUPPRESSED_NONE 0
diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm
index 75b809b5403..412f5701eeb 100644
--- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm
+++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm
@@ -65,16 +65,15 @@
#define COMSIG_MOVABLE_CANCEL_HEARING (1<<0)
///from base of atom/movable/Hear(): (proc args list(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, list/message_mods = list(), message_range))
#define COMSIG_MOVABLE_HEAR "movable_hear"
- #define HEARING_MESSAGE 1
- #define HEARING_SPEAKER 2
- #define HEARING_LANGUAGE 3
- #define HEARING_RAW_MESSAGE 4
- #define HEARING_RADIO_FREQ 5
- #define HEARING_RADIO_FREQ_NAME 6
- #define HEARING_RADIO_FREQ_COLOR 7
- #define HEARING_SPANS 8
- #define HEARING_MESSAGE_MODE 9
- #define HEARING_RANGE 10
+ #define HEARING_SPEAKER 1
+ #define HEARING_LANGUAGE 2
+ #define HEARING_RAW_MESSAGE 3
+ #define HEARING_RADIO_FREQ 4
+ #define HEARING_RADIO_FREQ_NAME 5
+ #define HEARING_RADIO_FREQ_COLOR 6
+ #define HEARING_SPANS 7
+ #define HEARING_MESSAGE_MODE 8
+ #define HEARING_RANGE 9
///called when space wind can't move a movable. (pressure_difference, pressure_direction)
#define COMSIG_MOVABLE_RESISTED_SPACEWIND "movable_resisted_wind"
@@ -116,7 +115,7 @@
#define MOVABLE_SAY_QUOTE_MESSAGE_SPANS 2
#define MOVABLE_SAY_QUOTE_MESSAGE_MODS 3
-/// From /datum/element/immerse/proc/add_submerge_overlay(): (visual_overlay)
+/// From /datum/element/immerse/proc/add_immerse_overlay(): (atom/movable/immerse_mask/effect_relay)
#define COMSIG_MOVABLE_EDIT_UNIQUE_IMMERSE_OVERLAY "movable_edit_unique_submerge_overlay"
/// From base of area/Exited(): (area/left, direction)
#define COMSIG_MOVABLE_EXITED_AREA "movable_exited_area"
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 1f5f19ba610..458ea924dca 100644
--- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm
+++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm
@@ -351,4 +351,7 @@
#define COMSIG_LIVING_GHOSTROLE_INFO "living_ghostrole_info"
///from mob/living/befriend()
-#define COMSIG_LIVING_MADE_NEW_FRIEND "made_new_friend"
+#define COMSIG_LIVING_MADE_NEW_FRIEND "living_made_new_friend"
+
+/// From /mob/living/update_offsets(animate) : (new_x, new_y, new_w, new_z, animate)
+#define COMSIG_LIVING_UPDATE_OFFSETS "living_update_offsets"
diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm
index 33188011b44..15860b1aab9 100644
--- a/code/__DEFINES/layers.dm
+++ b/code/__DEFINES/layers.dm
@@ -270,13 +270,6 @@
#define GASFIRE_LAYER 5.05
#define RIPPLE_LAYER 5.1
-/**
- * The layer of the visual overlay used in the submerge element.
- * The vis overlay inherits the planes of the movables it's attached to (that also have KEEP_TOGETHER added)
- * We just have to make sure the visual overlay is rendered above all the other overlays of those movables.
- */
-#define WATER_VISUAL_OVERLAY_LAYER 1000
-
// SEETHROUGH_PLANE layers here, tho it has no layer values
//---------- LIGHTING -------------
diff --git a/code/__DEFINES/sight.dm b/code/__DEFINES/sight.dm
index 5a3e0d17ef3..0a14db75ef9 100644
--- a/code/__DEFINES/sight.dm
+++ b/code/__DEFINES/sight.dm
@@ -25,6 +25,7 @@
#define BORGTHERM (1<<1)
#define BORGXRAY (1<<2)
#define BORGMATERIAL (1<<3)
+#define BORGDEFAULT 0
//for clothing visor toggles, these determine which vars to toggle
#define VISOR_FLASHPROTECT (1<<0)
diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm
index 7dc5e789436..7d06c06af53 100644
--- a/code/__DEFINES/traits/declarations.dm
+++ b/code/__DEFINES/traits/declarations.dm
@@ -1192,11 +1192,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_ELEVATING_OBJECT "elevating_object"
/// From [/datum/element/elevation_core] for purpose of checking if the turf has the trait from an instance of the element
#define TRAIT_ELEVATED_TURF "elevated_turf"
-/**
- * With this, the immerse overlay will give the atom its own submersion visual overlay
- * instead of one that's also shared with other movables, thus making editing its appearance possible.
- */
-#define TRAIT_UNIQUE_IMMERSE "unique_immerse"
/// This item is currently under the control of telekinesis
#define TRAIT_TELEKINESIS_CONTROLLED "telekinesis_controlled"
diff --git a/code/__DEFINES/wounds.dm b/code/__DEFINES/wounds.dm
index cc1a6130b4c..c7b0ac1aa55 100644
--- a/code/__DEFINES/wounds.dm
+++ b/code/__DEFINES/wounds.dm
@@ -272,19 +272,19 @@ GLOBAL_LIST_INIT(wounding_types_to_series, list(
RETURN_TYPE(/datum/wound) // note that just because its set to return this doesnt mean its non-nullable
var/list/wounding_type_list = list()
- for (var/wounding_type as anything in wounding_types)
+ for (var/wounding_type in wounding_types)
wounding_type_list += GLOB.wounding_types_to_series[wounding_type]
if (!length(wounding_type_list))
return null
var/list/datum/wound/paths_to_pick_from = list()
- for (var/series as anything in shuffle(wounding_type_list))
+ for (var/series in shuffle(wounding_type_list))
var/list/severity_list = GLOB.wound_series_collections[series]
if (!length(severity_list))
continue
var/picked_severity
- for (var/severity_text as anything in shuffle(GLOB.wound_severities_chronological))
+ for (var/severity_text in shuffle(GLOB.wound_severities_chronological))
var/severity = text2num(severity_text)
if (!ISINRANGE(severity, severity_min, severity_max))
continue
diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm
index cae09f6ee50..9c4cc3eafa8 100644
--- a/code/__HELPERS/_lists.dm
+++ b/code/__HELPERS/_lists.dm
@@ -197,6 +197,7 @@
} while(FALSE)
#define SORT_FIRST_INDEX(list) (list[1])
+#define SORT_PRIORITY_INDEX(list) (list["priority"])
#define SORT_COMPARE_DIRECTLY(thing) (thing)
#define SORT_VAR_NO_TYPE(varname) var/varname
/****
diff --git a/code/__HELPERS/ai.dm b/code/__HELPERS/ai.dm
index 5db23ed1ffc..7e7179c3989 100644
--- a/code/__HELPERS/ai.dm
+++ b/code/__HELPERS/ai.dm
@@ -6,9 +6,7 @@
var/gun_neurons_activated = controller.blackboard[BB_MONKEY_GUN_NEURONS_ACTIVATED]
var/top_force = 0
var/obj/item/top_force_item
- for(var/obj/item/item as anything in held_weapons)
- if(!item)
- continue
+ for(var/obj/item/item in held_weapons)
if(HAS_TRAIT(item, TRAIT_NEEDS_TWO_HANDS) || controller.blackboard[BB_MONKEY_BLACKLISTITEMS][item])
continue
if(gun_neurons_activated && isgun(item))
@@ -19,9 +17,7 @@
top_force = item.force
top_force_item = item
- for(var/obj/item/item as anything in choices)
- if(!item)
- continue
+ for(var/obj/item/item in choices)
if(HAS_TRAIT(item, TRAIT_NEEDS_TWO_HANDS) || controller.blackboard[BB_MONKEY_BLACKLISTITEMS][item])
continue
if(gun_neurons_activated && isgun(item))
diff --git a/code/__HELPERS/construction.dm b/code/__HELPERS/construction.dm
index a0ebb3db034..b2766952e1c 100644
--- a/code/__HELPERS/construction.dm
+++ b/code/__HELPERS/construction.dm
@@ -89,7 +89,7 @@
var/list/material_map_amounts = list()
for(var/atom/object as anything in reccursive_contents)
var/list/item_materials = object.custom_materials
- for(var/mat as anything in custom_materials)
+ for(var/mat in custom_materials)
var/mat_amount = 1 //no materials mean we assign this default amount
if(length(item_materials))
mat_amount = item_materials[mat] || 1 //if this object doesn't have our material type then assign a default value of 1
@@ -104,7 +104,7 @@
mat_list_per_item += mat_amount
//Step 3: normalize & scale material_map_amounts with material_map_sum
- for(var/mat as anything in material_map_amounts)
+ for(var/mat in material_map_amounts)
var/mat_sum = material_map_sum[mat]
var/list/mat_per_item = material_map_amounts[mat]
for(var/i in 1 to mat_per_item.len)
@@ -114,7 +114,7 @@
var/index = 1
for(var/atom/object as anything in reccursive_contents)
var/list/final_material_list = list()
- for(var/mat as anything in material_map_amounts)
+ for(var/mat in material_map_amounts)
var/list/mat_per_item = material_map_amounts[mat]
final_material_list[mat] = mat_per_item[index]
object.set_custom_materials(final_material_list, multiplier)
diff --git a/code/__HELPERS/duplicating.dm b/code/__HELPERS/duplicating.dm
index ff9a18426bc..9e88c5b7914 100644
--- a/code/__HELPERS/duplicating.dm
+++ b/code/__HELPERS/duplicating.dm
@@ -34,6 +34,7 @@ GLOBAL_LIST_INIT(duplicate_forbidden_vars, list(
"parent",
"parent_type",
"power_supply",
+ "pixloc",
"quirks",
"reagents",
"_signal_procs",
@@ -65,14 +66,16 @@ GLOBAL_PROTECT(duplicate_forbidden_vars)
var/atom/made_copy = new original.type(spawning_location)
- for(var/atom_vars in original.vars - GLOB.duplicate_forbidden_vars)
- if(islist(original.vars[atom_vars]))
- var/list/var_list = original.vars[atom_vars]
- made_copy.vars[atom_vars] = var_list.Copy()
- continue
- else if(istype(original.vars[atom_vars], /datum) || ismob(original.vars[atom_vars]))
+ for(var/atom_vars in (original.vars - GLOB.duplicate_forbidden_vars))
+ var/var_value = original.vars[atom_vars]
+ if(isdatum(var_value))
continue // this would reference the original's object, that will break when it is used or deleted.
- made_copy.vars[atom_vars] = original.vars[atom_vars]
+
+ if(islist(var_value))
+ var/list/var_list = var_value
+ var_value = var_list.Copy()
+
+ made_copy.vars[atom_vars] = var_value
if(isliving(made_copy))
if(iscarbon(made_copy))
diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm
index 996569d5ce4..f61c4f844cf 100644
--- a/code/__HELPERS/global_lists.dm
+++ b/code/__HELPERS/global_lists.dm
@@ -161,7 +161,7 @@
/proc/init_subtypes_w_path_keys(prototype, list/L)
if(!istype(L))
L = list()
- for(var/path as anything in subtypesof(prototype))
+ for(var/path in subtypesof(prototype))
L[path] = new path()
return L
diff --git a/code/__HELPERS/honkerblast.dm b/code/__HELPERS/honkerblast.dm
index a4418fed854..ea8eea00e59 100644
--- a/code/__HELPERS/honkerblast.dm
+++ b/code/__HELPERS/honkerblast.dm
@@ -7,7 +7,7 @@
playsound(origin_turf, 'sound/items/airhorn/airhorn.ogg', 100, TRUE)
- for(var/mob/living/carbon/victim as anything in hearers(max(light_range, medium_range, heavy_range), origin_turf))
+ for(var/mob/living/carbon/victim in hearers(max(light_range, medium_range, heavy_range), origin_turf))
if(!victim.can_hear())
continue
var/distance = get_dist(origin_turf, victim.loc)
diff --git a/code/__HELPERS/type_processing.dm b/code/__HELPERS/type_processing.dm
index 40f21f4b189..180079cf65a 100644
--- a/code/__HELPERS/type_processing.dm
+++ b/code/__HELPERS/type_processing.dm
@@ -29,6 +29,9 @@
/obj/item/organ = "ORGAN",
/obj/item/mod/control = "MODSUIT",
/obj/item/mod/module = "MODSUIT_MOD",
+ /obj/item/ammo_box = "AMMOBOX",
+ /obj/item/ammo_box/magazine = "AMMOBOX_MAGAZINE",
+ /obj/item/ammo_box/speedloader = "AMMOBOX_SPEEDLOADER",
/obj/item/gun = "GUN",
/obj/item/gun/magic = "GUN_MAGIC",
/obj/item/gun/energy = "GUN_ENERGY",
diff --git a/code/_globalvars/lists/reagents.dm b/code/_globalvars/lists/reagents.dm
index 882885dc11e..1b0f7258407 100644
--- a/code/_globalvars/lists/reagents.dm
+++ b/code/_globalvars/lists/reagents.dm
@@ -121,7 +121,7 @@ GLOBAL_LIST_INIT(plant_traits, init_plant_traits())
// So instead, we're gonna wing it
var/list/reagent_to_react_count = list()
for(var/datum/chemical_reaction/reaction as anything in reactions)
- for(var/reagent_id as anything in reaction.required_reagents)
+ for(var/reagent_id in reaction.required_reagents)
reagent_to_react_count[reagent_id] += 1
var/list/reaction_lookup = GLOB.chemical_reactions_list_reactant_index
@@ -130,7 +130,7 @@ GLOBAL_LIST_INIT(plant_traits, init_plant_traits())
// Doing this separately because it relies on the loop above, and this is easier to parse
for(var/datum/chemical_reaction/reaction as anything in reactions)
var/preferred_id = null
- for(var/reagent_id as anything in reaction.required_reagents)
+ for(var/reagent_id in reaction.required_reagents)
if(isnull(preferred_id))
preferred_id = reagent_id
continue
@@ -207,5 +207,5 @@ GLOBAL_LIST_INIT(plant_traits, init_plant_traits())
only_names = sort_list(only_names)
//build map with sorted keys
- for(var/name as anything in only_names)
+ for(var/name in only_names)
.[name] = name_to_reagent[name]
diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm
index 9125478773e..3ddb2854387 100644
--- a/code/_globalvars/traits/_traits.dm
+++ b/code/_globalvars/traits/_traits.dm
@@ -90,7 +90,6 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_STOP_FISH_REPRODUCTION_AND_GROWTH" = TRAIT_STOP_FISH_REPRODUCTION_AND_GROWTH,
"TRAIT_TELEKINESIS_CONTROLLED" = TRAIT_TELEKINESIS_CONTROLLED,
"TRAIT_UNDERFLOOR" = TRAIT_UNDERFLOOR,
- "TRAIT_UNIQUE_IMMERSE" = TRAIT_UNIQUE_IMMERSE,
"TRAIT_VALID_DNA_INFUSION" = TRAIT_VALID_DNA_INFUSION,
"TRAIT_WADDLING" = TRAIT_WADDLING,
"TRAIT_WAS_RENAMED" = TRAIT_WAS_RENAMED,
diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm
index 895f4361053..45b957b8d93 100644
--- a/code/_onclick/hud/hud.dm
+++ b/code/_onclick/hud/hud.dm
@@ -213,7 +213,7 @@ GLOBAL_LIST_INIT(available_erp_ui_styles, list(
if(should_sight_scale(new_sight) == should_sight_scale(old_sight))
return
- for(var/group_key as anything in master_groups)
+ for(var/group_key in master_groups)
var/datum/plane_master_group/group = master_groups[group_key]
group.build_planes_offset(src, current_plane_offset)
@@ -237,7 +237,7 @@ GLOBAL_LIST_INIT(available_erp_ui_styles, list(
current_plane_offset = new_offset
SEND_SIGNAL(src, COMSIG_HUD_OFFSET_CHANGED, old_offset, new_offset)
- for(var/group_key as anything in master_groups)
+ for(var/group_key in master_groups)
var/datum/plane_master_group/group = master_groups[group_key]
group.build_planes_offset(src, new_offset)
diff --git a/code/_onclick/hud/rendering/plane_master_controller.dm b/code/_onclick/hud/rendering/plane_master_controller.dm
index f4b71611716..2d2d5c54bd6 100644
--- a/code/_onclick/hud/rendering/plane_master_controller.dm
+++ b/code/_onclick/hud/rendering/plane_master_controller.dm
@@ -31,21 +31,21 @@ INITIALIZE_IMMEDIATE(/atom/movable/plane_master_controller)
return returned_planes
///Full override so we can just use filterrific
-/atom/movable/plane_master_controller/add_filter(name, priority, list/params)
+/atom/movable/plane_master_controller/add_filter(name, priority, list/params, update = TRUE)
. = ..()
for(var/atom/movable/screen/plane_master/pm_iterator as anything in get_planes())
- pm_iterator.add_filter(name, priority, params)
+ pm_iterator.add_filter(name, priority, params, update)
///Full override so we can just use filterrific
-/atom/movable/plane_master_controller/remove_filter(name_or_names)
+/atom/movable/plane_master_controller/remove_filter(name_or_names, update = TRUE)
. = ..()
for(var/atom/movable/screen/plane_master/pm_iterator as anything in get_planes())
- pm_iterator.remove_filter(name_or_names)
+ pm_iterator.remove_filter(name_or_names, update)
-/atom/movable/plane_master_controller/update_filters()
+/atom/movable/plane_master_controller/update_filters(start_index = null)
. = ..()
for(var/atom/movable/screen/plane_master/pm_iterator as anything in get_planes())
- pm_iterator.update_filters()
+ pm_iterator.update_filters(start_index)
///Gets all filters for this controllers plane masters
/atom/movable/plane_master_controller/proc/get_filters(name)
diff --git a/code/controllers/master.dm b/code/controllers/master.dm
index 285c6451b68..6942f97dcb7 100644
--- a/code/controllers/master.dm
+++ b/code/controllers/master.dm
@@ -347,7 +347,7 @@ ADMIN_VERB(cmd_controller_view_ui, R_SERVER|R_DEBUG, "Controller Overview", "Vie
// Allows subsystems to declare other subsystems that must initialize after them.
for(var/datum/controller/subsystem/subsystem as anything in subsystems)
- for(var/dependent_type as anything in subsystem.dependents)
+ for(var/dependent_type in subsystem.dependents)
if(!ispath(dependent_type, /datum/controller/subsystem))
stack_trace("ERROR: MC: subsystem `[subsystem.type]` has an invalid dependent: `[dependent_type]`. Skipping")
continue
@@ -357,7 +357,7 @@ ADMIN_VERB(cmd_controller_view_ui, R_SERVER|R_DEBUG, "Controller Overview", "Vie
// Constructs a reverse-dependency graph.
for(var/datum/controller/subsystem/subsystem as anything in subsystems)
- for(var/dependency_type as anything in subsystem.dependencies)
+ for(var/dependency_type in subsystem.dependencies)
if(!ispath(dependency_type, /datum/controller/subsystem))
stack_trace("ERROR: MC: subsystem `[subsystem.type]` has an invalid dependency: `[dependency_type]`. Skipping")
continue
@@ -1041,4 +1041,3 @@ ADMIN_VERB(cmd_controller_view_ui, R_SERVER|R_DEBUG, "Controller Overview", "Vie
return FALSE
last_profiled = REALTIMEOFDAY
SSprofiler.DumpFile(allow_yield = FALSE)
-
diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm
index b4e67fe7f91..89930cb1139 100644
--- a/code/controllers/subsystem/blackbox.dm
+++ b/code/controllers/subsystem/blackbox.dm
@@ -431,7 +431,7 @@ Versioning
/datum/controller/subsystem/blackbox/proc/ReportRoundstartManifest(list/characters)
var/list/query_rows = list()
var/list/special_columns = list("server_ip" = "INET_ATON(?)")
- for(var/mob_ckey as anything in characters)
+ for(var/mob_ckey in characters)
var/mob/living/new_character = characters[mob_ckey]
query_rows += list(list(
"server_ip" = world.internet_address || 0,
diff --git a/code/controllers/subsystem/movement/ai_movement.dm b/code/controllers/subsystem/movement/ai_movement.dm
index 90333b529d7..8703fbfdfc6 100644
--- a/code/controllers/subsystem/movement/ai_movement.dm
+++ b/code/controllers/subsystem/movement/ai_movement.dm
@@ -14,6 +14,6 @@ MOVEMENT_SUBSYSTEM_DEF(ai_movement)
/datum/controller/subsystem/movement/ai_movement/proc/SetupAIMovementInstances()
movement_types = list()
- for(var/key as anything in subtypesof(/datum/ai_movement))
+ for(var/key in subtypesof(/datum/ai_movement))
var/datum/ai_movement/ai_movement = new key
movement_types[key] = ai_movement
diff --git a/code/controllers/subsystem/ore_generation.dm b/code/controllers/subsystem/ore_generation.dm
index 97fd6057d65..b364bfe0487 100644
--- a/code/controllers/subsystem/ore_generation.dm
+++ b/code/controllers/subsystem/ore_generation.dm
@@ -21,26 +21,12 @@ SUBSYSTEM_DEF(ore_generation)
*/
var/list/ore_vent_minerals = list()
- /// A tracker of how many of each ore vent size we have in the game. Useful for tracking purposes.
-
/datum/controller/subsystem/ore_generation/Initialize()
//Basically, we're going to round robin through the list of ore vents and assign a mineral to them until complete.
- while(length(ore_vent_minerals) > 0) //Keep looping if there's more to assign
- var/stallbreaker = 0
- for(var/obj/structure/ore_vent/vent as anything in possible_vents)
- if(length(ore_vent_minerals) <= 0) //But break early if there's none left.
- break
- if(vent.unique_vent)
- continue //Ya'll already got your minerals.
- if(length(difflist(first = ore_vent_minerals, second = vent.mineral_breakdown, skiprep = 1)))
- vent.generate_mineral_breakdown(new_minerals = 1, map_loading = TRUE)
- else
- stallbreaker++
- if(stallbreaker >= length(possible_vents))
- break //We've done all we can here. break inner loop
- continue
- if(stallbreaker >= length(possible_vents))
- break //We've done all we can here. break outer loop
+ for(var/obj/structure/ore_vent/vent as anything in possible_vents)
+ if(vent.unique_vent)
+ continue //Ya'll already got your minerals.
+ vent.generate_mineral_breakdown(map_loading = TRUE)
/// Handles roundstart logging
logger.Log(
diff --git a/code/controllers/subsystem/processing/fishing.dm b/code/controllers/subsystem/processing/fishing.dm
index 3ccf0e06b73..5283560a5a5 100644
--- a/code/controllers/subsystem/processing/fishing.dm
+++ b/code/controllers/subsystem/processing/fishing.dm
@@ -117,7 +117,7 @@ PROCESSING_SUBSYSTEM_DEF(fishing)
continue
LAZYOR(fish_safe_turfs_by_type[fish_path], source.associated_safe_turfs)
//If a subtype doesn't have set safe turfs, it'll inherit them from the parent type.
- for(var/fish_type as anything in fish_safe_turfs_by_type)
+ for(var/fish_type in fish_safe_turfs_by_type)
for(var/fish_subtype in subtypesof(fish_type))
if(!length(fish_safe_turfs_by_type[fish_subtype]))
fish_safe_turfs_by_type[fish_subtype] = fish_safe_turfs_by_type[fish_type]
diff --git a/code/controllers/subsystem/processing/greyscale.dm b/code/controllers/subsystem/processing/greyscale.dm
index f88b960e869..2fe8444bd7c 100644
--- a/code/controllers/subsystem/processing/greyscale.dm
+++ b/code/controllers/subsystem/processing/greyscale.dm
@@ -34,7 +34,7 @@ PROCESSING_SUBSYSTEM_DEF(greyscale)
#endif
// This final verification step is for things that need other greyscale configurations to be finished loading
- for(var/greyscale_type as anything in configurations)
+ for(var/greyscale_type in configurations)
CHECK_TICK
var/datum/greyscale_config/config = configurations[greyscale_type]
config.CrossVerify()
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 4132a2cf2a5..e5de231aff5 100644
--- a/code/datums/ai/basic_mobs/basic_ai_behaviors/targeting.dm
+++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/targeting.dm
@@ -91,7 +91,7 @@ GLOBAL_LIST_INIT(target_interested_atoms, typecacheof(list(/mob, /obj/machinery/
/datum/ai_behavior/find_potential_targets/proc/new_turf_found(turf/found, datum/ai_controller/controller, datum/targeting_strategy/strategy)
var/valid_found = FALSE
var/mob/pawn = controller.pawn
- for(var/maybe_target as anything in found)
+ for(var/maybe_target in found)
if(maybe_target == pawn)
continue
if(!is_type_in_typecache(maybe_target, GLOB.target_interested_atoms))
@@ -120,7 +120,7 @@ GLOBAL_LIST_INIT(target_interested_atoms, typecacheof(list(/mob, /obj/machinery/
/datum/ai_behavior/find_potential_targets/proc/new_atoms_found(list/atom/movable/found, datum/ai_controller/controller, target_key, datum/targeting_strategy/strategy, hiding_location_key)
var/mob/pawn = controller.pawn
var/list/accepted_targets = list()
- for(var/maybe_target as anything in found)
+ for(var/maybe_target in found)
if(maybe_target == pawn)
continue
// Need to better handle viewers here
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 2b2297c2d6d..6848d5d323d 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
@@ -97,7 +97,7 @@
if (!length(required_traits))
return TRUE
- for (var/trait as anything in required_traits)
+ for (var/trait in required_traits)
if (HAS_TRAIT(the_target, trait))
return TRUE
return FALSE
diff --git a/code/datums/ai/generic/find_and_set.dm b/code/datums/ai/generic/find_and_set.dm
index dd25a730629..a705c738698 100644
--- a/code/datums/ai/generic/find_and_set.dm
+++ b/code/datums/ai/generic/find_and_set.dm
@@ -95,7 +95,7 @@
var/mob/living/living_pawn = controller.pawn
var/list/nearby_items = list()
- for (var/obj/new_friend as anything in oview(search_range, controller.pawn))
+ for (var/obj/new_friend in oview(search_range, controller.pawn))
if (!isitem(new_friend) && !isstructure(new_friend))
continue
if (is_type_in_list(new_friend, GLOB.animatable_blacklist))
diff --git a/code/datums/alarm.dm b/code/datums/alarm.dm
index e25f96b95a5..27125efbc9c 100644
--- a/code/datums/alarm.dm
+++ b/code/datums/alarm.dm
@@ -198,7 +198,7 @@
var/list/alarms_cache = alarms //Cache for sonic speec
for(var/alarm_type in alarms_cache)
var/list/alarms_of_type = alarms_cache[alarm_type] //Sonic cache speed forads
- for(var/area_name as anything in alarms_of_type)
+ for(var/area_name in alarms_of_type)
var/list/alarm_packet = alarms_of_type[area_name]
var/list/cameras = alarm_packet[2]
if(cameras)
diff --git a/code/datums/armor/_armor.dm b/code/datums/armor/_armor.dm
index 33f37900374..f990a57842e 100644
--- a/code/datums/armor/_armor.dm
+++ b/code/datums/armor/_armor.dm
@@ -183,7 +183,7 @@ GLOBAL_LIST_INIT(armor_by_type, generate_armor_type_cache())
/// Checks if any of the armor values are non-zero, so this technically also counts negative armor!
/datum/armor/proc/has_any_armor()
- for(var/rating as anything in ARMOR_LIST_ALL())
+ for(var/rating in ARMOR_LIST_ALL())
if(vars[rating])
return TRUE
return FALSE
diff --git a/code/datums/brain_damage/imaginary_friend.dm b/code/datums/brain_damage/imaginary_friend.dm
index 617f590e5fb..42779b5c81a 100644
--- a/code/datums/brain_damage/imaginary_friend.dm
+++ b/code/datums/brain_damage/imaginary_friend.dm
@@ -216,7 +216,7 @@
owner.imaginary_group -= src
return ..()
-/mob/eye/imaginary_friend/Hear(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, freq_name, freq_color, list/spans, list/message_mods = list(), message_range)
+/mob/eye/imaginary_friend/Hear(atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, freq_name, freq_color, list/spans, list/message_mods = list(), message_range)
if (safe_read_pref(client, /datum/preference/toggle/enable_runechat) && (safe_read_pref(client, /datum/preference/toggle/enable_runechat_non_mobs) || ismob(speaker)))
create_chat_message(speaker, message_language, raw_message, spans)
to_chat(src, compose_message(speaker, message_language, raw_message, radio_freq, freq_name, freq_color, spans, message_mods))
@@ -257,14 +257,13 @@
log_sayverb_talk(message, message_mods, tag = "imaginary friend", forced_by = forced)
var/messagepart = generate_messagepart(message, spans, message_mods)
- var/rendered = "[span_name("[name]")] [messagepart]"
var/dead_rendered = "[span_name("[name] (Imaginary friend of [owner])")] [messagepart]"
var/language = message_language || owner.get_selected_language()
- Hear(rendered, src, language, message, null, null, null, spans, message_mods) // We always hear what we say
+ Hear(src, language, message, null, null, null, spans, message_mods) // We always hear what we say
var/group = owner.imaginary_group - src // The people in our group don't, so we have to exclude ourselves not to hear twice
for(var/mob/person in group)
- person.Hear(null, src, language, message, null, null, null, spans, message_mods, range)
+ person.Hear(src, language, message, null, null, null, spans, message_mods, range)
// Speech bubble, but only for those who have runechat off
var/list/speech_bubble_recipients = list()
diff --git a/code/datums/brain_damage/special.dm b/code/datums/brain_damage/special.dm
index bed2d33626d..b27335ce3fb 100644
--- a/code/datums/brain_damage/special.dm
+++ b/code/datums/brain_damage/special.dm
@@ -690,7 +690,7 @@
talk_tuah(pick(hurt_lines))
/datum/brain_trauma/special/axedoration/proc/talk_tuah(sent_message = "Hello World.")
- owner.Hear(null, GLOB.bridge_axe, owner.get_selected_language(), sent_message)
+ owner.Hear(GLOB.bridge_axe, owner.get_selected_language(), sent_message)
/datum/brain_trauma/special/axedoration/proc/get_axe_location()
if(!GLOB.bridge_axe)
diff --git a/code/datums/components/aquarium.dm b/code/datums/components/aquarium.dm
index fd442427bbb..314b34bfe13 100644
--- a/code/datums/components/aquarium.dm
+++ b/code/datums/components/aquarium.dm
@@ -540,7 +540,7 @@
var/list/highest_val_list = list(tracked_fish_by_type[1]) //In case there's only one type of fish in here...
var/highest_val = -1
- for(var/fish_type as anything in can_survive_with)
+ for(var/fish_type in can_survive_with)
var/list/compatible_types = can_survive_with[fish_type]
var/fish_amount = fish_alive_by_type[fish_type]
for(var/obj/item/fish/fish_instance as anything in tracked_fish_by_type[fish_type])
diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm
index 5652c173ce5..d7511de26c6 100644
--- a/code/datums/components/crafting/crafting.dm
+++ b/code/datums/components/crafting/crafting.dm
@@ -2,8 +2,9 @@
#define CONTENTS_INSTANCES "instances"
#define CONTENTS_MACHINERY "machinery"
#define CONTENTS_STRUCTURES "structures"
-#define CONTENTS_REAGENTS "reagents"
+#define CONTENTS_REQS_COUNT "reqs_count"
#define CONTENTS_TOOL_BEHAVIOUR "tool_behaviour"
+#define CONTENTS_POSSIBLE_TOOLS "tool_instances"
/// The portion of time spent crafting that recipe dependant on the speed of the tools
#define RECIPE_DYNAMIC_TIME_COEFF 0.85
@@ -61,7 +62,7 @@
var/list/item_instances = contents[CONTENTS_INSTANCES]
var/list/machines = contents[CONTENTS_MACHINERY]
var/list/structures = contents[CONTENTS_STRUCTURES]
- contents = contents[CONTENTS_REAGENTS]
+ contents = contents[CONTENTS_REQS_COUNT]
var/list/requirements_list = list()
@@ -132,81 +133,68 @@
continue
. += AM
-/datum/component/personal_crafting/proc/get_surroundings(atom/a, list/blacklist=null)
+/datum/component/personal_crafting/proc/get_surroundings(atom/source, list/blacklist=null)
. = list()
.[CONTENTS_TOOL_BEHAVIOUR] = list()
- .[CONTENTS_REAGENTS] = list()
+ .[CONTENTS_REQS_COUNT] = list()
.[CONTENTS_INSTANCES] = list()
.[CONTENTS_MACHINERY] = list()
.[CONTENTS_STRUCTURES] = list()
- for(var/obj/object in get_environment(a, blacklist))
+ for(var/obj/object in get_environment(source, blacklist))
if(isitem(object))
var/obj/item/item = object
LAZYADDASSOCLIST(.[CONTENTS_INSTANCES], item.type, item)
if(isstack(item))
var/obj/item/stack/stack = item
- .[CONTENTS_REAGENTS][item.type] += stack.amount
+ .[CONTENTS_REQS_COUNT][item.type] += stack.amount
else
- .[CONTENTS_REAGENTS][item.type] += 1
+ .[CONTENTS_REQS_COUNT][item.type] += 1
if(is_reagent_container(item) && item.is_drainable() && length(item.reagents.reagent_list)) //some container that has some reagents inside it that can be drained
var/obj/item/reagent_containers/container = item
for(var/datum/reagent/reagent as anything in container.reagents.reagent_list)
- .[CONTENTS_REAGENTS][reagent.type] += reagent.volume
- else //a reagent container that is empty can also be used as a tool. e.g. glass bottle can be used as a rolling pin
- if(item.tool_behaviour)
- var/current_tool_speed = .[CONTENTS_TOOL_BEHAVIOUR][item.tool_behaviour]
- if(current_tool_speed < item.toolspeed)
- .[CONTENTS_TOOL_BEHAVIOUR][item.tool_behaviour] = item.toolspeed
+ .[CONTENTS_REQS_COUNT][reagent.type] += reagent.volume
+ if(item.tool_behaviour)
+ var/current_tool_speed = .[CONTENTS_TOOL_BEHAVIOUR][item.tool_behaviour]
+ if(current_tool_speed < item.toolspeed)
+ .[CONTENTS_TOOL_BEHAVIOUR][item.tool_behaviour] = item.toolspeed
else if (ismachinery(object))
LAZYADDASSOCLIST(.[CONTENTS_MACHINERY], object.type, object)
else if (isstructure(object))
LAZYADDASSOCLIST(.[CONTENTS_STRUCTURES], object.type, object)
+ var/list/within_source = list()
+ for(var/obj/item/item in source.contents)
+ within_source += item
+ if(item.atom_storage)
+ within_source += item.contents
+
+ for(var/obj/item/item as anything in within_source)
+ if(!item.tool_behaviour)
+ continue
+ var/current_tool_speed = .[CONTENTS_TOOL_BEHAVIOUR][item.tool_behaviour]
+ if(current_tool_speed < item.toolspeed)
+ .[CONTENTS_TOOL_BEHAVIOUR][item.tool_behaviour] = item.toolspeed
+
+ var/list/instances = .[CONTENTS_INSTANCES]
+ for(var/item_type in instances)
+ .[CONTENTS_POSSIBLE_TOOLS] += instances[item_type]
+ .[CONTENTS_POSSIBLE_TOOLS] += within_source
+
/// Returns a boolean on whether the tool requirements of the input recipe are satisfied by the input source and surroundings.
/datum/component/personal_crafting/proc/check_tools(atom/source, datum/crafting_recipe/recipe, list/surroundings, final_check = FALSE)
if(!length(recipe.tool_behaviors) && !length(recipe.tool_paths))
return TRUE
- var/list/available_tools = list()
- var/list/present_qualities = list()
-
- var/list/all_instances = list()
- for(var/atom/movable/movable as anything in source.contents)
- all_instances += movable
- if(movable.atom_storage)
- all_instances += movable.contents
-
- for(var/obj/item/contained_item in all_instances) //fill the available tools list with available tool types and behaviours
- available_tools[contained_item.type] = TRUE
- if(contained_item.tool_behaviour)
- present_qualities[contained_item.tool_behaviour] = TRUE
-
- for(var/quality in surroundings[CONTENTS_TOOL_BEHAVIOUR])
- present_qualities[quality] = TRUE
-
- for(var/path in surroundings[CONTENTS_REAGENTS])
- available_tools[path] = TRUE
-
for(var/required_quality in recipe.tool_behaviors)
- if(!present_qualities[required_quality])
+ if(!(required_quality in surroundings[CONTENTS_TOOL_BEHAVIOUR]))
return FALSE
+ var/list/possible_tool_instances = surroundings[CONTENTS_POSSIBLE_TOOLS]
for(var/required_path in recipe.tool_paths)
- var/found_this_tool = FALSE
- for(var/tool_path in available_tools)
- if(!ispath(tool_path, required_path))
- continue
- found_this_tool = TRUE
- break
- if(!found_this_tool)
+ if(!(locate(required_path) in possible_tool_instances))
return FALSE
- //add the contents of the assoc list of the surrounding instances to all_instances for the recipe.check_tools() call
- var/list/surrounding_instances = surroundings[CONTENTS_INSTANCES]
- for(var/type_key in surrounding_instances)
- all_instances |= surrounding_instances[type_key]
-
- return recipe.check_tools(source, all_instances, final_check)
+ return recipe.check_tools(source, possible_tool_instances, final_check)
/datum/component/personal_crafting/proc/construct_item(atom/crafter, datum/crafting_recipe/recipe)
if(!crafter)
@@ -233,10 +221,10 @@
//Then divide it by the number of tools used in the recipe, and recalculate it.
dynamic_recipe_time /= tools_used
- var/instances = contents[CONTENTS_INSTANCES]
+ var/list/possible_tool_instances = contents[CONTENTS_POSSIBLE_TOOLS]
for(var/tool in recipe.tool_paths)
var/best_speed = 10 //failsafe-ish
- for(var/obj/item/item as anything in instances)
+ for(var/obj/item/item as anything in possible_tool_instances)
if(!istype(item, tool) || best_speed < item.toolspeed)
continue
best_speed = item.toolspeed
@@ -760,6 +748,7 @@
#undef CONTENTS_INSTANCES
#undef CONTENTS_MACHINERY
#undef CONTENTS_STRUCTURES
-#undef CONTENTS_REAGENTS
+#undef CONTENTS_REQS_COUNT
#undef CONTENTS_TOOL_BEHAVIOUR
#undef RECIPE_DYNAMIC_TIME_COEFF
+#undef CONTENTS_POSSIBLE_TOOLS
diff --git a/code/datums/components/ingredients_holder.dm b/code/datums/components/ingredients_holder.dm
index 6214f6973f6..afa52f3fc53 100644
--- a/code/datums/components/ingredients_holder.dm
+++ b/code/datums/components/ingredients_holder.dm
@@ -58,7 +58,7 @@
ingredient_names = processed_holder.ingredient_names
custom_name = processed_holder.custom_name
atom_parent.name = "[custom_adjective()] [custom_name] [atom_parent.name]"
- for(var/fillcol as anything in processed_holder.filling_colors)
+ for(var/fillcol in processed_holder.filling_colors)
apply_fill(fillcol)
/datum/component/ingredients_holder/Destroy(force)
diff --git a/code/datums/components/material/material_container.dm b/code/datums/components/material/material_container.dm
index 9a8f9b4647e..6b1cda73099 100644
--- a/code/datums/components/material/material_container.dm
+++ b/code/datums/components/material/material_container.dm
@@ -460,10 +460,10 @@
//we now summarize the chat msgs collected
if(!(mat_container_flags & MATCONTAINER_SILENT))
- for(var/status as anything in chat_msgs)
+ for(var/status in chat_msgs)
var/list/status_data = chat_msgs[status]
- for(var/item_name as anything in status_data)
+ for(var/item_name in status_data)
//read the params
var/list/chat_data = status_data[item_name]
var/count = chat_data["count"]
diff --git a/code/datums/components/pet_commands/obeys_commands.dm b/code/datums/components/pet_commands/obeys_commands.dm
index 71a8fb66b70..0e459a60161 100644
--- a/code/datums/components/pet_commands/obeys_commands.dm
+++ b/code/datums/components/pet_commands/obeys_commands.dm
@@ -52,7 +52,7 @@
SIGNAL_HANDLER
RegisterSignal(new_friend, COMSIG_KB_LIVING_VIEW_PET_COMMANDS, PROC_REF(on_key_pressed))
RegisterSignal(new_friend, DEACTIVATE_KEYBIND(COMSIG_KB_LIVING_VIEW_PET_COMMANDS), PROC_REF(on_key_unpressed))
- for (var/command_name as anything in available_commands)
+ for (var/command_name in available_commands)
var/datum/pet_command/command = available_commands[command_name]
INVOKE_ASYNC(command, TYPE_PROC_REF(/datum/pet_command, add_new_friend), new_friend)
@@ -71,7 +71,7 @@
COMSIG_KB_LIVING_VIEW_PET_COMMANDS,
DEACTIVATE_KEYBIND(COMSIG_KB_LIVING_VIEW_PET_COMMANDS),
))
- for (var/command_name as anything in available_commands)
+ for (var/command_name in available_commands)
var/datum/pet_command/command = available_commands[command_name]
INVOKE_ASYNC(command, TYPE_PROC_REF(/datum/pet_command, remove_friend), old_friend)
@@ -116,7 +116,7 @@
/// Actually display the radial menu and then do something with the result
/datum/component/obeys_commands/proc/display_radial_menu(mob/living/friend)
var/list/radial_options = list()
- for (var/command_name as anything in available_commands)
+ for (var/command_name in available_commands)
var/datum/pet_command/command = available_commands[command_name]
var/datum/radial_menu_choice/choice = command.provide_radial_data()
if (!choice)
diff --git a/code/datums/components/pet_commands/pet_command.dm b/code/datums/components/pet_commands/pet_command.dm
index 84b288a5cd8..04dde32d5db 100644
--- a/code/datums/components/pet_commands/pet_command.dm
+++ b/code/datums/components/pet_commands/pet_command.dm
@@ -107,7 +107,7 @@
* if check_verbosity is true, skip the match if there spoken_text is way longer than the match
*/
/datum/pet_command/proc/find_command_in_text(spoken_text, check_verbosity = FALSE)
- for (var/command as anything in speech_commands)
+ for (var/command in speech_commands)
if (!findtext(spoken_text, command))
continue
if(check_verbosity && length(spoken_text) > length(command) + MAX_NAME_LEN)
@@ -220,5 +220,3 @@
return FALSE
parent.visible_message(span_warning("[parent] follows [friend]'s gesture towards [potential_target] [pointed_reaction]!"))
return TRUE
-
-
diff --git a/code/datums/components/regenerative_shield.dm b/code/datums/components/regenerative_shield.dm
index 34d305b27e1..c090eeefb24 100644
--- a/code/datums/components/regenerative_shield.dm
+++ b/code/datums/components/regenerative_shield.dm
@@ -19,7 +19,7 @@
src.regeneration_time = regeneration_time
var/atom/movable/living_parent = parent
- for(var/type_path as anything in shield_overlays)
+ for(var/type_path in shield_overlays)
if(!ispath(type_path))
continue
var/obj/effect/overlay/new_effect = new type_path()
diff --git a/code/datums/components/riding/riding.dm b/code/datums/components/riding/riding.dm
index 3ca466ca55a..f89557f0e2a 100644
--- a/code/datums/components/riding/riding.dm
+++ b/code/datums/components/riding/riding.dm
@@ -185,7 +185,8 @@
if(seat.buckle_lying && rider.body_position == LYING_DOWN)
y_offset += (-1 * PIXEL_Y_OFFSET_LYING)
- rider.add_offsets(RIDING_SOURCE, x_add = x_offset, y_add = y_offset, animate = animate)
+ // Rider uses pixel_z offsets as they're above the turf, not up north on the turf
+ rider.add_offsets(RIDING_SOURCE, x_add = x_offset, z_add = y_offset, animate = animate)
rider.layer = layer
#undef GET_X_OFFSET
diff --git a/code/datums/components/uplink.dm b/code/datums/components/uplink.dm
index 31294d586a8..4024c497425 100644
--- a/code/datums/components/uplink.dm
+++ b/code/datums/components/uplink.dm
@@ -210,7 +210,7 @@
))
var/list/remaining_stock = list()
- for(var/item as anything in stock_list)
+ for(var/item in stock_list)
remaining_stock[item] = stock_list[item]
data["extra_purchasable"] = extra_purchasable
data["extra_purchasable_stock"] = extra_purchasable_stock
diff --git a/code/datums/datum.dm b/code/datums/datum.dm
index dcf1772f54f..fe69f6d6cc3 100644
--- a/code/datums/datum.dm
+++ b/code/datums/datum.dm
@@ -55,9 +55,12 @@
*/
var/list/cooldowns
-
/// List for handling persistent filters.
var/list/filter_data
+ /// An accursed beast of a list that contains our filters. Why? Because var/list/filters on atoms/images isn't actually a list
+ /// but a snowflaked skinwalker pretending to be one, which doesn't support half the list procs/operations and the other half behaves weirdly
+ /// so we cut down on filter creation and appearance update costs by editing *this* list, and then assigning ours to it
+ var/list/filter_cache
#ifdef REFERENCE_TRACKING
/// When was this datum last touched by a reftracker?
@@ -321,38 +324,67 @@
* * name - Filter name
* * priority - Priority used when sorting the filter.
* * params - Parameters of the filter.
+ * * update - If we should update our actual filters list, or wait until something updates it later
*/
-/datum/proc/add_filter(name, priority, list/params)
- LAZYINITLIST(filter_data)
- var/list/copied_parameters = params.Copy()
- copied_parameters["priority"] = priority
- filter_data[name] = copied_parameters
- update_filters()
-
-///A version of add_filter that takes a list of filters to add rather than being individual, to limit calls to update_filters().
-/datum/proc/add_filters(list/list/filters)
- LAZYINITLIST(filter_data)
- for(var/list/individual_filter as anything in filters)
- var/list/params = individual_filter["params"]
- var/list/copied_parameters = params.Copy()
- copied_parameters["priority"] = individual_filter["priority"]
- filter_data[individual_filter["name"]] = copied_parameters
- update_filters()
-
-/// Reapplies all the filters.
-/datum/proc/update_filters()
+/datum/proc/add_filter(name, priority, list/params, update = TRUE)
ASSERT(isatom(src) || isimage(src))
var/atom/atom_cast = src // filters only work with images or atoms.
- atom_cast.filters = null
- sortTim(filter_data, GLOBAL_PROC_REF(cmp_filter_data_priority), TRUE)
- for(var/filter_raw in filter_data)
- var/list/data = filter_data[filter_raw]
- var/list/arguments = data.Copy()
+ LAZYINITLIST(filter_data)
+ LAZYINITLIST(filter_cache)
+ var/list/copied_parameters = params.Copy()
+ copied_parameters["name"] = name
+ copied_parameters["priority"] = priority
+ for (var/list/filter_info as anything in filter_data)
+ if (filter_info["name"] == name)
+ filter_data -= filter_info
+ filter_cache -= name
+ break
+
+ BINARY_INSERT_DEFINE(list(copied_parameters), filter_data, SORT_VAR_NO_TYPE, copied_parameters, SORT_PRIORITY_INDEX, COMPARE_KEY)
+
+ for (var/index in 1 to length(filter_data))
+ var/list/filter_info = filter_data[index]
+ if (filter_info["name"] != name)
+ continue
+ var/list/arguments = filter_info.Copy()
arguments -= "priority"
- atom_cast.filters += filter(arglist(arguments))
+ filter_cache.Insert(index, filter(arglist(arguments)))
+ break
+
+ if (update)
+ atom_cast.filters = filter_cache
+
+/// A version of add_filter that takes a list of filters to add rather than being individual, to limit appearance updates
+/datum/proc/add_filters(list/list/filters, update = TRUE)
+ ASSERT(isatom(src) || isimage(src))
+ var/atom/atom_cast = src // filters only work with images or atoms.
+ for (var/list/individual_filter as anything in filters)
+ add_filter(individual_filter["name"], individual_filter["priority"], individual_filter["params"], update = FALSE)
+ if (update)
+ atom_cast.filters = filter_cache
+
+/// Reapplies all the filters. If start_index is passed, only a portion of all filters are reapplied starting from said index
+/datum/proc/update_filters(start_index = null)
+ ASSERT(isatom(src) || isimage(src))
+ var/atom/atom_cast = src // filters only work with images or atoms.
+ if (start_index)
+ filter_cache.Cut(start_index)
+ else
+ atom_cast.filters = null
+ filter_cache.Cut()
+
+ for (var/index in start_index || 1 to length(filter_data))
+ var/list/filter_info = filter_data[index]
+ var/list/arguments = filter_info.Copy()
+ arguments -= "priority"
+ if (start_index) // See https://www.byond.com/forum/post/2980598 as to why we cannot just override the existing filter
+ atom_cast.filters -= filter_info["name"] // We're trapped in the belly of this horrible machine
+ filter_cache += filter(arglist(arguments)) // And the machine is bleeding to death
+
+ atom_cast.filters = filter_cache
UNSETEMPTY(filter_data)
-/obj/item/update_filters()
+/obj/item/update_filters(start_index = null)
. = ..()
update_item_action_buttons()
@@ -362,17 +394,29 @@
* * name - Filter name
* * new_params - New parameters of the filter
* * overwrite - TRUE means we replace the parameter list completely. FALSE means we only replace the things on new_params.
+ * * update - If we should apply our filter cache to our actual filters
*/
-/datum/proc/modify_filter(name, list/new_params, overwrite = FALSE)
- var/filter = get_filter(name)
- if(!filter)
+/datum/proc/modify_filter(name, list/new_params, overwrite = FALSE, update = TRUE)
+ ASSERT(isatom(src) || isimage(src))
+ var/atom/atom_cast = src // filters only work with images or atoms.
+ for (var/index in 1 to length(filter_data))
+ var/list/filter_info = filter_data[index]
+ if (filter_info["name"] != name)
+ continue
+
+ if (overwrite)
+ filter_data[index] = new_params
+ else
+ for (var/thing in new_params)
+ filter_info[thing] = new_params[thing]
+
+ var/list/arguments = filter_info.Copy()
+ arguments -= "priority"
+ filter_cache[index] = filter(arglist(arguments))
+
+ if (update)
+ atom_cast.filters = filter_cache
return
- if(overwrite)
- filter_data[name] = new_params
- else
- for(var/thing in new_params)
- filter_data[name][thing] = new_params[thing]
- update_filters()
/** Update a filter's parameter and animate this change. If the filter doesn't exist we won't do anything.
* Basically a [datum/proc/modify_filter] call but with animations. Unmodified filter parameters are kept.
@@ -386,7 +430,7 @@
*/
/datum/proc/transition_filter(name, list/new_params, time, easing, loop)
var/filter = get_filter(name)
- if(!filter)
+ if (!filter)
return
// This can get injected by the filter procs, we want to support them so bye byeeeee
new_params -= "type"
@@ -399,75 +443,75 @@
* * duration - the time it takes to animate this step
* * easing - the type of easing this step has
*/
-/proc/FilterChainStep(params, duration, easing)
+/proc/filter_chain_step(params, duration, easing, flags)
params -= "type"
- return list("params"= params, "duration"=duration, "easing"=easing)
+ return list("params" = params, "duration" = duration, "easing" = easing, "flags" = flags)
/** Similar to transition_filter(), except it creates an animation chain that moves between a list of states.
* Arguments:
* * name - Filter name
* * num_loops - Amount of times the chain loops. INDEFINITE = Infinite
- * * ... - a list of each link in the animation chain. Use FilterChainStep(params, duration, easing) for each link
+ * * ... - a list of each link in the animation chain. Use filter_chain_step(params, duration, easing) for each link
* Example use:
* * add_filter("blue_pulse", 1, color_matrix_filter(COLOR_WHITE))
* * transition_filter_chain(src, "blue_pulse", INDEFINITE,\
- * * FilterChainStep(color_matrix_filter(COLOR_BLUE), 10 SECONDS, CUBIC_EASING),\
- * * FilterChainStep(color_matrix_filter(COLOR_WHITE), 10 SECONDS, CUBIC_EASING))
+ * * filter_chain_step(color_matrix_filter(COLOR_BLUE), 10 SECONDS, CUBIC_EASING),\
+ * * filter_chain_step(color_matrix_filter(COLOR_WHITE), 10 SECONDS, CUBIC_EASING))
* The above code would edit a color_matrix_filter() to slowly turn blue over 10 seconds before returning back to white 10 seconds after, repeating this chain forever.
*/
/datum/proc/transition_filter_chain(name, num_loops, ...)
var/list/transition_steps = args.Copy(3)
var/filter = get_filter(name)
- if(!filter)
+ if (!filter)
return
var/list/first_step = transition_steps[1]
- animate(filter, first_step["params"], time = first_step["duration"], easing = first_step["easing"], loop = num_loops)
- for(var/transition_step in 2 to length(transition_steps))
+ animate(filter, first_step["params"], time = first_step["duration"], easing = first_step["easing"], flags = first_step["flags"], loop = num_loops)
+ for (var/transition_step in 2 to length(transition_steps))
var/list/this_step = transition_steps[transition_step]
- animate(this_step["params"], time = this_step["duration"], easing = this_step["easing"])
-
+ animate(this_step["params"], time = this_step["duration"], easing = this_step["easing"], flags = this_step["flags"])
/// Updates the priority of the passed filter key
/datum/proc/change_filter_priority(name, new_priority)
- if(!filter_data || !filter_data[name])
- return
+ for (var/list/filter_info as anything in filter_data)
+ if (filter_info["name"] != name)
+ continue
- filter_data[name]["priority"] = new_priority
- update_filters()
+ remove_filter(name, update = FALSE)
+ add_filter(name, new_priority, filter_info)
+ return
/// Returns the filter associated with the passed key
/datum/proc/get_filter(name)
ASSERT(isatom(src) || isimage(src))
- if(filter_data && filter_data[name])
- var/atom/atom_cast = src // filters only work with images or atoms.
- return atom_cast.filters[filter_data.Find(name)]
-
-/// Returns the indice in filters of the given filter name.
-/// If it is not found, returns null.
-/datum/proc/get_filter_index(name)
- return filter_data?.Find(name)
+ var/atom/atom_cast = src // filters only work with images or atoms.
+ return atom_cast.filters[name]
/// Removes the passed filter, or multiple filters, if supplied with a list.
-/datum/proc/remove_filter(name_or_names)
+/datum/proc/remove_filter(name_or_names, update = TRUE)
+ ASSERT(isatom(src) || isimage(src))
if(!filter_data)
return
-
+ var/atom/atom_cast = src // filters only work with images or atoms.
var/list/names = islist(name_or_names) ? name_or_names : list(name_or_names)
-
. = FALSE
- for(var/name in names)
- if(filter_data[name])
- filter_data -= name
- . = TRUE
-
- if(.)
- update_filters()
+ var/list/new_data = list()
+ var/list/new_cache = list()
+ for (var/index in 1 to length(filter_data))
+ var/list/filter_info = filter_data[index]
+ if (!(filter_info["name"] in names))
+ new_data += list(filter_info)
+ new_cache += filter_cache[index]
+ filter_data = new_data
+ filter_cache = new_cache
+ if (update)
+ atom_cast.filters = filter_cache
return .
/datum/proc/clear_filters()
ASSERT(isatom(src) || isimage(src))
var/atom/atom_cast = src // filters only work with images or atoms.
filter_data = null
+ filter_cache = null
atom_cast.filters = null
/// Calls qdel on itself, because signals dont allow callbacks
diff --git a/code/datums/elements/art.dm b/code/datums/elements/art.dm
index d5a642c23d0..0ec98410b1d 100644
--- a/code/datums/elements/art.dm
+++ b/code/datums/elements/art.dm
@@ -70,7 +70,7 @@
/datum/element/art/commoner/apply_moodlet(atom/source, mob/living/user, impress)
var/msg
var/list/haters = list()
- for(var/hater_department_type as anything in list(/datum/job_department/security, /datum/job_department/command))
+ for(var/hater_department_type in list(/datum/job_department/security, /datum/job_department/command))
var/datum/job_department/hater_department = SSjob.get_department_type(hater_department_type)
for(var/datum/job/hater_job as anything in hater_department.department_jobs)
haters += hater_job.title
diff --git a/code/datums/elements/immerse.dm b/code/datums/elements/immerse.dm
index 68def8feb54..3e28bbb7ea7 100644
--- a/code/datums/elements/immerse.dm
+++ b/code/datums/elements/immerse.dm
@@ -5,61 +5,31 @@ GLOBAL_LIST_INIT(immerse_ignored_movable, typecacheof(list(
/obj/projectile,
)))
-/**
- * A visual element that makes movables entering the attached turfs look immersed into that turf.
- *
- * Abandon all hope, ye who read forth, for this immerse works on mind-numbing workarounds,
- */
+/// A visual element that makes movables entering the attached turfs look immersed into that turf.
+/// May the gods forgive me for the bullshit you're about to witness
/datum/element/immerse
element_flags = ELEMENT_DETACH_ON_HOST_DESTROY | ELEMENT_BESPOKE
argument_hash_start_idx = 2
- ///An association list of turfs that have this element attached and their affected contents.
- var/list/attached_turfs_and_movables = list()
- ///A list of icons generated from a target and a mask, later used as appearances for the overlays.
- var/static/list/generated_immerse_icons = list()
- ///A list of instances of /atom/movable/immerse_overlay then used as visual overlays for the immersed movables.
+ /// An association list of turfs that have this element attached and their affected contents.
+ var/list/attached_turf_contents = list()
+
+ /// A list of generated immersion masks based on object width, height and whever they're fully immersed underwater
+ var/list/immersion_masks = list()
+ /// An assoc list of instances of /atom/movable/immerse_mask used as abstract effect relays, because god is dead
var/list/generated_visual_overlays = list()
- ///An association list of movables as key and overlays as assoc.
- var/list/immersed_movables
+ /// icon_state used as a mask by our turf
+ var/mask_icon = "immerse"
+ /// Alpha of the mask, to make the liquid partially transparent
+ var/alpha = 180
- var/icon
- var/icon_state
- var/mask_icon
- var/color
- var/alpha
-
-/datum/element/immerse/Attach(turf/target, icon, icon_state, mask_icon, color = "#777777", alpha = 180)
+/datum/element/immerse/Attach(turf/target, mask_icon = "immerse", alpha = 180)
. = ..()
- if(!isturf(target) || !icon || !icon_state || !mask_icon)
+ if(!isturf(target) || !mask_icon)
return ELEMENT_INCOMPATIBLE
- src.icon = icon
- src.icon_state = icon_state
- src.color = color
- src.alpha = alpha
src.mask_icon = mask_icon
-
- /**
- * Hello, you may be wondering why we're blending icons and not simply
- * overlaying one mutable appearance with the blend multiply on another.
- * Well, the latter option doesn't work as neatly when added
- * to an atom with the KEEP_TOGETHER appearance flag, with the mask icon also
- * showing on said atom, while we don't want it to.
- *
- * Also using KEEP_APART isn't an option, because unless it's drawn as one with
- * its visual loation, the whole plane the atom belongs to will count as part of the
- * mask of the final visual overlay since that's how the BLEND_INSET_OVERLAY blend mode works here.
- * In layman terms, with KEEP_APART on, if a flying monkey gets nears an immersed
- * human, the visual overlay will appear on the flying monkey even if it shouldn't.
- */
- var/icon/immerse_icon = generated_immerse_icons["[icon]-[icon_state]-[mask_icon]"]
- if(!immerse_icon)
- immerse_icon = icon(icon, icon_state)
- var/icon/sub_mask = icon('icons/effects/effects.dmi', mask_icon)
- immerse_icon.Blend(sub_mask, ICON_MULTIPLY)
- immerse_icon = fcopy_rsc(immerse_icon)
- generated_immerse_icons["[icon]-[icon_state]-[mask_icon]"] = immerse_icon
+ src.alpha = alpha
RegisterSignal(target, SIGNAL_ADDTRAIT(TRAIT_IMMERSE_STOPPED), PROC_REF(stop_immersion))
RegisterSignal(target, SIGNAL_REMOVETRAIT(TRAIT_IMMERSE_STOPPED), PROC_REF(start_immersion))
@@ -73,29 +43,30 @@ GLOBAL_LIST_INIT(immerse_ignored_movable, typecacheof(list(
stop_immersion(source)
return ..()
-///Makes the element start affecting the turf and its contents. Called on Attach() or when TRAIT_IMMERSE_STOPPED is removed.
+
+/// Makes the element start affecting the turf and its contents. Called on Attach() or when TRAIT_IMMERSE_STOPPED is removed.
/datum/element/immerse/proc/start_immersion(turf/source)
SIGNAL_HANDLER
RegisterSignals(source, list(COMSIG_ATOM_ABSTRACT_ENTERED, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON), PROC_REF(on_init_or_entered))
RegisterSignal(source, COMSIG_ATOM_ABSTRACT_EXITED, PROC_REF(on_atom_exited))
- attached_turfs_and_movables += source
+ attached_turf_contents += source
for(var/atom/movable/movable as anything in source)
if(!(movable.flags_1 & INITIALIZED_1) || movable.invisibility >= INVISIBILITY_OBSERVER)
continue
on_init_or_entered(source, movable)
-///Stops the element from affecting on the turf and its contents. Called on Detach() or when TRAIT_IMMERSE_STOPPED is added.
+/// Stops the element from affecting on the turf and its contents. Called on Detach() or when TRAIT_IMMERSE_STOPPED is added.
/datum/element/immerse/proc/stop_immersion(turf/source)
SIGNAL_HANDLER
UnregisterSignal(source, list(COMSIG_ATOM_ABSTRACT_ENTERED, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON, COMSIG_ATOM_ABSTRACT_EXITED))
- for(var/atom/movable/movable as anything in attached_turfs_and_movables[source])
+ for(var/atom/movable/movable as anything in attached_turf_contents[source])
remove_from_element(source, movable)
- attached_turfs_and_movables -= source
+ attached_turf_contents -= source
/**
* If the movable is within the right layers and planes, not in the list of movable types to ignore,
- * or already affected by the element for that matter, Signals will be registered and,
- * unless the movable (or whatever it's buckled to) is flying, it'll appear as if immersed in that water.
+ * or already affected by the element for that matter, signals will be registered and,
+ * unless the movable is flying, it'll appear as if immersed in that water.
*/
/datum/element/immerse/proc/on_init_or_entered(turf/source, atom/movable/movable)
SIGNAL_HANDLER
@@ -103,123 +74,34 @@ GLOBAL_LIST_INIT(immerse_ignored_movable, typecacheof(list(
return
if(HAS_TRAIT(movable, TRAIT_IMMERSED) || HAS_TRAIT(movable, TRAIT_WALLMOUNTED))
return
- if(!ISINRANGE(movable.plane, MUTATE_PLANE(FLOOR_PLANE, source), MUTATE_PLANE(GAME_PLANE, source)))
+ if(!ISINRANGE(PLANE_TO_TRUE(movable.plane), FLOOR_PLANE, GAME_PLANE))
return
+
+ // First, floor plane objects use TOPDOWN_LAYER, second this check shouldn't apply to them anyway.
var/layer_to_check = IS_TOPDOWN_PLANE(source.plane) ? TOPDOWN_ABOVE_WATER_LAYER : ABOVE_ALL_MOB_LAYER
- //First, floor plane objects use TOPDOWN_LAYER, second this check shouldn't apply to them anyway.
if(movable.layer >= layer_to_check)
return
if(is_type_in_typecache(movable, GLOB.immerse_ignored_movable))
return
- var/atom/movable/buckled
+ var/atom/movable/buckled = null
if(isliving(movable))
var/mob/living/living_mob = movable
- RegisterSignal(living_mob, COMSIG_LIVING_SET_BUCKLED, PROC_REF(on_set_buckled))
buckled = living_mob.buckled
+ RegisterSignal(living_mob, COMSIG_LIVING_SET_BUCKLED, PROC_REF(on_set_buckled))
+ RegisterSignal(living_mob, COMSIG_LIVING_UPDATE_OFFSETS, PROC_REF(on_update_offsets))
+ RegisterSignal(movable, COMSIG_LIVING_POST_UPDATE_TRANSFORM, PROC_REF(on_update_transform))
- try_immerse(movable, buckled)
+ RegisterSignal(movable, COMSIG_ATOM_SPIN_ANIMATION, PROC_REF(on_spin_animation))
RegisterSignal(movable, COMSIG_QDELETING, PROC_REF(on_movable_qdel))
- LAZYADD(attached_turfs_and_movables[source], movable)
+ try_immerse(movable, buckled)
+ LAZYADD(attached_turf_contents[source], movable)
ADD_TRAIT(movable, TRAIT_IMMERSED, ELEMENT_TRAIT(src))
/datum/element/immerse/proc/on_movable_qdel(atom/movable/source)
SIGNAL_HANDLER
remove_from_element(source.loc, source)
-/**
- * The main proc, which adds a visual overlay to the movable that has entered the turf to make it look immersed.
- * It's kind of iffy but basically, we want the overlay to cover as much area as needed to
- * avoid the movable's icon from spilling horizontally or below.
- * Also, while these visual overlays are mainly cached movables, for certain movables, such as living mobs,
- * we want them to have their own unique vis overlay with additional signals registered.
- * This allows the vis overlay to look more or less unchanged while its owner is spinning or resting
- * without otherwise affecting other movables with identical overlays.
- */
-/datum/element/immerse/proc/add_immerse_overlay(atom/movable/movable)
- var/list/icon_dimensions = get_icon_dimensions(movable.icon)
- var/width = icon_dimensions["width"] || ICON_SIZE_X
- var/height = icon_dimensions["height"] || ICON_SIZE_Y
-
- ///This determines if the overlay should cover the entire surface of the object or not
- var/layer_to_check = IS_TOPDOWN_PLANE(movable.plane) ? TOPDOWN_WATER_LEVEL_LAYER : WATER_LEVEL_LAYER
- var/is_below_water = (movable.layer < layer_to_check) ? "underwater-" : ""
-
- var/atom/movable/immerse_overlay/vis_overlay = generated_visual_overlays["[is_below_water][width]x[height]"]
-
- if(!vis_overlay) //create the overlay if not already done.
- vis_overlay = generate_vis_overlay(width, height, is_below_water)
-
-
- ADD_KEEP_TOGETHER(movable, ELEMENT_TRAIT(src))
-
- /**
- * Let's give an unique immerse visual only to those movables that would
- * benefit from this the most, for the sake of a smidge of lightweightness.
- */
- if(HAS_TRAIT(movable, TRAIT_UNIQUE_IMMERSE))
- var/atom/movable/immerse_overlay/original_vis_overlay = vis_overlay
- vis_overlay = new(null)
- vis_overlay.appearance = original_vis_overlay
- vis_overlay.extra_width = original_vis_overlay.extra_width
- vis_overlay.extra_height = original_vis_overlay.extra_height
- vis_overlay.overlay_appearance = original_vis_overlay.overlay_appearance
- SEND_SIGNAL(movable, COMSIG_MOVABLE_EDIT_UNIQUE_IMMERSE_OVERLAY, vis_overlay)
- RegisterSignal(movable, COMSIG_ATOM_SPIN_ANIMATION, PROC_REF(on_spin_animation))
- RegisterSignal(movable, COMSIG_LIVING_POST_UPDATE_TRANSFORM, PROC_REF(on_update_transform))
-
- movable.vis_contents |= vis_overlay
-
- LAZYSET(immersed_movables, movable, vis_overlay)
-
-///Initializes and caches a new visual overlay given parameters such as width, height and whether it should appear fully underwater.
-/datum/element/immerse/proc/generate_vis_overlay(width, height, is_below_water)
-
- var/atom/movable/immerse_overlay/vis_overlay = new(null, src)
-
- /**
- * vis contents spin around the center of the icon of their vis locs
- * but since we want the appearance to stay where it should be,
- * we have to counteract this one.
- */
- var/extra_width = (width - ICON_SIZE_X) * 0.5
- var/extra_height = (height - ICON_SIZE_Y) * 0.5
- var/mutable_appearance/overlay_appearance = new()
- var/icon/immerse_icon = generated_immerse_icons["[icon]-[icon_state]-[mask_icon]"]
- var/last_i = width/ICON_SIZE_X
- for(var/i in -1 to last_i)
- var/mutable_appearance/underwater = mutable_appearance(icon, icon_state)
- underwater.pixel_w = ICON_SIZE_X * i - extra_width
- underwater.pixel_z = -ICON_SIZE_Y - extra_height
- overlay_appearance.overlays += underwater
-
- var/mutable_appearance/water_level = is_below_water ? underwater : mutable_appearance(immerse_icon)
- water_level.pixel_w = ICON_SIZE_X * i - extra_width
- water_level.pixel_z = -extra_height
- overlay_appearance.overlays += water_level
-
-
- vis_overlay.color = color
- vis_overlay.alpha = alpha
- vis_overlay.overlays = list(overlay_appearance)
-
- vis_overlay.extra_width = extra_width
- vis_overlay.extra_height = extra_height
- vis_overlay.overlay_appearance = overlay_appearance
-
- generated_visual_overlays["[is_below_water][width]x[height]"] = vis_overlay
- return vis_overlay
-
-///This proc removes the vis_overlay, the keep together trait and some signals from the movable.
-/datum/element/immerse/proc/remove_immerse_overlay(atom/movable/movable)
- var/atom/movable/immerse_overlay/vis_overlay = LAZYACCESS(immersed_movables, movable)
- LAZYREMOVE(immersed_movables, movable)
- REMOVE_KEEP_TOGETHER(movable, ELEMENT_TRAIT(src))
- movable.vis_contents -= vis_overlay
- if(HAS_TRAIT(movable, TRAIT_UNIQUE_IMMERSE))
- UnregisterSignal(movable, list(COMSIG_ATOM_SPIN_ANIMATION, COMSIG_LIVING_POST_UPDATE_TRANSFORM, COMSIG_QDELETING))
- if(!QDELETED(vis_overlay))
- qdel(vis_overlay)
/**
* Called by init_or_entered() and on_set_buckled().
* This applies the overlay if neither the movable or whatever is buckled to (exclusive to living mobs) are flying
@@ -229,29 +111,34 @@ GLOBAL_LIST_INIT(immerse_ignored_movable, typecacheof(list(
var/atom/movable/to_check = buckled || movable
if(!(to_check.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) && !movable.throwing)
add_immerse_overlay(movable)
- if(!buckled)
- RegisterSignal(movable, COMSIG_MOVETYPE_FLAG_ENABLED, PROC_REF(on_move_flag_enabled))
- RegisterSignal(movable, COMSIG_MOVETYPE_FLAG_DISABLED, PROC_REF(on_move_flag_disabled))
- RegisterSignal(movable, COMSIG_MOVABLE_POST_THROW, PROC_REF(on_throw))
- RegisterSignal(movable, COMSIG_MOVABLE_THROW_LANDED, PROC_REF(on_throw_landed))
+ if(buckled)
+ return
+ RegisterSignal(movable, COMSIG_MOVETYPE_FLAG_ENABLED, PROC_REF(on_move_flag_enabled))
+ RegisterSignal(movable, COMSIG_MOVETYPE_FLAG_DISABLED, PROC_REF(on_move_flag_disabled))
+ RegisterSignal(movable, COMSIG_MOVABLE_POST_THROW, PROC_REF(on_throw))
+ RegisterSignal(movable, COMSIG_MOVABLE_THROW_LANDED, PROC_REF(on_throw_landed))
-/**
- * Called by on_set_buckled() and remove_from_element().
- * This removes the filter and signals from the movable unless it doesn't have them.
- */
+/// Called by on_set_buckled() and remove_from_element().
+/// This removes the filter and signals from the movable unless it doesn't have them.
/datum/element/immerse/proc/try_unimmerse(atom/movable/movable, atom/movable/buckled)
var/atom/movable/to_check = buckled || movable
if(!(to_check.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) && !movable.throwing)
remove_immerse_overlay(movable)
- if(!buckled)
- UnregisterSignal(movable, list(COMSIG_MOVETYPE_FLAG_ENABLED, COMSIG_MOVETYPE_FLAG_DISABLED, COMSIG_MOVABLE_POST_THROW, COMSIG_MOVABLE_THROW_LANDED))
+ if(buckled)
+ return
+ UnregisterSignal(movable, list(
+ COMSIG_MOVETYPE_FLAG_ENABLED,
+ COMSIG_MOVETYPE_FLAG_DISABLED,
+ COMSIG_MOVABLE_POST_THROW,
+ COMSIG_MOVABLE_THROW_LANDED
+ ))
/datum/element/immerse/proc/on_set_buckled(mob/living/source, atom/movable/new_buckled)
SIGNAL_HANDLER
try_unimmerse(source, source.buckled)
try_immerse(source, new_buckled)
-///Removes the overlay from mob and bucklees is flying.
+/// Removes the overlay from mob and bucklees is flying.
/datum/element/immerse/proc/on_move_flag_enabled(atom/movable/source, flag, old_movement_type)
SIGNAL_HANDLER
if(!(flag & MOVETYPES_NOT_TOUCHING_GROUND) || (old_movement_type & MOVETYPES_NOT_TOUCHING_GROUND) || source.throwing)
@@ -260,7 +147,7 @@ GLOBAL_LIST_INIT(immerse_ignored_movable, typecacheof(list(
for(var/mob/living/buckled_mob as anything in source.buckled_mobs)
remove_immerse_overlay(buckled_mob)
-///Works just like on_move_flag_enabled, except it only has to check that movable isn't flying
+/// Works just like on_move_flag_enabled, except it only has to check that movable isn't flying
/datum/element/immerse/proc/on_throw(atom/movable/source)
SIGNAL_HANDLER
if(source.movement_type & MOVETYPES_NOT_TOUCHING_GROUND)
@@ -269,7 +156,7 @@ GLOBAL_LIST_INIT(immerse_ignored_movable, typecacheof(list(
for(var/mob/living/buckled_mob as anything in source.buckled_mobs)
remove_immerse_overlay(buckled_mob)
-///Readds the overlay to the mob and bucklees if no longer flying.
+/// Readds the overlay to the mob and bucklees if no longer flying.
/datum/element/immerse/proc/on_move_flag_disabled(atom/movable/source, flag, old_movement_type)
SIGNAL_HANDLER
if(!(flag & MOVETYPES_NOT_TOUCHING_GROUND) || (source.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) || source.throwing)
@@ -278,7 +165,7 @@ GLOBAL_LIST_INIT(immerse_ignored_movable, typecacheof(list(
for(var/mob/living/buckled_mob as anything in source.buckled_mobs)
add_immerse_overlay(buckled_mob)
-///Works just like on_move_flag_disabled, except it only has to check that movable isn't flying
+/// Works just like on_move_flag_disabled, except it only has to check that movable isn't flying
/datum/element/immerse/proc/on_throw_landed(atom/movable/source)
SIGNAL_HANDLER
if(source.movement_type & MOVETYPES_NOT_TOUCHING_GROUND)
@@ -287,123 +174,131 @@ GLOBAL_LIST_INIT(immerse_ignored_movable, typecacheof(list(
for(var/mob/living/buckled_mob as anything in source.buckled_mobs)
add_immerse_overlay(buckled_mob)
-/**
- * Called when a movable exits the turf. If its new location is not in the list of turfs with this element,
- * Remove the movable from the element.
- */
+/// Called when a movable exits the turf. If its new location is not in the list of turfs with this element,
+/// remove the movable from the element.
/datum/element/immerse/proc/on_atom_exited(turf/source, atom/movable/exited, direction)
SIGNAL_HANDLER
- if(!(exited.loc in attached_turfs_and_movables))
+ if(!attached_turf_contents[exited.loc])
remove_from_element(source, exited)
- else
- LAZYREMOVE(attached_turfs_and_movables[source], exited)
- LAZYADD(attached_turfs_and_movables[exited.loc], exited)
+ return
+ LAZYREMOVE(attached_turf_contents[source], exited)
+ LAZYADD(attached_turf_contents[exited.loc], exited)
-///Remove any signal, overlay, trait given to the movable and reference to it within the element.
+//// Remove any signal, overlay, trait given to the movable and reference to it within the element.
/datum/element/immerse/proc/remove_from_element(turf/source, atom/movable/movable)
- var/atom/movable/buckled
+ var/atom/movable/buckled = null
if(isliving(movable))
var/mob/living/living_mob = movable
buckled = living_mob.buckled
- try_unimmerse(movable, buckled)
- LAZYREMOVE(attached_turfs_and_movables[source], movable)
- UnregisterSignal(movable, list(COMSIG_LIVING_SET_BUCKLED, COMSIG_QDELETING))
+ try_unimmerse(movable, buckled)
+ LAZYREMOVE(attached_turf_contents[source], movable)
+ UnregisterSignal(movable, list(COMSIG_LIVING_SET_BUCKLED, COMSIG_QDELETING, COMSIG_LIVING_UPDATE_OFFSETS, COMSIG_ATOM_SPIN_ANIMATION, COMSIG_LIVING_POST_UPDATE_TRANSFORM))
REMOVE_TRAIT(movable, TRAIT_IMMERSED, ELEMENT_TRAIT(src))
+/// Generate a mask filter mutable to use as render_source for the alpha filter based on provided width, height and immersion state
+/datum/element/immerse/proc/generate_immerse_mask(width, height, is_below_water)
+ var/clean_height = height
+ width = ceil(width / ICON_SIZE_X) * ICON_SIZE_X
+ height = ceil(height / ICON_SIZE_Y) * ICON_SIZE_Y
+
+ var/mask_key = "[width]-[height]-[is_below_water]"
+ var/mutable_appearance/target_mask = immersion_masks[mask_key]
+ if (target_mask)
+ return target_mask
+
+ if (width == ICON_SIZE_X && height == ICON_SIZE_Y)
+ target_mask = mutable_appearance('icons/effects/effects.dmi', mask_icon, alpha = alpha)
+ immersion_masks[mask_key] = target_mask
+ return target_mask
+
+ var/icon/column_icon = icon('icons/effects/effects.dmi', mask_icon)
+ var/y_tiles = 1
+ if (height != ICON_SIZE_Y)
+ column_icon.Crop(1, 1, ICON_SIZE_X, ICON_SIZE_Y) // Use base icon and crop it out so animation frames respect dmi's delays
+ y_tiles = ceil((height / ICON_SIZE_Y - 1) / 2) + 1
+ column_icon.Scale(ICON_SIZE_X, y_tiles * ICON_SIZE_Y)
+ var/icon/effect_icon = icon('icons/effects/effects.dmi', mask_icon)
+ var/icon/fill_icon = icon('icons/effects/alphacolors.dmi', "white")
+ for (var/y_tile in 1 to y_tiles - 1)
+ column_icon.Blend(fill_icon, ICON_OVERLAY, 1, 1 + (y_tile - 1) * ICON_SIZE_Y)
+ column_icon.Blend(effect_icon, ICON_OVERLAY, 1, 1 + (y_tiles - 1) * ICON_SIZE_Y)
+
+ var/icon/immerse_icon = null
+ if (width == ICON_SIZE_X)
+ immerse_icon = column_icon
+ else
+ immerse_icon = icon('icons/effects/effects.dmi', mask_icon) // Use base icon and crop it out so animation frames respect dmi's delays
+ immerse_icon.Crop(1, 1, ICON_SIZE_X, ICON_SIZE_Y)
+ immerse_icon.Scale(ceil(width / ICON_SIZE_X) * ICON_SIZE_X, ceil(height / ICON_SIZE_Y) * ICON_SIZE_Y)
+ for (var/x_tile in 1 to ceil(width / ICON_SIZE_X))
+ immerse_icon.Blend(column_icon, ICON_OVERLAY, 1 + (x_tile - 1) * ICON_SIZE_X, 1)
+ target_mask = mutable_appearance(immerse_icon)
+ target_mask.alpha = alpha
+ target_mask.pixel_y = -(y_tiles - 1) * ICON_SIZE_Y + floor((clean_height - ICON_SIZE_Y) / 2)
+ immersion_masks[mask_key] = target_mask
+ return target_mask
+
+/datum/element/immerse/proc/add_immerse_overlay(atom/movable/movable)
+ // This determines if the overlay should cover the entire surface of the object or not
+ var/layer_to_check = IS_TOPDOWN_PLANE(movable.plane) ? TOPDOWN_WATER_LEVEL_LAYER : WATER_LEVEL_LAYER
+ var/is_below_water = (movable.layer < layer_to_check) ? "underwater-" : ""
+ // Tall mobs still only get covered to their feet, unless they're offset down
+ var/mutable_appearance/immerse_mask = generate_immerse_mask(movable.get_cached_width(), max(ICON_SIZE_Y - movable.pixel_z, ICON_SIZE_Y), is_below_water)
+ var/atom/movable/immerse_mask/effect_relay = generated_visual_overlays[movable]
+ if (!effect_relay)
+ effect_relay = new(movable)
+ movable.vis_contents += effect_relay
+ generated_visual_overlays[movable] = effect_relay
+ var/mutable_appearance/mask_copy = new(immerse_mask)
+ effect_relay.appearance = mask_copy
+ effect_relay.render_target = "*immerse_[REF(movable)]"
+ SEND_SIGNAL(movable, COMSIG_MOVABLE_EDIT_UNIQUE_IMMERSE_OVERLAY, effect_relay)
+ // Should always render above any other filters that could be adding visuals
+ movable.add_filter("immerse_mask", INFINITY, alpha_mask_filter(y = -floor((movable.get_cached_height() - ICON_SIZE_Y) / 2) - movable.pixel_z, render_source = effect_relay.render_target, flags = MASK_INVERSE))
+
+/datum/element/immerse/proc/remove_immerse_overlay(atom/movable/movable, deleting = TRUE)
+ movable.remove_filter("immerse_mask")
+ if (!deleting)
+ return
+ var/atom/movable/immerse_mask/mask = generated_visual_overlays[movable]
+ movable.vis_contents -= mask
+ generated_visual_overlays -= movable
+ QDEL_NULL(mask)
+
/// A band-aid to keep the (unique) visual overlay from scaling and rotating along with its owner. I'm sorry.
/datum/element/immerse/proc/on_update_transform(mob/living/source, resize, new_lying_angle, is_opposite_angle)
SIGNAL_HANDLER
var/matrix/new_transform = matrix()
- new_transform.Scale(1/source.current_size)
+ new_transform.Scale(1 / source.current_size)
new_transform.Turn(-new_lying_angle)
+ var/atom/movable/immerse_mask/effect_relay = generated_visual_overlays[source]
+ var/mutable_appearance/relay_appearance = new(effect_relay.appearance)
+ relay_appearance.transform = new_transform
+ effect_relay.appearance = relay_appearance
- var/atom/movable/immerse_overlay/vis_overlay = immersed_movables[source]
- if(is_opposite_angle)
- vis_overlay.transform = new_transform
- vis_overlay.adjust_living_overlay_offset(source)
- return
-
- /**
- * Here, we temporarily switch from the offset of the mutable appearance to one for movable used as visual overlay.
- * Why? While visual overlays can be animated, their fixed point stays at the center of the icon of the atom
- * they're attached to and not theirs, which can make manipulating the transform var a pain, but because
- * we cannot do that with normal overlay or filters (reliably), we have to bend a knee and try to compensate it.
- */
- vis_overlay.overlays = list(vis_overlay.overlay_appearance)
-
- /// Oh, yeah, didn't I mention turning a visual overlay affects its pixel x/y/w/z too? Yeah, it sucks.
- var/new_x = vis_overlay.extra_width
- var/new_y = vis_overlay.extra_height
- var/old_div = source.current_size / resize
- var/offset_lying = source.rotate_on_lying ? PIXEL_Y_OFFSET_LYING : source.get_transform_translation_size(old_div)
- switch(source.lying_prev)
- if(270)
- vis_overlay.pixel_x += -offset_lying / old_div
- if(90)
- vis_overlay.pixel_x += offset_lying / old_div
- if(0)
- vis_overlay.pixel_y += -source.get_transform_translation_size(old_div) / old_div
-
- switch(new_lying_angle)
- if(270)
- new_x += -offset_lying / source.current_size
- if(90)
- new_x += offset_lying / source.current_size
- if(0)
- new_y += -source.get_transform_translation_size(old_div) / old_div
-
- animate(vis_overlay, transform = new_transform, pixel_x = new_x, pixel_y = new_y, time = UPDATE_TRANSFORM_ANIMATION_TIME, easing = (EASE_IN|EASE_OUT))
- addtimer(CALLBACK(vis_overlay, TYPE_PROC_REF(/atom/movable/immerse_overlay, adjust_living_overlay_offset), source), UPDATE_TRANSFORM_ANIMATION_TIME)
-
-///Spin the overlay in the opposite direction so it doesn't look like it's spinning at all.
+/// Spin the overlay in the opposite direction so it doesn't look like it's spinning at all.
/datum/element/immerse/proc/on_spin_animation(atom/source, speed, loops, segments, segment)
SIGNAL_HANDLER
- var/atom/movable/immerse_overlay/vis_overlay = immersed_movables[source]
- vis_overlay.do_spin_animation(speed, loops, segments, -segment)
+ var/atom/movable/immerse_mask/immerse_mask = generated_visual_overlays[source]
+ immerse_mask.do_spin_animation(speed, loops, segments, -segment)
-///We need to make sure to remove hard refs from the element when deleted.
-/datum/element/immerse/proc/clear_overlay_refs(atom/movable/immerse_overlay/source)
- //Assume that every vis loc is also in the immersed_movables list
- for(var/atom/movable/vis_loc as anything in source.vis_locs)
- remove_from_element(vis_loc.loc, vis_loc)
- LAZYREMOVE(generated_visual_overlays, source)
- source.overlay_appearance = null
+/datum/element/immerse/proc/on_update_offsets(mob/living/source, new_x, new_y, new_w, new_z, animate)
+ SIGNAL_HANDLER
+ var/old_height = ceil(max(ICON_SIZE_Y - source.pixel_z, ICON_SIZE_Y) / ICON_SIZE_Y)
+ var/new_height = ceil(max(ICON_SIZE_Y - new_z, ICON_SIZE_Y) / ICON_SIZE_Y)
+ if (old_height != new_height)
+ remove_immerse_overlay(source, FALSE)
+ add_immerse_overlay(source)
-///The not-quite-perfect movable used by the immerse element for its nefarious deeds.
-/atom/movable/immerse_overlay
- appearance_flags = RESET_TRANSFORM|RESET_COLOR|RESET_ALPHA|KEEP_TOGETHER
- vis_flags = VIS_INHERIT_PLANE|VIS_INHERIT_ID
- mouse_opacity = MOUSE_OPACITY_TRANSPARENT
- blend_mode = BLEND_INSET_OVERLAY
- layer = WATER_VISUAL_OVERLAY_LAYER
- plane = FLOAT_PLANE
- /**
- * The actual overlay used to make the mob look like it's half-covered in water.
- *
- * For visual overlays, pixel y/x/w/z are amplified by the a, b, d, e variables
- * of the transform matrix of the movable they're attached to.
- * For example, if a mob is twice its normal size (a = 2, e = 2),
- * offsetting the movable used as visual overlay by 4 pixels to the right will result
- * in the visual overlay moving 8 pixels to the right.
- *
- * This however, doesn't extend to the overlays of our visual overlay. which is why there's
- * a mutable appearance variable that we use for those pixel offsets that really shouldn't be affected
- * by the transform of our vis loc(s) in the first place.
- */
- var/mutable_appearance/overlay_appearance
- ///The base pixel x offset of this movable
- var/extra_width = 0
- ///The base pixel y offset of this movable
- var/extra_height = 0
+ if (source.pixel_z == new_z)
+ return
-/atom/movable/immerse_overlay/Initialize(mapload, datum/element/immerse/element)
- . = ..()
- verbs.Cut() //"Cargo cultttttt" or something. Either way, they're better off without verbs.
- element?.RegisterSignal(src, COMSIG_QDELETING, TYPE_PROC_REF(/datum/element/immerse, clear_overlay_refs))
+ if (animate)
+ source.transition_filter("immerse_mask", list("y" = -floor((source.get_cached_height() - ICON_SIZE_Y) / 2) - new_z), time = UPDATE_TRANSFORM_ANIMATION_TIME)
+ else
+ source.modify_filter("immerse_mask", list("y" = -floor((source.get_cached_height() - ICON_SIZE_Y) / 2) - new_z))
-///Called by COMSIG_MOVABLE_EDIT_UNIQUE_IMMERSE_OVERLAY for living mobs and a few procs from the immerse element.
-/atom/movable/immerse_overlay/proc/adjust_living_overlay_offset(mob/living/source)
- pixel_x = extra_width
- pixel_y = extra_height
- overlays = list(overlay_appearance)
+/atom/movable/immerse_mask
+ appearance_flags = RESET_TRANSFORM|RESET_COLOR|RESET_ALPHA|KEEP_APART
+ vis_flags = VIS_HIDE
diff --git a/code/datums/mutations/_mutations.dm b/code/datums/mutations/_mutations.dm
index 1773cfd2d92..c06329fad20 100644
--- a/code/datums/mutations/_mutations.dm
+++ b/code/datums/mutations/_mutations.dm
@@ -19,10 +19,7 @@
#define POSITIVE_INSTABILITY_MAJOR 35
/datum/mutation
- var/name
-
-/datum/mutation
- name = "mutation"
+ var/name = "mutation"
/// Description of the mutation
var/desc = "A mutation."
/// Is this mutation currently locked?
diff --git a/code/datums/mutations/hulk.dm b/code/datums/mutations/hulk.dm
index 9b5c9bf50d0..6626d45dbf5 100644
--- a/code/datums/mutations/hulk.dm
+++ b/code/datums/mutations/hulk.dm
@@ -13,7 +13,8 @@
var/scream_delay = 50
var/last_scream = 0
var/bodypart_color = COLOR_DARK_LIME
- /// List of traits to add/remove when someone gets this mutation.
+ /// Determines whether or not our version of hulk breaks their arm when destroying walls.
+ var/no_recoil = TRUE
mutation_traits = list(
TRAIT_CHUNKYFINGERS,
TRAIT_HULK,
@@ -61,30 +62,6 @@
/datum/mutation/hulk/proc/scream_attack(mob/living/carbon/human/source)
source.say("WAAAAAAAAAAAAAAGH!", forced="hulk")
-/**
- *Checks damage of a hulk's arm and applies bone wounds as necessary.
- *
- *Called by specific atoms being attacked, such as walls. If an atom
- *does not call this proc, than punching that atom will not cause
- *arm breaking (even if the atom deals recoil damage to hulks).
- *Arguments:
- *arg1 is the arm to evaluate damage of and possibly break.
- */
-/datum/mutation/hulk/proc/break_an_arm(obj/item/bodypart/arm)
- var/severity
- switch(arm.brute_dam)
- if(45 to 50)
- severity = WOUND_SEVERITY_CRITICAL
- if(41 to 45)
- severity = WOUND_SEVERITY_SEVERE
- if(35 to 41)
- severity = WOUND_SEVERITY_MODERATE
-
- if (isnull(severity))
- return
-
- owner.cause_wound_of_type_and_severity(WOUND_BLUNT, arm, severity, wound_source = "hulk smashing")
-
/datum/mutation/hulk/on_life(seconds_per_tick, times_fired)
if(owner.health < owner.crit_threshold)
on_losing(owner)
@@ -264,7 +241,7 @@
health_req = 0
instability = 0
scream_delay = 2.5 SECONDS // halved to be more annoying (spell doesn't last long anyways)
- /// List of traits to add/remove when someone gets this mutation.
+ no_recoil = FALSE
mutation_traits = list(
TRAIT_HULK,
TRAIT_PUSHIMMUNE,
@@ -275,7 +252,7 @@
name = "Hulk (Super)"
health_req = 0
instability = 0
- /// List of traits to add/remove when someone gets this mutation.
+ no_recoil = FALSE
mutation_traits = list(
TRAIT_CHUNKYFINGERS,
TRAIT_HULK,
diff --git a/code/datums/records/manifest.dm b/code/datums/records/manifest.dm
index 76a05d9814a..27221f954cc 100644
--- a/code/datums/records/manifest.dm
+++ b/code/datums/records/manifest.dm
@@ -45,7 +45,7 @@ GLOBAL_DATUM_INIT(manifest, /datum/manifest, new)
"trim" = trim,
)
continue
- for(var/department_type as anything in job.departments_list)
+ for(var/department_type in job.departments_list)
//Jobs under multiple departments should only be displayed if this is their first department or the command department
if(job.departments_list[1] != department_type && !(job.departments_bitflags & DEPARTMENT_BITFLAG_COMMAND))
continue
@@ -238,4 +238,3 @@ GLOBAL_DATUM_INIT(manifest, /datum/manifest, new)
"manifest" = get_manifest(),
"positions" = positions
)
-
diff --git a/code/datums/status_effects/debuffs/speech_debuffs.dm b/code/datums/status_effects/debuffs/speech_debuffs.dm
index 1ba85ebe72f..adb82b99023 100644
--- a/code/datums/status_effects/debuffs/speech_debuffs.dm
+++ b/code/datums/status_effects/debuffs/speech_debuffs.dm
@@ -33,11 +33,11 @@
return
var/final_phrase = ""
- var/original_char = ""
-
- for(var/i = 1, i <= length(phrase), i += length(original_char))
- original_char = phrase[i]
- final_phrase += apply_speech(original_char)
+ var/list/words = splittext(phrase, " ")
+ var/list/new_words = list()
+ for(var/i in 1 to length(words))
+ new_words += apply_speech(words[i], i)
+ final_phrase = jointext(new_words, " ")
if(final_phrase == phrase)
return // No change was done, whatever
@@ -51,13 +51,13 @@
/**
* Applies the speech effects on the past character, changing
- * the original_char into the modified_char.
+ * the original_word into some modified_word
*
- * Return the modified_char to be reapplied to the message.
+ * Return the newly modified word
*/
-/datum/status_effect/speech/proc/apply_speech(original_char)
+/datum/status_effect/speech/proc/apply_speech(original_word, index)
stack_trace("[type] didn't implement apply_speech.")
- return original_char
+ return original_word
/datum/status_effect/speech/stutter
id = "stutter"
@@ -65,33 +65,41 @@
tts_filter = "tremolo=f=10:d=0.8,rubberband=tempo=0.5"
/// The probability of adding a stutter to any character
- var/stutter_prob = 80
+ var/stutter_prob = 75
/// The chance of a four character stutter
var/four_char_chance = 10
/// The chance of a three character stutter
var/three_char_chance = 20
/// The chance of a two character stutter
- var/two_char_chance = 95
- /// Regex of characters we won't apply a stutter to
- var/static/regex/no_stutter
+ var/two_char_chance = 90
+ /// Regex to apply generically to stuttered words
+ /// * 1st capture group is any leading invalid characters (can be empty)
+ /// * 2nd capture group is either a digraph (th, qu, ch) or a consonant
+ /// * 3rd capture group is the rest of the word (can be empty)
+ VAR_FINAL/static/regex/stutter_regex
/datum/status_effect/speech/stutter/on_creation(mob/living/new_owner, ...)
- . = ..()
- if(!.)
- return
- if(!no_stutter)
- no_stutter = regex(@@[aeiouAEIOU ""''()[\]{}.!?,:;_`~-]@)
+ stutter_regex ||= regex(@@^([\s"'()[\]{}.!?,:;_`~-]*\b)([^aeoiuh\d]h|qu|[^\d])(.*)@, "i")
+ return ..()
-/datum/status_effect/speech/stutter/apply_speech(original_char)
- if(prob(stutter_prob) && !no_stutter.Find(original_char))
- if(prob(four_char_chance))
- return "[original_char]-[original_char]-[original_char]-[original_char]"
- if(prob(three_char_chance))
- return "[original_char]-[original_char]-[original_char]"
- if(prob(two_char_chance))
- return "[original_char]-[original_char]"
+/datum/status_effect/speech/stutter/apply_speech(original_word, index)
+ if(!prob(stutter_prob))
+ return original_word
- return original_char
+ if(stutter_regex.Find(original_word))
+ return "[stutter_regex.group[1]][stutter_char(stutter_regex.group[2])][stutter_regex.group[3]]"
+
+ return original_word // i give up
+
+/datum/status_effect/speech/stutter/proc/stutter_char(some_char)
+ if(prob(four_char_chance))
+ return "[some_char]-[some_char]-[some_char]-[some_char]"
+ if(prob(three_char_chance))
+ return "[some_char]-[some_char]-[some_char]"
+ if(prob(two_char_chance))
+ return "[some_char]-[some_char]"
+
+ return some_char
/datum/status_effect/speech/stutter/anxiety
id = "anxiety_stutter"
@@ -133,7 +141,7 @@
if(prob(capitalize_prob))
var/exclamation = pick("!", "!!", "!!!")
message = uppertext(message)
- message += "[apply_speech(exclamation, exclamation)]"
+ message += "[stutter_char(exclamation)]"
message_args[TREAT_MESSAGE_ARG] = message
@@ -170,6 +178,12 @@
/// Strings that are appended to a character - populated in on_creation
var/list/string_additions
+ /// Regex for characters we won't apply any slurring to
+ var/static/regex/no_slur
+
+ /// If the last character we processed was a replacement, don't do another replacement right after it
+ VAR_PRIVATE/replacement_dupe_check = FALSE
+
/datum/status_effect/speech/slurring/on_creation(mob/living/new_owner, duration = 10 SECONDS)
. = ..()
if(!.)
@@ -184,46 +198,57 @@
string_replacements = speech_changes["string_replacements"]
string_additions = speech_changes["string_additions"]
-/datum/status_effect/speech/slurring/apply_speech(original_char)
+ no_slur ||= regex(@@[ "'()[\]{}.!?,:;_`~-]@)
+/datum/status_effect/speech/slurring/apply_speech(original_word, index)
+ var/original_char = ""
+ var/modified_word = ""
+ for(var/i = 1, i <= length(original_word), i += length(original_char))
+ original_char = original_word[i]
+ modified_word += slur_character(original_char, i)
+ return modified_word
+
+/datum/status_effect/speech/slurring/proc/slur_character(original_char, index)
var/modified_char = original_char
+ var/allow_slurring = index != 1 && !no_slur.Find(modified_char)
var/lower_char = LOWER_TEXT(modified_char)
if(prob(common_prob) && (lower_char in common_replacements))
var/to_replace = common_replacements[lower_char]
- if(islist(to_replace))
- modified_char = pick(to_replace)
- else
- modified_char = to_replace
+ modified_char = islist(to_replace) ? pick(to_replace) : to_replace
+ replacement_dupe_check = FALSE
- if(prob(uncommon_prob) && (modified_char in uncommon_replacements))
+ else if(prob(uncommon_prob) && (modified_char in uncommon_replacements))
var/to_replace = uncommon_replacements[modified_char]
- if(islist(to_replace))
- modified_char = pick(to_replace)
- else
- modified_char = to_replace
+ modified_char = islist(to_replace) ? pick(to_replace) : to_replace
+ replacement_dupe_check = FALSE
- if(prob(replacement_prob))
- var/replacements_len = length(string_replacements)
- var/additions_len = length(string_additions)
- if(replacements_len && additions_len)
- // Calculate the probability of grabbing a replacement vs an addition
- var/weight = (replacements_len + additions_len) / replacements_len * 100
- if(prob(weight))
+ else if(allow_slurring) // Don't do replacements on the first character, or punctuation
+ if(!replacement_dupe_check && prob(replacement_prob))
+ var/replacements_len = length(string_replacements)
+ var/additions_len = length(string_additions)
+ if(replacements_len && additions_len)
+ // Calculate the probability of grabbing a replacement vs an addition
+ var/weight = (replacements_len + additions_len) / replacements_len * 100
+ if(prob(weight))
+ modified_char = pick(string_replacements)
+ else
+ modified_char += pick(string_additions)
+
+ else if(replacements_len)
modified_char = pick(string_replacements)
- else
+
+ else if(additions_len)
modified_char += pick(string_additions)
+ replacement_dupe_check = TRUE
- else if(replacements_len)
- modified_char = pick(string_replacements)
+ else if(prob(doubletext_prob))
+ modified_char += "[modified_char][prob(50) ? "" : modified_char]"
+ replacement_dupe_check = FALSE
- else if(additions_len)
- modified_char += pick(string_additions)
-
- if(prob(doubletext_prob))
- if(prob(50))
- modified_char += "[modified_char]"
- else
- modified_char += "[modified_char][modified_char]"
+ else
+ // If we don't allow replacements we don't want the next character to be a replacement either
+ // This makes some more coherent speech by disallowing structures like "Y'''e"
+ replacement_dupe_check = TRUE
return modified_char
@@ -231,8 +256,8 @@
id = "generic_slurring"
common_prob = 33
uncommon_prob = 0
- replacement_prob = 5
- doubletext_prob = 10
+ replacement_prob = 24
+ doubletext_prob = 40
text_modification_file = "slurring_drunk_text.json"
/datum/status_effect/speech/slurring/drunk
@@ -248,13 +273,13 @@
var/current_drunkness = owner.get_drunk_amount()
// These numbers are arbitarily picked
// Common replacements start at about 20, and maxes out at about 85
- common_prob = clamp((current_drunkness * 0.8) - 16, 0, 50)
+ common_prob = clamp((current_drunkness * 0.8) - 16, 4, 50)
// Uncommon replacements (burping) start at 50 and max out at 110 (when you are dying)
- uncommon_prob = clamp((current_drunkness * 0.2) - 10, 0, 12)
+ uncommon_prob = clamp((current_drunkness * 0.3) - 10, 0, 12)
// Replacements start at 20 and max out at about 60
- replacement_prob = clamp((current_drunkness * 0.4) - 8, 0, 12)
+ replacement_prob = clamp((current_drunkness * 0.6) - 8, 0, 12)
// Double texting start out at about 25 and max out at about 60
- doubletext_prob = clamp((current_drunkness * 0.5) - 12, 0, 20)
+ doubletext_prob = clamp((current_drunkness * 0.8) - 8, 2, 50)
return ..()
/datum/status_effect/speech/slurring/cult
diff --git a/code/datums/storage/subtypes/belts.dm b/code/datums/storage/subtypes/belts.dm
index f920161d0a4..156f6adb151 100644
--- a/code/datums/storage/subtypes/belts.dm
+++ b/code/datums/storage/subtypes/belts.dm
@@ -340,7 +340,7 @@
/datum/storage/unfathomable_curio/New(atom/parent, max_slots, max_specific_storage, max_total_storage, rustle_sound, remove_rustle_sound)
. = ..()
set_holdable(list(
- /obj/item/ammo_box/strilka310/lionhunter,
+ /obj/item/ammo_box/speedloader/strilka310/lionhunter,
/obj/item/heretic_labyrinth_handbook,
/obj/item/bodypart, // Bodyparts are often used in rituals.
/obj/item/clothing/neck/eldritch_amulet,
diff --git a/code/datums/storage/subtypes/holsters.dm b/code/datums/storage/subtypes/holsters.dm
index b3a3189f9ad..e82007fea71 100644
--- a/code/datums/storage/subtypes/holsters.dm
+++ b/code/datums/storage/subtypes/holsters.dm
@@ -55,9 +55,7 @@
/obj/item/ammo_box/magazine/m45,
/obj/item/ammo_box/magazine/m50,
/obj/item/gun/ballistic/revolver,
- /obj/item/ammo_box/c38, // Revolver speedloaders.
- /obj/item/ammo_box/a357,
- /obj/item/ammo_box/strilka310,
+ /obj/item/ammo_box/speedloader, // Speedloaders, which includes stripper clips on a technicality.
/obj/item/ammo_box/magazine/toy/pistol,
/obj/item/gun/energy/e_gun/mini,
/obj/item/gun/energy/disabler,
@@ -84,9 +82,7 @@
/obj/item/ammo_box/magazine/m45,
/obj/item/ammo_box/magazine/m50,
/obj/item/gun/ballistic/revolver,
- /obj/item/ammo_box/c38,
- /obj/item/ammo_box/a357,
- /obj/item/ammo_box/strilka310,
+ /obj/item/ammo_box/speedloader,
/obj/item/ammo_box/magazine/toy/pistol,
/obj/item/gun/energy/recharge/ebow,
/obj/item/gun/energy/e_gun/mini,
@@ -107,9 +103,7 @@
holdables = list(
/obj/item/gun, // ALL guns.
/obj/item/ammo_box/magazine, // ALL magazines.
- /obj/item/ammo_box/c38, //There isn't a speedloader parent type, so I just put these three here by hand.
- /obj/item/ammo_box/a357, //I didn't want to just use /obj/item/ammo_box, because then this could hold huge boxes of ammo.
- /obj/item/ammo_box/strilka310,
+ /obj/item/ammo_box/speedloader, // ALL speedloaders (there's 3 types at time of writing so it's probably fine)
/obj/item/ammo_casing, // For shotgun shells, rockets, launcher grenades, and a few other things.
/obj/item/grenade, // All regular grenades, the big grenade launcher fires these.
)
diff --git a/code/datums/storage/subtypes/pockets.dm b/code/datums/storage/subtypes/pockets.dm
index ed8b0997a0f..69273074807 100644
--- a/code/datums/storage/subtypes/pockets.dm
+++ b/code/datums/storage/subtypes/pockets.dm
@@ -216,7 +216,7 @@
/obj/item/reagent_containers/cup/glass/bottle/vodka,
/obj/item/reagent_containers/cup/glass/bottle/molotov,
/obj/item/reagent_containers/cup/glass/drinkingglass,
- /obj/item/ammo_box/strilka310
+ /obj/item/ammo_box/speedloader/strilka310
))
///Void cloak pocket
@@ -234,7 +234,7 @@
. = ..()
set_holdable(
can_hold_list = list(
- /obj/item/ammo_box/strilka310/lionhunter,
+ /obj/item/ammo_box/speedloader/strilka310/lionhunter,
/obj/item/bodypart, // Bodyparts are often used in rituals. They're also often normal sized, so you can only fit one.
/obj/item/clothing/neck/eldritch_amulet,
/obj/item/clothing/neck/heretic_focus,
diff --git a/code/datums/wounds/_wound_static_data.dm b/code/datums/wounds/_wound_static_data.dm
index adc0923ee4f..cd8d2a78caf 100644
--- a/code/datums/wounds/_wound_static_data.dm
+++ b/code/datums/wounds/_wound_static_data.dm
@@ -158,7 +158,7 @@
if (!length(suggested_wounding_types))
return FALSE
- for (var/iter_wounding_type as anything in suggested_wounding_types)
+ for (var/iter_wounding_type in suggested_wounding_types)
if (!(iter_wounding_type in required_wounding_types))
if (match_all_wounding_types)
return FALSE
diff --git a/code/datums/wounds/_wounds.dm b/code/datums/wounds/_wounds.dm
index 2985a817184..7d95576103a 100644
--- a/code/datums/wounds/_wounds.dm
+++ b/code/datums/wounds/_wounds.dm
@@ -725,7 +725,7 @@
// fleshy burns will look for flesh then bone
// dislocations will look for flesh, then bone, then metal
var/file = default_scar_file
- for (var/biotype as anything in pregen_data.scar_priorities)
+ for (var/biotype in pregen_data.scar_priorities)
if (scarred_limb.biological_state & text2num(biotype))
file = GLOB.biotypes_to_scar_file[biotype]
break
diff --git a/code/game/atom/atom_examine.dm b/code/game/atom/atom_examine.dm
index f4bd109240a..6b1a6725667 100644
--- a/code/game/atom/atom_examine.dm
+++ b/code/game/atom/atom_examine.dm
@@ -162,7 +162,12 @@
/atom/proc/get_name_chaser(mob/user, list/name_chaser = list())
return name_chaser
-/// Used by mobs to determine the name for someone wearing a mask, or with a disfigured or missing face. By default just returns the atom's name. add_id_name will control whether or not we append "(as [id_name])".
-/// force_real_name will always return real_name and add (as face_name/id_name) if it doesn't match their appearance
-/atom/proc/get_visible_name(add_id_name, force_real_name)
+/**
+ * Used by mobs to determine the name for someone wearing a mask, or with a disfigured or missing face.
+ * By default just returns the atom's name.
+ *
+ * * add_id_name - If TRUE, ID information such as honorifics or name (if mismatched) are appended
+ * * force_real_name - If TRUE, will always return real_name and add (as face_name/id_name) if it doesn't match their appearance
+ */
+/atom/proc/get_visible_name(add_id_name = TRUE, force_real_name = FALSE)
return name
diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm
index c5f0fe8bcc0..c97d4d4fbe1 100644
--- a/code/game/machinery/_machinery.dm
+++ b/code/game/machinery/_machinery.dm
@@ -1056,7 +1056,7 @@
var/list/part_list = replacer_tool.get_sorted_parts(ignore_stacks = TRUE)
if(!part_list.len)
return FALSE
- for(var/primary_part_base as anything in component_parts)
+ for(var/primary_part_base in component_parts)
//we exchanged all we could time to bail
if(!part_list.len)
break
@@ -1156,7 +1156,7 @@
// we infer the required stack stuff inside the machine from the circuitboards requested components
if(istype(component_ref, /obj/item/circuitboard/machine))
var/obj/item/circuitboard/machine/board = component_ref
- for(var/component as anything in board.req_components)
+ for(var/component in board.req_components)
if(!ispath(component, /obj/item/stack))
continue
part_count[component] = board.req_components[component]
diff --git a/code/game/machinery/computer/arcade/battle.dm b/code/game/machinery/computer/arcade/battle.dm
index 9cbec4430fb..3c6d0242615 100644
--- a/code/game/machinery/computer/arcade/battle.dm
+++ b/code/game/machinery/computer/arcade/battle.dm
@@ -391,7 +391,7 @@
data["enemy_mp"] = enemy_mp
data["equipped_gear"] = list()
- for(var/gear_slot as anything in equipped_gear)
+ for(var/gear_slot in equipped_gear)
var/datum/battle_arcade_gear/user_gear = equipped_gear[gear_slot]
if(!istype(user_gear))
continue
diff --git a/code/game/machinery/doors/passworddoor.dm b/code/game/machinery/doors/passworddoor.dm
index cb20b6a44f0..3a7225419b5 100644
--- a/code/game/machinery/doors/passworddoor.dm
+++ b/code/game/machinery/doors/passworddoor.dm
@@ -44,7 +44,7 @@
/obj/machinery/door/password/get_save_vars()
return ..() + NAMEOF(src, password)
-/obj/machinery/door/password/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, radio_freq_name, radio_freq_color, list/spans, list/message_mods = list(), message_range)
+/obj/machinery/door/password/Hear(atom/movable/speaker, message_language, raw_message, radio_freq, radio_freq_name, radio_freq_color, list/spans, list/message_mods = list(), message_range)
. = ..()
if(!density || !voice_activated || radio_freq)
return
diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm
index 8a78d49a2cd..7b85ec650e8 100644
--- a/code/game/machinery/doors/poddoor.dm
+++ b/code/game/machinery/doors/poddoor.dm
@@ -19,16 +19,22 @@
/// The current deconstruction step
var/deconstruction = BLASTDOOR_FINISHED
/// The door's ID (used for buttons, etc to control the door)
- var/id = 1
+ var/id = null
/// The sound that plays when the door opens/closes
var/animation_sound = 'sound/machines/blastdoor.ogg'
var/show_nav_computer_icon = TRUE
+ ///The mob who crafted this blastdoor
+ var/datum/weakref/owner
/obj/machinery/door/poddoor/Initialize(mapload)
. = ..()
if(show_nav_computer_icon)
AddElement(/datum/element/nav_computer_icon, 'icons/effects/nav_computer_indicators.dmi', "airlock", TRUE)
+/obj/machinery/door/poddoor/Destroy()
+ owner = null
+ return ..()
+
/datum/armor/door_poddoor
melee = 50
bullet = 100
@@ -46,7 +52,7 @@
if(panel_open)
if(deconstruction == BLASTDOOR_FINISHED)
. += span_notice("The maintenance panel is opened and the electronics could be pried out.")
- . += span_notice("\The [src] could be calibrated to a blast door controller ID with a multitool or a blast door controller.")
+ . += span_notice("\The [src] could be calibrated to a blast door controller ID with a blast door controller.")
else if(deconstruction == BLASTDOOR_NEEDS_ELECTRONICS)
. += span_notice("The electronics are missing and there are some wires sticking out.")
else if(deconstruction == BLASTDOOR_NEEDS_WIRES)
@@ -71,9 +77,6 @@
if(TOOL_SCREWDRIVER)
context[SCREENTIP_CONTEXT_LMB] = "Open panel"
return CONTEXTUAL_SCREENTIP_SET
- if(TOOL_MULTITOOL)
- context[SCREENTIP_CONTEXT_LMB] = "Calibrate ID"
- return CONTEXTUAL_SCREENTIP_SET
if(TOOL_CROWBAR)
context[SCREENTIP_CONTEXT_LMB] = "Remove electronics"
return CONTEXTUAL_SCREENTIP_SET
@@ -84,6 +87,10 @@
context[SCREENTIP_CONTEXT_LMB] = "Disassemble"
return CONTEXTUAL_SCREENTIP_SET
+/obj/machinery/door/poddoor/on_craft_completion(list/components, datum/crafting_recipe/current_recipe, atom/crafter)
+ . = ..()
+ owner = WEAKREF(crafter)
+
/obj/machinery/door/poddoor/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
if(deconstruction == BLASTDOOR_NEEDS_WIRES && istype(tool, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/coil = tool
@@ -117,8 +124,22 @@
balloon_alert(user, "open the panel first!")
return ITEM_INTERACT_BLOCKING
var/obj/item/assembly/control/controller_item = tool
+ if(controller_item.id == -1)
+ //collect existing ids
+ var/list/door_ids = list()
+ for(var/obj/machinery/door/poddoor/M as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/door/poddoor))
+ if(!M.id || (M.id in door_ids))
+ continue
+ door_ids += "[M.id]"
+
+ //create new id
+ var/new_id = 0
+ while("[new_id]" in door_ids)
+ new_id += 1
+ controller_item.id = "[new_id]"
id = controller_item.id
- balloon_alert(user, "id changed")
+ owner = WEAKREF(user)
+ balloon_alert(user, "id changed to [id]")
return ITEM_INTERACT_SUCCESS
return NONE
@@ -131,24 +152,6 @@
else if (default_deconstruction_screwdriver(user, icon_state, icon_state, tool))
return ITEM_INTERACT_SUCCESS
-/obj/machinery/door/poddoor/multitool_act(mob/living/user, obj/item/tool)
- . = ..()
- if (density)
- balloon_alert(user, "open the door first!")
- return ITEM_INTERACT_SUCCESS
- if (!panel_open)
- balloon_alert(user, "open the panel first!")
- return ITEM_INTERACT_SUCCESS
- if (deconstruction != BLASTDOOR_FINISHED)
- return
- var/change_id = tgui_input_number(user, "Set the door controllers ID (Current: [id])", "Door Controller ID", isnum(id) ? id : null, 100)
- if(!change_id || QDELETED(usr) || QDELETED(src) || !usr.can_perform_action(src, FORBID_TELEKINESIS_REACH))
- return
- id = change_id
- to_chat(user, span_notice("You change the ID to [id]."))
- balloon_alert(user, "id changed")
- return ITEM_INTERACT_SUCCESS
-
/obj/machinery/door/poddoor/crowbar_act(mob/living/user, obj/item/tool)
. = ..()
if(machine_stat & NOPOWER)
@@ -166,6 +169,7 @@
if(tool.use_tool(src, user, 10 SECONDS, volume = 50))
new /obj/item/electronics/airlock(loc)
id = null
+ owner = null
deconstruction = BLASTDOOR_NEEDS_ELECTRONICS
balloon_alert(user, "removed airlock electronics")
return ITEM_INTERACT_SUCCESS
diff --git a/code/game/machinery/drone_dispenser.dm b/code/game/machinery/drone_dispenser.dm
index 0cee62cc1e5..f51ffc466b1 100644
--- a/code/game/machinery/drone_dispenser.dm
+++ b/code/game/machinery/drone_dispenser.dm
@@ -212,7 +212,7 @@
if(energy_used)
use_energy(energy_used)
- for(var/spawnable_item as anything in dispense_type)
+ for(var/spawnable_item in dispense_type)
var/atom/spawned_atom = new spawnable_item(loc)
spawned_atom.flags_1 |= (flags_1 & ADMIN_SPAWNED_1)
@@ -237,7 +237,7 @@
/obj/machinery/drone_dispenser/proc/count_shells()
. = 0
for(var/actual_shell in loc)
- for(var/potential_item as anything in dispense_type)
+ for(var/potential_item in dispense_type)
if(istype(actual_shell, potential_item))
.++
diff --git a/code/game/machinery/experimental_cloner/experimental_cloning_record.dm b/code/game/machinery/experimental_cloner/experimental_cloning_record.dm
index 8c1a5cb4782..96c1b9bc164 100644
--- a/code/game/machinery/experimental_cloner/experimental_cloning_record.dm
+++ b/code/game/machinery/experimental_cloner/experimental_cloning_record.dm
@@ -69,10 +69,10 @@
dna.copy_dna(subject.dna, COPY_DNA_SE|COPY_DNA_SPECIES)
- for (var/quirk_type as anything in quirks)
+ for (var/quirk_type in quirks)
subject.add_quirk(quirk_type, add_unique = FALSE, announce = FALSE)
- for (var/trauma_type as anything in brain_traumas)
+ for (var/trauma_type in brain_traumas)
subject.gain_trauma(trauma_type)
for (var/obj/item/bodypart/limb as anything in subject.bodyparts)
diff --git a/code/game/machinery/flatpacker.dm b/code/game/machinery/flatpacker.dm
index 54d66d23267..07f76e3bd07 100644
--- a/code/game/machinery/flatpacker.dm
+++ b/code/game/machinery/flatpacker.dm
@@ -235,7 +235,7 @@
inserted_board = attacking_item
//compute the needed mats from its stock parts
- for(var/type as anything in inserted_board.req_components)
+ for(var/type 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)
continue
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index b7cc52ca076..0fa5625d735 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -577,19 +577,19 @@ Possible to do for anyone motivated enough:
/*This is the proc for special two-way communication between AI and holopad/people talking near holopad.
For the other part of the code, check silicon say.dm. Particularly robot talk.*/
-/obj/machinery/holopad/Hear(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, radio_freq_name, radio_freq_color, list/spans, list/message_mods = list(), message_range)
+/obj/machinery/holopad/Hear(atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, radio_freq_name, radio_freq_color, list/spans, list/message_mods = list(), message_range)
. = ..()
if(speaker && LAZYLEN(masters) && !radio_freq)//Master is mostly a safety in case lag hits or something. Radio_freq so AIs dont hear holopad stuff through radios.
for(var/mob/living/silicon/ai/master in masters)
if(masters[master] && speaker != master)
- master.relay_speech(message, speaker, message_language, raw_message, radio_freq, spans, message_mods)
+ master.relay_speech(speaker, message_language, raw_message, radio_freq, spans, message_mods)
for(var/datum/holocall/holocall_to_update as anything in holo_calls)
if(holocall_to_update.connected_holopad == src)//if we answered this call originating from another holopad
if(speaker == holocall_to_update.hologram && holocall_to_update.user.client?.prefs.read_preference(/datum/preference/toggle/enable_runechat))
holocall_to_update.user.create_chat_message(speaker, message_language, raw_message, spans)
else
- holocall_to_update.user.Hear(message, speaker, message_language, raw_message, radio_freq, radio_freq_name, radio_freq_color, spans, message_mods, message_range = INFINITY)
+ holocall_to_update.user.Hear(speaker, message_language, raw_message, radio_freq, radio_freq_name, radio_freq_color, spans, message_mods, message_range = INFINITY)
if(outgoing_call?.hologram && speaker == outgoing_call.user)
outgoing_call.hologram.say(raw_message, spans = spans, sanitize = FALSE, language = message_language, message_mods = message_mods)
diff --git a/code/game/machinery/quantum_pad.dm b/code/game/machinery/quantum_pad.dm
index 397b62e35da..c30870c6213 100644
--- a/code/game/machinery/quantum_pad.dm
+++ b/code/game/machinery/quantum_pad.dm
@@ -92,8 +92,10 @@
return ..()
/obj/machinery/quantumpad/interact(mob/user, obj/machinery/quantumpad/target_pad = linked_pad)
- if(!target_pad || QDELETED(target_pad))
- if(!map_pad_link_id || !initMappedLink())
+ if(QDELETED(target_pad))
+ if(map_pad_link_id && initMappedLink())
+ target_pad = linked_pad
+ else
to_chat(user, span_warning("Target pad not found!"))
return
//SKYRAT EDIT ADDITION
diff --git a/code/game/machinery/telecomms/broadcasting.dm b/code/game/machinery/telecomms/broadcasting.dm
index 289ac960f8f..53d217f6cb7 100644
--- a/code/game/machinery/telecomms/broadcasting.dm
+++ b/code/game/machinery/telecomms/broadcasting.dm
@@ -174,14 +174,13 @@
// Always call this on the virtualspeaker to avoid issues.
var/spans = data["spans"]
var/list/message_mods = data["mods"]
- var/rendered = virt.compose_message(virt, language, message, frequency, data["frequency_name"], data["frequency_color"], spans)
for(var/atom/movable/hearer as anything in receive)
if(!hearer)
stack_trace("null found in the hearers list returned by the spatial grid. this is bad")
continue
spans -= blacklisted_spans
- hearer.Hear(rendered, virt, language, message, frequency, data["frequency_name"], data["frequency_color"], spans, message_mods, message_range = INFINITY)
+ hearer.Hear(virt, language, message, frequency, data["frequency_name"], data["frequency_color"], spans, message_mods, message_range = INFINITY)
// This following recording is intended for research and feedback in the use of department radio channels
if(length(receive))
diff --git a/code/game/objects/effects/anomalies/anomalies_bluespace.dm b/code/game/objects/effects/anomalies/anomalies_bluespace.dm
index c2efbfca316..d0b11b3cfe3 100644
--- a/code/game/objects/effects/anomalies/anomalies_bluespace.dm
+++ b/code/game/objects/effects/anomalies/anomalies_bluespace.dm
@@ -27,8 +27,8 @@
new /obj/effect/temp_visual/circle_wave/bluespace(get_turf(src))
playsound(src, 'sound/effects/magic/cosmic_energy.ogg', vol = 50)
- var/turf/T = pick(get_area_turfs(impact_area))
- if(!T)
+ var/turf/impact_turf = pick(get_area_turfs(impact_area))
+ if(!impact_turf)
return
// Calculate new position (searches through beacons in world)
@@ -51,39 +51,31 @@
return
// Calculate previous position for transition
- var/turf/FROM = T // the turf of origin we're travelling FROM
- var/turf/TO = get_turf(chosen) // the turf of origin we're travelling TO
+ var/turf/beacon_turf = get_turf(chosen) // the turf of origin we're travelling TO
- playsound(TO, 'sound/effects/phasein.ogg', 100, TRUE)
+ playsound(beacon_turf, 'sound/effects/phasein.ogg', 100, TRUE)
priority_announce("Massive bluespace translocation detected.", "Anomaly Alert")
var/list/flashers = list()
- for(var/mob/living/carbon/C in viewers(TO, null))
- if(C.flash_act())
- flashers += C
+ for(var/mob/living/living in viewers(beacon_turf, null))
+ if(living.flash_act(affect_silicon = TRUE, visual = TRUE, type = /atom/movable/screen/fullscreen/bluespace_sparkle, length = 2 SECONDS))
+ flashers += living
- var/y_distance = TO.y - FROM.y
- var/x_distance = TO.x - FROM.x
- for (var/atom/movable/A in urange(12, FROM )) // iterate thru list of mobs in the area
- if(istype(A, /obj/item/beacon))
- continue // don't teleport beacons because that's just insanely stupid
- if(iseyemob(A))
- continue // Don't mess with AI eye, blob eye, xenobio or advanced cameras
- if(A.anchored)
- continue
+ var/y_distance = beacon_turf.y - impact_turf.y
+ var/x_distance = beacon_turf.x - impact_turf.x
+ var/list/available_turfs = RANGE_TURFS(12, beacon_turf)
+ for (var/atom/movable/movable in urange(12, impact_turf )) // iterate thru list of mobs in the area
+ if(istype(movable, /obj/item/beacon) || iseffect(movable) || iseyemob(movable))
+ continue // Don't mess with beacons, effects or camera mobs (blob, AI eye etc...)
+ if(movable.anchored)
+ continue // do_teleport doesn't check if the item is anchored or not.
- var/turf/newloc = locate(A.x + x_distance, A.y + y_distance, TO.z) // calculate the new place
- if(!A.Move(newloc) && newloc) // if the atom, for some reason, can't move, FORCE them to move! :) We try Move() first to invoke any movement-related checks the atom needs to perform after moving
- A.forceMove(newloc)
+ var/turf/newloc = locate(movable.x + x_distance, movable.y + y_distance, beacon_turf.z) || pick(available_turfs) // calculate the new place, or pick a random one as fallback
+ do_teleport(movable, newloc, no_effects = TRUE)
- if(ismob(A) && !(A in flashers)) // don't flash if we're already doing an effect
- var/mob/give_sparkles = A
- if(give_sparkles.client)
- blue_effect(give_sparkles)
-
-/obj/effect/anomaly/bluespace/proc/blue_effect(mob/make_sparkle)
- make_sparkle.overlay_fullscreen("bluespace_flash", /atom/movable/screen/fullscreen/bluespace_sparkle, 1)
- addtimer(CALLBACK(make_sparkle, TYPE_PROC_REF(/mob/, clear_fullscreen), "bluespace_flash"), 2 SECONDS)
+ if(isliving(movable) && !(movable in flashers)) // don't flash if we're already doing an effect
+ var/mob/living/give_sparkles = movable
+ give_sparkles.flash_act(affect_silicon = TRUE, visual = TRUE, type = /atom/movable/screen/fullscreen/bluespace_sparkle, length = 2 SECONDS)
/obj/effect/anomaly/bluespace/stabilize(anchor, has_core)
. = ..()
diff --git a/code/game/objects/effects/spawners/random/russian_rifle_spawner.dm b/code/game/objects/effects/spawners/random/russian_rifle_spawner.dm
index 84b19f59ee0..bebdab726b0 100644
--- a/code/game/objects/effects/spawners/random/russian_rifle_spawner.dm
+++ b/code/game/objects/effects/spawners/random/russian_rifle_spawner.dm
@@ -10,7 +10,7 @@
/obj/effect/spawner/random/sakhno/ammo
name = ".310 Strilka stripper clip spawner"
loot = list(
- /obj/item/ammo_box/strilka310/surplus = 80,
- /obj/item/ammo_box/strilka310 = 10,
+ /obj/item/ammo_box/speedloader/strilka310/surplus = 80,
+ /obj/item/ammo_box/speedloader/strilka310 = 10,
/obj/item/food/rationpack = 1,
)
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index 746b36c07f0..64bcf8a8398 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -102,6 +102,9 @@
/obj/item/radio/intercom/attack_ai(mob/user)
interact(user)
+/obj/item/radio/intercom/attack_robot(mob/user)
+ interact(user)
+
/obj/item/radio/intercom/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
@@ -123,7 +126,7 @@
return TRUE
-/obj/item/radio/intercom/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, radio_freq_name, radio_freq_color, list/spans, list/message_mods = list(), message_range)
+/obj/item/radio/intercom/Hear(atom/movable/speaker, message_langs, raw_message, radio_freq, radio_freq_name, radio_freq_color, list/spans, list/message_mods = list(), message_range)
if(message_mods[RADIO_EXTENSION] == MODE_INTERCOM)
return // Avoid hearing the same thing twice
return ..()
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index aafeae53dbe..266f515152a 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -381,7 +381,7 @@
signal.levels = SSmapping.get_connected_levels(T)
signal.broadcast()
-/obj/item/radio/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, radio_freq_name, radio_freq_color, list/spans, list/message_mods = list(), message_range)
+/obj/item/radio/Hear(atom/movable/speaker, message_language, raw_message, radio_freq, radio_freq_name, radio_freq_color, list/spans, list/message_mods = list(), message_range)
. = ..()
if(radio_freq || !broadcasting || get_dist(src, speaker) > canhear_range || message_mods[MODE_RELAY])
return
diff --git a/code/game/objects/items/devices/scanners/health_analyzer.dm b/code/game/objects/items/devices/scanners/health_analyzer.dm
index 269563cdf4c..2be40d6e716 100644
--- a/code/game/objects/items/devices/scanners/health_analyzer.dm
+++ b/code/game/objects/items/devices/scanners/health_analyzer.dm
@@ -190,7 +190,17 @@
render_list += "Fatigue level: [target.getStaminaLoss()]%.
"
else
render_list += "Subject appears to be suffering from fatigue.
"
- if (!target.get_organ_slot(ORGAN_SLOT_BRAIN)) // kept exclusively for soul purposes
+
+ // Check for brain - both organic (carbon) and synthetic (cyborg MMI)
+ var/has_brain = FALSE
+ if(target.get_organ_slot(ORGAN_SLOT_BRAIN))
+ has_brain = TRUE
+ else if(iscyborg(target))
+ var/mob/living/silicon/robot/cyborg_target = target
+ if(cyborg_target.mmi?.brain)
+ has_brain = TRUE
+
+ if(!has_brain) // kept exclusively for soul purposes
render_list += "Subject lacks a brain.
"
if(iscarbon(target))
diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm
index c5160b0d705..149015ce292 100644
--- a/code/game/objects/items/devices/taperecorder.dm
+++ b/code/game/objects/items/devices/taperecorder.dm
@@ -153,7 +153,7 @@
return ..()
-/obj/item/taperecorder/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, radio_freq_name, radio_freq_color, spans, list/message_mods = list(), message_range)
+/obj/item/taperecorder/Hear(atom/movable/speaker, message_langs, raw_message, radio_freq, radio_freq_name, radio_freq_color, spans, list/message_mods = list(), message_range)
. = ..()
if(message_mods[MODE_RELAY] || !mytape || istype(speaker, /obj/item/taperecorder))
return
diff --git a/code/game/objects/items/rcd/RCD.dm b/code/game/objects/items/rcd/RCD.dm
index 9098908ef23..892cbe70489 100644
--- a/code/game/objects/items/rcd/RCD.dm
+++ b/code/game/objects/items/rcd/RCD.dm
@@ -165,8 +165,8 @@
//check if we can build our window on the grill
if(target_turf.is_blocked_turf(exclude_mobs = !is_full_tile, source_atom = null, ignore_atoms = structures_to_ignore, type_list = TRUE))
- playsound(get_turf(user), SFX_TOOL_SWITCH, 20, TRUE)
- balloon_alert(user, "something is blocking the turf")
+ playsound(user, SFX_TOOL_SWITCH, 20, TRUE)
+ balloon_alert(user, "tile is blocked!")
return FALSE
/**
@@ -344,7 +344,7 @@
data["selected_root"] = root_category
data["categories"] = list()
- for(var/sub_category as anything in GLOB.rcd_designs[root_category])
+ for(var/sub_category in GLOB.rcd_designs[root_category])
var/list/target_category = GLOB.rcd_designs[root_category][sub_category]
if(!length(target_category))
continue
@@ -529,15 +529,10 @@
/obj/item/construction/rcd/ce
name = "professional RCD"
desc = "A higher-end model of the rapid construction device, prefitted with improved cooling and disruption prevention. Provided to the chief engineer."
+ icon_state = "cercd"
+ inhand_icon_state = "cercd"
construction_upgrades = RCD_UPGRADE_ANTI_INTERRUPT | RCD_UPGRADE_NO_FREQUENT_USE_COOLDOWN
matter = 160
- color = list(
- 0.3, 0.3, 0.7, 0.0,
- 1.0, 1.0, 0.2, 0.0,
- -0.2, 0.0, 1.0, 0.0,
- 0.0, 0.0, 0.0, 1.0,
- 0.0, 0.0, 0.0, 0.0,
- )
/obj/item/construction/rcd/combat
name = "industrial RCD"
diff --git a/code/game/objects/items/rcd/RPLD.dm b/code/game/objects/items/rcd/RPLD.dm
index 6522e13e358..6721b4d165a 100644
--- a/code/game/objects/items/rcd/RPLD.dm
+++ b/code/game/objects/items/rcd/RPLD.dm
@@ -206,13 +206,13 @@
var/is_allowed = TRUE
if(!checkResource(cost, user) || !(is_allowed = canPlace(destination)))
if(!is_allowed)
- balloon_alert(user, "turf is blocked!")
+ balloon_alert(user, "tile is blocked!")
return FALSE
if(!build_delay(user, cost, target = destination))
return FALSE
if(!checkResource(cost, user) || !(is_allowed = canPlace(destination)))
if(!is_allowed)
- balloon_alert(user, "turf is blocked!")
+ balloon_alert(user, "tile is blocked!")
return FALSE
if(!useResource(cost, user))
diff --git a/code/game/objects/items/rcd/RTD.dm b/code/game/objects/items/rcd/RTD.dm
index b3c5f359cb9..50f973246c8 100644
--- a/code/game/objects/items/rcd/RTD.dm
+++ b/code/game/objects/items/rcd/RTD.dm
@@ -160,7 +160,7 @@
data["selected_root"] = root_category
data["categories"] = list()
- for(var/sub_category as anything in GLOB.floor_designs[root_category])
+ for(var/sub_category in GLOB.floor_designs[root_category])
var/list/target_category = GLOB.floor_designs[root_category][sub_category]
var/list/designs = list() //initialize all designs under this category
diff --git a/code/game/objects/items/robot/items/hud.dm b/code/game/objects/items/robot/items/hud.dm
index f2d46d29585..19bb6bdc1c5 100644
--- a/code/game/objects/items/robot/items/hud.dm
+++ b/code/game/objects/items/robot/items/hud.dm
@@ -22,16 +22,6 @@
icon_state = "securityhudnight"
sight_mode = BORGXRAY
-/obj/item/borg/sight/thermal
- name = "\proper thermal vision"
- sight_mode = BORGTHERM
- icon_state = "thermal"
-
-/obj/item/borg/sight/meson
- name = "\proper meson vision"
- sight_mode = BORGMESON
- icon_state = "meson"
-
/obj/item/borg/sight/material
name = "\proper material vision"
sight_mode = BORGMATERIAL
diff --git a/code/game/objects/items/robot/items/tools.dm b/code/game/objects/items/robot/items/tools.dm
index b25253dba23..a04d8ff64c7 100644
--- a/code/game/objects/items/robot/items/tools.dm
+++ b/code/game/objects/items/robot/items/tools.dm
@@ -132,7 +132,7 @@
/obj/item/borg/projectile_dampen/proc/process_usage(seconds_per_tick)
var/usage = 0
- for(var/projectile as anything in tracked_bullet_cost)
+ for(var/projectile in tracked_bullet_cost)
usage += projectile_tick_speed_ecost * seconds_per_tick
usage += tracked_bullet_cost[projectile] * projectile_damage_tick_ecost_coefficient * seconds_per_tick
energy = clamp(energy - usage, 0, maxenergy)
diff --git a/code/game/objects/items/storage/holsters.dm b/code/game/objects/items/storage/holsters.dm
index 6461a76d040..379d8b1c3bf 100644
--- a/code/game/objects/items/storage/holsters.dm
+++ b/code/game/objects/items/storage/holsters.dm
@@ -57,7 +57,7 @@
/obj/item/storage/belt/holster/detective/full/PopulateContents()
generate_items_inside(list(
- /obj/item/ammo_box/c38 = 2,
+ /obj/item/ammo_box/speedloader/c38 = 2,
/obj/item/gun/ballistic/revolver/c38/detective = 1,
), src)
@@ -99,7 +99,7 @@
/obj/item/storage/belt/holster/nukie/cowboy/full/PopulateContents()
generate_items_inside(list(
- /obj/item/ammo_box/a357 = 2,
+ /obj/item/ammo_box/speedloader/c357 = 2,
/obj/item/gun/ballistic/revolver/cowboy/nuclear = 1,
), src)
diff --git a/code/game/objects/items/storage/toolboxes/weapons.dm b/code/game/objects/items/storage/toolboxes/weapons.dm
index 610607590e7..9b723c802c8 100644
--- a/code/game/objects/items/storage/toolboxes/weapons.dm
+++ b/code/game/objects/items/storage/toolboxes/weapons.dm
@@ -44,10 +44,10 @@
name = ".310 Strilka ammo box (Surplus?)"
desc = "It contains a few clips. Goddamn, this thing smells awful. \
Has this been sitting in a warehouse for the last several centuries?"
- ammo_to_spawn = /obj/item/ammo_box/strilka310
+ ammo_to_spawn = /obj/item/ammo_box/speedloader/strilka310
/obj/item/storage/toolbox/ammobox/strilka310/surplus
- ammo_to_spawn = /obj/item/ammo_box/strilka310/surplus
+ ammo_to_spawn = /obj/item/ammo_box/speedloader/strilka310/surplus
/obj/item/storage/toolbox/ammobox/wt550m9
name = "4.6x30mm ammo box"
@@ -201,7 +201,7 @@
/obj/item/storage/toolbox/guncase/revolver
name = "revolver gun case"
weapon_to_spawn = /obj/item/gun/ballistic/revolver/badass/nuclear
- extra_to_spawn = /obj/item/ammo_box/a357
+ extra_to_spawn = /obj/item/ammo_box/speedloader/c357
/obj/item/storage/toolbox/guncase/sword_and_board
name = "energy sword and shield weapon case"
diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm
index 38292016ff0..f529185b776 100644
--- a/code/game/objects/items/storage/uplink_kits.dm
+++ b/code/game/objects/items/storage/uplink_kits.dm
@@ -79,8 +79,8 @@
if(KIT_GUN)
new /obj/item/gun/ballistic/revolver(src) // 13 tc
- new /obj/item/ammo_box/a357(src) // 4tc
- new /obj/item/ammo_box/a357(src)
+ new /obj/item/ammo_box/speedloader/c357(src) // 4tc
+ new /obj/item/ammo_box/speedloader/c357(src)
new /obj/item/storage/belt/holster/chameleon(src) // 1 tc
new /obj/item/card/emag/doorjack(src) // 3 tc replaced the emag with the doorjack
new /obj/item/grenade/c4(src) // 1 tc
diff --git a/code/game/objects/items/tools/painter/decal_painter.dm b/code/game/objects/items/tools/painter/decal_painter.dm
index f1c934d028d..35abfb90b94 100644
--- a/code/game/objects/items/tools/painter/decal_painter.dm
+++ b/code/game/objects/items/tools/painter/decal_painter.dm
@@ -156,3 +156,6 @@
else if(cyborg.cell.charge <= 0)
balloon_alert(user, "not enough energy!")
return
+
+/obj/item/airlock_painter/decal/cyborg/click_alt(mob/user)
+ return CLICK_ACTION_BLOCKING
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 4a39fb5f5d2..55a6ba57957 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -1453,7 +1453,7 @@
. = ..()
AddElement(/datum/element/toy_talk)
-/obj/item/toy/dummy/get_voice()
+/obj/item/toy/dummy/get_voice(add_id_name)
return doll_name
/obj/item/toy/seashell
diff --git a/code/game/objects/structures/cannons/cannon.dm b/code/game/objects/structures/cannons/cannon.dm
index 4e7730cc6da..1261ae6e8a3 100644
--- a/code/game/objects/structures/cannons/cannon.dm
+++ b/code/game/objects/structures/cannons/cannon.dm
@@ -22,6 +22,7 @@
/obj/structure/cannon/Initialize(mapload)
. = ..()
create_reagents(charge_size)
+ AddComponent(/datum/component/simple_rotation)
/obj/structure/cannon/examine(mob/user)
. = ..()
diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm
index 9b07366e546..7773d54e3e4 100644
--- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm
+++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm
@@ -44,7 +44,8 @@
return
move_delay = TRUE
var/oldloc = loc
- try_step_multiz(direction);
+ try_step_multiz(direction)
+ user.setDir(dir)
if(oldloc != loc)
addtimer(CALLBACK(src, PROC_REF(ResetMoveDelay)), CONFIG_GET(number/movedelay/walk_delay) * move_speed_multiplier)
else
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/misc.dm b/code/game/objects/structures/crates_lockers/closets/secure/misc.dm
index a0a811fc6c8..c82d4230b0a 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/misc.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/misc.dm
@@ -14,8 +14,8 @@
new /obj/item/ammo_box/magazine/m50(src)
new /obj/item/gun/ballistic/automatic/pistol/deagle(src)
else
- new /obj/item/ammo_box/a357(src)
- new /obj/item/ammo_box/a357(src)
+ new /obj/item/ammo_box/speedloader/c357(src)
+ new /obj/item/ammo_box/speedloader/c357(src)
new /obj/item/gun/ballistic/revolver/mateba(src)
/obj/structure/closet/secure_closet/ert_com/populate_contents_immediate()
diff --git a/code/game/objects/structures/crates_lockers/crates/syndicrate.dm b/code/game/objects/structures/crates_lockers/crates/syndicrate.dm
index 1abbecdd2ad..45ffc987a0e 100644
--- a/code/game/objects/structures/crates_lockers/crates/syndicrate.dm
+++ b/code/game/objects/structures/crates_lockers/crates/syndicrate.dm
@@ -47,7 +47,7 @@
if(!istype(item, /obj/item/syndicrate_key) || created_items)
return ..()
created_items = TRUE
- for(var/item_path as anything in unlock_contents)
+ for(var/item_path in unlock_contents)
new item_path(src)
unlock_contents = list()
qdel(item)
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index 6b84fd10826..34279684ce1 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -45,8 +45,8 @@
var/turf/turfloc = loc
. = ..()
if(isturf(turfloc))
- for(var/thing_that_falls as anything in turfloc) // as anything because turfloc can only contain movables
- turfloc.zFall((thing_that_falls))
+ for(var/thing_that_falls in turfloc)
+ turfloc.zFall(thing_that_falls)
/obj/structure/lattice/proc/deconstruction_hints(mob/user)
return span_notice("The rods look like they could be cut. There's space for more rods or a tile.")
@@ -154,28 +154,30 @@
desc = "A heavily reinforced catwalk used to build bridges in hostile environments. It doesn't look like anything could make this budge."
resistance_flags = INDESTRUCTIBLE
+/obj/structure/lattice/catwalk/mining/attackby(obj/item/C, mob/user, list/modifiers, list/attack_modifiers)
+ // Allow cable placement even though we're indestructible
+ if(istype(C, /obj/item/stack/cable_coil))
+ var/turf/T = get_turf(src)
+ return T.attackby(C, user)
+ return ..()
+
/obj/structure/lattice/catwalk/mining/deconstruction_hints(mob/user)
return
-/obj/structure/lattice/lava
- name = "heatproof support lattice"
- desc = "A specialized support beam for building across lava. Watch your step."
+/obj/structure/lattice/catwalk/lava
+ name = "heatproof catwalk"
+ desc = "A specialized catwalk for building across lava. Watch your step."
icon = 'icons/obj/smooth_structures/catwalk.dmi'
icon_state = "catwalk-0"
base_icon_state = "catwalk"
number_of_mats = 1
color = "#5286b9ff"
- smoothing_flags = SMOOTH_BITMASK
- smoothing_groups = SMOOTH_GROUP_LATTICE + SMOOTH_GROUP_OPEN_FLOOR
- canSmoothWith = SMOOTH_GROUP_LATTICE
- obj_flags = CAN_BE_HIT | BLOCK_Z_OUT_DOWN | BLOCK_Z_IN_UP
resistance_flags = FIRE_PROOF | LAVA_PROOF
- give_turf_traits = list(TRAIT_LAVA_STOPPED, TRAIT_CHASM_STOPPED, TRAIT_IMMERSE_STOPPED, TRAIT_HYPERSPACE_STOPPED)
-/obj/structure/lattice/lava/deconstruction_hints(mob/user)
+/obj/structure/lattice/catwalk/lava/deconstruction_hints(mob/user)
return span_notice("The rods look like they could be cut, but the heat treatment will shatter off. There's space for a tile.")
-/obj/structure/lattice/lava/attackby(obj/item/attacking_item, mob/user, list/modifiers, list/attack_modifiers)
+/obj/structure/lattice/catwalk/lava/attackby(obj/item/attacking_item, mob/user, list/modifiers, list/attack_modifiers)
. = ..()
if(!ismetaltile(attacking_item))
return
diff --git a/code/game/objects/structures/lavaland/ore_vent.dm b/code/game/objects/structures/lavaland/ore_vent.dm
index c6afbc362a1..2e00a08a600 100644
--- a/code/game/objects/structures/lavaland/ore_vent.dm
+++ b/code/game/objects/structures/lavaland/ore_vent.dm
@@ -3,6 +3,7 @@
#define OVERLAY_OFFSET_START 0
#define OVERLAY_OFFSET_EACH 5
#define MINERALS_PER_BOULDER 3
+#define MAX_MINERAL_PICK_ATTEMPTS 10
/obj/structure/ore_vent
name = "ore vent"
@@ -171,26 +172,37 @@
/obj/structure/ore_vent/proc/generate_mineral_breakdown(new_minerals = MINERAL_TYPE_OPTIONS_RANDOM, map_loading = FALSE)
if(new_minerals < 1)
CRASH("generate_mineral_breakdown called with new_minerals < 1.")
- var/list/available_mats = difflist(first = SSore_generation.ore_vent_minerals, second = mineral_breakdown, skiprep = 1)
- for(var/i in 1 to new_minerals)
- if(!length(SSore_generation.ore_vent_minerals) && map_loading)
- // We should prevent this from happening in SSore_generation, but if not then we crash here
- CRASH("No minerals left to pick from! We may have spawned too many ore vents in init, or the map config in seedRuins may not have enough resources for the mineral budget.")
- var/datum/material/new_material
- if(map_loading)
- if(length(available_mats))
- new_material = pick(GLOB.ore_vent_minerals_lavaland)
- var/datum/material/surrogate_mat = pick(SSore_generation.ore_vent_minerals)
- available_mats -= surrogate_mat
- SSore_generation.ore_vent_minerals -= surrogate_mat
- else
- new_material = pick(available_mats)
- available_mats -= new_material
- SSore_generation.ore_vent_minerals -= new_material
- else
- new_material = pick(GLOB.ore_vent_minerals_lavaland)
- mineral_breakdown[new_material] = rand(1, 4)
+ //should have enough minerals for the vent during round start
+ var/list/available_minerals = SSore_generation.ore_vent_minerals
+ if(map_loading && available_minerals.len < new_minerals)
+ CRASH("No minerals left to pick from! We may have spawned too many ore vents in init, or the map config in seedRuins may not have enough resources for the mineral budget.")
+
+ var/list/datum/material/picked_minerals = list()
+ for(var/_ in 1 to new_minerals)
+ var/datum/material/mineral
+
+ //pick an unique mineral but try only MAX_MINERAL_PICK_ATTEMPTS times before giving up else we could be stuck here forever
+ var/attempts = 0
+ do
+ mineral = length(mineral_breakdown) ? pick_weight(mineral_breakdown) : null
+ if(map_loading)
+ if(!mineral || !available_minerals.Find(mineral))
+ mineral = pick(available_minerals)
+ else
+ mineral = mineral || pick_weight(GLOB.ore_vent_minerals_lavaland)
+ attempts += 1
+ while(attempts < MAX_MINERAL_PICK_ATTEMPTS && picked_minerals.Find(mineral))
+
+ //register the picked mineral, removing it from the round start available minerals if nessassary
+ if(map_loading)
+ available_minerals -= mineral
+ picked_minerals |= mineral
+
+ //assign random weights to picked minerals
+ mineral_breakdown.Cut()
+ for(var/datum/material/mineral as anything in picked_minerals)
+ mineral_breakdown[mineral] = rand(1, new_minerals)
/**
* Returns the quantity of mineral sheets in each ore vent's boulder contents roll.
@@ -201,7 +213,7 @@
* @params ore_floor The number of minerals already rolled. Used to scale the logarithmic function.
*/
/obj/structure/ore_vent/proc/ore_quantity_function(ore_floor)
- return SHEET_MATERIAL_AMOUNT * round(boulder_size * (log(rand(1 + ore_floor, 4 + ore_floor)) ** -1))
+ return SHEET_MATERIAL_AMOUNT * max(round(boulder_size * (log(rand(1 + ore_floor, 4 + ore_floor)) ** -1)), 1)
/**
* This confirms that the user wants to start the wave defense event, and that they can start it.
@@ -472,8 +484,8 @@
unique_vent = TRUE
boulder_size = BOULDER_SIZE_SMALL
mineral_breakdown = list(
- /datum/material/iron = 50,
- /datum/material/glass = 50,
+ /datum/material/iron = 1,
+ /datum/material/glass = 1,
)
/obj/structure/ore_vent/random
@@ -614,3 +626,4 @@
#undef OVERLAY_OFFSET_START
#undef OVERLAY_OFFSET_EACH
#undef MINERALS_PER_BOULDER
+#undef MAX_MINERAL_PICK_ATTEMPTS
diff --git a/code/game/objects/structures/reflector.dm b/code/game/objects/structures/reflector.dm
index 899d3390ddb..ada47e65bc0 100644
--- a/code/game/objects/structures/reflector.dm
+++ b/code/game/objects/structures/reflector.dm
@@ -292,6 +292,7 @@
return
if(!can_rotate)
user.balloon_alert(user, "can't rotate!")
+ ui?.close()
return
ui = SStgui.try_update_ui(user, src, ui)
if(!ui)
diff --git a/code/game/say.dm b/code/game/say.dm
index 242efa862e4..6e32395dbad 100644
--- a/code/game/say.dm
+++ b/code/game/say.dm
@@ -74,7 +74,7 @@ GLOBAL_LIST_INIT(freqtospan, list(
/// Called when this movable hears a message from a source.
/// Returns TRUE if the message was received and understood.
-/atom/movable/proc/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, radio_freq_name, radio_freq_color, list/spans, list/message_mods = list(), message_range=0)
+/atom/movable/proc/Hear(atom/movable/speaker, message_language, raw_message, radio_freq, radio_freq_name, radio_freq_color, list/spans, list/message_mods = list(), message_range=0)
SEND_SIGNAL(src, COMSIG_MOVABLE_HEAR, args)
return TRUE
@@ -125,7 +125,7 @@ GLOBAL_LIST_INIT(freqtospan, list(
if(!hearing_movable)//theoretically this should use as anything because it shouldnt be able to get nulls but there are reports that it does.
stack_trace("somehow theres a null returned from get_hearers_in_view() in send_speech!")
continue
- if(hearing_movable.Hear(null, src, message_language, message, null, null, null, spans, message_mods, range))
+ if(hearing_movable.Hear(src, message_language, message, null, null, null, spans, message_mods, range))
listened += hearing_movable
if(!found_client && length(hearing_movable.client_mobs_in_contents))
found_client = TRUE
@@ -325,14 +325,21 @@ GLOBAL_LIST_INIT(freqtospan, list(
return "2"
return "0"
-/// Get what this atom sounds like when speaking
-/atom/proc/get_voice()
+/**
+ * Get what this atom sounds like when speaking
+ *
+ * * add_id_name - If TRUE, ID information such as honorifics are added into the voice
+ */
+/atom/proc/get_voice(add_id_name = FALSE)
return "[src]" //Returns the atom's name, prepended with 'The' if it's not a proper noun
-/// Get what this atom appears like in chat when speaking
-/// visible_name - If TRUE, returns the visible name rather than the voice
+/**
+ * Get what this atom appears like in chat when speaking
+ *
+ * * visible_name - If TRUE, returns the visible name rather than the voice
+ */
/atom/proc/get_message_voice(visible_name)
- return visible_name ? get_visible_name() : get_voice()
+ return visible_name ? get_visible_name(add_id_name = TRUE) : get_voice(add_id_name = TRUE)
//HACKY VIRTUALSPEAKER STUFF BEYOND THIS POINT
//these exist mostly to deal with the AIs hrefs and job stuff.
@@ -355,7 +362,7 @@ INITIALIZE_IMMEDIATE(/atom/movable/virtualspeaker)
radio = _radio
source = M
if(istype(M))
- name = radio.anonymize ? "Unknown" : M.get_voice()
+ name = radio.anonymize ? "Unknown" : M.get_voice(add_id_name = TRUE)
verb_say = M.get_default_say_verb()
verb_ask = M.verb_ask
verb_exclaim = M.verb_exclaim
diff --git a/code/game/shuttle_engines.dm b/code/game/shuttle_engines.dm
index 35bd07a7f07..7d0a403d3f5 100644
--- a/code/game/shuttle_engines.dm
+++ b/code/game/shuttle_engines.dm
@@ -46,6 +46,7 @@
/obj/machinery/power/shuttle_engine/on_construction(mob/user)
. = ..()
if(anchored)
+ engine_state = ENGINE_WRENCHED
connect_to_shuttle(port = SSshuttle.get_containing_shuttle(src)) //connect to a new ship, if needed
if(!connected_ship_ref?.resolve())
AddElement(/datum/element/connect_loc, connections)
@@ -134,7 +135,7 @@
if(ENGINE_UNWRENCHED)
to_chat(user, span_warning("\The [src] needs to be wrenched to the floor!"))
if(ENGINE_WRENCHED)
- if(!tool.tool_start_check(user, amount=round(ENGINE_WELDTIME / 5), heat_required = HIGH_TEMPERATURE_REQUIRED))
+ if(!tool.tool_start_check(user, heat_required = HIGH_TEMPERATURE_REQUIRED))
return TRUE
user.visible_message(span_notice("[user.name] starts to weld \the [src] to the floor."), \
@@ -147,7 +148,7 @@
alter_engine_power(engine_power)
if(ENGINE_WELDED)
- if(!tool.tool_start_check(user, amount=round(ENGINE_WELDTIME / 5), heat_required = HIGH_TEMPERATURE_REQUIRED))
+ if(!tool.tool_start_check(user, heat_required = HIGH_TEMPERATURE_REQUIRED))
return TRUE
user.visible_message(span_notice("[user.name] starts to cut \the [src] free from the floor."), \
diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm
index 662b9fb5f2a..b7eb985bee5 100644
--- a/code/game/turfs/closed/walls.dm
+++ b/code/game/turfs/closed/walls.dm
@@ -170,19 +170,17 @@
*Deals damage back to the hulk's arm.
*
*When a hulk manages to break a wall using their hulk smash, this deals back damage to the arm used.
- *This is in its own proc just to be easily overridden by other wall types. Default allows for three
- *smashed walls per arm. Also, we use CANT_WOUND here because wounds are random. Wounds are applied
- *by hulk code based on arm damage and checked when we call break_an_arm().
+ *This is in its own proc just to be easily overridden by other wall types. Default will likely cause a
+ *critical bone wound in at least three punches.
*Arguments:
**arg1 is the arm to deal damage to.
**arg2 is the hulk
*/
/turf/closed/wall/proc/hulk_recoil(obj/item/bodypart/arm, mob/living/carbon/human/hulkman, damage = 20)
- hulkman.apply_damage(damage, BRUTE, arm, wound_bonus = CANT_WOUND)
var/datum/mutation/hulk/smasher = locate(/datum/mutation/hulk) in hulkman.dna.mutations
- if(!smasher || !damage) //sanity check but also snow and wood walls deal no recoil damage, so no arm breaky
+ if(!smasher || !damage || smasher.no_recoil) //sanity check but also snow and wood walls deal no recoil damage, so no arm breaky. Also, if our type of hulk doesn't cause recoil damage, return.
return
- smasher.break_an_arm(arm)
+ hulkman.apply_damage(damage, BRUTE, arm, wound_bonus = 0) //enough damage to regularly result in at least a breakage.
/turf/closed/wall/attack_hand(mob/user, list/modifiers)
. = ..()
diff --git a/code/game/turfs/open/lava.dm b/code/game/turfs/open/lava.dm
index 8de10a7ea06..d814fd7d632 100644
--- a/code/game/turfs/open/lava.dm
+++ b/code/game/turfs/open/lava.dm
@@ -41,8 +41,6 @@
var/mask_state = "lava-lightmask"
/// The type for the preset fishing spot of this type of turf.
var/fish_source_type = /datum/fish_source/lavaland
- /// The color we use for our immersion overlay
- var/immerse_overlay_color = "#a15e1b"
/// Whether the immerse element has been added yet or not
var/immerse_added = FALSE
/// Lazy list of atoms that we've checked that can/cannot burn
@@ -75,7 +73,7 @@
START_PROCESSING(SSobj, src)
if(immerse_added || is_type_in_typecache(movable, GLOB.immerse_ignored_movable))
return
- AddElement(/datum/element/immerse, icon, icon_state, "immerse", immerse_overlay_color)
+ AddElement(/datum/element/immerse, "immerse", 215)
immerse_added = TRUE
/**
@@ -86,7 +84,7 @@
/turf/open/lava/Entered(atom/movable/arrived)
. = ..()
if(!immerse_added && !is_type_in_typecache(arrived, GLOB.immerse_ignored_movable))
- AddElement(/datum/element/immerse, icon, icon_state, "immerse", immerse_overlay_color)
+ AddElement(/datum/element/immerse, "immerse", 215)
immerse_added = TRUE
if(burn_stuff(arrived))
START_PROCESSING(SSobj, src)
@@ -215,14 +213,14 @@
..()
if(istype(C, /obj/item/stack/rods/lava))
var/obj/item/stack/rods/lava/R = C
- var/obj/structure/lattice/lava/H = locate(/obj/structure/lattice/lava, src)
+ var/obj/structure/lattice/catwalk/lava/H = locate(/obj/structure/lattice/catwalk/lava, src)
if(H)
to_chat(user, span_warning("There is already a lattice here!"))
return
if(R.use(1))
to_chat(user, span_notice("You construct a lattice."))
playsound(src, 'sound/items/weapons/genhit.ogg', 50, TRUE)
- new /obj/structure/lattice/lava(locate(x, y, z))
+ new /obj/structure/lattice/catwalk/lava(locate(x, y, z))
else
to_chat(user, span_warning("You need one rod to build a heatproof lattice."))
return
@@ -378,7 +376,6 @@
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_FLOOR_LAVA
canSmoothWith = SMOOTH_GROUP_FLOOR_LAVA
underfloor_accessibility = 2 //This avoids strangeness when routing pipes / wires along catwalks over lava
- immerse_overlay_color = "#F98511"
/// Smooth lava needs to take after basalt in order to blend better. If you make a /turf/open/lava/smooth subtype for an area NOT surrounded by basalt; you should override this proc.
/turf/open/lava/smooth/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
@@ -408,7 +405,6 @@
immunity_trait = TRAIT_SNOWSTORM_IMMUNE
immunity_resistance_flags = FREEZE_PROOF
lava_temperature = 100
- immerse_overlay_color = "#CD4C9F"
/turf/open/lava/plasma/examine(mob/user)
. = ..()
diff --git a/code/game/turfs/open/water.dm b/code/game/turfs/open/water.dm
index cabdd3fd434..ee63072025f 100644
--- a/code/game/turfs/open/water.dm
+++ b/code/game/turfs/open/water.dm
@@ -15,12 +15,6 @@
clawfootstep = FOOTSTEP_WATER
heavyfootstep = FOOTSTEP_WATER
underfloor_accessibility = UNDERFLOOR_INTERACTABLE
- /**
- * Used as the color arg/var for the immerse element. It should be kept more or less in line with
- * the hue of the turf, as semi-transparent vis overlays can opacify the semi-transparent bits of an icon,
- * and we're kinda trying to offset that issue.
- */
- var/immerse_overlay_color = "#5AAA88"
///The transparency of the immerse element's overlay
var/immerse_overlay_alpha = 180
///Icon state to use for the immersion mask
@@ -73,7 +67,7 @@
/turf/open/water/proc/make_immersed(atom/movable/triggering_atom)
if(immerse_added || is_type_in_typecache(triggering_atom, GLOB.immerse_ignored_movable))
return FALSE
- AddElement(/datum/element/immerse, icon, icon_state, immerse_overlay, immerse_overlay_color, alpha = immerse_overlay_alpha)
+ AddElement(/datum/element/immerse, immerse_overlay, immerse_overlay_alpha)
immerse_added = TRUE
if(is_swimming_tile)
AddElement(/datum/element/swimming_tile, stamina_entry_cost, ticking_stamina_cost, ticking_oxy_damage, exhaust_swimmer_prob)
@@ -114,7 +108,6 @@
icon_state = "water"
base_icon_state = "water"
baseturfs = /turf/open/water/beach
- immerse_overlay_color = "#7799AA"
fishing_datum = /datum/fish_source/ocean/beach
/turf/open/water/beach/Initialize(mapload)
@@ -130,7 +123,6 @@
icon_state = "deepwater"
base_icon_state = "deepwater"
baseturfs = /turf/open/water/deep_beach
- immerse_overlay_color = "#57707c"
fishing_datum = /datum/fish_source/ocean
is_swimming_tile = TRUE
@@ -160,7 +152,6 @@
the odd fish darting through the water."
baseturfs = /turf/open/water/hot_spring
planetary_atmos = FALSE
- immerse_overlay_color = "#A0E2DE"
immerse_overlay_alpha = 190
fishing_datum = /datum/fish_source/hot_spring
@@ -171,7 +162,7 @@
// the immerse trait to be repeatedly removed and readded as someone moves within the pool,
// replacing the status effect over and over, which can be seen through the status effect alert icon.
if(!immerse_added)
- AddElement(/datum/element/immerse, icon, icon_state, "immerse", immerse_overlay_color, alpha = immerse_overlay_alpha)
+ AddElement(/datum/element/immerse, immerse_overlay, immerse_overlay_alpha)
immerse_added = TRUE
icon_state = "pool_[rand(1, 4)]"
var/obj/effect/abstract/shared_particle_holder/holder = add_shared_particles(/particles/hotspring_steam, "hot_springs_[GET_TURF_PLANE_OFFSET(src)]", pool_size = 4)
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index c7a66051734..09b8f70751b 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -23,15 +23,11 @@
dat += "Storyteller Panel
" // BUBBER EDIT CHANGE - Storyteller - Dynamic Panel -> Storyteller Panel
dat += "