diff --git a/_build_dependencies.sh b/_build_dependencies.sh
index 8cef5ce91b9..3aabf9e3758 100644
--- a/_build_dependencies.sh
+++ b/_build_dependencies.sh
@@ -1,9 +1,9 @@
# This file has all the information on what versions of libraries are thrown into the code
# For dreamchecker
-export SPACEMANDMM_TAG=suite-1.6
+export SPACEMANDMM_TAG=suite-1.7
# For TGUI
export NODE_VERSION=12
# Byond Major
-export BYOND_MAJOR=513
+export BYOND_MAJOR=514
# Byond Minor
-export BYOND_MINOR=1528
+export BYOND_MINOR=1566
diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm
index e5f0121446b..52154089d66 100644
--- a/_maps/map_files/Delta/delta.dmm
+++ b/_maps/map_files/Delta/delta.dmm
@@ -5744,10 +5744,6 @@
/turf/space,
/area/maintenance/auxsolarport)
"atV" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/structure/chair/stool,
/obj/effect/decal/warning_stripes/yellow,
/obj/machinery/driver_button{
@@ -5764,21 +5760,25 @@
/obj/machinery/light/small{
dir = 8
},
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel,
/area/maintenance/disposal)
"atW" = (
+/obj/effect/decal/warning_stripes/yellow,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel,
/area/maintenance/disposal)
"atX" = (
+/obj/effect/decal/warning_stripes/yellow/hollow,
/obj/structure/disposalpipe/segment{
dir = 2;
icon_state = "pipe-c"
},
-/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
/area/maintenance/disposal)
"atY" = (
@@ -5968,14 +5968,14 @@
},
/area/maintenance/fore)
"aus" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/effect/decal/warning_stripes/yellow,
/obj/machinery/conveyor_switch/oneway{
dir = 8;
id = "garbage"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/maintenance/disposal)
"aut" = (
@@ -6052,17 +6052,17 @@
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"auB" = (
+/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced,
/obj/structure/disposalpipe/trunk{
dir = 1
},
/obj/machinery/disposal/deliveryChute{
dir = 4
},
-/obj/effect/decal/warning_stripes/yellow,
-/obj/structure/window/reinforced{
- dir = 8
- },
-/obj/structure/window/reinforced,
/turf/simulated/floor/plasteel,
/area/maintenance/disposal)
"auC" = (
@@ -6080,8 +6080,8 @@
/turf/simulated/floor/plasteel,
/area/maintenance/disposal)
"auD" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "brown"
@@ -6451,12 +6451,12 @@
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"avv" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/mineral/stacking_unit_console{
machinedir = 8;
pixel_x = 32
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "brown"
@@ -6745,22 +6745,19 @@
/turf/simulated/floor/plating,
/area/maintenance/fore)
"awb" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plating,
/area/maintenance/fore)
"awd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -6768,12 +6765,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/maintenance/fore)
"awe" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -6781,14 +6778,14 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
/area/maintenance/fore)
"awf" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 4;
@@ -6800,6 +6797,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
@@ -6813,9 +6813,6 @@
},
/area/hallway/secondary/entry)
"awi" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -6828,15 +6825,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralcorner"
},
/area/hallway/secondary/entry)
"awj" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -6845,45 +6842,45 @@
},
/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
},
/area/hallway/secondary/entry)
"awk" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
},
/area/hallway/secondary/entry)
"awl" = (
-/obj/structure/disposalpipe/junction{
- dir = 8
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/junction{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
},
/area/hallway/secondary/entry)
"awm" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/navbeacon{
codes_txt = "patrol;next_patrol=hall1";
location = "hall15"
@@ -6894,16 +6891,19 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 1
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
},
/area/hallway/secondary/entry)
"awn" = (
-/obj/structure/disposalpipe/segment{
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/simulated/floor/plasteel{
@@ -6929,20 +6929,20 @@
},
/area/hallway/secondary/entry)
"awq" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/maintenance/fore2)
"awr" = (
+/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
dir = 2;
icon_state = "pipe-c"
},
-/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/maintenance/fore2)
"aws" = (
@@ -7037,30 +7037,24 @@
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"awB" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/light/small{
dir = 1
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/maintenance/disposal)
"awC" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes/southeastcorner,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"awD" = (
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/obj/structure/disposaloutlet{
- dir = 4
- },
/obj/machinery/conveyor{
dir = 4;
id = "garbage"
@@ -7074,6 +7068,12 @@
/obj/structure/window/reinforced{
dir = 1
},
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/structure/disposaloutlet{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"awE" = (
@@ -7091,8 +7091,8 @@
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"awF" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"awG" = (
@@ -7309,8 +7309,8 @@
/turf/simulated/wall/rust,
/area/janitor)
"axd" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/fore)
"axe" = (
@@ -7388,17 +7388,14 @@
/turf/simulated/wall,
/area/maintenance/fore2)
"axn" = (
+/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
dir = 1;
icon_state = "pipe-c"
},
-/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/maintenance/fore2)
"axo" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -7406,40 +7403,40 @@
tag = ""
},
/obj/effect/decal/cleanable/dirt,
-/turf/simulated/floor/plating,
-/area/maintenance/fore2)
-"axp" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plating,
+/area/maintenance/fore2)
+"axp" = (
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
/area/maintenance/fore2)
"axq" = (
+/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/maintenance/fore2)
"axr" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 4;
icon_state = "1-4"
},
/obj/effect/decal/cleanable/dirt,
-/turf/simulated/floor/plating,
-/area/maintenance/fore2)
-"axs" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plating,
+/area/maintenance/fore2)
+"axs" = (
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -7447,14 +7444,14 @@
tag = ""
},
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
/area/maintenance/fore2)
"axt" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -7462,14 +7459,14 @@
tag = ""
},
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
/area/maintenance/fore2)
"axu" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -7477,14 +7474,12 @@
tag = ""
},
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/maintenance/fore2)
"axv" = (
-/obj/structure/disposalpipe/junction{
- dir = 8;
- icon_state = "pipe-j2";
- tag = null
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -7499,12 +7494,14 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 1
},
+/obj/structure/disposalpipe/junction{
+ dir = 8;
+ icon_state = "pipe-j2";
+ tag = null
+ },
/turf/simulated/floor/plasteel,
/area/maintenance/fore2)
"axw" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -7517,14 +7514,14 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
/area/maintenance/fore2)
"axx" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -7541,14 +7538,14 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
/area/maintenance/disposal)
"axy" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -7561,12 +7558,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/simulated/floor/plating,
-/area/maintenance/disposal)
-"axz" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plating,
+/area/maintenance/disposal)
+"axz" = (
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -7580,12 +7577,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/simulated/floor/plasteel,
-/area/maintenance/disposal)
-"axA" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plasteel,
+/area/maintenance/disposal)
+"axA" = (
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -7599,12 +7596,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/simulated/floor/plasteel,
-/area/maintenance/disposal)
-"axB" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plasteel,
+/area/maintenance/disposal)
+"axB" = (
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -7615,14 +7612,14 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "brown"
},
/area/maintenance/disposal)
"axC" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -7637,12 +7634,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/simulated/floor/plating,
-/area/maintenance/disposal)
-"axD" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plating,
+/area/maintenance/disposal)
+"axD" = (
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -7652,15 +7649,14 @@
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 8
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "brown"
},
/area/maintenance/disposal)
"axE" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d2 = 8;
icon_state = "0-8"
@@ -7673,15 +7669,19 @@
/obj/machinery/light/small{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 6;
icon_state = "brown"
},
/area/maintenance/disposal)
"axF" = (
+/obj/effect/decal/warning_stripes/yellow/hollow,
/obj/machinery/disposal,
/obj/structure/disposalpipe/trunk,
-/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "neutral"
@@ -8050,9 +8050,6 @@
/turf/simulated/wall,
/area/crew_quarters/toilet)
"ayw" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -8068,6 +8065,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/maintenance/fore)
"ayx" = (
@@ -8115,13 +8115,13 @@
/turf/simulated/wall,
/area/quartermaster/storage)
"ayE" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/airlock/maintenance{
name = "Cargo Bay Maintenance";
req_access_txt = "31"
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/maintenance/fore2)
"ayF" = (
@@ -8286,9 +8286,6 @@
},
/area/maintenance/fore)
"azf" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/cobweb,
/obj/effect/decal/warning_stripes/northwest,
@@ -8297,6 +8294,9 @@
/obj/item/assembly/voice,
/obj/item/clothing/head/welding,
/obj/effect/spawner/lootdrop/maintenance,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/maintenance/disposal)
"azg" = (
@@ -8372,10 +8372,10 @@
/turf/simulated/floor/plasteel,
/area/janitor)
"azn" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/landmark{
name = "blobstart"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/fore)
"azo" = (
@@ -8578,14 +8578,14 @@
},
/area/quartermaster/storage)
"azK" = (
+/obj/effect/decal/warning_stripes/yellow,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/disposalpipe/sortjunction{
dir = 1;
name = "Disposals Maint";
sortType = 1
},
-/obj/effect/decal/warning_stripes/yellow,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "brown"
@@ -8926,8 +8926,8 @@
/turf/simulated/floor/plating,
/area/janitor)
"aAy" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -9002,10 +9002,6 @@
/turf/simulated/floor/plating,
/area/maintenance/fore)
"aAG" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -9014,21 +9010,25 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
},
/area/hallway/primary/fore)
"aAH" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8";
tag = ""
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -9049,10 +9049,6 @@
/turf/simulated/floor/plasteel,
/area/crew_quarters/toilet)
"aAJ" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -9060,6 +9056,10 @@
tag = ""
},
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plating,
/area/quartermaster/sorting)
"aAK" = (
@@ -9191,7 +9191,6 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aAW" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/warning_stripes/north,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9
@@ -9199,6 +9198,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aAX" = (
@@ -9312,12 +9312,12 @@
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
"aBm" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -9465,27 +9465,27 @@
},
/area/janitor)
"aBz" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/warning_stripes/yellow,
/obj/structure/disposalpipe/segment{
dir = 4;
icon_state = "pipe-c"
},
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel{
dir = 6;
icon_state = "whitegreen"
},
/area/janitor)
"aBA" = (
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/obj/machinery/disposal,
/obj/machinery/light/small,
/obj/structure/extinguisher_cabinet{
pixel_x = 25
},
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/machinery/disposal,
/turf/simulated/floor/plasteel,
/area/janitor)
"aBB" = (
@@ -9518,15 +9518,14 @@
/turf/simulated/floor/plating,
/area/maintenance/fore)
"aBE" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/table/reinforced,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "dark"
},
/area/crew_quarters/bar)
"aBF" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -9534,6 +9533,7 @@
tag = ""
},
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/quartermaster/sorting)
"aBG" = (
@@ -9571,9 +9571,6 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/sorting)
"aBN" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -9587,6 +9584,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 5
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/maintenance/fore2)
"aBO" = (
@@ -9668,9 +9668,6 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/sorting)
"aBZ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -9684,12 +9681,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/maintenance/fore2)
"aCd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -9703,6 +9700,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
@@ -9770,9 +9770,6 @@
/turf/simulated/wall,
/area/hydroponics/abandoned_garden)
"aCm" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -9782,6 +9779,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"aCn" = (
@@ -9823,7 +9823,6 @@
/turf/simulated/floor/plasteel,
/area/janitor)
"aCs" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/poddoor/shutters{
dir = 2;
id_tag = "janitorshutters";
@@ -9836,11 +9835,12 @@
req_access_txt = "26"
},
/obj/effect/decal/warning_stripes/south,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/janitor)
"aCt" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
@@ -9857,9 +9857,6 @@
/turf/simulated/floor/plating,
/area/crew_quarters/toilet)
"aCv" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -9869,6 +9866,9 @@
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/quartermaster/sorting)
"aCw" = (
@@ -9883,13 +9883,13 @@
/turf/simulated/floor/plating,
/area/crew_quarters/toilet)
"aCA" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
tag = ""
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/quartermaster/sorting)
"aCB" = (
@@ -10350,10 +10350,6 @@
/turf/space,
/area/space/nearstation)
"aDD" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -10373,34 +10369,38 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
},
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "neutral"
},
/area/maintenance/fore)
"aDE" = (
+/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/maintenance/fore)
"aDF" = (
+/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "neutral"
},
/area/maintenance/fore)
"aDG" = (
+/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
dir = 8;
icon_state = "pipe-c"
},
-/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "neutral"
@@ -10420,22 +10420,19 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aDK" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
tag = ""
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
},
/area/quartermaster/sorting)
"aDL" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -10446,12 +10443,12 @@
name = "Cargo Bay Warehouse Maintenance";
req_access_txt = "31"
},
-/turf/simulated/floor/plasteel,
-/area/quartermaster/sorting)
-"aDM" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plasteel,
+/area/quartermaster/sorting)
+"aDM" = (
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -10466,6 +10463,9 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/quartermaster/sorting)
"aDN" = (
@@ -10477,10 +10477,6 @@
/turf/simulated/floor/plating,
/area/quartermaster/sorting)
"aDO" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -10492,6 +10488,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9
},
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel,
/area/quartermaster/sorting)
"aDP" = (
@@ -10756,10 +10756,10 @@
/turf/simulated/floor/plating,
/area/maintenance/fore)
"aEw" = (
+/obj/effect/decal/warning_stripes/yellow,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "neutral"
@@ -10817,12 +10817,12 @@
/turf/simulated/floor/plasteel,
/area/crew_quarters/toilet)
"aEC" = (
+/obj/effect/decal/warning_stripes/yellow,
/obj/structure/disposalpipe/sortjunction{
dir = 8;
name = "Custodial Junction";
sortType = 22
},
-/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "neutral"
@@ -10847,16 +10847,16 @@
},
/area/hallway/primary/fore)
"aEG" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 1;
d2 = 4;
icon_state = "1-4"
},
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plating,
/area/quartermaster/sorting)
"aEH" = (
@@ -10871,10 +10871,6 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/sorting)
"aEI" = (
-/obj/structure/disposalpipe/sortjunction{
- dir = 4;
- sortType = 2
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -10882,13 +10878,16 @@
tag = ""
},
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/sortjunction{
+ dir = 4;
+ sortType = 2
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "brown"
},
/area/quartermaster/sorting)
"aEJ" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -10901,12 +10900,10 @@
icon_state = "1-4"
},
/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/maintenance/fore)
"aEK" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -10922,6 +10919,9 @@
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -10942,10 +10942,6 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/office)
"aEM" = (
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/structure/disposaloutlet,
/obj/structure/window/reinforced{
dir = 4
},
@@ -10953,6 +10949,10 @@
dir = 8
},
/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/structure/disposaloutlet,
/turf/simulated/floor/plasteel,
/area/quartermaster/office)
"aEN" = (
@@ -11019,8 +11019,8 @@
},
/area/maintenance/fore)
"aET" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -11344,8 +11344,8 @@
},
/area/quartermaster/sorting)
"aFE" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/quartermaster/sorting)
"aFF" = (
@@ -11897,11 +11897,11 @@
},
/area/crew_quarters/bar)
"aGG" = (
-/obj/structure/disposalpipe/trunk,
-/obj/machinery/disposal,
/obj/structure/sign/poster/official/high_class_martini{
pixel_y = 32
},
+/obj/structure/disposalpipe/trunk,
+/obj/machinery/disposal,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "dark"
@@ -11923,7 +11923,6 @@
},
/area/hallway/primary/fore)
"aGI" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -11937,6 +11936,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -12325,7 +12325,6 @@
/turf/simulated/floor/plasteel,
/area/hydroponics/abandoned_garden)
"aHH" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -12333,6 +12332,7 @@
tag = ""
},
/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -12429,26 +12429,16 @@
},
/area/crew_quarters/sleep)
"aHR" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/newscaster{
pixel_x = 32
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "dark"
},
/area/crew_quarters/bar)
"aHS" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
-/obj/structure/disposalpipe/sortjunction{
- dir = 2;
- icon_state = "pipe-j2s";
- name = "Bar Junction";
- sortType = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -12461,6 +12451,16 @@
icon_state = "1-4"
},
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/disposalpipe/sortjunction{
+ dir = 2;
+ icon_state = "pipe-j2s";
+ name = "Bar Junction";
+ sortType = 4
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -12506,9 +12506,6 @@
/turf/simulated/floor/plasteel,
/area/maintenance/fore)
"aHY" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -12520,6 +12517,9 @@
name = "Bar Office Maintenance";
req_access_txt = "25"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -12617,24 +12617,15 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aIg" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
- dir = 8
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
},
/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "neutralfull"
+ dir = 4;
+ icon_state = "red"
},
-/area/hallway/primary/fore)
+/area/security/brig)
"aIh" = (
/obj/machinery/conveyor/southeast{
id = "cargodelivery"
@@ -12735,25 +12726,25 @@
/turf/simulated/floor/plating,
/area/maintenance/auxsolarport)
"aIt" = (
-/obj/machinery/disposal,
-/obj/structure/disposalpipe/trunk{
- dir = 4
- },
/obj/structure/sign/deathsposal{
pixel_y = 32
},
/obj/effect/decal/cleanable/dirt,
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "dark"
},
/area/maintenance/incinerator)
"aIu" = (
+/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
dir = 2;
icon_state = "pipe-c"
},
-/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "dark"
@@ -13033,10 +13024,6 @@
},
/area/crew_quarters/sleep)
"aIS" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -13047,6 +13034,10 @@
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -13059,7 +13050,6 @@
/turf/space,
/area/space/nearstation)
"aIU" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -13071,6 +13061,7 @@
},
/obj/effect/decal/warning_stripes/arrow,
/obj/effect/decal/warning_stripes/yellow/partial,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -13128,10 +13119,10 @@
},
/area/crew_quarters/bar)
"aJb" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/extinguisher_cabinet{
pixel_x = 25
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "dark"
@@ -13242,11 +13233,11 @@
},
/area/quartermaster/storage)
"aJp" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -13461,7 +13452,6 @@
/turf/simulated/floor/plating,
/area/maintenance/auxsolarport)
"aJN" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -13470,6 +13460,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes/northwest,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/maintenance/incinerator)
"aJO" = (
@@ -13769,8 +13760,8 @@
},
/area/crew_quarters/sleep)
"aKn" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -13836,7 +13827,6 @@
},
/area/hallway/primary/fore)
"aKu" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -13848,6 +13838,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -13896,15 +13887,23 @@
/turf/simulated/floor/plating,
/area/quartermaster/office)
"aKA" = (
-/obj/item/twohanded/required/kirbyplants,
-/obj/structure/disposalpipe/segment{
- dir = 4
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
},
/turf/simulated/floor/plasteel{
dir = 8;
- icon_state = "whitepurplecorner"
+ icon_state = "neutralfull"
},
-/area/medical/research)
+/area/security/brig)
"aKB" = (
/obj/structure/chair,
/turf/simulated/floor/plasteel{
@@ -13913,9 +13912,12 @@
},
/area/quartermaster/storage)
"aKC" = (
-/obj/structure/disposalpipe/junction,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/junction{
+ dir = 2;
+ icon_state = "pipe-y"
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -13943,7 +13945,6 @@
},
/area/quartermaster/storage)
"aKG" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -13951,6 +13952,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -13969,11 +13971,11 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aKL" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/closet/crate,
/obj/effect/spawner/lootdrop/maintenance,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -14178,7 +14180,6 @@
},
/area/maintenance/incinerator)
"aLk" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -14186,6 +14187,7 @@
tag = ""
},
/obj/effect/decal/warning_stripes/west,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -14418,10 +14420,6 @@
},
/area/crew_quarters/sleep)
"aLL" = (
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/machinery/disposal,
/obj/machinery/alarm{
dir = 4;
pixel_x = -24
@@ -14430,6 +14428,10 @@
layer = 3.3;
pixel_y = -27
},
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/machinery/disposal,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "dark"
@@ -14589,7 +14591,6 @@
},
/area/quartermaster/office)
"aMb" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 8;
initialize_directions = 11
@@ -14598,6 +14599,7 @@
dir = 8;
initialize_directions = 11
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -15015,7 +15017,6 @@
},
/area/crew_quarters/sleep)
"aNg" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -15026,6 +15027,7 @@
dir = 8;
pixel_x = 24
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -15043,7 +15045,6 @@
},
/area/crew_quarters/bar)
"aNj" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/light{
dir = 4
},
@@ -15051,6 +15052,7 @@
dir = 8;
pixel_x = 24
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "redyellowfull"
},
@@ -15153,8 +15155,8 @@
},
/area/quartermaster/storage)
"aNt" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "browncorner"
@@ -15170,9 +15172,6 @@
},
/area/quartermaster/storage)
"aNv" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -15184,6 +15183,9 @@
name = "Supply Break Room";
req_access_txt = "31"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aNw" = (
@@ -15520,7 +15522,6 @@
},
/area/crew_quarters/bar)
"aOd" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -15531,6 +15532,7 @@
dir = 10
},
/obj/effect/decal/warning_stripes/west,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -16076,7 +16078,6 @@
},
/area/maintenance/incinerator)
"aPt" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -16084,6 +16085,7 @@
},
/obj/machinery/atmospherics/binary/valve,
/obj/effect/decal/warning_stripes/southwest,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -16539,9 +16541,10 @@
},
/area/quartermaster/storage)
"aQo" = (
-/obj/structure/table/wood,
-/obj/machinery/computer/med_data/laptop,
-/turf/simulated/floor/wood,
+/obj/structure/chair/comfy/lime{
+ dir = 4
+ },
+/turf/simulated/floor/carpet,
/area/medical/psych)
"aQp" = (
/obj/machinery/door/firedoor,
@@ -16595,7 +16598,6 @@
},
/area/crew_quarters/bar)
"aQu" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/light{
dir = 8
},
@@ -16604,6 +16606,7 @@
pixel_x = -28
},
/obj/effect/decal/warning_stripes/southwestcorner,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aQv" = (
@@ -16751,7 +16754,6 @@
},
/area/maintenance/incinerator)
"aQQ" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 4
},
@@ -16760,6 +16762,7 @@
/obj/item/clipboard,
/obj/item/folder/yellow,
/obj/item/reagent_containers/food/pill/patch/silver_sulf,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "caution"
},
@@ -17111,7 +17114,6 @@
/turf/simulated/floor/plasteel,
/area/maintenance/fore)
"aRv" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -17121,6 +17123,7 @@
/obj/machinery/light/small{
dir = 4
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -17135,13 +17138,13 @@
},
/area/crew_quarters/bar/atrium)
"aRx" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "redyellowfull"
},
@@ -17309,6 +17312,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "white"
@@ -17458,8 +17464,8 @@
/turf/simulated/floor/plasteel,
/area/security/permabrig)
"aSq" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/warning_stripes/southwest,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aSr" = (
@@ -17506,11 +17512,11 @@
/turf/simulated/floor/plating,
/area/quartermaster/storage)
"aSx" = (
+/obj/machinery/atmospherics/unary/outlet_injector/on,
/obj/structure/disposalpipe/segment{
dir = 2;
icon_state = "pipe-c"
},
-/obj/machinery/atmospherics/unary/outlet_injector/on,
/turf/simulated/floor/plating,
/area/maintenance/incinerator)
"aSy" = (
@@ -17521,9 +17527,9 @@
/turf/simulated/floor/engine,
/area/maintenance/incinerator)
"aSz" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/spawner/window/reinforced,
/obj/machinery/atmospherics/pipe/simple/visible,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/incinerator)
"aSA" = (
@@ -17743,10 +17749,6 @@
/turf/simulated/floor/plasteel,
/area/crew_quarters/theatre)
"aSV" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -17760,6 +17762,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel,
/area/crew_quarters/theatre)
"aSW" = (
@@ -17796,9 +17802,6 @@
/turf/simulated/floor/plasteel,
/area/crew_quarters/theatre)
"aSY" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -17815,12 +17818,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/simulated/floor/plasteel,
-/area/crew_quarters/theatre)
-"aSZ" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plasteel,
+/area/crew_quarters/theatre)
+"aSZ" = (
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -17834,13 +17837,15 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "neutralcorner"
},
/area/crew_quarters/sleep)
"aTa" = (
-/obj/structure/disposalpipe/junction,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -17864,6 +17869,7 @@
icon_state = "1-4"
},
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/structure/disposalpipe/junction,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -17962,7 +17968,6 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/office)
"aTj" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -17975,6 +17980,7 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
desc = "\"This is a plaque in honour of our comrades on the G4407 Stations. Hopefully TG4407 model can live up to your fame and fortune.\" Scratched in beneath that is a crude image of a meteor and a spaceman. The spaceman is laughing. The meteor is exploding.";
dir = 4;
@@ -18013,10 +18019,10 @@
},
/area/crew_quarters/bar)
"aTq" = (
+/obj/effect/spawner/window/reinforced,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/spawner/window/reinforced,
/turf/simulated/floor/plating,
/area/quartermaster/storage)
"aTr" = (
@@ -18343,14 +18349,14 @@
},
/area/security/execution)
"aTS" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
/obj/structure/lattice,
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 5
},
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
/turf/space,
/area/space/nearstation)
"aTT" = (
@@ -18369,13 +18375,13 @@
},
/area/atmos)
"aTU" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/lattice,
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/space,
/area/space/nearstation)
"aTV" = (
@@ -18686,15 +18692,15 @@
},
/area/crew_quarters/theatre)
"aUA" = (
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/machinery/disposal,
/obj/machinery/firealarm{
dir = 4;
pixel_x = 28
},
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/machinery/disposal,
/turf/simulated/floor/plasteel{
icon_state = "cafeteria"
},
@@ -18719,13 +18725,13 @@
},
/area/crew_quarters/sleep)
"aUD" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
tag = ""
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -19513,7 +19519,6 @@
},
/area/crew_quarters/theatre)
"aWd" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -19521,6 +19526,7 @@
tag = ""
},
/obj/item/twohanded/required/kirbyplants,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -19575,10 +19581,10 @@
},
/area/crew_quarters/bar)
"aWl" = (
-/obj/structure/disposalpipe/segment{
+/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
},
-/obj/machinery/atmospherics/unary/vent_pump/on{
+/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/simulated/floor/plasteel{
@@ -19587,10 +19593,6 @@
},
/area/hallway/primary/fore)
"aWm" = (
-/obj/structure/disposalpipe/junction{
- dir = 1;
- icon_state = "pipe-j2"
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -19603,6 +19605,10 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 8
},
+/obj/structure/disposalpipe/junction{
+ dir = 1;
+ icon_state = "pipe-j2"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -19782,10 +19788,6 @@
},
/area/quartermaster/storage)
"aWB" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -19805,6 +19807,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "brown"
@@ -19822,9 +19828,6 @@
/turf/space,
/area/space)
"aWD" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -19837,15 +19840,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "brown"
},
/area/quartermaster/qm)
"aWE" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -19858,16 +19861,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
},
/area/quartermaster/qm)
"aWF" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -19880,6 +19882,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -20004,13 +20010,13 @@
},
/area/security/permabrig)
"aWR" = (
+/obj/structure/lattice/catwalk,
/obj/structure/disposalpipe/trunk{
dir = 4
},
/obj/structure/disposaloutlet{
dir = 8
},
-/obj/structure/lattice/catwalk,
/turf/space,
/area/maintenance/incinerator)
"aWS" = (
@@ -20361,7 +20367,6 @@
},
/area/crew_quarters/sleep)
"aXA" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -20374,6 +20379,7 @@
icon_state = "2-8";
tag = ""
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -20625,7 +20631,6 @@
},
/area/hallway/primary/fore)
"aYd" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -20633,6 +20638,7 @@
tag = ""
},
/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "brown"
@@ -21009,9 +21015,6 @@
},
/area/maintenance/fore)
"aYS" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -21024,6 +21027,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/maintenance/fore)
"aYT" = (
@@ -21174,20 +21180,13 @@
},
/area/hallway/primary/fore)
"aZe" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "neutralfull"
+ icon_state = "dark"
},
-/area/hallway/primary/fore)
+/area/bridge)
"aZf" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/glass,
@@ -21322,10 +21321,6 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/office)
"aZt" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d2 = 2;
icon_state = "0-2"
@@ -21339,6 +21334,10 @@
c_tag = "Cargo Office SouthWest";
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "brown"
@@ -21738,35 +21737,35 @@
/turf/simulated/floor/plasteel,
/area/security/permabrig)
"aZY" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 4
},
/obj/structure/lattice/catwalk,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/space,
/area/space/nearstation)
"aZZ" = (
-/obj/structure/disposalpipe/segment,
/obj/item/radio/intercom{
dir = 4;
pixel_x = 28
},
/obj/structure/chair/stool/bar,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "redyellowfull"
},
/area/crew_quarters/bar)
"baa" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 9
},
/obj/structure/lattice/catwalk,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/space,
/area/space/nearstation)
"bab" = (
@@ -22327,9 +22326,6 @@
/turf/simulated/floor/plating,
/area/quartermaster/miningdock)
"bbj" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -22347,6 +22343,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/quartermaster/qm)
"bbk" = (
@@ -22987,11 +22986,11 @@
},
/area/crew_quarters/kitchen)
"bcw" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/glass,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/glass,
/turf/simulated/floor/plasteel,
/area/crew_quarters/bar)
"bcx" = (
@@ -24557,20 +24556,14 @@
/turf/simulated/floor/plasteel,
/area/engine/gravitygenerator)
"bfR" = (
-/obj/structure/cable{
- d2 = 2;
- icon_state = "0-2"
- },
-/obj/machinery/power/apc{
- dir = 1;
- name = "north bump";
- pixel_y = 24
- },
-/obj/structure/table/glass,
/obj/machinery/alarm{
dir = 4;
pixel_x = -24
},
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 9;
icon_state = "whitered"
@@ -25136,12 +25129,6 @@
/obj/item/clothing/accessory/stethoscope,
/obj/item/storage/belt/medical,
/obj/item/clothing/glasses/hud/health,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
- },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitered"
@@ -25152,25 +25139,38 @@
pixel_y = 26
},
/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitered"
},
/area/security/medbay)
"bhd" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "north bump";
+ pixel_x = 24
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whitered"
},
/area/security/medbay)
"bhf" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/photocopier/faxmachine/longrange{
department = "Magistrate's Office"
},
/obj/structure/table/wood,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "cult"
},
@@ -25840,15 +25840,9 @@
dir = 4
},
/obj/structure/cable{
- d1 = 2;
+ d1 = 4;
d2 = 8;
- icon_state = "2-8"
- },
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
+ icon_state = "4-8"
},
/turf/simulated/floor/plasteel{
dir = 8;
@@ -26706,23 +26700,12 @@
/obj/item/clothing/gloves/color/latex,
/obj/item/healthanalyzer,
/obj/item/reagent_containers/spray/cleaner,
-/obj/structure/cable{
- d1 = 1;
- d2 = 4;
- icon_state = "1-4"
- },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitered"
},
/area/security/medbay)
"bka" = (
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- tag = ""
- },
/obj/machinery/hologram/holopad,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
@@ -26730,6 +26713,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
},
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -26747,6 +26739,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -26780,6 +26775,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whitered"
@@ -26803,6 +26801,10 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "red"
@@ -26827,14 +26829,25 @@
},
/area/security/brig)
"bkf" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/command/glass{
+ name = "Bridge";
+ req_access_txt = "19"
+ },
/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/simulated/floor/plasteel{
- dir = 4;
- icon_state = "red"
+ dir = 8;
+ icon_state = "vault"
},
-/area/security/brig)
+/area/bridge)
"bkg" = (
/obj/machinery/door/firedoor,
/obj/effect/decal/warning_stripes/south,
@@ -27332,6 +27345,12 @@
/area/crew_quarters/kitchen)
"blp" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -27686,6 +27705,7 @@
pixel_x = -32
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "red"
@@ -27762,9 +27782,6 @@
},
/area/security/main)
"bmd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/table/reinforced,
/obj/item/paper_bin,
/obj/item/pen,
@@ -28135,9 +28152,9 @@
/turf/simulated/floor/plating,
/area/atmos)
"bmO" = (
+/obj/effect/decal/warning_stripes/yellow/hollow,
/obj/structure/disposalpipe/trunk,
/obj/machinery/disposal,
-/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "red"
@@ -28424,12 +28441,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "redcorner"
},
/area/security/brig)
"bnt" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d2 = 4;
icon_state = "0-4"
@@ -28439,6 +28456,7 @@
name = "west bump";
pixel_x = -24
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "red"
@@ -29091,9 +29109,7 @@
},
/area/security/prisonershuttle)
"boN" = (
-/obj/machinery/computer/security{
- network = list("SS13","Mining Outpost")
- },
+/obj/machinery/computer/security,
/obj/item/radio/intercom{
pixel_y = 28
},
@@ -29131,21 +29147,15 @@
},
/area/security/prisonershuttle)
"boR" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "red"
},
/area/security/brig)
"boS" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -29161,19 +29171,15 @@
},
/area/security/brig)
"boT" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/simulated/floor/plasteel{
dir = 8;
- icon_state = "red"
+ icon_state = "vault"
},
-/area/security/main)
+/area/bridge)
"boU" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -29193,9 +29199,6 @@
},
/area/security/main)
"boV" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/table/reinforced,
/obj/item/storage/secure/briefcase,
/turf/simulated/floor/plasteel{
@@ -29218,9 +29221,6 @@
},
/area/security/prisonershuttle)
"boX" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/table/reinforced,
/obj/item/reagent_containers/food/snacks/donut/jelly/cherryjelly,
/turf/simulated/floor/plasteel{
@@ -29229,9 +29229,6 @@
},
/area/security/main)
"boY" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/photocopier,
/turf/simulated/floor/plasteel{
dir = 8;
@@ -29239,9 +29236,6 @@
},
/area/security/main)
"boZ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -29249,29 +29243,30 @@
tag = ""
},
/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "red"
},
/area/security/main)
"bpa" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8";
tag = ""
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
/area/security/main)
"bpb" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -29294,14 +29289,14 @@
req_access_txt = "58"
},
/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
/area/security/hos)
"bpc" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -29314,14 +29309,14 @@
icon_state = "2-8";
tag = ""
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
/area/security/hos)
"bpd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -29329,14 +29324,14 @@
tag = ""
},
/obj/machinery/hologram/holopad,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
/area/security/hos)
"bpe" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -29358,14 +29353,14 @@
/obj/item/folder/red,
/obj/item/stamp/hos,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
/area/security/hos)
"bpf" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -29378,21 +29373,24 @@
/obj/effect/landmark/start{
name = "Head of Security"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
/area/security/hos)
"bpg" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8";
tag = ""
},
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -30108,7 +30106,8 @@
dir = 4
},
/turf/simulated/floor/plasteel{
- icon_state = "neutralcorner"
+ dir = 8;
+ icon_state = "bluecorner"
},
/area/hallway/primary/central)
"bqx" = (
@@ -30193,9 +30192,6 @@
/turf/simulated/wall/rust,
/area/maintenance/starboard)
"bqJ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/hologram/holopad,
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel{
@@ -30237,23 +30233,19 @@
},
/area/security/prisonershuttle)
"bqQ" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 8
},
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 8
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "red"
},
/area/security/brig)
"bqR" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -30272,15 +30264,16 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
},
/area/security/brig)
"bqS" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -30293,15 +30286,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "red"
},
/area/security/brig)
"bqT" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -30330,16 +30323,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "redfull";
tag = null
},
/area/security/main)
"bqU" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
@@ -30352,6 +30344,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 10;
icon_state = "red"
@@ -30451,6 +30447,7 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 6;
icon_state = "red"
@@ -30537,9 +30534,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/machinery/computer/security{
- network = list("SS13","Mining Outpost")
- },
+/obj/machinery/computer/security,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -30548,13 +30543,13 @@
},
/area/security/hos)
"bri" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -30964,18 +30959,21 @@
},
/area/hallway/primary/central)
"bsg" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
+ },
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/light,
/turf/simulated/floor/plasteel{
- icon_state = "neutralcorner"
+ dir = 8;
+ icon_state = "neutralfull"
},
/area/hallway/primary/central)
"bsh" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
@@ -31093,10 +31091,6 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/miningdock)
"bsD" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -31109,25 +31103,26 @@
icon_state = "1-2";
tag = ""
},
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel,
/area/security/prisonershuttle)
"bsE" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/table/reinforced,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "vault"
},
/area/security/prisonershuttle)
"bsF" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/table/reinforced,
/obj/item/phone,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -31136,15 +31131,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "vault"
},
/area/security/prisonershuttle)
"bsG" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -31157,15 +31152,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "red"
},
/area/security/prisonershuttle)
"bsH" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -31189,15 +31184,14 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "redfull"
},
/area/security/prisonershuttle)
"bsI" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -31210,6 +31204,11 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/sortjunction{
+ dir = 8;
+ name = "Brig Physisian Junction";
+ sortType = 24
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "red"
@@ -31225,6 +31224,7 @@
req_access_txt = "63";
req_one_access_txt = null
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -31756,7 +31756,6 @@
/turf/simulated/floor/plasteel,
/area/security/prisonershuttle)
"btU" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -31773,6 +31772,7 @@
dir = 1
},
/obj/effect/decal/warning_stripes/north,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/security/prisonershuttle)
"btV" = (
@@ -31856,18 +31856,19 @@
/turf/simulated/floor/plating,
/area/security/prisonershuttle)
"bub" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/sortjunction{
+ dir = 1;
+ icon_state = "pipe-j2s";
+ name = "Captain's Junction";
+ sortType = 18
},
/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "neutralfull"
+ dir = 4;
+ icon_state = "neutralcorner"
},
-/area/security/brig)
+/area/hallway/primary/central)
"buc" = (
/turf/simulated/wall,
/area/security/interrogation)
@@ -31918,6 +31919,7 @@
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -31990,15 +31992,15 @@
},
/area/security/hos)
"bun" = (
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/machinery/disposal,
/obj/machinery/light,
/obj/machinery/alarm{
dir = 1;
pixel_y = -24
},
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/machinery/disposal,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "vault"
@@ -32450,13 +32452,13 @@
/turf/simulated/floor/plasteel,
/area/security/prisonershuttle)
"bvm" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
tag = ""
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/security/prisonershuttle)
"bvn" = (
@@ -32475,6 +32477,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -32492,6 +32497,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -32506,6 +32514,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "vault"
@@ -32523,6 +32534,9 @@
dir = 1;
pixel_y = -24
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -32564,6 +32578,9 @@
dir = 8
},
/obj/effect/spawner/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/security/interrogation)
"bvx" = (
@@ -32577,6 +32594,10 @@
id = 1;
pixel_x = 25
},
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -33231,7 +33252,6 @@
},
/area/security/nuke_storage)
"bwy" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -33244,6 +33264,7 @@
icon_state = "1-2";
tag = ""
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "red"
},
@@ -33273,6 +33294,7 @@
name = "Security Blast Door";
opacity = 0
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "red"
@@ -33393,9 +33415,6 @@
},
/area/turret_protected/ai)
"bwL" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/unary/vent_scrubber/on,
/turf/simulated/floor/plasteel{
dir = 1;
@@ -33674,9 +33693,7 @@
icon_state = "1-2";
tag = ""
},
-/obj/machinery/computer/security{
- network = list("SS13","Mining Outpost")
- },
+/obj/machinery/computer/security,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "darkred"
@@ -33886,7 +33903,6 @@
},
/area/security/prisonershuttle)
"bxK" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 4;
@@ -33904,6 +33920,7 @@
opacity = 0
},
/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "redfull"
},
@@ -33953,6 +33970,9 @@
icon_state = "4-8";
tag = ""
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -34627,7 +34647,10 @@
/turf/space,
/area/space)
"bzg" = (
-/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -34678,7 +34701,6 @@
/turf/simulated/floor/plating,
/area/security/brig)
"bzm" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -34856,9 +34878,6 @@
},
/area/engine/gravitygenerator)
"bzF" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
dir = 8;
@@ -35486,6 +35505,7 @@
/obj/machinery/light/small{
dir = 4
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "red"
@@ -36673,26 +36693,31 @@
/turf/simulated/floor/plating,
/area/security/brig)
"bCL" = (
-/obj/structure/disposalpipe/sortjunction{
- dir = 8;
- name = "HoS Junction";
- sortType = 18
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
},
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "neutralfull"
+ icon_state = "darkblue"
},
-/area/hallway/primary/starboard)
+/area/bridge)
"bCM" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
+/obj/machinery/camera{
+ c_tag = "Security Hallway South";
+ dir = 8;
+ network = list("SS13","Security")
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "redcorner"
},
-/area/hallway/primary/starboard)
+/area/security/brig)
"bCN" = (
/obj/effect/spawner/window/reinforced,
/obj/structure/cable,
@@ -37201,16 +37226,15 @@
},
/area/hallway/primary/port)
"bDD" = (
-/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 3;
- name = "3maintenance loot spawner"
+/obj/structure/chair,
+/obj/machinery/camera{
+ c_tag = "Psych Foyer"
},
-/obj/machinery/light/small{
- dir = 1
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "whitebluecorner"
},
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
+/area/medical/psych)
"bDE" = (
/obj/item/twohanded/required/kirbyplants,
/obj/machinery/status_display{
@@ -37582,6 +37606,10 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -37590,6 +37618,9 @@
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -37613,6 +37644,9 @@
name = "Bridge Blast Doors";
opacity = 0
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "vault"
@@ -37644,10 +37678,10 @@
},
/area/hallway/primary/central)
"bEr" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/light{
dir = 8
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "redcorner"
@@ -37667,10 +37701,10 @@
icon_state = "pipe-c"
},
/turf/simulated/floor/plasteel{
- dir = 1;
- icon_state = "redcorner"
+ dir = 8;
+ icon_state = "red"
},
-/area/hallway/primary/starboard)
+/area/security/brig)
"bEx" = (
/turf/simulated/wall/r_wall,
/area/security/warden)
@@ -37766,13 +37800,12 @@
},
/area/engine/gravitygenerator)
"bEH" = (
-/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 3;
- name = "3maintenance loot spawner"
+/obj/item/twohanded/required/kirbyplants,
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "whitebluecorner"
},
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
+/area/medical/psych)
"bEI" = (
/turf/simulated/floor/plasteel{
dir = 8;
@@ -39110,9 +39143,6 @@
},
/area/storage/primary)
"bHf" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -39126,6 +39156,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/maintenance/starboard)
"bHg" = (
@@ -39313,6 +39346,7 @@
req_access_txt = "20"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -39479,25 +39513,34 @@
/obj/structure/table/wood,
/obj/item/taperecorder,
/obj/item/restraints/handcuffs,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
/area/security/detectives_office)
"bHN" = (
/obj/structure/filingcabinet/security,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
/area/security/detectives_office)
"bHO" = (
-/obj/structure/disposalpipe/trunk,
-/obj/machinery/disposal,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
tag = ""
},
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -39549,11 +39592,12 @@
/area/hallway/primary/starboard)
"bHU" = (
/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "redcorner"
},
-/area/hallway/primary/starboard)
+/area/security/brig)
"bHV" = (
/obj/effect/decal/warning_stripes/east,
/obj/structure/cable{
@@ -39636,7 +39680,6 @@
},
/area/security/brig)
"bHZ" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -39649,6 +39692,11 @@
icon_state = "2-8";
tag = ""
},
+/obj/structure/disposalpipe/sortjunction{
+ dir = 8;
+ name = "Security Junction";
+ sortType = 8
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -40154,8 +40202,10 @@
pixel_x = 8;
pixel_y = 26
},
-/obj/structure/disposalpipe/trunk,
/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -40169,6 +40219,10 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -40316,12 +40370,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
/area/security/detectives_office)
"bJz" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -40784,21 +40838,6 @@
icon_state = "yellow"
},
/area/engine/break_room)
-"bKt" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/junction{
- dir = 4
- },
-/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "purplecorner"
- },
-/area/hallway/primary/central)
"bKu" = (
/obj/structure/rack,
/obj/item/circuitboard/teleporter_hub{
@@ -40817,14 +40856,18 @@
},
/area/storage/tech)
"bKv" = (
-/obj/structure/disposalpipe/segment{
+/obj/machinery/light{
dir = 4
},
-/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "neutralcorner"
+/obj/machinery/status_display{
+ pixel_x = 32
},
-/area/crew_quarters/sleep)
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "redcorner"
+ },
+/area/hallway/primary/starboard)
"bKw" = (
/obj/structure/sign/electricshock,
/turf/simulated/wall,
@@ -40880,9 +40923,6 @@
/turf/simulated/floor/plasteel,
/area/engine/break_room)
"bKD" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 1
},
@@ -41064,10 +41104,6 @@
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
},
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -41085,10 +41121,6 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 8
},
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -41171,16 +41203,16 @@
},
/area/storage/tools)
"bLk" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
tag = ""
},
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel,
/area/storage/tools)
"bLl" = (
@@ -41235,7 +41267,6 @@
},
/area/security/detectives_office)
"bLt" = (
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "carpet"
},
@@ -41275,18 +41306,17 @@
},
/area/security/brig)
"bLy" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/alarm{
dir = 4;
pixel_x = -24
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "redcorner"
},
/area/hallway/primary/starboard)
"bLz" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/light{
dir = 4
},
@@ -41323,9 +41353,7 @@
},
/area/security/brig)
"bLD" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "redcorner"
@@ -41375,7 +41403,6 @@
},
/area/security/processing)
"bLK" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -41562,12 +41589,12 @@
},
/area/hallway/primary/fore)
"bMc" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/camera{
c_tag = "Primary Security Hallway North";
dir = 4;
pixel_y = -22
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "redcorner"
@@ -41810,11 +41837,15 @@
},
/area/storage/tech)
"bMD" = (
-/obj/structure/sign/poster/random{
- pixel_x = -32
+/obj/structure/table,
+/obj/item/paper_bin{
+ pixel_y = 5
},
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
+/obj/item/pen/multi,
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
+ },
+/area/medical/psych)
"bME" = (
/obj/structure/table/reinforced,
/obj/machinery/light{
@@ -42091,7 +42122,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/hologram/holopad,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -42177,7 +42207,6 @@
},
/area/storage/tools)
"bNk" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -42189,6 +42218,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -42243,6 +42273,7 @@
/obj/structure/chair/office/dark{
dir = 4
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -42256,7 +42287,6 @@
},
/area/security/detectives_office)
"bNt" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/chair/office/dark{
dir = 8
},
@@ -42323,9 +42353,6 @@
/turf/simulated/floor/plasteel,
/area/maintenance/starboard)
"bND" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/chair{
dir = 1
},
@@ -42336,15 +42363,13 @@
/area/security/processing)
"bNE" = (
/obj/structure/disposalpipe/segment{
- dir = 4
+ dir = 1;
+ icon_state = "pipe-c"
},
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
+/turf/simulated/floor/plasteel{
+ icon_state = "cult"
},
-/turf/simulated/floor/plasteel,
-/area/security/processing)
+/area/magistrateoffice)
"bNF" = (
/obj/machinery/computer/secure_data,
/turf/simulated/floor/plasteel{
@@ -42361,11 +42386,6 @@
},
/area/security/processing)
"bNH" = (
-/obj/structure/disposalpipe/sortjunction{
- dir = 1;
- name = "Brig Equipment Storage";
- sortType = 8
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -42380,9 +42400,6 @@
},
/area/security/brig)
"bNI" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/effect/spawner/window/reinforced,
/obj/structure/cable{
d2 = 2;
@@ -42994,7 +43011,6 @@
/obj/structure/chair/comfy/brown,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -43072,9 +43088,9 @@
},
/area/storage/tools)
"bPf" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/storage/tools)
"bPg" = (
@@ -43156,6 +43172,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -43169,7 +43186,6 @@
},
/area/security/detectives_office)
"bPp" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/table/wood,
/obj/machinery/computer/security/wooden_tv,
/turf/simulated/floor/plasteel{
@@ -43188,9 +43204,7 @@
},
/area/security/detectives_office)
"bPr" = (
-/obj/machinery/computer/security{
- network = list("SS13","Mining Outpost")
- },
+/obj/machinery/computer/security,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "redcorner"
@@ -43246,6 +43260,9 @@
d2 = 8;
icon_state = "4-8"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/security/processing)
"bPw" = (
@@ -43259,6 +43276,9 @@
d2 = 8;
icon_state = "2-8"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/security/processing)
"bPx" = (
@@ -43267,12 +43287,13 @@
d2 = 8;
icon_state = "4-8"
},
-/turf/simulated/floor/plasteel,
-/area/security/processing)
-"bPy" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plasteel,
+/area/security/processing)
+"bPy" = (
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "red"
@@ -43284,16 +43305,16 @@
d2 = 8;
icon_state = "4-8"
},
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "red"
},
/area/security/brig)
"bPA" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/machinery/light{
dir = 4
},
@@ -43752,6 +43773,9 @@
icon_state = "1-8"
},
/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -43844,11 +43868,11 @@
/turf/simulated/floor/plasteel,
/area/crew_quarters/kitchen)
"bQz" = (
+/obj/machinery/door/firedoor,
+/obj/effect/decal/warning_stripes/yellow,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/door/firedoor,
-/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -44035,7 +44059,6 @@
/obj/item/stamp/captain,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/carpet/black,
/area/crew_quarters/captain)
"bQR" = (
@@ -44092,13 +44115,13 @@
/turf/simulated/floor/plating,
/area/storage/tools)
"bQX" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/airlock/glass{
name = "Auxiliary Tool Storage";
req_access_txt = "12"
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/storage/tools)
"bRa" = (
@@ -44126,6 +44149,7 @@
req_access_txt = "4"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "red"
@@ -44146,29 +44170,24 @@
/turf/simulated/floor/plating,
/area/security/detectives_office)
"bRc" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/window/reinforced,
-/obj/structure/cable{
- d2 = 8;
- icon_state = "0-8"
+/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/turf/simulated/floor/plating,
-/area/security/detectives_office)
+/turf/simulated/floor/plasteel,
+/area/maintenance/starboard2)
"bRd" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
dir = 8;
pixel_x = -24
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "redcorner"
},
/area/hallway/primary/starboard)
"bRe" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/effect/decal/warning_stripes/east,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -44176,12 +44195,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/simulated/floor/plasteel,
-/area/security/brig)
-"bRf" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plasteel,
+/area/security/brig)
+"bRf" = (
/obj/effect/decal/warning_stripes/yellow,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -44190,12 +44209,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/simulated/floor/plasteel,
-/area/security/brig)
-"bRg" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plasteel,
+/area/security/brig)
+"bRg" = (
/obj/machinery/door/firedoor,
/obj/effect/decal/warning_stripes/west,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -44216,24 +44235,23 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/simulated/floor/plasteel,
-/area/security/brig)
-"bRh" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plasteel,
+/area/security/brig)
+"bRh" = (
/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "redcorner"
},
/area/security/brig)
"bRi" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -44246,6 +44264,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -44258,6 +44279,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "redcorner"
@@ -45044,7 +45069,6 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/carpet/black,
/area/crew_quarters/captain)
"bSR" = (
@@ -45109,11 +45133,11 @@
},
/area/hallway/primary/starboard)
"bSY" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/disposalpipe/junction{
dir = 8
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "cautioncorner"
@@ -45151,9 +45175,6 @@
/turf/simulated/floor/plasteel,
/area/storage/tools)
"bTf" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -45162,26 +45183,34 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/junction{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
},
/area/hallway/primary/starboard)
"bTg" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/disposalpipe/segment{
- dir = 4
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
},
-/turf/simulated/floor/plasteel{
- dir = 4;
- icon_state = "redcorner"
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/junction{
+ dir = 1;
+ icon_state = "pipe-j2"
},
-/area/hallway/primary/starboard)
+/turf/simulated/floor/plating,
+/area/maintenance/starboard2)
"bTh" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/atmospherics/unary/vent_scrubber/on,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "redcorner"
@@ -46220,7 +46249,6 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/carpet/black,
/area/crew_quarters/captain)
"bUY" = (
@@ -46428,7 +46456,6 @@
},
/area/hallway/primary/starboard)
"bVm" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -46608,11 +46635,11 @@
},
/area/hallway/primary/port)
"bVD" = (
+/obj/machinery/door/firedoor,
+/obj/effect/decal/warning_stripes/yellow,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/door/firedoor,
-/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
@@ -47237,7 +47264,6 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -47290,9 +47316,6 @@
},
/area/hallway/primary/starboard)
"bXf" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
@@ -47301,6 +47324,9 @@
pixel_y = -24
},
/obj/machinery/light,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
@@ -47325,38 +47351,37 @@
/turf/simulated/floor/plasteel,
/area/lawoffice)
"bXh" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
tag = ""
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
/area/hallway/primary/starboard)
"bXi" = (
+/obj/machinery/light,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/light,
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
/area/hallway/primary/starboard)
"bXj" = (
-/obj/structure/disposalpipe/junction{
- dir = 4;
- icon_state = "pipe-j2"
- },
/obj/machinery/power/apc{
name = "south bump";
pixel_y = -24
},
/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
@@ -47370,9 +47395,6 @@
},
/area/hallway/primary/starboard)
"bXl" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -47381,6 +47403,9 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/junction{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "redcorner"
},
@@ -47395,7 +47420,7 @@
/turf/simulated/floor/plating,
/area/turret_protected/aisat)
"bXn" = (
-/obj/structure/disposalpipe/segment{
+/obj/structure/disposalpipe/junction{
dir = 4
},
/turf/simulated/floor/plasteel{
@@ -47442,7 +47467,7 @@
},
/area/hallway/primary/port)
"bXB" = (
-/obj/structure/disposalpipe/junction{
+/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/simulated/floor/plasteel{
@@ -47463,12 +47488,12 @@
},
/area/hallway/primary/starboard)
"bXD" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/camera{
c_tag = "Primary Security Hallway"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -47848,7 +47873,6 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -47971,6 +47995,7 @@
name = "Internal Affairs Office";
req_access_txt = "38"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -47989,21 +48014,23 @@
req_access_txt = "74"
},
/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/magistrateoffice)
"bYQ" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/window/reinforced,
-/obj/machinery/door/poddoor/shutters{
- density = 0;
- dir = 2;
- icon_state = "open";
- id_tag = "magistrate";
- name = "Magistrate Privacy Shutters";
- opacity = 0
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
},
-/turf/simulated/floor/plating,
-/area/magistrateoffice)
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
+ },
+/area/medical/medbay)
"bYR" = (
/obj/effect/spawner/window/reinforced,
/obj/machinery/door/poddoor/shutters{
@@ -48688,7 +48715,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/carpet/black,
/area/crew_quarters/captain/bedroom)
"cao" = (
@@ -48783,13 +48809,13 @@
},
/area/crew_quarters/courtroom)
"caz" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/camera{
c_tag = "Primary Security Hallway East";
dir = 1
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "redcorner"
},
@@ -48869,6 +48895,10 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -48878,6 +48908,10 @@
department = "Magistrate's Office"
},
/obj/structure/table/wood,
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -48893,14 +48927,13 @@
},
/area/lawoffice)
"caM" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
/obj/machinery/computer/prisoner{
req_access = null;
req_access_txt = "2"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "cult"
},
@@ -49259,6 +49292,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whiteblue"
@@ -49672,10 +49708,6 @@
/obj/effect/landmark/start{
name = "Captain"
},
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
/turf/simulated/floor/carpet/black,
/area/crew_quarters/captain/bedroom)
"ccj" = (
@@ -49688,9 +49720,6 @@
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 1
},
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -49711,10 +49740,6 @@
/obj/machinery/hologram/holopad,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -49955,6 +49980,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -50529,7 +50555,6 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -50682,10 +50707,6 @@
},
/area/lawoffice)
"cep" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -50694,6 +50715,9 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/junction{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -50890,8 +50914,11 @@
/turf/simulated/floor/bluegrid,
/area/tcommsat/chamber)
"ceQ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+/obj/structure/disposalpipe/sortjunction{
+ dir = 8;
+ icon_state = "pipe-j2s";
+ name = "Chemistry Junction";
+ sortType = 11
},
/turf/simulated/floor/plasteel{
dir = 6;
@@ -51391,7 +51418,6 @@
req_access_txt = "20"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/crew_quarters/captain/bedroom)
"cfR" = (
@@ -51487,7 +51513,6 @@
},
/area/lawoffice)
"cgd" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -51496,6 +51521,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -51545,10 +51571,6 @@
/turf/simulated/floor/carpet,
/area/magistrateoffice)
"cgj" = (
-/obj/machinery/disposal,
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
/obj/machinery/light,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -51564,6 +51586,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "cult"
},
@@ -51855,7 +51881,10 @@
},
/area/toxins/xenobiology)
"cha" = (
-/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whiteblue"
@@ -52048,9 +52077,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plating,
/area/teleporter)
"chy" = (
@@ -52067,10 +52093,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/turf/simulated/floor/plating,
/area/teleporter)
"chz" = (
@@ -52108,7 +52130,6 @@
},
/area/crew_quarters/courtroom)
"chG" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -52189,7 +52210,6 @@
},
/area/lawoffice)
"chO" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -52198,6 +52218,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "wood"
},
@@ -52783,7 +52804,6 @@
req_access_txt = "17"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/teleporter)
"ciV" = (
@@ -52941,7 +52961,6 @@
},
/area/crew_quarters/courtroom)
"cjk" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -52954,6 +52973,7 @@
req_access_txt = "38"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/starboard2)
"cjl" = (
@@ -53267,7 +53287,6 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/teleporter)
"cka" = (
@@ -53340,7 +53359,6 @@
},
/area/library)
"cki" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 4;
initialize_directions = 11
@@ -53349,6 +53367,7 @@
dir = 8;
initialize_directions = 11
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -53515,20 +53534,12 @@
},
/obj/structure/table,
/obj/item/hand_tele,
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/turf/simulated/floor/plasteel,
/area/teleporter)
"ckC" = (
/obj/structure/table,
/obj/machinery/cell_charger,
/obj/item/stock_parts/cell/high,
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/turf/simulated/floor/plasteel,
/area/teleporter)
"ckD" = (
@@ -53540,10 +53551,6 @@
req_access_txt = "17"
},
/obj/effect/decal/warning_stripes/east,
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/turf/simulated/floor/plasteel,
/area/teleporter)
"ckE" = (
@@ -53555,9 +53562,6 @@
/area/security/range)
"ckF" = (
/obj/machinery/teleport/hub,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plating,
/area/teleporter)
"ckG" = (
@@ -53566,9 +53570,6 @@
id_tag = "teleaccessshutter";
name = "Teleporter Access Shutters"
},
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plasteel,
/area/teleporter)
"ckH" = (
@@ -53576,36 +53577,27 @@
dir = 4
},
/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "neutralcorner"
+ icon_state = "white"
},
-/area/hallway/primary/central)
+/area/medical/research)
"ckI" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
},
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
+ },
+/area/medical/research)
+"ckJ" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "neutralfull"
- },
-/area/hallway/primary/central)
-"ckJ" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/disposalpipe/junction{
dir = 1;
- icon_state = "pipe-j2"
+ icon_state = "whiteblue"
},
-/turf/simulated/floor/plasteel{
- icon_state = "neutralcorner"
- },
-/area/hallway/primary/central)
+/area/medical/medbay)
"ckK" = (
/obj/structure/chair{
dir = 4
@@ -53672,10 +53664,6 @@
},
/area/crew_quarters/courtroom)
"ckR" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -53689,20 +53677,15 @@
/area/maintenance/starboard2)
"ckS" = (
/obj/structure/disposalpipe/segment{
- dir = 4
+ dir = 8;
+ icon_state = "pipe-c"
},
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- tag = ""
+/turf/simulated/floor/plasteel{
+ dir = 1;
+ icon_state = "whiteblue"
},
-/turf/simulated/floor/plasteel,
-/area/maintenance/starboard2)
+/area/medical/medbay)
"ckT" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -53712,9 +53695,6 @@
/turf/simulated/floor/plating,
/area/maintenance/starboard2)
"ckU" = (
-/obj/structure/disposalpipe/junction{
- dir = 8
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -53732,12 +53712,13 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plating,
/area/maintenance/starboard2)
"ckV" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -53753,12 +53734,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/simulated/floor/plating,
-/area/maintenance/starboard2)
-"ckW" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plating,
+/area/maintenance/starboard2)
+"ckW" = (
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -53771,12 +53752,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/simulated/floor/plating,
-/area/maintenance/starboard2)
-"ckX" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plating,
+/area/maintenance/starboard2)
+"ckX" = (
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -53792,12 +53773,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/simulated/floor/plating,
-/area/maintenance/starboard2)
-"ckY" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plating,
+/area/maintenance/starboard2)
+"ckY" = (
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -53811,13 +53792,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/maintenance/starboard2)
"ckZ" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -53836,6 +53816,10 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 1
},
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plating,
/area/maintenance/starboard2)
"cla" = (
@@ -54088,7 +54072,6 @@
},
/area/maintenance/port)
"clA" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
},
@@ -54376,10 +54359,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
/turf/simulated/floor/plasteel,
/area/teleporter)
"cma" = (
@@ -54395,10 +54374,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/structure/disposalpipe/junction{
- dir = 4;
- icon_state = "pipe-j2"
- },
/turf/simulated/floor/plasteel,
/area/teleporter)
"cmb" = (
@@ -54419,10 +54394,6 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 4
},
-/obj/structure/disposalpipe/junction{
- dir = 4;
- icon_state = "pipe-j2"
- },
/turf/simulated/floor/plasteel,
/area/teleporter)
"cmc" = (
@@ -54433,10 +54404,6 @@
tag = ""
},
/obj/effect/decal/warning_stripes/east,
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/turf/simulated/floor/plasteel,
/area/teleporter)
"cmd" = (
@@ -54514,15 +54481,10 @@
},
/area/crew_quarters/courtroom)
"cmn" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
+/turf/simulated/floor/plasteel{
+ icon_state = "neutralcorner"
},
-/turf/simulated/floor/plating,
-/area/maintenance/starboard2)
+/area/hallway/primary/aft)
"cmo" = (
/obj/structure/closet,
/obj/effect/spawner/lootdrop/maintenance{
@@ -54541,17 +54503,18 @@
/turf/simulated/floor/plasteel,
/area/maintenance/starboard2)
"cmt" = (
-/obj/structure/closet/wardrobe/grey,
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
+ },
+/area/medical/psych)
"cmv" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
tag = ""
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/starboard)
"cmx" = (
@@ -55134,9 +55097,6 @@
},
/area/crew_quarters/courtroom)
"cnO" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/firedoor,
/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel{
@@ -55148,7 +55108,6 @@
/turf/simulated/wall,
/area/crew_quarters/locker)
"cnR" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -55158,6 +55117,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/door/airlock/maintenance,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/maintenance/starboard2)
"cnS" = (
@@ -55580,17 +55540,15 @@
},
/area/crew_quarters/courtroom)
"coQ" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
},
/turf/simulated/floor/plasteel{
- icon_state = "dark"
+ dir = 8;
+ icon_state = "neutralfull"
},
-/area/crew_quarters/locker)
+/area/crew_quarters/fitness)
"coR" = (
/obj/structure/closet/secure_closet/personal,
/turf/simulated/floor/plasteel{
@@ -55626,11 +55584,11 @@
},
/area/maintenance/starboard2)
"coW" = (
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/obj/machinery/disposal,
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
@@ -56481,7 +56439,6 @@
},
/area/crew_quarters/courtroom)
"cqv" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -56565,7 +56522,6 @@
},
/area/maintenance/starboard)
"cqD" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -56577,6 +56533,7 @@
initialize_directions = 11
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/starboard2)
"cqE" = (
@@ -57245,7 +57202,6 @@
},
/area/hallway/primary/central)
"crV" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -57289,6 +57245,10 @@
},
/area/crew_quarters/locker)
"csa" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutral"
@@ -57316,6 +57276,9 @@
/area/maintenance/starboard2)
"csc" = (
/obj/machinery/door/airlock/maintenance,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/maintenance/starboard2)
"csd" = (
@@ -57604,10 +57567,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
/turf/simulated/floor/plasteel,
/area/teleporter)
"csM" = (
@@ -57753,34 +57712,39 @@
/turf/simulated/floor/plasteel,
/area/bridge/meeting_room)
"ctb" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/disposalpipe/segment{
- dir = 1;
+ dir = 8;
icon_state = "pipe-c"
},
/turf/simulated/floor/plasteel{
- dir = 4;
- icon_state = "neutralcorner"
+ icon_state = "white"
},
-/area/hallway/primary/central)
+/area/medical/chemistry)
"ctc" = (
/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel,
/area/maintenance/starboard2)
"ctd" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/simulated/floor/plasteel{
- dir = 4;
- icon_state = "neutralcorner"
+ icon_state = "whitebluefull"
},
-/area/hallway/primary/central)
+/area/medical/medbay)
"ctf" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plasteel{
@@ -57803,24 +57767,29 @@
},
/area/hallway/primary/central)
"ctj" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/simulated/floor/plasteel{
- dir = 1;
- icon_state = "neutralcorner"
+ icon_state = "white"
},
-/area/hallway/primary/central)
+/area/medical/medbay)
"ctk" = (
/obj/machinery/vending/cola,
/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel,
/area/bridge/meeting_room)
"ctl" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -57886,10 +57855,6 @@
},
/area/medical/medbay)
"cts" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/machinery/atmospherics/pipe/simple/hidden/universal,
/turf/simulated/floor/plasteel{
dir = 8;
@@ -57911,13 +57876,13 @@
},
/area/crew_quarters/courtroom)
"ctv" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
tag = ""
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/maintenance/starboard)
"ctw" = (
@@ -58379,6 +58344,7 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 8
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -58521,7 +58487,6 @@
},
/area/crew_quarters/locker)
"cuC" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 4;
initialize_directions = 11
@@ -58541,10 +58506,6 @@
},
/area/crew_quarters/locker)
"cuF" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 1;
d2 = 4;
@@ -58556,12 +58517,13 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plating,
/area/maintenance/starboard2)
"cuG" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -58575,12 +58537,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/simulated/floor/plating,
-/area/maintenance/starboard2)
-"cuH" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plating,
+/area/maintenance/starboard2)
+"cuH" = (
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -58593,12 +58555,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/simulated/floor/plasteel,
-/area/maintenance/starboard2)
-"cuI" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plasteel,
+/area/maintenance/starboard2)
+"cuI" = (
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -58612,6 +58574,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/maintenance/starboard2)
"cuJ" = (
@@ -58627,9 +58592,6 @@
/turf/simulated/floor/plasteel,
/area/crew_quarters/locker)
"cuK" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -58642,16 +58604,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "neutralcorner"
},
/area/crew_quarters/fitness)
"cuL" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -58664,6 +58625,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -58912,10 +58877,6 @@
},
/area/medical/research)
"cvm" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 1;
initialize_directions = 11
@@ -58923,6 +58884,9 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -59234,16 +59198,12 @@
},
/area/medical/chemistry)
"cvV" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/airlock/glass{
name = "Cabin"
},
/turf/simulated/floor/plasteel,
/area/crew_quarters/locker)
"cvW" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/light,
/turf/simulated/floor/plasteel{
dir = 8;
@@ -59251,9 +59211,6 @@
},
/area/hallway/primary/central)
"cvX" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/alarm{
dir = 1;
pixel_y = -24
@@ -59269,9 +59226,6 @@
/turf/simulated/floor/plasteel,
/area/gateway)
"cvZ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -59284,9 +59238,6 @@
},
/area/crew_quarters/locker)
"cwa" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/airlock/public/glass,
/turf/simulated/floor/plasteel{
dir = 1;
@@ -59294,18 +59245,26 @@
},
/area/crew_quarters/locker)
"cwc" = (
-/obj/structure/disposalpipe/segment{
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "neutralfull"
+ icon_state = "white"
},
-/area/crew_quarters/locker)
+/area/medical/medbay)
"cwd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/effect/landmark{
name = "lightsout"
},
@@ -59314,15 +59273,6 @@
icon_state = "neutralfull"
},
/area/crew_quarters/locker)
-"cwe" = (
-/obj/structure/disposalpipe/junction,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "neutralfull"
- },
-/area/crew_quarters/locker)
"cwf" = (
/obj/structure/closet/wardrobe/grey,
/obj/machinery/ai_status_display{
@@ -59358,6 +59308,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitebluefull"
},
@@ -59375,6 +59328,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -59778,9 +59734,6 @@
},
/area/assembly/showroom)
"cxd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/hologram/holopad,
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel{
@@ -59940,7 +59893,6 @@
/turf/simulated/floor/plasteel,
/area/medical/research)
"cxv" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
@@ -59955,7 +59907,6 @@
},
/area/crew_quarters/locker)
"cxx" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -59970,6 +59921,7 @@
dir = 8;
initialize_directions = 11
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -60025,7 +59977,6 @@
},
/area/crew_quarters/fitness)
"cxD" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 8;
initialize_directions = 11
@@ -60528,10 +60479,10 @@
/turf/simulated/floor/plasteel,
/area/crew_quarters/locker/locker_toilet)
"cyG" = (
+/obj/effect/decal/warning_stripes/yellow/hollow,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -60680,7 +60631,6 @@
},
/area/crew_quarters/locker)
"cyR" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -60818,21 +60768,6 @@
icon_state = "neutralcorner"
},
/area/crew_quarters/fitness)
-"czc" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "neutralfull"
- },
-/area/crew_quarters/fitness)
"czd" = (
/obj/effect/spawner/window/reinforced,
/obj/structure/cable{
@@ -61884,9 +61819,6 @@
"cBh" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -62230,10 +62162,6 @@
},
/area/crew_quarters/locker)
"cBT" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
@@ -62824,7 +62752,6 @@
},
/area/crew_quarters/locker)
"cDp" = (
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -63513,9 +63440,15 @@
},
/area/hallway/primary/central)
"cFd" = (
-/obj/item/rack_parts,
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
+/obj/structure/chair,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/plasteel{
+ dir = 1;
+ icon_state = "whitebluecorner"
+ },
+/area/medical/psych)
"cFe" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
@@ -63592,18 +63525,21 @@
},
/area/crew_quarters/sleep)
"cFo" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8";
tag = ""
},
-/turf/simulated/floor/plasteel{
- dir = 4;
- icon_state = "neutralcorner"
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/area/crew_quarters/sleep)
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
+ },
+/area/medical/medbay)
"cFp" = (
/obj/machinery/door/firedoor,
/obj/effect/decal/warning_stripes/yellow,
@@ -63707,7 +63643,6 @@
},
/area/crew_quarters/fitness)
"cFy" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -63722,6 +63657,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -64588,12 +64524,14 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/machinery/door/airlock/maintenance,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/turf/simulated/floor/wood,
-/area/maintenance/starboard)
+/turf/simulated/floor/plasteel{
+ dir = 1;
+ icon_state = "whitebluecorner"
+ },
+/area/medical/psych)
"cGI" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -64612,25 +64550,14 @@
},
/obj/machinery/door/airlock/maintenance,
/turf/simulated/floor/plating,
-/area/maintenance/starboard)
+/area/medical/psych)
"cGJ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plasteel{
+ dir = 8;
+ icon_state = "whitepurplecorner"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- tag = ""
- },
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
+/area/medical/research)
"cGK" = (
/obj/effect/decal/warning_stripes/north,
/turf/simulated/floor/plasteel{
@@ -64648,10 +64575,6 @@
},
/area/hallway/primary/central)
"cGM" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -64664,6 +64587,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plating,
/area/maintenance/starboard)
"cGN" = (
@@ -64721,7 +64648,6 @@
},
/area/crew_quarters/sleep)
"cGS" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -65027,22 +64953,6 @@
icon_state = "purplecorner"
},
/area/hallway/primary/central)
-"cHF" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
-/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "purplecorner"
- },
-/area/hallway/primary/central)
"cHG" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -65050,11 +64960,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/obj/structure/disposalpipe/sortjunction{
- dir = 4;
- name = "Research Junction";
- sortType = 20
- },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "purplecorner"
@@ -65072,9 +64977,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "purplecorner"
@@ -65087,10 +64989,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "purplecorner"
@@ -65112,10 +65010,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/turf/simulated/floor/plasteel{
icon_state = "bluecorner"
},
@@ -65128,9 +65022,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plasteel{
icon_state = "bluecorner"
},
@@ -65156,10 +65047,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/obj/structure/disposalpipe/sortjunction{
+/obj/structure/disposalpipe/segment{
dir = 4;
- name = "CMO's Junction";
- sortType = 20
+ icon_state = "pipe-c"
},
/turf/simulated/floor/plasteel{
icon_state = "bluecorner"
@@ -65254,19 +65144,7 @@
icon_state = "neutral"
},
/area/crew_quarters/sleep)
-"cIe" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
-/turf/simulated/floor/plasteel{
- icon_state = "neutralcorner"
- },
-/area/crew_quarters/sleep)
"cIg" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 1
},
@@ -65276,9 +65154,6 @@
},
/area/crew_quarters/sleep)
"cIh" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/light,
/obj/machinery/firealarm{
dir = 1;
@@ -65290,9 +65165,6 @@
},
/area/crew_quarters/sleep)
"cIi" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable,
/obj/machinery/power/apc{
name = "south bump";
@@ -65308,53 +65180,38 @@
},
/area/crew_quarters/sleep)
"cIj" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
/area/crew_quarters/sleep)
"cIk" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
/area/crew_quarters/sleep)
"cIl" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/light,
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
/area/crew_quarters/sleep)
"cIm" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/airlock/glass{
name = "Cabin"
},
/turf/simulated/floor/plasteel,
/area/crew_quarters/sleep)
"cIn" = (
-/obj/structure/disposalpipe/segment{
+/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
- icon_state = "neutralcorner"
+ icon_state = "whitepurplecorner"
},
-/area/crew_quarters/fitness)
+/area/medical/research)
"cIo" = (
-/obj/structure/disposalpipe/junction{
- dir = 1;
- icon_state = "pipe-j2"
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -65363,6 +65220,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -65396,7 +65254,6 @@
/turf/simulated/floor/plasteel,
/area/crew_quarters/fitness)
"cIs" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -65410,6 +65267,7 @@
/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
/obj/machinery/hologram/holopad,
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -65594,16 +65452,21 @@
/turf/simulated/floor/plating,
/area/medical/research)
"cIX" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/window/reinforced,
-/turf/simulated/floor/plating,
-/area/medical/research)
-"cIY" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/effect/decal/warning_stripes/south,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/medical/research)
+"cIY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plasteel{
+ dir = 8;
+ icon_state = "whitepurplecorner"
+ },
+/area/medical/research)
"cIZ" = (
/obj/machinery/status_display,
/turf/simulated/wall,
@@ -65628,9 +65491,6 @@
/turf/simulated/wall,
/area/medical/research)
"cJc" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/airlock/public/glass,
/turf/simulated/floor/plasteel{
dir = 8;
@@ -65682,9 +65542,9 @@
/turf/simulated/wall,
/area/medical/medbay)
"cJj" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/effect/decal/warning_stripes/south,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/medical/medbay)
"cJk" = (
@@ -65766,9 +65626,9 @@
},
/area/medical/medbay2)
"cJv" = (
+/obj/effect/decal/warning_stripes/yellow/hollow,
/obj/structure/disposalpipe/trunk,
/obj/machinery/disposal,
-/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel{
icon_state = "whitebluefull"
},
@@ -65963,7 +65823,6 @@
/turf/simulated/floor/plasteel,
/area/maintenance/electrical)
"cJY" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 8
},
@@ -66145,7 +66004,6 @@
},
/area/medical/research)
"cKx" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/chair,
/turf/simulated/floor/plasteel{
dir = 1;
@@ -66153,12 +66011,12 @@
},
/area/medical/research)
"cKy" = (
+/obj/item/twohanded/required/kirbyplants,
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
- dir = 1;
- icon_state = "whitepurplecorner"
+ icon_state = "dark"
},
-/area/medical/research)
+/area/medical/cmo)
"cKz" = (
/obj/structure/chair,
/obj/effect/landmark/start{
@@ -66211,10 +66069,9 @@
"cKE" = (
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
- dir = 4;
- icon_state = "whitepurplecorner"
+ icon_state = "white"
},
-/area/medical/research)
+/area/medical/genetics)
"cKF" = (
/turf/simulated/floor/plasteel{
dir = 4;
@@ -66244,12 +66101,6 @@
/obj/structure/sign/science,
/turf/simulated/wall,
/area/medical/research)
-"cKL" = (
-/obj/structure/disposalpipe/segment,
-/turf/simulated/floor/plasteel{
- icon_state = "bluecorner"
- },
-/area/hallway/primary/aft)
"cKM" = (
/obj/structure/table,
/obj/item/storage/box/bodybags,
@@ -66353,20 +66204,28 @@
"cKY" = (
/turf/simulated/wall,
/area/medical/medbay)
-"cKZ" = (
-/obj/structure/table,
-/obj/item/storage/toolbox/electrical,
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
"cLa" = (
-/obj/structure/table,
-/obj/item/storage/toolbox/mechanical,
+/obj/machinery/door/poddoor/shutters{
+ density = 0;
+ dir = 2;
+ icon_state = "open";
+ id_tag = "psychoffice";
+ name = "Privacy Shutters";
+ opacity = 0
+ },
+/obj/effect/spawner/window/reinforced,
+/obj/machinery/door/firedoor,
/turf/simulated/floor/plating,
-/area/maintenance/starboard)
+/area/medical/psych)
"cLb" = (
-/obj/structure/table_frame,
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
+/obj/machinery/door/airlock/medical{
+ id_tag = "psychfoyer";
+ name = "Psych Office";
+ req_access_txt = "64"
+ },
+/obj/machinery/door/firedoor,
+/turf/simulated/floor/wood,
+/area/medical/psych)
"cLd" = (
/obj/structure/cable{
d2 = 4;
@@ -66417,24 +66276,21 @@
},
/area/medical/medbay2)
"cLg" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8";
tag = ""
},
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitebluefull"
},
/area/medical/medbay2)
"cLh" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -66445,13 +66301,12 @@
name = "Medbay Maintenance";
req_access_txt = "5"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/medical/medbay2)
"cLi" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -66464,6 +66319,10 @@
icon_state = "1-4"
},
/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel,
/area/maintenance/starboard)
"cLk" = (
@@ -66501,9 +66360,6 @@
/turf/simulated/floor/plasteel,
/area/maintenance/starboard)
"cLm" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -66517,6 +66373,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/maintenance/starboard2)
"cLn" = (
@@ -66890,11 +66749,11 @@
"cMe" = (
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
- icon_state = "white"
+ dir = 1;
+ icon_state = "whitepurplecorner"
},
/area/medical/research)
"cMf" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
},
@@ -66906,9 +66765,23 @@
},
/area/medical/research)
"cMg" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8;
+ initialize_directions = 11
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8;
+ initialize_directions = 11
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 4;
+ icon_state = "pipe-y"
},
/turf/simulated/floor/plasteel{
icon_state = "white"
@@ -66918,28 +66791,31 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/turf/simulated/floor/plasteel{
- icon_state = "white"
- },
-/area/medical/research)
+/turf/simulated/floor/plating,
+/area/medical/morgue)
"cMj" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
},
-/obj/machinery/hologram/holopad,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/medical/research)
"cMk" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
},
-/turf/simulated/floor/plasteel{
- icon_state = "white"
- },
-/area/medical/research)
+/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plasteel,
+/area/maintenance/apmaint)
"cMl" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 4;
@@ -67273,10 +67149,6 @@
/turf/simulated/floor/plating,
/area/toxins/xenobiology)
"cNl" = (
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/machinery/disposal,
/obj/structure/window/reinforced{
dir = 8
},
@@ -67285,6 +67157,10 @@
pixel_y = 32
},
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/machinery/disposal,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -67372,12 +67248,12 @@
},
/area/toxins/xenobiology)
"cNr" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/spawner/window/reinforced,
/obj/structure/cable{
d2 = 8;
icon_state = "0-8"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/toxins/xenobiology)
"cNs" = (
@@ -67516,25 +67392,13 @@
},
/area/medical/research)
"cNE" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
- icon_state = "whitepurple"
+ dir = 1;
+ icon_state = "neutral"
},
-/area/medical/research)
+/area/maintenance/apmaint)
"cNF" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -67572,19 +67436,16 @@
},
/area/medical/research)
"cNI" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
},
/turf/simulated/floor/plasteel{
- icon_state = "whitepurple"
+ icon_state = "redyellowfull"
},
-/area/medical/research)
+/area/maintenance/apmaint)
"cNJ" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
},
@@ -67630,7 +67491,6 @@
/turf/simulated/floor/plasteel,
/area/medical/research)
"cNN" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -67651,7 +67511,6 @@
},
/area/hallway/primary/aft)
"cNP" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -67703,6 +67562,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 9;
icon_state = "whiteblue"
@@ -67715,12 +67578,14 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/medical/medbay)
"cNV" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -67728,6 +67593,11 @@
dir = 1;
initialize_directions = 11
},
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/junction{
+ dir = 1;
+ icon_state = "pipe-j2"
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -67792,25 +67662,35 @@
/turf/space,
/area/space/nearstation)
"cOa" = (
-/obj/structure/chair/comfy/lime{
- dir = 4
- },
/obj/machinery/door_control{
id = "psychoffice";
name = "Privacy Shutters Control";
- pixel_x = -25
+ pixel_x = -25;
+ pixel_y = 5
},
-/turf/simulated/floor/carpet,
+/obj/structure/chair/office/light{
+ dir = 4
+ },
+/obj/effect/landmark/start{
+ name = "Psychiatrist"
+ },
+/obj/machinery/door_control{
+ id = "psychfoyer";
+ layer = 3.3;
+ name = "Psych Foyer Doors";
+ normaldoorcontrol = 1;
+ pixel_x = -25;
+ pixel_y = -6
+ },
+/turf/simulated/floor/wood,
/area/medical/psych)
"cOb" = (
-/obj/machinery/light{
- dir = 1
+/obj/structure/table/wood,
+/obj/item/paper_bin{
+ pixel_y = 5
},
-/obj/item/radio/intercom{
- dir = 1;
- pixel_y = 25
- },
-/turf/simulated/floor/carpet,
+/obj/item/pen/multi,
+/turf/simulated/floor/wood,
/area/medical/psych)
"cOc" = (
/obj/machinery/firealarm{
@@ -67821,8 +67701,7 @@
pixel_x = 28;
pixel_y = 30
},
-/obj/structure/bed/psych,
-/turf/simulated/floor/carpet,
+/turf/simulated/floor/wood,
/area/medical/psych)
"cOd" = (
/obj/structure/table,
@@ -68412,7 +68291,6 @@
},
/area/medical/research)
"cPo" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
@@ -68420,7 +68298,6 @@
},
/area/medical/research)
"cPq" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 1
},
@@ -68436,14 +68313,14 @@
},
/area/medical/research)
"cPs" = (
-/obj/structure/disposalpipe/segment,
-/turf/simulated/floor/plasteel{
- dir = 1;
- icon_state = "whitepurple"
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/area/medical/research)
+/turf/simulated/floor/plasteel{
+ icon_state = "redyellowfull"
+ },
+/area/maintenance/apmaint)
"cPt" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
@@ -68482,20 +68359,7 @@
icon_state = "neutralfull"
},
/area/hallway/primary/aft)
-"cPz" = (
-/obj/structure/disposalpipe/sortjunction{
- dir = 1;
- name = "Chemistry Junction";
- sortType = 13
- },
-/turf/simulated/floor/plasteel{
- icon_state = "bluecorner"
- },
-/area/hallway/primary/aft)
"cPA" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/firedoor,
/obj/effect/decal/warning_stripes/east,
/turf/simulated/floor/plasteel,
@@ -68504,18 +68368,13 @@
/turf/simulated/wall/r_wall,
/area/maintenance/starboardsolar)
"cPD" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 10;
icon_state = "whiteblue"
},
/area/medical/medbay)
"cPE" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
@@ -68525,13 +68384,13 @@
/area/medical/medbay)
"cPF" = (
/obj/structure/disposalpipe/segment{
- dir = 2;
+ dir = 8;
icon_state = "pipe-c"
},
/turf/simulated/floor/plasteel{
- icon_state = "whiteblue"
+ icon_state = "redyellowfull"
},
-/area/medical/medbay)
+/area/maintenance/apmaint)
"cPH" = (
/obj/effect/landmark{
name = "lightsout"
@@ -68541,13 +68400,13 @@
},
/area/medical/medbay)
"cPI" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
/obj/structure/disposalpipe/segment{
dir = 1;
icon_state = "pipe-c"
},
-/obj/machinery/atmospherics/unary/vent_scrubber/on{
- dir = 1
- },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -68584,12 +68443,12 @@
},
/area/medical/medbay)
"cPM" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/disposalpipe/segment{
dir = 2;
icon_state = "pipe-c"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -68604,17 +68463,17 @@
name = "Privacy Shutters";
opacity = 0
},
+/obj/machinery/door/firedoor,
/turf/simulated/floor/plating,
/area/medical/psych)
"cPQ" = (
-/turf/simulated/floor/carpet,
+/turf/simulated/floor/wood,
/area/medical/psych)
"cPR" = (
-/obj/item/twohanded/required/kirbyplants,
/obj/structure/sign/poster/random{
pixel_x = 32
},
-/turf/simulated/floor/carpet,
+/turf/simulated/floor/wood,
/area/medical/psych)
"cPS" = (
/obj/effect/spawner/window/reinforced,
@@ -68717,9 +68576,6 @@
/turf/simulated/floor/plasteel,
/area/maintenance/starboard)
"cQb" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/medical/glass{
id_tag = "medbayfoyer";
@@ -68729,6 +68585,9 @@
/obj/effect/mapping_helpers/airlock/unres{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "whiteblue"
},
@@ -69031,14 +68890,14 @@
},
/area/toxins/xenobiology)
"cQI" = (
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/machinery/disposal,
/obj/structure/window/reinforced{
dir = 8
},
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/machinery/disposal,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -69237,12 +69096,11 @@
},
/area/medical/research)
"cRc" = (
-/obj/effect/spawner/window/reinforced,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/simulated/floor/plating,
-/area/medical/research)
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/public/glass,
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plasteel,
+/area/hallway/primary/aft)
"cRd" = (
/obj/item/twohanded/required/kirbyplants,
/turf/simulated/floor/plasteel{
@@ -69252,12 +69110,10 @@
/area/medical/research)
"cRe" = (
/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
- icon_state = "white"
+ icon_state = "redyellowfull"
},
-/area/medical/research)
+/area/maintenance/apmaint)
"cRf" = (
/obj/structure/cable{
d1 = 2;
@@ -69278,24 +69134,21 @@
},
/area/medical/research)
"cRh" = (
-/obj/structure/disposalpipe/junction{
- dir = 1
- },
/turf/simulated/floor/plasteel{
icon_state = "bluecorner"
},
/area/hallway/primary/aft)
"cRi" = (
+/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
- dir = 4
+ dir = 8;
+ icon_state = "pipe-c"
},
-/obj/effect/spawner/window/reinforced,
-/turf/simulated/floor/plating,
-/area/medical/medbay)
+/turf/simulated/floor/plasteel{
+ icon_state = "neutral"
+ },
+/area/maintenance/apmaint)
"cRj" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/item/twohanded/required/kirbyplants,
/turf/simulated/floor/plasteel{
dir = 8;
@@ -69311,10 +69164,7 @@
},
/area/medical/medbay)
"cRl" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whiteblue"
@@ -69368,13 +69218,15 @@
dir = 10;
initialize_directions = 10
},
+/obj/machinery/hologram/holopad,
/turf/simulated/floor/wood,
/area/medical/psych)
"cRr" = (
-/obj/structure/closet/secure_closet/psychiatrist,
-/obj/item/clipboard{
- pixel_x = -5
+/obj/item/radio/intercom{
+ dir = 1;
+ pixel_x = 28
},
+/obj/item/twohanded/required/kirbyplants,
/turf/simulated/floor/wood,
/area/medical/psych)
"cRt" = (
@@ -69471,7 +69323,6 @@
},
/area/crew_quarters/fitness)
"cRB" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -69485,6 +69336,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -69829,9 +69681,9 @@
},
/area/medical/research)
"cSn" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitepurplecorner"
@@ -69860,7 +69712,6 @@
},
/area/toxins/xenobiology)
"cSr" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/table,
/obj/item/paper_bin,
/obj/item/pen,
@@ -69936,8 +69787,8 @@
},
/area/medical/medbay)
"cSB" = (
-/obj/structure/disposalpipe/segment,
/obj/item/twohanded/required/kirbyplants,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitebluecorner"
@@ -69993,9 +69844,9 @@
},
/area/medical/medbay)
"cSH" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -70013,7 +69864,6 @@
/turf/simulated/floor/wood,
/area/medical/psych)
"cSJ" = (
-/obj/machinery/hologram/holopad,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
@@ -70026,6 +69876,10 @@
/obj/machinery/ai_status_display{
pixel_x = 32
},
+/obj/structure/closet/secure_closet/psychiatrist,
+/obj/item/clipboard{
+ pixel_x = -5
+ },
/turf/simulated/floor/wood,
/area/medical/psych)
"cSL" = (
@@ -70300,9 +70154,6 @@
},
/area/toxins/xenobiology)
"cTq" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/effect/spawner/window/reinforced,
/obj/structure/cable{
d1 = 1;
@@ -70311,6 +70162,9 @@
tag = ""
},
/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/toxins/xenobiology)
"cTr" = (
@@ -70461,7 +70315,6 @@
},
/area/toxins/xenobiology)
"cTB" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/research{
name = "Research Division Access";
@@ -70470,10 +70323,10 @@
/obj/effect/decal/warning_stripes/south,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/medical/research)
"cTC" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/research{
name = "Research Division Access";
@@ -70627,15 +70480,15 @@
/turf/simulated/wall,
/area/toxins/lab)
"cTS" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/window/reinforced,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 2;
- id_tag = "researchdesk1";
- name = "Research Desk Shutters"
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
},
-/turf/simulated/floor/plating,
-/area/toxins/lab)
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plasteel{
+ dir = 8;
+ icon_state = "neutralfull"
+ },
+/area/hallway/primary/aft)
"cTT" = (
/obj/effect/spawner/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -70653,7 +70506,6 @@
},
/area/medical/research)
"cTV" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/light{
dir = 8
},
@@ -70666,7 +70518,6 @@
},
/area/hallway/primary/aft)
"cTW" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/extinguisher_cabinet{
pixel_x = 28
},
@@ -70711,13 +70562,13 @@
/turf/simulated/floor/plasteel,
/area/medical/medbay)
"cUb" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/spawner/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
dir = 2;
id_tag = "chemdesk1";
name = "Chemistry Desk Shutters"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/medical/medbay)
"cUc" = (
@@ -70782,14 +70633,9 @@
network = list("Medical","SS13","Security")
},
/obj/structure/cable,
-/turf/simulated/floor/wood,
-/area/medical/psych)
-"cUh" = (
-/obj/structure/chair/office/light,
-/obj/effect/landmark/start{
- name = "Psychiatrist"
- },
-/turf/simulated/floor/wood,
+/obj/structure/table/wood,
+/obj/item/flashlight/lamp/green,
+/turf/simulated/floor/carpet,
/area/medical/psych)
"cUi" = (
/obj/machinery/light{
@@ -70799,7 +70645,7 @@
dir = 8;
pixel_x = 24
},
-/turf/simulated/floor/wood,
+/turf/simulated/floor/carpet,
/area/medical/psych)
"cUj" = (
/obj/machinery/light{
@@ -70866,11 +70712,11 @@
},
/area/medical/medbay3)
"cUq" = (
+/obj/effect/decal/warning_stripes/yellow/hollow,
/obj/structure/disposalpipe/trunk{
dir = 8
},
/obj/machinery/disposal,
-/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -70901,10 +70747,6 @@
},
/area/medical/medbay3)
"cUu" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -70931,26 +70773,9 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- tag = ""
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/plasteel{
- icon_state = "neutral"
- },
-/area/maintenance/starboard)
+/turf/simulated/floor/plasteel,
+/area/hallway/primary/aft)
"cUw" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -70967,9 +70792,6 @@
/turf/simulated/floor/plating,
/area/maintenance/starboard)
"cUx" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -70986,9 +70808,6 @@
/turf/simulated/floor/plating,
/area/maintenance/starboard)
"cUy" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -71007,9 +70826,6 @@
},
/area/maintenance/starboard)
"cUA" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -71022,12 +70838,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
-"cUB" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plating,
+/area/maintenance/starboard)
+"cUB" = (
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -71043,9 +70859,6 @@
/turf/simulated/floor/plating,
/area/maintenance/starboard)
"cUC" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -71065,9 +70878,6 @@
},
/area/maintenance/starboard)
"cUD" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -71084,9 +70894,6 @@
/turf/simulated/floor/plasteel,
/area/maintenance/starboard)
"cUE" = (
-/obj/structure/disposalpipe/junction{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -71105,10 +70912,6 @@
},
/area/crew_quarters/fitness)
"cUF" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -71116,6 +70919,7 @@
},
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -71281,15 +71085,15 @@
},
/area/toxins/xenobiology)
"cUV" = (
-/obj/machinery/disposal,
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
/obj/structure/window/reinforced{
dir = 1;
layer = 2.9
},
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -71311,10 +71115,10 @@
},
/area/toxins/xenobiology)
"cUY" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/warning_stripes/northwest,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/medical/research)
"cUZ" = (
@@ -71333,10 +71137,12 @@
},
/area/toxins/xenobiology)
"cVc" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/decal/warning_stripes/northeast,
+/obj/structure/disposalpipe/junction{
+ dir = 1;
+ icon_state = "pipe-y"
+ },
/turf/simulated/floor/plasteel,
-/area/medical/research)
+/area/hallway/primary/aft)
"cVd" = (
/obj/structure/closet/firecloset,
/obj/effect/decal/warning_stripes/yellow/hollow,
@@ -71345,11 +71151,9 @@
},
/area/medical/research)
"cVe" = (
-/obj/structure/disposalpipe/trunk{
- dir = 4
- },
-/obj/machinery/disposal,
/obj/effect/decal/warning_stripes/northeast,
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitepurplecorner"
@@ -71457,17 +71261,13 @@
/turf/simulated/wall,
/area/toxins/lab)
"cVs" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/warning_stripes/west,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/medical/research)
"cVt" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitepurplecorner"
@@ -71536,7 +71336,6 @@
/turf/simulated/floor/plating,
/area/toxins/lab)
"cVA" = (
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "purplecorner"
@@ -71599,12 +71398,19 @@
/obj/effect/landmark/start{
name = "Chemist"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel,
/area/medical/chemistry)
"cVI" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/chem_dispenser,
/obj/effect/decal/warning_stripes/east,
+/obj/structure/disposalpipe/junction{
+ dir = 1;
+ icon_state = "pipe-j2"
+ },
/turf/simulated/floor/plasteel,
/area/medical/chemistry)
"cVJ" = (
@@ -71676,18 +71482,11 @@
},
/area/medical/medbay)
"cVQ" = (
-/obj/structure/table/wood,
-/obj/item/paper_bin{
- pixel_y = 5
- },
-/obj/item/pen/multi,
-/turf/simulated/floor/wood,
+/turf/simulated/floor/carpet,
/area/medical/psych)
"cVR" = (
-/obj/structure/table/wood,
-/obj/item/flashlight/lamp/green,
-/obj/item/storage/briefcase,
-/turf/simulated/floor/wood,
+/obj/structure/bed/psych,
+/turf/simulated/floor/carpet,
/area/medical/psych)
"cVS" = (
/obj/structure/cable{
@@ -71758,17 +71557,16 @@
},
/area/assembly/robotics)
"cWb" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
+/obj/effect/decal/warning_stripes/north,
+/obj/machinery/light{
+ dir = 1;
+ on = 1
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
+/obj/structure/disposalpipe/junction{
+ dir = 4
+ },
+/turf/simulated/floor/plasteel,
+/area/hallway/secondary/exit)
"cWc" = (
/turf/simulated/wall/rust,
/area/medical/medbay3)
@@ -71776,11 +71574,11 @@
/turf/simulated/wall,
/area/medical/medbay3)
"cWe" = (
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/machinery/disposal,
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralcorner"
@@ -72031,12 +71829,12 @@
},
/area/toxins/xenobiology)
"cWD" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/spawner/window/reinforced,
/obj/structure/cable{
d2 = 4;
icon_state = "0-4"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/toxins/xenobiology)
"cWE" = (
@@ -72112,10 +71910,12 @@
},
/area/toxins/xenobiology)
"cWH" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/decal/warning_stripes/east,
+/obj/effect/decal/warning_stripes/north,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
-/area/medical/research)
+/area/hallway/secondary/exit)
"cWI" = (
/turf/simulated/floor/plasteel{
dir = 8;
@@ -72180,6 +71980,7 @@
/obj/item/stock_parts/matter_bin,
/obj/item/stock_parts/micro_laser,
/obj/effect/decal/warning_stripes/east,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitepurplecorner"
@@ -72305,14 +72106,13 @@
},
/area/medical/research)
"cXc" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/warning_stripes/southwest,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/medical/research)
"cXd" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/camera{
c_tag = "Central Hallway South 1";
dir = 8
@@ -72344,14 +72144,15 @@
/area/medical/chemistry)
"cXh" = (
/obj/effect/decal/warning_stripes/south,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/medical/chemistry)
"cXi" = (
+/obj/effect/decal/warning_stripes/southeast,
/obj/structure/disposalpipe/trunk{
dir = 1
},
/obj/machinery/disposal,
-/obj/effect/decal/warning_stripes/southeast,
/turf/simulated/floor/plasteel,
/area/medical/chemistry)
"cXj" = (
@@ -72542,8 +72343,8 @@
/turf/simulated/floor/plating,
/area/maintenance/starboard)
"cXF" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/hologram/holopad,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "redbluefull"
},
@@ -72714,10 +72515,6 @@
},
/area/maintenance/port)
"cYh" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/structure/closet/wardrobe/yellow,
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
@@ -72739,9 +72536,11 @@
/area/medical/research)
"cYk" = (
/obj/structure/disposalpipe/segment,
-/obj/effect/decal/warning_stripes/southeast,
-/turf/simulated/floor/plasteel,
-/area/medical/research)
+/turf/simulated/floor/plasteel{
+ dir = 8;
+ icon_state = "neutralfull"
+ },
+/area/hallway/secondary/exit)
"cYl" = (
/obj/structure/closet/l3closet/scientist,
/obj/effect/decal/warning_stripes/yellow/hollow,
@@ -72762,6 +72561,7 @@
/obj/item/stock_parts/manipulator,
/obj/item/stock_parts/manipulator,
/obj/effect/decal/warning_stripes/east,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitepurplecorner"
@@ -72858,7 +72658,6 @@
},
/area/medical/research)
"cYB" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/research{
name = "Research Division Access";
@@ -72867,10 +72666,10 @@
/obj/effect/decal/warning_stripes/north,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/medical/research)
"cYC" = (
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "orangecorner"
},
@@ -72902,6 +72701,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -72973,9 +72773,9 @@
},
/area/medical/morgue)
"cYO" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -73097,7 +72897,6 @@
},
/area/maintenance/starboard)
"cZd" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -73222,7 +73021,6 @@
/turf/simulated/floor/plasteel,
/area/maintenance/electrical)
"cZr" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/research{
name = "Research Division Access";
@@ -73248,6 +73046,7 @@
/obj/item/stack/sheet/glass,
/obj/item/stack/sheet/glass,
/obj/effect/decal/warning_stripes/southeast,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitepurple"
@@ -73291,9 +73090,6 @@
/turf/simulated/wall,
/area/medical/research)
"cZy" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/firedoor,
/obj/effect/decal/warning_stripes/west,
/obj/effect/decal/warning_stripes/east,
@@ -73416,6 +73212,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -73452,6 +73249,7 @@
"cZM" = (
/obj/machinery/door/firedoor,
/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitebluecorner"
@@ -73483,7 +73281,6 @@
},
/area/medical/medbay3)
"cZR" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
},
@@ -73507,7 +73304,6 @@
},
/area/medical/medbay3)
"cZT" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -73539,9 +73335,9 @@
},
/area/medical/medbay3)
"cZV" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
@@ -73807,6 +73603,9 @@
dir = 1;
initialize_directions = 11
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -73870,9 +73669,9 @@
/turf/simulated/wall/rust,
/area/toxins/xenobiology)
"daE" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whitepurplecorner"
@@ -73908,11 +73707,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/toxins/lab)
"daI" = (
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitepurplecorner"
@@ -73968,9 +73771,6 @@
},
/area/hallway/primary/aft)
"daO" = (
-/obj/structure/disposalpipe/junction{
- dir = 1
- },
/obj/structure/sign/chemistry{
pixel_x = 32;
pixel_y = 32
@@ -73980,9 +73780,6 @@
},
/area/hallway/primary/aft)
"daP" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/table/reinforced,
/obj/item/paper_bin,
/turf/simulated/floor/plasteel{
@@ -73990,17 +73787,18 @@
},
/area/hallway/primary/aft)
"daQ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ tag = ""
},
-/obj/effect/spawner/window/reinforced,
-/obj/machinery/door/poddoor/shutters/preopen{
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plasteel{
dir = 8;
- id_tag = "chemdesk2";
- name = "Chemistry Desk Shutters"
+ icon_state = "neutralfull"
},
-/turf/simulated/floor/plating,
-/area/medical/chemistry)
+/area/hallway/secondary/exit)
"daR" = (
/obj/item/crowbar,
/obj/effect/decal/cleanable/dirt,
@@ -74100,9 +73898,9 @@
},
/area/medical/cmo)
"dbb" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "whitebluefull"
},
@@ -74117,9 +73915,6 @@
},
/area/maintenance/starboardsolar)
"dbd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/chem_dispenser,
/obj/effect/decal/warning_stripes/north,
/turf/simulated/floor/plasteel,
@@ -74142,6 +73937,7 @@
},
/area/medical/medbay)
"dbj" = (
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "whitepurple"
},
@@ -74187,7 +73983,6 @@
/turf/simulated/floor/plating,
/area/maintenance/apmaint)
"dbq" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -74298,6 +74093,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/apmaint)
"dbD" = (
@@ -74326,7 +74122,6 @@
},
/area/maintenance/gambling_den)
"dbF" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/medical/glass{
id_tag = null;
@@ -74334,6 +74129,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -74371,6 +74167,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/maintenance/apmaint)
"dbJ" = (
@@ -74422,24 +74219,19 @@
},
/area/medical/research)
"dbR" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
- icon_state = "white"
+ dir = 8;
+ icon_state = "neutralfull"
},
-/area/medical/research)
+/area/hallway/secondary/exit)
"dbS" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/item/radio/beacon,
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
@@ -74467,41 +74259,37 @@
},
/area/toxins/lab)
"dbV" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
+/obj/item/twohanded/required/kirbyplants,
+/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
- icon_state = "white"
- },
-/area/medical/research)
-"dbW" = (
-/obj/structure/disposalpipe/segment{
dir = 8;
- icon_state = "pipe-c"
+ icon_state = "neutralfull"
},
+/area/hallway/secondary/exit)
+"dbW" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/structure/disposalpipe/sortjunction{
+ dir = 2;
+ icon_state = "pipe-j2s";
+ name = "Research Junction";
+ sortType = 12
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/medical/research)
"dbX" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -74513,6 +74301,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whitepurple"
@@ -74538,6 +74329,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitepurplecorner"
@@ -74596,11 +74391,11 @@
},
/area/hallway/primary/aft)
"dcg" = (
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/obj/machinery/disposal,
/obj/effect/decal/warning_stripes/northeast,
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/medical/chemistry)
"dch" = (
@@ -74707,7 +74502,6 @@
},
/area/medical/medbay)
"dcr" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -74725,6 +74519,9 @@
},
/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/structure/disposalpipe/junction{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitebluefull"
},
@@ -74747,6 +74544,9 @@
dir = 4
},
/obj/machinery/hologram/holopad,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "white"
@@ -74772,6 +74572,9 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitebluefull"
},
@@ -74794,6 +74597,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -74809,15 +74615,14 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/medical/medbay)
"dcy" = (
-/obj/structure/disposalpipe/junction{
- dir = 4;
- icon_state = "pipe-y"
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -74826,14 +74631,15 @@
},
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/structure/disposalpipe/junction{
+ dir = 8;
+ icon_state = "pipe-y"
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/medical/medbay)
"dcz" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -74858,9 +74664,6 @@
},
/area/maintenance/apmaint)
"dcB" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -74877,10 +74680,6 @@
/turf/simulated/floor/plasteel,
/area/maintenance/starboard)
"dcC" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -74907,7 +74706,6 @@
},
/area/maintenance/starboard)
"dcD" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/door/airlock/medical/glass{
id_tag = "";
@@ -74915,6 +74713,7 @@
req_access_txt = "5"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/medical/medbay3)
"dcE" = (
@@ -75071,7 +74870,6 @@
},
/area/maintenance/gambling_den)
"dcV" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -75187,9 +74985,6 @@
"ddk" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
@@ -75218,11 +75013,11 @@
/turf/simulated/floor/plasteel,
/area/hallway/primary/central)
"ddn" = (
+/obj/effect/decal/warning_stripes/yellow,
/obj/structure/disposalpipe/trunk{
dir = 1
},
/obj/machinery/disposal,
-/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel,
/area/hallway/primary/central)
"ddo" = (
@@ -75310,12 +75105,16 @@
},
/area/maintenance/apmaint)
"ddw" = (
-/obj/structure/disposalpipe/segment,
+/obj/effect/decal/warning_stripes/yellow,
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
dir = 8;
- icon_state = "whitepurplecorner"
+ icon_state = "neutralfull"
},
-/area/medical/research)
+/area/hallway/secondary/exit)
"ddx" = (
/obj/structure/cable{
d1 = 1;
@@ -75339,7 +75138,6 @@
},
/area/library/abandoned)
"ddA" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plasteel{
@@ -75489,6 +75287,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -75625,7 +75426,6 @@
},
/area/maintenance/apmaint)
"ddX" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -75634,6 +75434,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "whitebluefull"
},
@@ -75684,9 +75485,6 @@
},
/area/medical/medbay)
"dec" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -76333,7 +76131,6 @@
},
/area/assembly/chargebay)
"dft" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel{
@@ -76423,22 +76220,19 @@
},
/area/medical/medbay)
"dfF" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/medical/glass{
id_tag = null;
name = "Patient Room";
req_access_txt = "5"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "cmo"
},
/area/medical/medbay)
"dfG" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -76740,7 +76534,6 @@
/turf/simulated/floor/plasteel,
/area/toxins/misc_lab)
"dgq" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -76803,7 +76596,6 @@
},
/area/medical/research)
"dgw" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/machinery/firealarm{
dir = 4;
@@ -76823,7 +76615,6 @@
},
/area/medical/medbay)
"dgy" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -76834,6 +76625,7 @@
/obj/effect/decal/warning_stripes/yellow,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -76861,7 +76653,6 @@
},
/area/medical/medbay)
"dgC" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/light{
dir = 8
},
@@ -76968,6 +76759,8 @@
},
/area/medical/genetics_cloning)
"dgM" = (
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whitebluecorner"
@@ -77012,7 +76805,6 @@
/turf/simulated/floor/plating,
/area/maintenance/apmaint)
"dgQ" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -77021,6 +76813,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -77444,10 +77237,6 @@
},
/area/toxins/explab)
"dhL" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -77460,14 +77249,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/toxins/explab)
"dhM" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -77480,6 +77270,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -77507,21 +77300,18 @@
},
/area/crew_quarters/hor)
"dhQ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/toxins/explab)
"dhR" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -77537,6 +77327,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -77564,9 +77357,6 @@
},
/area/toxins/xenobiology)
"dhT" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/hologram/holopad,
/obj/structure/chair/office/light,
/obj/effect/landmark/start{
@@ -77579,14 +77369,14 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/toxins/explab)
"dhU" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/table/reinforced,
/obj/item/clipboard,
/obj/item/folder/white,
@@ -77598,14 +77388,14 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/toxins/explab)
"dhV" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/effect/decal/warning_stripes/yellow,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -77613,14 +77403,14 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitepurplecorner"
},
/area/toxins/explab)
"dhW" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/effect/decal/warning_stripes/yellow/hollow,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -77628,6 +77418,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -77645,9 +77438,6 @@
},
/area/medical/research)
"dhY" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/effect/decal/warning_stripes/west,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -77655,12 +77445,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/simulated/floor/plasteel,
-/area/medical/research)
-"dhZ" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plasteel,
+/area/medical/research)
+"dhZ" = (
/obj/effect/landmark{
name = "lightsout"
},
@@ -77673,35 +77463,34 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/medical/research)
"dia" = (
+/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
dir = 2;
icon_state = "pipe-c"
},
-/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
/area/toxins/misc_lab)
"dib" = (
+/obj/effect/decal/warning_stripes/east,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/decal/warning_stripes/east,
/turf/simulated/floor/plasteel,
/area/medical/research)
"dic" = (
+/obj/effect/decal/warning_stripes/west,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/decal/warning_stripes/west,
/turf/simulated/floor/plasteel,
/area/toxins/misc_lab)
"did" = (
-/obj/structure/disposalpipe/junction{
- dir = 4;
- icon_state = "pipe-j2"
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -77710,6 +77499,9 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/toxins/misc_lab)
"die" = (
@@ -77759,26 +77551,25 @@
},
/area/medical/research)
"dii" = (
-/obj/structure/disposalpipe/sortjunction{
- dir = 1;
- name = "Robotics Junction";
- sortType = 13
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/medical/research)
"dij" = (
/obj/structure/disposalpipe/segment{
- dir = 2;
+ dir = 4;
icon_state = "pipe-c"
},
/turf/simulated/floor/plasteel{
- icon_state = "whitepurplecorner"
+ icon_state = "dark"
},
-/area/medical/research)
+/area/chapel/office)
"dik" = (
/turf/simulated/floor/plasteel{
dir = 1;
@@ -77884,7 +77675,6 @@
},
/area/assembly/chargebay)
"diu" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/camera{
c_tag = "Central Hallway South 2";
dir = 4
@@ -77979,6 +77769,9 @@
/area/maintenance/apmaint)
"diE" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -77989,6 +77782,9 @@
d2 = 4;
icon_state = "1-4"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whitepurplecorner"
@@ -78014,13 +77810,15 @@
name = "Medbay Cloning";
req_access_txt = "5"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitepurple"
},
/area/medical/genetics_cloning)
"diI" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -78035,6 +77833,10 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/junction{
+ dir = 1;
+ icon_state = "pipe-j2"
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -78046,6 +77848,9 @@
icon_state = "4-8";
tag = ""
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitepurplecorner"
@@ -78527,9 +78332,6 @@
/turf/simulated/floor/plasteel,
/area/toxins/misc_lab)
"djG" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -78542,15 +78344,15 @@
icon_state = "1-4";
tag = "90Curve"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitepurplecorner"
},
/area/crew_quarters/hor)
"djH" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -78569,15 +78371,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 6
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitepurple"
},
/area/crew_quarters/hor)
"djI" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -78590,16 +78392,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whitepurplecorner"
},
/area/crew_quarters/hor)
"djJ" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -78607,12 +78408,13 @@
tag = ""
},
/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel,
/area/toxins/misc_lab)
"djK" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -78630,14 +78432,14 @@
req_access = null;
req_access_txt = "30"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/crew_quarters/hor)
"djL" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -78650,16 +78452,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitepurplecorner"
},
/area/medical/research)
"djM" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -78674,6 +78475,15 @@
dir = 4;
initialize_directions = 11
},
+/obj/structure/disposalpipe/junction{
+ dir = 1;
+ icon_state = "pipe-j2"
+ },
+/obj/structure/disposalpipe/sortjunction{
+ dir = 2;
+ name = "RD Junction 1";
+ sortType = 13
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -78779,6 +78589,10 @@
dir = 1;
initialize_directions = 11
},
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -78788,6 +78602,9 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -78799,6 +78616,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitebluecorner"
},
@@ -78819,13 +78639,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitebluecorner"
},
/area/medical/medbay)
"dkg" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -78837,6 +78659,12 @@
initialize_directions = 11
},
/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/structure/disposalpipe/sortjunction{
+ dir = 1;
+ icon_state = "pipe-j2s";
+ name = "Genetics Junction";
+ sortType = 23
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -78861,6 +78689,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "whiteblue"
},
@@ -78982,12 +78813,12 @@
},
/area/medical/research)
"dkx" = (
+/obj/machinery/light,
+/obj/effect/decal/warning_stripes/yellow/hollow,
/obj/structure/disposalpipe/trunk{
dir = 1
},
/obj/machinery/disposal,
-/obj/machinery/light,
-/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitepurplecorner"
@@ -79074,9 +78905,6 @@
/turf/simulated/floor/plating,
/area/toxins/mixing)
"dkL" = (
-/obj/structure/disposalpipe/junction{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -79090,6 +78918,11 @@
tag = ""
},
/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/disposalpipe/sortjunction{
+ dir = 4;
+ name = "RD Junction 2";
+ sortType = 13
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitepurplecorner"
@@ -79115,9 +78948,6 @@
/turf/simulated/floor/engine,
/area/toxins/misc_lab)
"dkQ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -79131,6 +78961,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whitepurplecorner"
@@ -79175,9 +79008,6 @@
},
/area/crew_quarters/hor)
"dkU" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -79201,6 +79031,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -79229,12 +79062,12 @@
dir = 8;
initialize_directions = 11
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/medical/research)
"dkX" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -79306,7 +79139,6 @@
},
/area/medical/medbay)
"dle" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/alarm{
dir = 8;
pixel_x = 24
@@ -79401,6 +79233,7 @@
"dlq" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -79481,7 +79314,6 @@
/turf/simulated/wall,
/area/medical/surgery)
"dlA" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
},
@@ -79489,6 +79321,7 @@
dir = 10;
initialize_directions = 10
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "redbluefull"
},
@@ -79520,9 +79353,9 @@
},
/area/hallway/secondary/exit)
"dlE" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whitebluecorner"
@@ -79631,7 +79464,6 @@
},
/area/toxins/mixing)
"dlV" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable,
/obj/machinery/power/apc{
dir = 8;
@@ -79643,6 +79475,7 @@
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitepurplecorner"
@@ -79655,6 +79488,7 @@
d2 = 8;
icon_state = "4-8"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -79751,7 +79585,6 @@
/turf/simulated/floor/greengrid,
/area/assembly/chargebay)
"dmh" = (
-/obj/structure/disposalpipe/segment,
/obj/item/radio/intercom{
dir = 4;
pixel_x = 28
@@ -79886,9 +79719,9 @@
},
/area/medical/surgeryobs)
"dmA" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -80158,10 +79991,6 @@
},
/area/toxins/mixing)
"dnk" = (
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/machinery/disposal,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -80169,6 +79998,10 @@
tag = ""
},
/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/machinery/disposal,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitepurple"
@@ -80307,7 +80140,6 @@
},
/area/assembly/chargebay)
"dnC" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/warning_stripes/west,
/turf/simulated/floor/plasteel,
/area/hallway/primary/aft)
@@ -80315,12 +80147,6 @@
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/hallway/primary/aft)
-"dnE" = (
-/obj/structure/disposalpipe/segment,
-/turf/simulated/floor/plasteel{
- icon_state = "purplecorner"
- },
-/area/hallway/primary/aft)
"dnF" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/research{
@@ -80403,6 +80229,7 @@
name = "Genetics";
req_access_txt = "9"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -80592,7 +80419,6 @@
},
/area/medical/surgeryobs)
"doi" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 4;
initialize_directions = 11
@@ -80605,6 +80431,7 @@
d2 = 8;
icon_state = "2-8"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -80929,7 +80756,6 @@
},
/area/assembly/chargebay)
"doS" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/warning_stripes/west,
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
@@ -80980,7 +80806,6 @@
/turf/simulated/floor/greengrid,
/area/assembly/chargebay)
"doY" = (
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralcorner"
@@ -80995,11 +80820,6 @@
},
/area/hallway/primary/aft)
"dpa" = (
-/obj/structure/disposalpipe/sortjunction{
- dir = 1;
- name = "Genetics Junction";
- sortType = 13
- },
/turf/simulated/floor/plasteel{
icon_state = "purplecorner"
},
@@ -81026,9 +80846,6 @@
},
/area/assembly/chargebay)
"dpd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 6
},
@@ -81038,9 +80855,6 @@
},
/area/medical/genetics)
"dpe" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -81114,6 +80928,7 @@
"dpm" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -81134,7 +80949,6 @@
/turf/simulated/floor/grass,
/area/medical/genetics)
"dpr" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -81155,6 +80969,12 @@
dir = 8;
initialize_directions = 11
},
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/sortjunction{
+ dir = 1;
+ name = "CMO's Junction";
+ sortType = 10
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -81172,6 +80992,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitebluecorner"
},
@@ -81192,6 +81015,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -81290,6 +81117,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -81359,7 +81189,6 @@
},
/area/medical/surgeryobs)
"dpI" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -81367,6 +81196,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -81724,17 +81554,11 @@
},
/area/medical/cmo)
"dqw" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
/area/medical/genetics)
"dqx" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
},
@@ -81744,9 +81568,6 @@
},
/area/medical/genetics)
"dqz" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -81755,9 +81576,6 @@
},
/area/medical/genetics)
"dqA" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/hologram/holopad,
/obj/effect/landmark/start{
name = "Geneticist"
@@ -81768,15 +81586,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/medical/genetics)
"dqB" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 8
},
@@ -81802,7 +81617,6 @@
},
/area/medical/medbay)
"dqF" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -81811,6 +81625,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -82227,9 +82042,6 @@
},
/area/assembly/chargebay)
"drH" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
/area/medical/genetics)
@@ -82262,7 +82074,6 @@
},
/area/hallway/primary/aft)
"drL" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/sign/science{
pixel_x = -32;
pixel_y = 32
@@ -82273,7 +82084,6 @@
},
/area/hallway/primary/aft)
"drM" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/sign/science{
pixel_x = 32;
pixel_y = 32
@@ -82293,6 +82103,7 @@
/obj/effect/decal/warning_stripes/yellow,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -82369,13 +82180,6 @@
icon_state = "white"
},
/area/medical/genetics)
-"drY" = (
-/obj/structure/disposalpipe/segment,
-/turf/simulated/floor/plasteel{
- dir = 4;
- icon_state = "whitepurple"
- },
-/area/medical/genetics)
"drZ" = (
/obj/structure/window/reinforced,
/obj/structure/window/reinforced{
@@ -82416,6 +82220,7 @@
name = "kitty basket"
},
/mob/living/simple_animal/pet/cat/Runtime,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -82570,7 +82375,6 @@
},
/area/maintenance/port)
"dsu" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel{
@@ -82696,7 +82500,6 @@
},
/area/assembly/robotics)
"dsI" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel{
@@ -82839,9 +82642,6 @@
},
/area/medical/genetics)
"dsU" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/medical{
name = "Genetics Office";
@@ -82872,18 +82672,21 @@
/obj/structure/mirror{
pixel_y = -30
},
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/medical/genetics)
"dsY" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
/obj/machinery/newscaster{
pixel_y = -32
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whiteblue"
@@ -82912,10 +82715,6 @@
},
/area/medical/medbay)
"dtc" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -82924,19 +82723,11 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "whiteblue"
},
/area/medical/medbay)
-"dtd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/item/twohanded/required/kirbyplants,
-/turf/simulated/floor/plasteel{
- icon_state = "whitebluecorner"
- },
-/area/medical/medbay)
"dte" = (
/obj/item/twohanded/required/kirbyplants,
/obj/machinery/alarm{
@@ -82946,11 +82737,11 @@
/turf/simulated/floor/plasteel,
/area/gateway)
"dtf" = (
+/obj/effect/decal/warning_stripes/yellow/hollow,
/obj/structure/disposalpipe/trunk{
dir = 8
},
/obj/machinery/disposal,
-/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
/area/medical/genetics)
"dtg" = (
@@ -83083,7 +82874,6 @@
/turf/simulated/wall/r_wall,
/area/medical/research)
"dtq" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/hologram/holopad,
/obj/structure/cable{
d1 = 1;
@@ -83092,6 +82882,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 9;
icon_state = "darkblue"
@@ -83197,26 +82988,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
/area/hallway/secondary/construction)
-"dtC" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- tag = ""
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/plasteel{
- icon_state = "white"
- },
-/area/medical/medbay)
"dtD" = (
/obj/structure/cable{
d1 = 4;
@@ -83447,12 +83218,6 @@
icon_state = "whitepurplecorner"
},
/area/crew_quarters/hor)
-"duc" = (
-/obj/structure/disposalpipe/segment,
-/turf/simulated/floor/plasteel{
- icon_state = "whitepurplecorner"
- },
-/area/medical/research)
"due" = (
/obj/structure/cable{
d1 = 1;
@@ -83547,10 +83312,6 @@
/turf/simulated/wall,
/area/medical/morgue)
"dul" = (
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/obj/machinery/disposal,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -83558,6 +83319,10 @@
tag = ""
},
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -83579,6 +83344,7 @@
req_access_txt = "5"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/medical/morgue)
"dur" = (
@@ -83921,6 +83687,7 @@
req_access_txt = "29"
},
/obj/effect/decal/warning_stripes/south,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/maintenance/fpmaint2)
"dva" = (
@@ -83990,16 +83757,15 @@
},
/area/medical/research)
"dvj" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitepurplecorner"
},
@@ -84162,6 +83928,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/medical/morgue)
"dvE" = (
@@ -84283,10 +84050,10 @@
/turf/simulated/floor/plating,
/area/medical/research)
"dvQ" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 5
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 10;
icon_state = "darkblue"
@@ -84564,7 +84331,6 @@
},
/area/hallway/primary/aft)
"dwu" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/camera{
c_tag = "Central Hallway South 3";
dir = 8
@@ -84638,6 +84404,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/medical/morgue)
"dwF" = (
@@ -85131,6 +84898,7 @@
icon_state = "2-8";
tag = ""
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -85141,22 +84909,19 @@
/turf/simulated/floor/plasteel,
/area/assembly/robotics)
"dxA" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
},
/obj/effect/landmark/start{
name = "Medical Doctor"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "cmo"
},
/area/medical/medbay)
"dxB" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/research/glass{
name = "Robotics Lab";
@@ -85168,15 +84933,14 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/assembly/robotics)
"dxC" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/effect/decal/warning_stripes/yellow,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -85184,6 +84948,11 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/sortjunction{
+ dir = 4;
+ name = "Robotics Junction";
+ sortType = 14
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -85202,6 +84971,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel,
/area/assembly/robotics)
"dxE" = (
@@ -85216,8 +84989,9 @@
},
/area/medical/research)
"dxF" = (
-/obj/structure/disposalpipe/junction{
- dir = 1
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
},
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
@@ -85242,9 +85016,8 @@
},
/area/medical/morgue)
"dxH" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
+/obj/structure/disposalpipe/junction{
+ dir = 4
},
/turf/simulated/floor/plasteel{
icon_state = "dark"
@@ -85268,6 +85041,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -85286,6 +85062,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -85309,6 +85088,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -85327,6 +85109,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -85355,6 +85140,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/medical/morgue)
"dxR" = (
@@ -85374,6 +85162,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/medical/morgue)
"dxS" = (
@@ -85390,6 +85181,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/medical/morgue)
"dxT" = (
@@ -85414,6 +85208,10 @@
dir = 4;
initialize_directions = 11
},
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -85486,12 +85284,12 @@
},
/area/medical/medbay)
"dya" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/medical{
name = "Operating Theatre Storage";
req_access_txt = "45"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
@@ -85812,17 +85610,18 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/medical/research)
"dyM" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/rack,
/obj/item/storage/firstaid,
/obj/item/storage/firstaid,
/obj/item/paicard,
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -85838,6 +85637,7 @@
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/assembly/robotics)
"dyO" = (
@@ -85875,11 +85675,11 @@
/turf/simulated/floor/plasteel,
/area/assembly/robotics)
"dyU" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
dir = 8;
pixel_x = -24
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "vault"
@@ -85944,9 +85744,6 @@
/turf/simulated/floor/plasteel,
/area/medical/morgue)
"dzi" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 4;
@@ -85961,6 +85758,9 @@
icon_state = "4-8";
tag = ""
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/maintenance/starboard)
"dzj" = (
@@ -86002,8 +85802,8 @@
},
/area/medical/cmo)
"dzm" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
@@ -86443,6 +86243,7 @@
icon_state = "1-4";
tag = "90Curve"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -86462,10 +86263,6 @@
},
/area/medical/research)
"dzV" = (
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/machinery/disposal,
/obj/structure/cable{
d2 = 4;
icon_state = "0-4"
@@ -86476,6 +86273,10 @@
pixel_x = -24
},
/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/machinery/disposal,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -86494,6 +86295,7 @@
tag = ""
},
/obj/effect/decal/warning_stripes/southwest,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/assembly/robotics)
"dzX" = (
@@ -86634,6 +86436,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -86694,24 +86499,21 @@
},
/area/medical/medbay)
"dAu" = (
-/obj/structure/disposalpipe/junction{
- dir = 1;
- icon_state = "pipe-y"
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9
},
+/obj/structure/disposalpipe/junction{
+ dir = 1;
+ icon_state = "pipe-y"
+ },
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
/area/medical/surgery2)
"dAv" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/camera{
c_tag = "Medbay Surgery East Storage";
dir = 1
@@ -86719,16 +86521,19 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
/area/medical/surgery2)
"dAw" = (
+/obj/machinery/iv_drip,
/obj/structure/disposalpipe/segment{
dir = 8;
icon_state = "pipe-c"
},
-/obj/machinery/iv_drip,
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
@@ -87095,7 +86900,6 @@
},
/area/toxins/server)
"dBh" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -87110,10 +86914,10 @@
/obj/effect/decal/warning_stripes/south,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/medical/research)
"dBj" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
dir = 4;
pixel_x = 24
@@ -87124,6 +86928,7 @@
icon_state = "1-2";
tag = ""
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
@@ -87182,11 +86987,11 @@
},
/area/crew_quarters/theatre)
"dBt" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -87239,7 +87044,6 @@
/turf/simulated/floor/plasteel,
/area/maintenance/apmaint)
"dBD" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -87330,7 +87134,6 @@
},
/area/hallway/primary/aft)
"dBQ" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -87343,6 +87146,7 @@
icon_state = "1-8";
tag = ""
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
@@ -87357,9 +87161,6 @@
},
/area/hallway/primary/aft)
"dBS" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/centcom{
id_tag = null;
@@ -87367,6 +87168,9 @@
opacity = 1;
req_access_txt = "6"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -87810,6 +87614,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/apmaint)
"dCW" = (
@@ -87875,7 +87680,6 @@
/turf/simulated/floor/plasteel,
/area/hallway/primary/aft)
"dDb" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -87907,13 +87711,13 @@
},
/area/hallway/primary/aft)
"dDd" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
@@ -88418,7 +88222,6 @@
/turf/simulated/floor/plasteel,
/area/hallway/primary/aft)
"dEm" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/effect/decal/warning_stripes/yellow,
/obj/machinery/door/airlock/public/glass,
@@ -88432,6 +88235,7 @@
tag = ""
},
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -88879,6 +88683,7 @@
name = "blobstart"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/maintenance/apmaint)
"dFu" = (
@@ -89105,9 +88910,6 @@
/turf/simulated/floor/plasteel,
/area/maintenance/apmaint)
"dGa" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/effect/spawner/window/reinforced,
/obj/structure/cable{
d2 = 4;
@@ -89139,6 +88941,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/maintenance/apmaint)
"dGh" = (
@@ -89163,10 +88966,10 @@
},
/area/hallway/primary/aft)
"dGm" = (
+/obj/machinery/vending/snack,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/vending/snack,
/turf/simulated/floor/plasteel,
/area/hallway/primary/aft)
"dGn" = (
@@ -89470,7 +89273,6 @@
},
/area/assembly/robotics)
"dGU" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
@@ -89988,6 +89790,7 @@
dir = 4;
initialize_directions = 11
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/maintenance/apmaint)
"dHN" = (
@@ -90021,11 +89824,10 @@
},
/area/assembly/robotics)
"dHS" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/machinery/vending/cigarette,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/hallway/primary/aft)
"dHT" = (
@@ -90048,6 +89850,10 @@
/obj/machinery/light{
dir = 4
},
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/machinery/disposal,
/turf/simulated/floor/plasteel,
/area/hallway/primary/aft)
"dHX" = (
@@ -90160,7 +89966,6 @@
/turf/simulated/floor/engine,
/area/toxins/misc_lab)
"dIi" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/camera{
c_tag = "Research Central Hall";
dir = 8;
@@ -90336,6 +90141,10 @@
"dIC" = (
/obj/effect/decal/warning_stripes/yellow/hollow,
/obj/structure/closet/wardrobe/toxins_white,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/machinery/disposal,
/turf/simulated/floor/plasteel{
dir = 10;
icon_state = "neutral"
@@ -90361,6 +90170,7 @@
/obj/machinery/door/airlock/maintenance,
/obj/effect/decal/warning_stripes/south,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/maintenance/apmaint)
"dIH" = (
@@ -90713,6 +90523,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/decal/warning_stripes/northwest,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
"dJC" = (
@@ -90720,6 +90534,11 @@
pixel_y = 32
},
/obj/effect/decal/warning_stripes/north,
+/obj/structure/disposalpipe/sortjunction{
+ dir = 4;
+ name = "Chapel Junction";
+ sortType = 17
+ },
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
"dJD" = (
@@ -91200,14 +91019,14 @@
},
/area/chapel/main)
"dKO" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/centcom{
name = "Chapel";
opacity = 1
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -91227,7 +91046,6 @@
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
"dKV" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -91251,6 +91069,7 @@
dir = 8;
initialize_directions = 11
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -91554,13 +91373,13 @@
},
/area/chapel/main)
"dLx" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
/obj/structure/disposalpipe/segment{
dir = 4;
icon_state = "pipe-c"
},
-/obj/machinery/atmospherics/unary/vent_scrubber/on{
- dir = 8
- },
/turf/simulated/floor/plasteel{
icon_state = "grimy"
},
@@ -91574,9 +91393,6 @@
},
/area/chapel/main)
"dLz" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 1;
d2 = 4;
@@ -91585,32 +91401,36 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/decal/warning_stripes/west,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/simulated/floor/plasteel,
-/area/hallway/secondary/exit)
-"dLA" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
+/turf/simulated/floor/plasteel,
+/area/hallway/secondary/exit)
+"dLA" = (
/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
"dLD" = (
/obj/machinery/door/airlock/public/glass,
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/warning_stripes/south,
/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
"dLE" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8";
tag = ""
},
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -91697,7 +91517,6 @@
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
"dLP" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/structure/cable{
d1 = 1;
@@ -91713,6 +91532,7 @@
/obj/machinery/holosign/surgery{
id = "surgery2"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -91882,9 +91702,6 @@
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
"dMr" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -91895,10 +91712,6 @@
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
"dMs" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 8
},
@@ -91936,10 +91749,6 @@
},
/area/medical/virology)
"dMx" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -91957,15 +91766,16 @@
icon_state = "2-4";
tag = ""
},
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whitegreen"
},
/area/medical/virology)
"dMy" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -91978,14 +91788,14 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/medical/virology)
"dMz" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -92009,6 +91819,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitegreen"
@@ -92032,9 +91845,6 @@
},
/area/medical/virology)
"dMB" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -92063,14 +91873,14 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
/area/medical/virology)
"dMC" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -92083,16 +91893,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitegreencorner"
},
/area/medical/virology)
"dMD" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -92112,6 +91921,10 @@
dir = 4;
initialize_directions = 11
},
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -92239,8 +92052,8 @@
},
/area/chapel/main)
"dMW" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/chair/wood,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "chapel"
@@ -92322,13 +92135,13 @@
},
/area/medical/virology)
"dNk" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
tag = ""
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitegreen"
@@ -92522,8 +92335,8 @@
},
/area/chapel/main)
"dNM" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/chair/wood,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "chapel"
@@ -92652,7 +92465,6 @@
},
/area/medical/virology)
"dOe" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -92667,6 +92479,7 @@
dir = 8;
initialize_directions = 11
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -92964,7 +92777,6 @@
},
/area/medical/virology)
"dOH" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -92973,6 +92785,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -93169,7 +92982,6 @@
},
/area/medical/virology)
"dPk" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -93187,6 +92999,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "whitegreen"
},
@@ -93207,7 +93020,6 @@
},
/area/medical/virology)
"dPn" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -93215,6 +93027,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "whiteblue"
},
@@ -93502,10 +93315,10 @@
/turf/simulated/wall/r_wall/rust,
/area/medical/virology)
"dPT" = (
-/obj/structure/disposalpipe/segment,
/obj/effect/spawner/window/reinforced,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/simple/hidden/universal,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/medical/virology)
"dPU" = (
@@ -93589,6 +93402,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -93722,7 +93538,6 @@
},
/area/assembly/robotics)
"dQr" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/power/apc{
dir = 4;
name = "east bump";
@@ -93732,6 +93547,7 @@
d2 = 2;
icon_state = "0-2"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "neutralcorner"
},
@@ -93788,9 +93604,6 @@
},
/area/medical/virology)
"dQw" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -93804,6 +93617,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whitegreen"
@@ -94201,10 +94017,6 @@
},
/area/medical/virology)
"dRh" = (
-/obj/machinery/disposal,
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -94212,6 +94024,10 @@
tag = ""
},
/obj/effect/decal/warning_stripes/northeast,
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitegreencorner"
@@ -94361,10 +94177,10 @@
},
/area/medical/surgery2)
"dRz" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 8
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -94487,12 +94303,12 @@
/turf/simulated/wall,
/area/chapel/main)
"dRP" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/airlock/centcom{
name = "Chapel Office";
opacity = 1;
req_access_txt = "27"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -94632,6 +94448,9 @@
on = 1
},
/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -94640,12 +94459,9 @@
/obj/machinery/alarm{
pixel_y = 24
},
-/turf/simulated/floor/plasteel{
- icon_state = "dark"
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/area/chapel/office)
-"dSl" = (
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -94819,6 +94635,7 @@
dir = 1;
pixel_x = -28
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -94836,13 +94653,6 @@
icon_state = "grimy"
},
/area/chapel/office)
-"dSM" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/chair/office/dark,
-/turf/simulated/floor/plasteel{
- icon_state = "grimy"
- },
-/area/chapel/office)
"dSN" = (
/obj/item/twohanded/required/kirbyplants,
/turf/simulated/floor/plasteel{
@@ -94879,7 +94689,10 @@
/area/maintenance/apmaint)
"dST" = (
/obj/effect/decal/warning_stripes/north,
-/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
"dSU" = (
@@ -94894,7 +94707,6 @@
},
/area/hallway/secondary/exit)
"dSV" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/alarm{
dir = 4;
pixel_x = -24
@@ -94928,13 +94740,6 @@
},
/turf/simulated/floor/plating,
/area/hallway/secondary/exit)
-"dSZ" = (
-/obj/structure/disposalpipe/segment,
-/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "neutralfull"
- },
-/area/hallway/secondary/exit)
"dTa" = (
/obj/structure/flora/ausbushes/ywflowers,
/obj/structure/flora/ausbushes/brflowers,
@@ -94947,9 +94752,6 @@
/turf/simulated/floor/grass,
/area/hallway/secondary/exit)
"dTe" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/research/glass{
name = "Experimentor";
@@ -94961,6 +94763,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -94997,7 +94802,6 @@
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
"dTi" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/power/apc{
dir = 8;
name = "west bump";
@@ -95103,10 +94907,6 @@
},
/area/chapel/office)
"dTr" = (
-/obj/structure/disposalpipe/trunk{
- dir = 4
- },
-/obj/machinery/disposal,
/obj/machinery/light/small{
dir = 1
},
@@ -95114,22 +94914,24 @@
pixel_x = -26;
pixel_y = -4
},
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/machinery/disposal,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
/area/chapel/office)
"dTs" = (
/obj/structure/disposalpipe/segment{
- dir = 4
+ dir = 8;
+ icon_state = "pipe-c"
},
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
/area/chapel/office)
"dTt" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plasteel{
icon_state = "grimy"
@@ -95146,9 +94948,6 @@
},
/area/medical/virology)
"dTv" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -95166,15 +94965,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whitegreen"
},
/area/medical/virology)
"dTw" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/table/wood,
/obj/item/flashlight/lamp,
/turf/simulated/floor/carpet,
@@ -95280,7 +95079,6 @@
},
/area/hallway/secondary/exit)
"dTJ" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -95292,22 +95090,6 @@
icon_state = "red"
},
/area/hallway/secondary/exit)
-"dTK" = (
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- tag = ""
- },
-/obj/structure/disposalpipe/sortjunction{
- name = "Chapel Junction";
- sortType = 17
- },
-/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "neutralfull"
- },
-/area/hallway/secondary/exit)
"dTV" = (
/obj/machinery/power/solar{
name = "Aft Starboard Solar Panel"
@@ -95403,10 +95185,6 @@
/turf/simulated/floor/carpet,
/area/chapel/office)
"dUg" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
/obj/structure/table/wood,
/obj/item/folder,
/obj/item/pen,
@@ -95434,7 +95212,6 @@
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
"dUk" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -95762,22 +95539,6 @@
/obj/effect/decal/warning_stripes/southwest,
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
-"dUU" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "neutralfull"
- },
-/area/hallway/secondary/exit)
"dUY" = (
/obj/machinery/light,
/obj/machinery/alarm{
@@ -95818,21 +95579,6 @@
temperature = 80
},
/area/toxins/server)
-"dVe" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "neutralfull"
- },
-/area/hallway/secondary/exit)
"dVj" = (
/obj/structure/cable{
d1 = 4;
@@ -95910,11 +95656,6 @@
icon_state = "dark"
},
/area/medical/cmo)
-"dVw" = (
-/obj/machinery/disposal,
-/obj/structure/disposalpipe/trunk,
-/turf/simulated/floor/plasteel,
-/area/hallway/primary/aft)
"dVx" = (
/obj/structure/table/wood,
/obj/item/ashtray/plastic,
@@ -96036,14 +95777,14 @@
/turf/simulated/floor/plating,
/area/engine/engineering)
"dWj" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/research/glass{
name = "Research Division";
req_access_txt = "47"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -96111,12 +95852,12 @@
/turf/simulated/floor/plasteel,
/area/toxins/mixing)
"dWp" = (
-/obj/structure/disposalpipe/trunk,
-/obj/machinery/disposal,
/obj/structure/window/reinforced{
dir = 4
},
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/structure/disposalpipe/trunk,
+/obj/machinery/disposal,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -96158,8 +95899,6 @@
},
/area/toxins/xenobiology)
"dWs" = (
-/obj/structure/disposalpipe/trunk,
-/obj/machinery/disposal,
/obj/structure/window/reinforced{
dir = 4
},
@@ -96168,6 +95907,8 @@
pixel_y = -32
},
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/structure/disposalpipe/trunk,
+/obj/machinery/disposal,
/turf/simulated/floor/plasteel{
icon_state = "white"
},
@@ -96322,17 +96063,16 @@
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 4
},
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
},
/area/hallway/primary/aft)
"dWM" = (
-/obj/structure/disposalpipe/junction{
- dir = 8
- },
/obj/machinery/vending/coffee,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/hallway/primary/aft)
"dWN" = (
@@ -96342,22 +96082,12 @@
icon_state = "dark"
},
/area/medical/cmo)
-"dWO" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/firedoor,
-/obj/effect/decal/warning_stripes/yellow,
-/turf/simulated/floor/plasteel{
- icon_state = "neutralcorner"
- },
-/area/hallway/primary/central)
"dWP" = (
+/obj/effect/decal/warning_stripes/yellow,
/obj/structure/disposalpipe/trunk{
dir = 1
},
/obj/machinery/disposal,
-/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -96449,21 +96179,21 @@
/turf/simulated/floor/plating/airless,
/area/medical/virology)
"dWY" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
/obj/structure/disposalpipe/segment{
dir = 1;
icon_state = "pipe-c"
},
-/obj/machinery/atmospherics/pipe/simple/hidden{
- dir = 9
- },
/turf/simulated/floor/plating/airless,
/area/medical/virology)
"dWZ" = (
+/obj/effect/decal/warning_stripes/north,
/obj/structure/disposalpipe/segment{
dir = 2;
icon_state = "pipe-c"
},
-/obj/effect/decal/warning_stripes/north,
/turf/simulated/floor/plating/airless,
/area/medical/virology)
"dXa" = (
@@ -96510,11 +96240,11 @@
/turf/simulated/floor/plating/airless,
/area/medical/virology)
"dXe" = (
+/obj/effect/decal/warning_stripes/south,
/obj/structure/disposalpipe/trunk{
dir = 1
},
/obj/structure/disposaloutlet,
-/obj/effect/decal/warning_stripes/south,
/turf/simulated/floor/plating/airless,
/area/medical/virology)
"dXf" = (
@@ -96564,7 +96294,6 @@
},
/area/medical/virology)
"dXj" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass,
/turf/simulated/floor/plasteel,
@@ -96592,7 +96321,6 @@
/turf/simulated/floor/plasteel,
/area/maintenance/apmaint)
"dXm" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/door/airlock/security/glass{
name = "Holding Area";
req_access_txt = "63"
@@ -96702,13 +96430,13 @@
},
/area/medical/research)
"dXw" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
@@ -96993,10 +96721,6 @@
},
/area/medical/genetics)
"dYi" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -97029,19 +96753,7 @@
icon_state = "whitepurplecorner"
},
/area/medical/genetics)
-"dYk" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
-/turf/simulated/floor/plasteel{
- icon_state = "white"
- },
-/area/medical/genetics)
"dYl" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
@@ -97578,9 +97290,6 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "purplecorner"
@@ -97681,6 +97390,14 @@
icon_state = "barber"
},
/area/security/permabrig)
+"eOL" = (
+/obj/structure/disposalpipe/junction{
+ dir = 8
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
+ },
+/area/medical/research)
"ePS" = (
/obj/structure/lattice,
/turf/simulated/wall/r_wall,
@@ -97707,9 +97424,6 @@
},
/area/crew_quarters/theatre)
"eSe" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/airlock/medical{
name = "Operating Theatre Storage";
req_access_txt = "45"
@@ -97720,12 +97434,19 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
/area/medical/surgery2)
"eSX" = (
/obj/item/twohanded/required/kirbyplants,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "redcorner"
@@ -97819,6 +97540,14 @@
/obj/item/seeds/chili,
/turf/simulated/floor/plasteel,
/area/security/permabrig)
+"ffm" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
+ },
+/area/medical/psych)
"fhF" = (
/turf/space,
/area/shuttle/gamma/station)
@@ -98052,16 +97781,16 @@
/turf/simulated/floor/plating,
/area/security/brig)
"fVZ" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
@@ -98101,6 +97830,9 @@
icon_state = "4-8"
},
/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "red"
@@ -98149,9 +97881,6 @@
},
/area/security/processing)
"gxd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/chair{
dir = 1
},
@@ -98222,7 +97951,6 @@
/turf/simulated/floor/plating,
/area/hallway/secondary/exit)
"gGu" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -98231,6 +97959,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/starboard2)
"gGJ" = (
@@ -98446,8 +98175,10 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
+ },
+/area/medical/psych)
"hzb" = (
/obj/machinery/light{
dir = 4
@@ -98488,6 +98219,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/sortjunction{
+ dir = 1;
+ name = "HoS Junction";
+ sortType = 7
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "red"
@@ -98553,9 +98290,6 @@
/turf/simulated/wall,
/area/magistrateoffice)
"hTW" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/camera{
c_tag = "Medbay Surgery East Storage";
dir = 1
@@ -98564,16 +98298,13 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
/area/medical/surgery1)
-"hZF" = (
-/turf/simulated/floor/plasteel{
- dir = 1;
- icon_state = "redcorner"
- },
-/area/hallway/primary/starboard)
"ibc" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -98616,15 +98347,15 @@
/turf/simulated/floor/plasteel,
/area/security/securearmoury)
"ifj" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
@@ -98688,9 +98419,6 @@
},
/area/maintenance/starboard)
"iDa" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door_control{
id = "magistrate";
name = "Privacy Shutters Control";
@@ -98698,6 +98426,9 @@
},
/obj/structure/table/wood,
/obj/machinery/computer/secure_data/laptop,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "cult"
},
@@ -98722,6 +98453,18 @@
icon_state = "whiteblue"
},
/area/medical/surgery2)
+"iIY" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/table/wood,
+/obj/item/storage/briefcase,
+/obj/machinery/light_switch{
+ pixel_x = -26;
+ pixel_y = -4
+ },
+/turf/simulated/floor/wood,
+/area/medical/psych)
"iKj" = (
/obj/machinery/light_switch{
pixel_x = -23;
@@ -98798,6 +98541,12 @@
/obj/effect/decal/warning_stripes/south,
/turf/simulated/floor/plasteel,
/area/security/securearmoury)
+"iWE" = (
+/turf/simulated/floor/plasteel{
+ dir = 1;
+ icon_state = "whitebluecorner"
+ },
+/area/medical/psych)
"iXX" = (
/obj/structure/cable{
d1 = 1;
@@ -98857,6 +98606,9 @@
icon_state = "2-8"
},
/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -98868,9 +98620,9 @@
},
/area/engine/break_room)
"jkU" = (
+/obj/effect/decal/warning_stripes/yellow/hollow,
/obj/structure/disposalpipe/trunk,
/obj/machinery/disposal,
-/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
@@ -98885,6 +98637,26 @@
icon_state = "redcorner"
},
/area/security/permasolitary)
+"jsi" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ tag = ""
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
+ },
+/area/medical/psych)
"jsV" = (
/obj/structure/cable{
d1 = 4;
@@ -98925,14 +98697,14 @@
},
/area/security/warden)
"jCU" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/structure/sign/poster/official/random{
pixel_y = 32
},
/obj/structure/filingcabinet,
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
icon_state = "cult"
},
@@ -98963,6 +98735,34 @@
},
/turf/simulated/floor/plasteel,
/area/security/seceqstorage)
+"jKp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ tag = ""
+ },
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "whitebluecorner"
+ },
+/area/medical/psych)
+"jLB" = (
+/obj/effect/spawner/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/medical/research)
"jQY" = (
/turf/simulated/wall/r_wall,
/area/security/seceqstorage)
@@ -98977,7 +98777,6 @@
},
/area/hallway/primary/central)
"jUH" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -99014,7 +98813,6 @@
/turf/simulated/floor/plating,
/area/security/seceqstorage)
"khY" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -99023,6 +98821,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/maintenance/starboard2)
"kii" = (
@@ -99053,6 +98852,13 @@
},
/turf/simulated/floor/plasteel,
/area/security/permabrig)
+"kjL" = (
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plasteel{
+ dir = 1;
+ icon_state = "whitebluecorner"
+ },
+/area/medical/medbay)
"kkM" = (
/obj/vehicle/secway,
/obj/item/key/security,
@@ -99061,6 +98867,12 @@
icon_state = "vault"
},
/area/security/securearmoury)
+"klh" = (
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "whitebluecorner"
+ },
+/area/medical/psych)
"klk" = (
/obj/machinery/firealarm{
dir = 1;
@@ -99120,29 +98932,18 @@
},
/area/security/detectives_office)
"kyq" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/table/reinforced,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "vault"
},
/area/security/prisonershuttle)
-"kzg" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/spawner/window/reinforced,
-/obj/structure/cable{
- d2 = 2;
- icon_state = "0-2"
- },
-/turf/simulated/floor/plating,
-/area/security/warden)
"kCi" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -99202,9 +99003,9 @@
},
/area/security/securearmoury)
"kVM" = (
+/obj/effect/decal/warning_stripes/yellow/hollow,
/obj/structure/disposalpipe/trunk,
/obj/machinery/disposal,
-/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
@@ -99276,31 +99077,6 @@
icon_state = "red"
},
/area/security/seceqstorage)
-"loP" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/cable{
- d1 = 2;
- d2 = 4;
- icon_state = "2-4";
- tag = ""
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "neutralfull"
- },
-/area/security/brig)
"lso" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -99327,9 +99103,6 @@
},
/area/crew_quarters/courtroom)
"ltY" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -99343,6 +99116,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/maintenance/starboard)
"luc" = (
@@ -99604,6 +99380,16 @@
icon_state = "redcorner"
},
/area/security/permabrig)
+"mnG" = (
+/obj/item/twohanded/required/kirbyplants,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/simulated/floor/plasteel{
+ dir = 8;
+ icon_state = "whitepurplecorner"
+ },
+/area/medical/research)
"moa" = (
/obj/structure/window/reinforced{
dir = 8
@@ -99652,7 +99438,6 @@
/turf/simulated/floor/plasteel,
/area/security/permabrig)
"mtR" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -99723,6 +99508,9 @@
d2 = 8;
icon_state = "4-8"
},
+/obj/structure/disposalpipe/junction{
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "redcorner"
@@ -99734,28 +99522,17 @@
},
/turf/simulated/floor/plasteel,
/area/security/permasolitary)
-"mHf" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
-/turf/simulated/floor/plasteel{
- dir = 4;
- icon_state = "red"
- },
-/area/security/brig)
"mHP" = (
-/obj/structure/disposalpipe/sortjunction{
- dir = 1;
- name = "Security Junction";
- sortType = 13
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "redcorner"
@@ -99838,6 +99615,15 @@
},
/turf/simulated/floor/plating,
/area/hallway/secondary/entry)
+"mZY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
+ },
+/area/medical/genetics_cloning)
"nbE" = (
/obj/machinery/hydroponics/constructable,
/obj/item/seeds/ambrosia,
@@ -99914,12 +99700,6 @@
icon_state = "barber"
},
/area/security/permabrig)
-"nkh" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/simulated/floor/plasteel,
-/area/security/processing)
"nli" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/poster/official/cleanliness{
@@ -99934,9 +99714,7 @@
icon_state = "4-8";
tag = ""
},
-/obj/machinery/computer/security{
- network = list("SS13","Mining Outpost")
- },
+/obj/machinery/computer/security,
/turf/simulated/floor/plasteel{
icon_state = "redfull"
},
@@ -100066,7 +99844,6 @@
},
/area/security/permasolitary)
"nQq" = (
-/obj/structure/disposalpipe/segment,
/obj/machinery/atm{
pixel_x = 32
},
@@ -100178,10 +99955,6 @@
/turf/simulated/floor/plating,
/area/security/detectives_office)
"osS" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -100194,6 +99967,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
@@ -100302,9 +100079,6 @@
},
/area/hallway/primary/central)
"pgF" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/security/glass{
id_tag = "BrigWest";
@@ -100325,6 +100099,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/security/brig)
"phv" = (
@@ -100375,6 +100152,15 @@
/obj/item/clothing/head/fedora,
/turf/simulated/floor/plating,
/area/security/detectives_office)
+"pDD" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/simulated/floor/plasteel{
+ dir = 1;
+ icon_state = "whitebluecorner"
+ },
+/area/medical/psych)
"pGr" = (
/obj/structure/cable{
d1 = 1;
@@ -100446,6 +100232,10 @@
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "red"
@@ -100742,6 +100532,7 @@
dir = 8;
network = list("SS13","Security")
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "red"
@@ -100758,17 +100549,6 @@
icon_state = "darkblue"
},
/area/medical/surgery2)
-"rjr" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
-/turf/simulated/floor/plasteel{
- icon_state = "neutralcorner"
- },
-/area/hallway/primary/central)
"rkB" = (
/obj/structure/cable{
d1 = 2;
@@ -100844,6 +100624,13 @@
/obj/effect/spawner/window/reinforced,
/turf/simulated/floor/plating,
/area/security/brig)
+"rHU" = (
+/obj/structure/chair,
+/turf/simulated/floor/plasteel{
+ dir = 1;
+ icon_state = "whitebluecorner"
+ },
+/area/medical/psych)
"rNi" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -100967,6 +100754,11 @@
},
/turf/simulated/floor/plasteel,
/area/security/permabrig)
+"sak" = (
+/obj/structure/table/wood,
+/obj/machinery/computer/med_data/laptop,
+/turf/simulated/floor/wood,
+/area/medical/psych)
"scA" = (
/obj/machinery/firealarm{
dir = 8;
@@ -101009,13 +100801,20 @@
},
/turf/simulated/floor/plating,
/area/hallway/secondary/entry)
-"soN" = (
+"sjV" = (
/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plasteel{
+ dir = 1;
+ icon_state = "whitepurple"
+ },
+/area/medical/research)
+"soN" = (
/obj/machinery/computer/operating,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "darkblue"
@@ -101083,13 +100882,15 @@
icon_state = "4-8"
},
/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "red"
},
/area/security/processing)
"sEN" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -101160,6 +100961,14 @@
icon_state = "redcorner"
},
/area/security/brig)
+"sYw" = (
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk,
+/turf/simulated/floor/plasteel{
+ dir = 1;
+ icon_state = "whitebluecorner"
+ },
+/area/medical/medbay)
"sYQ" = (
/obj/structure/cable{
d1 = 4;
@@ -101180,10 +100989,8 @@
},
/area/maintenance/starboard)
"tah" = (
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "red"
@@ -101328,6 +101135,9 @@
req_access_txt = "3"
},
/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/security/warden)
"tHf" = (
@@ -101338,7 +101148,6 @@
/turf/simulated/floor/plating,
/area/crew_quarters/theatre)
"tJH" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -101362,6 +101171,16 @@
icon_state = "neutralfull"
},
/area/security/brig)
+"tNq" = (
+/obj/item/radio/intercom{
+ dir = 1;
+ pixel_x = 28
+ },
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "whitebluecorner"
+ },
+/area/medical/psych)
"tNO" = (
/obj/structure/cable{
d1 = 2;
@@ -101413,12 +101232,14 @@
},
/area/security/brig)
"tRM" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 2;
d2 = 4;
icon_state = "2-4"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "red"
@@ -101528,9 +101349,6 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plasteel{
icon_state = "bluecorner"
},
@@ -101644,6 +101462,23 @@
icon_state = "vault"
},
/area/security/securearmoury)
+"uKI" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
+ },
+/area/security/medbay)
"uQK" = (
/obj/machinery/bodyscanner,
/turf/simulated/floor/plasteel{
@@ -101651,17 +101486,6 @@
icon_state = "whiteblue"
},
/area/medical/surgery2)
-"uSJ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/spawner/window/reinforced,
-/obj/structure/cable{
- d2 = 2;
- icon_state = "0-2"
- },
-/turf/simulated/floor/plating,
-/area/security/main)
"uUu" = (
/obj/effect/decal/cleanable/cobweb,
/obj/effect/decal/cleanable/dirt,
@@ -101771,6 +101595,9 @@
network = list("Interrogation");
pixel_y = -30
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -102216,6 +102043,18 @@
/obj/structure/barricade/wooden,
/turf/simulated/floor/plasteel,
/area/security/detectives_office)
+"xme" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plasteel{
+ icon_state = "whitepurple"
+ },
+/area/medical/research)
"xom" = (
/obj/effect/decal/warning_stripes/north,
/obj/machinery/navbeacon{
@@ -102230,6 +102069,12 @@
},
/turf/simulated/floor/plasteel,
/area/security/securearmoury)
+"xpu" = (
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
+ },
+/area/medical/research)
"xqH" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -102292,15 +102137,15 @@
},
/area/security/warden)
"xHj" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "showroomfloor"
},
@@ -102351,9 +102196,6 @@
},
/area/hallway/primary/starboard)
"xQW" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -102369,6 +102211,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/maintenance/starboard)
"xUI" = (
@@ -102409,6 +102254,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -136316,8 +136164,8 @@ dau
dau
cYs
dau
-dbR
-ddw
+dbP
+cPn
dBD
dgq
did
@@ -136830,7 +136678,7 @@ cKF
cYo
cYu
daB
-dbV
+dbP
cPn
dff
dff
@@ -137344,7 +137192,7 @@ cWN
cIW
cYv
cKF
-dbV
+dbP
cPn
dfg
dgt
@@ -137601,7 +137449,7 @@ cWO
cIW
cYz
cKF
-dbV
+dbP
cPn
dfh
dhN
@@ -137858,7 +137706,7 @@ cWP
cIW
cYA
cKF
-dbV
+dbP
cPn
dfi
dhO
@@ -138107,7 +137955,7 @@ cZt
cIW
cIW
cIW
-cRc
+jLB
cZt
cZt
cZt
@@ -138115,7 +137963,7 @@ cZt
cZt
cZt
dtS
-dbV
+dbP
cPn
dfj
dhP
@@ -138158,7 +138006,7 @@ dQl
dQY
dXI
dJx
-dSi
+dij
dSJ
dTs
dml
@@ -138364,7 +138212,7 @@ cKw
cMd
cND
cPn
-aKA
+mnG
cSm
cZt
cTU
@@ -138372,7 +138220,7 @@ cVq
cXb
cZt
cKF
-dbV
+dbP
cPn
dfk
dig
@@ -138394,10 +138242,10 @@ dwi
dwi
cKr
dCQ
-dEP
-dFr
-dFr
-dGc
+cNI
+cRe
+cRe
+cRi
dJy
dHE
dID
@@ -138615,10 +138463,10 @@ cDO
csK
cEL
bqu
-cHE
-cIX
+bIG
+cIW
cKx
-cMe
+cMm
cMf
cPo
aKC
@@ -138630,10 +138478,10 @@ cXc
cYB
daE
dbW
-cPn
-cPn
-dih
-cPn
+cGJ
+cGJ
+cIn
+cIY
djL
dkV
cPn
@@ -138651,7 +138499,7 @@ dXv
cRd
cZt
dCR
-dFr
+cPs
dEP
dOO
dGc
@@ -138872,13 +138720,13 @@ cEb
csK
cGY
bqu
-cHF
-cIY
-cKy
+cHE
+cIX
cMe
-cNE
-cPr
-cMm
+xpu
+xme
+sjV
+eOL
cPn
cKI
cUZ
@@ -138888,7 +138736,7 @@ cKI
daF
cvm
ddA
-cRe
+daA
cxD
dii
djM
@@ -138900,15 +138748,15 @@ drN
dyL
dyL
dyL
-dkW
+cMg
cZH
dxx
-cNx
+cMj
dzT
dbj
dBh
-dik
-dFr
+cNE
+cPF
dOO
dFr
dID
@@ -138929,8 +138777,8 @@ dMm
dPL
dRz
dRP
-dSl
-dSM
+dTs
+dSL
dUg
dUR
dYT
@@ -139130,33 +138978,33 @@ cEP
cIT
bqu
cHG
-cIY
-cKy
-cMg
+cJa
+dau
+cMm
cNF
cPq
-cMe
-ddw
+ckH
+cPn
cTC
-cVc
-cWH
-cYk
+dje
+dfR
+djD
cZr
-cKE
+cKF
dbX
cSt
dfm
dgv
-dij
-duc
+cSt
+cSt
dkX
-duc
-duc
+cSt
+cSt
dIi
dsu
-duc
-duc
-duc
+cSt
+cSt
+cSt
dvj
dgv
cSt
@@ -139386,13 +139234,13 @@ cEr
cEQ
cIT
bqu
-bIG
+cHG
cIW
cKz
-cMi
+cMm
cNG
cPr
-cMm
+ckH
cRd
cZx
cVd
@@ -139643,13 +139491,13 @@ cEr
cER
cIT
bqu
-bIG
+cHG
cIW
cKA
-cMi
+cMm
cNG
cPr
-cMm
+ckH
cSp
cTQ
cVr
@@ -139903,10 +139751,10 @@ qZt
exL
cIZ
cKB
-cMj
+muI
cNH
cPr
-cMm
+ckH
cWL
cTR
cVe
@@ -139934,7 +139782,7 @@ dzW
dEn
dEn
duZ
-dEy
+cMk
dCV
dbC
dbI
@@ -140157,15 +140005,15 @@ cEN
csK
cES
bqu
-bIG
+cHG
cIW
cKC
-cMk
-cNI
-cPs
-cMe
+cMm
+cNG
+cPr
+ckH
cSr
-cTS
+cTT
cVt
daJ
daJ
@@ -140201,8 +140049,8 @@ dfu
dfu
dIH
dJC
-dKo
-dKo
+cYk
+cYk
dLE
dXJ
dKo
@@ -140414,13 +140262,13 @@ cCK
csK
cET
bqu
-bIG
+cHG
cIW
cKD
cMm
cNG
cPr
-cMm
+ckH
cRg
cTR
cVu
@@ -140457,13 +140305,13 @@ dGh
dGP
dHN
dHU
-dQI
-dKo
-dKo
-dLE
-dXJ
-dNa
-dNa
+cWb
+cYk
+cYk
+daQ
+dbR
+dbV
+ddw
dNa
dKo
dKo
@@ -140671,13 +140519,13 @@ csK
csK
cEU
bqu
-bKt
-cIY
-cKE
-cMe
+cHG
+cJa
+cKF
+cMm
cNJ
cPt
-cMe
+ckI
cSs
cTT
cVv
@@ -140714,10 +140562,10 @@ dGl
dGS
dHT
dII
-dJD
+cWH
dKo
dKo
-dLE
+dLG
dXJ
dNb
dNN
@@ -140928,7 +140776,7 @@ cCL
cEe
cEL
bqu
-bIG
+cHG
cJa
cKF
cMm
@@ -140971,10 +140819,10 @@ dGl
dGS
dHT
dIJ
-dJD
+cWH
dKo
dKo
-dLE
+dLG
dXJ
dNc
dNO
@@ -141185,7 +141033,7 @@ cCM
cEf
cEL
bqu
-bIG
+cHG
cIW
cKG
cMm
@@ -141229,10 +141077,10 @@ dGS
dHQ
dLD
dST
-dSZ
-dSZ
-dTK
-dUU
+dKo
+dKo
+dLG
+dXJ
dNb
dNP
dOw
@@ -141442,7 +141290,7 @@ cyk
gyY
cEV
cGz
-bIG
+cHG
cIW
cKH
cMn
@@ -141489,7 +141337,7 @@ dXC
dKp
dKp
dLF
-dVe
+dXJ
dOu
dNQ
dOx
@@ -141736,7 +141584,7 @@ dql
dBH
dCX
dfu
-dVw
+dHT
dcV
dGU
dWL
@@ -141746,7 +141594,7 @@ dQI
dKo
dKo
dLG
-dVe
+dXJ
dNb
bGr
dOw
@@ -141978,7 +141826,7 @@ diu
dnC
doS
dnC
-dnD
+dHT
doY
dft
drL
@@ -141993,7 +141841,7 @@ doY
doY
dDb
dXj
-dnD
+dHT
dcV
dGU
dGU
@@ -142140,24 +141988,24 @@ asB
aBj
azv
aAG
-aZe
-aZe
-aZe
+aXX
+aXX
+aXX
aGI
-aIg
+aXZ
aGI
-aZe
-aZe
+aXX
+aXX
aKu
-aZe
-aZe
-aZe
-aZe
-aZe
+aXX
+aXX
+aXX
+aXX
+aXX
aTj
aWm
-aZe
-aZe
+aXX
+aXX
aXX
aXX
bgw
@@ -142254,7 +142102,7 @@ dEZ
dcj
dWK
dcS
-dHT
+cUv
dXn
dXn
dXn
@@ -142472,12 +142320,12 @@ cFa
cGB
cHK
dEm
-cKL
-cKL
-cNP
-cPz
cRh
-diw
+cRh
+cNP
+cRh
+cRh
+cmn
cTW
cYC
cXd
@@ -142487,16 +142335,16 @@ daO
cYC
cYC
dgw
-diw
-diw
+cmn
+cmn
dle
cJY
dmh
-dnE
+dpa
dpa
dsI
drM
-dnE
+dpa
nQq
cTW
dwu
@@ -142506,12 +142354,12 @@ dQr
dBj
dBQ
dDd
-dXj
+cRc
dnD
dGo
dGo
-dcV
-dnD
+cTS
+cVc
dXm
dSV
dTi
@@ -142733,7 +142581,7 @@ cJk
cJg
cNQ
cPA
-cRi
+cJg
cJk
cTX
cVD
@@ -142984,12 +142832,12 @@ cBo
eNm
cFa
bqu
-cHN
+cHK
cJg
cKM
cMo
cNR
-cPL
+cSA
cRj
cSx
cTX
@@ -142997,7 +142845,7 @@ cVE
cXf
cYD
cXe
-daQ
+cVD
dcl
cVD
dgD
@@ -143241,13 +143089,13 @@ cCS
cEf
cFa
bqu
-cHN
+cHK
cJg
cKN
cMq
cNS
-cRk
-cRk
+cMq
+cMq
cSy
cTY
cVF
@@ -143271,7 +143119,7 @@ dsO
duk
cYN
dww
-dww
+cMi
dwz
dAd
dwB
@@ -143498,7 +143346,7 @@ cCT
cEe
cFa
bqu
-cHN
+cHK
cJh
cKO
dea
@@ -143755,7 +143603,7 @@ csV
csV
cEY
bqu
-cHN
+cHK
cJh
cKO
dea
@@ -143768,7 +143616,7 @@ cVH
cXh
cYF
dlW
-cXg
+ctb
cXg
ddN
dgD
@@ -143779,7 +143627,7 @@ dfv
dfv
dYc
dYi
-dYk
+drX
drX
dsQ
duk
@@ -144012,12 +143860,12 @@ cCV
csV
cFa
bqu
-cHN
+cHK
cJg
cKP
dea
cbr
-cPF
+dea
cha
cSB
cUb
@@ -144269,13 +144117,13 @@ cCW
csV
cEZ
bqu
-cHN
+cHK
cJg
cKQ
dea
-cNS
+bYQ
cMq
-cUn
+ckJ
cSA
cTZ
cZF
@@ -144492,7 +144340,7 @@ bwf
aos
bCy
bEl
-bFP
+bCL
bHz
bJl
bLa
@@ -144532,7 +144380,7 @@ cKR
cMr
cbr
cPH
-cUn
+ckJ
cSD
cTY
cVK
@@ -144783,13 +144631,13 @@ dte
csV
cFa
bqu
-cHN
+cHK
cJg
cKS
dea
-cNS
+bYQ
cMq
-cUn
+ckJ
cSE
cTX
cXe
@@ -145005,7 +144853,7 @@ abj
bwf
bAG
bCl
-byU
+aZe
bFQ
bWX
bJn
@@ -145040,13 +144888,13 @@ cDa
csV
cFa
bqu
-cHN
+cHK
cJg
cKT
dea
cbr
dea
-cUn
+ckJ
cRm
cJg
cVM
@@ -145262,7 +145110,7 @@ aaa
bwf
bAt
bCl
-byU
+aZe
bFx
bWX
bJo
@@ -145303,7 +145151,7 @@ cKU
cMs
cNV
cPI
-cUn
+ckJ
cSF
cUc
cVN
@@ -145519,7 +145367,7 @@ aaa
bwf
aot
bCA
-bEk
+bkf
asz
bHx
bJp
@@ -145560,7 +145408,7 @@ cKV
dea
cbH
ceQ
-cUn
+ckS
cSF
cUd
cUn
@@ -145572,14 +145420,14 @@ dco
cSA
dfz
dgM
-diC
+mZY
dkb
dlq
dnM
dpm
dpm
dqA
-drX
+cKE
dsX
duk
dvz
@@ -145776,7 +145624,7 @@ aaa
bwf
bAs
bCB
-bAs
+boT
bAs
bHx
bJq
@@ -145836,7 +145684,7 @@ dta
dnQ
dpn
dqB
-drY
+dpn
dsY
duk
duk
@@ -146033,7 +145881,7 @@ btH
bwf
bAr
bCl
-byU
+aZe
bFR
bHx
bJr
@@ -146547,7 +146395,7 @@ bwm
bza
bEo
bCC
-bEo
+bqv
bEo
bHA
bwm
@@ -146565,7 +146413,7 @@ bwm
bwm
bwm
ciV
-ckH
+bwm
bwm
bwm
coE
@@ -146804,7 +146652,7 @@ btK
bva
bva
bCD
-bva
+bsg
bFM
bHB
bva
@@ -146822,7 +146670,7 @@ bva
bva
bva
bva
-ckI
+bva
bva
bva
bSi
@@ -147061,7 +146909,7 @@ bxz
bzb
bEq
bCE
-bEq
+bub
bHm
bHC
bEq
@@ -147079,15 +146927,15 @@ pfp
cfS
cnw
cnC
-ckJ
+bSF
cme
bSF
jUC
cqp
crT
-ctb
+bEq
cuo
-rjr
+bSF
bSF
cyA
bSF
@@ -147110,7 +146958,7 @@ cKV
cKV
cKV
cKV
-don
+ctd
cSF
dil
cSF
@@ -147122,7 +146970,7 @@ cSF
dps
cSF
dsc
-dtd
+cRm
duk
dvE
dwF
@@ -147351,11 +147199,11 @@ cxn
cxn
cxn
cxn
-bng
+rHU
cGF
-bng
-bng
-bng
+iWE
+pDD
+cYP
cYP
cYP
cPO
@@ -147599,9 +147447,9 @@ cvu
coI
cqq
bYH
-ctd
+cEL
cuu
-bqv
+bIX
cxn
cyB
cAc
@@ -147612,8 +147460,8 @@ cFd
hos
cmt
bMD
-cKZ
-cYP
+cLa
+iIY
cOa
cPQ
cRp
@@ -147634,7 +147482,7 @@ dFE
dmt
dnU
dpu
-dqH
+cKy
dsd
dul
dur
@@ -147856,9 +147704,9 @@ cax
cax
cax
bYK
-ctd
+cEL
cuu
-bqv
+bIX
cxn
cyC
cAd
@@ -147866,16 +147714,16 @@ cBF
cAc
cxn
bDD
-buF
-boG
-boG
+jsi
+cmt
+ffm
cLa
-cYP
+sak
cOb
cPQ
cRq
cSJ
-cUh
+cVQ
cVQ
cYP
cYR
@@ -148115,7 +147963,7 @@ chC
lEt
ctf
cus
-bsg
+bhX
cxn
cyD
bBk
@@ -148123,11 +147971,11 @@ cAc
cyD
cxn
bEH
-cGJ
-boG
-boG
+jKp
+tNq
+klh
cLb
-cYP
+cPQ
cOc
cPR
cRr
@@ -148370,20 +148218,20 @@ cay
cax
cqr
bYK
-ctj
+cFa
cuu
-bqv
+bIX
cxn
cxn
cAe
cxn
cxn
cxn
-bng
+cYP
cGI
-cJp
-dfK
-bng
+cYP
+cYP
+cYP
cYP
cYP
cYP
@@ -148395,7 +148243,7 @@ cYP
cJg
cJg
daZ
-dcn
+ctj
ddU
cKY
diG
@@ -148627,9 +148475,9 @@ ccq
coK
cqr
bYH
-ctj
+cFa
cuu
-bqv
+bIX
cxn
cyF
bBu
@@ -148637,7 +148485,7 @@ cEj
cEj
cEn
cxn
-cGJ
+buF
boG
cJo
bRw
@@ -148649,10 +148497,10 @@ cKO
cUj
cKO
cKO
-cKO
+sYw
cZM
-cKO
-dqW
+kjL
+cwc
cSA
cJg
dgS
@@ -148909,7 +148757,7 @@ dbi
dbi
cZN
dbi
-dco
+cFo
dfE
cKY
cJg
@@ -149143,7 +148991,7 @@ cqr
bYH
cnO
cti
-dWO
+bSz
cxn
cyH
cAh
@@ -149166,7 +149014,7 @@ cKV
cKV
dci
cMq
-don
+ctd
cSA
dgx
cSA
@@ -149398,9 +149246,9 @@ cnK
coM
cqt
bYH
-ctj
+cFa
cuu
-ckH
+bwm
cxn
czU
bBu
@@ -149655,9 +149503,9 @@ cnL
coN
cqt
bYH
-ctj
+cFa
cuu
-ckH
+bwm
cxn
czU
bBu
@@ -149912,7 +149760,7 @@ cnM
coO
cqt
bYH
-ctj
+cFa
cuu
cvW
cxn
@@ -150169,9 +150017,9 @@ cnM
coM
cqt
bYH
-ctj
+cFa
cuu
-ckH
+bwm
cxn
cyJ
cAf
@@ -150426,7 +150274,7 @@ cnN
coP
cqu
bYH
-ctj
+cFa
cuv
cvX
cxn
@@ -150923,8 +150771,8 @@ bJz
bLt
bNt
bPp
-bRc
-bTg
+bFU
+rOn
bVm
bXj
bYM
@@ -150935,9 +150783,9 @@ cga
chL
bYM
ckR
-cmn
+coX
chG
-coQ
+cDn
cqv
crV
ctl
@@ -151191,7 +151039,7 @@ cen
cgb
chM
bYM
-ckS
+bHH
cmo
cnP
coR
@@ -151456,7 +151304,7 @@ cqw
crW
ctn
byo
-cwc
+crW
crW
cyM
crW
@@ -151713,7 +151561,7 @@ cqw
crX
cto
cuy
-cwc
+crW
cxr
cyN
crX
@@ -151993,7 +151841,7 @@ cYZ
cZW
cUr
cKV
-dtC
+dqW
cSF
cJg
dhe
@@ -152227,7 +152075,7 @@ cqy
crY
ctq
cuA
-cwc
+crW
cxt
cyP
crW
@@ -152456,8 +152304,8 @@ bxJ
vnm
bno
eSX
-hZF
-bEw
+bFX
+bFX
bEr
bFX
bMc
@@ -152470,7 +152318,7 @@ bTj
bVg
bXn
bYP
-bXW
+bNE
ccD
cer
cgf
@@ -152713,8 +152561,8 @@ bvm
bwy
bxK
bzg
-bzg
-bCL
+bJF
+bJF
bJF
bJF
bHT
@@ -152726,7 +152574,7 @@ meB
bTk
bVp
bXB
-bYQ
+bYR
caM
ccE
ces
@@ -152741,7 +152589,7 @@ cqA
crZ
cts
cuC
-cwe
+cxv
cxv
cyR
cxv
@@ -152971,16 +152819,16 @@ bwz
bxL
bHS
bAN
-bCM
-bHU
-bHU
-bHU
-bHU
+bAN
+bAN
+bAN
+bAN
+bAN
bLz
-bHU
+bAN
mtR
mHP
-bLz
+bKv
bVq
bXp
bYR
@@ -153005,9 +152853,9 @@ cAm
cYh
cDp
cvV
-cFo
+cFv
cGS
-cIe
+cIk
aFx
cLn
cbm
@@ -153016,8 +152864,8 @@ cQd
cRz
cjF
cUu
-cWb
-cWb
+dyd
+dyd
cZd
cZT
dbq
@@ -153272,7 +153120,7 @@ aFx
aFx
aFx
cSX
-cUv
+dDE
cXI
dlz
dlz
@@ -153472,7 +153320,7 @@ bcU
bex
bhc
blp
-blp
+uKI
bka
blT
bno
@@ -153509,7 +153357,7 @@ brS
bgs
coU
cJn
-ctc
+bRc
cqI
brS
cqI
@@ -153529,7 +153377,7 @@ cOp
aKh
aFx
cSY
-cUv
+dDE
cXI
cZb
cZY
@@ -153766,7 +153614,7 @@ gGu
cnR
gGu
cqD
-gGu
+bTg
khY
cuF
cqI
@@ -153778,7 +153626,7 @@ aFv
cEt
bEY
cGV
-bKv
+cIc
cEu
cAq
cAq
@@ -154246,7 +154094,7 @@ bhg
biu
bkd
blV
-bnp
+boR
boR
bqQ
bsI
@@ -154507,18 +154355,18 @@ blW
boS
bqR
bHZ
-bub
-loP
+blW
+bnq
tJH
-bub
+blW
bzm
-bHZ
-bub
-bub
-bub
+aKA
+blW
+blW
+blW
jUH
-bub
-bub
+blW
+blW
bNH
sEN
bRi
@@ -154549,7 +154397,7 @@ cAq
aFx
bEY
cGV
-bKv
+cIc
aFx
cLp
cMN
@@ -154557,7 +154405,7 @@ cOr
cQg
aFx
cTa
-cUv
+dDE
dlz
cZh
dac
@@ -154761,21 +154609,21 @@ biw
bHW
blX
blX
-bkf
-bqS
blX
+bqS
+aIg
reH
hHM
bwA
-bxQ
+bLD
bnr
bAT
-bxQ
-bxQ
-bxQ
-bNm
-bxQ
-bxQ
+bLD
+bLD
+bLD
+bCM
+bLD
+bHU
bLD
mEG
bRj
@@ -154814,7 +154662,7 @@ cLp
cQi
aFx
cSY
-cUv
+dDE
dlz
cZi
daR
@@ -155018,7 +154866,7 @@ bhh
bwE
blY
bhh
-uSJ
+bhi
bqT
bsL
buc
@@ -155071,7 +154919,7 @@ cLp
cQh
aFx
cTb
-cUA
+dDD
dlz
cZj
daS
@@ -155275,7 +155123,7 @@ bix
bmO
blZ
bnt
-boT
+blZ
bqU
bsL
bkj
@@ -155328,7 +155176,7 @@ aFx
aFx
aFx
cjn
-cUv
+dDE
dlz
dlz
dbr
@@ -155547,7 +155395,7 @@ bGj
bLB
bJM
bLF
-bNE
+bLF
bPv
bRl
obL
@@ -155585,7 +155433,7 @@ cyY
cyY
aFx
cTc
-cUA
+dDD
cqC
cMH
cMH
@@ -155804,7 +155652,7 @@ bGk
bLB
bGp
bLG
-nkh
+bLG
bPw
hTr
gwZ
@@ -156061,7 +155909,7 @@ bGl
bLB
bJN
bLG
-nkh
+bLG
bPx
bRl
bNG
@@ -156605,7 +156453,7 @@ jHa
ctx
cFx
cGX
-cIn
+cJz
cJz
cLs
cMQ
@@ -156830,8 +156678,8 @@ bBa
bBa
bBa
bBa
-bBa
-bBa
+bEw
+bPy
bPy
bPz
bRo
@@ -156853,25 +156701,25 @@ abj
csj
ctx
cuL
-czc
+cIo
cxx
-czc
-czc
-czc
-czc
-czc
+cIo
+cIo
+cIo
+cIo
+cIo
cFy
cIs
cIo
-czc
-czc
-czc
-czc
-czc
+cIo
+cIo
+cIo
+cIo
+cIo
cRB
-czc
+cIo
cUF
-cuM
+coQ
cJz
csj
abj
@@ -157086,7 +156934,7 @@ blX
blX
blX
blX
-mHf
+blX
tRM
bLK
bPA
@@ -157343,7 +157191,7 @@ bBc
bJL
bEx
bEx
-kzg
+bEA
tFO
bIe
bEx
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm b/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm
index f14c68812b4..11f658476d3 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm
@@ -3395,16 +3395,12 @@
/area/ruin/space/ancientstation/rnd)
"hU" = (
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/particle_accelerator/control_box{
- icon = 'icons/obj/machines/particle_accelerator3.dmi'
- },
+/obj/machinery/particle_accelerator/control_box,
/turf/simulated/floor/plating,
/area/ruin/space/ancientstation/thetacorridor)
"hV" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/particle_accelerator/particle_emitter/right{
- icon = 'icons/obj/machines/particle_accelerator3.dmi'
- },
+/obj/structure/particle_accelerator/particle_emitter/right,
/turf/simulated/floor/plating,
/area/ruin/space/ancientstation/thetacorridor)
"hW" = (
@@ -4029,9 +4025,7 @@
/area/ruin/space/ancientstation/thetacorridor)
"jm" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/particle_accelerator/particle_emitter/center{
- icon = 'icons/obj/machines/particle_accelerator3.dmi'
- },
+/obj/structure/particle_accelerator/particle_emitter/center,
/turf/simulated/floor/plating,
/area/ruin/space/ancientstation/thetacorridor)
"jn" = (
@@ -4747,23 +4741,17 @@
/area/ruin/space/ancientstation/thetacorridor)
"kT" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/particle_accelerator/particle_emitter/left{
- icon = 'icons/obj/machines/particle_accelerator3.dmi'
- },
+/obj/structure/particle_accelerator/particle_emitter/left,
/turf/simulated/floor/plating,
/area/ruin/space/ancientstation/thetacorridor)
"kU" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/particle_accelerator/fuel_chamber{
- icon = 'icons/obj/machines/particle_accelerator3.dmi'
- },
+/obj/structure/particle_accelerator/fuel_chamber,
/turf/simulated/floor/plating,
/area/ruin/space/ancientstation/thetacorridor)
"kV" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/particle_accelerator/end_cap{
- icon = 'icons/obj/machines/particle_accelerator3.dmi'
- },
+/obj/structure/particle_accelerator/end_cap,
/turf/simulated/floor/plating,
/area/ruin/space/ancientstation/thetacorridor)
"kW" = (
@@ -4785,9 +4773,7 @@
/area/ruin/space/ancientstation/rnd)
"kY" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/particle_accelerator/power_box{
- icon = 'icons/obj/machines/particle_accelerator3.dmi'
- },
+/obj/structure/particle_accelerator/power_box,
/turf/simulated/floor/plating,
/area/ruin/space/ancientstation/thetacorridor)
"kZ" = (
diff --git a/code/__DEFINES/colors.dm b/code/__DEFINES/colors.dm
index fc67f448526..f399915e3e7 100644
--- a/code/__DEFINES/colors.dm
+++ b/code/__DEFINES/colors.dm
@@ -114,3 +114,12 @@
#define PIPE_COLOR_GREEN "#00ff00"
#define PIPE_COLOR_YELLOW "#ffcc00"
#define PIPE_COLOR_PURPLE "#5c1ec0"
+
+///Main colors for UI themes
+#define COLOR_THEME_MIDNIGHT "#6086A0"
+#define COLOR_THEME_PLASMAFIRE "#FFB200"
+#define COLOR_THEME_RETRO "#24CA00"
+#define COLOR_THEME_SLIMECORE "#4FB259"
+#define COLOR_THEME_OPERATIVE "#B8221F"
+#define COLOR_THEME_GLASS "#75A4C4"
+#define COLOR_THEME_CLOCKWORK "#CFBA47"
diff --git a/code/__DEFINES/footstep.dm b/code/__DEFINES/footstep.dm
index 469549b8827..bda71aa4443 100644
--- a/code/__DEFINES/footstep.dm
+++ b/code/__DEFINES/footstep.dm
@@ -7,12 +7,14 @@
#define FOOTSTEP_WATER "water"
#define FOOTSTEP_LAVA "lava"
#define FOOTSTEP_MEAT "meat"
+#define FOOTSTEP_GLASS "glass"
//barefoot sounds
#define FOOTSTEP_WOOD_BAREFOOT "woodbarefoot"
#define FOOTSTEP_WOOD_CLAW "woodclaw"
#define FOOTSTEP_HARD_BAREFOOT "hardbarefoot"
#define FOOTSTEP_HARD_CLAW "hardclaw"
#define FOOTSTEP_CARPET_BAREFOOT "carpetbarefoot"
+#define FOOTSTEP_GLASS_BAREFOOT "glassbarefoot"
//misc footstep sounds
#define FOOTSTEP_GENERIC_HEAVY "heavy"
@@ -83,7 +85,11 @@ GLOBAL_LIST_INIT(footstep, list(
'sound/effects/footstep/lava2.ogg',
'sound/effects/footstep/lava3.ogg'), 100, 0),
FOOTSTEP_MEAT = list(list(
- 'sound/effects/meatslap.ogg'), 100, 0)
+ 'sound/effects/meatslap.ogg'), 100, 0),
+ FOOTSTEP_GLASS = list(list(
+ 'sound/effects/footstep/glass1.ogg',
+ 'sound/effects/footstep/glass2.ogg',
+ 'sound/effects/footstep/glass3.ogg'), 100, 1),
))
//bare footsteps lists
GLOBAL_LIST_INIT(barefootstep, list(
@@ -127,6 +133,10 @@ GLOBAL_LIST_INIT(barefootstep, list(
'sound/effects/footstep/lava3.ogg'), 100, 0),
FOOTSTEP_MEAT = list(list(
'sound/effects/meatslap.ogg'), 100, 0),
+ FOOTSTEP_GLASS_BAREFOOT = list(list(
+ 'sound/effects/footstep/glassbarefoot1.ogg',
+ 'sound/effects/footstep/glassbarefoot2.ogg',
+ 'sound/effects/footstep/glassbarefoot3.ogg'), 100, 1),
))
//claw footsteps lists
@@ -171,6 +181,10 @@ GLOBAL_LIST_INIT(clawfootstep, list(
'sound/effects/footstep/lava3.ogg'), 100, 0),
FOOTSTEP_MEAT = list(list(
'sound/effects/meatslap.ogg'), 100, 0),
+ FOOTSTEP_GLASS = list(list(
+ 'sound/effects/footstep/glassbarefoot1.ogg',
+ 'sound/effects/footstep/glassbarefoot2.ogg',
+ 'sound/effects/footstep/glassbarefoot3.ogg'), 100, 1),
))
//heavy footsteps list
diff --git a/code/__DEFINES/genetics.dm b/code/__DEFINES/genetics.dm
index f64022136ef..55701ed9166 100644
--- a/code/__DEFINES/genetics.dm
+++ b/code/__DEFINES/genetics.dm
@@ -74,7 +74,6 @@
//Species traits.
#define NO_BLOOD "no_blood"
-#define NOTRANSSTING "no_trans_sting"
#define IS_WHITELISTED "whitelisted"
#define LIPS "lips"
#define EXOTIC_COLOR "exotic_blood_color"
diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm
index 4950beb7e74..bff5100982a 100644
--- a/code/__DEFINES/layers.dm
+++ b/code/__DEFINES/layers.dm
@@ -26,11 +26,13 @@
#define DISPOSAL_PIPE_LAYER 2.3
#define GAS_PIPE_HIDDEN_LAYER 2.35
#define WIRE_LAYER 2.4
+#define TRANSPARENT_TURF_LAYER 2.41
#define WIRE_TERMINAL_LAYER 2.45
#define GAS_SCRUBBER_LAYER 2.46
#define GAS_PIPE_VISIBLE_LAYER 2.47
#define GAS_FILTER_LAYER 2.48
#define GAS_PUMP_LAYER 2.49
+#define HOLOPAD_LAYER 2.491
#define CONVEYOR_LAYER 2.495
#define LOW_OBJ_LAYER 2.5
#define LOW_SIGIL_LAYER 2.52
diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm
index 395a1ee3b28..6e85ef5ba14 100644
--- a/code/__DEFINES/preferences.dm
+++ b/code/__DEFINES/preferences.dm
@@ -56,10 +56,11 @@
#define PREFTOGGLE_2_REVERB_DISABLE 512
#define PREFTOGGLE_2_FORCE_WHITE_RUNECHAT 1024
#define PREFTOGGLE_2_SIMPLE_STAT_PANEL 2048
+#define PREFTOGGLE_2_SEE_ITEM_OUTLINES 4096
-#define TOGGLES_2_TOTAL 4095 // If you add or remove a preference toggle above, make sure you update this define with the total value of the toggles combined.
+#define TOGGLES_2_TOTAL 8191 // If you add or remove a preference toggle above, make sure you update this define with the total value of the toggles combined.
-#define TOGGLES_2_DEFAULT (PREFTOGGLE_2_FANCYUI|PREFTOGGLE_2_ITEMATTACK|PREFTOGGLE_2_WINDOWFLASHING|PREFTOGGLE_2_RUNECHAT|PREFTOGGLE_2_DEATHMESSAGE|PREFTOGGLE_2_EMOTE_BUBBLE)
+#define TOGGLES_2_DEFAULT (PREFTOGGLE_2_FANCYUI|PREFTOGGLE_2_ITEMATTACK|PREFTOGGLE_2_WINDOWFLASHING|PREFTOGGLE_2_RUNECHAT|PREFTOGGLE_2_DEATHMESSAGE|PREFTOGGLE_2_EMOTE_BUBBLE|PREFTOGGLE_2_SEE_ITEM_OUTLINES)
// Sanity checks
#if TOGGLES_TOTAL > 16777215
diff --git a/code/__HELPERS/traits.dm b/code/__HELPERS/traits.dm
index 5534c19cdd1..b92fb82f9af 100644
--- a/code/__HELPERS/traits.dm
+++ b/code/__HELPERS/traits.dm
@@ -164,6 +164,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_BLOODCRAWL_EAT "bloodcrawl_eat"
#define TRAIT_DWARF "dwarf"
#define TRAIT_SILENT_FOOTSTEPS "silent_footsteps" //makes your footsteps completely silent
+#define TRAIT_MESON_VISION "meson_vision"
+#define TRAIT_FLASH_PROTECTION "flash_protection"
+#define TRAIT_NIGHT_VISION "night_vision"
#define TRAIT_COMIC_SANS "comic_sans"
#define TRAIT_NOFINGERPRINTS "no_fingerprints"
diff --git a/code/_compile_options.dm b/code/_compile_options.dm
index 0e73437dd93..d418f30c78d 100644
--- a/code/_compile_options.dm
+++ b/code/_compile_options.dm
@@ -22,12 +22,12 @@
#define IS_MODE_COMPILED(MODE) (ispath(text2path("/datum/game_mode/"+(MODE))))
//Update this whenever you need to take advantage of more recent byond features
-#define MIN_COMPILER_VERSION 513
-#define MIN_COMPILER_BUILD 1514
+#define MIN_COMPILER_VERSION 514
+#define MIN_COMPILER_BUILD 1554
#if DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD
//Don't forget to update this part
#error Your version of BYOND is too out-of-date to compile this project. Go to https://secure.byond.com/download and update.
-#error You need version 513.1514 or higher
+#error You need version 514.1554 or higher
#endif
// Macros that must exist before world.dm
diff --git a/code/_globalvars/genetics.dm b/code/_globalvars/genetics.dm
index 1119ac364cc..2c49057e636 100644
--- a/code/_globalvars/genetics.dm
+++ b/code/_globalvars/genetics.dm
@@ -5,7 +5,6 @@ GLOBAL_VAR_INIT(deafblock, 0)
GLOBAL_VAR_INIT(hulkblock, 0)
GLOBAL_VAR_INIT(teleblock, 0)
GLOBAL_VAR_INIT(fireblock, 0)
-GLOBAL_VAR_INIT(xrayblock, 0)
GLOBAL_VAR_INIT(clumsyblock, 0)
GLOBAL_VAR_INIT(fakeblock, 0)
GLOBAL_VAR_INIT(coughblock, 0)
@@ -30,6 +29,9 @@ GLOBAL_VAR_INIT(hallucinationblock, 0)
GLOBAL_VAR_INIT(noprintsblock, 0)
GLOBAL_VAR_INIT(shockimmunityblock, 0)
GLOBAL_VAR_INIT(smallsizeblock, 0)
+GLOBAL_VAR_INIT(mesonblock, 0)
+GLOBAL_VAR_INIT(noflashblock, 0)
+GLOBAL_VAR_INIT(nightvisionblock, 0)
///////////////////////////////
// Goon Stuff
diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm
index 39551da14b6..90840095938 100644
--- a/code/_globalvars/traits.dm
+++ b/code/_globalvars/traits.dm
@@ -46,6 +46,9 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_DWARF" = TRAIT_DWARF,
"TRAIT_SILENT_FOOTSTEPS" = TRAIT_SILENT_FOOTSTEPS,
"TRAIT_ALCOHOL_TOLERANCE" = TRAIT_ALCOHOL_TOLERANCE,
+ "TRAIT_MESON_VISION" = TRAIT_MESON_VISION,
+ "TRAIT_FLASH_PROTECTION" = TRAIT_FLASH_PROTECTION,
+ "TRAIT_NIGHT_VISION" = TRAIT_NIGHT_VISION,
"TRAIT_COMIC_SANS" = TRAIT_COMIC_SANS,
"TRAIT_NOFINGERPRINTS" = TRAIT_NOFINGERPRINTS,
diff --git a/code/controllers/subsystem/metrics.dm b/code/controllers/subsystem/metrics.dm
index 7ebaadfae77..95055f99216 100644
--- a/code/controllers/subsystem/metrics.dm
+++ b/code/controllers/subsystem/metrics.dm
@@ -23,7 +23,7 @@ SUBSYSTEM_DEF(metrics)
var/list/out = list()
out["@timestamp"] = time_stamp() // This is required by ElasticSearch, complete with this name. DO NOT REMOVE THIS.
out["cpu"] = world.cpu
- // out["maptick"] = world.map_cpu // TODO: 514
+ out["maptick"] = world.map_cpu
out["elapsed_processed"] = world.time
out["elapsed_real"] = (REALTIMEOFDAY - world_init_time)
out["client_count"] = length(GLOB.clients)
diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm
index f4b8e84204f..2ea582aab62 100644
--- a/code/datums/components/material_container.dm
+++ b/code/datums/components/material_container.dm
@@ -49,6 +49,10 @@
var/mat_path = possible_mats[id]
materials[id] = new mat_path()
+/datum/component/material_container/Destroy(force, silent)
+ QDEL_LIST_ASSOC_VAL(materials)
+ return ..()
+
/datum/component/material_container/proc/OnExamine(datum/source, mob/user, list/examine_list)
if(show_on_examine)
for(var/I in materials)
diff --git a/code/defines/procs/announce.dm b/code/defines/procs/announce.dm
index e8d3abb7335..301ed685d46 100644
--- a/code/defines/procs/announce.dm
+++ b/code/defines/procs/announce.dm
@@ -44,12 +44,13 @@ GLOBAL_DATUM_INIT(event_announcement, /datum/announcement/priority/command/event
title = "Security Announcement"
announcement_type = "Security Announcement"
-/datum/announcement/proc/Announce(message as text, new_title = "", new_sound = null, do_newscast = newscast, msg_sanitized = 0, from, msg_language)
+/datum/announcement/proc/Announce(message as text, new_title = "", new_sound = null, do_newscast = newscast, msg_sanitized = 0, from, msg_language, new_sound2 = null)
if(!message)
return
var/message_title = new_title ? new_title : title
var/message_sound = new_sound ? sound(new_sound) : sound
+ var/message_sound2 = new_sound2 ? sound(new_sound2) : sound
if(!msg_sanitized)
message = trim_strip_html_properly(message, allow_lines = 1)
@@ -74,6 +75,7 @@ GLOBAL_DATUM_INIT(event_announcement, /datum/announcement/priority/command/event
NewsCast(message, message_title)
Sound(message_sound, combined_receivers[1] + combined_receivers[2])
+ Sound(message_sound2, combined_receivers[1] + combined_receivers[2])
Log(message, message_title)
/datum/announcement/proc/Get_Receivers(datum/language/message_language)
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index b3ae451aa35..c9d650271e2 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -346,7 +346,7 @@
var/obj/machinery/firealarm/F = alarm
F.update_fire_light(fire)
for(var/obj/machinery/light/L in src)
- L.update()
+ L.update(TRUE, TRUE, FALSE)
/**
* unset the fire alarm visual affects in an area
@@ -360,7 +360,7 @@
var/obj/machinery/firealarm/F = alarm
F.update_fire_light(fire)
for(var/obj/machinery/light/L in src)
- L.update()
+ L.update(TRUE, TRUE, FALSE)
/area/proc/updateicon()
var/weather_icon
diff --git a/code/game/dna/mutations/disabilities.dm b/code/game/dna/mutations/disabilities.dm
index bcb11eb1631..a03c686140a 100644
--- a/code/game/dna/mutations/disabilities.dm
+++ b/code/game/dna/mutations/disabilities.dm
@@ -140,12 +140,16 @@
/datum/mutation/disability/colourblindness/activate(mob/M)
..()
M.update_client_colour() //Handle the activation of the colourblindness on the mob.
- M.update_icons() //Apply eyeshine as needed.
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ H.update_misc_effects()
/datum/mutation/disability/colourblindness/deactivate(mob/M)
..()
M.update_client_colour() //Handle the deactivation of the colourblindness on the mob.
- M.update_icons() //Remove eyeshine as needed.
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ H.update_misc_effects()
/datum/mutation/disability/deaf
name = "Deafness"
diff --git a/code/game/dna/mutations/powers.dm b/code/game/dna/mutations/powers.dm
index 3d2f991acb6..20c37357c50 100644
--- a/code/game/dna/mutations/powers.dm
+++ b/code/game/dna/mutations/powers.dm
@@ -158,28 +158,6 @@
M.status_flags |= CANSTUN | CANWEAKEN | CANPARALYSE | CANPUSH //temporary fix until the problem can be solved.
to_chat(M, "You suddenly feel very weak.")
-/datum/mutation/xray
- name = "X-Ray Vision"
- activation_messages = list("The walls suddenly disappear.")
- deactivation_messages = list("The walls around you re-appear.")
- instability = GENE_INSTABILITY_MAJOR
- traits_to_add = list(TRAIT_XRAY_VISION)
- activation_prob = 15
-
-/datum/mutation/xray/New()
- ..()
- block = GLOB.xrayblock
-
-/datum/mutation/xray/activate(mob/living/M)
- ..()
- M.update_sight()
- M.update_icons() //Apply eyeshine as needed.
-
-/datum/mutation/xray/deactivate(mob/living/M)
- ..()
- M.update_sight()
- M.update_icons() //Remove eyeshine as needed.
-
/datum/mutation/tk
name = "Telekenesis"
activation_messages = list("You feel smarter.")
@@ -1181,3 +1159,58 @@
else
H.remoteview_target = null
H.reset_perspective()
+
+/datum/mutation/meson_vision
+ name = "Meson Vision"
+ activation_messages = list("More information seems to reach your eyes...")
+ deactivation_messages = list("The amount of information reaching your eyes fades...")
+ instability = GENE_INSTABILITY_MINOR
+ traits_to_add = list(TRAIT_MESON_VISION)
+
+/datum/mutation/meson_vision/New()
+ ..()
+ block = GLOB.mesonblock
+
+/datum/mutation/meson_vision/activate(mob/living/M)
+ ..()
+ M.update_sight()
+
+/datum/mutation/meson_vision/deactivate(mob/living/M)
+ ..()
+ M.update_sight()
+
+/datum/mutation/night_vision
+ name = "Night Vision"
+ activation_messages = list("Were the lights always that bright?")
+ deactivation_messages = list("The ambient light level returns to normal...")
+ instability = GENE_INSTABILITY_MODERATE
+ traits_to_add = list(TRAIT_NIGHT_VISION)
+
+/datum/mutation/night_vision/New()
+ ..()
+ block = GLOB.nightvisionblock
+
+/datum/mutation/night_vision/activate(mob/living/M)
+ ..()
+ M.update_sight()
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ H.update_misc_effects()
+
+/datum/mutation/night_vision/deactivate(mob/living/M)
+ ..()
+ M.update_sight()
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ H.update_misc_effects()
+
+/datum/mutation/flash_protection
+ name = "Flash Protection"
+ activation_messages = list("You stop noticing the glare from lights...")
+ deactivation_messages = list("Lights begin glaring again...")
+ instability = GENE_INSTABILITY_MINOR
+ traits_to_add = list(TRAIT_FLASH_PROTECTION)
+
+/datum/mutation/flash_protection/New()
+ ..()
+ block = GLOB.noflashblock
diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm
index e5da77c8196..02022121209 100644
--- a/code/game/gamemodes/blob/overmind.dm
+++ b/code/game/gamemodes/blob/overmind.dm
@@ -66,10 +66,10 @@
return
if(src.client)
- if(client.prefs.muted & MUTE_IC)
+ if(check_mute(client.ckey, MUTE_IC))
to_chat(src, "You cannot send IC messages (muted).")
return
- if(src.client.handle_spam_prevention(message,MUTE_IC))
+ if(src.client.handle_spam_prevention(message, MUTE_IC))
return
if(stat)
diff --git a/code/game/gamemodes/changeling/powers/tiny_prick.dm b/code/game/gamemodes/changeling/powers/tiny_prick.dm
index 14d93439510..09702c97d3c 100644
--- a/code/game/gamemodes/changeling/powers/tiny_prick.dm
+++ b/code/game/gamemodes/changeling/powers/tiny_prick.dm
@@ -66,60 +66,6 @@
add_attack_logs(user, target, "Unsuccessful sting (changeling)")
return 1
-/datum/action/changeling/sting/transformation
- name = "Transformation Sting"
- desc = "We silently sting a human, injecting a retrovirus that forces them to transform. Costs 50 chemicals."
- helptext = "The victim will transform much like a changeling would. The effects will be obvious to the victim, and the process will damage our genomes."
- button_icon_state = "sting_transform"
- sting_icon = "sting_transform"
- chemical_cost = 50
- dna_cost = 3
- genetic_damage = 100
- var/datum/dna/selected_dna = null
-
-/datum/action/changeling/sting/transformation/Trigger()
- var/mob/user = usr
- var/datum/changeling/changeling = user.mind.changeling
- if(changeling.chosen_sting)
- unset_sting(user)
- return
- selected_dna = changeling.select_dna("Select the target DNA: ", "Target DNA")
- if(!selected_dna)
- return
- if((NOTRANSSTING in selected_dna.species.species_traits) || selected_dna.species.is_small)
- to_chat(user, "The selected DNA is incompatible with our sting.")
- return
- ..()
-
-/datum/action/changeling/sting/transformation/can_sting(mob/user, mob/target)
- if(!..())
- return
- if(HAS_TRAIT(target, TRAIT_HUSK) || !ishuman(target) || (NOTRANSSTING in target.dna.species.species_traits))
- to_chat(user, "Our sting appears ineffective against its DNA.")
- return FALSE
- if(ishuman(target))
- var/mob/living/carbon/human/H = target
- if(HAS_TRAIT(H, TRAIT_GENELESS))
- to_chat(user, "This won't work on a creature without DNA.")
- return FALSE
- return TRUE
-
-/datum/action/changeling/sting/transformation/sting_action(mob/user, mob/target)
- add_attack_logs(user, target, "Transformation sting (changeling) (new identity is [selected_dna.real_name])")
- if(issmall(target))
- to_chat(user, "Our genes cry out as we sting [target.name]!")
-
- if(iscarbon(target) && (target.status_flags & CANWEAKEN))
- var/mob/living/carbon/C = target
- C.do_jitter_animation(500)
-
- target.visible_message("[target] begins to violenty convulse!","You feel a tiny prick and a begin to uncontrollably convulse!")
-
- spawn(10)
- transform_dna(target,selected_dna)//target is always human so no problem here
- SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]"))
- return TRUE
-
/datum/action/changeling/sting/extract_dna
name = "Extract DNA Sting"
desc = "We stealthily sting a target and extract their DNA. Costs 25 chemicals."
diff --git a/code/game/gamemodes/cult/cult_datums.dm b/code/game/gamemodes/cult/cult_datums.dm
index 67e9a78d879..fbbee18a94b 100644
--- a/code/game/gamemodes/cult/cult_datums.dm
+++ b/code/game/gamemodes/cult/cult_datums.dm
@@ -73,6 +73,9 @@
var/airlock_unruned_icon_file = 'icons/obj/doors/airlocks/cult/unruned/cult.dmi'
var/airlock_unruned_overlays_file = 'icons/obj/doors/airlocks/cult/unruned/cult-overlays.dmi'
+ /// Are cultist mirror shields active yet?
+ var/mirror_shields_active = FALSE
+
/datum/cult_info/fire
name = "Cult of Kha'Rin"
diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm
index 9b890787d7f..4f6771739f2 100644
--- a/code/game/gamemodes/cult/cult_items.dm
+++ b/code/game/gamemodes/cult/cult_items.dm
@@ -444,6 +444,11 @@
* The illusion has a 60% chance to be hostile and attack non-cultists, and a 40% chance to just run away from the user.
*/
/obj/item/shield/mirror/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
+ // Incase they get one by some magic
+ if(!SSticker.cultdat.mirror_shields_active)
+ to_chat(owner, "This shield is powerless! You must perform the required sacrifice to empower it!")
+ return
+
if(iscultist(owner) && !owner.holy_check()) // Cultist holding the shield
// Hit by a projectile
diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm
index 8eae3876082..21c894ea4f6 100644
--- a/code/game/gamemodes/cult/cult_structures.dm
+++ b/code/game/gamemodes/cult/cult_structures.dm
@@ -86,8 +86,10 @@
to_chat(user, "The magic in [src] is weak, it will be ready to use again in [get_ETA()].")
return
- var/choice = show_radial_menu(user, src, choosable_items, require_near = TRUE)
- var/picked_type = choosable_items[choice]
+
+ var/list/pickable_items = get_choosable_items()
+ var/choice = show_radial_menu(user, src, pickable_items, require_near = TRUE)
+ var/picked_type = pickable_items[choice]
if(!QDELETED(src) && picked_type && Adjacent(user) && !user.incapacitated() && cooldowntime <= world.time)
cooldowntime = world.time + creation_delay
var/obj/O = new picked_type
@@ -95,6 +97,14 @@
O.forceMove(get_turf(src))
to_chat(user, replacetext("[creation_message]", "%ITEM%", "[O.name]"))
+/**
+ * Returns the items the cult can craft from this forge.
+ *
+ * Override on children for logic regarding game state.
+ */
+/obj/structure/cult/functional/proc/get_choosable_items()
+ return choosable_items.Copy() // Copied incase its modified on children
+
/**
* Returns the cooldown time in minutes and seconds
*/
@@ -159,8 +169,15 @@
selection_prompt = "You study the schematics etched on the forge..."
selection_title = "Forge"
creation_message = "You work the forge as dark knowledge guides your hands, creating a %ITEM%!"
- choosable_items = list("Shielded Robe" = /obj/item/clothing/suit/hooded/cultrobes/cult_shield, "Flagellant's Robe" = /obj/item/clothing/suit/hooded/cultrobes/flagellant_robe,
- "Mirror Shield" = /obj/item/shield/mirror)
+ choosable_items = list("Shielded Robe" = /obj/item/clothing/suit/hooded/cultrobes/cult_shield, "Flagellant's Robe" = /obj/item/clothing/suit/hooded/cultrobes/flagellant_robe)
+
+/obj/structure/cult/functional/forge/get_choosable_items()
+ . = ..()
+ if(SSticker.cultdat.mirror_shields_active)
+ // Both lines here are needed. If you do it without, youll get issues.
+ . += "Mirror Shield"
+ .["Mirror Shield"] = /obj/item/shield/mirror
+
/obj/structure/cult/functional/forge/Initialize(mapload)
. = ..()
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index 1f03e634a8c..4a9234ac49f 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -384,6 +384,9 @@ structure_check() searches for nearby cultist structures required for the invoca
for(var/M in invokers)
if(sacrifice_fulfilled)
to_chat(M, "\"Yes! This is the one I desire! You have done well.\"")
+ if(!SSticker.cultdat.mirror_shields_active) // Only show once
+ to_chat(M, "You are now able to construct mirror shields inside the daemon forge.")
+ SSticker.cultdat.mirror_shields_active = TRUE
else
if(ishuman(offering) && offering.mind.offstation_role && offering.mind.special_role != SPECIAL_ROLE_ERT) //If you try it on a ghost role, you get nothing
to_chat(M, "\"This soul is of no use to either of us.\"")
diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm
index e299f0c97c2..4f0552cbefa 100644
--- a/code/game/gamemodes/malfunction/Malf_Modules.dm
+++ b/code/game/gamemodes/malfunction/Malf_Modules.dm
@@ -248,7 +248,7 @@
/datum/action/innate/ai/nuke_station/proc/set_us_up_the_bomb()
to_chat(owner_AI, "Nuclear device armed.")
- GLOB.event_announcement.Announce("Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.", "Anomaly Alert", new_sound = 'sound/AI/aimalf.ogg')
+ GLOB.event_announcement.Announce("Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.", "Anomaly Alert", 'sound/AI/aimalf.ogg')
set_security_level("delta")
owner_AI.nuking = TRUE
var/obj/machinery/doomsday_device/DOOM = new /obj/machinery/doomsday_device(owner_AI)
@@ -280,7 +280,7 @@
if(SSshuttle.emergency.mode == SHUTTLE_STRANDED)
SSshuttle.emergency.mode = SHUTTLE_DOCKED
SSshuttle.emergency.timer = world.time
- GLOB.priority_announcement.Announce("Hostile environment resolved. You have 3 minutes to board the Emergency Shuttle.", "Priority Announcement", 'sound/AI/shuttledock.ogg')
+ GLOB.priority_announcement.Announce("Hostile environment resolved. You have 3 minutes to board the Emergency Shuttle.", "Priority Announcement", 'sound/AI/eshuttle_dock.ogg')
return ..()
/obj/machinery/doomsday_device/proc/start()
@@ -300,7 +300,7 @@
if(SSshuttle.emergency.mode == SHUTTLE_STRANDED)
SSshuttle.emergency.mode = SHUTTLE_DOCKED
SSshuttle.emergency.timer = world.time
- GLOB.priority_announcement.Announce("Hostile environment resolved. You have 3 minutes to board the Emergency Shuttle.", "Priority Announcement", 'sound/AI/shuttledock.ogg')
+ GLOB.priority_announcement.Announce("Hostile environment resolved. You have 3 minutes to board the Emergency Shuttle.", "Priority Announcement", 'sound/AI/eshuttle_dock.ogg')
qdel(src)
if(!timing)
STOP_PROCESSING(SSfastprocess, src)
diff --git a/code/game/gamemodes/miniantags/borer/borer.dm b/code/game/gamemodes/miniantags/borer/borer.dm
index b2f07c7e4e6..c39babad9f6 100644
--- a/code/game/gamemodes/miniantags/borer/borer.dm
+++ b/code/game/gamemodes/miniantags/borer/borer.dm
@@ -4,10 +4,10 @@
/mob/living/captive_brain/say(message)
if(client)
- if(client.prefs.muted & MUTE_IC)
+ if(check_mute(client.ckey, MUTE_IC))
to_chat(src, "You cannot speak in IC (muted).")
return
- if(client.handle_spam_prevention(message,MUTE_IC))
+ if(client.handle_spam_prevention(message, MUTE_IC))
return
if(istype(loc,/mob/living/simple_animal/borer))
diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm
index 93e385df6a9..39b883fed33 100644
--- a/code/game/gamemodes/revolution/revolution.dm
+++ b/code/game/gamemodes/revolution/revolution.dm
@@ -220,7 +220,7 @@
if(SSshuttle.emergency.mode == SHUTTLE_STRANDED)
SSshuttle.emergency.mode = SHUTTLE_DOCKED
SSshuttle.emergency.timer = world.time
- GLOB.command_announcement.Announce("Hostile enviroment resolved. You have 3 minutes to board the Emergency Shuttle.", null, 'sound/AI/shuttledock.ogg')
+ GLOB.command_announcement.Announce("Hostile enviroment resolved. You have 3 minutes to board the Emergency Shuttle.", null, 'sound/AI/eshuttle_dock.ogg')
return ..()
if(finished != 0)
return TRUE
diff --git a/code/game/gamemodes/setupgame.dm b/code/game/gamemodes/setupgame.dm
index d749f8ef553..7315b52b062 100644
--- a/code/game/gamemodes/setupgame.dm
+++ b/code/game/gamemodes/setupgame.dm
@@ -40,7 +40,6 @@
GLOB.hulkblock = getAssignedBlock("HULK", numsToAssign, DNA_HARD_BOUNDS, good=1)
GLOB.teleblock = getAssignedBlock("TELE", numsToAssign, DNA_HARD_BOUNDS, good=1)
GLOB.fireblock = getAssignedBlock("FIRE", numsToAssign, DNA_HARDER_BOUNDS, good=1)
- GLOB.xrayblock = getAssignedBlock("XRAY", numsToAssign, DNA_HARDER_BOUNDS, good=1)
GLOB.clumsyblock = getAssignedBlock("CLUMSY", numsToAssign)
GLOB.fakeblock = getAssignedBlock("FAKE", numsToAssign)
GLOB.coughblock = getAssignedBlock("COUGH", numsToAssign)
@@ -49,6 +48,10 @@
GLOB.twitchblock = getAssignedBlock("TWITCH", numsToAssign)
GLOB.nervousblock = getAssignedBlock("NERVOUS", numsToAssign)
GLOB.wingdingsblock = getAssignedBlock("WINGDINGS", numsToAssign)
+ GLOB.mesonblock = getAssignedBlock("MESONS", numsToAssign, good=1)
+ GLOB.noflashblock = getAssignedBlock("NOFLASH", numsToAssign, DNA_HARDER_BOUNDS, good=1)
+ GLOB.nightvisionblock = getAssignedBlock("NIGHTVISION", numsToAssign, DNA_HARDER_BOUNDS, good=1)
+
// Bay muts
GLOB.breathlessblock = getAssignedBlock("BREATHLESS", numsToAssign, DNA_HARD_BOUNDS, good=1)
@@ -62,7 +65,6 @@
GLOB.noprintsblock = getAssignedBlock("NOPRINTS", numsToAssign, DNA_HARD_BOUNDS, good=1)
GLOB.shockimmunityblock = getAssignedBlock("SHOCKIMMUNITY", numsToAssign, good=1)
GLOB.smallsizeblock = getAssignedBlock("SMALLSIZE", numsToAssign, DNA_HARD_BOUNDS, good=1)
-
//
// Goon muts
/////////////////////////////////////////////
diff --git a/code/game/gamemodes/steal_items.dm b/code/game/gamemodes/steal_items.dm
index 77e775939fc..9814eb3ff2e 100644
--- a/code/game/gamemodes/steal_items.dm
+++ b/code/game/gamemodes/steal_items.dm
@@ -74,8 +74,8 @@
return 0
/datum/theft_objective/defib
- name = "a compact defibrillator"
- typepath = /obj/item/defibrillator/compact
+ name = "the chief medical officer's advanced compact defibrillator"
+ typepath = /obj/item/defibrillator/compact/advanced
protected_jobs = list("Chief Medical Officer", "Paramedic")
location_override = "the Chief Medical Officer's Office"
diff --git a/code/game/machinery/Beacon.dm b/code/game/machinery/Beacon.dm
index 41612fb870b..4705c041775 100644
--- a/code/game/machinery/Beacon.dm
+++ b/code/game/machinery/Beacon.dm
@@ -4,7 +4,8 @@
name = "Bluespace Gigabeacon"
desc = "A device that draws power from bluespace and creates a permanent tracking beacon."
level = 1 // underfloor
- layer = 2.5
+ layer = WIRE_LAYER
+ plane = FLOOR_PLANE
anchored = 1
use_power = IDLE_POWER_USE
idle_power_usage = 0
@@ -26,7 +27,8 @@
Beacon.syndicate = syndicate
Beacon.area_bypass = area_bypass
Beacon.cc_beacon = cc_beacon
- hide(T.intact)
+ if(!T.transparent_floor)
+ hide(T.intact)
/obj/machinery/bluespace_beacon/proc/destroy_beacon()
QDEL_NULL(Beacon)
diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index e8d5cfcf437..79785006452 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -100,6 +100,7 @@ GLOBAL_LIST_INIT(cloner_biomass_items, list(\
/obj/machinery/clonepod/Destroy()
if(connected)
connected.pods -= src
+ connected = null
if(clonemind)
UnregisterSignal(clonemind.current, COMSIG_LIVING_REVIVE)
UnregisterSignal(clonemind, COMSIG_MIND_TRANSER_TO)
diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm
index a7345522b25..d5d469ccdd1 100644
--- a/code/game/machinery/computer/message.dm
+++ b/code/game/machinery/computer/message.dm
@@ -34,6 +34,24 @@
light_color = LIGHT_COLOR_DARKGREEN
+/obj/machinery/computer/message_monitor/Initialize()
+ ..()
+ return INITIALIZE_HINT_LATELOAD // Give the message server time to initialize
+
+/obj/machinery/computer/message_monitor/LateInitialize()
+ //If the monitor isn't linked to a server, and there's a server available, default it to the first one in the list.
+ if(!linkedServer && length(GLOB.message_servers))
+ linkedServer = GLOB.message_servers[1]
+ RegisterSignal(linkedServer, COMSIG_PARENT_QDELETING, .proc/unlink_server)
+
+/obj/machinery/computer/message_monitor/proc/unlink_server()
+ SIGNAL_HANDLER
+ linkedServer = null
+
+/obj/machinery/computer/message_monitor/Destroy()
+ customrecepient = null
+ linkedServer = null
+ return ..()
/obj/machinery/computer/message_monitor/screwdriver_act(mob/user, obj/item/I)
if(emag) //Stops people from just unscrewing the monitor and putting it back to get the console working again.
@@ -71,14 +89,6 @@
..()
-/obj/machinery/computer/message_monitor/Initialize()
- ..()
- //Is the server isn't linked to a server, and there's a server available, default it to the first one in the list.
- if(!linkedServer)
- if(GLOB.message_servers && GLOB.message_servers.len > 0)
- linkedServer = GLOB.message_servers[1]
- return
-
/obj/machinery/computer/message_monitor/attack_hand(mob/user as mob)
if(..())
return
@@ -490,18 +500,18 @@
/obj/item/paper/monitorkey
- //..()
name = "Monitor Decryption Key"
var/obj/machinery/message_server/server = null
-/obj/item/paper/monitorkey/New()
+/obj/item/paper/monitorkey/Initialize(mapload)
..()
- spawn(10)
- if(GLOB.message_servers)
- for(var/obj/machinery/message_server/server in GLOB.message_servers)
- if(!isnull(server))
- if(!isnull(server.decryptkey))
- info = "
Daily Key Reset
\n\t
The new message monitor key is '[server.decryptkey]'.
Please keep this a secret and away from the clown.
If necessary, change the password to a more secure one."
- info_links = info
- overlays += "paper_words"
- break
+ return INITIALIZE_HINT_LATELOAD
+
+/obj/item/paper/monitorkey/LateInitialize()
+ for(var/obj/machinery/message_server/server in GLOB.message_servers)
+ if(!isnull(server))
+ if(!isnull(server.decryptkey))
+ info = "Daily Key Reset
\n\t
The new message monitor key is '[server.decryptkey]'.
Please keep this a secret and away from the clown.
If necessary, change the password to a more secure one."
+ info_links = info
+ overlays += "paper_words"
+ break
diff --git a/code/game/machinery/defib_mount.dm b/code/game/machinery/defib_mount.dm
index 5aac39d12dd..fe333ebf4ef 100644
--- a/code/game/machinery/defib_mount.dm
+++ b/code/game/machinery/defib_mount.dm
@@ -34,8 +34,8 @@
if(building)
set_pixel_offsets_from_dir(30, -30, 30, -30)
-/obj/machinery/defibrillator_mount/loaded/New() //loaded subtype for mapping use
- ..()
+/obj/machinery/defibrillator_mount/loaded/Initialize(mapload) //loaded subtype for mapping use
+ . = ..()
defib = new/obj/item/defibrillator/loaded(src)
update_icon()
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index c4d5c4984b9..da287020804 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -43,7 +43,7 @@ GLOBAL_LIST_EMPTY(holopads)
use_power = IDLE_POWER_USE
idle_power_usage = 5
active_power_usage = 100
- layer = TURF_LAYER+0.1 //Preventing mice and drones from sneaking under them.
+ layer = HOLOPAD_LAYER //Preventing mice and drones from sneaking under them.
plane = FLOOR_PLANE
max_integrity = 300
armor = list(melee = 50, bullet = 20, laser = 20, energy = 20, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 0)
diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm
index ae3520af45b..8096f0655f0 100644
--- a/code/game/machinery/lightswitch.dm
+++ b/code/game/machinery/lightswitch.dm
@@ -77,6 +77,7 @@
/obj/machinery/light_switch/attack_hand(mob/user)
on = !on
+ playsound(src, 'sound/machines/lightswitch.ogg', 10, TRUE)
updateicon()
if(light_connect)
diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm
index 7bd89ac6dae..1a5a5ced2ec 100644
--- a/code/game/machinery/magnet.dm
+++ b/code/game/machinery/magnet.dm
@@ -11,7 +11,7 @@
name = "Electromagnetic Generator"
desc = "A device that uses station power to create points of magnetic energy."
level = 1 // underfloor
- layer = 2.5
+ layer = WIRE_LAYER+0.001
anchored = 1
use_power = IDLE_POWER_USE
idle_power_usage = 50
@@ -32,7 +32,8 @@
/obj/machinery/magnetic_module/New()
..()
var/turf/T = loc
- hide(T.intact)
+ if(!T.transparent_floor)
+ hide(T.intact)
center = T
spawn(10) // must wait for map loading to finish
diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm
index 48d87d0f330..f43e0033e23 100644
--- a/code/game/machinery/navbeacon.dm
+++ b/code/game/machinery/navbeacon.dm
@@ -8,7 +8,8 @@
name = "navigation beacon"
desc = "A radio beacon used for bot navigation."
level = 1 // underfloor
- layer = 2.5
+ layer = WIRE_LAYER
+ plane = FLOOR_PLANE
anchored = 1
max_integrity = 500
armor = list(melee = 70, bullet = 70, laser = 70, energy = 70, bomb = 0, bio = 0, rad = 0, fire = 80, acid = 80)
@@ -26,7 +27,8 @@
set_codes()
var/turf/T = loc
- hide(T.intact)
+ if(!T.transparent_floor)
+ hide(T.intact)
if(!codes || !codes.len)
log_runtime(EXCEPTION("Empty codes datum at ([x],[y],[z])"), src, list("codes_txt: '[codes_txt]'"))
if("patrol" in codes)
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index ac61c2cccc9..98eaf1ceb2e 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -337,12 +337,18 @@
fixdir()
var/pipe_dir = get_pipe_dir()
+ var/turf/T = get_turf(loc)
for(var/obj/machinery/atmospherics/M in src.loc)
if((M.initialize_directions & pipe_dir) && M.check_connect_types_construction(M,src)) // matches at least one direction on either type of pipe
to_chat(user, "There is already a pipe of the same type at this location.")
return 1
+ if(pipe_type in list(PIPE_SUPPLY_STRAIGHT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_STRAIGHT, PIPE_SCRUBBERS_BENT, PIPE_HE_STRAIGHT, PIPE_HE_BENT, PIPE_SUPPLY_MANIFOLD, PIPE_SCRUBBERS_MANIFOLD, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W, PIPE_UVENT, PIPE_SUPPLY_CAP, PIPE_SCRUBBERS_CAP, PIPE_PASV_VENT, PIPE_DP_VENT, PIPE_PASSIVE_GATE))
+ if(T.transparent_floor) //stops jank with transparent floors and pipes
+ to_chat(user, "You can only fix simple pipes and devices over glass floors!")
+ return 1
+
switch(pipe_type) //What kind of heartless person thought of doing this?
if(PIPE_SIMPLE_STRAIGHT, PIPE_SIMPLE_BENT)
var/obj/machinery/atmospherics/pipe/simple/P = new( src.loc )
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 2d014e9e6c2..1a6edd1dd45 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -117,6 +117,12 @@ GLOBAL_DATUM_INIT(fire_overlay, /image, image("icon" = 'icons/goonstation/effect
var/in_inventory = FALSE //is this item equipped into an inventory slot or hand of a mob?
var/tip_timer = 0
+ // item hover FX
+ /// Is this item inside a storage object?
+ var/in_storage = FALSE
+ /// Holder var for the item outline filter, null when no outline filter on the item.
+ var/outline_filter
+
/obj/item/New()
..()
for(var/path in actions_types)
@@ -131,6 +137,11 @@ GLOBAL_DATUM_INIT(fire_overlay, /image, image("icon" = 'icons/goonstation/effect
if(!move_resist)
determine_move_resist()
+/obj/item/Initialize(mapload)
+ . = ..()
+ if(istype(loc, /obj/item/storage)) //marks all items in storage as being such
+ in_storage = TRUE
+
/obj/item/proc/determine_move_resist()
switch(w_class)
if(WEIGHT_CLASS_TINY)
@@ -406,6 +417,7 @@ GLOBAL_DATUM_INIT(fire_overlay, /image, image("icon" = 'icons/goonstation/effect
if((flags & NODROP) && !(initial(flags) & NODROP)) //Remove NODROP is dropped
flags &= ~NODROP
in_inventory = FALSE
+ remove_outline()
SEND_SIGNAL(src, COMSIG_ITEM_DROPPED,user)
if(!silent)
playsound(src, drop_sound, DROP_SOUND_VOLUME, ignore_walls = FALSE)
@@ -418,10 +430,12 @@ GLOBAL_DATUM_INIT(fire_overlay, /image, image("icon" = 'icons/goonstation/effect
// called when this item is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called.
/obj/item/proc/on_exit_storage(obj/item/storage/S as obj)
+ in_storage = FALSE
return
// called when this item is added into a storage item, which is passed on as S. The loc variable is already set to the storage item.
/obj/item/proc/on_enter_storage(obj/item/storage/S as obj)
+ in_storage = TRUE
return
/**
@@ -691,14 +705,24 @@ GLOBAL_DATUM_INIT(fire_overlay, /image, image("icon" = 'icons/goonstation/effect
openToolTip(user, src, params, title = name, content = "[desc]", theme = "")
/obj/item/MouseEntered(location, control, params)
- if(in_inventory)
+ if(in_inventory || in_storage)
var/timedelay = 8
- var/user = usr
+ var/mob/user = usr
tip_timer = addtimer(CALLBACK(src, .proc/openTip, location, control, params, user), timedelay, TIMER_STOPPABLE)
+ if(QDELETED(src))
+ return
+ var/mob/living/L = user
+ if(!(user.client.prefs.toggles2 & PREFTOGGLE_2_SEE_ITEM_OUTLINES))
+ return
+ if(istype(L) && L.incapacitated(ignore_lying = TRUE))
+ apply_outline(L, COLOR_RED_GRAY) //if they're dead or handcuffed, let's show the outline as red to indicate that they can't interact with that right now
+ else
+ apply_outline(L) //if the player's alive and well we send the command with no color set, so it uses the theme's color
/obj/item/MouseExited()
deltimer(tip_timer) //delete any in-progress timer if the mouse is moved off the item before it finishes
closeToolTip(usr)
+ remove_outline()
/obj/item/MouseDrop_T(obj/item/I, mob/user)
if(!user || user.incapacitated(ignore_lying = TRUE) || src == I)
@@ -707,6 +731,41 @@ GLOBAL_DATUM_INIT(fire_overlay, /image, image("icon" = 'icons/goonstation/effect
if(loc && I.loc == loc && istype(loc, /obj/item/storage) && loc.Adjacent(user)) // Are we trying to swap two items in the storage?
var/obj/item/storage/S = loc
S.swap_items(src, I, user)
+ remove_outline() //get rid of the hover effect in case the mouse exit isn't called if someone drags and drops an item and somthing goes wrong
+
+/obj/item/proc/apply_outline(mob/user, outline_color = null)
+ if(!(in_inventory || in_storage) || QDELETED(src) || isobserver(user)) //cancel if the item isn't in an inventory, is being deleted, or if the person hovering is a ghost (so that people spectating you don't randomly make your items glow)
+ return
+ var/theme = lowertext(user.client.prefs.UI_style)
+ if(!outline_color) //if we weren't provided with a color, take the theme's color
+ switch(theme) //yeah it kinda has to be this way
+ if("midnight")
+ outline_color = COLOR_THEME_MIDNIGHT
+ if("plasmafire")
+ outline_color = COLOR_THEME_PLASMAFIRE
+ if("retro")
+ outline_color = COLOR_THEME_RETRO //just as garish as the rest of this theme
+ if("slimecore")
+ outline_color = COLOR_THEME_SLIMECORE
+ if("operative")
+ outline_color = COLOR_THEME_OPERATIVE
+ if("clockwork")
+ outline_color = COLOR_THEME_CLOCKWORK //if you want free gbp go fix the fact that clockwork's tooltip css is glass'
+ if("glass")
+ outline_color = COLOR_THEME_GLASS
+ else //this should never happen, hopefully
+ outline_color = COLOR_WHITE
+ if(color)
+ outline_color = COLOR_WHITE //if the item is recolored then the outline will be too, let's make the outline white so it becomes the same color instead of some ugly mix of the theme and the tint
+ if(outline_filter)
+ filters -= outline_filter
+ outline_filter = filter(type = "outline", size = 1, color = outline_color)
+ filters += outline_filter
+
+/obj/item/proc/remove_outline()
+ if(outline_filter)
+ filters -= outline_filter
+ outline_filter = null
// Returns a numeric value for sorting items used as parts in machines, so they can be replaced by the rped
/obj/item/proc/get_part_rating()
diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm
index 85e650412f6..de7b769957e 100644
--- a/code/game/objects/items/devices/lightreplacer.dm
+++ b/code/game/objects/items/devices/lightreplacer.dm
@@ -195,23 +195,16 @@
if(target.status != LIGHT_EMPTY)
AddShards(1, U)
target.status = LIGHT_EMPTY
- target.update()
- var/obj/item/light/L2 = new target.light_type()
-
- target.status = L2.status
- target.switchcount = L2.switchcount
+ var/obj/item/light/replacement = target.light_type
+ target.status = LIGHT_OK
+ target.switchcount = 0
target.rigged = emagged
- target.brightness_range = L2.brightness_range
- target.brightness_power = L2.brightness_power
- target.brightness_color = L2.brightness_color
+ target.brightness_range = initial(replacement.brightness_range)
+ target.brightness_power = initial(replacement.brightness_power)
+ target.brightness_color = initial(replacement.brightness_color)
target.on = target.has_power()
- target.update()
- qdel(L2)
-
- if(target.on && target.rigged)
- target.explode()
- return
+ target.update(TRUE, TRUE, FALSE)
else
to_chat(U, "[src]'s refill light blinks red.")
diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm
index ce8c6ca7191..ced5a810bf4 100644
--- a/code/game/objects/items/devices/megaphone.dm
+++ b/code/game/objects/items/devices/megaphone.dm
@@ -13,7 +13,7 @@
var/list/insultmsg = list("FUCK EVERYONE!", "I'M A TATER!", "ALL SECURITY TO SHOOT ME ON SIGHT!", "I HAVE A BOMB!", "CAPTAIN IS A COMDOM!", "FOR THE SYNDICATE!")
/obj/item/megaphone/attack_self(mob/living/user as mob)
- if(user.client && (user.client.prefs.muted & MUTE_IC))
+ if(check_mute(user.ckey, MUTE_IC))
to_chat(src, "You cannot speak in IC (muted).")
return
if(!ishuman(user))
diff --git a/code/game/objects/items/devices/painter/pipe_painter.dm b/code/game/objects/items/devices/painter/pipe_painter.dm
index 4ad7b16b293..17c383809aa 100644
--- a/code/game/objects/items/devices/painter/pipe_painter.dm
+++ b/code/game/objects/items/devices/painter/pipe_painter.dm
@@ -27,8 +27,8 @@
return
var/turf/T = get_turf(P)
- if(P.level < 2 && T.level == 1 && T.intact)
- to_chat(user, "You must remove the plating first.")
+ if(P.level < 2 && T.level == 1 && T.intact && !T.transparent_floor)
+ to_chat(user, "You must remove the flooring first.")
return
P.change_color(GLOB.pipe_colors[paint_setting])
diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm
index e76207ae85c..4cf977dc91c 100644
--- a/code/game/objects/items/weapons/defib.dm
+++ b/code/game/objects/items/weapons/defib.dm
@@ -3,6 +3,7 @@
/obj/item/defibrillator
name = "defibrillator"
desc = "A device that delivers powerful shocks to detachable paddles that resuscitate incapacitated patients."
+ icon = 'icons/obj/defib.dmi'
icon_state = "defibunit"
item_state = "defibunit"
slot_flags = SLOT_BACK
@@ -17,27 +18,27 @@
)
var/paddles_on_defib = TRUE //if the paddles are on the defib (TRUE)
- var/safety = TRUE //if you can zap people with the defibs on harm mode
var/powered = FALSE //if there's a cell in the defib with enough power for a revive, blocks paddles from reviving otherwise
var/obj/item/twohanded/shockpaddles/paddles
var/obj/item/stock_parts/cell/high/cell = null
+ var/safety = TRUE //if you can zap people with the defibs on harm mode
var/combat = FALSE //can we revive through space suits?
+ var/heart_attack = FALSE //can it give instant heart attacks when zapped on harm intent with combat?
+ var/base_icon_state = "defibpaddles"
+ var/obj/item/twohanded/shockpaddles/paddle_type = /obj/item/twohanded/shockpaddles
/obj/item/defibrillator/get_cell()
return cell
-/obj/item/defibrillator/New() //starts without a cell for rnd
- ..()
- paddles = make_paddles()
+/obj/item/defibrillator/Initialize(mapload) //starts without a cell for rnd
+ . = ..()
+ paddles = new paddle_type(src)
update_icon()
- return
-/obj/item/defibrillator/loaded/New() //starts with hicap
- ..()
- paddles = make_paddles()
+/obj/item/defibrillator/loaded/Initialize(mapload) //starts with hicap
+ . = ..()
cell = new(src)
update_icon()
- return
/obj/item/defibrillator/update_icon()
update_power()
@@ -158,9 +159,6 @@
var/datum/action/A = X
A.UpdateButtonIcon()
-/obj/item/defibrillator/proc/make_paddles()
- return new /obj/item/twohanded/shockpaddles(src)
-
/obj/item/defibrillator/equipped(mob/user, slot)
..()
if(slot != slot_back)
@@ -214,38 +212,68 @@
/obj/item/defibrillator/compact
name = "compact defibrillator"
- desc = "A belt-equipped defibrillator that can be rapidly deployed."
+ desc = "A belt-mounted defibrillator that can be rapidly deployed."
icon_state = "defibcompact"
item_state = "defibcompact"
+ sprite_sheets = null //Because Vox had the belt defibrillator sprites in back.dm
w_class = WEIGHT_CLASS_NORMAL
slot_flags = SLOT_BELT
origin_tech = "biotech=5"
+/obj/item/defibrillator/compact/loaded/Initialize(mapload)
+ . = ..()
+ cell = new(src)
+ update_icon()
+
/obj/item/defibrillator/compact/item_action_slot_check(slot, mob/user)
if(slot == slot_belt)
return TRUE
-/obj/item/defibrillator/compact/loaded/New()
- ..()
- paddles = make_paddles()
- cell = new(src)
- update_icon()
- return
-
/obj/item/defibrillator/compact/combat
name = "combat defibrillator"
- desc = "A belt-equipped blood-red defibrillator that can be rapidly deployed. Does not have the restrictions or safeties of conventional defibrillators and can revive through space suits."
+ desc = "A belt-mounted blood-red defibrillator that can be rapidly deployed. Does not have the restrictions or safeties of conventional defibrillators and can revive through space suits."
+ icon_state = "defibcombat"
+ item_state = "defibcombat"
+ paddle_type = /obj/item/twohanded/shockpaddles/syndicate
combat = TRUE
safety = FALSE
-/obj/item/defibrillator/compact/combat/loaded/New()
- ..()
- paddles = make_paddles()
+/obj/item/defibrillator/compact/combat/loaded/Initialize(mapload)
+ . = ..()
cell = new(src)
update_icon()
- return
-/obj/item/defibrillator/compact/combat/attackby(obj/item/W, mob/user, params)
+/obj/item/defibrillator/compact/advanced
+ name = "advanced compact defibrillator"
+ desc = "A belt-mounted state-of-the-art defibrillator that can be rapidly deployed in all environments. Uses an experimental self-charging cell, meaning that it will (probably) never stop working. Can be used to defibrillate through space suits. It is impossible to damage."
+ icon_state = "defibnt"
+ item_state = "defibnt"
+ paddle_type = /obj/item/twohanded/shockpaddles/advanced
+ combat = TRUE
+ safety = TRUE
+ heart_attack = TRUE
+ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF //Objective item, better not have it destroyed.
+
+ var/next_emp_message //to prevent spam from the emagging message on the advanced defibrillator
+
+/obj/item/defibrillator/compact/advanced/attackby(obj/item/W, mob/user, params)
+ if(W == paddles)
+ paddles.unwield()
+ toggle_paddles()
+ update_icon()
+
+/obj/item/defibrillator/compact/advanced/loaded/Initialize(mapload)
+ . = ..()
+ cell = new /obj/item/stock_parts/cell/bluespace/charging(src)
+ update_icon()
+
+/obj/item/defibrillator/compact/advanced/emp_act(severity)
+ if(world.time > next_emp_message)
+ atom_say("Warning: Electromagnetic pulse detected. Integrated shielding prevented all potential hardware damage.")
+ playsound(src, 'sound/machines/defib_saftyon.ogg', 50)
+ next_emp_message = world.time + 5 SECONDS
+
+/obj/item/defibrillator/compact/advanced/attackby(obj/item/W, mob/user, params)
if(W == paddles)
paddles.unwield()
toggle_paddles()
@@ -257,6 +285,7 @@
/obj/item/twohanded/shockpaddles
name = "defibrillator paddles"
desc = "A pair of plastic-gripped paddles with flat metal surfaces that are used to deliver powerful electric shocks."
+ icon = 'icons/obj/defib.dmi'
icon_state = "defibpaddles"
item_state = "defibpaddles"
force = 0
@@ -268,6 +297,7 @@
var/revivecost = 1000
var/cooldown = FALSE
var/busy = FALSE
+ var/base_icon_state = "defibpaddles"
var/obj/item/defibrillator/defib
/obj/item/twohanded/shockpaddles/New(mainunit)
@@ -280,10 +310,10 @@
return
/obj/item/twohanded/shockpaddles/update_icon()
- icon_state = "defibpaddles[wielded]"
- item_state = "defibpaddles[wielded]"
+ icon_state = "[base_icon_state][wielded]"
+ item_state = "[base_icon_state][wielded]"
if(cooldown)
- icon_state = "defibpaddles[wielded]_cooldown"
+ icon_state = "[base_icon_state][wielded]_cooldown"
/obj/item/twohanded/shockpaddles/suicide_act(mob/user)
user.visible_message("[user] is putting the live paddles on [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide.")
@@ -336,7 +366,7 @@
to_chat(user, "[defib] is recharging.")
return
if(!ishuman(M))
- to_chat(user, "The instructions on [defib] don't mention how to revive that...")
+ to_chat(user, "The instructions on [defib] don't mention how to defibrillate that...")
return
else
if(user.a_intent == INTENT_HARM && !defib.safety)
@@ -347,7 +377,7 @@
H.Weaken(5)
playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1)
H.emote("gasp")
- if(!H.undergoing_cardiac_arrest() && (prob(10) || defib.combat)) // Your heart explodes.
+ if(!H.undergoing_cardiac_arrest() && (prob(10) || (defib.combat && !defib.heart_attack) || prob(10) && (defib.combat && defib.heart_attack))) // Your heart explodes.
H.set_heartattack(TRUE)
SEND_SIGNAL(H, COMSIG_LIVING_MINOR_SHOCK, 100)
add_attack_logs(user, M, "Stunned with [src]")
@@ -470,7 +500,8 @@
/obj/item/borg_defib
name = "defibrillator paddles"
- desc = "A pair of mounted paddles with flat metal surfaces that are used to deliver powerful electric shocks."
+ desc = "A pair of paddles with flat metal surfaces that are used to deliver powerful electric shocks."
+ icon = 'icons/obj/defib.dmi'
icon_state = "defibpaddles0"
item_state = "defibpaddles0"
force = 0
@@ -590,3 +621,17 @@
playsound(get_turf(src), 'sound/machines/defib_failed.ogg', 50, 0)
busy = FALSE
update_icon()
+
+/obj/item/twohanded/shockpaddles/syndicate
+ name = "combat defibrillator paddles"
+ desc = "A pair of high-tech paddles with flat plasteel surfaces to revive deceased operatives (unless they exploded). They possess both the ability to penetrate armor and to deliver powerful or disabling shocks offensively."
+ icon_state = "syndiepaddles0"
+ item_state = "syndiepaddles0"
+ base_icon_state = "syndiepaddles"
+
+/obj/item/twohanded/shockpaddles/advanced
+ name = "advanced defibrillator paddles"
+ desc = "A pair of high-tech paddles with flat plasteel surfaces that are used to deliver powerful electric shocks. They possess the ability to penetrate armor to deliver shock."
+ icon_state = "ntpaddles0"
+ item_state = "ntpaddles0"
+ base_icon_state = "ntpaddles"
diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm
index 46d347e0db7..02b53d2ff56 100644
--- a/code/game/objects/items/weapons/dna_injector.dm
+++ b/code/game/objects/items/weapons/dna_injector.dm
@@ -170,28 +170,6 @@
block = GLOB.hulkblock
..()
-/obj/item/dnainjector/xraymut
- name = "DNA-Injector (Xray)"
- desc = "Finally you can see what the Captain does."
- datatype = DNA2_BUF_SE
- value = 0xFFF
- forcedmutation = TRUE
-
-/obj/item/dnainjector/xraymut/Initialize()
- block = GLOB.xrayblock
- ..()
-
-/obj/item/dnainjector/antixray
- name = "DNA-Injector (Anti-Xray)"
- desc = "It will make you see harder."
- datatype = DNA2_BUF_SE
- value = 0x001
- forcedmutation = TRUE
-
-/obj/item/dnainjector/antixray/Initialize()
- block = GLOB.xrayblock
- ..()
-
/obj/item/dnainjector/firemut
name = "DNA-Injector (Fire)"
desc = "Gives you fire."
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index 9fb4684f3ff..972ab8ed7bd 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -716,7 +716,6 @@
new /obj/item/stack/cable_coil(src)
new /obj/item/restraints/handcuffs(src)
- new /obj/item/dnainjector/xraymut(src)
new /obj/item/dnainjector/firemut(src)
new /obj/item/dnainjector/telemut(src)
new /obj/item/dnainjector/hulkmut(src)
diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm
index b796740a60b..7330819e7d0 100644
--- a/code/game/objects/obj_defense.dm
+++ b/code/game/objects/obj_defense.dm
@@ -90,7 +90,7 @@
/obj/blob_act(obj/structure/blob/B)
if(isturf(loc))
var/turf/T = loc
- if(T.intact && level == 1) //the blob doesn't destroy thing below the floor
+ if((T.intact && level == 1) || T.transparent_floor) //the blob doesn't destroy thing below the floor
return
take_damage(400, BRUTE, "melee", 0, get_dir(src, B))
@@ -199,7 +199,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e
/obj/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
if(isturf(loc))
var/turf/T = loc
- if(T.intact && level == 1) //fire can't damage things hidden below the floor.
+ if((T.intact && level == 1) || T.transparent_floor) //fire can't damage things hidden below the floor.
return
..()
if(exposed_temperature && !(resistance_flags & FIRE_PROOF))
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
index a56c63937e3..555124cbb47 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
@@ -182,7 +182,7 @@
new /obj/item/clothing/shoes/brown (src)
new /obj/item/radio/headset/heads/cmo(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
- new /obj/item/defibrillator/compact/loaded(src)
+ new /obj/item/defibrillator/compact/advanced/loaded(src)
new /obj/item/handheld_defibrillator(src)
new /obj/item/storage/belt/medical(src)
new /obj/item/flash(src)
diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm
index 4266d6ef254..c373a28936c 100644
--- a/code/game/objects/structures/safe.dm
+++ b/code/game/objects/structures/safe.dm
@@ -368,7 +368,8 @@ GLOBAL_LIST_EMPTY(safes)
/obj/structure/safe/floor/Initialize()
. = ..()
var/turf/T = loc
- hide(T.intact)
+ if(!T.transparent_floor)
+ hide(T.intact)
/obj/structure/safe/floor/hide(intact)
invisibility = intact ? INVISIBILITY_MAXIMUM : 0
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index 24fcba648f2..8f8e94362b7 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -27,6 +27,7 @@ GLOBAL_LIST_INIT(icons_to_ignore_at_floor_init, list("damaged1","damaged2","dama
var/list/broken_states = list("damaged1", "damaged2", "damaged3", "damaged4", "damaged5")
var/list/burnt_states = list("floorscorched1", "floorscorched2")
var/list/prying_tool_list = list(TOOL_CROWBAR) //What tool/s can we use to pry up the tile?
+ var/keep_dir = TRUE //When false, resets dir to default on changeturf()
var/footstep = FOOTSTEP_FLOOR
var/barefootstep = FOOTSTEP_HARD_BAREFOOT
@@ -124,11 +125,18 @@ GLOBAL_LIST_INIT(icons_to_ignore_at_floor_init, list("damaged1","damaged2","dama
var/turf/simulated/floor/W = ..()
+ var/obj/machinery/atmospherics/R
+
if(keep_icon)
W.icon_regular_floor = old_icon
W.icon_plating = old_plating
+ if(W.keep_dir)
W.dir = old_dir
-
+ if(W.transparent_floor)
+ for(R in W)
+ R.update_icon()
+ for(R in W)
+ R.update_underlays()
W.update_icon()
return W
diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm
index d0805cf5099..ad26fa8919e 100644
--- a/code/game/turfs/simulated/floor/plating.dm
+++ b/code/game/turfs/simulated/floor/plating.dm
@@ -70,6 +70,35 @@
to_chat(user, "This section is too damaged to support a tile! Use a welder to fix the damage.")
return TRUE
+ else if(is_glass_sheet(C))
+ if(broken || burnt)
+ to_chat(user, "Repair the plating first!")
+ return TRUE
+ var/obj/item/stack/sheet/R = C
+ if(R.get_amount() < 2)
+ to_chat(user, "You need two sheets to build a [C.name] floor!")
+ return TRUE
+ to_chat(user, "You begin swapping the plating for [C]...")
+ if(do_after(user, 3 SECONDS * C.toolspeed, target = src))
+ if(R.get_amount() >= 2 && !transparent_floor)
+ if(istype(C, /obj/item/stack/sheet/plasmaglass)) //So, what type of glass floor do we want today?
+ ChangeTurf(/turf/simulated/floor/transparent/glass/plasma)
+ else if(istype(C, /obj/item/stack/sheet/plasmarglass))
+ ChangeTurf(/turf/simulated/floor/transparent/glass/reinforced/plasma)
+ else if(istype(C, /obj/item/stack/sheet/glass))
+ ChangeTurf(/turf/simulated/floor/transparent/glass)
+ else if(istype(C, /obj/item/stack/sheet/rglass))
+ ChangeTurf(/turf/simulated/floor/transparent/glass/reinforced)
+ else if(istype(C, /obj/item/stack/sheet/titaniumglass))
+ ChangeTurf(/turf/simulated/floor/transparent/glass/titanium)
+ else if(istype(C, /obj/item/stack/sheet/plastitaniumglass))
+ ChangeTurf(/turf/simulated/floor/transparent/glass/titanium/plasma)
+ playsound(src, C.usesound, 80, TRUE)
+ R.use(2)
+ to_chat(user, "You swap the plating for [C].")
+ new /obj/item/stack/sheet/metal(src, 2)
+ return TRUE
+
/turf/simulated/floor/plating/screwdriver_act(mob/user, obj/item/I)
. = TRUE
if(!I.tool_use_check(user, 0))
diff --git a/code/game/turfs/simulated/floor/transparent.dm b/code/game/turfs/simulated/floor/transparent.dm
new file mode 100644
index 00000000000..81030c4d294
--- /dev/null
+++ b/code/game/turfs/simulated/floor/transparent.dm
@@ -0,0 +1,112 @@
+/turf/simulated/floor/transparent/glass
+ name = "glass floor"
+ desc = "Don't jump on it... Or do, I'm not your mom."
+ icon = 'icons/turf/floors/glass.dmi'
+ icon_state = "unsmooth"
+ baseturf = /turf/space
+ smooth = SMOOTH_TRUE
+ canSmoothWith = list(/turf/simulated/floor/transparent/glass, /turf/simulated/floor/transparent/glass/reinforced, /turf/simulated/floor/transparent/glass/plasma, /turf/simulated/floor/transparent/glass/reinforced/plasma)
+ footstep = FOOTSTEP_GLASS
+ barefootstep = FOOTSTEP_GLASS_BAREFOOT
+ clawfootstep = FOOTSTEP_GLASS_BAREFOOT
+ heavyfootstep = FOOTSTEP_GLASS_BAREFOOT
+ light_power = 0.25
+ light_range = 2
+ layer = TRANSPARENT_TURF_LAYER
+ keep_dir = FALSE
+ intact = FALSE
+ transparent_floor = TRUE
+ heat_capacity = 800
+
+/turf/simulated/floor/transparent/glass/Initialize(mapload)
+ . = ..()
+ var/image/I = image('icons/turf/space.dmi', src, SPACE_ICON_STATE)
+ I.plane = PLANE_SPACE
+ underlays += I
+ dir = SOUTH //dirs that are not 2/south cause smoothing jank
+ icon_state = "" //Prevents default icon appearing behind the glass
+
+/turf/simulated/floor/transparent/glass/welder_act(mob/user, obj/item/I)
+ if(!broken && !burnt)
+ return
+ if(!I.tool_use_check(user, 0))
+ return
+ if(I.use_tool(src, user, volume = I.tool_volume))
+ to_chat(user, "You fix some cracks in the glass.")
+ overlays -= current_overlay
+ current_overlay = null
+ burnt = FALSE
+ broken = FALSE
+ update_icon()
+
+/turf/simulated/floor/transparent/glass/crowbar_act(mob/user, obj/item/I)
+ if(!I || !user)
+ return
+ var/obj/item/stack/R = user.get_inactive_hand()
+ if(istype(R, /obj/item/stack/sheet/metal))
+ if(R.get_amount() < 2) //not enough metal in the stack
+ to_chat(user, "You also need to hold two sheets of metal to dismantle [src]!")
+ return
+ else
+ to_chat(user, "You begin replacing [src]...")
+ playsound(src, I.usesound, 80, TRUE)
+ if(do_after(user, 3 SECONDS * I.toolspeed, target = src))
+ if(R.get_amount() < 2 || !transparent_floor)
+ return
+ else //not holding metal at all
+ to_chat(user, "You also need to hold two sheets of metal to dismantle \the [src]!")
+ return
+ switch(type) //What material is returned? Depends on the turf
+ if(/turf/simulated/floor/transparent/glass/reinforced)
+ new /obj/item/stack/sheet/rglass(src, 2)
+ if(/turf/simulated/floor/transparent/glass)
+ new /obj/item/stack/sheet/glass(src, 2)
+ if(/turf/simulated/floor/transparent/glass/plasma)
+ new /obj/item/stack/sheet/plasmaglass(src, 2)
+ if(/turf/simulated/floor/transparent/glass/reinforced/plasma)
+ new /obj/item/stack/sheet/plasmarglass(src, 2)
+ if(/turf/simulated/floor/transparent/glass/titanium)
+ new /obj/item/stack/sheet/titaniumglass(src, 2)
+ if(/turf/simulated/floor/transparent/glass/titanium/plasma)
+ new /obj/item/stack/sheet/plastitaniumglass(src, 2)
+ R.use(2)
+ playsound(src, 'sound/items/deconstruct.ogg', 80, TRUE)
+ ChangeTurf(/turf/simulated/floor/plating)
+
+
+/turf/simulated/floor/transparent/glass/reinforced
+ name = "reinforced glass floor"
+ desc = "Jump on it, it can cope. Promise..."
+ icon = 'icons/turf/floors/reinf_glass.dmi'
+ thermal_conductivity = 0.035
+ heat_capacity = 1600
+
+/turf/simulated/floor/transparent/glass/reinforced/acid_act(acidpwr, acid_volume)
+ acidpwr = min(acidpwr, 50)
+ . = ..()
+
+/turf/simulated/floor/transparent/glass/plasma
+ name = "plasma glass floor"
+ desc = "Wait, was space always that color?"
+ icon = 'icons/turf/floors/plasmaglass.dmi'
+ thermal_conductivity = 0.030
+ heat_capacity = 32000
+
+/turf/simulated/floor/transparent/glass/reinforced/plasma
+ name = "reinforced plasma glass floor"
+ desc = "For when you REALLY don't want your floor choice to suffocate everyone."
+ icon = 'icons/turf/floors/reinf_plasmaglass.dmi'
+ thermal_conductivity = 0.025
+ heat_capacity = 325000
+
+/turf/simulated/floor/transparent/glass/titanium
+ name = "titanium glass floor"
+ desc = "Stylish AND strong!"
+ icon = 'icons/turf/floors/titaniumglass.dmi'
+ canSmoothWith = list(/turf/simulated/floor/transparent/glass/titanium, /turf/simulated/floor/transparent/glass/titanium/plasma)
+ thermal_conductivity = 0.025
+ heat_capacity = 1600
+
+/turf/simulated/floor/transparent/glass/titanium/plasma
+ name = "plastitanium glass floor"
+ icon = 'icons/turf/floors/plastitaniumglass.dmi'
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 938e2f8a851..8c64a8456bf 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -6,6 +6,7 @@
var/intact = TRUE
var/turf/baseturf = /turf/space
var/slowdown = 0 //negative for faster, positive for slower
+ var/transparent_floor = FALSE //used to check if pipes should be visible under the turf or not
///Properties for open tiles (/floor)
/// All the gas vars, on the turf, are meant to be utilized for initializing a gas datum and setting its first gas values; the turf vars are never further modified at runtime; it is never directly used for calculations by the atmospherics system.
diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm
index 458f06e9c19..162e1ebd26e 100644
--- a/code/game/verbs/ooc.dm
+++ b/code/game/verbs/ooc.dm
@@ -25,7 +25,7 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00")
if(!GLOB.dooc_enabled && (mob.stat == DEAD))
to_chat(usr, "OOC for dead mobs has been turned off.")
return
- if(prefs.muted & MUTE_OOC)
+ if(check_mute(ckey, MUTE_OOC))
to_chat(src, "You cannot use OOC (muted).")
return
@@ -181,7 +181,7 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00")
if(!GLOB.dooc_enabled && (mob.stat == DEAD))
to_chat(usr, "LOOC for dead mobs has been turned off.")
return
- if(prefs.muted & MUTE_OOC)
+ if(check_mute(ckey, MUTE_OOC))
to_chat(src, "You cannot use LOOC (muted).")
return
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 61575a09231..5b0ea16350c 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -122,7 +122,6 @@ GLOBAL_VAR_INIT(nologevent, 0)
if(M.ckey)
body += "Kick | "
- body += "Warn | "
body += "Ban | "
body += "Jobban | "
body += "Appearance Ban | "
@@ -141,14 +140,13 @@ GLOBAL_VAR_INIT(nologevent, 0)
body += "\ Send back to Lobby | "
body += "\ Erase Flavor Text | "
body += "\ Use Random Name | "
- var/muted = M.client.prefs.muted
body += {"
Mute:
- \[IC |
- OOC |
- PRAY |
- ADMINHELP |
- DEADCHAT\]
- (toggle all)
+ \[IC |
+ OOC |
+ PRAY |
+ ADMINHELP |
+ DEADCHAT]
+ (toggle all)
"}
var/jumptoeye = ""
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index de44ccd4788..5ddf090f101 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -492,51 +492,6 @@ GLOBAL_LIST_INIT(admin_verbs_ticket, list(
log_admin("[key_name(usr)] has turned BB mode [holder.fakekey ? "ON" : "OFF"]")
SSblackbox.record_feedback("tally", "admin_verb", 1, "Big Brother Mode")
-#define MAX_WARNS 3
-#define AUTOBANTIME 10
-
-/client/proc/warn(warned_ckey)
- if(!check_rights(R_ADMIN))
- return
-
- if(!warned_ckey || !istext(warned_ckey)) return
- if(warned_ckey in GLOB.admin_datums)
- to_chat(usr, "Error: warn(): You can't warn admins.")
- return
-
- var/datum/preferences/D
- var/client/C = GLOB.directory[warned_ckey]
- if(C) D = C.prefs
- else D = GLOB.preferences_datums[warned_ckey]
-
- if(!D)
- to_chat(src, "Error: warn(): No such ckey found.")
- return
-
- if(++D.warns >= MAX_WARNS) //uh ohhhh...you'reee iiiiin trouuuubble O:)
- if(C)
- message_admins("[key_name_admin(src)] has warned [key_name_admin(C)] resulting in a [AUTOBANTIME] minute ban")
- log_admin("[key_name(src)] has warned [key_name(C)] resulting in a [AUTOBANTIME] minute ban")
- to_chat(C, "You have been autobanned due to a warning by [ckey].
This is a temporary ban, it will be removed in [AUTOBANTIME] minutes.")
- qdel(C)
- else
- message_admins("[key_name_admin(src)] has warned [warned_ckey] resulting in a [AUTOBANTIME] minute ban")
- log_admin("[key_name(src)] has warned [warned_ckey] resulting in a [AUTOBANTIME] minute ban")
- AddBan(warned_ckey, D.last_id, "Autobanning due to too many formal warnings", ckey, 1, AUTOBANTIME)
- else
- if(C)
- to_chat(C, "You have been formally warned by an administrator.
Further warnings will result in an autoban.")
- message_admins("[key_name_admin(src)] has warned [key_name_admin(C)]. They have [MAX_WARNS-D.warns] strikes remaining.")
- log_admin("[key_name(src)] has warned [key_name(C)]. They have [MAX_WARNS-D.warns] strikes remaining.")
- else
- message_admins("[key_name_admin(src)] has warned [warned_ckey] (DC). They have [MAX_WARNS-D.warns] strikes remaining.")
- log_admin("[key_name(src)] has warned [warned_ckey] (DC). They have [MAX_WARNS-D.warns] strikes remaining.")
-
- SSblackbox.record_feedback("tally", "admin_verb", 1, "Warning") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
-
-#undef MAX_WARNS
-#undef AUTOBANTIME
-
/client/proc/drop_bomb() // Some admin dickery that can probably be done better -- TLE
set category = "Event"
set name = "Drop Bomb"
diff --git a/code/modules/admin/mute.dm b/code/modules/admin/mute.dm
new file mode 100644
index 00000000000..cab33a4edda
--- /dev/null
+++ b/code/modules/admin/mute.dm
@@ -0,0 +1,32 @@
+/// Associative list of people who are muted via admin mutes
+GLOBAL_LIST_EMPTY(admin_mutes_assoc)
+
+/proc/check_mute(ckey, muteflag)
+ if(isnull(GLOB.admin_mutes_assoc[ckey]))
+ return FALSE
+
+ if(GLOB.admin_mutes_assoc[ckey] & muteflag)
+ return TRUE
+ return FALSE
+
+/proc/toggle_mute(ckey, muteflag)
+ if(isnull(GLOB.admin_mutes_assoc[ckey]))
+ GLOB.admin_mutes_assoc[ckey] = 0
+
+ if(GLOB.admin_mutes_assoc[ckey] & muteflag)
+ GLOB.admin_mutes_assoc[ckey] &= ~muteflag
+ else
+ GLOB.admin_mutes_assoc[ckey] |= muteflag
+
+/proc/force_add_mute(ckey, muteflag)
+ if(isnull(GLOB.admin_mutes_assoc[ckey]))
+ GLOB.admin_mutes_assoc[ckey] = 0
+
+ GLOB.admin_mutes_assoc[ckey] |= muteflag
+
+/proc/force_remove_mute(ckey, muteflag)
+ if(isnull(GLOB.admin_mutes_assoc[ckey]))
+ GLOB.admin_mutes_assoc[ckey] = 0
+
+ GLOB.admin_mutes_assoc[ckey] &= ~muteflag
+
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index f2c629ea517..9d852064d24 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -446,9 +446,6 @@
alert(usr, "This ban has already been lifted / does not exist.", "Error", "Ok")
unbanpanel()
- else if(href_list["warn"])
- usr.client.warn(href_list["warn"])
-
else if(href_list["unbane"])
if(!check_rights(R_BAN)) return
diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index e206f345c0c..3db301985ed 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -6,7 +6,7 @@ GLOBAL_LIST_INIT(adminhelp_ignored_words, list("unknown", "the", "a", "an", "of"
set name = "Adminhelp"
//handle muting and automuting
- if(prefs.muted & MUTE_ADMINHELP)
+ if(check_mute(ckey, MUTE_ADMINHELP))
to_chat(src, "Error: Admin-PM: You cannot send adminhelps (Muted).")
return
diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm
index 7186406e7fa..348d5690ecd 100644
--- a/code/modules/admin/verbs/adminpm.dm
+++ b/code/modules/admin/verbs/adminpm.dm
@@ -58,7 +58,7 @@
//takes input from cmd_admin_pm_context, cmd_admin_pm_panel or /client/Topic and sends them a PM.
//Fetching a message if needed. src is the sender and C is the target client
/client/proc/cmd_admin_pm(whom, msg, type = "PM")
- if(prefs.muted & MUTE_ADMINHELP)
+ if(check_mute(ckey, MUTE_ADMINHELP))
to_chat(src, "Error: Private-Message: You are unable to use PM-s (muted).")
return
@@ -212,7 +212,7 @@
return
/client/proc/cmd_admin_discord_pm()
- if(prefs.muted & MUTE_ADMINHELP)
+ if(check_mute(ckey, MUTE_ADMINHELP))
to_chat(src, "Error: Private-Message: You are unable to use PMs (muted).")
return
diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm
index c3ab3bfe47f..410956c9d2a 100644
--- a/code/modules/admin/verbs/deadsay.dm
+++ b/code/modules/admin/verbs/deadsay.dm
@@ -9,7 +9,7 @@
if(!src.mob)
return
- if(prefs.muted & MUTE_DEADCHAT)
+ if(check_mute(ckey, MUTE_DEADCHAT))
to_chat(src, "You cannot send DSAY messages (muted).")
return
diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm
index 8055c5e7a03..e22b9d50eca 100644
--- a/code/modules/admin/verbs/pray.dm
+++ b/code/modules/admin/verbs/pray.dm
@@ -7,7 +7,7 @@
return
if(usr.client)
- if(usr.client.prefs.muted & MUTE_PRAY)
+ if(check_mute(client.ckey, MUTE_PRAY))
to_chat(usr, "You cannot pray (muted).")
return
if(client.handle_spam_prevention(msg, MUTE_PRAY, OOC_COOLDOWN))
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index 654e8cd0d18..00461db1f68 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -230,19 +230,19 @@
if(automute)
muteunmute = "auto-muted"
- M.client.prefs.muted |= mute_type
+ force_add_mute(M.client.ckey, mute_type)
log_admin("SPAM AUTOMUTE: [muteunmute] [key_name(M)] from [mute_string]")
message_admins("SPAM AUTOMUTE: [muteunmute] [key_name_admin(M)] from [mute_string].", 1)
to_chat(M, "You have been [muteunmute] from [mute_string] by the SPAM AUTOMUTE system. Contact an admin.")
SSblackbox.record_feedback("tally", "admin_verb", 1, "Automute") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
- if(M.client.prefs.muted & mute_type)
- muteunmute = "unmuted"
- M.client.prefs.muted &= ~mute_type
- else
+ toggle_mute(M.client.ckey, mute_type)
+
+ if(check_mute(M.client.ckey, mute_type))
muteunmute = "muted"
- M.client.prefs.muted |= mute_type
+ else
+ muteunmute = "unmuted"
log_admin("[key_name(usr)] has [muteunmute] [key_name(M)] from [mute_string]")
message_admins("[key_name_admin(usr)] has [muteunmute] [key_name_admin(M)] from [mute_string].", 1)
@@ -608,7 +608,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
"Custom" = "Cryptic Message")
var/list/MsgSound = list("Beep" = 'sound/misc/notice2.ogg',
- "Enemy Communications Intercepted" = 'sound/AI/intercept2.ogg',
+ "Enemy Communications Intercepted" = 'sound/AI/intercept.ogg',
"New Command Report Created" = 'sound/AI/commandreport.ogg')
var/type = input(usr, "Pick a type of report to send", "Report Type", "") as anything in MsgType
diff --git a/code/modules/antagonists/wishgranter/wishgranter.dm b/code/modules/antagonists/wishgranter/wishgranter.dm
index 92e6336d693..99efbc811f4 100644
--- a/code/modules/antagonists/wishgranter/wishgranter.dm
+++ b/code/modules/antagonists/wishgranter/wishgranter.dm
@@ -25,9 +25,6 @@
H.dna.SetSEState(GLOB.hulkblock, TRUE)
singlemutcheck(H, GLOB.hulkblock, MUTCHK_FORCED)
- H.dna.SetSEState(GLOB.xrayblock, TRUE)
- singlemutcheck(H, GLOB.xrayblock, MUTCHK_FORCED)
-
H.dna.SetSEState(GLOB.fireblock, TRUE)
singlemutcheck(H, GLOB.fireblock, MUTCHK_FORCED)
diff --git a/code/modules/arcade/mob_hunt/mob_avatar.dm b/code/modules/arcade/mob_hunt/mob_avatar.dm
index 7f7f53d3199..19f792af763 100644
--- a/code/modules/arcade/mob_hunt/mob_avatar.dm
+++ b/code/modules/arcade/mob_hunt/mob_avatar.dm
@@ -1,4 +1,3 @@
-
/obj/effect/nanomob
name = "Nano-Mob Avatar" //will be overridden by the mob datum name value when created
desc = "A wild Nano-Mob appeared! Hit it with your PDA with the game open to attempt to capture it!"
@@ -12,17 +11,29 @@
var/list/clients_encountered = list() //tracks who has already interacted with us, so they can't attempt a second capture
var/image/avatar
-/obj/effect/nanomob/New(loc, datum/mob_hunt/new_info)
- ..()
+/obj/effect/nanomob/Initialize(mapload, datum/mob_hunt/new_info)
+ . = ..()
if(!new_info)
- qdel(src)
- return
+ return INITIALIZE_HINT_QDEL
mob_info = new_info
+ RegisterSignal(mob_info, COMSIG_PARENT_QDELETING, .proc/delete_wrapper)
update_self()
forceMove(mob_info.spawn_point)
if(!mob_info.is_trap)
addtimer(CALLBACK(src, .proc/despawn), mob_info.lifetime)
+/obj/effect/nanomob/Destroy()
+ SSmob_hunt.trap_spawns -= src
+ SSmob_hunt.normal_spawns -= src
+ mob_info = null // Can't delete this since multiple players can get the exact same /datum/mob_hunt. (This should be refactored)
+ clients_encountered.Cut()
+ QDEL_NULL(avatar)
+ return ..()
+
+/obj/effect/nanomob/proc/delete_wrapper()
+ SIGNAL_HANDLER
+ qdel(src)
+
/obj/effect/nanomob/proc/update_self()
if(!mob_info)
return
@@ -132,12 +143,6 @@
icon_state = "placeholder"
var/obj/machinery/computer/mob_battle_terminal/my_terminal
-/obj/effect/nanomob/battle/New(loc, datum/mob_hunt/new_info)
- . = ..()
- if(new_info)
- mob_info = new_info
- update_self()
-
/obj/effect/nanomob/battle/update_self()
if(!mob_info)
name = "Nano-Mob Battle Avatar"
diff --git a/code/modules/atmospherics/machinery/atmospherics.dm b/code/modules/atmospherics/machinery/atmospherics.dm
index bb255692633..2ad433f0930 100644
--- a/code/modules/atmospherics/machinery/atmospherics.dm
+++ b/code/modules/atmospherics/machinery/atmospherics.dm
@@ -71,10 +71,13 @@ Pipelines + Other Objects -> Pipe network
// Icons/overlays/underlays
/obj/machinery/atmospherics/update_icon()
var/turf/T = get_turf(loc)
- if(!T || level == 2 || !T.intact)
- plane = GAME_PLANE
- else
+ if(T.transparent_floor)
plane = FLOOR_PLANE
+ else
+ if(!T || level == 2 || !T.intact)
+ plane = GAME_PLANE
+ else
+ plane = FLOOR_PLANE
/obj/machinery/atmospherics/proc/update_pipe_image()
pipe_image = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) //the 20 puts it above Byond's darkness (not its opacity view)
@@ -95,15 +98,18 @@ Pipelines + Other Objects -> Pipe network
/obj/machinery/atmospherics/proc/add_underlay(turf/T, obj/machinery/atmospherics/node, direction, icon_connect_type)
if(node)
- if(T.intact && node.level == 1 && istype(node, /obj/machinery/atmospherics/pipe))
+ if(T.intact && node.level == 1 && istype(node, /obj/machinery/atmospherics/pipe) && !T.transparent_floor)
//underlays += SSair.icon_manager.get_atmos_icon("underlay_down", direction, color_cache_name(node))
underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "down" + icon_connect_type)
else
//underlays += SSair.icon_manager.get_atmos_icon("underlay_intact", direction, color_cache_name(node))
underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "intact" + icon_connect_type)
else
- //underlays += SSair.icon_manager.get_atmos_icon("underlay_exposed", direction, pipe_color)
- underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "exposed" + icon_connect_type)
+ if(T.transparent_floor) //we want to keep pipes under transparent floors connected normally
+ underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "intact" + icon_connect_type)
+ else
+ //underlays += SSair.icon_manager.get_atmos_icon("underlay_exposed", direction, pipe_color)
+ underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "exposed" + icon_connect_type)
/obj/machinery/atmospherics/proc/update_underlays()
if(check_icon_cache())
@@ -166,11 +172,14 @@ Pipelines + Other Objects -> Pipe network
//(De)construction
/obj/machinery/atmospherics/attackby(obj/item/W, mob/user)
+ var/turf/T = get_turf(src)
if(can_unwrench && istype(W, /obj/item/wrench))
- var/turf/T = get_turf(src)
+ if(T.transparent_floor && istype(src, /obj/machinery/atmospherics/pipe) && layer != GAS_PIPE_VISIBLE_LAYER) //pipes on GAS_PIPE_VISIBLE_LAYER are above the transparent floor and should be interactable
+ to_chat(user, "You can't interact with something that's under the floor!")
+ return
if(level == 1 && isturf(T) && T.intact)
to_chat(user, "You must remove the plating first.")
- return 1
+ return
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
add_fingerprint(user)
@@ -184,14 +193,14 @@ Pipelines + Other Objects -> Pipe network
playsound(src.loc, W.usesound, 50, 1)
to_chat(user, "You begin to unfasten \the [src]...")
if(internal_pressure > 2*ONE_ATMOSPHERE)
- to_chat(user, "As you begin unwrenching \the [src] a gush of air blows in your face... maybe you should reconsider?")
+ to_chat(user, "As you begin unwrenching \the [src] a gust of air blows in your face... maybe you should reconsider?")
unsafe_wrenching = TRUE //Oh dear oh dear
if(do_after(user, 40 * W.toolspeed, target = src) && !QDELETED(src))
user.visible_message( \
"[user] unfastens \the [src].", \
"You have unfastened \the [src].", \
- "You hear ratchet.")
+ "You hear ratcheting.")
investigate_log("was REMOVED by [key_name(usr)]", "atmos")
for(var/obj/item/clothing/shoes/magboots/usermagboots in user.get_equipped_items())
@@ -206,6 +215,9 @@ Pipelines + Other Objects -> Pipe network
unsafe_pressure_release(user,internal_pressure)
deconstruct(TRUE)
else
+ if(T.transparent_floor)
+ to_chat(user, "You can't interact with something that's under the floor!")
+ return TRUE
return ..()
//Called when an atmospherics object is unwrenched while having a large pressure difference
@@ -240,7 +252,12 @@ Pipelines + Other Objects -> Pipe network
dir = D
initialize_directions = P
var/turf/T = loc
- level = T.intact ? 2 : 1
+ if(!T.transparent_floor)
+ level = T.intact ? 2 : 1
+ else
+ level = 2
+ plane = GAME_PLANE
+ layer = GAS_PIPE_VISIBLE_LAYER
add_fingerprint(usr)
if(!SSair.initialized) //If there's no atmos subsystem, we can't really initialize pipenets
SSair.machinery_to_construct.Add(src)
@@ -337,12 +354,15 @@ Pipelines + Other Objects -> Pipe network
/obj/machinery/atmospherics/proc/add_underlay_adapter(turf/T, obj/machinery/atmospherics/node, direction, icon_connect_type) //modified from add_underlay, does not make exposed underlays
if(node)
- if(T.intact && node.level == 1 && istype(node, /obj/machinery/atmospherics/pipe))
+ if(T.intact && node.level == 1 && istype(node, /obj/machinery/atmospherics/pipe) && !T.transparent_floor)
underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "down" + icon_connect_type)
else
underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "intact" + icon_connect_type)
else
- underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "retracted" + icon_connect_type)
+ if(T.transparent_floor) //we want to keep pipes under transparent floors connected normally
+ underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "intact" + icon_connect_type)
+ else
+ underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "retracted" + icon_connect_type)
/obj/machinery/atmospherics/singularity_pull(S, current_size)
if(current_size >= STAGE_FIVE)
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm b/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm
index 9859058d731..94f9f17e4b5 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm
@@ -2,6 +2,7 @@
icon = 'icons/atmos/vent_pump.dmi'
icon_state = "map_vent"
plane = FLOOR_PLANE
+ layer = GAS_SCRUBBER_LAYER
name = "passive vent"
desc = "A large air vent"
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/tank.dm b/code/modules/atmospherics/machinery/components/unary_devices/tank.dm
index 1cfb4d18eb1..ed0c438008a 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/tank.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/tank.dm
@@ -1,7 +1,7 @@
/obj/machinery/atmospherics/unary/tank
icon = 'icons/atmos/tank.dmi'
icon_state = "air_map"
-
+ layer = GAS_PIPE_VISIBLE_LAYER
name = "pressure tank"
desc = "A large vessel containing pressurized gas."
diff --git a/code/modules/atmospherics/machinery/datum_icon_manager.dm b/code/modules/atmospherics/machinery/datum_icon_manager.dm
index 2e0ef593bae..f7a345a7c9a 100644
--- a/code/modules/atmospherics/machinery/datum_icon_manager.dm
+++ b/code/modules/atmospherics/machinery/datum_icon_manager.dm
@@ -159,9 +159,9 @@
var/cache_name = state
for(var/D in GLOB.cardinal)
- var/image/I = image(icon('icons/atmos/pipe_underlays.dmi', icon_state = state, dir = D))
+ var/image/I = image(icon('icons/atmos/pipe_underlays.dmi', icon_state = state, dir = D), layer = GAS_PIPE_HIDDEN_LAYER)
underlays[cache_name + "[D]"] = I
for(var/pipe_color in GLOB.pipe_colors)
- I = image(icon('icons/atmos/pipe_underlays.dmi', icon_state = state, dir = D))
+ I = image(icon('icons/atmos/pipe_underlays.dmi', icon_state = state, dir = D), layer = GAS_PIPE_HIDDEN_LAYER)
I.color = GLOB.pipe_colors[pipe_color]
underlays[state + "[D]" + "[GLOB.pipe_colors[pipe_color]]"] = I
diff --git a/code/modules/atmospherics/machinery/pipes/cap.dm b/code/modules/atmospherics/machinery/pipes/cap.dm
index 615075cf3c0..4cfa2efb450 100644
--- a/code/modules/atmospherics/machinery/pipes/cap.dm
+++ b/code/modules/atmospherics/machinery/pipes/cap.dm
@@ -79,7 +79,8 @@
break
var/turf/T = get_turf(src) // hide if turf is not intact
- if(!istype(T)) return
+ if(!istype(T) || T.transparent_floor)
+ return
hide(T.intact)
update_icon()
diff --git a/code/modules/atmospherics/machinery/pipes/manifold.dm b/code/modules/atmospherics/machinery/pipes/manifold.dm
index ffb66a01da3..20dd2990888 100644
--- a/code/modules/atmospherics/machinery/pipes/manifold.dm
+++ b/code/modules/atmospherics/machinery/pipes/manifold.dm
@@ -57,6 +57,8 @@
node3 = target
break
var/turf/T = src.loc // hide if turf is not intact
+ if(T.transparent_floor)
+ return
hide(T.intact)
update_icon()
diff --git a/code/modules/atmospherics/machinery/pipes/manifold4w.dm b/code/modules/atmospherics/machinery/pipes/manifold4w.dm
index 80d18bcee0f..5cefc6f723c 100644
--- a/code/modules/atmospherics/machinery/pipes/manifold4w.dm
+++ b/code/modules/atmospherics/machinery/pipes/manifold4w.dm
@@ -165,7 +165,8 @@
break
var/turf/T = src.loc // hide if turf is not intact
- hide(T.intact)
+ if(!T.transparent_floor)
+ hide(T.intact)
update_icon()
/obj/machinery/atmospherics/pipe/manifold4w/visible
diff --git a/code/modules/atmospherics/machinery/pipes/pipe.dm b/code/modules/atmospherics/machinery/pipes/pipe.dm
index afda1c30db7..925bf48715d 100644
--- a/code/modules/atmospherics/machinery/pipes/pipe.dm
+++ b/code/modules/atmospherics/machinery/pipes/pipe.dm
@@ -46,10 +46,6 @@
if(istype(W, /obj/item/analyzer))
atmosanalyzer_scan(parent.air, user)
return
-
- if(istype(W, /obj/item/painter))
- return
-
return ..()
/obj/machinery/atmospherics/proc/pipeline_expansion()
diff --git a/code/modules/atmospherics/machinery/pipes/simple/pipe_simple.dm b/code/modules/atmospherics/machinery/pipes/simple/pipe_simple.dm
index 92c421fbff9..7e14946e61e 100644
--- a/code/modules/atmospherics/machinery/pipes/simple/pipe_simple.dm
+++ b/code/modules/atmospherics/machinery/pipes/simple/pipe_simple.dm
@@ -68,7 +68,8 @@
break
var/turf/T = loc // hide if turf is not intact
- hide(T.intact)
+ if(!T.transparent_floor)
+ hide(T.intact)
update_icon()
/obj/machinery/atmospherics/pipe/simple/check_pressure(pressure)
diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm
index 2377deca844..511fbb92294 100644
--- a/code/modules/awaymissions/mission_code/wildwest.dm
+++ b/code/modules/awaymissions/mission_code/wildwest.dm
@@ -79,8 +79,6 @@
ADD_TRAIT(user, TRAIT_LASEREYES, "ww_wishgranter")
user.dna.SetSEState(GLOB.fireblock, TRUE)
singlemutcheck(user, GLOB.fireblock, MUTCHK_FORCED)
- user.dna.SetSEState(GLOB.xrayblock, TRUE)
- singlemutcheck(user, GLOB.xrayblock, MUTCHK_FORCED)
if(ishuman(user))
var/mob/living/carbon/human/human = user
if(!isshadowperson(human))
diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index 2b89fd249c4..c841c759229 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -8,8 +8,8 @@
#define UPLOAD_LIMIT 10485760 //Restricts client uploads to the server to 10MB //Boosted this thing. What's the worst that can happen?
#define MIN_CLIENT_VERSION 513 // Minimum byond major version required to play.
//I would just like the code ready should it ever need to be used.
-#define SUGGESTED_CLIENT_VERSION 513 // only integers (e.g: 513, 514) are useful here. This is the part BEFORE the ".", IE 513 out of 513.1542
-#define SUGGESTED_CLIENT_BUILD 1542 // only integers (e.g: 1542, 1543) are useful here. This is the part AFTER the ".", IE 1542 out of 513.1542
+#define SUGGESTED_CLIENT_VERSION 514 // only integers (e.g: 513, 514) are useful here. This is the part BEFORE the ".", IE 513 out of 513.1542
+#define SUGGESTED_CLIENT_BUILD 1566 // only integers (e.g: 1542, 1543) are useful here. This is the part AFTER the ".", IE 1542 out of 513.1542
#define SSD_WARNING_TIMER 30 // cycles, not seconds, so 30=60s
@@ -113,7 +113,7 @@
if(!holder && received_discord_pm < world.time - 6000) // Worse they can do is spam discord for 10 minutes
to_chat(usr, "You are no longer able to use this, it's been more then 10 minutes since an admin on Discord has responded to you")
return
- if(prefs.muted & MUTE_ADMINHELP)
+ if(check_mute(ckey, MUTE_ADMINHELP))
to_chat(usr, "You cannot use this as your client has been muted from sending messages to the admins on Discord")
return
cmd_admin_discord_pm()
diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm
index a8152a722a2..d3363131d25 100644
--- a/code/modules/client/preference/preferences.dm
+++ b/code/modules/client/preference/preferences.dm
@@ -62,8 +62,6 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
var/max_gear_slots = 0
//non-preference stuff
- var/warns = 0
- var/muted = 0
var/last_ip
var/last_id
diff --git a/code/modules/client/preference/preferences_toggles.dm b/code/modules/client/preference/preferences_toggles.dm
index 2bb7b7529e2..21c81287a2b 100644
--- a/code/modules/client/preference/preferences_toggles.dm
+++ b/code/modules/client/preference/preferences_toggles.dm
@@ -356,3 +356,11 @@
prefs.toggles2 ^= PREFTOGGLE_2_SIMPLE_STAT_PANEL
prefs.save_preferences(src)
to_chat(src, "You will [(prefs.toggles2 & PREFTOGGLE_2_SIMPLE_STAT_PANEL) ? "no longer" : "now"] get detailed information on the status panel.")
+
+/client/verb/toggle_item_outlines()
+ set name = "Toggle Item Outlines"
+ set category = "Preferences"
+ set desc = "Toggles seeing item outlines on hover."
+ prefs.toggles2 ^= PREFTOGGLE_2_SEE_ITEM_OUTLINES
+ prefs.save_preferences(src)
+ to_chat(usr, "You will [(prefs.toggles2 & PREFTOGGLE_2_SEE_ITEM_OUTLINES) ? "now" : "no longer"] see item outlines on hover.")
diff --git a/code/modules/events/anomaly.dm b/code/modules/events/anomaly.dm
index c806fac3ce0..71d1f9bdc49 100644
--- a/code/modules/events/anomaly.dm
+++ b/code/modules/events/anomaly.dm
@@ -5,6 +5,13 @@
/datum/event/anomaly/proc/findEventArea()
var/static/list/allowed_areas
+ var/static/list/existing_areas
+ if(!existing_areas)
+ existing_areas = list()
+ for(var/area/AR in world)
+ var/turf/picked = safepick(get_area_turfs(AR.type))
+ if(picked && is_station_level(picked.z))
+ existing_areas += AR
if(!allowed_areas)
//Places that shouldn't explode
var/list/safe_area_types = typecacheof(list(
@@ -20,10 +27,16 @@
)
//Subtypes from the above that actually should explode.
- var/list/unsafe_area_subtypes = typecacheof(list(/area/engine/break_room))
+ var/list/unsafe_area_subtypes = typecacheof(list(
+ /area/engine/break_room,
+ /area/engine/equipmentstorage,
+ /area/engine/chiefs_office,
+ /area/engine/controlroom,
+ /area/engine/mechanic_workshop
+ ))
- allowed_areas = make_associative(GLOB.the_station_areas) - safe_area_types + unsafe_area_subtypes
- var/list/possible_areas = typecache_filter_list(GLOB.all_areas, allowed_areas)
+ allowed_areas = typecacheof(GLOB.the_station_areas) - safe_area_types + unsafe_area_subtypes
+ var/list/possible_areas = typecache_filter_list(existing_areas, allowed_areas)
if(length(possible_areas))
return pick(possible_areas)
@@ -36,7 +49,7 @@
CRASH("Anomaly: No valid turfs found for [impact_area] - [impact_area.type]")
/datum/event/anomaly/announce()
- GLOB.event_announcement.Announce("Localized hyper-energetic flux wave detected on long range scanners. Expected location of impact: [impact_area.name].", "Anomaly Alert")
+ GLOB.event_announcement.Announce("Localized hyper-energetic flux wave detected on long range scanners. Expected location of impact: [impact_area.name].", "Anomaly Alert", 'sound/AI/anomaly.ogg')
/datum/event/anomaly/start()
var/turf/T = pick(get_area_turfs(impact_area))
diff --git a/code/modules/events/anomaly_bluespace.dm b/code/modules/events/anomaly_bluespace.dm
index b90e8b86b01..1591c802491 100644
--- a/code/modules/events/anomaly_bluespace.dm
+++ b/code/modules/events/anomaly_bluespace.dm
@@ -5,4 +5,4 @@
anomaly_path = /obj/effect/anomaly/bluespace
/datum/event/anomaly/anomaly_bluespace/announce()
- GLOB.event_announcement.Announce("Unstable bluespace anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert")
+ GLOB.event_announcement.Announce("Unstable bluespace anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert", 'sound/AI/anomaly.ogg')
diff --git a/code/modules/events/anomaly_flux.dm b/code/modules/events/anomaly_flux.dm
index 350e21cb496..533f2b5a073 100644
--- a/code/modules/events/anomaly_flux.dm
+++ b/code/modules/events/anomaly_flux.dm
@@ -5,4 +5,4 @@
anomaly_path = /obj/effect/anomaly/flux
/datum/event/anomaly/anomaly_flux/announce()
- GLOB.event_announcement.Announce("Localized hyper-energetic flux wave detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert")
+ GLOB.event_announcement.Announce("Localized hyper-energetic flux wave detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert", 'sound/AI/anomaly.ogg')
diff --git a/code/modules/events/anomaly_grav.dm b/code/modules/events/anomaly_grav.dm
index 4acf530c081..a14c63961a8 100644
--- a/code/modules/events/anomaly_grav.dm
+++ b/code/modules/events/anomaly_grav.dm
@@ -5,4 +5,4 @@
anomaly_path = /obj/effect/anomaly/grav
/datum/event/anomaly/anomaly_grav/announce()
- GLOB.event_announcement.Announce("Gravitational anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert")
+ GLOB.event_announcement.Announce("Gravitational anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert", 'sound/AI/anomaly.ogg')
diff --git a/code/modules/events/anomaly_pyro.dm b/code/modules/events/anomaly_pyro.dm
index 2caa8dc4a0c..09599073005 100644
--- a/code/modules/events/anomaly_pyro.dm
+++ b/code/modules/events/anomaly_pyro.dm
@@ -5,4 +5,4 @@
anomaly_path = /obj/effect/anomaly/pyro
/datum/event/anomaly/anomaly_pyro/announce()
- GLOB.event_announcement.Announce("Atmospheric anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert")
+ GLOB.event_announcement.Announce("Atmospheric anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert", 'sound/AI/anomaly.ogg')
diff --git a/code/modules/events/anomaly_vortex.dm b/code/modules/events/anomaly_vortex.dm
index 76058cfa574..fe274f3c73a 100644
--- a/code/modules/events/anomaly_vortex.dm
+++ b/code/modules/events/anomaly_vortex.dm
@@ -5,4 +5,4 @@
anomaly_path = /obj/effect/anomaly/bhole
/datum/event/anomaly/anomaly_vortex/announce()
- GLOB.event_announcement.Announce("Localized high-intensity vortex anomaly detected on long range scanners. Expected location: [impact_area.name]", "Anomaly Alert")
+ GLOB.event_announcement.Announce("Localized high-intensity vortex anomaly detected on long range scanners. Expected location: [impact_area.name]", "Anomaly Alert", 'sound/AI/anomaly.ogg')
diff --git a/code/modules/events/apc_overload.dm b/code/modules/events/apc_overload.dm
index 4e2a296dda5..e1784ae9726 100644
--- a/code/modules/events/apc_overload.dm
+++ b/code/modules/events/apc_overload.dm
@@ -21,7 +21,7 @@
SEND_SOUND(M, S)
/datum/event/apc_overload/announce()
- GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please check all underfloor APC terminals.", "Critical Power Failure", new_sound = 'sound/AI/attention.ogg')
+ GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please check all underfloor APC terminals.", "Critical Power Failure", 'sound/AI/power_overload.ogg')
/datum/event/apc_overload/end()
return TRUE
@@ -33,7 +33,7 @@
/area/turret_protected/ai)
if(announce)
- GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please check all underfloor APC terminals.", "Critical Power Failure", new_sound = 'sound/AI/attention.ogg')
+ GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please check all underfloor APC terminals.", "Critical Power Failure", 'sound/AI/power_overload.ogg')
// break APC_BREAK_PROBABILITY% of all of the APCs on the station
var/affected_apc_count = 0
diff --git a/code/modules/events/apc_short.dm b/code/modules/events/apc_short.dm
index 759b443e2bf..93c6e468d04 100644
--- a/code/modules/events/apc_short.dm
+++ b/code/modules/events/apc_short.dm
@@ -20,7 +20,7 @@
SEND_SOUND(M, S)
/datum/event/apc_short/announce()
- GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please repair shorted APCs.", "Systems Power Failure", new_sound = 'sound/AI/attention.ogg')
+ GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please repair shorted APCs.", "Systems Power Failure", 'sound/AI/power_overload.ogg')
/datum/event/apc_short/end()
return TRUE
@@ -30,7 +30,7 @@
/area/engine/engineering,
/area/engine/supermatter,
/area/turret_protected/ai)
- GLOB.event_announcement.Announce("Power failure detected in [station_name()]'s powernet. All APCs have lost power. Gravity systems likely to fail.", "Systems Power Failure", new_sound = 'sound/AI/attention.ogg')
+ GLOB.event_announcement.Announce("Power failure detected in [station_name()]'s powernet. All APCs have lost power. Gravity systems likely to fail.", "Systems Power Failure", 'sound/AI/attention.ogg')
for(var/thing in GLOB.apcs)
var/obj/machinery/power/apc/A = thing
var/area/current_area = get_area(A)
@@ -49,7 +49,7 @@
/area/engine/supermatter,
/area/turret_protected/ai)
if(announce)
- GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please repair shorted APCs.", "Systems Power Failure", new_sound = 'sound/AI/attention.ogg')
+ GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please repair shorted APCs.", "Systems Power Failure", 'sound/AI/power_overload.ogg')
// break APC_BREAK_PROBABILITY% of all of the APCs on the station
var/affected_apc_count = 0
for(var/thing in GLOB.apcs)
@@ -76,7 +76,7 @@
/proc/power_restore(announce = TRUE, power_type)
if(power_type == 0) //Power without Repairing
if(announce)
- GLOB.event_announcement.Announce("All operational APCs on \the [station_name()] have been fully charged.", "Power Systems Nominal", new_sound = 'sound/AI/poweron.ogg')
+ GLOB.event_announcement.Announce("All operational APCs on \the [station_name()] have been fully charged.", "Power Systems Nominal", 'sound/AI/attention.ogg')
var/affected_apc_count = 0
for(var/thing in GLOB.apcs)
var/obj/machinery/power/apc/A = thing
@@ -90,7 +90,7 @@
log_and_message_admins("Power has been restored to [affected_apc_count] APCs.")
if(power_type == 1) //Repair without charging
if(announce)
- GLOB.event_announcement.Announce("All APCs on \the [station_name()] have been repaired.", "Power Systems Nominal", new_sound = 'sound/AI/poweron.ogg')
+ GLOB.event_announcement.Announce("All APCs on \the [station_name()] have been repaired.", "Power Systems Nominal", 'sound/AI/attention.ogg')
for(var/thing in GLOB.apcs)
var/obj/machinery/power/apc/A = thing
var/area/current_area = get_area(A)
@@ -101,7 +101,7 @@
log_and_message_admins("Power has been restored to all APCs.")
if(power_type == 2) //Repair and Power APCs
if(announce)
- GLOB.event_announcement.Announce("All APCs on \the [station_name()] have been repaired and recharged. We apologize for the inconvenience.", "Power Systems Optimal", new_sound = 'sound/AI/poweron.ogg')
+ GLOB.event_announcement.Announce("All APCs on \the [station_name()] have been repaired and recharged. We apologize for the inconvenience.", "Power Systems Optimal", 'sound/AI/attention.ogg')
// repair the APCs and recharge them
for(var/thing in GLOB.apcs)
var/obj/machinery/power/apc/A = thing
@@ -115,7 +115,7 @@
/proc/power_restore_quick(announce = TRUE)
if(announce)
- GLOB.event_announcement.Announce("All SMESs on \the [station_name()] have been recharged. We apologize for the inconvenience.", "Power Systems Nominal", new_sound = 'sound/AI/poweron.ogg')
+ GLOB.event_announcement.Announce("All SMESs on \the [station_name()] have been recharged. We apologize for the inconvenience.", "Power Systems Nominal", 'sound/AI/attention.ogg')
// fix all of the SMESs
for(var/obj/machinery/power/smes/S in GLOB.machines)
if(!is_station_level(S.z))
diff --git a/code/modules/events/brand_intelligence.dm b/code/modules/events/brand_intelligence.dm
index 2ffcdb2acb9..e8a557ed069 100644
--- a/code/modules/events/brand_intelligence.dm
+++ b/code/modules/events/brand_intelligence.dm
@@ -14,7 +14,7 @@
"You don't want to buy anything? Yeah, well I didn't want to buy your mom either.")
/datum/event/brand_intelligence/announce()
- GLOB.event_announcement.Announce("Rampant brand intelligence has been detected aboard [station_name()], please stand-by. The origin is believed to be \a [originMachine.name].", "Machine Learning Alert")
+ GLOB.event_announcement.Announce("Rampant brand intelligence has been detected aboard [station_name()], please stand-by. The origin is believed to be \a [originMachine.name].", "Machine Learning Alert", 'sound/AI/brand_intelligence.ogg')
/datum/event/brand_intelligence/start()
for(var/obj/machinery/vending/V in GLOB.machines)
diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm
index 9a6ab6ca614..feba4fc1626 100644
--- a/code/modules/events/disease_outbreak.dm
+++ b/code/modules/events/disease_outbreak.dm
@@ -20,7 +20,7 @@
D.carrier = TRUE
/datum/event/disease_outbreak/announce()
- GLOB.event_announcement.Announce("Confirmed outbreak of level 7 major viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak7.ogg')
+ GLOB.event_announcement.Announce("Confirmed outbreak of level 7 major viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/AI/outbreak7.ogg')
for(var/p in GLOB.dead_mob_list)
var/mob/M = p
to_chat(M, "[patient_zero] has been infected with [D.name] ([ghost_follow_link(patient_zero, M)])")
diff --git a/code/modules/events/door_runtime.dm b/code/modules/events/door_runtime.dm
index 39e02e694db..67110810a82 100644
--- a/code/modules/events/door_runtime.dm
+++ b/code/modules/events/door_runtime.dm
@@ -1,7 +1,7 @@
/datum/event/door_runtime
/datum/event/door_runtime/announce()
- GLOB.minor_announcement.Announce("Hostile runtime detected in door controllers. Isolation lockdown protocols are now in effect. Please remain calm.", "Network Alert")
+ GLOB.minor_announcement.Announce("Hostile runtime detected in door controllers. Isolation lockdown protocols are now in effect. Please remain calm.", "Network Alert", 'sound/AI/door_runtimes.ogg')
/datum/event/door_runtime/start()
for(var/obj/machinery/door/D in GLOB.airlocks)
@@ -13,4 +13,4 @@
post_status("alert", "lockdown")
/datum/event/door_runtime/proc/reboot()
- GLOB.minor_announcement.Announce("Automatic system reboot complete. Have a secure day.","Network reset:")
+ GLOB.minor_announcement.Announce("Automatic system reboot complete. Have a secure day.","Network reset:", 'sound/AI/door_runtimes_fix.ogg')
diff --git a/code/modules/events/electrical_storm.dm b/code/modules/events/electrical_storm.dm
index 17c697faf11..555d26ee353 100644
--- a/code/modules/events/electrical_storm.dm
+++ b/code/modules/events/electrical_storm.dm
@@ -3,7 +3,7 @@
var/lightsoutRange = 25
/datum/event/electrical_storm/announce()
- GLOB.event_announcement.Announce("An electrical storm has been detected in your area, please repair potential electronic overloads.", "Electrical Storm Alert")
+ GLOB.event_announcement.Announce("An electrical storm has been detected in your area, please repair potential electronic overloads.", "Electrical Storm Alert", 'sound/AI/elec_storm.ogg')
/datum/event/electrical_storm/start()
var/list/epicentreList = list()
@@ -26,4 +26,3 @@
var/obj/effect/landmark/epicentre = thing
for(var/obj/machinery/power/apc/apc in range(epicentre, lightsoutRange))
INVOKE_ASYNC(apc, /obj/machinery/power/apc.proc/overload_lighting)
-
diff --git a/code/modules/events/ion_storm.dm b/code/modules/events/ion_storm.dm
index 60fc5e4d39a..310bc8a1767 100644
--- a/code/modules/events/ion_storm.dm
+++ b/code/modules/events/ion_storm.dm
@@ -18,7 +18,7 @@
/datum/event/ion_storm/announce()
if(announceEvent == ION_ANNOUNCE || (announceEvent == ION_RANDOM && prob(ionAnnounceChance)))
- GLOB.event_announcement.Announce("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert", 'sound/AI/ionstorm.ogg')
+ GLOB.event_announcement.Announce("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert", 'sound/AI/ions.ogg')
/datum/event/ion_storm/start()
//AI laws
diff --git a/code/modules/events/solarflare.dm b/code/modules/events/solarflare.dm
index edd1726cbb2..fa72b6182cb 100644
--- a/code/modules/events/solarflare.dm
+++ b/code/modules/events/solarflare.dm
@@ -4,7 +4,7 @@
announceWhen = 1
/datum/event/solar_flare/announce()
- GLOB.event_announcement.Announce("A solar flare has been detected on collision course with the station.", "Incoming Solar Flare", 'sound/AI/attention.ogg')
+ GLOB.event_announcement.Announce("A solar flare has been detected on collision course with the station.", "Incoming Solar Flare", 'sound/AI/flare.ogg')
/datum/event/solar_flare/start()
SSweather.run_weather(/datum/weather/solar_flare)
diff --git a/code/modules/events/spider_terror.dm b/code/modules/events/spider_terror.dm
index 5f9a06a501b..6bcd369884e 100644
--- a/code/modules/events/spider_terror.dm
+++ b/code/modules/events/spider_terror.dm
@@ -11,7 +11,7 @@
/datum/event/spider_terror/announce()
if(successSpawn)
- GLOB.command_announcement.Announce("Confirmed outbreak of level 3 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/effects/siren-spooky.ogg')
+ GLOB.command_announcement.Announce("Confirmed outbreak of level 3 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/effects/siren-spooky.ogg', new_sound2 = 'sound/AI/outbreak3.ogg')
else
log_and_message_admins("Warning: Could not spawn any mobs for event Terror Spiders")
@@ -61,4 +61,3 @@
successSpawn = TRUE
#undef TS_HIGHPOP_TRIGGER
-
diff --git a/code/modules/events/tear.dm b/code/modules/events/tear.dm
index 85976290f9c..ae0597e501f 100644
--- a/code/modules/events/tear.dm
+++ b/code/modules/events/tear.dm
@@ -5,7 +5,7 @@
var/obj/effect/tear/TE
/datum/event/tear/announce()
- GLOB.event_announcement.Announce("A tear in the fabric of space and time has opened. Expected location: [impact_area.name].", "Anomaly Alert")
+ GLOB.event_announcement.Announce("A tear in the fabric of space and time has opened. Expected location: [impact_area.name].", "Anomaly Alert", 'sound/AI/anomaly.ogg')
/datum/event/tear/start()
var/turf/T = pick(get_area_turfs(impact_area))
diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm
index daa2013a126..484b3eb2e73 100644
--- a/code/modules/events/vent_clog.dm
+++ b/code/modules/events/vent_clog.dm
@@ -6,7 +6,7 @@
var/list/vents = list()
/datum/event/vent_clog/announce()
- GLOB.event_announcement.Announce("The scrubbers network is experiencing a backpressure surge. Some ejection of contents may occur.", "Atmospherics alert")
+ GLOB.event_announcement.Announce("The scrubbers network is experiencing a backpressure surge. Some ejection of contents may occur.", "Atmospherics alert", 'sound/AI/scrubbers.ogg')
/datum/event/vent_clog/setup()
endWhen = rand(25, 100)
diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm
index b42045f86d9..13cce41ed77 100644
--- a/code/modules/hydroponics/gene_modder.dm
+++ b/code/modules/hydroponics/gene_modder.dm
@@ -277,6 +277,13 @@
if(can_insert && istype(disk.gene, /datum/plant_gene/trait))
dat += "Insert: [disk.gene.get_name()]"
dat += ""
+
+ dat += "Variant
"
+ dat += "| [seed.variant ? seed.variant : "None"] | "
+ dat += "Edit | "
+ if(seed.variant)
+ dat += "Remove | "
+ dat += "
"
else
dat += "
No sample found.
Please, insert a plant sample to use this device."
popup.set_content(dat)
@@ -391,6 +398,16 @@
else if(href_list["abort"])
operation = ""
target = null
+ else if(href_list["set_v"])
+ if(!seed)
+ return
+ seed.variant_prompt(usr, src)
+ else if(href_list["del_v"])
+ if(!seed)
+ return
+ seed.variant = null
+ seed.apply_variant_name()
+ to_chat(usr, "You remove the [seed.plantname]'s variant designation.")
interact(usr)
diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm
index a69e2da495e..e5d4f501c5d 100644
--- a/code/modules/hydroponics/grown.dm
+++ b/code/modules/hydroponics/grown.dm
@@ -42,6 +42,8 @@
seed.prepare_result(src)
transform *= TRANSFORM_USING_VARIABLE(seed.potency, 100) + 0.5 //Makes the resulting produce's sprite larger or smaller based on potency!
add_juice()
+ if(seed.variant)
+ name += " \[[seed.variant]]"
/obj/item/reagent_containers/food/snacks/grown/Destroy()
QDEL_NULL(seed)
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index 134e337fa4e..81a4f83e6a6 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -344,7 +344,10 @@
/obj/machinery/hydroponics/examine(user)
. = ..()
if(myseed)
- . += "It has [myseed.plantname] planted."
+ if(myseed.variant)
+ . += "It has the [myseed.variant] variant of [myseed.plantname] planted."
+ else
+ . += "It has [myseed.plantname] planted."
if (dead)
. += "It's dead!"
else if (harvest)
@@ -875,7 +878,8 @@
plant_hud_set_status()
adjustWeeds(-10) //Has a side effect of cleaning up those nasty weeds
update_icon()
-
+ else if(istype(O, /obj/item/pen) && myseed)
+ myseed.variant_prompt(user, src)
else
return ..()
diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm
index 34ec63ebcb7..f35d7751c7a 100644
--- a/code/modules/hydroponics/seed_extractor.dm
+++ b/code/modules/hydroponics/seed_extractor.dm
@@ -109,6 +109,7 @@
/datum/seed_pile
var/name = ""
+ var/variant = ""
var/lifespan = 0 //Saved stats
var/endurance = 0
var/maturation = 0
@@ -117,8 +118,9 @@
var/potency = 0
var/amount = 0
-/datum/seed_pile/New(name, life, endur, matur, prod, yie, poten, am = 1)
+/datum/seed_pile/New(name, variant, life, endur, matur, prod, yie, poten, am = 1)
src.name = name
+ src.variant = variant
src.lifespan = life
src.endurance = endur
src.maturation = matur
@@ -145,9 +147,9 @@
if (contents.len == 0)
dat += "No seeds"
else
- dat += "| Name | Lifespan | Endurance | Maturation | Production | Yield | Potency | Stock |
"
+ dat += "| Name | Variant | Lifespan | Endurance | Maturation | Production | Yield | Potency | Stock |
"
for (var/datum/seed_pile/O in piles)
- dat += "| [O.name] | [O.lifespan] | [O.endurance] | [O.maturation] | "
+ dat += "
| [O.name] | [O.variant] | [O.lifespan] | [O.endurance] | [O.maturation] | "
dat += "[O.production] | [O.yield] | [O.potency] | "
dat += "Vend ([O.amount] left) |
"
dat += "
"
@@ -203,9 +205,9 @@
O.forceMove(src)
. = 1
for (var/datum/seed_pile/N in piles)
- if (O.plantname == N.name && O.lifespan == N.lifespan && O.endurance == N.endurance && O.maturation == N.maturation && O.production == N.production && O.yield == N.yield && O.potency == N.potency)
+ if (O.plantname == N.name && O.variant == N.variant && O.lifespan == N.lifespan && O.endurance == N.endurance && O.maturation == N.maturation && O.production == N.production && O.yield == N.yield && O.potency == N.potency)
++N.amount
return
- piles += new /datum/seed_pile(O.plantname, O.lifespan, O.endurance, O.maturation, O.production, O.yield, O.potency)
+ piles += new /datum/seed_pile(O.plantname, O.variant, O.lifespan, O.endurance, O.maturation, O.production, O.yield, O.potency)
return
diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm
index cd9271379ed..539ab5e7573 100644
--- a/code/modules/hydroponics/seeds.dm
+++ b/code/modules/hydroponics/seeds.dm
@@ -10,6 +10,7 @@
var/plantname = "Plants" // Name of plant when planted.
var/product // A type path. The thing that is created when the plant is harvested.
var/species = "" // Used to update icons. Should match the name in the sprites unless all icon_* are overriden.
+ var/variant = null // Optional custom name to track modified plants. Can be set with pen or from gene modder.
var/growing_icon = 'icons/obj/hydroponics/growing.dmi' //the file that stores the sprites of the growing plant from this seed.
var/icon_grow // Used to override grow icon (default is "[species]-grow"). You can use one grow icon for multiple closely related plants with it.
@@ -83,6 +84,8 @@
S.potency = potency
S.weed_rate = weed_rate
S.weed_chance = weed_chance
+ S.variant = variant
+ S.apply_variant_name()
S.genes = list()
for(var/g in genes)
var/datum/plant_gene/G = g
@@ -317,16 +320,43 @@
return
/obj/item/seeds/attackby(obj/item/O, mob/user, params)
- if (istype(O, /obj/item/plant_analyzer))
+ if(istype(O, /obj/item/plant_analyzer))
to_chat(user, "*---------*\n This is \a [src].")
var/text = get_analyzer_text()
if(text)
to_chat(user, "[text]")
return
+ if(istype(O, /obj/item/pen))
+ variant_prompt(user)
+ return
..() // Fallthrough to item/attackby() so that bags can pick seeds up
+/obj/item/seeds/proc/variant_prompt(mob/user, obj/item/container = null)
+ var/prev = variant
+ var/V = input(user, "Choose variant name:", "Plant Variant Naming", variant) as text|null
+ if(isnull(V)) // Did the user cancel?
+ return
+ if(container && (loc != container)) // Was the seed removed from the container, if there is a container?
+ return
+ if(!(container ? container : src).Adjacent(user)) // Is the user next to the seed/container?
+ return
+ variant = copytext(sanitize(html_encode(trim(V))), 1, 64) // Sanitization must happen after null check because it converts nulls to empty strings
+ if(variant == "")
+ variant = null
+ if(prev != variant)
+ to_chat(user, "You [variant ? "change" : "remove"] the [plantname]'s variant designation.")
+ apply_variant_name()
+
+/obj/item/seeds/proc/apply_variant_name()
+ var/V = variant ? " \[[variant]]" : "" // If we have a non-empty variant add it to the name
+ var/N = initial(name)
+ if(copytext(name, 1, 13) == "experimental") // Don't delete 'experimental'
+ N = "experimental " + N
+ name = N + V
+ if(GetComponent(/datum/component/label))
+ GetComponent(/datum/component/label).apply_label() // Don't delete labels
diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm
index 56c5c820559..f289a2dc8e1 100644
--- a/code/modules/mining/abandonedcrates.dm
+++ b/code/modules/mining/abandonedcrates.dm
@@ -104,21 +104,7 @@
new /obj/item/toy/katana(src)
if(85 to 86)
new /obj/item/defibrillator/compact(src)
- if(87) //1% chance
- new /obj/item/weed_extract(src)
- if(88)
- new /obj/item/organ/internal/brain(src)
- if(89)
- new /obj/item/organ/internal/brain/xeno(src)
- if(90)
- new /obj/item/organ/internal/heart(src)
- if(91)
- new /obj/item/soulstone/anybody(src)
- if(92)
- new /obj/item/katana(src)
- if(93)
- new /obj/item/dnainjector/xraymut(src)
- if(94)
+ if(87 to 88)
new /obj/item/storage/backpack/clown(src)
new /obj/item/clothing/under/rank/clown(src)
new /obj/item/clothing/shoes/clown_shoes(src)
@@ -128,6 +114,18 @@
new /obj/item/toy/crayon/rainbow(src)
new /obj/item/reagent_containers/spray/waterflower(src)
new /obj/item/reagent_containers/food/drinks/bottle/bottleofbanana(src)
+ if(89) //1% chance
+ new /obj/item/weed_extract(src)
+ if(90)
+ new /obj/item/organ/internal/brain(src)
+ if(91)
+ new /obj/item/organ/internal/brain/xeno(src)
+ if(92)
+ new /obj/item/organ/internal/heart(src)
+ if(93)
+ new /obj/item/soulstone/anybody(src)
+ if(94)
+ new /obj/item/katana(src)
if(95)
new /obj/item/clothing/under/mime(src)
new /obj/item/clothing/shoes/black(src)
diff --git a/code/modules/mob/dead/observer/orbit.dm b/code/modules/mob/dead/observer/orbit.dm
index d5410015f5e..20b2a4d375a 100644
--- a/code/modules/mob/dead/observer/orbit.dm
+++ b/code/modules/mob/dead/observer/orbit.dm
@@ -104,6 +104,7 @@
"Shadowling Thrall" = (mind in SSticker.mode.shadowling_thralls),
"Abductor" = (mind in SSticker.mode.abductors),
"Revolutionary" = (mind in SSticker.mode.revolutionaries),
+ "Head Revolutionary" = (mind in SSticker.mode.head_revolutionaries)
)
for(var/antag_name in other_antags)
diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm
index 9e9245d274a..a7dc2c86a9f 100644
--- a/code/modules/mob/dead/observer/say.dm
+++ b/code/modules/mob/dead/observer/say.dm
@@ -19,7 +19,7 @@
log_ghostemote(message, src)
if(src.client)
- if(src.client.prefs.muted & MUTE_DEADCHAT)
+ if(check_mute(client.ckey, MUTE_DEADCHAT))
to_chat(src, "You cannot emote in deadchat (muted).")
return
diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm
index 12312a4fdff..ae6cd715cec 100644
--- a/code/modules/mob/emote.dm
+++ b/code/modules/mob/emote.dm
@@ -112,7 +112,7 @@
O.show_message(message, m_type)
/mob/proc/emote_dead(message)
- if(client.prefs.muted & MUTE_DEADCHAT)
+ if(check_mute(client.ckey, MUTE_DEADCHAT))
to_chat(src, "You cannot send deadchat emotes (muted).")
return
diff --git a/code/modules/mob/living/carbon/alien/larva/emote.dm b/code/modules/mob/living/carbon/alien/larva/emote.dm
index 9871c735725..e2c2a224831 100644
--- a/code/modules/mob/living/carbon/alien/larva/emote.dm
+++ b/code/modules/mob/living/carbon/alien/larva/emote.dm
@@ -14,10 +14,10 @@
if(silent)
return
if(src.client)
- if(client.prefs.muted & MUTE_IC)
+ if(check_mute(client.ckey, MUTE_IC))
to_chat(src, "You cannot send IC messages (muted).")
return
- if(src.client.handle_spam_prevention(message,MUTE_IC))
+ if(src.client.handle_spam_prevention(message, MUTE_IC))
return
if(stat)
return
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 160a9d55288..46a71531dcd 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -1203,6 +1203,14 @@ so that different stomachs can handle things in different ways VB*/
sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS)
see_in_dark = max(see_in_dark, 8)
+ if(HAS_TRAIT(src, TRAIT_MESON_VISION))
+ sight |= SEE_TURFS
+ lighting_alpha = min(lighting_alpha, LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE)
+
+ if(HAS_TRAIT(src, TRAIT_NIGHT_VISION))
+ see_in_dark = max(see_in_dark, 8)
+ lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
+
SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT)
sync_lighting_plane_alpha()
diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm
index 7d1ae80a955..f7cc37fbd8b 100644
--- a/code/modules/mob/living/carbon/human/species/_species.dm
+++ b/code/modules/mob/living/carbon/human/species/_species.dm
@@ -894,13 +894,21 @@ It'll return null if the organ doesn't correspond, so include null checks when u
if(!isnull(H.vision_type.lighting_alpha))
H.lighting_alpha = min(H.vision_type.lighting_alpha, H.lighting_alpha)
- if(HAS_TRAIT(src, TRAIT_THERMAL_VISION))
+ if(HAS_TRAIT(H, TRAIT_MESON_VISION))
+ H.sight |= SEE_TURFS
+ H.lighting_alpha = min(H.lighting_alpha, LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE)
+
+ if(HAS_TRAIT(H, TRAIT_THERMAL_VISION))
H.sight |= (SEE_MOBS)
H.lighting_alpha = min(H.lighting_alpha, LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE)
if(HAS_TRAIT(H, TRAIT_XRAY_VISION))
H.sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS)
+ if(HAS_TRAIT(H, TRAIT_NIGHT_VISION))
+ H.see_in_dark = max(H.see_in_dark, 8)
+ H.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
+
if(H.has_status_effect(STATUS_EFFECT_SUMMONEDGHOST))
H.see_invisible = SEE_INVISIBLE_OBSERVER
diff --git a/code/modules/mob/living/carbon/human/species/machine.dm b/code/modules/mob/living/carbon/human/species/machine.dm
index 963b878a758..43c0931f96b 100644
--- a/code/modules/mob/living/carbon/human/species/machine.dm
+++ b/code/modules/mob/living/carbon/human/species/machine.dm
@@ -21,7 +21,7 @@
death_message = "gives a short series of shrill beeps, their chassis shuddering before falling limp, nonfunctional."
death_sounds = list('sound/voice/borg_deathsound.ogg') //I've made this a list in the event we add more sounds for dead robots.
- species_traits = list(IS_WHITELISTED, NO_BLOOD, NO_CLONESCAN, NO_INTORGANS, NOTRANSSTING)
+ species_traits = list(IS_WHITELISTED, NO_BLOOD, NO_CLONESCAN, NO_INTORGANS)
inherent_traits = list(TRAIT_VIRUSIMMUNE, TRAIT_NOBREATH, TRAIT_RADIMMUNE, TRAIT_NOGERMS, TRAIT_NODECAY, TRAIT_NOPAIN, TRAIT_GENELESS) //Computers that don't decay? What a lie!
inherent_biotypes = MOB_ROBOTIC | MOB_HUMANOID
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
diff --git a/code/modules/mob/living/carbon/human/species/plasmaman.dm b/code/modules/mob/living/carbon/human/species/plasmaman.dm
index 926ed17348e..4a49b965fb8 100644
--- a/code/modules/mob/living/carbon/human/species/plasmaman.dm
+++ b/code/modules/mob/living/carbon/human/species/plasmaman.dm
@@ -5,7 +5,7 @@
dangerous_existence = TRUE //So so much
//language = "Clatter"
- species_traits = list(IS_WHITELISTED, NO_BLOOD, NOTRANSSTING, NO_HAIR)
+ species_traits = list(IS_WHITELISTED, NO_BLOOD, NO_HAIR)
inherent_traits = list(TRAIT_RADIMMUNE, TRAIT_NOHUNGER)
inherent_biotypes = MOB_HUMANOID | MOB_MINERAL
forced_heartattack = TRUE // Plasmamen have no blood, but they should still get heart-attacks
diff --git a/code/modules/mob/living/carbon/human/species/vox.dm b/code/modules/mob/living/carbon/human/species/vox.dm
index 547f2ad31b1..a52ae7bb06d 100644
--- a/code/modules/mob/living/carbon/human/species/vox.dm
+++ b/code/modules/mob/living/carbon/human/species/vox.dm
@@ -22,7 +22,7 @@
eyes = "vox_eyes_s"
- species_traits = list(NO_CLONESCAN, IS_WHITELISTED, NOTRANSSTING)
+ species_traits = list(NO_CLONESCAN, IS_WHITELISTED)
inherent_traits = list(TRAIT_NOGERMS, TRAIT_NODECAY)
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS //Species-fitted 'em all.
dietflags = DIET_OMNI
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index bd0aad32dac..148e73e873f 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -760,7 +760,7 @@
//called when the mob receives a bright flash
/mob/living/proc/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /obj/screen/fullscreen/flash)
- if(check_eye_prot() < intensity && (override_blindness_check || !HAS_TRAIT(src, TRAIT_BLIND)))
+ if(check_eye_prot() < intensity && (override_blindness_check || !HAS_TRAIT(src, TRAIT_BLIND)) && !HAS_TRAIT(src, TRAIT_FLASH_PROTECTION))
overlay_fullscreen("flash", type)
addtimer(CALLBACK(src, .proc/clear_fullscreen, "flash", 25), 25)
return 1
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index 43d1c402fd0..0ac3b497530 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -110,7 +110,7 @@ GLOBAL_LIST_EMPTY(channel_to_radio_key)
/mob/living/say(message, verb = "says", sanitize = TRUE, ignore_speech_problems = FALSE, ignore_atmospherics = FALSE, ignore_languages = FALSE)
if(client)
- if(client.prefs.muted & MUTE_IC)
+ if(check_mute(client.ckey, MUTE_IC))
to_chat(src, "You cannot speak in IC (Muted).")
return
@@ -297,7 +297,7 @@ GLOBAL_LIST_EMPTY(channel_to_radio_key)
/mob/living/emote(act, type, message, force) //emote code is terrible, this is so that anything that isn't already snowflaked to shit can call the parent and handle emoting sanely
if(client)
- if(client.prefs.muted & MUTE_IC)
+ if(check_mute(client.ckey, MUTE_IC))
to_chat(src, "You cannot speak in IC (Muted).")
return
@@ -352,7 +352,7 @@ GLOBAL_LIST_EMPTY(channel_to_radio_key)
/mob/living/proc/whisper_say(list/message_pieces, verb = "whispers")
if(client)
- if(client.prefs.muted & MUTE_IC)
+ if(check_mute(client.ckey, MUTE_IC))
to_chat(src, "You cannot speak in IC (Muted).")
return
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index 6c646d2509e..5d20cb66209 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -212,6 +212,20 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
GLOB.shuttle_caller_list += src
..()
+/mob/living/silicon/ai/Destroy()
+ GLOB.ai_list -= src
+ GLOB.shuttle_caller_list -= src
+ SSshuttle.autoEvac()
+ if(malfhacking)
+ deltimer(malfhacking)
+ malfhacking = null
+ QDEL_NULL(eyeobj) // No AI, no Eye
+ QDEL_NULL(aiPDA)
+ QDEL_NULL(aiMulti)
+ QDEL_NULL(aiRadio)
+ QDEL_NULL(builtInCamera)
+ return ..()
+
/mob/living/silicon/ai/proc/on_mob_init()
to_chat(src, "You are playing the station's AI. The AI cannot move, but can interact with many objects while viewing them (through cameras).")
to_chat(src, "To look at other parts of the station, click on yourself to get a camera menu.")
@@ -314,17 +328,6 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
return TRUE
-/mob/living/silicon/ai/Destroy()
- GLOB.ai_list -= src
- GLOB.shuttle_caller_list -= src
- SSshuttle.autoEvac()
- QDEL_NULL(eyeobj) // No AI, no Eye
- if(malfhacking)
- deltimer(malfhacking)
- malfhacking = null
- malfhack = null
- return ..()
-
/*
The AI Power supply is a dummy object used for powering the AI since only machinery should be using power.
diff --git a/code/modules/mob/living/silicon/ai/death.dm b/code/modules/mob/living/silicon/ai/death.dm
index 717f9700316..30bd84c48fc 100644
--- a/code/modules/mob/living/silicon/ai/death.dm
+++ b/code/modules/mob/living/silicon/ai/death.dm
@@ -27,7 +27,7 @@
if(SSshuttle.emergency.mode == SHUTTLE_STRANDED)
SSshuttle.emergency.mode = SHUTTLE_DOCKED
SSshuttle.emergency.timer = world.time
- GLOB.priority_announcement.Announce("Hostile environment resolved. You have 3 minutes to board the Emergency Shuttle.", "Priority Announcement", 'sound/AI/shuttledock.ogg')
+ GLOB.priority_announcement.Announce("Hostile environment resolved. You have 3 minutes to board the Emergency Shuttle.", "Priority Announcement", 'sound/AI/eshuttle_dock.ogg')
qdel(doomsday_device)
if(explosive)
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 21d9e75db90..5748775558a 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -1147,55 +1147,18 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
cell = null
qdel(src)
-#define BORG_CAMERA_BUFFER 30
-/mob/living/silicon/robot/Move(a, b, flag)
- var/oldLoc = src.loc
+#define BORG_CAMERA_BUFFER 3 SECONDS
+
+/mob/living/silicon/robot/Move(atom/newloc, direct, movetime)
+ var/oldLoc = loc
. = ..()
- if(.)
- if(src.camera)
- if(!updating)
- updating = 1
- spawn(BORG_CAMERA_BUFFER)
- if(camera && oldLoc != src.loc)
- GLOB.cameranet.updatePortableCamera(src.camera)
- updating = 0
- if(module)
- if(module.type == /obj/item/robot_module/janitor)
- var/turf/tile = loc
- if(stat != DEAD && isturf(tile))
- var/floor_only = TRUE
- for(var/A in tile)
- if(istype(A, /obj/effect))
- var/obj/effect/E = A
- if(E.is_cleanable())
- var/obj/effect/decal/cleanable/blood/B = E
- if(istype(B) && B.off_floor)
- floor_only = FALSE
- else
- qdel(E)
- else if(istype(A, /obj/item))
- var/obj/item/cleaned_item = A
- cleaned_item.clean_blood()
- else if(istype(A, /mob/living/carbon/human))
- var/mob/living/carbon/human/cleaned_human = A
- if(cleaned_human.lying)
- if(cleaned_human.head)
- cleaned_human.head.clean_blood()
- cleaned_human.update_inv_head()
- if(cleaned_human.wear_suit)
- cleaned_human.wear_suit.clean_blood()
- cleaned_human.update_inv_wear_suit()
- else if(cleaned_human.w_uniform)
- cleaned_human.w_uniform.clean_blood()
- cleaned_human.update_inv_w_uniform()
- if(cleaned_human.shoes)
- cleaned_human.shoes.clean_blood()
- cleaned_human.update_inv_shoes()
- cleaned_human.clean_blood()
- to_chat(cleaned_human, "[src] cleans your face!")
- if(floor_only)
- tile.clean_blood()
- return
+ if(. && !updating && camera)
+ updating = TRUE
+ spawn(BORG_CAMERA_BUFFER)
+ if(camera && oldLoc != loc)
+ GLOB.cameranet.updatePortableCamera(camera)
+ updating = FALSE
+
#undef BORG_CAMERA_BUFFER
/mob/living/silicon/robot/proc/self_destruct()
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index 8554068dce8..8a43a2a011e 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -447,6 +447,43 @@
/obj/item/extinguisher/mini
)
+/obj/item/robot_module/janitor/Initialize(mapload)
+ . = ..()
+ var/mob/living/silicon/robot/R = loc
+ RegisterSignal(R, COMSIG_MOVABLE_MOVED, .proc/on_cyborg_move)
+
+/**
+ * Proc called after the janitor cyborg has moved, in order to clean atoms at it's new location.
+ *
+ * Arguments:
+ * * mob/living/silicon/robot/R - The cyborg who moved.
+ */
+/obj/item/robot_module/janitor/proc/on_cyborg_move(mob/living/silicon/robot/R)
+ SIGNAL_HANDLER
+
+ if(R.stat == DEAD || !isturf(R.loc))
+ return
+ var/turf/tile = R.loc
+ for(var/A in tile)
+ if(iseffect(A))
+ var/obj/effect/E = A
+ if(!E.is_cleanable())
+ continue
+ var/obj/effect/decal/cleanable/blood/B = E
+ if(istype(B) && B.off_floor)
+ tile.clean_blood()
+ else
+ qdel(E)
+ else if(isitem(A))
+ var/obj/item/I = A
+ I.clean_blood()
+ else if(ishuman(A))
+ var/mob/living/carbon/human/cleaned_human = A
+ if(!cleaned_human.lying)
+ continue
+ cleaned_human.clean_blood()
+ to_chat(cleaned_human, "[src] cleans your face!")
+
/obj/item/reagent_containers/spray/cyborg_lube
name = "Lube spray"
list_reagents = list("lube" = 250)
diff --git a/code/modules/mob/living/simple_animal/hostile/bat.dm b/code/modules/mob/living/simple_animal/hostile/bat.dm
index 1cc904f1017..9e5ae1e2ec1 100644
--- a/code/modules/mob/living/simple_animal/hostile/bat.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bat.dm
@@ -33,27 +33,16 @@
// break_stuff_probability = 2
faction = list("scarybat")
- var/mob/living/owner
gold_core_spawnable = HOSTILE_SPAWN
-/mob/living/simple_animal/hostile/scarybat/New(loc, mob/living/L as mob)
- ..()
+/mob/living/simple_animal/hostile/scarybat/Initialize(mapload, mob/living/L)
+ . = ..()
if(istype(L))
- owner = L
+ faction += "\ref[L]"
/mob/living/simple_animal/hostile/scarybat/Process_Spacemove(check_drift = 0)
return ..() //No drifting in space for space carp! //original comments do not steal
-/mob/living/simple_animal/hostile/scarybat/Found(atom/A)//This is here as a potential override to pick a specific target if available
- if(istype(A) && A == owner)
- return 0
- return ..()
-
-/mob/living/simple_animal/hostile/scarybat/CanAttack(atom/the_target)//This is here as a potential override to pick a specific target if available
- if(istype(the_target) && the_target == owner)
- return 0
- return ..()
-
/mob/living/simple_animal/hostile/scarybat/AttackingTarget()
. =..()
var/mob/living/L = .
diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm
index 0370a84baba..63a883b4d00 100644
--- a/code/modules/mob/living/simple_animal/hostile/bees.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bees.dm
@@ -31,7 +31,6 @@
move_to_delay = 0
obj_damage = 0
environment_smash = 0
- mouse_opacity = MOUSE_OPACITY_OPAQUE
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
density = FALSE
mob_size = MOB_SIZE_TINY
@@ -51,6 +50,8 @@
var/isqueen = FALSE
var/bee_syndicate = FALSE
var/icon_base = "bee"
+ var/last_attack = 0
+ var/opacity_time = 1 MINUTES
var/static/list/bee_icons = list()
var/static/beehometypecache = typecacheof(/obj/structure/beebox)
var/static/hydroponicstypecache = typecacheof(/obj/machinery/hydroponics)
@@ -162,6 +163,7 @@
else
. = ..()
if(. && isliving(target) && (!client || a_intent == INTENT_HARM))
+ make_opaque()
var/mob/living/L = target
if(L.reagents)
if(beegent)
@@ -170,6 +172,23 @@
else
L.reagents.add_reagent("spidertoxin", 5)
+/mob/living/simple_animal/hostile/poison/bees/proc/make_opaque()
+ // If a bee attacks someone, make it very easy to hit for a while
+ last_attack = world.time
+ mouse_opacity = MOUSE_OPACITY_OPAQUE
+
+/mob/living/simple_animal/hostile/poison/bees/Life(seconds, times_fired)
+ . = ..()
+ if(mind || (mouse_opacity == initial(mouse_opacity)))
+ return
+ var/diff = world.time - last_attack
+ if(diff >= opacity_time)
+ mouse_opacity = initial(mouse_opacity)
+
+/mob/living/simple_animal/hostile/poison/bees/sentience_act()
+ . = ..()
+ make_opaque()
+
/mob/living/simple_animal/hostile/poison/bees/proc/assign_reagent(datum/reagent/R)
if(istype(R))
beegent = R
@@ -233,6 +252,7 @@
desc = "She's the queen of bees, BZZ BZZ"
icon_base = "queen"
isqueen = TRUE
+ mouse_opacity = MOUSE_OPACITY_OPAQUE
//the Queen doesn't leave the box on her own, and she CERTAINLY doesn't pollinate by herself
@@ -324,6 +344,7 @@
search_objects = FALSE //these bees don't care about trivial things like plants, especially when there is havoc to sow
bee_syndicate = TRUE
var/list/master_and_friends = list()
+ mouse_opacity = MOUSE_OPACITY_OPAQUE
/mob/living/simple_animal/hostile/poison/bees/syndi/New()
beegent = GLOB.chemical_reagents_list["facid"] //Prepare to die
diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm
index 4c3635e406a..9d2ddae7a65 100644
--- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm
+++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm
@@ -33,7 +33,7 @@
/mob/living/simple_animal/hostile/netherworld/migo/Initialize(mapload)
. = ..()
- migo_sounds = list('sound/items/bubblewrap.ogg', 'sound/items/change_jaws.ogg', 'sound/items/crowbar.ogg', 'sound/items/drink.ogg', 'sound/items/deconstruct.ogg', 'sound/items/change_drill.ogg', 'sound/items/dodgeball.ogg', 'sound/items/eatfood.ogg', 'sound/items/screwdriver.ogg', 'sound/items/weeoo1.ogg', 'sound/items/wirecutter.ogg', 'sound/items/welder.ogg', 'sound/items/zip.ogg', 'sound/items/rped.ogg', 'sound/items/ratchet.ogg', 'sound/items/polaroid1.ogg', 'sound/items/pshoom.ogg', 'sound/items/airhorn.ogg', 'sound/voice/bcreep.ogg', 'sound/voice/biamthelaw.ogg', 'sound/voice/ed209_20sec.ogg', 'sound/voice/hiss3.ogg', 'sound/voice/hiss6.ogg', 'sound/voice/mpatchedup.ogg', 'sound/voice/mfeelbetter.ogg', 'sound/weapons/sear.ogg', 'sound/ambience/antag/tatoralert.ogg', 'sound/mecha/nominal.ogg', 'sound/mecha/weapdestr.ogg', 'sound/mecha/critdestr.ogg', 'sound/mecha/imag_enh.ogg', 'sound/effects/adminhelp.ogg', 'sound/effects/alert.ogg', 'sound/effects/attackblob.ogg', 'sound/effects/bamf.ogg', 'sound/effects/blobattack.ogg', 'sound/effects/break_stone.ogg', 'sound/effects/bubbles.ogg', 'sound/effects/bubbles2.ogg', 'sound/effects/clang.ogg', 'sound/effects/clownstep2.ogg', 'sound/effects/dimensional_rend.ogg', 'sound/effects/doorcreaky.ogg', 'sound/effects/empulse.ogg', 'sound/effects/explosionfar.ogg', 'sound/effects/explosion1.ogg', 'sound/effects/grillehit.ogg', 'sound/effects/genetics.ogg', 'sound/effects/heartbeat.ogg', 'sound/effects/hyperspace_begin.ogg', 'sound/effects/hyperspace_end.ogg', 'sound/goonstation/effects/screech.ogg', 'sound/effects/phasein.ogg', 'sound/effects/picaxe1.ogg', 'sound/effects/sparks1.ogg', 'sound/effects/smoke.ogg', 'sound/effects/splat.ogg', 'sound/effects/snap.ogg', 'sound/effects/tendril_destroyed.ogg', 'sound/effects/supermatter.ogg', 'sound/misc/desceration-01.ogg', 'sound/misc/desceration-02.ogg', 'sound/misc/desceration-03.ogg', 'sound/misc/bloblarm.ogg', 'sound/goonstation/misc/airraid_loop.ogg', 'sound/misc/interference.ogg', 'sound/misc/notice1.ogg', 'sound/misc/notice2.ogg', 'sound/misc/sadtrombone.ogg', 'sound/misc/slip.ogg', 'sound/weapons/armbomb.ogg', 'sound/weapons/chainsaw.ogg', 'sound/weapons/emitter.ogg', 'sound/weapons/emitter2.ogg', 'sound/weapons/blade1.ogg', 'sound/weapons/bladeslice.ogg', 'sound/weapons/blastcannon.ogg', 'sound/weapons/blaster.ogg', 'sound/weapons/bulletflyby3.ogg', 'sound/weapons/circsawhit.ogg', 'sound/weapons/cqchit2.ogg', 'sound/weapons/drill.ogg', 'sound/weapons/genhit1.ogg', 'sound/weapons/gunshots/gunshot_silenced.ogg', 'sound/weapons/gunshots/gunshot.ogg', 'sound/weapons/handcuffs.ogg', 'sound/weapons/homerun.ogg', 'sound/weapons/kenetic_accel.ogg', 'sound/machines/fryer/deep_fryer_emerge.ogg', 'sound/machines/airlock_alien_prying.ogg', 'sound/machines/airlock_close.ogg', 'sound/machines/airlockforced.ogg', 'sound/machines/airlock_open.ogg', 'sound/machines/alarm.ogg', 'sound/machines/blender.ogg', 'sound/machines/boltsdown.ogg', 'sound/machines/boltsup.ogg', 'sound/machines/buzz-sigh.ogg', 'sound/machines/buzz-two.ogg', 'sound/machines/chime.ogg', 'sound/machines/defib_charge.ogg', 'sound/machines/defib_failed.ogg', 'sound/machines/defib_ready.ogg', 'sound/machines/defib_zap.ogg', 'sound/machines/deniedbeep.ogg', 'sound/machines/ding.ogg', 'sound/machines/disposalflush.ogg', 'sound/machines/door_close.ogg', 'sound/machines/door_open.ogg', 'sound/machines/engine_alert1.ogg', 'sound/machines/engine_alert2.ogg', 'sound/machines/hiss.ogg', 'sound/machines/honkbot_evil_laugh.ogg', 'sound/machines/juicer.ogg', 'sound/machines/ping.ogg', 'sound/ambience/signal.ogg', 'sound/machines/synth_no.ogg', 'sound/machines/synth_yes.ogg', 'sound/machines/terminal_alert.ogg', 'sound/machines/twobeep.ogg', 'sound/machines/ventcrawl.ogg', 'sound/machines/warning-buzzer.ogg', 'sound/ai/outbreak5.ogg', 'sound/ai/outbreak7.ogg', 'sound/ai/poweroff.ogg', 'sound/ai/radiation.ogg', 'sound/ai/shuttlecalled.ogg', 'sound/ai/shuttledock.ogg', 'sound/ai/shuttlerecalled.ogg', 'sound/ai/aimalf.ogg', 'sound/ambience/ambigen1.ogg', 'sound/ambience/ambigen3.ogg', 'sound/ambience/ambigen4.ogg', 'sound/ambience/ambigen5.ogg', 'sound/ambience/ambigen6.ogg', 'sound/ambience/ambigen10.ogg', 'sound/hallucinations/over_here1.ogg', 'sound/hallucinations/over_here2.ogg', 'sound/hallucinations/over_here3.ogg') //hahahaha fuck you code divers
+ migo_sounds = list('sound/items/bubblewrap.ogg', 'sound/items/change_jaws.ogg', 'sound/items/crowbar.ogg', 'sound/items/drink.ogg', 'sound/items/deconstruct.ogg', 'sound/items/change_drill.ogg', 'sound/items/dodgeball.ogg', 'sound/items/eatfood.ogg', 'sound/items/screwdriver.ogg', 'sound/items/weeoo1.ogg', 'sound/items/wirecutter.ogg', 'sound/items/welder.ogg', 'sound/items/zip.ogg', 'sound/items/rped.ogg', 'sound/items/ratchet.ogg', 'sound/items/polaroid1.ogg', 'sound/items/pshoom.ogg', 'sound/items/airhorn.ogg', 'sound/voice/bcreep.ogg', 'sound/voice/biamthelaw.ogg', 'sound/voice/ed209_20sec.ogg', 'sound/voice/hiss3.ogg', 'sound/voice/hiss6.ogg', 'sound/voice/mpatchedup.ogg', 'sound/voice/mfeelbetter.ogg', 'sound/weapons/sear.ogg', 'sound/ambience/antag/tatoralert.ogg', 'sound/mecha/nominal.ogg', 'sound/mecha/weapdestr.ogg', 'sound/mecha/critdestr.ogg', 'sound/mecha/imag_enh.ogg', 'sound/effects/adminhelp.ogg', 'sound/effects/alert.ogg', 'sound/effects/attackblob.ogg', 'sound/effects/bamf.ogg', 'sound/effects/blobattack.ogg', 'sound/effects/break_stone.ogg', 'sound/effects/bubbles.ogg', 'sound/effects/bubbles2.ogg', 'sound/effects/clang.ogg', 'sound/effects/clownstep2.ogg', 'sound/effects/dimensional_rend.ogg', 'sound/effects/doorcreaky.ogg', 'sound/effects/empulse.ogg', 'sound/effects/explosionfar.ogg', 'sound/effects/explosion1.ogg', 'sound/effects/grillehit.ogg', 'sound/effects/genetics.ogg', 'sound/effects/heartbeat.ogg', 'sound/effects/hyperspace_begin.ogg', 'sound/effects/hyperspace_end.ogg', 'sound/goonstation/effects/screech.ogg', 'sound/effects/phasein.ogg', 'sound/effects/picaxe1.ogg', 'sound/effects/sparks1.ogg', 'sound/effects/smoke.ogg', 'sound/effects/splat.ogg', 'sound/effects/snap.ogg', 'sound/effects/tendril_destroyed.ogg', 'sound/effects/supermatter.ogg', 'sound/misc/desceration-01.ogg', 'sound/misc/desceration-02.ogg', 'sound/misc/desceration-03.ogg', 'sound/misc/bloblarm.ogg', 'sound/goonstation/misc/airraid_loop.ogg', 'sound/misc/interference.ogg', 'sound/misc/notice1.ogg', 'sound/misc/notice2.ogg', 'sound/misc/sadtrombone.ogg', 'sound/misc/slip.ogg', 'sound/weapons/armbomb.ogg', 'sound/weapons/chainsaw.ogg', 'sound/weapons/emitter.ogg', 'sound/weapons/emitter2.ogg', 'sound/weapons/blade1.ogg', 'sound/weapons/bladeslice.ogg', 'sound/weapons/blastcannon.ogg', 'sound/weapons/blaster.ogg', 'sound/weapons/bulletflyby3.ogg', 'sound/weapons/circsawhit.ogg', 'sound/weapons/cqchit2.ogg', 'sound/weapons/drill.ogg', 'sound/weapons/genhit1.ogg', 'sound/weapons/gunshots/gunshot_silenced.ogg', 'sound/weapons/gunshots/gunshot.ogg', 'sound/weapons/handcuffs.ogg', 'sound/weapons/homerun.ogg', 'sound/weapons/kenetic_accel.ogg', 'sound/machines/fryer/deep_fryer_emerge.ogg', 'sound/machines/airlock_alien_prying.ogg', 'sound/machines/airlock_close.ogg', 'sound/machines/airlockforced.ogg', 'sound/machines/airlock_open.ogg', 'sound/machines/alarm.ogg', 'sound/machines/blender.ogg', 'sound/machines/boltsdown.ogg', 'sound/machines/boltsup.ogg', 'sound/machines/buzz-sigh.ogg', 'sound/machines/buzz-two.ogg', 'sound/machines/chime.ogg', 'sound/machines/defib_charge.ogg', 'sound/machines/defib_failed.ogg', 'sound/machines/defib_ready.ogg', 'sound/machines/defib_zap.ogg', 'sound/machines/deniedbeep.ogg', 'sound/machines/ding.ogg', 'sound/machines/disposalflush.ogg', 'sound/machines/door_close.ogg', 'sound/machines/door_open.ogg', 'sound/machines/engine_alert1.ogg', 'sound/machines/engine_alert2.ogg', 'sound/machines/hiss.ogg', 'sound/machines/honkbot_evil_laugh.ogg', 'sound/machines/juicer.ogg', 'sound/machines/ping.ogg', 'sound/ambience/signal.ogg', 'sound/machines/synth_no.ogg', 'sound/machines/synth_yes.ogg', 'sound/machines/terminal_alert.ogg', 'sound/machines/twobeep.ogg', 'sound/machines/ventcrawl.ogg', 'sound/machines/warning-buzzer.ogg', 'sound/ai/outbreak5.ogg', 'sound/ai/outbreak7.ogg', 'sound/ai/alert.ogg', 'sound/ai/radiation.ogg', 'sound/ai/eshuttle_call.ogg', 'sound/ai/eshuttle_dock.ogg', 'sound/ai/eshuttle_recall.ogg', 'sound/ai/aimalf.ogg', 'sound/ambience/ambigen1.ogg', 'sound/ambience/ambigen3.ogg', 'sound/ambience/ambigen4.ogg', 'sound/ambience/ambigen5.ogg', 'sound/ambience/ambigen6.ogg', 'sound/ambience/ambigen10.ogg', 'sound/hallucinations/over_here1.ogg', 'sound/hallucinations/over_here2.ogg', 'sound/hallucinations/over_here3.ogg') //hahahaha fuck you code divers
/mob/living/simple_animal/hostile/netherworld/migo/say(message, bubble_type, list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null)
..()
diff --git a/code/modules/mob/living/simple_animal/slime/emote.dm b/code/modules/mob/living/simple_animal/slime/emote.dm
index 0eceec7a124..14ce0de54c8 100644
--- a/code/modules/mob/living/simple_animal/slime/emote.dm
+++ b/code/modules/mob/living/simple_animal/slime/emote.dm
@@ -19,10 +19,10 @@
if(silent)
return
if(src.client)
- if(client.prefs.muted & MUTE_IC)
+ if(check_mute(client.ckey, MUTE_IC))
to_chat(src, "You cannot send IC messages (muted).")
return
- if(src.client.handle_spam_prevention(message,MUTE_IC))
+ if(src.client.handle_spam_prevention(message, MUTE_IC))
return
if(stat)
return
diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index e199e81eb69..10d56a99dc0 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -51,7 +51,7 @@
to_chat(src, "Deadchat is globally muted.")
return
- if(client.prefs.muted & MUTE_DEADCHAT)
+ if(check_mute(client.ckey, MUTE_DEADCHAT))
to_chat(src, "You cannot talk in deadchat (muted).")
return
diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm
index 76a5dd4dc03..a3a4d0c58c4 100644
--- a/code/modules/paperwork/faxmachine.dm
+++ b/code/modules/paperwork/faxmachine.dm
@@ -40,11 +40,15 @@ GLOBAL_LIST_EMPTY(fax_blacklist)
/// Target department to send outgoing faxes to
var/destination
-/obj/machinery/photocopier/faxmachine/New()
- ..()
+/obj/machinery/photocopier/faxmachine/Initialize(mapload)
+ . = ..()
GLOB.allfaxes += src
update_network()
+/obj/machinery/photocopier/faxmachine/Destroy()
+ GLOB.allfaxes -= src
+ return ..()
+
/obj/machinery/photocopier/faxmachine/proc/update_network()
if(department != "Unknown")
if(!(("[department]" in GLOB.alldepartments) || ("[department]" in GLOB.hidden_departments) || ("[department]" in GLOB.admin_departments) || ("[department]" in GLOB.hidden_admin_departments)))
diff --git a/code/modules/pda/mob_hunt_game_app.dm b/code/modules/pda/mob_hunt_game_app.dm
index 5db744c37ef..fe4ef7962f3 100644
--- a/code/modules/pda/mob_hunt_game_app.dm
+++ b/code/modules/pda/mob_hunt_game_app.dm
@@ -28,6 +28,11 @@
disconnect("Program Terminated")
STOP_PROCESSING(SSobj, pda)
+/datum/data/pda/app/mob_hunter_game/Destroy()
+ STOP_PROCESSING(SSobj, pda)
+ SSmob_hunt.connected_clients -= src
+ return ..()
+
/datum/data/pda/app/mob_hunter_game/proc/scan_nearby()
if(!SSmob_hunt || !connected)
return
@@ -74,13 +79,14 @@
return
scan_nearby()
-/datum/data/pda/app/mob_hunter_game/proc/register_capture(datum/mob_hunt/captured, wild = 0)
+/datum/data/pda/app/mob_hunter_game/proc/register_capture(datum/mob_hunt/captured, wild = FALSE)
if(!captured)
- return 0
- my_collection.Add(captured)
+ return FALSE
+ my_collection += captured
+ RegisterSignal(captured, COMSIG_PARENT_QDELETING, .proc/remove_mob)
if(wild)
wild_captures++
- return 1
+ return TRUE
/datum/data/pda/app/mob_hunter_game/update_ui(mob/user, list/data)
if(!SSmob_hunt || !(src in SSmob_hunt.connected_clients))
@@ -138,12 +144,27 @@
card.forceMove(get_turf(pda))
remove_mob()
-/datum/data/pda/app/mob_hunter_game/proc/remove_mob()
- if(!my_collection.len)
+/**
+ * Removes a Nanomob from the [my_collection] list.
+ *
+ * The Nanomob that is currently selected in the app ([current_index]) will be removed from the list unless a `mob_override` argument is given, in which case that will be removed instead.
+ *
+ * Arguments:
+ * * mob_override - A specific Nanomob to remove from the list. (Optional)
+ */
+/datum/data/pda/app/mob_hunter_game/proc/remove_mob(datum/mob_hunt/mob_override = null)
+ SIGNAL_HANDLER
+ if(!length(my_collection))
return
- my_collection.Remove(my_collection[current_index])
- if(current_index > my_collection.len)
- current_index = my_collection.len
+
+ if(mob_override)
+ my_collection -= mob_override
+ else
+ my_collection -= my_collection[current_index]
+
+ var/collection_length = length(my_collection)
+ if(current_index > collection_length)
+ current_index = collection_length
/datum/data/pda/app/mob_hunter_game/proc/set_trap()
if(!my_collection.len || !pda || !hacked)
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 49044665c08..ffb92c12cc4 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -1355,7 +1355,7 @@
for(var/obj/machinery/light/L in area)
if(L.nightshift_allowed)
L.nightshift_enabled = nightshift_lights
- L.update(FALSE)
+ L.update(FALSE, play_sound = FALSE)
CHECK_TICK
/obj/machinery/power/apc/proc/relock_callback()
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index fcccefbf513..db7152b3505 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -35,6 +35,7 @@ By design, d1 is the smallest direction and d2 is the highest
icon_state = "0-1"
var/d1 = 0
var/d2 = 1
+ plane = FLOOR_PLANE
layer = WIRE_LAYER //Just below unary stuff, which is at 2.45 and above pipes, which are at 2.4
color = COLOR_RED
@@ -68,9 +69,11 @@ By design, d1 is the smallest direction and d2 is the highest
d2 = text2num(copytext( icon_state, dash+1 ))
var/turf/T = get_turf(src) // hide if turf is not intact
+ LAZYADD(GLOB.cable_list, src) //add it to the global cable list
+ if(T.transparent_floor)
+ return
if(level == 1)
hide(T.intact)
- LAZYADD(GLOB.cable_list, src) //add it to the global cable list
/obj/structure/cable/Destroy() // called when a cable is deleted
if(powernet)
@@ -162,7 +165,8 @@ By design, d1 is the smallest direction and d2 is the highest
//
/obj/structure/cable/attackby(obj/item/W, mob/user)
var/turf/T = get_turf(src)
- if(T.intact)
+ if(T.transparent_floor || T.intact)
+ to_chat(user, "You can't interact with something that's under the floor!")
return
else if(istype(W, /obj/item/stack/cable_coil))
@@ -204,7 +208,8 @@ By design, d1 is the smallest direction and d2 is the highest
/obj/structure/cable/wirecutter_act(mob/user, obj/item/I)
. = TRUE
var/turf/T = get_turf(src)
- if(T.intact)
+ if(T.transparent_floor || T.intact)
+ to_chat(user, "You can't interact with something that's under the floor!")
return
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
@@ -703,7 +708,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain
var/turf/T = get_turf(C)
- if(!isturf(T) || T.intact) // sanity checks, also stop use interacting with T-scanner revealed cable
+ if(!isturf(T) || T.intact || T.transparent_floor) // sanity checks, also stop use interacting with T-scanner revealed cable
return
if(get_dist(C, user) > 1) // make sure it's close enough
@@ -719,7 +724,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain
// one end of the clicked cable is pointing towards us
if(C.d1 == dirn || C.d2 == dirn)
- if(U.intact) // can't place a cable if the floor is complete
+ if(U.intact || U.transparent_floor) // can't place a cable if the floor is complete
to_chat(user, "You can't lay cable there unless the floor tiles are removed!")
return
else
diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm
index 38575891d07..eae1047d0e0 100644
--- a/code/modules/power/cell.dm
+++ b/code/modules/power/cell.dm
@@ -284,6 +284,12 @@
charge = 0
update_icon()
+/obj/item/stock_parts/cell/bluespace/charging
+ name = "self-charging bluespace power cell"
+ desc = "An experimental, self-charging, transdimensional power cell."
+ origin_tech = "powerstorage=10;bluespace=10"
+ self_recharge = TRUE
+
/obj/item/stock_parts/cell/infinite
name = "infinite-capacity power cell!"
icon_state = "icell"
@@ -294,7 +300,7 @@
chargerate = 30000
/obj/item/stock_parts/cell/infinite/use()
- return 1
+ return TRUE
/obj/item/stock_parts/cell/infinite/abductor
name = "void core"
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index e275b747814..cb605bf2beb 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -8,6 +8,9 @@
#define LIGHT_BROKEN 2
#define LIGHT_BURNED 3
+#define LIGHT_ON_DELAY_LOWER 1 SECONDS
+#define LIGHT_ON_DELAY_UPPER 3 SECONDS
+
/**
* # Light fixture frame
*
@@ -173,6 +176,8 @@
power_channel = LIGHT //Lights are calc'd via area so they dont need to be in the machine list
/// Is the light on or off?
var/on = FALSE
+ /// Is the light currently turning on?
+ var/turning_on = FALSE
/// If the light state has changed since the last 'update()', also update the power requirements
var/power_state = FALSE
/// How much power does it use?
@@ -260,7 +265,7 @@
brightness_color = "#a0a080"
if(prob(5))
break_light_tube(TRUE)
- update(FALSE)
+ update(FALSE, TRUE, FALSE)
/obj/machinery/light/Destroy()
var/area/A = get_area(src)
@@ -290,62 +295,87 @@
return
/**
- * Updates the light's properties
+ * Updates the light's 'on' state and power consumption based on [/obj/machinery/light/var/on].
*
- * Updates the icon_state, luminosity, colour, and power usage of the light.
- * Also handles rigged light bulbs exploding.
* Arguments:
- * * trigger - Should this update make the light explode/burn out? (Defaults to TRUE)
+ * * trigger - Should this update check if the light will explode/burn out.
+ * * instant - Will the lightbulb turn on instantly, or after a short delay.
+ * * play_sound - Will the lightbulb play a sound when it's turned on.
*/
-/obj/machinery/light/proc/update(trigger = TRUE)
+/obj/machinery/light/proc/update(trigger = TRUE, instant = FALSE, play_sound = TRUE)
switch(status)
if(LIGHT_BROKEN, LIGHT_BURNED, LIGHT_EMPTY)
on = FALSE
- update_icon()
- if(on)
- var/BR = brightness_range
- var/PO = brightness_power
- var/CO = brightness_color
- if(color)
- CO = color
- var/area/A = get_area(src)
- if(A && A.fire)
- CO = bulb_emergency_colour
- else if(nightshift_enabled)
- BR = nightshift_light_range
- PO = nightshift_light_power
- if(!color)
- CO = nightshift_light_color
- var/matching = light && BR == light.light_range && PO == light.light_power && CO == light.light_color
- if(!matching)
- switchcount++
- if(rigged)
- if(status == LIGHT_OK && trigger)
- log_admin("LOG: Rigged light explosion, last touched by [fingerprintslast]")
- message_admins("LOG: Rigged light explosion, last touched by [fingerprintslast]")
- explode()
- // Whichever number is smallest gets set as the prob
- // Each spook adds a 0.5% to 1% chance of burnout
- else if(prob(min(40, switchcount / 10)))
- if(status == LIGHT_OK && trigger)
- burnout()
-
- else
- use_power = ACTIVE_POWER_USE
- set_light(BR, PO, CO)
- else
+ if(on) // Turning on
+ if(instant)
+ _turn_on(trigger, play_sound)
+ else if(!turning_on)
+ turning_on = TRUE
+ addtimer(CALLBACK(src, .proc/_turn_on, trigger, play_sound), rand(LIGHT_ON_DELAY_LOWER, LIGHT_ON_DELAY_UPPER))
+ else // Turning off
use_power = IDLE_POWER_USE
set_light(0)
+ update_icon()
active_power_usage = (brightness_range * 10)
if(on != power_state) // Light was turned on/off, so update the power usage
power_state = on
if(on)
- static_power_used = brightness_range * 20 //20W per unit luminosity
+ static_power_used = brightness_range * 20 //20W per unit of luminosity
addStaticPower(static_power_used, STATIC_LIGHT)
else
removeStaticPower(static_power_used, STATIC_LIGHT)
+/**
+ * The actual proc to turn on the lightbulb.
+ *
+ * Private proc, do not call directly. Use [/obj/machinery/light/proc/update] instead.
+ *
+ * Sets the light power, range, and colour based on environmental conditions such as night shift and fire alarms.
+ * Also handles light bulbs burning out and exploding if `trigger` is `TRUE`.
+ */
+/obj/machinery/light/proc/_turn_on(trigger, play_sound = TRUE)
+ PRIVATE_PROC(TRUE)
+ if(QDELETED(src))
+ return
+ turning_on = FALSE
+ if(!on)
+ return
+ var/BR = brightness_range
+ var/PO = brightness_power
+ var/CO = brightness_color
+ if(color)
+ CO = color
+ var/area/A = get_area(src)
+ if(A?.fire)
+ CO = bulb_emergency_colour
+ else if(nightshift_enabled)
+ BR = nightshift_light_range
+ PO = nightshift_light_power
+ if(!color)
+ CO = nightshift_light_color
+ if(light && (BR == light.light_range) && (PO == light.light_power) && (CO == light.light_color))
+ return // Nothing's changed here
+
+ switchcount++
+ update_icon()
+ if(trigger && (status == LIGHT_OK))
+ if(rigged)
+ log_admin("LOG: Rigged light explosion, last touched by [fingerprintslast].")
+ message_admins("LOG: Rigged light explosion, last touched by [fingerprintslast].")
+ explode()
+ return
+ // Whichever number is smallest gets set as the prob
+ // Each spook adds a 0.5% to 1% chance of burnout
+ else if(prob(min(40, switchcount / 10)))
+ burnout()
+ return
+
+ use_power = ACTIVE_POWER_USE
+ set_light(BR, PO, CO)
+ if(play_sound)
+ playsound(src, 'sound/machines/light_on.ogg', 60, TRUE)
+
/obj/machinery/light/proc/burnout()
status = LIGHT_BURNED
icon_state = "[base_state]-burned"
@@ -404,7 +434,7 @@
brightness_color = L.brightness_color
lightmaterials = L.materials
on = has_power()
- update()
+ update(TRUE, TRUE, FALSE)
user.drop_item() //drop the item to update overlays and such
qdel(L)
@@ -538,13 +568,13 @@
if(status != LIGHT_OK)
break
on = FALSE
- update(FALSE)
+ update(FALSE, TRUE, FALSE)
sleep(rand(1, 3))
on = (status == LIGHT_OK)
- update(FALSE)
+ update(FALSE, TRUE, FALSE)
sleep(rand(1, 10))
on = (status == LIGHT_OK)
- update(FALSE)
+ update(FALSE, TRUE, FALSE)
flickering = FALSE
@@ -620,7 +650,7 @@
user.put_in_active_hand(L)
status = LIGHT_EMPTY
- update(FALSE)
+ update()
return L
/obj/machinery/light/attack_tk(mob/user)
@@ -649,8 +679,8 @@
if(status == LIGHT_OK)
return
status = LIGHT_OK
- on = 1
- update()
+ on = TRUE
+ update(FALSE, TRUE, FALSE)
/obj/machinery/light/zap_act(power, zap_flags)
var/explosive = zap_flags & ZAP_MACHINE_EXPLOSIVE
@@ -856,3 +886,10 @@
on = FALSE
visible_message("[src] flickers and falls dark.")
update(FALSE)
+
+#undef LIGHT_OK
+#undef LIGHT_EMPTY
+#undef LIGHT_BROKEN
+#undef LIGHT_BURNED
+#undef LIGHT_ON_DELAY_LOWER
+#undef LIGHT_ON_DELAY_UPPER
diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm
index 996817666ca..e2ac3506855 100644
--- a/code/modules/power/supermatter/supermatter.dm
+++ b/code/modules/power/supermatter/supermatter.dm
@@ -221,7 +221,7 @@
return
var/mob/living/carbon/human/H = user
var/immune = istype(H.glasses, /obj/item/clothing/glasses/meson)
- if(!immune && (get_dist(user, src) < HALLUCINATION_RANGE(power)))
+ if(!immune && !HAS_TRAIT(H, TRAIT_MESON_VISION) && (get_dist(user, src) < HALLUCINATION_RANGE(power)))
. += "You get headaches just from looking at it."
/obj/machinery/power/supermatter_crystal/detailed_examine()
@@ -537,7 +537,7 @@
//Makes em go mad and accumulate rads.
for(var/mob/living/carbon/human/l in view(src, HALLUCINATION_RANGE(power))) // If they can see it without mesons on. Bad on them.
- if(!istype(l.glasses, /obj/item/clothing/glasses/meson))
+ if(!istype(l.glasses, /obj/item/clothing/glasses/meson) && !HAS_TRAIT(l, TRAIT_MESON_VISION))
var/D = sqrt(1 / max(1, get_dist(l, src)))
l.hallucination += power * hallucination_power * D
l.hallucination = clamp(l.hallucination, 0, 200)
diff --git a/code/modules/power/terminal.dm b/code/modules/power/terminal.dm
index 584079b3c45..d8fc709a656 100644
--- a/code/modules/power/terminal.dm
+++ b/code/modules/power/terminal.dm
@@ -15,6 +15,8 @@
/obj/machinery/power/terminal/Initialize(mapload)
. = ..()
var/turf/T = get_turf(src)
+ if(T.transparent_floor)
+ return
if(level == 1)
hide(T.intact)
diff --git a/code/modules/reagents/chemistry/recipes/drinks.dm b/code/modules/reagents/chemistry/recipes/drinks.dm
index f03ae9b316b..c5f4a2b63bf 100644
--- a/code/modules/reagents/chemistry/recipes/drinks.dm
+++ b/code/modules/reagents/chemistry/recipes/drinks.dm
@@ -915,8 +915,8 @@
name = "Gimlet"
id = "gimlet"
result = "gimlet"
- required_reagents = list("gin" = 1, "limejuice" = 1)
- result_amount = 2
+ required_reagents = list("gin" = 1, "limejuice" = 1, "sugar" = 1)
+ result_amount = 3
mix_sound = 'sound/goonstation/misc/drinkfizz.ogg'
/datum/chemical_reaction/sidecar
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index b2afa9c06e3..cb875dce0cf 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -691,6 +691,7 @@
armor = list("melee" = 25, "bullet" = 10, "laser" = 10, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 30)
damage_deflection = 10
flags_2 = RAD_PROTECT_CONTENTS_2 | RAD_NO_CONTAMINATE_2
+ plane = FLOOR_PLANE
layer = DISPOSAL_PIPE_LAYER // slightly lower than wires and other pipes
var/base_icon_state // initial icon state on map
@@ -757,6 +758,9 @@
// update the icon_state to reflect hidden status
/obj/structure/disposalpipe/proc/update()
var/turf/T = get_turf(src)
+ if(T.transparent_floor)
+ update_icon()
+ return
hide(T.intact && !istype(T, /turf/space)) // space never hides pipes
update_icon()
@@ -889,15 +893,20 @@
/obj/structure/disposalpipe/attackby(obj/item/I, mob/user, params)
var/turf/T = get_turf(src)
- if(T.intact)
- return // prevent interaction with T-scanner revealed pipes
+ if(T.intact || T.transparent_floor)
+ to_chat(user, "You can't interact with something that's under the floor!")
+ return // prevent interaction with T-scanner revealed pipes and pipes under glass
add_fingerprint(user)
/obj/structure/disposalpipe/welder_act(mob/user, obj/item/I)
. = TRUE
+ var/turf/T = get_turf(src)
if(!I.tool_use_check(user, 0))
return
+ if(T.transparent_floor)
+ to_chat(user, "You can't interact with something that's under the floor!")
+ return
WELDER_ATTEMPT_SLICING_MESSAGE
if(!I.use_tool(src, user, 30, volume = I.tool_volume))
return
@@ -1201,7 +1210,7 @@
return
var/turf/T = src.loc
- if(T.intact)
+ if(T.intact || T.transparent_floor)
return // prevent interaction with T-scanner revealed pipes
src.add_fingerprint(user)
diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm
index 83b09e5c228..4c7f1e94ca1 100644
--- a/code/modules/research/circuitprinter.dm
+++ b/code/modules/research/circuitprinter.dm
@@ -11,19 +11,17 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
container_type = OPENCONTAINER
categories = list(
- "AI Modules",
- "Computer Boards",
- "Engineering Machinery",
- "Exosuit Modules",
- "Hydroponics Machinery",
- "Medical Machinery",
- "Misc. Machinery",
- "Research Machinery",
- "Subspace Telecomms",
- "Teleportation Machinery"
- )
-
- reagents = new()
+ "AI Modules",
+ "Computer Boards",
+ "Engineering Machinery",
+ "Exosuit Modules",
+ "Hydroponics Machinery",
+ "Medical Machinery",
+ "Misc. Machinery",
+ "Research Machinery",
+ "Subspace Telecomms",
+ "Teleportation Machinery"
+ )
/obj/machinery/r_n_d/circuit_imprinter/New()
..()
@@ -33,8 +31,8 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
component_parts += new /obj/item/stock_parts/manipulator(null)
component_parts += new /obj/item/reagent_containers/glass/beaker(null)
component_parts += new /obj/item/reagent_containers/glass/beaker(null)
+ create_reagents()
RefreshParts()
- reagents.my_atom = src
/obj/machinery/r_n_d/circuit_imprinter/upgraded/New()
..()
@@ -45,7 +43,11 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
component_parts += new /obj/item/reagent_containers/glass/beaker/large(null)
component_parts += new /obj/item/reagent_containers/glass/beaker/large(null)
RefreshParts()
- reagents.my_atom = src
+
+/obj/machinery/r_n_d/circuit_imprinter/Destroy()
+ if(linked_console)
+ linked_console.linked_imprinter = null
+ return ..()
/obj/machinery/r_n_d/circuit_imprinter/RefreshParts()
reagents.maximum_volume = 0
diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm
index f91b8f2012b..7ce266b522a 100644
--- a/code/modules/research/designs/medical_designs.dm
+++ b/code/modules/research/designs/medical_designs.dm
@@ -72,6 +72,16 @@
build_path = /obj/item/defibrillator
category = list("Medical")
+/datum/design/compact_defib
+ name = "Compact Defibrillator"
+ desc = "A belt-mounted defibrillator for rapid deployment."
+ id = "compact_defib"
+ req_tech = list("materials" = 7, "biotech" = 7, "powerstorage" = 6)
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 10000, MAT_GLASS = 4000, MAT_SILVER = 2000)
+ build_path = /obj/item/defibrillator/compact
+ category = list("Medical")
+
/datum/design/defib_mount
name = "Defibrillator Wall Mount"
desc = "A wall mount for defibrillator units."
diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm
index 41b7fedd6db..5423f41a236 100644
--- a/code/modules/research/destructive_analyzer.dm
+++ b/code/modules/research/destructive_analyzer.dm
@@ -29,6 +29,11 @@ Note: Must be placed within 3 tiles of the R&D Console
component_parts += new /obj/item/stock_parts/micro_laser/ultra(null)
RefreshParts()
+/obj/machinery/r_n_d/destructive_analyzer/Destroy()
+ if(linked_console)
+ linked_console.linked_destroy = null
+ return ..()
+
/obj/machinery/r_n_d/destructive_analyzer/RefreshParts()
var/T = 0
for(var/obj/item/stock_parts/S in component_parts)
diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm
index 3c2e2cfda0c..4ceacf94301 100644
--- a/code/modules/research/message_server.dm
+++ b/code/modules/research/message_server.dm
@@ -60,14 +60,16 @@ GLOBAL_LIST_EMPTY(message_servers)
var/active = TRUE
var/decryptkey = "password"
-/obj/machinery/message_server/New()
+/obj/machinery/message_server/Initialize(mapload)
+ . = ..()
GLOB.message_servers += src
decryptkey = GenerateKey()
send_pda_message("System Administrator", "system", "This is an automated message. The messaging system is functioning correctly.")
- ..()
/obj/machinery/message_server/Destroy()
GLOB.message_servers -= src
+ QDEL_LIST(pda_msgs)
+ QDEL_LIST(rc_msgs)
return ..()
/obj/machinery/message_server/process()
diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm
index 263e67dd795..0f69a938734 100644
--- a/code/modules/research/protolathe.dm
+++ b/code/modules/research/protolathe.dm
@@ -14,19 +14,16 @@ Note: Must be placed west/left of and R&D console to function.
container_type = OPENCONTAINER
categories = list(
- "Bluespace",
- "Equipment",
- "Janitorial",
- "Medical",
- "Mining",
- "Miscellaneous",
- "Power",
- "Stock Parts",
- "Weapons"
- )
-
- reagents = new()
-
+ "Bluespace",
+ "Equipment",
+ "Janitorial",
+ "Medical",
+ "Mining",
+ "Miscellaneous",
+ "Power",
+ "Stock Parts",
+ "Weapons"
+ )
/obj/machinery/r_n_d/protolathe/New()
..()
@@ -38,10 +35,9 @@ Note: Must be placed west/left of and R&D console to function.
component_parts += new /obj/item/stock_parts/manipulator(null)
component_parts += new /obj/item/reagent_containers/glass/beaker/large(null)
component_parts += new /obj/item/reagent_containers/glass/beaker/large(null)
+ create_reagents()
RefreshParts()
- reagents.my_atom = src
-
/obj/machinery/r_n_d/protolathe/upgraded/New()
..()
component_parts = list()
@@ -54,7 +50,10 @@ Note: Must be placed west/left of and R&D console to function.
component_parts += new /obj/item/reagent_containers/glass/beaker/large(null)
RefreshParts()
- reagents.my_atom = src
+/obj/machinery/r_n_d/protolathe/Destroy()
+ if(linked_console)
+ linked_console.linked_lathe = null
+ return ..()
/obj/machinery/r_n_d/protolathe/RefreshParts()
var/T = 0
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index ffa8ac763de..03c916e8b69 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -176,6 +176,20 @@ won't update every console in existence) but it's more of a hassle to do. Also,
SyncRDevices()
/obj/machinery/computer/rdconsole/Destroy()
+ QDEL_NULL(files)
+ QDEL_NULL(t_disk)
+ QDEL_NULL(d_disk)
+ QDEL_LIST(matching_designs)
+ if(linked_destroy)
+ linked_destroy.linked_console = null
+ linked_destroy = null
+ if(linked_lathe)
+ linked_lathe.linked_console = null
+ linked_lathe = null
+ if(linked_imprinter)
+ linked_imprinter.linked_console = null
+ linked_imprinter = null
+
if(wait_message_timer)
deltimer(wait_message_timer)
wait_message_timer = 0
diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm
index ac78e892c7e..3fba5e8093a 100644
--- a/code/modules/research/rdmachines.dm
+++ b/code/modules/research/rdmachines.dm
@@ -32,12 +32,17 @@
wires["Black"] = 0
wires["White"] = 0
var/list/w = list("Red","Blue","Green","Yellow","Black","White")
- src.hack_wire = pick(w)
- w -= src.hack_wire
- src.shock_wire = pick(w)
- w -= src.shock_wire
- src.disable_wire = pick(w)
- w -= src.disable_wire
+ hack_wire = pick_n_take(w)
+ shock_wire = pick_n_take(w)
+ disable_wire = pick_n_take(w)
+
+/obj/machinery/r_n_d/Destroy()
+ if(loaded_item)
+ loaded_item.forceMove(get_turf(src))
+ loaded_item = null
+ linked_console = null
+ materials = null
+ return ..()
/obj/machinery/r_n_d/attack_hand(mob/user as mob)
if(shocked)
diff --git a/code/modules/response_team/ert_outfits.dm b/code/modules/response_team/ert_outfits.dm
index b597af644f9..d4b4f5fc929 100644
--- a/code/modules/response_team/ert_outfits.dm
+++ b/code/modules/response_team/ert_outfits.dm
@@ -340,7 +340,7 @@
/obj/item/organ/internal/cyberimp/arm/surgery,
/obj/item/organ/internal/cyberimp/chest/nutriment
)
- belt = /obj/item/defibrillator/compact/loaded
+ belt = /obj/item/defibrillator/compact/advanced/loaded
l_pocket = /obj/item/reagent_containers/hypospray/safety/ert
r_pocket = /obj/item/melee/classic_baton/telescopic
@@ -369,7 +369,7 @@
mask = /obj/item/clothing/mask/gas/sechailer/swat
suit_store = /obj/item/gun/energy/gun/blueshield/pdw9
- belt = /obj/item/defibrillator/compact/loaded
+ belt = /obj/item/defibrillator/compact/advanced/loaded
l_pocket = /obj/item/reagent_containers/hypospray/combat/nanites
r_pocket = /obj/item/reagent_containers/hypospray/autoinjector
diff --git a/code/modules/security_levels/security_levels.dm b/code/modules/security_levels/security_levels.dm
index d3d4be7dff9..c9bf85eaac4 100644
--- a/code/modules/security_levels/security_levels.dm
+++ b/code/modules/security_levels/security_levels.dm
@@ -33,7 +33,7 @@ GLOBAL_DATUM_INIT(security_announcement_down, /datum/announcement/priority/secur
switch(level)
if(SEC_LEVEL_GREEN)
- GLOB.security_announcement_down.Announce("All threats to the station have passed. All weapons need to be holstered and privacy laws are once again fully enforced.","Attention! Security level lowered to green.")
+ GLOB.security_announcement_down.Announce("All threats to the station have passed. All weapons need to be holstered and privacy laws are once again fully enforced.","Attention! Security level lowered to green.", 'sound/AI/green.ogg')
GLOB.security_level = SEC_LEVEL_GREEN
post_status("alert", "outline")
@@ -45,9 +45,9 @@ GLOBAL_DATUM_INIT(security_announcement_down, /datum/announcement/priority/secur
if(SEC_LEVEL_BLUE)
if(GLOB.security_level < SEC_LEVEL_BLUE)
- GLOB.security_announcement_up.Announce("The station has received reliable information about possible hostile activity on the station. Security staff may have weapons visible and random searches are permitted.","Attention! Security level elevated to blue.")
+ GLOB.security_announcement_up.Announce("The station has received reliable information about possible hostile activity on the station. Security staff may have weapons visible and random searches are permitted.","Attention! Security level elevated to blue.", 'sound/AI/blue.ogg')
else
- GLOB.security_announcement_down.Announce("The immediate threat has passed. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still allowed.","Attention! Security level lowered to blue.")
+ GLOB.security_announcement_down.Announce("The immediate threat has passed. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still allowed.","Attention! Security level lowered to blue.", 'sound/AI/blue.ogg')
GLOB.security_level = SEC_LEVEL_BLUE
post_status("alert", "outline")
@@ -59,9 +59,9 @@ GLOBAL_DATUM_INIT(security_announcement_down, /datum/announcement/priority/secur
if(SEC_LEVEL_RED)
if(GLOB.security_level < SEC_LEVEL_RED)
- GLOB.security_announcement_up.Announce("There is an immediate and serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised.","Attention! Code Red!")
+ GLOB.security_announcement_up.Announce("There is an immediate and serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised.","Attention! Code Red!", 'sound/AI/red.ogg')
else
- GLOB.security_announcement_down.Announce("The station's self-destruct mechanism has been deactivated, but there is still an immediate and serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised.","Attention! Code Red!")
+ GLOB.security_announcement_down.Announce("The station's self-destruct mechanism has been deactivated, but there is still an immediate and serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised.","Attention! Code Red!", 'sound/AI/red.ogg')
GLOB.security_level = SEC_LEVEL_RED
var/obj/machinery/door/airlock/highsecurity/red/R = locate(/obj/machinery/door/airlock/highsecurity/red) in GLOB.airlocks
@@ -77,7 +77,7 @@ GLOBAL_DATUM_INIT(security_announcement_down, /datum/announcement/priority/secur
FA.overlays += image('icons/obj/monitors.dmi', "overlay_red")
if(SEC_LEVEL_GAMMA)
- GLOB.security_announcement_up.Announce("Central Command has ordered the Gamma security level on the station. Security is to have weapons equipped at all times, and all civilians are to immediately seek their nearest head for transportation to a secure location.", "Attention! Gamma security level activated!", sound('sound/effects/new_siren.ogg'))
+ GLOB.security_announcement_up.Announce("Central Command has ordered the Gamma security level on the station. Security is to have weapons equipped at all times, and all civilians are to immediately seek their nearest head for transportation to a secure location.", "Attention! Gamma security level activated!", 'sound/effects/new_siren.ogg', new_sound2 = 'sound/AI/gamma.ogg')
GLOB.security_level = SEC_LEVEL_GAMMA
if(GLOB.security_level < SEC_LEVEL_RED)
@@ -95,7 +95,7 @@ GLOBAL_DATUM_INIT(security_announcement_down, /datum/announcement/priority/secur
FA.update_icon()
if(SEC_LEVEL_EPSILON)
- GLOB.security_announcement_up.Announce("Central Command has ordered the Epsilon security level on the station. Consider all contracts terminated.","Attention! Epsilon security level activated!", new_sound = sound('sound/effects/purge_siren.ogg'))
+ GLOB.security_announcement_up.Announce("Central Command has ordered the Epsilon security level on the station. Consider all contracts terminated.","Attention! Epsilon security level activated!", 'sound/effects/purge_siren.ogg', new_sound2 = 'sound/AI/epsilon.ogg')
GLOB.security_level = SEC_LEVEL_EPSILON
post_status("alert", "epsilonalert")
@@ -106,7 +106,7 @@ GLOBAL_DATUM_INIT(security_announcement_down, /datum/announcement/priority/secur
FA.overlays += image('icons/obj/monitors.dmi', "overlay_epsilon")
if(SEC_LEVEL_DELTA)
- GLOB.security_announcement_up.Announce("The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill.","Attention! Delta security level reached!", new_sound = sound('sound/effects/deltaalarm.ogg'))
+ GLOB.security_announcement_up.Announce("The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill.","Attention! Delta security level reached!", 'sound/effects/deltaalarm.ogg', new_sound2 = 'sound/AI/delta.ogg')
GLOB.security_level = SEC_LEVEL_DELTA
post_status("alert", "deltaalert")
diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm
index 8a5c2118794..f9c3edf437c 100644
--- a/code/modules/shuttle/emergency.dm
+++ b/code/modules/shuttle/emergency.dm
@@ -86,12 +86,15 @@
travelDir = 0
var/sound_played = 0 //If the launch sound has been sent to all players on the shuttle itself
- var/datum/announcement/priority/emergency_shuttle_docked = new(0, new_sound = sound('sound/AI/shuttledock.ogg'))
- var/datum/announcement/priority/emergency_shuttle_called = new(0, new_sound = sound('sound/AI/shuttlecalled.ogg'))
- var/datum/announcement/priority/emergency_shuttle_recalled = new(0, new_sound = sound('sound/AI/shuttlerecalled.ogg'))
+ var/datum/announcement/priority/emergency_shuttle_docked = new(0, new_sound = sound('sound/AI/eshuttle_dock.ogg'))
+ var/datum/announcement/priority/emergency_shuttle_called = new(0, new_sound = sound('sound/AI/eshuttle_call.ogg'))
+ var/datum/announcement/priority/emergency_shuttle_recalled = new(0, new_sound = sound('sound/AI/eshuttle_recall.ogg'))
var/canRecall = TRUE //no bad condom, do not recall the crew transfer shuttle!
+ var/datum/announcement/priority/crew_shuttle_called = new(0, new_sound = sound('sound/AI/cshuttle.ogg'))
+ var/datum/announcement/priority/crew_shuttle_docked = new(0, new_sound = sound('sound/AI/cshuttle_dock.ogg'))
+
/obj/docking_port/mobile/emergency/register()
if(!..())
@@ -146,9 +149,10 @@
SSshuttle.emergencyLastCallLoc = signalOrigin
else
SSshuttle.emergencyLastCallLoc = null
-
- emergency_shuttle_called.Announce("The emergency shuttle has been called. [redAlert ? "Red Alert state confirmed: Dispatching priority shuttle. " : "" ]It will arrive in [timeLeft(600)] minutes.[reason][SSshuttle.emergencyLastCallLoc ? "\n\nCall signal traced. Results can be viewed on any communications console." : "" ]")
-
+ if(canRecall)
+ emergency_shuttle_called.Announce("The emergency shuttle has been called. [redAlert ? "Red Alert state confirmed: Dispatching priority shuttle. " : "" ]It will arrive in [timeLeft(600)] minutes.[reason][SSshuttle.emergencyLastCallLoc ? "\n\nCall signal traced. Results can be viewed on any communications console." : "" ]")
+ else
+ crew_shuttle_called.Announce("The crew transfer shuttle has been called. [redAlert ? "Red Alert state confirmed: Dispatching priority shuttle. " : "" ]It will arrive in [timeLeft(600)] minutes.[reason]")
/obj/docking_port/mobile/emergency/cancel(area/signalOrigin)
if(!canRecall)
@@ -230,7 +234,10 @@
return
mode = SHUTTLE_DOCKED
timer = world.time
- emergency_shuttle_docked.Announce("The Emergency Shuttle has docked with the station. You have [timeLeft(600)] minutes to board the Emergency Shuttle.")
+ if(canRecall)
+ emergency_shuttle_docked.Announce("The emergency shuttle has docked with the station. You have [timeLeft(600)] minutes to board the emergency shuttle.")
+ else
+ crew_shuttle_docked.Announce("The crew transfer shuttle has docked with the station. You have [timeLeft(600)] minutes to board the crew transfer shuttle.")
/*
//Gangs only have one attempt left if the shuttle has docked with the station to prevent suffering from dominator delays
diff --git a/code/modules/station_goals/bluespace_tap.dm b/code/modules/station_goals/bluespace_tap.dm
index 6e6898bde1f..9bdf10d9407 100644
--- a/code/modules/station_goals/bluespace_tap.dm
+++ b/code/modules/station_goals/bluespace_tap.dm
@@ -326,7 +326,7 @@
else if(input_level > desired_level)
input_level--
if(prob(input_level - safe_levels + (emagged * 5))) //at dangerous levels, start doing freaky shit. prob with values less than 0 treat it as 0
- GLOB.event_announcement.Announce("Unexpected power spike during Bluespace Harvester Operation. Extra-dimensional intruder alert. Expected location: [get_area(src).name]. [emagged ? "DANGER: Emergency shutdown failed! Please proceed with manual shutdown." : "Emergency shutdown initiated."]", "Bluespace Harvester Malfunction")
+ GLOB.event_announcement.Announce("Unexpected power spike during Bluespace Harvester Operation. Extra-dimensional intruder alert. Expected location: [get_area(src).name]. [emagged ? "DANGER: Emergency shutdown failed! Please proceed with manual shutdown." : "Emergency shutdown initiated."]", "Bluespace Harvester Malfunction", 'sound/AI/harvester.ogg')
if(!emagged)
input_level = 0 //emergency shutdown unless we're sabotaged
desired_level = 0
diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm
index 0a046c3dcff..cfb8a3367f8 100644
--- a/code/modules/station_goals/bsa.dm
+++ b/code/modules/station_goals/bsa.dm
@@ -28,7 +28,7 @@
return FALSE
/obj/machinery/bsa
- icon = 'icons/obj/machines/particle_accelerator3.dmi'
+ icon = 'icons/obj/machines/particle_accelerator.dmi'
density = 1
anchored = 1
@@ -260,7 +260,7 @@
var/target
use_power = NO_POWER_USE
circuit = /obj/item/circuitboard/computer/bsa_control
- icon = 'icons/obj/machines/particle_accelerator3.dmi'
+ icon = 'icons/obj/machines/particle_accelerator.dmi'
icon_state = "control_boxp"
var/icon_state_broken = "control_box"
var/icon_state_nopower = "control_boxw"
diff --git a/code/modules/vehicle/ambulance.dm b/code/modules/vehicle/ambulance.dm
index 87323fc2042..e5d089c7fe9 100644
--- a/code/modules/vehicle/ambulance.dm
+++ b/code/modules/vehicle/ambulance.dm
@@ -12,6 +12,11 @@
AA = new(src)
soundloop = new(list(src), FALSE)
+/obj/vehicle/ambulance/Destroy()
+ QDEL_NULL(AA)
+ QDEL_NULL(soundloop)
+ return ..()
+
/datum/action/ambulance_alarm
name = "Toggle Sirens"
icon_icon = 'icons/obj/vehicles.dmi'
diff --git a/code/modules/world_topic/status.dm b/code/modules/world_topic/status.dm
index 4f964eeeb3b..8137cb7f10d 100644
--- a/code/modules/world_topic/status.dm
+++ b/code/modules/world_topic/status.dm
@@ -31,7 +31,8 @@
status_info["players"] = player_count
status_info["admins"] = admin_count
status_info["map_name"] = SSmapping.map_datum.fluff_name
-
+ status_info["round_id"] = GLOB.round_id
+
// Add more info if we are authed
if(key_valid)
if(SSticker && SSticker.mode)
diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi
index dd893450d75..63a203345ae 100644
Binary files a/icons/mob/clothing/belt.dmi and b/icons/mob/clothing/belt.dmi differ
diff --git a/icons/mob/clothing/species/vox/back.dmi b/icons/mob/clothing/species/vox/back.dmi
index a0a8445964a..7747d55af60 100644
Binary files a/icons/mob/clothing/species/vox/back.dmi and b/icons/mob/clothing/species/vox/back.dmi differ
diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi
index a0b551e83bd..b5659069b65 100644
Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ
diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi
index 39636bd7bab..f712201f5e4 100644
Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ
diff --git a/icons/obj/biogenerator.dmi b/icons/obj/biogenerator.dmi
index 02cf868a31f..7989d6f355f 100644
Binary files a/icons/obj/biogenerator.dmi and b/icons/obj/biogenerator.dmi differ
diff --git a/icons/obj/computer.dmi b/icons/obj/computer.dmi
index 042b5fe7f38..dcfe0a20810 100644
Binary files a/icons/obj/computer.dmi and b/icons/obj/computer.dmi differ
diff --git a/icons/obj/computer3.dmi b/icons/obj/computer3.dmi
deleted file mode 100644
index 30705076d62..00000000000
Binary files a/icons/obj/computer3.dmi and /dev/null differ
diff --git a/icons/obj/defib.dmi b/icons/obj/defib.dmi
new file mode 100644
index 00000000000..ca471bd5ffa
Binary files /dev/null and b/icons/obj/defib.dmi differ
diff --git a/icons/obj/hydroponics/equipment.dmi b/icons/obj/hydroponics/equipment.dmi
index 3cb9e63cb38..fdb7ec1d0a7 100644
Binary files a/icons/obj/hydroponics/equipment.dmi and b/icons/obj/hydroponics/equipment.dmi differ
diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi
index d00d1d4fb94..fd2b776aa43 100644
Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ
diff --git a/icons/obj/library.dmi b/icons/obj/library.dmi
index e0db0804fa6..ce0beb1b201 100644
Binary files a/icons/obj/library.dmi and b/icons/obj/library.dmi differ
diff --git a/icons/obj/machines/HONKputer.dmi b/icons/obj/machines/HONKputer.dmi
deleted file mode 100644
index 921f6cf219f..00000000000
Binary files a/icons/obj/machines/HONKputer.dmi and /dev/null differ
diff --git a/icons/obj/machines/am_engine.dmi b/icons/obj/machines/am_engine.dmi
deleted file mode 100644
index 9d32bb0d406..00000000000
Binary files a/icons/obj/machines/am_engine.dmi and /dev/null differ
diff --git a/icons/obj/machines/antenna.dmi b/icons/obj/machines/antenna.dmi
deleted file mode 100644
index 5bf1e318a7c..00000000000
Binary files a/icons/obj/machines/antenna.dmi and /dev/null differ
diff --git a/icons/obj/machines/antimatter.dmi b/icons/obj/machines/antimatter.dmi
deleted file mode 100644
index a4be203e1a3..00000000000
Binary files a/icons/obj/machines/antimatter.dmi and /dev/null differ
diff --git a/icons/obj/machines/broadcast.dmi b/icons/obj/machines/broadcast.dmi
deleted file mode 100644
index c2c7ba0f61f..00000000000
Binary files a/icons/obj/machines/broadcast.dmi and /dev/null differ
diff --git a/icons/obj/machines/fiber.dmi b/icons/obj/machines/fiber.dmi
deleted file mode 100644
index c75fd6482ea..00000000000
Binary files a/icons/obj/machines/fiber.dmi and /dev/null differ
diff --git a/icons/obj/machines/heavy_fiber.dmi b/icons/obj/machines/heavy_fiber.dmi
deleted file mode 100644
index 8bd8d0747d1..00000000000
Binary files a/icons/obj/machines/heavy_fiber.dmi and /dev/null differ
diff --git a/icons/obj/machines/lasers.dmi b/icons/obj/machines/lasers.dmi
deleted file mode 100644
index 1925fb40860..00000000000
Binary files a/icons/obj/machines/lasers.dmi and /dev/null differ
diff --git a/icons/obj/machines/mining_machines.dmi b/icons/obj/machines/mining_machines.dmi
index 83c12986772..d6fc1afd716 100644
Binary files a/icons/obj/machines/mining_machines.dmi and b/icons/obj/machines/mining_machines.dmi differ
diff --git a/icons/obj/machines/netcable.dmi b/icons/obj/machines/netcable.dmi
deleted file mode 100644
index 5e2bc3208b4..00000000000
Binary files a/icons/obj/machines/netcable.dmi and /dev/null differ
diff --git a/icons/obj/machines/netobjs.dmi b/icons/obj/machines/netobjs.dmi
deleted file mode 100644
index f13172260ca..00000000000
Binary files a/icons/obj/machines/netobjs.dmi and /dev/null differ
diff --git a/icons/obj/machines/particle_accelerator.dmi b/icons/obj/machines/particle_accelerator.dmi
index f8455d80b49..31e1b92eaf6 100644
Binary files a/icons/obj/machines/particle_accelerator.dmi and b/icons/obj/machines/particle_accelerator.dmi differ
diff --git a/icons/obj/machines/particle_accelerator2.dmi b/icons/obj/machines/particle_accelerator2.dmi
deleted file mode 100644
index d0263af5ad9..00000000000
Binary files a/icons/obj/machines/particle_accelerator2.dmi and /dev/null differ
diff --git a/icons/obj/machines/particle_accelerator3.dmi b/icons/obj/machines/particle_accelerator3.dmi
deleted file mode 100644
index c601b8d1b6a..00000000000
Binary files a/icons/obj/machines/particle_accelerator3.dmi and /dev/null differ
diff --git a/icons/obj/machines/washing_machine.dmi b/icons/obj/machines/washing_machine.dmi
index ef80dac0d8a..e3fae0828ab 100644
Binary files a/icons/obj/machines/washing_machine.dmi and b/icons/obj/machines/washing_machine.dmi differ
diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi
index 5652b1f6e9b..4d9983203a2 100755
Binary files a/icons/obj/stationobjs.dmi and b/icons/obj/stationobjs.dmi differ
diff --git a/icons/obj/stock_parts.dmi b/icons/obj/stock_parts.dmi
index 3526ebc215c..8eed649cb05 100644
Binary files a/icons/obj/stock_parts.dmi and b/icons/obj/stock_parts.dmi differ
diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi
index bb3c0e531b0..6f4107c1911 100755
Binary files a/icons/obj/vending.dmi and b/icons/obj/vending.dmi differ
diff --git a/icons/turf/floors/glass.dmi b/icons/turf/floors/glass.dmi
new file mode 100644
index 00000000000..1d0f13d0c06
Binary files /dev/null and b/icons/turf/floors/glass.dmi differ
diff --git a/icons/turf/floors/plasmaglass.dmi b/icons/turf/floors/plasmaglass.dmi
new file mode 100644
index 00000000000..629d8be41ec
Binary files /dev/null and b/icons/turf/floors/plasmaglass.dmi differ
diff --git a/icons/turf/floors/plastitaniumglass.dmi b/icons/turf/floors/plastitaniumglass.dmi
new file mode 100644
index 00000000000..39a56f32b00
Binary files /dev/null and b/icons/turf/floors/plastitaniumglass.dmi differ
diff --git a/icons/turf/floors/reinf_glass.dmi b/icons/turf/floors/reinf_glass.dmi
new file mode 100644
index 00000000000..c5072fd11e0
Binary files /dev/null and b/icons/turf/floors/reinf_glass.dmi differ
diff --git a/icons/turf/floors/reinf_plasmaglass.dmi b/icons/turf/floors/reinf_plasmaglass.dmi
new file mode 100644
index 00000000000..c46025e5291
Binary files /dev/null and b/icons/turf/floors/reinf_plasmaglass.dmi differ
diff --git a/icons/turf/floors/titaniumglass.dmi b/icons/turf/floors/titaniumglass.dmi
new file mode 100644
index 00000000000..597487ff175
Binary files /dev/null and b/icons/turf/floors/titaniumglass.dmi differ
diff --git a/paradise.dme b/paradise.dme
index 18d35148d67..9af33a57227 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -1154,6 +1154,7 @@
#include "code\game\turfs\simulated\floor\misc_floor.dm"
#include "code\game\turfs\simulated\floor\plasteel_floor.dm"
#include "code\game\turfs\simulated\floor\plating.dm"
+#include "code\game\turfs\simulated\floor\transparent.dm"
#include "code\game\turfs\space\space.dm"
#include "code\game\turfs\space\transit.dm"
#include "code\game\verbs\ooc.dm"
@@ -1175,6 +1176,7 @@
#include "code\modules\admin\holder2.dm"
#include "code\modules\admin\IsBanned.dm"
#include "code\modules\admin\machine_upgrade.dm"
+#include "code\modules\admin\mute.dm"
#include "code\modules\admin\NewBan.dm"
#include "code\modules\admin\outfits.dm"
#include "code\modules\admin\player_panel.dm"
diff --git a/sound/AI/alert.ogg b/sound/AI/alert.ogg
new file mode 100644
index 00000000000..66218bb12a4
Binary files /dev/null and b/sound/AI/alert.ogg differ
diff --git a/sound/AI/aliens.ogg b/sound/AI/aliens.ogg
index f7d1746247f..998cc724357 100644
Binary files a/sound/AI/aliens.ogg and b/sound/AI/aliens.ogg differ
diff --git a/sound/AI/animes.ogg b/sound/AI/animes.ogg
index a46a207edc4..0e393fbb29f 100644
Binary files a/sound/AI/animes.ogg and b/sound/AI/animes.ogg differ
diff --git a/sound/AI/anomaly.ogg b/sound/AI/anomaly.ogg
new file mode 100644
index 00000000000..78a6b48c169
Binary files /dev/null and b/sound/AI/anomaly.ogg differ
diff --git a/sound/AI/attention.ogg b/sound/AI/attention.ogg
index 912be4425eb..d8a0b98a4aa 100644
Binary files a/sound/AI/attention.ogg and b/sound/AI/attention.ogg differ
diff --git a/sound/AI/blue.ogg b/sound/AI/blue.ogg
new file mode 100644
index 00000000000..bfbd0a50b93
Binary files /dev/null and b/sound/AI/blue.ogg differ
diff --git a/sound/AI/brand_intelligence.ogg b/sound/AI/brand_intelligence.ogg
new file mode 100644
index 00000000000..bd35a794bab
Binary files /dev/null and b/sound/AI/brand_intelligence.ogg differ
diff --git a/sound/AI/commandreport.ogg b/sound/AI/commandreport.ogg
index 82e4ca425de..91569bf738a 100644
Binary files a/sound/AI/commandreport.ogg and b/sound/AI/commandreport.ogg differ
diff --git a/sound/AI/cshuttle.ogg b/sound/AI/cshuttle.ogg
new file mode 100644
index 00000000000..bc6dfbe2d56
Binary files /dev/null and b/sound/AI/cshuttle.ogg differ
diff --git a/sound/AI/cshuttle_dock.ogg b/sound/AI/cshuttle_dock.ogg
new file mode 100644
index 00000000000..7018743fab4
Binary files /dev/null and b/sound/AI/cshuttle_dock.ogg differ
diff --git a/sound/AI/delam.ogg b/sound/AI/delam.ogg
new file mode 100644
index 00000000000..b1822b5a69f
Binary files /dev/null and b/sound/AI/delam.ogg differ
diff --git a/sound/AI/delta.ogg b/sound/AI/delta.ogg
new file mode 100644
index 00000000000..5ed127bc694
Binary files /dev/null and b/sound/AI/delta.ogg differ
diff --git a/sound/AI/door_runtimes.ogg b/sound/AI/door_runtimes.ogg
new file mode 100644
index 00000000000..d67b6568b3b
Binary files /dev/null and b/sound/AI/door_runtimes.ogg differ
diff --git a/sound/AI/door_runtimes_fix.ogg b/sound/AI/door_runtimes_fix.ogg
new file mode 100644
index 00000000000..1508ff9d027
Binary files /dev/null and b/sound/AI/door_runtimes_fix.ogg differ
diff --git a/sound/AI/elec_storm.ogg b/sound/AI/elec_storm.ogg
new file mode 100644
index 00000000000..b4a417eacd4
Binary files /dev/null and b/sound/AI/elec_storm.ogg differ
diff --git a/sound/AI/epsilon.ogg b/sound/AI/epsilon.ogg
new file mode 100644
index 00000000000..0ef61026881
Binary files /dev/null and b/sound/AI/epsilon.ogg differ
diff --git a/sound/AI/eshuttle_call.ogg b/sound/AI/eshuttle_call.ogg
new file mode 100644
index 00000000000..b7fcc6f4213
Binary files /dev/null and b/sound/AI/eshuttle_call.ogg differ
diff --git a/sound/AI/eshuttle_dock.ogg b/sound/AI/eshuttle_dock.ogg
new file mode 100644
index 00000000000..246a0a603a4
Binary files /dev/null and b/sound/AI/eshuttle_dock.ogg differ
diff --git a/sound/AI/eshuttle_recall.ogg b/sound/AI/eshuttle_recall.ogg
new file mode 100644
index 00000000000..07d665f1052
Binary files /dev/null and b/sound/AI/eshuttle_recall.ogg differ
diff --git a/sound/AI/flare.ogg b/sound/AI/flare.ogg
new file mode 100644
index 00000000000..7eafb3f832b
Binary files /dev/null and b/sound/AI/flare.ogg differ
diff --git a/sound/AI/gamma.ogg b/sound/AI/gamma.ogg
new file mode 100644
index 00000000000..4738f1c8959
Binary files /dev/null and b/sound/AI/gamma.ogg differ
diff --git a/sound/AI/granomalies.ogg b/sound/AI/granomalies.ogg
deleted file mode 100644
index 89b368d596a..00000000000
Binary files a/sound/AI/granomalies.ogg and /dev/null differ
diff --git a/sound/AI/green.ogg b/sound/AI/green.ogg
new file mode 100644
index 00000000000..44cb4108976
Binary files /dev/null and b/sound/AI/green.ogg differ
diff --git a/sound/AI/harvester.ogg b/sound/AI/harvester.ogg
new file mode 100644
index 00000000000..a10b308ed09
Binary files /dev/null and b/sound/AI/harvester.ogg differ
diff --git a/sound/AI/intercept.ogg b/sound/AI/intercept.ogg
index 3569a07d401..30dba660681 100644
Binary files a/sound/AI/intercept.ogg and b/sound/AI/intercept.ogg differ
diff --git a/sound/AI/intercept2.ogg b/sound/AI/intercept2.ogg
deleted file mode 100644
index ab106a7295a..00000000000
Binary files a/sound/AI/intercept2.ogg and /dev/null differ
diff --git a/sound/AI/ions.ogg b/sound/AI/ions.ogg
new file mode 100644
index 00000000000..f92c8b0b050
Binary files /dev/null and b/sound/AI/ions.ogg differ
diff --git a/sound/AI/ionstorm.ogg b/sound/AI/ionstorm.ogg
deleted file mode 100644
index 9f39713de6e..00000000000
Binary files a/sound/AI/ionstorm.ogg and /dev/null differ
diff --git a/sound/AI/meteors.ogg b/sound/AI/meteors.ogg
index 8f1c3aeacbb..e49b92065e6 100644
Binary files a/sound/AI/meteors.ogg and b/sound/AI/meteors.ogg differ
diff --git a/sound/AI/newai.ogg b/sound/AI/newai.ogg
deleted file mode 100644
index 35aba34564f..00000000000
Binary files a/sound/AI/newai.ogg and /dev/null differ
diff --git a/sound/AI/newroundsexy.ogg b/sound/AI/newroundsexy.ogg
index afe5630f04d..1e7242dbff2 100644
Binary files a/sound/AI/newroundsexy.ogg and b/sound/AI/newroundsexy.ogg differ
diff --git a/sound/AI/newroundsexy2.ogg b/sound/AI/newroundsexy2.ogg
deleted file mode 100644
index 531bba10014..00000000000
Binary files a/sound/AI/newroundsexy2.ogg and /dev/null differ
diff --git a/sound/AI/outbreak3.ogg b/sound/AI/outbreak3.ogg
new file mode 100644
index 00000000000..0874464750b
Binary files /dev/null and b/sound/AI/outbreak3.ogg differ
diff --git a/sound/AI/outbreak5.ogg b/sound/AI/outbreak5.ogg
index 39c79c920fd..51869a19fcd 100644
Binary files a/sound/AI/outbreak5.ogg and b/sound/AI/outbreak5.ogg differ
diff --git a/sound/AI/outbreak7.ogg b/sound/AI/outbreak7.ogg
index f21d4fca443..edf21efd502 100644
Binary files a/sound/AI/outbreak7.ogg and b/sound/AI/outbreak7.ogg differ
diff --git a/sound/AI/power_overload.ogg b/sound/AI/power_overload.ogg
new file mode 100644
index 00000000000..913cae054a3
Binary files /dev/null and b/sound/AI/power_overload.ogg differ
diff --git a/sound/AI/poweroff.ogg b/sound/AI/poweroff.ogg
deleted file mode 100644
index 1c6377c9d8d..00000000000
Binary files a/sound/AI/poweroff.ogg and /dev/null differ
diff --git a/sound/AI/poweron.ogg b/sound/AI/poweron.ogg
deleted file mode 100644
index 9d18797d6ea..00000000000
Binary files a/sound/AI/poweron.ogg and /dev/null differ
diff --git a/sound/AI/radiation.ogg b/sound/AI/radiation.ogg
index ef395af3101..d60bec74b05 100644
Binary files a/sound/AI/radiation.ogg and b/sound/AI/radiation.ogg differ
diff --git a/sound/AI/red.ogg b/sound/AI/red.ogg
new file mode 100644
index 00000000000..3f7ad4ce9e3
Binary files /dev/null and b/sound/AI/red.ogg differ
diff --git a/sound/AI/scrubbers.ogg b/sound/AI/scrubbers.ogg
new file mode 100644
index 00000000000..ccdb40949c3
Binary files /dev/null and b/sound/AI/scrubbers.ogg differ
diff --git a/sound/AI/shuttlecalled.ogg b/sound/AI/shuttlecalled.ogg
deleted file mode 100644
index 716bf824654..00000000000
Binary files a/sound/AI/shuttlecalled.ogg and /dev/null differ
diff --git a/sound/AI/shuttledock.ogg b/sound/AI/shuttledock.ogg
deleted file mode 100644
index 0f70bebc751..00000000000
Binary files a/sound/AI/shuttledock.ogg and /dev/null differ
diff --git a/sound/AI/shuttlerecalled.ogg b/sound/AI/shuttlerecalled.ogg
deleted file mode 100644
index 5f6db404b87..00000000000
Binary files a/sound/AI/shuttlerecalled.ogg and /dev/null differ
diff --git a/sound/AI/spanomalies.ogg b/sound/AI/spanomalies.ogg
index 7680726f153..44f249c24ab 100644
Binary files a/sound/AI/spanomalies.ogg and b/sound/AI/spanomalies.ogg differ
diff --git a/sound/AI/welcome.ogg b/sound/AI/welcome.ogg
index c7013dcbd5f..87354bf38e8 100644
Binary files a/sound/AI/welcome.ogg and b/sound/AI/welcome.ogg differ
diff --git a/sound/effects/footstep/glass1.ogg b/sound/effects/footstep/glass1.ogg
new file mode 100644
index 00000000000..7afddff640a
Binary files /dev/null and b/sound/effects/footstep/glass1.ogg differ
diff --git a/sound/effects/footstep/glass2.ogg b/sound/effects/footstep/glass2.ogg
new file mode 100644
index 00000000000..5bac4625b68
Binary files /dev/null and b/sound/effects/footstep/glass2.ogg differ
diff --git a/sound/effects/footstep/glass3.ogg b/sound/effects/footstep/glass3.ogg
new file mode 100644
index 00000000000..5d355e8ef17
Binary files /dev/null and b/sound/effects/footstep/glass3.ogg differ
diff --git a/sound/effects/footstep/glassbarefoot1.ogg b/sound/effects/footstep/glassbarefoot1.ogg
new file mode 100644
index 00000000000..7dd8d9e5371
Binary files /dev/null and b/sound/effects/footstep/glassbarefoot1.ogg differ
diff --git a/sound/effects/footstep/glassbarefoot2.ogg b/sound/effects/footstep/glassbarefoot2.ogg
new file mode 100644
index 00000000000..b82c3e0d9d1
Binary files /dev/null and b/sound/effects/footstep/glassbarefoot2.ogg differ
diff --git a/sound/effects/footstep/glassbarefoot3.ogg b/sound/effects/footstep/glassbarefoot3.ogg
new file mode 100644
index 00000000000..317bf53fcc8
Binary files /dev/null and b/sound/effects/footstep/glassbarefoot3.ogg differ
diff --git a/sound/machines/light_on.ogg b/sound/machines/light_on.ogg
new file mode 100644
index 00000000000..2442739a040
Binary files /dev/null and b/sound/machines/light_on.ogg differ
diff --git a/sound/machines/lightswitch.ogg b/sound/machines/lightswitch.ogg
new file mode 100644
index 00000000000..e91a6c3030c
Binary files /dev/null and b/sound/machines/lightswitch.ogg differ
diff --git a/tools/announcement_voice_filter/.bitwig-project b/tools/announcement_voice_filter/.bitwig-project
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/tools/announcement_voice_filter/README.md b/tools/announcement_voice_filter/README.md
new file mode 100644
index 00000000000..db389ad1183
--- /dev/null
+++ b/tools/announcement_voice_filter/README.md
@@ -0,0 +1,17 @@
+# AI Announcement Voice Effects Template
+This template file helps apply the correct sound effects to generate further Station AI announcement messages.
+
+---
+
+### Requirements
+You need a copy (full or trial) of Bitwig Studio 3.x, and access to Amazon Polly's free tier. If you are using a trial version of Bitwig Studio, you also require a free audio editor such as Audacity.
+
+
+### Amazon Polly
+Plain text, Standard engine, Englush US, Joanna - Female.
+
+
+### Bitwig studio
+All you need to do is drag your generated polly voice into the project.
+Ensure the tempo is 114.4 for your track.
+Record or export the output directly to OGG (if you own a license) or to a free editor such as Audacity via loopback recording
diff --git a/tools/announcement_voice_filter/StationAI.bwproject b/tools/announcement_voice_filter/StationAI.bwproject
new file mode 100644
index 00000000000..a7fc00a20b9
Binary files /dev/null and b/tools/announcement_voice_filter/StationAI.bwproject differ