diff --git a/.editorconfig b/.editorconfig
index a25dbdfc85..df93ae3a16 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -2,3 +2,7 @@
insert_final_newline = true
indent_style = tab
indent_size = 4
+
+[*.yml]
+indent_style = space
+indent_size = 2
diff --git a/.travis.yml b/.travis.yml
index bef3a69ad7..ab3b1003c3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,28 +1,34 @@
language: generic
-sudo: false
dist: xenial
+sudo: false
+
branches:
except:
- ___TGS3TempBranch
- ___TGSTempBranch
+
matrix:
include:
- - env:
- - BUILD_TOOLS=true
- name: "Build Tools"
+ - name: "Run Linters"
addons:
apt:
packages:
- python3
- python3-pip
- python3-setuptools
- cache:
- directories:
- - tgui/node_modules
- - env:
- - BUILD_TESTING=true
- - BUILD_TOOLS=false
- name: "Build All Maps"
+ install:
+ - tools/travis/install_build_tools.sh
+ - tools/travis/install_dreamchecker.sh
+ script:
+ - tools/travis/check_filedirs.sh tgstation.dme
+ - tools/travis/check_changelogs.sh
+ - find . -name "*.php" -print0 | xargs -0 -n1 php -l
+ - find . -name "*.json" -not -path "./tgui/node_modules/*" -print0 | xargs -0 python3 ./tools/json_verifier.py
+ - tools/travis/build_tgui.sh
+ - tools/travis/check_grep.sh
+ - ~/dreamchecker
+
+ - name: "Compile All Maps"
addons:
apt:
packages:
@@ -30,10 +36,15 @@ matrix:
cache:
directories:
- $HOME/BYOND
- - env:
- - BUILD_TESTING=false
- - BUILD_TOOLS=false
- name: "Build and Run Unit Tests"
+ install:
+ - tools/travis/install_byond.sh
+ - source $HOME/BYOND/byond/bin/byondsetup
+ before_script:
+ - tools/travis/template_dm_generator.py
+ script:
+ - tools/travis/dm.sh -DTRAVISBUILDING -DTRAVISTESTING -DALL_MAPS tgstation.dme
+
+ - name: "Compile and Run Tests"
addons:
mariadb: '10.2'
apt:
@@ -41,7 +52,6 @@ matrix:
- ubuntu-toolchain-r-test
packages:
- libstdc++6:i386
- - libssl-dev:i386
- gcc-multilib
- g++-7
- g++-7-multilib
@@ -49,25 +59,19 @@ matrix:
- libmariadbd-dev
cache:
directories:
- - $HOME/.cargo
- $HOME/BYOND
- - $HOME/MariaDB
- - $HOME/.rustup
-
-install:
- - tools/travis/install_build_tools.sh
- - if [ $BUILD_TOOLS = false ] && [ $BUILD_TESTING = false ]; then mysql -u root -e 'CREATE DATABASE tg_travis;'; fi
- - if [ $BUILD_TOOLS = false ] && [ $BUILD_TESTING = false ]; then mysql -u root tg_travis < SQL/tgstation_schema.sql; fi
- - if [ $BUILD_TOOLS = false ] && [ $BUILD_TESTING = false ]; then mysql -u root -e 'CREATE DATABASE tg_travis_prefixed;'; fi
- - if [ $BUILD_TOOLS = false ] && [ $BUILD_TESTING = false ]; then mysql -u root tg_travis_prefixed < SQL/tgstation_schema_prefixed.sql; fi
-
-before_script:
- - tools/travis/before_build_tools.sh
- - tools/travis/before_build_byond.sh
-
-script:
- - tools/travis/check_filedirs.sh tgstation.dme
- - tools/travis/build_tools.sh || travis_terminate 1
- - tools/travis/build_dependencies.sh || travis_terminate 1
- - tools/travis/build_byond.sh
-
+ - $HOME/libmariadb
+ install:
+ - tools/travis/install_byond.sh
+ - source $HOME/BYOND/byond/bin/byondsetup
+ - tools/travis/install_libmariadb.sh
+ - tools/travis/install_rust_g.sh
+ before_script:
+ - mysql -u root -e 'CREATE DATABASE tg_travis;'
+ - mysql -u root tg_travis < SQL/tgstation_schema.sql
+ - mysql -u root -e 'CREATE DATABASE tg_travis_prefixed;'
+ - mysql -u root tg_travis_prefixed < SQL/tgstation_schema_prefixed.sql
+ - tools/travis/build_bsql.sh
+ script:
+ - tools/travis/dm.sh -DTRAVISBUILDING tgstation.dme || travis_terminate 1
+ - tools/travis/run_server.sh
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_elite_tumor.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_elite_tumor.dmm
new file mode 100644
index 0000000000..6e44ec3197
--- /dev/null
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_elite_tumor.dmm
@@ -0,0 +1,111 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/lavaland/surface/outdoors)
+"b" = (
+/obj/structure/elite_tumor,
+/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
+"c" = (
+/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
+
+(1,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(3,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(4,1,1) = {"
+a
+a
+a
+c
+c
+c
+a
+a
+a
+"}
+(5,1,1) = {"
+a
+a
+a
+c
+b
+c
+a
+a
+a
+"}
+(6,1,1) = {"
+a
+a
+a
+c
+c
+c
+a
+a
+a
+"}
+(7,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(8,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(9,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
diff --git a/_maps/RandomRuins/SpaceRuins/spacehermit.dmm b/_maps/RandomRuins/SpaceRuins/spacehermit.dmm
index 341dcf7b99..f64bfa8a4e 100644
--- a/_maps/RandomRuins/SpaceRuins/spacehermit.dmm
+++ b/_maps/RandomRuins/SpaceRuins/spacehermit.dmm
@@ -338,6 +338,9 @@
/obj/item/flashlight/lamp/bananalamp,
/turf/open/floor/plating/asteroid,
/area/ruin/unpowered)
+"bt" = (
+/turf/closed/mineral/random/low_chance/earth_like,
+/area/ruin/unpowered)
(1,1,1) = {"
aa
@@ -474,13 +477,13 @@ ab
ab
ab
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
ab
ab
@@ -520,22 +523,22 @@ aA
ab
ab
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
ab
aA
@@ -569,27 +572,27 @@ aA
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -620,29 +623,29 @@ ab
ab
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -666,36 +669,36 @@ aM
aa
aA
ab
+bt
+bt
+bt
+bt
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -718,37 +721,37 @@ aa
aa
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ae
af
ae
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -770,38 +773,38 @@ aa
aa
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
af
aq
af
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -822,38 +825,38 @@ aa
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ae
ae
ao
ae
ae
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -874,39 +877,39 @@ aa
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
af
an
an
an
af
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -927,24 +930,24 @@ aA
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ae
ae
bh
@@ -952,13 +955,13 @@ an
an
ae
aZ
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -979,24 +982,24 @@ aA
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
af
aY
ao
@@ -1004,13 +1007,13 @@ ao
ao
ak
ba
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -1031,24 +1034,24 @@ aA
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
al
aj
ap
@@ -1056,13 +1059,13 @@ an
as
aj
aE
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -1083,24 +1086,24 @@ aA
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
af
ak
ao
@@ -1109,12 +1112,12 @@ ao
ak
ba
ac
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -1134,24 +1137,24 @@ aa
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ah
az
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
aR
ae
ae
@@ -1161,12 +1164,12 @@ an
ae
aZ
ac
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aM
@@ -1186,24 +1189,24 @@ aa
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ac
ac
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
aR
ag
ag
@@ -1213,12 +1216,12 @@ af
at
bb
ac
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -1238,24 +1241,24 @@ aa
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ad
ac
ac
ac
ac
-ab
+bt
aH
aJ
aL
-ab
-ab
+bt
+bt
aT
ac
ac
@@ -1265,12 +1268,12 @@ ac
ac
ac
aR
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -1289,14 +1292,14 @@ aa
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ad
au
ac
@@ -1306,8 +1309,8 @@ ac
ac
ac
ac
-ab
-ab
+bt
+bt
ac
ac
ac
@@ -1317,12 +1320,12 @@ ac
ac
ac
bg
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -1341,14 +1344,14 @@ aa
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ad
aw
bs
@@ -1358,9 +1361,9 @@ ac
ac
ac
ac
-ab
-ab
-ab
+bt
+bt
+bt
ac
ac
ac
@@ -1368,13 +1371,13 @@ ac
ac
ac
ac
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -1393,14 +1396,14 @@ aa
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ad
ax
ac
@@ -1409,9 +1412,9 @@ aF
ac
ac
ac
-ab
-ab
-ab
+bt
+bt
+bt
aU
bd
ac
@@ -1420,13 +1423,13 @@ bl
bm
ac
ac
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -1445,14 +1448,14 @@ aa
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ad
ay
ac
@@ -1461,9 +1464,9 @@ ac
aG
ac
ac
-ab
-ab
-ab
+bt
+bt
+bt
av
be
ac
@@ -1473,12 +1476,12 @@ bn
bo
bo
bq
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -1496,16 +1499,16 @@ aa
aa
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ac
ac
ac
@@ -1513,9 +1516,9 @@ ac
ac
ac
ac
-ab
-ab
-ab
+bt
+bt
+bt
bc
bf
ac
@@ -1525,11 +1528,11 @@ ac
ac
ac
br
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -1548,26 +1551,26 @@ aa
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ac
-ab
+bt
ac
ac
ac
ac
ac
-ab
-ab
+bt
+bt
ac
ac
ac
@@ -1577,11 +1580,11 @@ ac
ac
ac
ac
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -1599,20 +1602,20 @@ aa
aa
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ac
ac
ac
@@ -1628,11 +1631,11 @@ ac
ac
ac
ac
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -1651,26 +1654,26 @@ aa
aa
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ac
ac
ac
-ab
-ab
+bt
+bt
ac
ac
ac
@@ -1682,9 +1685,9 @@ ac
ac
ac
ac
-ab
-ab
-ab
+bt
+bt
+bt
ab
aa
aa
@@ -1703,26 +1706,26 @@ aa
aa
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
aK
-ab
-ab
+bt
+bt
ac
ac
ac
@@ -1734,8 +1737,8 @@ bp
ac
ac
aR
-ab
-ab
+bt
+bt
ab
aA
aa
@@ -1756,25 +1759,25 @@ aa
aa
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
aP
ac
ac
@@ -1786,8 +1789,8 @@ ac
ac
ac
aR
-ab
-ab
+bt
+bt
ab
aA
aa
@@ -1808,25 +1811,25 @@ aa
aa
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
aQ
aP
ac
@@ -1836,10 +1839,10 @@ ac
ac
ac
ac
-ab
+bt
ac
-ab
-ab
+bt
+bt
ab
aA
aa
@@ -1860,27 +1863,27 @@ aa
aa
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ac
ac
ac
@@ -1888,10 +1891,10 @@ ac
aP
ac
bg
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
ab
aa
aa
@@ -1913,26 +1916,26 @@ aa
aA
ab
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ac
ac
ac
@@ -1940,9 +1943,9 @@ ac
ac
ac
aS
-ab
-ab
-ab
+bt
+bt
+bt
ab
aA
aa
@@ -1966,25 +1969,25 @@ aa
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
bg
ac
ac
@@ -1992,9 +1995,9 @@ ac
ac
ac
aS
-ab
-ab
-ab
+bt
+bt
+bt
ab
aA
aa
@@ -2018,25 +2021,25 @@ aa
aa
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ac
ac
bj
@@ -2044,9 +2047,9 @@ ac
ac
ac
aS
-ab
-ab
-ab
+bt
+bt
+bt
ab
aA
aa
@@ -2071,24 +2074,24 @@ aa
aa
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
aS
bi
ac
@@ -2096,9 +2099,9 @@ ac
ac
aS
aS
-ab
-ab
-ab
+bt
+bt
+bt
ab
aA
aa
@@ -2124,23 +2127,23 @@ aM
aa
aA
ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
aS
ac
ac
@@ -2148,8 +2151,8 @@ ac
ac
aS
aS
-ab
-ab
+bt
+bt
ab
aA
aa
@@ -2176,20 +2179,20 @@ aa
aa
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aS
@@ -2229,18 +2232,18 @@ aa
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aA
@@ -2282,17 +2285,17 @@ aa
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aA
@@ -2335,16 +2338,16 @@ aa
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
aA
aa
@@ -2388,16 +2391,16 @@ aa
aA
aA
ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
+bt
ab
ab
aa
@@ -2448,9 +2451,9 @@ ab
ab
ab
ab
-ab
-ab
-ab
+bt
+bt
+bt
ab
aa
aa
@@ -2933,7 +2936,7 @@ aa
aa
aa
aa
-ab
+bt
aa
aa
aa
diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/engine_singulo.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/engine_singulo.dmm
new file mode 100644
index 0000000000..76cb8bb9db
--- /dev/null
+++ b/_maps/RandomRuins/StationRuins/Box/Engine/engine_singulo.dmm
@@ -0,0 +1,1698 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/button/door{
+ dir = 4;
+ id = "engsm";
+ name = "Radiation Shutters Control";
+ pixel_x = 24;
+ req_access_txt = "10"
+ },
+/obj/structure/closet/radiation,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"cB" = (
+/obj/machinery/button/door{
+ dir = 1;
+ id = "engsm";
+ name = "Radiation Shutters Control";
+ req_access_txt = "10"
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"cP" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"dz" = (
+/turf/open/space/basic,
+/area/space/nearstation)
+"dN" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"dW" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"ea" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"eA" = (
+/obj/structure/table,
+/obj/item/clothing/suit/radiation,
+/obj/item/clothing/head/radiation,
+/obj/item/clothing/glasses/meson,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"eI" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"eJ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"eL" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"fh" = (
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"fr" = (
+/obj/machinery/camera/emp_proof{
+ c_tag = "Singularity Engine Southwest";
+ dir = 1;
+ network = list("ss13","engine")
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"fH" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"gf" = (
+/obj/item/storage/toolbox/mechanical,
+/obj/item/flashlight,
+/obj/item/pipe_dispenser,
+/obj/structure/table,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"ht" = (
+/obj/structure/reflector/single/anchored{
+ dir = 5
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"hR" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"ic" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"jx" = (
+/obj/structure/reflector/single/anchored{
+ dir = 9
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"jH" = (
+/obj/structure/sign/warning/radiation/rad_area,
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"kh" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"kC" = (
+/obj/structure/sign/warning/radiation/rad_area,
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 6
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"kK" = (
+/turf/closed/wall,
+/area/engine/engineering)
+"la" = (
+/obj/structure/table,
+/obj/item/storage/toolbox/mechanical{
+ pixel_y = 5
+ },
+/obj/item/flashlight{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/item/flashlight{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"lJ" = (
+/obj/structure/sign/warning/electricshock,
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"lY" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"me" = (
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/obj/structure/closet/radiation,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"mB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"mZ" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"nR" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"nW" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"qH" = (
+/obj/structure/sign/warning/vacuum/external{
+ pixel_x = -32
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"qP" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"rj" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"rm" = (
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"rM" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow,
+/obj/machinery/power/rad_collector,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"sr" = (
+/obj/machinery/light,
+/obj/machinery/camera/emp_proof{
+ c_tag = "Singularity Engine South";
+ dir = 1;
+ network = list("ss13","engine")
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"tl" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"to" = (
+/obj/structure/sign/warning/radiation/rad_area,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"tv" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable,
+/obj/machinery/power/emitter,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"tC" = (
+/obj/structure/grille,
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"tE" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"tT" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/button/door{
+ dir = 4;
+ id = "engsm";
+ name = "Radiation Shutters Control";
+ pixel_x = 24;
+ req_access_txt = "10"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"uG" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"wt" = (
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"xg" = (
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"xx" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"xJ" = (
+/obj/item/tank/internals/emergency_oxygen/engi{
+ pixel_x = 5
+ },
+/obj/item/clothing/gloves/color/black,
+/obj/item/clothing/glasses/meson/engine,
+/obj/structure/table,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"xQ" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/obj/machinery/power/rad_collector,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"yo" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/closet/radiation,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"yq" = (
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-4"
+ },
+/obj/machinery/power/rad_collector,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"yU" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/obj/machinery/door/airlock/external{
+ name = "Engineering External Access";
+ req_access_txt = "10;13"
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"zW" = (
+/obj/structure/chair/stool,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"zZ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/button/door{
+ dir = 8;
+ id = "engsm";
+ name = "Radiation Shutters Control";
+ pixel_x = -24;
+ req_access_txt = "10"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Aw" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"AF" = (
+/obj/structure/closet/radiation,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Bb" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1;
+ light_color = "#c1caff"
+ },
+/obj/machinery/camera/emp_proof{
+ c_tag = "Particle Accelerator";
+ network = list("ss13","engine")
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/the_singularitygen,
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Bj" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-4"
+ },
+/obj/machinery/power/rad_collector,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"BG" = (
+/obj/structure/closet/emcloset/anchored,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Ce" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"Ch" = (
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"CN" = (
+/obj/machinery/camera/emp_proof{
+ c_tag = "Singularity Engine East";
+ dir = 8;
+ network = list("ss13","engine")
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"DK" = (
+/obj/machinery/camera/emp_proof{
+ c_tag = "Singularity Engine West";
+ dir = 4;
+ network = list("ss13","engine")
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"Eu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"ER" = (
+/obj/structure/sign/warning/vacuum/external{
+ pixel_x = 32
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"ES" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/item/clothing/head/welding,
+/obj/item/weldingtool/largetank,
+/obj/item/wrench,
+/obj/item/stack/cable_coil/red,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"FK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"FM" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"FP" = (
+/obj/structure/lattice/catwalk,
+/turf/open/space/basic,
+/area/space/nearstation)
+"FY" = (
+/obj/structure/table,
+/obj/item/book/manual/wiki/engineering_singulo_tesla,
+/obj/item/geiger_counter,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Hc" = (
+/obj/machinery/light,
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"HQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/button/door{
+ dir = 8;
+ id = "engsm";
+ name = "Radiation Shutters Control";
+ pixel_x = -24;
+ req_access_txt = "10"
+ },
+/obj/structure/closet/radiation,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"HW" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"In" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/machinery/door/airlock/external{
+ name = "Engineering External Access";
+ req_access_txt = "10;13"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Js" = (
+/obj/structure/particle_accelerator/end_cap,
+/obj/structure/particle_accelerator/fuel_chamber,
+/obj/structure/particle_accelerator/particle_emitter/center,
+/obj/structure/particle_accelerator/particle_emitter/left,
+/obj/structure/particle_accelerator/particle_emitter/right,
+/obj/structure/particle_accelerator/power_box,
+/obj/machinery/particle_accelerator/control_box,
+/obj/structure/closet/crate/engineering{
+ name = "Particle Accelerator Crate"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"JC" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Kg" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"Lr" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/color/yellow,
+/obj/item/storage/toolbox/electrical{
+ pixel_y = 5
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Ls" = (
+/obj/machinery/door/airlock/external{
+ name = "Engineering External Access";
+ req_access_txt = "10;13"
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"LB" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"LJ" = (
+/obj/machinery/camera/emp_proof{
+ c_tag = "Singularity Engine Southeast";
+ dir = 1;
+ network = list("ss13","engine")
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"LO" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"LV" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Mi" = (
+/obj/structure/reagent_dispensers/watertank,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Mn" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"MD" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"MJ" = (
+/turf/open/space/basic,
+/area/space)
+"Nm" = (
+/obj/structure/sign/warning/securearea,
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"No" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Nz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"NS" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Og" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Ox" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/box,
+/obj/structure/cable/yellow{
+ icon_state = "0-4"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Pg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Pt" = (
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"Qk" = (
+/obj/machinery/camera/emp_proof{
+ c_tag = "Singularity Engine Northeast";
+ network = list("ss13","engine")
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"Ra" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/closet/emcloset/anchored,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Rp" = (
+/obj/effect/turf_decal/stripes/corner,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Rr" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector{
+ dir = 1
+ },
+/turf/open/space/basic,
+/area/engine/engineering)
+"Si" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"SD" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Um" = (
+/turf/template_noop,
+/area/template_noop)
+"UL" = (
+/obj/machinery/camera/emp_proof{
+ c_tag = "Singularity Engine Northwest";
+ network = list("ss13","engine")
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"UV" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"Wf" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Ww" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/machinery/door/airlock/external{
+ name = "Engineering External Access";
+ req_access_txt = "10;13"
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"WQ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"WX" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/structure/closet/radiation,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Xk" = (
+/obj/machinery/field/generator,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"Yd" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Yl" = (
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space/nearstation)
+"Yn" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/engine/engineering)
+"YY" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Zb" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Zx" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Zz" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"ZF" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"ZK" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"ZY" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/light,
+/obj/structure/closet/radiation,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+
+(1,1,1) = {"
+Um
+Um
+Um
+Um
+Um
+Um
+Um
+dz
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+Um
+Um
+Um
+Um
+Um
+"}
+(2,1,1) = {"
+Um
+Um
+Um
+Um
+Um
+Um
+Um
+dz
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+Um
+Um
+Um
+Um
+Um
+"}
+(3,1,1) = {"
+Um
+Um
+Um
+Um
+Um
+Um
+Um
+dz
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+Um
+Um
+Um
+Um
+Um
+"}
+(4,1,1) = {"
+Um
+Um
+Um
+Um
+Um
+Um
+Um
+dz
+dz
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+Um
+Um
+Um
+Um
+Um
+"}
+(5,1,1) = {"
+Um
+Um
+Um
+Um
+Um
+Um
+Um
+Yl
+dz
+dz
+MJ
+MJ
+dz
+dz
+dz
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+Um
+Um
+Um
+Um
+Um
+"}
+(6,1,1) = {"
+Um
+Um
+Um
+Um
+Um
+Um
+Um
+rm
+Yl
+dz
+dz
+dz
+dz
+Yl
+dz
+dz
+dz
+dz
+dz
+dz
+dz
+dz
+Um
+Um
+Um
+Um
+"}
+(7,1,1) = {"
+Um
+Um
+Um
+Um
+kK
+kK
+Ch
+Ch
+Ch
+Ch
+Ch
+Ch
+Ch
+jH
+Ch
+Ch
+Ch
+Ch
+lJ
+Ch
+Nm
+dz
+MJ
+MJ
+MJ
+MJ
+"}
+(8,1,1) = {"
+Um
+Um
+Lr
+la
+kK
+Ra
+Ch
+tC
+tC
+tC
+tC
+tC
+Ch
+Ch
+Ch
+tC
+tC
+tC
+tC
+tC
+Ch
+dz
+dz
+MJ
+MJ
+MJ
+"}
+(9,1,1) = {"
+Um
+Um
+FM
+FM
+In
+ER
+yU
+Pt
+Pt
+Pt
+Pt
+Pt
+Pt
+DK
+Pt
+Pt
+Pt
+Pt
+Pt
+Pt
+Ls
+Pt
+dz
+dz
+MJ
+MJ
+"}
+(10,1,1) = {"
+Um
+Si
+fh
+ZY
+to
+Ch
+Ch
+UL
+dz
+Yl
+dz
+dz
+FP
+dz
+FP
+dz
+dz
+Yl
+dz
+Pt
+Ch
+Ch
+tC
+dz
+MJ
+MJ
+"}
+(11,1,1) = {"
+xJ
+gf
+fh
+dN
+YY
+MD
+Ch
+Pt
+dz
+Yl
+dz
+dz
+FP
+dz
+FP
+dz
+dz
+Yl
+dz
+Pt
+fr
+Ch
+tC
+dz
+MJ
+MJ
+"}
+(12,1,1) = {"
+LO
+Eu
+Pg
+cP
+JC
+tv
+rj
+Pt
+dz
+Yl
+ht
+dz
+FP
+dz
+FP
+dz
+dz
+Yl
+dz
+Yl
+Pt
+Ch
+tC
+dz
+dz
+MJ
+"}
+(13,1,1) = {"
+NS
+xx
+fh
+zW
+dW
+ea
+rj
+Pt
+eL
+Kg
+Kg
+rM
+Kg
+rM
+Kg
+rM
+Kg
+Kg
+tl
+Yl
+Hc
+Ch
+tC
+Yl
+dz
+MJ
+"}
+(14,1,1) = {"
+yo
+me
+aT
+Aw
+JC
+tv
+rj
+Og
+hR
+dz
+FP
+dz
+dz
+rm
+dz
+dz
+ht
+dz
+hR
+Yl
+Pt
+Ch
+jH
+Yl
+dz
+MJ
+"}
+(15,1,1) = {"
+jH
+FK
+Ch
+wt
+tE
+rj
+rj
+Og
+hR
+FP
+Xk
+FP
+FP
+rm
+FP
+FP
+Xk
+FP
+hR
+dz
+Pt
+Ch
+tC
+Yl
+dz
+MJ
+"}
+(16,1,1) = {"
+Ch
+ES
+ZK
+ZK
+zZ
+ZK
+fH
+Og
+hR
+dz
+FP
+dz
+dz
+rm
+dz
+dz
+FP
+dz
+xQ
+dz
+Pt
+Ch
+tC
+dz
+dz
+MJ
+"}
+(17,1,1) = {"
+wt
+Zz
+Wf
+Ox
+nR
+Zb
+lY
+Og
+hR
+dz
+FP
+dz
+dz
+rm
+dz
+dz
+FP
+dz
+hR
+Yl
+Pt
+Ch
+tC
+dz
+MJ
+MJ
+"}
+(18,1,1) = {"
+cB
+Bb
+qP
+ZF
+SD
+Yd
+eI
+LB
+UV
+rm
+rm
+rm
+rm
+rm
+rm
+rm
+rm
+rm
+yq
+Yl
+sr
+Ch
+tC
+dz
+MJ
+MJ
+"}
+(19,1,1) = {"
+wt
+eJ
+Zx
+nW
+Mn
+WQ
+lY
+Og
+hR
+dz
+FP
+dz
+dz
+rm
+dz
+dz
+FP
+dz
+hR
+Yl
+Pt
+Ch
+tC
+dz
+MJ
+MJ
+"}
+(20,1,1) = {"
+Ch
+Js
+No
+No
+tT
+No
+LV
+Og
+hR
+dz
+FP
+dz
+dz
+rm
+dz
+dz
+FP
+dz
+Bj
+dz
+Pt
+Ch
+tC
+dz
+dz
+MJ
+"}
+(21,1,1) = {"
+jH
+Nz
+Ch
+wt
+tE
+rj
+rj
+Og
+hR
+FP
+Xk
+FP
+FP
+rm
+FP
+FP
+Xk
+FP
+hR
+dz
+Pt
+Ch
+tC
+Yl
+dz
+MJ
+"}
+(22,1,1) = {"
+AF
+WX
+HQ
+Aw
+JC
+tv
+rj
+Og
+hR
+dz
+FP
+dz
+dz
+rm
+dz
+dz
+jx
+dz
+hR
+Yl
+Pt
+Ch
+jH
+Yl
+dz
+MJ
+"}
+(23,1,1) = {"
+fh
+kh
+fh
+fh
+dW
+ea
+rj
+Pt
+ic
+Kg
+Kg
+rM
+Kg
+rM
+Kg
+rM
+Kg
+Kg
+Ce
+Yl
+Hc
+Ch
+tC
+Yl
+dz
+MJ
+"}
+(24,1,1) = {"
+fh
+kh
+uG
+cP
+xg
+tv
+rj
+Pt
+dz
+Yl
+jx
+dz
+FP
+dz
+FP
+dz
+dz
+Yl
+dz
+Yl
+Pt
+Ch
+tC
+dz
+dz
+MJ
+"}
+(25,1,1) = {"
+eA
+FY
+mB
+Rp
+HW
+Mi
+Ch
+Pt
+dz
+Yl
+dz
+dz
+FP
+dz
+FP
+dz
+dz
+Yl
+dz
+Pt
+LJ
+Ch
+tC
+dz
+MJ
+MJ
+"}
+(26,1,1) = {"
+fh
+kh
+mB
+ZY
+kC
+mZ
+mZ
+Qk
+Rr
+Yl
+dz
+dz
+FP
+dz
+FP
+dz
+dz
+Yl
+dz
+Pt
+Ch
+Ch
+tC
+dz
+MJ
+MJ
+"}
+(27,1,1) = {"
+Um
+Um
+Um
+fh
+Ww
+qH
+yU
+Pt
+Pt
+Pt
+Pt
+Pt
+Pt
+CN
+Pt
+Pt
+Pt
+Pt
+Pt
+Pt
+Ls
+Pt
+dz
+dz
+MJ
+MJ
+"}
+(28,1,1) = {"
+Um
+Um
+Um
+fh
+Yn
+BG
+Ch
+tC
+tC
+tC
+tC
+tC
+Ch
+Ch
+Ch
+tC
+tC
+tC
+tC
+tC
+Ch
+Yl
+dz
+dz
+dz
+MJ
+"}
+(29,1,1) = {"
+Um
+Um
+Um
+fh
+Yn
+kK
+Ch
+Ch
+Ch
+Ch
+Ch
+Ch
+Ch
+jH
+Ch
+Ch
+Ch
+Ch
+lJ
+Ch
+Nm
+Yl
+Yl
+Yl
+dz
+MJ
+"}
diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm.dmm
new file mode 100644
index 0000000000..6462cef211
--- /dev/null
+++ b/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm.dmm
@@ -0,0 +1,2827 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"ab" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"ac" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"at" = (
+/obj/structure/closet/crate/bin,
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/item/cartridge/atmos,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"av" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"aw" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"aA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"aC" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/table/reinforced,
+/obj/item/tank/internals/emergency_oxygen/engi{
+ pixel_x = 5
+ },
+/obj/item/clothing/gloves/color/black,
+/obj/item/clothing/glasses/meson/engine,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"aV" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"aX" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 5
+ },
+/turf/open/space,
+/area/space/nearstation)
+"aY" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"bo" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"bH" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/components/binary/valve{
+ dir = 4;
+ name = "Output to Waste"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"bI" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/space,
+/area/space/nearstation)
+"bT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"bW" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"ck" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"cp" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"cP" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/color/yellow,
+/obj/item/storage/toolbox/electrical{
+ pixel_y = 5
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"cS" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/sign/poster/official/safety_eye_protection,
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"cX" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 8;
+ name = "Gas to Cooling Loop"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"de" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering Supermatter Port";
+ dir = 4;
+ network = list("ss13","engine")
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"df" = (
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/obj/effect/decal/cleanable/oil,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/engine/supermatter)
+"dl" = (
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"dw" = (
+/obj/structure/lattice/catwalk,
+/turf/open/space,
+/area/space/nearstation)
+"dD" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/space,
+/area/space/nearstation)
+"ej" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ name = "Cooling Loop Bypass"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"ey" = (
+/obj/structure/reflector/single/anchored{
+ dir = 9
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"ez" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"fa" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"fj" = (
+/obj/machinery/status_display,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"fq" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 10
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"fK" = (
+/obj/structure/sign/warning/radiation,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"fW" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"gf" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"gj" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 6
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"gx" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"gB" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 5
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"gQ" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"hy" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"hJ" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"hK" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 5
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space/nearstation)
+"ii" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 9
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"in" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"iC" = (
+/obj/structure/rack,
+/obj/item/storage/toolbox/artistic{
+ icon_state = "yellow";
+ item_state = "toolbox_yellow";
+ name = "Cable Toolbox";
+ pixel_y = 6
+ },
+/obj/item/storage/toolbox/artistic{
+ icon_state = "yellow";
+ item_state = "toolbox_yellow";
+ name = "Cable Toolbox";
+ pixel_y = -4
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"iD" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"iJ" = (
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 9
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"iU" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/light,
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"jg" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"jp" = (
+/obj/machinery/door/airlock/engineering/glass/critical{
+ heat_proof = 1;
+ name = "Supermatter Chamber";
+ req_access_txt = "10"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"js" = (
+/obj/structure/sign/warning/electricshock,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"jB" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/manifold/cyan/visible{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"jZ" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"kA" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Supermatter Engine Room";
+ req_access_txt = "10"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"kW" = (
+/obj/machinery/airalarm{
+ dir = 4;
+ pixel_x = -22
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"ln" = (
+/obj/structure/closet/firecloset,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"lw" = (
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"lE" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ name = "Gas to Chamber"
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"lG" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 9
+ },
+/turf/open/space,
+/area/space/nearstation)
+"mi" = (
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"mj" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"mE" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"mH" = (
+/obj/structure/sign/poster/official/safety_eye_protection,
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"mU" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"mW" = (
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 4
+ },
+/obj/machinery/power/rad_collector/anchored,
+/obj/structure/cable/yellow{
+ icon_state = "0-4"
+ },
+/obj/structure/window/plasma/reinforced{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"mX" = (
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/effect/turf_decal/stripes/corner,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"na" = (
+/obj/machinery/camera{
+ c_tag = "Supermatter Chamber";
+ network = list("engine");
+ pixel_x = 23
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"nd" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 4;
+ name = "Cooling Loop to Gas"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"ni" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"nz" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"nH" = (
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"nR" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"nV" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/table/reinforced,
+/obj/item/clothing/suit/radiation,
+/obj/item/clothing/head/radiation,
+/obj/item/clothing/glasses/meson,
+/obj/item/clothing/glasses/meson,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"nW" = (
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/item/tank/internals/plasma,
+/turf/open/floor/plating,
+/area/engine/supermatter)
+"ou" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"oC" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"oS" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Supermatter Engine Room";
+ req_access_txt = "10"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"px" = (
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/engine/supermatter)
+"pA" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"pL" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 6
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space/nearstation)
+"pP" = (
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/obj/machinery/power/emitter/anchored{
+ dir = 4;
+ state = 2
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"qc" = (
+/obj/structure/table,
+/obj/item/pipe_dispenser,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"qe" = (
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"qm" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Mix Bypass"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"qo" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"qr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"qA" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Gas to Filter"
+ },
+/obj/machinery/airalarm/engine{
+ dir = 4;
+ pixel_x = -23
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"re" = (
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/engine/supermatter)
+"rt" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"ry" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"rJ" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"rY" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 10
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"sm" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 6
+ },
+/turf/open/space,
+/area/space/nearstation)
+"sn" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"so" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"sq" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
+ dir = 8
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"sA" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Gas to Mix"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"td" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"te" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"ti" = (
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 8
+ },
+/obj/machinery/power/rad_collector/anchored,
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/obj/structure/window/plasma/reinforced{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"tn" = (
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"tw" = (
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space/nearstation)
+"tE" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"un" = (
+/obj/structure/reflector/single/anchored{
+ dir = 5
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"uC" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space/nearstation)
+"uR" = (
+/obj/machinery/power/supermatter_crystal/engine,
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"vD" = (
+/obj/structure/girder,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"vN" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"vO" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/cyan/visible{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"vX" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"wt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/closet/radiation,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"wz" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"wG" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/airalarm{
+ dir = 4;
+ pixel_x = -22
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"wS" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/space,
+/area/space/nearstation)
+"xo" = (
+/obj/structure/reflector/box/anchored{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"xB" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"yd" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"yf" = (
+/turf/open/space/basic,
+/area/space/nearstation)
+"yA" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/obj/structure/lattice,
+/turf/open/space,
+/area/space/nearstation)
+"yD" = (
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"yZ" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"zf" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Atmos to Loop"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"zh" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/structure/table/reinforced,
+/obj/item/storage/toolbox/mechanical,
+/obj/item/flashlight,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/item/pipe_dispenser,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"zF" = (
+/obj/structure/table,
+/obj/item/stack/sheet/metal/fifty,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"zS" = (
+/turf/open/space/basic,
+/area/space)
+"Ab" = (
+/obj/item/crowbar/large,
+/obj/structure/rack,
+/obj/item/flashlight,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"Ah" = (
+/obj/machinery/atmospherics/pipe/manifold/general/visible,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"AH" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Supermatter Engine Room";
+ req_access_txt = "10"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Bc" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Bk" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 5
+ },
+/obj/machinery/power/rad_collector/anchored,
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/obj/structure/window/plasma/reinforced{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"Bl" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/table/reinforced,
+/obj/item/clothing/suit/radiation,
+/obj/item/clothing/head/radiation,
+/obj/item/clothing/glasses/meson,
+/obj/item/geiger_counter,
+/obj/item/geiger_counter,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"BD" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/machinery/atmospherics/components/binary/valve/digital/on{
+ dir = 4;
+ name = "Output Release"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Cb" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"Cn" = (
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/engine/supermatter)
+"CH" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Supermatter Engine Room";
+ req_access_txt = "10"
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"CT" = (
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 5
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"CW" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/manifold/cyan/visible{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Dj" = (
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Dz" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/orange/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"DA" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"DC" = (
+/obj/structure/rack,
+/obj/item/clothing/mask/gas{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Ef" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Ei" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/obj/machinery/door/airlock/external{
+ name = "Engineering External Access";
+ req_access_txt = "10;13"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Es" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Ex" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"EL" = (
+/turf/closed/wall,
+/area/engine/engineering)
+"EM" = (
+/obj/item/wrench,
+/obj/structure/rack,
+/obj/item/weldingtool/hugetank,
+/obj/item/clothing/head/welding{
+ pixel_x = -3;
+ pixel_y = 5
+ },
+/obj/item/clothing/head/welding{
+ pixel_x = -3;
+ pixel_y = 5
+ },
+/obj/item/clothing/glasses/welding,
+/obj/item/clothing/glasses/welding,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"EX" = (
+/obj/item/wrench,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 6
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"Fr" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"FG" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Gl" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering Supermatter Starboard";
+ dir = 8;
+ network = list("ss13","engine")
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Gz" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"GB" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"GI" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"GK" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"GX" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/cyan/visible{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Hj" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Hn" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/engine_waste{
+ dir = 1
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"Hw" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering Supermatter Aft";
+ network = list("ss13","engine");
+ pixel_x = 23
+ },
+/obj/effect/turf_decal/delivery,
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"Hz" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Ik" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/visible,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"In" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"IE" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"IF" = (
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/obj/machinery/power/emitter/anchored{
+ dir = 8;
+ state = 2
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Jn" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"JH" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"JK" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"JL" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"JV" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Laser Room";
+ req_access_txt = "10"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Ke" = (
+/obj/structure/table,
+/obj/item/storage/toolbox/mechanical{
+ pixel_y = 5
+ },
+/obj/item/flashlight{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/item/flashlight{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Kv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"KX" = (
+/obj/machinery/status_display/ai,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"KZ" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 10
+ },
+/turf/open/space,
+/area/space/nearstation)
+"Le" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 10
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space/nearstation)
+"Lg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Lv" = (
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Lw" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"LE" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/button/door{
+ id = "engsm";
+ name = "Radiation Shutters Control";
+ pixel_y = -24;
+ req_access_txt = "10"
+ },
+/obj/machinery/atmospherics/pipe/manifold/cyan/visible{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"LJ" = (
+/obj/machinery/light,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"LS" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"Ml" = (
+/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{
+ dir = 8;
+ filter_type = "n2"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Mr" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/green/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"ME" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"MI" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"MJ" = (
+/turf/open/floor/plating,
+/area/engine/engineering)
+"MK" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/manifold/cyan/visible{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"MP" = (
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"Ne" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Np" = (
+/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Nw" = (
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/engine/supermatter)
+"Nx" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"ND" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/machinery/door/airlock/external{
+ name = "Engineering External Access";
+ req_access_txt = "10;13"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"NK" = (
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"NU" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engine/supermatter)
+"NZ" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Oj" = (
+/turf/closed/wall/r_wall,
+/area/space/nearstation)
+"Ok" = (
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"OK" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Mix to Gas"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"OR" = (
+/obj/structure/sign/warning/fire,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"OU" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Pa" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "External Gas to Loop"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"Ph" = (
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Py" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Qn" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible,
+/obj/machinery/meter,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Qu" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/door/airlock/engineering/glass/critical{
+ heat_proof = 1;
+ name = "Supermatter Chamber";
+ req_access_txt = "10"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"QD" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"QJ" = (
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Rh" = (
+/obj/structure/lattice,
+/turf/open/space,
+/area/space/nearstation)
+"RA" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 9
+ },
+/obj/machinery/power/rad_collector/anchored,
+/obj/structure/cable/yellow{
+ icon_state = "0-4"
+ },
+/obj/structure/window/plasma/reinforced{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"RV" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/visible,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Sn" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/space,
+/area/space/nearstation)
+"SL" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/visible,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"SR" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 6
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"SX" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Tk" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/closet/emcloset/anchored,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"TB" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"TC" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"TO" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/light,
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Ub" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"Uq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"Ur" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Uu" = (
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"UM" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"UN" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"UP" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 6
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"Vg" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/effect/turf_decal/bot,
+/obj/machinery/portable_atmospherics/canister,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"Vn" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"VN" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "External Gas to Loop"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"VP" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Wf" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 10
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"Ws" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/manifold/cyan/visible{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"WB" = (
+/obj/structure/lattice,
+/obj/structure/grille,
+/turf/open/space/basic,
+/area/space/nearstation)
+"WI" = (
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"WT" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Xy" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 6
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"XA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"XG" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/space,
+/area/space/nearstation)
+"XK" = (
+/obj/structure/closet/secure_closet/engineering_personal,
+/obj/item/radio/headset/headset_eng,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"XY" = (
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"YB" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/manifold/cyan/visible{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"YD" = (
+/obj/structure/reflector/double/anchored{
+ dir = 6
+ },
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"YF" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"YX" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 8;
+ name = "Gas to Filter"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"YZ" = (
+/obj/structure/lattice,
+/obj/structure/grille,
+/turf/open/space,
+/area/space/nearstation)
+"Zn" = (
+/obj/structure/sign/warning/vacuum/external{
+ pixel_x = 32
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"ZH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/dark,
+/area/engine/engineering)
+"ZO" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -26
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering Supermatter Fore";
+ dir = 1;
+ network = list("ss13","engine");
+ pixel_x = 23
+ },
+/obj/machinery/atmospherics/pipe/manifold/green/visible{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"ZT" = (
+/turf/template_noop,
+/area/template_noop)
+
+(1,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+yf
+Rh
+yf
+yf
+Rh
+yf
+yf
+Rh
+yf
+yf
+yf
+YZ
+YZ
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(2,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+pL
+aX
+pL
+yA
+Sn
+yA
+yA
+Sn
+hK
+yf
+yf
+YZ
+Oj
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(3,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+bI
+XG
+bI
+sm
+dD
+Sn
+Sn
+dD
+lG
+Rh
+Rh
+YZ
+Oj
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(4,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+uC
+XG
+uC
+Le
+dD
+yA
+yA
+dD
+hK
+yf
+yf
+YZ
+Oj
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(5,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+bI
+XG
+bI
+sm
+dD
+Sn
+Sn
+dD
+lG
+Rh
+Rh
+YZ
+Oj
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(6,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+wS
+XG
+uC
+Le
+dD
+yA
+yA
+dD
+hK
+yf
+yf
+YZ
+Oj
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(7,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+EL
+EL
+MP
+bI
+XG
+bI
+sm
+dD
+Sn
+Sn
+dD
+lG
+Rh
+Rh
+YZ
+Oj
+YZ
+yf
+yf
+yf
+yf
+zS
+"}
+(8,1,1) = {"
+ZT
+ZT
+cP
+Ke
+EL
+Tk
+MP
+wS
+XG
+uC
+Le
+dD
+yA
+yA
+dD
+hK
+yf
+yf
+YZ
+Oj
+YZ
+yf
+yf
+Rh
+yf
+yf
+"}
+(9,1,1) = {"
+ZT
+ZT
+dl
+Ok
+ND
+Zn
+Ei
+bI
+KZ
+lG
+sm
+dD
+Sn
+Sn
+dD
+lG
+Rh
+Rh
+YZ
+YZ
+YZ
+tw
+Rh
+Rh
+Rh
+yf
+"}
+(10,1,1) = {"
+ZT
+nR
+AH
+iD
+MP
+MP
+MP
+sq
+aA
+rJ
+gf
+rJ
+rJ
+td
+yf
+yf
+yf
+yf
+Rh
+yf
+yf
+yf
+yf
+Rh
+yf
+yf
+"}
+(11,1,1) = {"
+oC
+GB
+UN
+sn
+sn
+sn
+de
+GK
+wG
+TC
+mj
+fW
+at
+XA
+td
+MP
+MP
+MP
+MP
+MP
+MP
+yf
+WB
+YZ
+WB
+yf
+"}
+(12,1,1) = {"
+cS
+hJ
+qe
+ry
+ry
+ry
+ry
+cX
+ry
+ry
+nd
+ry
+yD
+Ex
+ck
+iC
+Uu
+kW
+Uu
+EM
+MP
+yf
+YZ
+Oj
+YZ
+yf
+"}
+(13,1,1) = {"
+ME
+qr
+Hz
+gj
+te
+te
+ez
+Mr
+DA
+ej
+Dz
+jZ
+gB
+SR
+SX
+Vn
+Vn
+cp
+Uu
+Uu
+MP
+yf
+YZ
+Oj
+YZ
+yf
+"}
+(14,1,1) = {"
+Ne
+yd
+bW
+VP
+EX
+Vg
+KX
+px
+nW
+Cn
+fj
+xB
+WI
+IE
+JV
+Bc
+JH
+Lv
+XY
+LJ
+MP
+Rh
+YZ
+Oj
+YZ
+Rh
+"}
+(15,1,1) = {"
+MP
+zh
+QD
+Hj
+rt
+Vg
+JL
+na
+tE
+tE
+JL
+Xy
+Ml
+Ef
+iD
+MJ
+QJ
+pP
+pP
+MJ
+MP
+yf
+YZ
+Oj
+YZ
+yf
+"}
+(16,1,1) = {"
+MP
+aC
+bW
+TO
+fK
+JL
+UP
+ti
+ti
+Bk
+JL
+JK
+WT
+Ef
+MP
+Lw
+Uu
+Uu
+Uu
+Uu
+MP
+Rh
+YZ
+Oj
+YZ
+yf
+"}
+(17,1,1) = {"
+oS
+fa
+bW
+ZO
+yZ
+qA
+iJ
+so
+so
+so
+js
+CW
+YF
+Py
+iD
+YD
+Uu
+Uu
+ey
+Uu
+MP
+yf
+YZ
+Oj
+YZ
+yf
+"}
+(18,1,1) = {"
+iD
+fa
+bW
+YX
+Qu
+aV
+jp
+tn
+uR
+tn
+NU
+Hw
+ac
+ac
+iD
+xo
+Uu
+xo
+vD
+Uu
+MP
+yf
+YZ
+Oj
+YZ
+yf
+"}
+(19,1,1) = {"
+oS
+fa
+bW
+LE
+Gz
+lE
+CT
+UM
+UM
+UM
+OR
+jB
+Nx
+aw
+iD
+Uu
+Uu
+Uu
+un
+Uu
+MP
+Rh
+YZ
+Oj
+YZ
+yf
+"}
+(20,1,1) = {"
+MP
+Bl
+bW
+iU
+JL
+OR
+Wf
+mW
+mW
+RA
+JL
+JK
+WT
+Ef
+MP
+Lw
+Uu
+Uu
+Uu
+Uu
+MP
+Rh
+YZ
+Oj
+YZ
+yf
+"}
+(21,1,1) = {"
+MP
+nV
+mE
+Ws
+VN
+wz
+JL
+tE
+tE
+tE
+JL
+vO
+Np
+Ef
+iD
+MJ
+Dj
+IF
+Dj
+MJ
+MP
+yf
+YZ
+Oj
+YZ
+yf
+"}
+(22,1,1) = {"
+iD
+fa
+hy
+Ws
+Pa
+wz
+fj
+Nw
+df
+re
+KX
+ni
+lw
+bH
+JV
+Bc
+Ph
+Ph
+nH
+LJ
+MP
+Rh
+YZ
+Oj
+YZ
+Rh
+"}
+(23,1,1) = {"
+iD
+vX
+bo
+GX
+Ik
+Ik
+SL
+YB
+RV
+qm
+MK
+ii
+rY
+Qn
+ab
+ZH
+ZH
+MI
+Uu
+Uu
+MP
+Rh
+YZ
+Oj
+YZ
+yf
+"}
+(24,1,1) = {"
+mH
+bT
+Lg
+zf
+ry
+ry
+ry
+OK
+ry
+ry
+sA
+ry
+mX
+BD
+Uq
+zF
+Uu
+GI
+Uu
+Ab
+MP
+Rh
+YZ
+Oj
+YZ
+yf
+"}
+(25,1,1) = {"
+iD
+mU
+in
+Ur
+Es
+Kv
+Gl
+aY
+Kv
+Kv
+Fr
+vN
+nz
+In
+Ub
+MP
+MP
+MP
+MP
+MP
+MP
+yf
+YZ
+YZ
+YZ
+yf
+"}
+(26,1,1) = {"
+wt
+av
+kA
+qo
+EL
+MP
+MP
+Cb
+Uu
+Uu
+pA
+jg
+qc
+fq
+LS
+Hn
+dw
+yf
+Rh
+yf
+yf
+yf
+yf
+Rh
+yf
+yf
+"}
+(27,1,1) = {"
+ZT
+ZT
+ZT
+ou
+DC
+iD
+Uu
+mi
+NK
+NK
+Ah
+Uu
+Jn
+MP
+dw
+dw
+dw
+Rh
+Rh
+Rh
+Rh
+tw
+Rh
+Rh
+Rh
+Rh
+"}
+(28,1,1) = {"
+ZT
+ZT
+ZT
+OU
+Ok
+CH
+GI
+gx
+TB
+gQ
+gQ
+ln
+XK
+MP
+yf
+yf
+Rh
+yf
+Rh
+Oj
+YZ
+yf
+yf
+Rh
+yf
+yf
+"}
+(29,1,1) = {"
+ZT
+ZT
+ZT
+FG
+NZ
+MP
+MP
+MP
+MP
+MP
+iD
+iD
+iD
+MP
+Rh
+Rh
+Rh
+Rh
+Rh
+Oj
+YZ
+yf
+yf
+Rh
+yf
+zS
+"}
diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/engine_tesla.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/engine_tesla.dmm
new file mode 100644
index 0000000000..7f55d69b17
--- /dev/null
+++ b/_maps/RandomRuins/StationRuins/Box/Engine/engine_tesla.dmm
@@ -0,0 +1,1855 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/button/door{
+ dir = 4;
+ id = "engsm";
+ name = "Radiation Shutters Control";
+ pixel_x = 24;
+ req_access_txt = "10"
+ },
+/obj/structure/rack,
+/obj/item/clothing/gloves/color/yellow,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"cB" = (
+/obj/machinery/button/door{
+ dir = 1;
+ id = "engsm";
+ name = "Radiation Shutters Control";
+ req_access_txt = "10"
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"cP" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"dz" = (
+/turf/open/space/basic,
+/area/space/nearstation)
+"dN" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"dW" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"ea" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"eA" = (
+/obj/structure/table,
+/obj/item/clothing/suit/radiation,
+/obj/item/clothing/head/radiation,
+/obj/item/clothing/glasses/meson,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"eI" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"eJ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"eL" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"fh" = (
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"fr" = (
+/obj/machinery/camera/emp_proof{
+ c_tag = "Tesla Engine Southwest";
+ dir = 1;
+ network = list("ss13","engine")
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"fH" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"gf" = (
+/obj/item/storage/toolbox/mechanical,
+/obj/item/flashlight,
+/obj/item/pipe_dispenser,
+/obj/structure/table,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"ht" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"hR" = (
+/obj/machinery/power/tesla_coil,
+/obj/structure/cable,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"ic" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"js" = (
+/obj/machinery/camera/emp_proof{
+ c_tag = "Tesla Engine East";
+ dir = 8;
+ network = list("ss13","engine")
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"jx" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"jH" = (
+/obj/structure/sign/warning/radiation/rad_area,
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"kh" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"ku" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"kK" = (
+/turf/closed/wall,
+/area/engine/engineering)
+"la" = (
+/obj/structure/table,
+/obj/item/storage/toolbox/mechanical{
+ pixel_y = 5
+ },
+/obj/item/flashlight{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/item/flashlight{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"lJ" = (
+/obj/structure/sign/warning/electricshock,
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"lY" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"me" = (
+/obj/structure/rack,
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/item/clothing/gloves/color/yellow,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"mB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"nL" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector{
+ dir = 1
+ },
+/turf/open/space/basic,
+/area/engine/engineering)
+"nR" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"nW" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"qH" = (
+/obj/structure/sign/warning/vacuum/external{
+ pixel_x = -32
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"qP" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"rj" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"rm" = (
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"rM" = (
+/obj/machinery/field/generator,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"rT" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"tc" = (
+/obj/machinery/light,
+/obj/machinery/camera/emp_proof{
+ c_tag = "Tesla Engine South";
+ dir = 1;
+ network = list("ss13","engine")
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"tl" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"to" = (
+/obj/structure/sign/warning/radiation/rad_area,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"tv" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable,
+/obj/machinery/power/emitter,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"tC" = (
+/obj/structure/grille,
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"tE" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"tT" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/button/door{
+ dir = 4;
+ id = "engsm";
+ name = "Radiation Shutters Control";
+ pixel_x = 24;
+ req_access_txt = "10"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"uG" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"wt" = (
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"xg" = (
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"xx" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"xJ" = (
+/obj/item/tank/internals/emergency_oxygen/engi{
+ pixel_x = 5
+ },
+/obj/item/clothing/gloves/color/black,
+/obj/item/clothing/glasses/meson/engine,
+/obj/structure/table,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"xQ" = (
+/obj/machinery/power/tesla_coil,
+/obj/structure/cable{
+ icon_state = "0-2";
+ pixel_y = 1
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"yj" = (
+/obj/machinery/camera/emp_proof{
+ c_tag = "Tesla Engine West";
+ dir = 4;
+ network = list("ss13","engine")
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"yo" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/rack,
+/obj/item/clothing/gloves/color/yellow,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"yq" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/lattice/catwalk,
+/turf/open/space/basic,
+/area/space/nearstation)
+"yU" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/obj/machinery/door/airlock/external{
+ name = "Engineering External Access";
+ req_access_txt = "10;13"
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"zW" = (
+/obj/structure/chair/stool,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"zZ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/button/door{
+ dir = 8;
+ id = "engsm";
+ name = "Radiation Shutters Control";
+ pixel_x = -24;
+ req_access_txt = "10"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Aw" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"AF" = (
+/obj/structure/rack,
+/obj/item/clothing/gloves/color/yellow,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Bb" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1;
+ light_color = "#c1caff"
+ },
+/obj/machinery/camera/emp_proof{
+ c_tag = "Particle Accelerator";
+ network = list("ss13","engine")
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/the_singularitygen/tesla,
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Bh" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Bj" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"BG" = (
+/obj/structure/closet/emcloset/anchored,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Ce" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"Ch" = (
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"DF" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"Eu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"ER" = (
+/obj/structure/sign/warning/vacuum/external{
+ pixel_x = 32
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"ES" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/item/clothing/head/welding,
+/obj/item/weldingtool/largetank,
+/obj/item/wrench,
+/obj/item/stack/cable_coil/red,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"FK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"FM" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"FP" = (
+/obj/structure/lattice/catwalk,
+/turf/open/space/basic,
+/area/space/nearstation)
+"FY" = (
+/obj/structure/table,
+/obj/item/book/manual/wiki/engineering_singulo_tesla,
+/obj/item/geiger_counter,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Hc" = (
+/obj/machinery/light,
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"HQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/button/door{
+ dir = 8;
+ id = "engsm";
+ name = "Radiation Shutters Control";
+ pixel_x = -24;
+ req_access_txt = "10"
+ },
+/obj/structure/rack,
+/obj/item/clothing/gloves/color/yellow,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"HW" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"In" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/machinery/door/airlock/external{
+ name = "Engineering External Access";
+ req_access_txt = "10;13"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Js" = (
+/obj/structure/particle_accelerator/end_cap,
+/obj/structure/particle_accelerator/fuel_chamber,
+/obj/structure/particle_accelerator/particle_emitter/center,
+/obj/structure/particle_accelerator/particle_emitter/left,
+/obj/structure/particle_accelerator/particle_emitter/right,
+/obj/structure/particle_accelerator/power_box,
+/obj/machinery/particle_accelerator/control_box,
+/obj/structure/closet/crate/engineering{
+ name = "Particle Accelerator Crate"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"JC" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"JZ" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/engine/engineering)
+"Kg" = (
+/obj/structure/reflector/single/anchored{
+ dir = 5
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"Lr" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/color/yellow,
+/obj/item/storage/toolbox/electrical{
+ pixel_y = 5
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Ls" = (
+/obj/machinery/door/airlock/external{
+ name = "Engineering External Access";
+ req_access_txt = "10;13"
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"LB" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"LJ" = (
+/obj/machinery/camera/emp_proof{
+ c_tag = "Tesla Engine Southeast";
+ dir = 1;
+ network = list("ss13","engine")
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"LO" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"LV" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Mi" = (
+/obj/structure/reagent_dispensers/watertank,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Mn" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"MD" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"MJ" = (
+/turf/open/space/basic,
+/area/space)
+"Nm" = (
+/obj/structure/sign/warning/securearea,
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"No" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Nz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"NS" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Oe" = (
+/obj/structure/reflector/single/anchored{
+ dir = 9
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"Og" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Ox" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/box,
+/obj/structure/cable/yellow{
+ icon_state = "0-4"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Pg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Pj" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"Pk" = (
+/obj/machinery/power/tesla_coil,
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"Pt" = (
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"Qk" = (
+/obj/machinery/camera/emp_proof{
+ c_tag = "Tesla Engine Northeast";
+ network = list("ss13","engine")
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"Ra" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/closet/emcloset/anchored,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"Rp" = (
+/obj/effect/turf_decal/stripes/corner,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"RE" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"RL" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"Si" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"SD" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Tr" = (
+/obj/structure/sign/warning/radiation/rad_area,
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 6
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"TE" = (
+/obj/machinery/power/tesla_coil,
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"TN" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"Um" = (
+/turf/template_noop,
+/area/template_noop)
+"UL" = (
+/obj/machinery/camera/emp_proof{
+ c_tag = "Tesla Engine Northwest";
+ network = list("ss13","engine")
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"UV" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"Vf" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"VR" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/camera/emp_proof{
+ c_tag = "Tesla Engine Northeast";
+ network = list("ss13","engine")
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"Wf" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Ww" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/machinery/door/airlock/external{
+ name = "Engineering External Access";
+ req_access_txt = "10;13"
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"WI" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/engine,
+/area/engine/engineering)
+"WP" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"WQ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"WX" = (
+/obj/structure/rack,
+/obj/item/clothing/gloves/color/yellow,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Xk" = (
+/obj/machinery/power/grounding_rod,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"Yd" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Yl" = (
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space/nearstation)
+"YY" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"Zb" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Zx" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"Zz" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"ZF" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"ZK" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"ZS" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"ZY" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/light,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+
+(1,1,1) = {"
+Um
+Um
+Um
+Um
+Um
+Um
+Um
+dz
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+Um
+Um
+Um
+Um
+Um
+"}
+(2,1,1) = {"
+Um
+Um
+Um
+Um
+Um
+Um
+Um
+dz
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+Um
+Um
+Um
+Um
+Um
+"}
+(3,1,1) = {"
+Um
+Um
+Um
+Um
+Um
+Um
+Um
+dz
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+Um
+Um
+Um
+Um
+Um
+"}
+(4,1,1) = {"
+Um
+Um
+Um
+Um
+Um
+Um
+Um
+dz
+dz
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+Um
+Um
+Um
+Um
+Um
+"}
+(5,1,1) = {"
+Um
+Um
+Um
+Um
+Um
+Um
+Um
+Yl
+dz
+dz
+MJ
+MJ
+dz
+dz
+dz
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+Um
+Um
+Um
+Um
+Um
+"}
+(6,1,1) = {"
+Um
+Um
+Um
+Um
+Um
+Um
+Um
+rm
+Yl
+dz
+dz
+dz
+dz
+Yl
+dz
+dz
+dz
+dz
+dz
+dz
+dz
+dz
+Um
+Um
+Um
+Um
+"}
+(7,1,1) = {"
+Um
+Um
+Um
+Um
+kK
+kK
+Ch
+Ch
+Ch
+Ch
+Ch
+Ch
+Ch
+jH
+Ch
+Ch
+Ch
+Ch
+lJ
+Ch
+Nm
+dz
+MJ
+MJ
+MJ
+MJ
+"}
+(8,1,1) = {"
+Um
+Um
+Lr
+la
+kK
+Ra
+Ch
+tC
+tC
+tC
+tC
+tC
+Ch
+Ch
+Ch
+tC
+tC
+tC
+tC
+tC
+Ch
+dz
+dz
+MJ
+MJ
+MJ
+"}
+(9,1,1) = {"
+Um
+Um
+FM
+FM
+In
+ER
+yU
+Pt
+Pt
+Pt
+Pt
+Pt
+Pt
+yj
+Pt
+Pt
+Pt
+Pt
+Pt
+Pt
+Ls
+Pt
+dz
+dz
+MJ
+MJ
+"}
+(10,1,1) = {"
+Um
+Si
+fh
+ZY
+to
+Ch
+Ch
+UL
+dz
+Yl
+dz
+dz
+FP
+FP
+FP
+dz
+dz
+Yl
+dz
+Pt
+Ch
+Ch
+tC
+dz
+MJ
+MJ
+"}
+(11,1,1) = {"
+xJ
+gf
+fh
+dN
+YY
+MD
+Ch
+Pt
+dz
+Yl
+dz
+dz
+FP
+FP
+FP
+dz
+dz
+Yl
+dz
+Pt
+fr
+Ch
+tC
+dz
+MJ
+MJ
+"}
+(12,1,1) = {"
+LO
+Eu
+Pg
+cP
+Bh
+tv
+rj
+Pt
+dz
+Yl
+dz
+dz
+Kg
+FP
+FP
+FP
+dz
+Yl
+dz
+Yl
+Pt
+Ch
+tC
+dz
+dz
+MJ
+"}
+(13,1,1) = {"
+NS
+xx
+fh
+zW
+Bh
+tv
+rj
+Pt
+rm
+rm
+rm
+rm
+rm
+rm
+Kg
+rm
+rm
+rm
+rm
+Yl
+Hc
+Ch
+tC
+Yl
+dz
+MJ
+"}
+(14,1,1) = {"
+yo
+me
+aT
+Aw
+JC
+WI
+rj
+Og
+rm
+tl
+ht
+Bj
+ht
+WP
+ht
+Pj
+ht
+TN
+rm
+Yl
+Pt
+Ch
+jH
+Yl
+dz
+MJ
+"}
+(15,1,1) = {"
+jH
+FK
+Ch
+wt
+tE
+rj
+rj
+Og
+rm
+ZS
+Xk
+TE
+rm
+TE
+rm
+TE
+Xk
+ZS
+rm
+dz
+Pt
+Ch
+tC
+Yl
+dz
+MJ
+"}
+(16,1,1) = {"
+Ch
+ES
+ZK
+ZK
+zZ
+ZK
+fH
+Og
+rm
+ea
+hR
+FP
+FP
+FP
+FP
+FP
+xQ
+RL
+rm
+dz
+Pt
+Ch
+tC
+dz
+dz
+MJ
+"}
+(17,1,1) = {"
+wt
+Zz
+Wf
+Ox
+nR
+Zb
+lY
+Og
+rm
+yq
+rm
+FP
+rM
+rm
+rM
+FP
+rm
+yq
+rm
+Yl
+Pt
+Ch
+tC
+dz
+MJ
+MJ
+"}
+(18,1,1) = {"
+cB
+Bb
+qP
+ZF
+SD
+Yd
+eI
+LB
+UV
+dW
+hR
+FP
+rm
+rm
+rm
+FP
+xQ
+ku
+rm
+Yl
+tc
+Ch
+tC
+dz
+MJ
+MJ
+"}
+(19,1,1) = {"
+wt
+eJ
+Zx
+nW
+Mn
+WQ
+lY
+Og
+rm
+ZS
+rm
+FP
+rM
+rm
+rM
+FP
+rm
+ZS
+rm
+Yl
+Pt
+Ch
+tC
+dz
+MJ
+MJ
+"}
+(20,1,1) = {"
+Ch
+Js
+No
+No
+tT
+No
+LV
+Og
+rm
+DF
+hR
+FP
+FP
+FP
+FP
+FP
+xQ
+RE
+rm
+dz
+Pt
+Ch
+tC
+dz
+dz
+MJ
+"}
+(21,1,1) = {"
+jH
+Nz
+Ch
+wt
+tE
+rj
+rj
+Og
+rm
+ZS
+Xk
+Pk
+rm
+Pk
+rm
+Pk
+Xk
+ZS
+rm
+dz
+Pt
+Ch
+tC
+Yl
+dz
+MJ
+"}
+(22,1,1) = {"
+AF
+WX
+HQ
+Aw
+JC
+WI
+rj
+Og
+rm
+Ce
+ht
+ic
+ht
+eL
+ht
+Vf
+ht
+jx
+rm
+Yl
+Pt
+Ch
+jH
+Yl
+dz
+MJ
+"}
+(23,1,1) = {"
+fh
+kh
+fh
+fh
+Bh
+tv
+rj
+Pt
+rm
+rm
+rm
+rm
+rm
+rm
+Oe
+rm
+rm
+rm
+rm
+Yl
+Hc
+Ch
+tC
+Yl
+dz
+MJ
+"}
+(24,1,1) = {"
+fh
+kh
+uG
+cP
+xg
+tv
+rj
+Pt
+dz
+Yl
+dz
+dz
+Oe
+FP
+FP
+FP
+dz
+Yl
+dz
+Yl
+Pt
+Ch
+tC
+dz
+dz
+MJ
+"}
+(25,1,1) = {"
+eA
+FY
+mB
+Rp
+HW
+Mi
+Ch
+Pt
+dz
+Yl
+dz
+dz
+FP
+FP
+VR
+dz
+dz
+Yl
+dz
+Pt
+LJ
+Ch
+tC
+dz
+MJ
+MJ
+"}
+(26,1,1) = {"
+fh
+kh
+mB
+ZY
+Tr
+rT
+rT
+Qk
+nL
+Yl
+dz
+dz
+FP
+FP
+FP
+dz
+dz
+Yl
+dz
+Pt
+Ch
+Ch
+tC
+dz
+MJ
+MJ
+"}
+(27,1,1) = {"
+Um
+Um
+Um
+fh
+Ww
+qH
+yU
+Pt
+Pt
+Pt
+Pt
+Pt
+Pt
+js
+Pt
+Pt
+Pt
+Pt
+Pt
+Pt
+Ls
+Pt
+dz
+dz
+MJ
+MJ
+"}
+(28,1,1) = {"
+Um
+Um
+Um
+fh
+JZ
+BG
+Ch
+tC
+tC
+tC
+tC
+tC
+Ch
+Ch
+Ch
+tC
+tC
+tC
+tC
+tC
+Ch
+Yl
+dz
+dz
+dz
+MJ
+"}
+(29,1,1) = {"
+Um
+Um
+Um
+fh
+JZ
+kK
+Ch
+Ch
+Ch
+Ch
+Ch
+Ch
+Ch
+jH
+Ch
+Ch
+Ch
+Ch
+lJ
+Ch
+Nm
+Yl
+Yl
+Yl
+dz
+MJ
+"}
diff --git a/_maps/RandomZLevels/Cabin.dmm b/_maps/RandomZLevels/Cabin.dmm
index f4a18fd87c..4d07c02565 100644
--- a/_maps/RandomZLevels/Cabin.dmm
+++ b/_maps/RandomZLevels/Cabin.dmm
@@ -967,10 +967,6 @@
},
/turf/open/floor/plating,
/area/awaymission/cabin)
-"dw" = (
-/obj/effect/mapping_helpers/planet_z,
-/turf/closed/indestructible/rock/snow,
-/area/space)
(1,1,1) = {"
aa
@@ -1227,7 +1223,7 @@ aa
aa
aa
aa
-dw
+aa
"}
(2,1,1) = {"
aa
diff --git a/_maps/RandomZLevels/VR/snowdin_VR.dmm b/_maps/RandomZLevels/VR/snowdin_VR.dmm
index 8f6eda450c..bae0b05e3d 100644
--- a/_maps/RandomZLevels/VR/snowdin_VR.dmm
+++ b/_maps/RandomZLevels/VR/snowdin_VR.dmm
@@ -4,9 +4,15 @@
/turf/closed/indestructible/rock/snow,
/area/awaymission/snowdin/cave/mountain)
"ab" = (
-/obj/effect/mapping_helpers/planet_z,
-/turf/closed/indestructible/rock/snow,
-/area/awaymission/snowdin/cave/mountain)
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/mob/living/simple_animal/hostile/netherworld/migo,
+/turf/open/floor/plasteel,
+/area/awaymission/snowdin/post/mining_dock)
"ac" = (
/turf/closed/indestructible/rock/snow,
/area/awaymission/snowdin/cave/mountain)
@@ -10267,16 +10273,6 @@
/obj/item/shard,
/turf/open/floor/plating,
/area/awaymission/snowdin/post/mining_dock)
-"xA" = (
-/mob/living/simple_animal/hostile/netherworld/migo,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/awaymission/snowdin/post/mining_dock)
"xB" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -16013,7 +16009,7 @@ ac
ac
"}
(2,1,1) = {"
-ab
+ac
ac
ac
ac
@@ -66518,7 +66514,7 @@ wD
wT
xe
xs
-xA
+ab
xI
xN
wL
diff --git a/_maps/RandomZLevels/caves.dmm b/_maps/RandomZLevels/caves.dmm
index d50480c381..96c1a08b1f 100644
--- a/_maps/RandomZLevels/caves.dmm
+++ b/_maps/RandomZLevels/caves.dmm
@@ -2251,10 +2251,6 @@
initial_gas_mix = "n2=23;o2=14"
},
/area/awaymission/caves/BMP_asteroid)
-"gW" = (
-/obj/effect/mapping_helpers/planet_z,
-/turf/closed/indestructible/rock,
-/area/space/nearstation)
"gX" = (
/obj/effect/baseturf_helper/lava,
/turf/closed/mineral/volcanic,
@@ -2536,7 +2532,7 @@ aa
aa
aa
aa
-gW
+aa
"}
(2,1,1) = {"
aa
diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm
index ddc8778ac1..8c33326703 100644
--- a/_maps/RandomZLevels/moonoutpost19.dmm
+++ b/_maps/RandomZLevels/moonoutpost19.dmm
@@ -7215,10 +7215,6 @@
heat_capacity = 1e+006
},
/area/awaymission/moonoutpost19/research)
-"oV" = (
-/obj/effect/mapping_helpers/planet_z,
-/turf/open/space,
-/area/space)
"vV" = (
/obj/machinery/door/airlock/external,
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
@@ -7512,7 +7508,7 @@ aa
aa
aa
aa
-oV
+aa
"}
(2,1,1) = {"
aa
diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm
index 525c8fcf7b..57e03061dd 100644
--- a/_maps/RandomZLevels/snowdin.dmm
+++ b/_maps/RandomZLevels/snowdin.dmm
@@ -4,9 +4,15 @@
/turf/closed/indestructible/rock/snow,
/area/awaymission/snowdin/cave/mountain)
"ab" = (
-/obj/effect/mapping_helpers/planet_z,
-/turf/closed/indestructible/rock/snow,
-/area/awaymission/snowdin/cave/mountain)
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/mob/living/simple_animal/hostile/netherworld/migo,
+/turf/open/floor/plasteel,
+/area/awaymission/snowdin/post/mining_dock)
"ac" = (
/turf/closed/indestructible/rock/snow,
/area/awaymission/snowdin/cave/mountain)
@@ -10331,16 +10337,6 @@
/obj/item/shard,
/turf/open/floor/plating,
/area/awaymission/snowdin/post/mining_dock)
-"xA" = (
-/mob/living/simple_animal/hostile/netherworld/migo,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/awaymission/snowdin/post/mining_dock)
"xB" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -16108,7 +16104,7 @@ ac
ac
"}
(2,1,1) = {"
-ab
+ac
ac
ac
ac
@@ -66613,7 +66609,7 @@ wD
wT
xe
xs
-xA
+ab
xI
xN
wL
diff --git a/_maps/RandomZLevels/spacebattle.dmm b/_maps/RandomZLevels/spacebattle.dmm
index 21cd37f78f..66d7f556b4 100644
--- a/_maps/RandomZLevels/spacebattle.dmm
+++ b/_maps/RandomZLevels/spacebattle.dmm
@@ -5,6 +5,16 @@
"ab" = (
/turf/open/space,
/area/space)
+"ac" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/mob/living/simple_animal/hostile/syndicate/melee/sword,
+/turf/open/floor/plasteel,
+/area/awaymission/spacebattle/cruiser)
"ad" = (
/obj/structure/shuttle/engine/propulsion/right{
dir = 1
@@ -2597,16 +2607,6 @@
/obj/effect/spawner/lootdrop/armory_contraband,
/turf/open/floor/plating,
/area/awaymission/spacebattle/cruiser)
-"jK" = (
-/mob/living/simple_animal/hostile/syndicate/melee/sword,
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/awaymission/spacebattle/cruiser)
"jL" = (
/obj/machinery/door/poddoor{
id = "spacebattlearmory";
@@ -2894,10 +2894,6 @@
/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,
/turf/open/floor/plating,
/area/awaymission/spacebattle/cruiser)
-"kM" = (
-/obj/effect/mapping_helpers/planet_z,
-/turf/closed/mineral/random,
-/area/space/nearstation)
"vw" = (
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/awaymission/spacebattle/syndicate5)
@@ -3175,7 +3171,7 @@ aa
aa
aa
aa
-kM
+aa
"}
(2,1,1) = {"
aa
@@ -35686,10 +35682,10 @@ eC
cn
fL
cp
-jK
+ac
fs
fO
-jK
+ac
eM
eM
eM
diff --git a/_maps/RandomZLevels/undergroundoutpost45.dmm b/_maps/RandomZLevels/undergroundoutpost45.dmm
index f6d46ef97d..56018b943a 100644
--- a/_maps/RandomZLevels/undergroundoutpost45.dmm
+++ b/_maps/RandomZLevels/undergroundoutpost45.dmm
@@ -25,6 +25,9 @@
"ag" = (
/turf/closed/wall/mineral/titanium,
/area/awaymission/undergroundoutpost45/central)
+"ah" = (
+/turf/open/space,
+/area/space/nearstation)
"aj" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel{
@@ -13945,10 +13948,6 @@
temperature = 363.9
},
/area/awaymission/undergroundoutpost45/caves)
-"zi" = (
-/obj/effect/mapping_helpers/planet_z,
-/turf/open/space,
-/area/space/nearstation)
"KE" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 4
@@ -14211,7 +14210,7 @@ aa
aa
aa
aa
-zi
+ah
"}
(2,1,1) = {"
aa
diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm
index 55ed3e72ff..b6463f7147 100644
--- a/_maps/map_files/BoxStation/BoxStation.dmm
+++ b/_maps/map_files/BoxStation/BoxStation.dmm
@@ -4,7 +4,7 @@
/area/space)
"aab" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/structure/table,
@@ -21,12 +21,6 @@
/turf/open/floor/plasteel,
/area/crew_quarters/bar)
"aac" = (
-/obj/machinery/requests_console{
- department = "Bar";
- departmentType = 2;
- pixel_x = 30;
- receive_ore_updates = 1
- },
/obj/machinery/camera{
c_tag = "Bar";
dir = 8
@@ -42,20 +36,11 @@
/turf/open/floor/plasteel,
/area/crew_quarters/bar)
"aad" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
+/obj/machinery/light/small{
dir = 8
},
-/obj/structure/table,
-/obj/item/restraints/handcuffs,
-/turf/open/floor/plasteel,
-/area/security/prison)
+/turf/open/floor/engine,
+/area/science/xenobiology)
"aae" = (
/obj/effect/landmark/carpspawn,
/turf/open/space,
@@ -113,40 +98,25 @@
"aan" = (
/obj/machinery/hydroponics/soil,
/obj/item/seeds/ambrosia,
-/obj/effect/turf_decal/tile/green{
- dir = 1
+/obj/machinery/newscaster{
+ pixel_y = 32
},
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/turf/open/floor/plasteel,
+/turf/open/floor/grass,
/area/security/prison)
"aao" = (
-/obj/machinery/airalarm{
- pixel_y = 23
+/obj/machinery/hydroponics/soil,
+/obj/item/plant_analyzer,
+/obj/structure/sign/warning/electricshock{
+ pixel_y = 32
},
-/turf/open/floor/plating,
+/turf/open/floor/grass,
/area/security/prison)
"aap" = (
/obj/machinery/hydroponics/soil,
/obj/item/seeds/carrot,
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/turf/open/floor/plasteel,
+/turf/open/floor/grass,
/area/security/prison)
"aaq" = (
-/obj/structure/sign/warning/electricshock{
- pixel_y = 32
- },
-/obj/machinery/hydroponics/soil,
-/obj/item/plant_analyzer,
/obj/machinery/camera{
c_tag = "Prison Common Room";
network = list("ss13","prison")
@@ -158,24 +128,24 @@
/obj/effect/turf_decal/tile/green{
dir = 4
},
+/obj/effect/turf_decal/tile/green{
+ dir = 8
+ },
+/obj/structure/sink{
+ pixel_y = 20
+ },
/turf/open/floor/plasteel,
/area/security/prison)
"aar" = (
/obj/machinery/hydroponics/soil,
/obj/item/seeds/glowshroom,
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/turf/open/floor/plasteel,
+/turf/open/floor/grass,
/area/security/prison)
"aas" = (
-/obj/structure/sink{
- pixel_y = 20
+/obj/structure/sign/warning/electricshock{
+ pixel_y = 32
},
-/turf/open/floor/plating,
+/turf/open/floor/plasteel,
/area/security/prison)
"aat" = (
/turf/open/floor/plasteel,
@@ -194,19 +164,15 @@
/obj/machinery/light{
dir = 8
},
-/turf/open/floor/plating,
+/turf/open/floor/grass,
/area/security/prison)
"aax" = (
/mob/living/simple_animal/mouse/brown/Tom,
-/turf/open/floor/plating,
+/turf/open/floor/grass,
/area/security/prison)
"aay" = (
/turf/open/floor/plating,
/area/security/prison)
-"aaz" = (
-/obj/item/reagent_containers/glass/bucket,
-/turf/open/floor/plating,
-/area/security/prison)
"aaA" = (
/obj/machinery/seed_extractor,
/turf/open/floor/plasteel,
@@ -215,33 +181,21 @@
/obj/structure/window/reinforced,
/obj/machinery/hydroponics/soil,
/obj/item/seeds/potato,
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/turf/open/floor/plasteel,
+/turf/open/floor/grass,
/area/security/prison)
"aaC" = (
+/obj/machinery/hydroponics/soil,
/obj/structure/window/reinforced,
-/turf/open/floor/plating,
+/obj/item/seeds/tower,
+/turf/open/floor/grass,
/area/security/prison)
"aaD" = (
/obj/structure/window/reinforced,
/obj/machinery/hydroponics/soil,
/obj/item/seeds/grass,
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/turf/open/floor/plasteel,
+/turf/open/floor/grass,
/area/security/prison)
"aaE" = (
-/obj/structure/window/reinforced,
-/obj/machinery/hydroponics/soil,
-/obj/item/cultivator,
/obj/effect/turf_decal/tile/green,
/obj/effect/turf_decal/tile/green{
dir = 4
@@ -249,23 +203,22 @@
/obj/effect/turf_decal/tile/green{
dir = 8
},
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
/turf/open/floor/plasteel,
/area/security/prison)
"aaF" = (
/obj/structure/window/reinforced,
/obj/machinery/hydroponics/soil,
/obj/item/cultivator,
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/turf/open/floor/plasteel,
+/turf/open/floor/grass,
/area/security/prison)
"aaG" = (
/obj/machinery/light{
dir = 4
},
-/obj/machinery/cryopod{
+/obj/machinery/vr_sleeper{
dir = 8
},
/turf/open/floor/plasteel,
@@ -281,78 +234,19 @@
/obj/structure/chair/stool,
/turf/open/floor/plasteel,
/area/security/prison)
-"aaK" = (
-/obj/machinery/washing_machine,
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/turf/open/floor/plasteel/cafeteria,
-/area/security/prison)
-"aaL" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/turf/open/floor/plasteel/cafeteria,
-/area/security/prison)
-"aaM" = (
-/obj/machinery/computer/libraryconsole/bookmanagement,
-/obj/structure/table,
-/obj/machinery/newscaster{
- pixel_x = -32
- },
-/turf/open/floor/plasteel,
-/area/security/prison)
"aaN" = (
-/obj/structure/table,
-/obj/item/pen,
-/turf/open/floor/plasteel,
-/area/security/prison)
-"aaO" = (
-/obj/structure/table,
-/obj/item/storage/pill_bottle/dice,
+/obj/structure/chair/sofa/right,
/turf/open/floor/plasteel,
/area/security/prison)
"aaP" = (
-/obj/structure/table,
-/obj/structure/bedsheetbin,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
/obj/machinery/computer/cryopod{
dir = 8;
pixel_x = 26
},
-/turf/open/floor/plasteel/cafeteria,
-/area/security/prison)
-"aaQ" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
+/obj/machinery/cryopod{
dir = 8
},
-/turf/open/floor/plasteel/cafeteria,
+/turf/open/floor/plasteel,
/area/security/prison)
"aaR" = (
/obj/structure/lattice,
@@ -371,50 +265,25 @@
/obj/structure/grille,
/turf/open/space,
/area/space/nearstation)
-"aaU" = (
-/obj/machinery/computer/arcade{
- icon_state = "arcade";
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/security/prison)
"aaV" = (
-/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = -3;
- pixel_y = 7
- },
-/obj/item/pen,
+/obj/structure/table/wood,
+/obj/item/storage/pill_bottle/dice,
/turf/open/floor/plasteel,
/area/security/prison)
"aaW" = (
-/obj/structure/table,
-/obj/item/toy/cards/deck,
+/obj/effect/landmark/event_spawn,
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 4
+ },
/turf/open/floor/plasteel,
/area/security/prison)
"aaX" = (
-/obj/machinery/washing_machine,
/obj/structure/window/reinforced,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
+/obj/machinery/cryopod{
dir = 8
},
-/turf/open/floor/plasteel/cafeteria,
-/area/security/prison)
-"aaY" = (
-/obj/structure/window/reinforced,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/turf/open/floor/plasteel/cafeteria,
+/turf/open/floor/plasteel,
/area/security/prison)
"aaZ" = (
/turf/closed/wall/r_wall,
@@ -453,7 +322,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10
},
-/turf/closed/wall/r_wall,
+/turf/closed/wall,
/area/security/execution/transfer)
"abh" = (
/obj/machinery/holopad,
@@ -467,12 +336,8 @@
/turf/open/floor/plasteel/freezer,
/area/security/prison)
"abj" = (
-/obj/machinery/light/small{
- dir = 1
- },
-/obj/structure/window/reinforced{
- dir = 8
- },
+/obj/structure/bedsheetbin/color,
+/obj/structure/table,
/turf/open/floor/plasteel/freezer,
/area/security/prison)
"abk" = (
@@ -493,7 +358,6 @@
/obj/structure/table,
/obj/item/storage/box/firingpins,
/obj/item/storage/box/firingpins,
-/obj/item/key/security,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -560,8 +424,7 @@
/area/security/execution/transfer)
"abu" = (
/obj/machinery/door/poddoor{
- id = "executionspaceblast";
- name = "blast door"
+ id = "executionspaceblast"
},
/turf/open/floor/plating,
/area/security/execution/transfer)
@@ -588,7 +451,9 @@
/turf/open/floor/plasteel/dark,
/area/security/execution/transfer)
"abx" = (
-/obj/machinery/vending/cola/random,
+/obj/machinery/computer/arcade{
+ dir = 4
+ },
/turf/open/floor/plasteel,
/area/security/prison)
"aby" = (
@@ -596,29 +461,17 @@
/turf/closed/wall/r_wall,
/area/security/execution/transfer)
"abz" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
-/obj/structure/cable{
- icon_state = "4-8"
+/obj/machinery/light/small{
+ dir = 4;
+ light_color = "#d8b1b1"
},
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/turf/open/floor/plasteel,
-/area/security/prison)
+/turf/open/floor/engine,
+/area/science/xenobiology)
"abA" = (
/obj/machinery/light,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
},
-/obj/item/twohanded/required/kirbyplants{
- icon_state = "plant-24"
- },
/turf/open/floor/plasteel,
/area/security/prison)
"abB" = (
@@ -652,15 +505,6 @@
"abF" = (
/turf/open/floor/plasteel/freezer,
/area/security/prison)
-"abG" = (
-/obj/machinery/door/window/westleft{
- base_state = "right";
- dir = 8;
- icon_state = "right";
- name = "Unisex Showers"
- },
-/turf/open/floor/plasteel/freezer,
-/area/security/prison)
"abH" = (
/obj/structure/table,
/obj/item/storage/box/chemimp{
@@ -751,8 +595,7 @@
pixel_y = -3
},
/obj/machinery/camera/motion{
- c_tag = "Armory Motion Sensor";
- dir = 2
+ c_tag = "Armory Motion Sensor"
},
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -921,7 +764,6 @@
/area/security/execution/transfer)
"acb" = (
/obj/machinery/sparker{
- dir = 2;
id = "executionburn";
pixel_x = 25
},
@@ -1009,8 +851,8 @@
/area/ai_monitored/security/armory)
"acm" = (
/obj/machinery/power/apc/highcap/five_k{
- dir = 4;
areastring = "/area/ai_monitored/security/armory";
+ dir = 4;
name = "Armory APC";
pixel_x = 24
},
@@ -1098,18 +940,14 @@
/turf/open/floor/plasteel/dark,
/area/security/execution/transfer)
"acA" = (
-/obj/machinery/atmospherics/components/unary/outlet_injector/on{
- dir = 2
- },
+/obj/machinery/atmospherics/components/unary/outlet_injector/on,
/obj/effect/turf_decal/stripes/line{
dir = 6
},
/turf/open/floor/plasteel/dark,
/area/security/execution/transfer)
"acB" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 2
- },
+/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel/dark,
/area/security/execution/transfer)
"acC" = (
@@ -1120,7 +958,6 @@
},
/obj/item/radio/intercom{
desc = "Talk through this. It looks like it has been modified to not broadcast.";
- dir = 2;
name = "Prison Intercom (General)";
pixel_y = 24;
prison_radio = 1
@@ -1150,7 +987,6 @@
},
/obj/item/radio/intercom{
desc = "Talk through this. It looks like it has been modified to not broadcast.";
- dir = 2;
name = "Prison Intercom (General)";
pixel_y = 24;
prison_radio = 1
@@ -1172,7 +1008,6 @@
},
/obj/item/radio/intercom{
desc = "Talk through this. It looks like it has been modified to not broadcast.";
- dir = 2;
name = "Prison Intercom (General)";
pixel_y = 24;
prison_radio = 1
@@ -1211,13 +1046,15 @@
/turf/open/floor/plasteel,
/area/security/prison)
"acK" = (
-/obj/structure/sink{
- dir = 8;
- pixel_x = -12;
- pixel_y = 2
+/obj/structure/mirror{
+ pixel_x = 25
},
/obj/machinery/light/small{
- dir = 4
+ dir = 8
+ },
+/obj/structure/sink{
+ dir = 4;
+ pixel_x = 11
},
/turf/open/floor/plasteel/freezer,
/area/security/prison)
@@ -1239,24 +1076,18 @@
pixel_y = -3
},
/obj/machinery/atmospherics/components/unary/vent_pump/on,
-/obj/effect/turf_decal/bot{
- dir = 2
- },
+/obj/effect/turf_decal/bot,
/obj/structure/window/reinforced{
dir = 1;
layer = 2.9
},
-/turf/open/floor/plasteel{
- dir = 2
- },
+/turf/open/floor/plasteel,
/area/ai_monitored/security/armory)
"acN" = (
-/obj/structure/chair/stool/bar,
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
+/obj/structure/chair/stool{
+ pixel_y = 8
},
-/turf/open/floor/plasteel,
+/turf/open/floor/wood,
/area/crew_quarters/bar)
"acO" = (
/obj/structure/closet/l3closet/security,
@@ -1278,15 +1109,16 @@
/area/crew_quarters/heads/hos)
"acR" = (
/obj/structure/table/wood,
+/obj/item/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
/obj/item/flashlight/lamp/green{
on = 0;
pixel_x = -3;
pixel_y = 8
},
-/obj/item/paper_bin{
- pixel_x = -3;
- pixel_y = 7
- },
+/obj/item/pen/fountain,
/turf/open/floor/carpet,
/area/crew_quarters/heads/hos)
"acS" = (
@@ -1438,9 +1270,7 @@
pixel_x = 3;
pixel_y = -3
},
-/obj/effect/turf_decal/bot{
- dir = 2
- },
+/obj/effect/turf_decal/bot,
/obj/structure/window/reinforced{
dir = 1;
layer = 2.9
@@ -1448,9 +1278,7 @@
/obj/structure/window/reinforced{
dir = 4
},
-/turf/open/floor/plasteel{
- dir = 2
- },
+/turf/open/floor/plasteel,
/area/ai_monitored/security/armory)
"adk" = (
/obj/structure/rack,
@@ -1463,9 +1291,7 @@
pixel_x = 3;
pixel_y = -3
},
-/obj/effect/turf_decal/bot{
- dir = 2
- },
+/obj/effect/turf_decal/bot,
/obj/structure/window/reinforced{
dir = 1;
layer = 2.9
@@ -1473,9 +1299,7 @@
/obj/structure/window/reinforced{
dir = 8
},
-/turf/open/floor/plasteel{
- dir = 2
- },
+/turf/open/floor/plasteel,
/area/ai_monitored/security/armory)
"adl" = (
/obj/machinery/door/poddoor/shutters{
@@ -1514,15 +1338,16 @@
/turf/open/floor/carpet,
/area/crew_quarters/heads/hos)
"adq" = (
-/obj/structure/table/wood,
-/obj/item/instrument/guitar{
- pixel_x = -7
+/obj/machinery/computer/slot_machine{
+ balance = 15;
+ money = 500;
+ pixel_x = -5
},
-/obj/item/instrument/eguitar{
- pixel_x = 5
+/obj/structure/sign/poster/contraband/robust_softdrinks{
+ pixel_x = -32
},
/turf/open/floor/wood,
-/area/crew_quarters/theatre)
+/area/crew_quarters/bar)
"adr" = (
/obj/structure/sign/warning/vacuum/external{
pixel_x = -32
@@ -1700,9 +1525,7 @@
/area/security/prison)
"adK" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on,
-/obj/effect/turf_decal/stripes/line{
- dir = 2
- },
+/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/ai_monitored/security/armory)
"adL" = (
@@ -1731,8 +1554,8 @@
/area/crew_quarters/heads/hos)
"adN" = (
/obj/machinery/power/apc{
- dir = 8;
areastring = "/area/crew_quarters/heads/hos";
+ dir = 8;
name = "Head of Security's Office APC";
pixel_x = -24
},
@@ -1742,11 +1565,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/carpet,
/area/crew_quarters/heads/hos)
-"adO" = (
-/obj/structure/chair/stool,
-/obj/effect/landmark/event_spawn,
-/turf/open/floor/plasteel,
-/area/security/prison)
"adP" = (
/obj/structure/cable{
icon_state = "2-8"
@@ -1755,9 +1573,7 @@
/turf/open/floor/carpet,
/area/crew_quarters/heads/hos)
"adQ" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 2
- },
+/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/ai_monitored/security/armory)
"adR" = (
@@ -1886,16 +1702,18 @@
/turf/open/floor/plasteel/dark,
/area/security/execution/transfer)
"aef" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/tile/red{
dir = 1
},
-/obj/effect/turf_decal/tile/red,
/obj/effect/turf_decal/tile/red{
dir = 8
},
-/obj/structure/cable{
- icon_state = "1-2"
- },
+/obj/structure/table,
+/obj/item/restraints/handcuffs,
/turf/open/floor/plasteel,
/area/security/prison)
"aeg" = (
@@ -2040,13 +1858,12 @@
/area/security/prison)
"aer" = (
/obj/machinery/firealarm{
- dir = 2;
pixel_y = 24
},
/obj/machinery/power/apc{
+ areastring = "/area/security/prison";
dir = 4;
name = "Prison Wing APC";
- areastring = "/area/security/prison";
pixel_x = 24
},
/obj/structure/cable{
@@ -2065,11 +1882,12 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/machinery/suit_storage_unit/security,
/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
+/obj/structure/rack,
+/obj/structure/window/reinforced{
dir = 8
},
+/obj/item/key/security,
/turf/open/floor/plasteel,
/area/ai_monitored/security/armory)
"aet" = (
@@ -2082,11 +1900,16 @@
/obj/structure/cable{
icon_state = "1-8"
},
-/obj/machinery/suit_storage_unit/security,
/obj/effect/turf_decal/tile/red,
/obj/effect/turf_decal/tile/red{
dir = 8
},
+/obj/structure/rack,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/item/storage/box/handcuffs,
+/obj/item/storage/box/handcuffs,
/turf/open/floor/plasteel,
/area/ai_monitored/security/armory)
"aev" = (
@@ -2145,7 +1968,8 @@
"aeB" = (
/obj/structure/table,
/obj/item/stack/packageWrap,
-/obj/item/pen,
+/obj/item/stack/packageWrap,
+/obj/item/hand_labeler,
/turf/open/floor/plasteel,
/area/security/main)
"aeC" = (
@@ -2155,31 +1979,6 @@
},
/turf/open/floor/plating,
/area/maintenance/fore/secondary)
-"aeD" = (
-/obj/machinery/door/airlock/security{
- name = "Firing Range";
- req_access_txt = "2"
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel,
-/area/security/prison)
-"aeE" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/obj/machinery/light/small{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/security/prison)
-"aeF" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/security/prison)
"aeG" = (
/obj/structure/cable,
/obj/machinery/power/solar{
@@ -2255,13 +2054,20 @@
/turf/open/floor/plasteel/dark,
/area/security/execution/transfer)
"aeM" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 5
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/structure/cable{
+ icon_state = "4-8"
},
-/obj/structure/window/reinforced{
- dir = 4
+/obj/effect/turf_decal/tile/red{
+ dir = 1
},
-/turf/open/floor/plating,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel,
/area/security/prison)
"aeN" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -2382,6 +2188,7 @@
pixel_x = 3;
pixel_y = -3
},
+/obj/item/storage/toolbox/drone,
/turf/open/floor/plasteel/showroomfloor,
/area/security/warden)
"aeX" = (
@@ -2444,8 +2251,6 @@
/area/security/main)
"afd" = (
/obj/item/radio/intercom{
- freerange = 0;
- frequency = 1459;
name = "Station Intercom (General)";
pixel_x = 29
},
@@ -2552,10 +2357,6 @@
},
/turf/open/floor/plasteel,
/area/security/main)
-"afn" = (
-/obj/structure/table,
-/turf/open/floor/plasteel/showroomfloor,
-/area/security/warden)
"afo" = (
/obj/machinery/door/airlock/external{
name = "Escape Pod Three"
@@ -2576,20 +2377,6 @@
},
/turf/open/space/basic,
/area/space)
-"afq" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
-/turf/open/floor/plasteel,
-/area/security/prison)
-"afr" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/security/prison)
-"afs" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/security/prison)
"aft" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 5
@@ -2646,16 +2433,17 @@
/turf/open/floor/plasteel/dark,
/area/security/execution/transfer)
"afz" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
+/obj/effect/turf_decal/tile/red{
+ dir = 1
},
-/obj/machinery/door/window/westleft{
- base_state = "right";
- dir = 4;
- icon_state = "right";
- name = "Shooting Range"
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
},
-/turf/open/floor/plating,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
/area/security/prison)
"afA" = (
/turf/closed/wall/r_wall,
@@ -2899,16 +2687,6 @@
/obj/machinery/atmospherics/pipe/manifold4w/general/visible,
/turf/open/floor/plasteel,
/area/engine/atmos)
-"age" = (
-/obj/machinery/door/window/southleft{
- name = "Target Storage"
- },
-/obj/item/target/clown,
-/obj/item/target/clown,
-/obj/item/target,
-/obj/item/target,
-/turf/open/floor/plating,
-/area/security/prison)
"agf" = (
/obj/structure/table,
/obj/item/stack/sheet/metal,
@@ -2924,9 +2702,8 @@
/obj/structure/closet/secure_closet/injection,
/obj/structure/cable,
/obj/machinery/power/apc{
- dir = 2;
- name = "Prisoner Transfer Centre";
areastring = "/area/security/execution/transfer";
+ name = "Prisoner Transfer Centre";
pixel_y = -27
},
/turf/open/floor/plasteel/dark,
@@ -3034,9 +2811,7 @@
icon_state = "2-4"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/effect/turf_decal/stripes/line{
- dir = 2
- },
+/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/ai_monitored/security/armory)
"agr" = (
@@ -3054,24 +2829,13 @@
/turf/open/floor/plasteel/showroomfloor,
/area/security/warden)
"agu" = (
-/obj/structure/table,
-/obj/machinery/recharger,
/obj/machinery/airalarm{
dir = 8;
pixel_x = 24
},
+/obj/machinery/suit_storage_unit/security,
/turf/open/floor/plasteel/showroomfloor,
/area/security/warden)
-"agv" = (
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/obj/structure/cable{
- icon_state = "2-4"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/turf/open/floor/plasteel,
-/area/security/prison)
"agw" = (
/obj/structure/table,
/obj/machinery/syndicatebomb/training,
@@ -3085,6 +2849,7 @@
/obj/effect/turf_decal/tile/red{
dir = 8
},
+/obj/machinery/syndicatebomb/training,
/turf/open/floor/plasteel,
/area/security/main)
"agx" = (
@@ -3159,8 +2924,13 @@
/area/security/brig)
"agE" = (
/obj/structure/table,
-/obj/item/folder/red,
-/obj/item/pen,
+/obj/item/storage/fancy/donut_box{
+ pixel_y = 10
+ },
+/obj/item/storage/fancy/donut_box,
+/obj/item/storage/fancy/donut_box{
+ pixel_y = -10
+ },
/turf/open/floor/plasteel,
/area/security/main)
"agF" = (
@@ -3195,15 +2965,6 @@
},
/turf/open/floor/plasteel,
/area/security/main)
-"agH" = (
-/obj/machinery/door/window/southright{
- name = "Target Storage"
- },
-/obj/item/target/alien,
-/obj/item/target/alien,
-/obj/item/target/syndicate,
-/turf/open/floor/plating,
-/area/security/prison)
"agI" = (
/obj/machinery/airalarm{
pixel_y = 23
@@ -3333,11 +3094,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/security/warden)
-"agX" = (
-/obj/structure/table,
-/obj/machinery/recharger,
-/turf/open/floor/plasteel/showroomfloor,
-/area/security/warden)
"agY" = (
/obj/structure/table,
/obj/item/storage/fancy/donut_box,
@@ -3402,14 +3158,21 @@
/turf/open/floor/plasteel,
/area/security/main)
"ahh" = (
+/obj/item/paper_bin/bundlenatural{
+ pixel_x = 6;
+ pixel_y = 4
+ },
+/obj/item/paper_bin{
+ pixel_x = -6;
+ pixel_y = 4
+ },
+/obj/item/pen/fountain,
+/obj/item/folder/red,
/obj/structure/disposalpipe/segment{
dir = 4
},
+/obj/item/pen,
/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = -3;
- pixel_y = 7
- },
/turf/open/floor/plasteel,
/area/security/main)
"ahi" = (
@@ -3517,8 +3280,6 @@
/area/security/brig)
"ahs" = (
/obj/item/radio/intercom{
- freerange = 0;
- frequency = 1459;
name = "Station Intercom (General)";
pixel_y = 24
},
@@ -3563,9 +3324,9 @@
/area/security/brig)
"ahv" = (
/obj/machinery/power/apc{
+ areastring = "/area/security/warden";
dir = 8;
name = "Brig Control APC";
- areastring = "/area/security/warden";
pixel_x = -24
},
/obj/structure/cable{
@@ -3573,15 +3334,6 @@
},
/turf/open/floor/plasteel/showroomfloor,
/area/security/warden)
-"ahw" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/obj/machinery/light/small{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/security/prison)
"ahx" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -3649,9 +3401,7 @@
/area/security/main)
"ahD" = (
/obj/machinery/door/window/westleft{
- base_state = "left";
dir = 4;
- icon_state = "left";
name = "Brig Infirmary"
},
/obj/effect/turf_decal/tile/red,
@@ -3784,9 +3534,9 @@
/area/security/main)
"ahN" = (
/obj/machinery/power/apc{
+ areastring = "/area/security/main";
dir = 4;
name = "Security Office APC";
- areastring = "/area/security/main";
pixel_x = 24
},
/obj/structure/cable{
@@ -3813,6 +3563,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/item/book/manual/wiki/security_space_law,
/turf/open/floor/plasteel/showroomfloor,
/area/security/warden)
"ahR" = (
@@ -3895,6 +3646,9 @@
/obj/effect/turf_decal/tile/red{
dir = 4
},
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
/turf/open/floor/plasteel,
/area/security/brig)
"ahZ" = (
@@ -3966,14 +3720,18 @@
/turf/open/floor/plasteel/white,
/area/security/brig)
"aie" = (
-/obj/structure/table,
-/obj/item/folder/red,
-/obj/item/pen,
-/obj/item/hand_labeler,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/item/book/manual/wiki/security_space_law,
+/obj/structure/table,
+/obj/machinery/recharger{
+ pixel_x = -6;
+ pixel_y = 3
+ },
+/obj/machinery/recharger{
+ pixel_x = 6;
+ pixel_y = 3
+ },
/turf/open/floor/plasteel/showroomfloor,
/area/security/warden)
"aif" = (
@@ -4475,7 +4233,6 @@
"aje" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/obj/machinery/firealarm{
- dir = 2;
pixel_y = 24
},
/obj/effect/turf_decal/tile/red{
@@ -4535,8 +4292,6 @@
/area/security/courtroom)
"ajj" = (
/obj/item/radio/intercom{
- broadcasting = 0;
- listening = 1;
name = "Station Intercom (General)";
pixel_y = 20
},
@@ -4590,10 +4345,10 @@
/turf/open/floor/plasteel/dark,
/area/security/courtroom)
"ajq" = (
-/obj/structure/cable{
- icon_state = "0-2"
- },
/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
/turf/open/space,
/area/solar/port/fore)
"ajr" = (
@@ -4605,18 +4360,27 @@
/turf/open/floor/plasteel,
/area/security/processing)
"ajt" = (
-/obj/effect/turf_decal/stripes/line,
-/turf/open/floor/plating,
-/area/security/prison)
-"aju" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 6
+/obj/structure/sign/warning/securearea{
+ pixel_x = 32
},
-/obj/structure/window/reinforced{
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/turf/open/floor/plating,
-/area/security/prison)
+/obj/machinery/camera{
+ c_tag = "Labor Shuttle Dock North"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel,
+/area/security/processing)
+"aju" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/security/processing)
"ajv" = (
/obj/machinery/light{
dir = 8
@@ -4643,7 +4407,6 @@
/area/security/brig)
"ajx" = (
/obj/machinery/firealarm{
- dir = 2;
pixel_y = 24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -4660,9 +4423,9 @@
/area/security/brig)
"ajy" = (
/obj/machinery/power/apc{
+ areastring = "/area/security/brig";
dir = 1;
name = "Brig APC";
- areastring = "/area/security/brig";
pixel_y = 24
},
/obj/structure/cable{
@@ -4711,13 +4474,6 @@
/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,
/turf/open/floor/plasteel,
/area/security/brig)
-"ajC" = (
-/obj/item/storage/toolbox/drone,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/ai_monitored/security/armory)
"ajD" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -4740,9 +4496,7 @@
/area/security/courtroom)
"ajF" = (
/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
-/obj/effect/turf_decal/tile/red{
- dir = 2
- },
+/obj/effect/turf_decal/tile/red,
/turf/open/floor/plasteel,
/area/security/brig)
"ajG" = (
@@ -4824,9 +4578,7 @@
"ajO" = (
/obj/structure/table/wood,
/obj/item/radio/intercom{
- broadcasting = 0;
dir = 8;
- listening = 1;
name = "Station Intercom (Court)"
},
/obj/effect/turf_decal/tile/neutral{
@@ -4930,29 +4682,6 @@
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
/turf/open/floor/plating,
/area/maintenance/solars/port/fore)
-"ajX" = (
-/obj/structure/table,
-/obj/structure/cable{
- icon_state = "0-2"
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/machinery/recharger,
-/obj/item/gun/energy/laser/practice,
-/obj/item/gun/energy/laser/practice,
-/turf/open/floor/plasteel,
-/area/security/prison)
-"ajY" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/turf/open/floor/plasteel,
-/area/security/prison)
"ajZ" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/sign/warning/vacuum/external{
@@ -4977,18 +4706,23 @@
/area/security/processing)
"akc" = (
/obj/structure/cable{
- icon_state = "1-2"
+ icon_state = "4-8"
},
-/obj/machinery/airalarm{
- dir = 8;
- pixel_x = 24
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
},
/turf/open/floor/plasteel,
-/area/security/prison)
+/area/security/processing)
"akd" = (
-/obj/structure/lattice,
-/turf/closed/wall,
-/area/security/prison)
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/security/processing)
"ake" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -5027,9 +4761,7 @@
dir = 1
},
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
-/obj/effect/turf_decal/tile/red{
- dir = 2
- },
+/obj/effect/turf_decal/tile/red,
/turf/open/floor/plasteel,
/area/security/brig)
"akh" = (
@@ -5077,9 +4809,7 @@
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 1
},
-/obj/effect/turf_decal/tile/red{
- dir = 2
- },
+/obj/effect/turf_decal/tile/red,
/turf/open/floor/plasteel,
/area/security/brig)
"akl" = (
@@ -5166,13 +4896,16 @@
/turf/open/floor/plasteel,
/area/security/brig)
"aks" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/obj/effect/turf_decal/tile/red{
dir = 8
},
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
/turf/open/floor/plasteel,
/area/security/brig)
"akt" = (
@@ -5189,16 +4922,15 @@
/obj/effect/turf_decal/tile/red{
dir = 8
},
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
/turf/open/floor/plasteel,
/area/security/brig)
"aku" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 1
},
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
/turf/open/floor/plasteel,
/area/security/brig)
"akv" = (
@@ -5233,10 +4965,6 @@
},
/turf/open/floor/plasteel,
/area/security/courtroom)
-"akz" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/turf/open/floor/plasteel,
-/area/security/brig)
"akA" = (
/obj/structure/chair{
dir = 8;
@@ -5257,44 +4985,6 @@
},
/turf/open/floor/plating,
/area/maintenance/solars/port/fore)
-"akC" = (
-/obj/machinery/door/airlock/security{
- name = "Labor Shuttle";
- req_access_txt = "2"
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/turf/open/floor/plasteel,
-/area/security/processing)
-"akD" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/turf/open/floor/plating,
-/area/security/prison)
-"akE" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/security/processing)
-"akF" = (
-/obj/structure/sign/warning/securearea{
- pixel_x = 32
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4
- },
-/obj/machinery/camera{
- c_tag = "Labor Shuttle Dock North"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/turf/open/floor/plasteel,
-/area/security/processing)
"akG" = (
/obj/structure/sign/warning/vacuum/external{
pixel_y = 32
@@ -5315,13 +5005,13 @@
/turf/open/floor/plasteel,
/area/security/processing)
"akJ" = (
-/obj/structure/cable{
- icon_state = "2-4"
+/obj/machinery/light_switch{
+ pixel_x = 27
},
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/structure/cable{
- icon_state = "1-2"
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
},
+/obj/machinery/computer/security/labor,
/turf/open/floor/plasteel,
/area/security/processing)
"akK" = (
@@ -5374,6 +5064,9 @@
/obj/effect/turf_decal/tile/red{
dir = 8
},
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
/turf/open/floor/plasteel,
/area/security/brig)
"akP" = (
@@ -5405,6 +5098,9 @@
/obj/effect/turf_decal/tile/red{
dir = 8
},
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
/turf/open/floor/plasteel,
/area/security/brig)
"akS" = (
@@ -5430,6 +5126,12 @@
/obj/effect/turf_decal/tile/red{
dir = 8
},
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
/turf/open/floor/plasteel,
/area/security/brig)
"akU" = (
@@ -5462,9 +5164,6 @@
name = "Brig";
req_access_txt = "63"
},
-/obj/structure/cable{
- icon_state = "4-8"
- },
/obj/effect/turf_decal/tile/red{
dir = 1
},
@@ -5472,6 +5171,12 @@
/obj/effect/turf_decal/tile/red{
dir = 4
},
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
/turf/open/floor/plasteel,
/area/security/brig)
"akX" = (
@@ -5497,35 +5202,36 @@
/area/security/brig)
"akY" = (
/obj/structure/cable{
- icon_state = "4-8"
+ icon_state = "0-8"
},
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{
icon_state = "1-8"
},
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/security/brig)
-"akZ" = (
-/obj/structure/cable{
- icon_state = "0-8"
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/security/brig)
"ala" = (
/obj/machinery/door/window/brigdoor/security/cell{
+ desc = "A rare fourth cell, known for faulty wiring...";
id = "Cell 4";
name = "Cell 4"
},
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/effect/turf_decal/tile/red,
/obj/effect/turf_decal/tile/red{
dir = 8
},
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
/turf/open/floor/plasteel,
/area/security/brig)
"alb" = (
@@ -5575,19 +5281,6 @@
},
/turf/open/floor/plasteel,
/area/security/courtroom)
-"alf" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/security/brig)
-"alg" = (
-/obj/structure/cable{
- icon_state = "0-2"
- },
-/obj/structure/lattice/catwalk,
-/turf/open/space,
-/area/solar/starboard/fore)
"alh" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -5605,42 +5298,12 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/maintenance/port/fore)
-"alj" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/security/processing)
"alk" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{
dir = 1
},
/turf/open/floor/plasteel,
/area/engine/atmos)
-"all" = (
-/obj/machinery/light_switch{
- pixel_x = 27
- },
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 4
- },
-/obj/machinery/computer/security/labor,
-/turf/open/floor/plasteel,
-/area/security/processing)
-"alm" = (
-/obj/machinery/airalarm{
- dir = 8;
- pixel_x = 24
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/structure/chair{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/security/processing)
"aln" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 4
@@ -5652,12 +5315,6 @@
},
/turf/open/floor/plating,
/area/security/processing)
-"alo" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/structure/table,
-/obj/item/storage/box/prisoner,
-/turf/open/floor/plasteel,
-/area/security/processing)
"alp" = (
/turf/open/floor/plating,
/area/security/processing)
@@ -5665,10 +5322,16 @@
/turf/open/floor/plasteel,
/area/security/processing)
"alr" = (
-/obj/structure/target_stake,
-/obj/item/target/syndicate,
-/turf/open/floor/plating,
-/area/security/prison)
+/obj/machinery/airalarm{
+ dir = 8;
+ pixel_x = 24
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/security/processing)
"als" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -5703,7 +5366,6 @@
},
/obj/item/radio/intercom{
desc = "Talk through this. It looks like it has been modified to not broadcast.";
- dir = 2;
name = "Prison Intercom (General)";
pixel_x = -25;
pixel_y = -2;
@@ -5720,25 +5382,12 @@
},
/turf/open/floor/plasteel,
/area/security/brig)
-"alx" = (
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/security/prison)
"aly" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 1
},
/obj/item/radio/intercom{
desc = "Talk through this. It looks like it has been modified to not broadcast.";
- dir = 2;
name = "Prison Intercom (General)";
pixel_x = -25;
pixel_y = -2;
@@ -5756,11 +5405,6 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/machinery/button/flasher{
- id = "brigentry";
- pixel_x = -28;
- pixel_y = -8
- },
/turf/open/floor/plasteel/dark,
/area/security/brig)
"alA" = (
@@ -5801,23 +5445,8 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plating,
/area/security/courtroom)
-"alE" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 1
- },
-/obj/machinery/flasher{
- id = "Cell 4";
- pixel_x = 28
- },
-/obj/machinery/light/small{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/security/brig)
"alF" = (
-/obj/machinery/atmospherics/components/unary/tank/air{
- dir = 2
- },
+/obj/machinery/atmospherics/components/unary/tank/air,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"alG" = (
@@ -5869,15 +5498,17 @@
/obj/structure/cable{
icon_state = "2-8"
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
/turf/open/floor/plating,
/area/maintenance/fore/secondary)
"alL" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/power/apc{
+ areastring = "/area/security/courtroom";
dir = 8;
name = "Courtroom APC";
- areastring = "/area/security/courtroom";
pixel_x = -24
},
/obj/structure/cable{
@@ -5886,33 +5517,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plating,
/area/maintenance/fore/secondary)
-"alM" = (
-/obj/structure/cable{
- icon_state = "1-8"
- },
-/obj/structure/cable{
- icon_state = "0-8"
- },
-/obj/machinery/light{
- dir = 4
- },
-/obj/machinery/power/apc{
- areastring = "/area/security/main";
- dir = 4;
- name = "Firing Range APC";
- pixel_x = 24
- },
-/turf/open/floor/plasteel,
-/area/security/prison)
-"alN" = (
-/obj/machinery/camera{
- c_tag = "Dormitory Toilets";
- dir = 1
- },
-/obj/structure/table,
-/obj/structure/bedsheetbin/towel,
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
"alO" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -5923,8 +5527,7 @@
"alQ" = (
/obj/machinery/power/solar_control{
id = "auxsolareast";
- name = "Port Bow Solar Control";
- track = 0
+ name = "Port Bow Solar Control"
},
/obj/structure/cable{
icon_state = "0-4"
@@ -5968,44 +5571,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
/turf/open/floor/plasteel,
/area/engine/atmos)
-"alY" = (
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/machinery/camera{
- c_tag = "Firing Range";
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/security/prison)
-"alZ" = (
-/obj/structure/table,
-/obj/machinery/atmospherics/components/unary/vent_pump/on,
-/obj/item/clothing/glasses/sunglasses{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/clothing/glasses/sunglasses{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/clothing/ears/earmuffs{
- pixel_x = -3;
- pixel_y = -2
- },
-/obj/item/clothing/ears/earmuffs{
- pixel_x = -3;
- pixel_y = -2
- },
-/obj/machinery/firealarm{
- dir = 4;
- pixel_x = 24
- },
-/turf/open/floor/plasteel,
-/area/security/prison)
"ama" = (
/mob/living/simple_animal/sloth/paperwork,
/turf/open/floor/plasteel,
@@ -6026,17 +5591,11 @@
/turf/open/floor/plasteel,
/area/security/processing)
"amd" = (
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/machinery/computer/arcade{
- icon_state = "arcade";
- dir = 4
- },
-/turf/open/floor/plasteel/white/corner{
- dir = 1
- },
-/area/hallway/secondary/exit)
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/table,
+/obj/item/storage/box/prisoner,
+/turf/open/floor/plasteel,
+/area/security/processing)
"ame" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -6048,7 +5607,6 @@
/area/security/processing)
"amf" = (
/obj/structure/bed,
-/obj/item/bedsheet,
/obj/structure/cable{
icon_state = "1-2"
},
@@ -6056,6 +5614,7 @@
id = "Cell 1";
pixel_x = -28
},
+/obj/item/bedsheet/orange,
/turf/open/floor/plasteel,
/area/security/brig)
"amg" = (
@@ -6067,11 +5626,11 @@
/area/security/brig)
"amh" = (
/obj/structure/bed,
-/obj/item/bedsheet,
/obj/machinery/flasher{
id = "Cell 2";
pixel_x = -28
},
+/obj/item/bedsheet/orange,
/turf/open/floor/plasteel,
/area/security/brig)
"ami" = (
@@ -6083,11 +5642,11 @@
/area/security/brig)
"amj" = (
/obj/structure/bed,
-/obj/item/bedsheet,
/obj/machinery/flasher{
id = "Cell 3";
pixel_x = -28
},
+/obj/item/bedsheet/orange,
/turf/open/floor/plasteel,
/area/security/brig)
"amk" = (
@@ -6098,64 +5657,23 @@
/turf/open/floor/plasteel,
/area/security/brig)
"aml" = (
-/obj/machinery/light/small{
- dir = 8
- },
-/obj/machinery/button/door{
- desc = "A remote control switch for the medbay foyer.";
- id = "outerbrig";
- name = "Brig Exterior Doors Control";
- normaldoorcontrol = 1;
- pixel_x = -26;
- pixel_y = -5;
- req_access_txt = "63"
- },
-/obj/machinery/button/door{
- desc = "A remote control switch for the medbay foyer.";
- id = "innerbrig";
- name = "Brig Interior Doors Control";
- normaldoorcontrol = 1;
- pixel_x = -26;
- pixel_y = 5;
- req_access_txt = "63"
- },
/obj/structure/cable{
- icon_state = "1-2"
+ icon_state = "1-4"
},
/turf/open/floor/plasteel/dark,
/area/security/brig)
-"amm" = (
-/obj/structure/table/reinforced,
-/obj/machinery/door/poddoor/shutters/preopen{
- id = "briggate";
- name = "security shutters"
- },
-/obj/machinery/door/window/eastright{
- name = "Brig Desk";
- req_access_txt = "2"
- },
-/obj/item/restraints/handcuffs,
-/obj/item/radio/off,
-/turf/open/floor/plasteel/dark,
-/area/security/brig)
"amn" = (
-/obj/structure/chair/office/dark{
- dir = 4
+/obj/structure/chair/office/dark,
+/obj/structure/cable{
+ icon_state = "4-8"
},
/turf/open/floor/plasteel/dark,
/area/security/brig)
"amo" = (
-/obj/machinery/flasher{
- id = "brigentry";
- pixel_x = 28
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red,
/obj/effect/turf_decal/tile/red{
dir = 4
},
+/obj/effect/turf_decal/tile/red,
/turf/open/floor/plasteel,
/area/security/brig)
"amp" = (
@@ -6165,19 +5683,6 @@
},
/turf/open/floor/plasteel,
/area/security/brig)
-"amq" = (
-/obj/structure/bed,
-/obj/item/bedsheet,
-/obj/item/radio/intercom{
- desc = "Talk through this. It looks like it has been modified to not broadcast.";
- dir = 2;
- name = "Prison Intercom (General)";
- pixel_x = 25;
- pixel_y = -2;
- prison_radio = 1
- },
-/turf/open/floor/plasteel,
-/area/security/brig)
"amr" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -6215,12 +5720,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/maintenance/solars/starboard/fore)
-"amx" = (
-/obj/structure/chair{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
"amy" = (
/obj/structure/chair/stool{
pixel_y = 8
@@ -6243,17 +5742,6 @@
},
/turf/open/floor/plating,
/area/maintenance/solars/port/fore)
-"amB" = (
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/obj/machinery/computer/arcade{
- icon_state = "arcade";
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/bar)
"amC" = (
/turf/open/floor/plating,
/area/maintenance/port/fore)
@@ -6320,6 +5808,10 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel,
/area/security/processing)
+"amN" = (
+/obj/machinery/suit_storage_unit/security,
+/turf/open/floor/plasteel/showroomfloor,
+/area/security/warden)
"amQ" = (
/obj/structure/cable{
icon_state = "0-4"
@@ -6362,12 +5854,6 @@
name = "Brig Desk";
req_access_txt = "1"
},
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/cable{
- icon_state = "1-8"
- },
/turf/open/floor/plasteel/dark,
/area/security/brig)
"amU" = (
@@ -6393,9 +5879,6 @@
name = "Brig Desk";
req_access_txt = "1"
},
-/obj/structure/cable{
- icon_state = "4-8"
- },
/turf/open/floor/plasteel/dark,
/area/security/brig)
"amW" = (
@@ -6469,14 +5952,7 @@
icon_state = "1-2"
},
/obj/structure/disposalpipe/segment,
-/turf/open/floor/plating,
-/area/maintenance/fore/secondary)
-"and" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plating,
/area/maintenance/fore/secondary)
"ane" = (
@@ -6493,9 +5969,9 @@
icon_state = "0-4"
},
/obj/machinery/power/apc{
+ areastring = "/area/maintenance/solars/port/fore";
dir = 8;
name = "Port Bow Solar APC";
- areastring = "/area/maintenance/solars/port/fore";
pixel_x = -25;
pixel_y = 3
},
@@ -6662,18 +6138,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
-"anB" = (
-/obj/machinery/light{
- dir = 1
- },
-/obj/structure/sign/warning/securearea{
- pixel_y = 32
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/hallway/primary/fore)
"anC" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -6683,8 +6147,8 @@
icon_state = "1-2"
},
/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 1
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
},
/turf/open/floor/plating,
/area/maintenance/fore/secondary)
@@ -6879,8 +6343,7 @@
"aoh" = (
/obj/machinery/power/solar_control{
id = "auxsolareast";
- name = "Starboard Bow Solar Control";
- track = 0
+ name = "Starboard Bow Solar Control"
},
/obj/structure/cable{
icon_state = "0-4"
@@ -7026,8 +6489,10 @@
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
"aoz" = (
-/obj/effect/turf_decal/tile/red{
- dir = 2
+/obj/effect/turf_decal/tile/red,
+/obj/structure/sign/departments/security{
+ pixel_x = 32;
+ pixel_y = -32
},
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
@@ -7037,8 +6502,9 @@
pixel_y = -29
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/turf_decal/tile/red{
- dir = 2
+/obj/effect/turf_decal/tile/red,
+/obj/structure/chair{
+ dir = 1
},
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
@@ -7047,16 +6513,16 @@
dir = 1;
pixel_y = -24
},
-/obj/effect/turf_decal/tile/red{
- dir = 2
+/obj/effect/turf_decal/tile/red,
+/obj/structure/chair{
+ dir = 1
},
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
"aoC" = (
-/obj/machinery/vending/coffee,
-/obj/effect/turf_decal/tile/red{
- dir = 2
- },
+/obj/effect/turf_decal/tile/red,
+/obj/item/storage/box/drinkingglasses,
+/obj/structure/table,
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
"aoD" = (
@@ -7068,23 +6534,20 @@
pixel_x = 5;
pixel_y = -32
},
-/obj/effect/turf_decal/tile/red{
- dir = 2
- },
+/obj/effect/turf_decal/tile/red,
+/obj/structure/reagent_dispensers/water_cooler,
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
"aoE" = (
-/obj/machinery/vending/cigarette,
-/obj/effect/turf_decal/tile/red{
- dir = 2
- },
+/obj/effect/turf_decal/tile/red,
+/obj/item/storage/box/cups,
+/obj/structure/table,
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
"aoF" = (
-/obj/machinery/vending/snack/random,
-/obj/effect/turf_decal/tile/red{
- dir = 2
- },
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/chem_dispenser/drinks,
+/obj/structure/table,
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
"aoG" = (
@@ -7107,22 +6570,12 @@
/obj/structure/cable{
icon_state = "1-8"
},
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
/obj/machinery/light/small{
dir = 4
},
-/obj/machinery/power/apc{
- dir = 2;
- name = "Fitness Room APC";
- areastring = "/area/crew_quarters/fitness";
- pixel_y = -24
+/obj/structure/disposalpipe/segment{
+ dir = 9
},
-/obj/structure/cable{
- icon_state = "0-8"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plating,
/area/maintenance/fore/secondary)
"aoJ" = (
@@ -7252,6 +6705,7 @@
"ape" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/engineering/abandoned{
+ abandoned = 0;
name = "Vacant Office B";
req_access_txt = "32"
},
@@ -7334,9 +6788,9 @@
icon_state = "0-2"
},
/obj/machinery/power/apc{
+ areastring = "/area/maintenance/fore/secondary";
dir = 1;
name = "Fore Maintenance APC";
- areastring = "/area/maintenance/fore/secondary";
pixel_y = 24
},
/obj/structure/disposalpipe/segment{
@@ -7370,34 +6824,19 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 9
},
-/turf/open/floor/plating,
-/area/maintenance/fore/secondary)
-"apv" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Fitness Maintenance";
- req_access_txt = "12"
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/power/apc{
+ areastring = "/area/crew_quarters/fitness";
+ name = "Fitness Room APC";
+ pixel_y = -24
},
/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/turf/open/floor/plating,
-/area/maintenance/fore/secondary)
-"apw" = (
-/obj/machinery/atmospherics/components/binary/pump/on{
- dir = 4;
- name = "Air In"
- },
-/obj/effect/landmark/blobstart,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
+ icon_state = "0-8"
},
/turf/open/floor/plating,
/area/maintenance/fore/secondary)
@@ -7435,9 +6874,9 @@
icon_state = "0-4"
},
/obj/machinery/power/apc{
+ areastring = "/area/maintenance/solars/starboard/fore";
dir = 8;
name = "Starboard Bow Solar APC";
- areastring = "/area/maintenance/solars/starboard/fore";
pixel_x = -25;
pixel_y = 3
},
@@ -7460,6 +6899,7 @@
"apD" = (
/obj/structure/closet/wardrobe/mixed,
/obj/item/clothing/shoes/jackboots,
+/obj/item/coin/silver,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"apE" = (
@@ -7538,12 +6978,10 @@
},
/turf/open/floor/plating,
/area/maintenance/fore)
-"apX" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/turf/closed/wall,
-/area/crew_quarters/fitness)
"apY" = (
-/obj/structure/closet/secure_closet/personal,
+/obj/machinery/light/small{
+ dir = 1
+ },
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
"apZ" = (
@@ -7553,9 +6991,10 @@
/turf/open/floor/wood,
/area/lawoffice)
"aqa" = (
-/obj/structure/table,
-/obj/machinery/light/small{
- dir = 8
+/obj/structure/closet/secure_closet/personal{
+ desc = "Swipe your ID on this locker to claim it. You can drag it around and use it as your own personal storage area. Very useful.";
+ name = "Personal ID-Locked Locker";
+ pixel_y = 10
},
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
@@ -7639,9 +7078,8 @@
/area/maintenance/fore/secondary)
"aqk" = (
/obj/machinery/power/apc{
- dir = 2;
- name = "Dormitory APC";
areastring = "/area/crew_quarters/dorms";
+ name = "Dormitory APC";
pixel_y = -24
},
/obj/structure/cable{
@@ -7653,24 +7091,18 @@
/turf/open/floor/plating,
/area/maintenance/fore/secondary)
"aql" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
/obj/structure/disposalpipe/segment{
dir = 6
},
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/obj/structure/cable{
- icon_state = "2-4"
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
- dir = 1
- },
/turf/open/floor/plating,
/area/maintenance/fore/secondary)
"aqm" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
/obj/structure/cable{
icon_state = "4-8"
},
@@ -7698,8 +7130,10 @@
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
"aqo" = (
-/obj/structure/chair/stool{
- pixel_y = 8
+/obj/structure/closet/secure_closet/personal/cabinet{
+ desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here.";
+ name = "Personal ID-Locked Closet";
+ pixel_y = 15
},
/turf/open/floor/wood,
/area/crew_quarters/dorms)
@@ -7726,25 +7160,24 @@
},
/turf/open/floor/plating,
/area/maintenance/fore/secondary)
-"aqr" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 6
- },
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/crew_quarters/fitness)
"aqs" = (
+/obj/machinery/door/airlock{
+ id_tag = "Room Two";
+ name = "Room Seven - Luxury Suite"
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/dark,
+/area/crew_quarters/dorms)
+"aqu" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/crew_quarters/fitness)
-"aqu" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 10
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "holoprivacy";
+ name = "Holodeck Shutters"
},
-/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/crew_quarters/fitness)
"aqv" = (
@@ -7787,27 +7220,6 @@
/obj/structure/closet/firecloset,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
-"aqB" = (
-/obj/effect/decal/cleanable/cobweb/cobweb2,
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
-"aqC" = (
-/obj/machinery/computer/slot_machine{
- balance = 15;
- money = 500
- },
-/obj/item/coin/iron,
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
-"aqD" = (
-/obj/effect/decal/cleanable/cobweb,
-/obj/item/coin/gold,
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
-"aqE" = (
-/obj/effect/landmark/xeno_spawn,
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
"aqG" = (
/obj/docking_port/stationary/random{
dir = 4;
@@ -7844,16 +7256,16 @@
"aqO" = (
/obj/structure/closet,
/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 2;
- name = "2maintenance loot spawner"
+ lootcount = 3;
+ name = "3maintenance loot spawner"
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aqP" = (
/obj/machinery/power/apc{
+ areastring = "/area/maintenance/port/fore";
dir = 1;
name = "Port Bow Maintenance APC";
- areastring = "/area/maintenance/port/fore";
pixel_x = -1;
pixel_y = 26
},
@@ -7882,9 +7294,9 @@
/area/security/processing)
"aqT" = (
/obj/machinery/power/apc{
+ areastring = "/area/security/processing";
dir = 8;
name = "Labor Shuttle Dock APC";
- areastring = "/area/security/processing";
pixel_x = -24
},
/obj/structure/cable,
@@ -7973,8 +7385,7 @@
/obj/machinery/airalarm{
pixel_y = 23
},
-/obj/structure/closet/secure_closet/personal/cabinet,
-/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/structure/table/wood,
/turf/open/floor/wood,
/area/crew_quarters/dorms)
"arj" = (
@@ -7984,43 +7395,15 @@
/obj/machinery/airalarm{
pixel_y = 23
},
-/obj/structure/closet/secure_closet/personal/cabinet,
/turf/open/floor/wood,
/area/crew_quarters/dorms)
-"arl" = (
-/obj/structure/disposalpipe/junction/flip{
- dir = 2
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
"arm" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/crew_quarters/fitness)
-"arn" = (
-/obj/structure/closet/athletic_mixed,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 5
+/obj/machinery/light/small{
+ dir = 1;
+ light_color = "#ffc1c1"
},
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
+/obj/machinery/airalarm{
+ pixel_y = 24
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
@@ -8050,19 +7433,7 @@
icon_state = "1-2"
},
/obj/structure/cable{
- icon_state = "2-8"
- },
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
-"ars" = (
-/obj/machinery/power/apc{
- dir = 1;
- name = "Starboard Bow Maintenance APC";
- areastring = "/area/maintenance/starboard/fore";
- pixel_y = 24
- },
-/obj/structure/cable{
- icon_state = "0-4"
+ icon_state = "2-4"
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
@@ -8073,6 +7444,9 @@
/obj/machinery/camera{
c_tag = "Fore Starboard Solar Access"
},
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"aru" = (
@@ -8098,12 +7472,6 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
-"ary" = (
-/obj/structure/closet,
-/obj/item/coin/iron,
-/obj/effect/spawner/lootdrop/maintenance,
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
"arz" = (
/obj/item/coin/gold,
/obj/item/coin/iron,
@@ -8112,6 +7480,7 @@
"arA" = (
/obj/structure/closet,
/obj/effect/spawner/lootdrop/maintenance,
+/obj/item/coin/plasma,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"arB" = (
@@ -8204,9 +7573,10 @@
/turf/open/floor/plating,
/area/maintenance/port/fore)
"arO" = (
-/obj/machinery/monkey_recycler,
-/obj/item/reagent_containers/food/snacks/monkeycube,
-/obj/item/reagent_containers/food/snacks/monkeycube,
+/obj/item/clothing/gloves/color/rainbow,
+/obj/item/clothing/head/soft/rainbow,
+/obj/item/clothing/shoes/sneakers/rainbow,
+/obj/item/clothing/under/color/rainbow,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"arP" = (
@@ -8235,7 +7605,7 @@
},
/obj/structure/filingcabinet/employment,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/wood,
@@ -8283,19 +7653,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
-"asb" = (
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/obj/machinery/disposal/bin,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
"asc" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -8347,6 +7704,15 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
+/obj/structure/sign/warning/fire{
+ desc = "A sign that states the labeled room's number.";
+ dir = 4;
+ icon_state = "roomnum";
+ name = "Room Number 3";
+ pixel_x = -30;
+ pixel_y = -7
+ },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"ash" = (
@@ -8381,21 +7747,29 @@
/turf/open/floor/plating,
/area/security/vacantoffice/b)
"ask" = (
-/obj/structure/dresser,
+/obj/item/flashlight/lamp/green{
+ pixel_x = -3;
+ pixel_y = 22
+ },
+/obj/structure/dresser{
+ desc = "There's plenty of clothes here to change into! It has a surprising amount of variety, too.";
+ name = "Dresser";
+ pixel_y = 7
+ },
/turf/open/floor/wood,
/area/crew_quarters/dorms)
"asl" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plating,
/area/security/vacantoffice/b)
"asm" = (
-/obj/machinery/light/small{
- dir = 1
- },
/obj/machinery/atmospherics/components/unary/vent_pump/on,
+/obj/structure/chair/comfy/brown{
+ dir = 4
+ },
/turf/open/floor/wood,
/area/crew_quarters/dorms)
"asn" = (
@@ -8413,91 +7787,18 @@
},
/turf/open/floor/plating,
/area/maintenance/fore)
-"asp" = (
-/obj/structure/table/wood,
-/turf/open/floor/wood,
-/area/crew_quarters/dorms)
-"asq" = (
-/obj/machinery/camera{
- c_tag = "Fitness Room"
- },
-/obj/structure/closet/masks,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
-"asr" = (
-/obj/structure/closet/boxinggloves,
-/obj/machinery/light{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/item/clothing/shoes/jackboots,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
-"ass" = (
-/obj/structure/closet/lasertag/red,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 10
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
"ast" = (
-/obj/structure/closet/lasertag/blue,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
-"asu" = (
/obj/structure/bed,
-/obj/machinery/button/door{
- id = "Dorm5";
- name = "Cabin Bolt Control";
- normaldoorcontrol = 1;
- pixel_y = -25;
- specialfunctions = 4
+/obj/item/bedsheet/random,
+/turf/open/floor/carpet,
+/area/crew_quarters/dorms)
+"asu" = (
+/obj/machinery/light/small{
+ dir = 4;
+ light_color = "#d8b1b1"
},
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
-/obj/effect/spawner/lootdrop/bedsheet,
/turf/open/floor/wood,
/area/crew_quarters/dorms)
-"asv" = (
-/obj/structure/table,
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 3;
- name = "3maintenance loot spawner"
- },
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
"asw" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -8581,41 +7882,13 @@
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
-"asL" = (
-/obj/structure/bed,
-/obj/machinery/button/door{
- id = "Dorm6";
- name = "Cabin Bolt Control";
- normaldoorcontrol = 1;
- pixel_y = -25;
- specialfunctions = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
-/obj/effect/spawner/lootdrop/bedsheet,
-/turf/open/floor/wood,
-/area/crew_quarters/dorms)
-"asM" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
- dir = 8
- },
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
"asN" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4
+/obj/machinery/airalarm{
+ dir = 4;
+ pixel_x = -23
},
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
+/turf/open/floor/carpet,
+/area/crew_quarters/dorms)
"asO" = (
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/plating,
@@ -8643,49 +7916,30 @@
/turf/open/floor/plating,
/area/maintenance/fore)
"asU" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/spawner/lootdrop/maintenance{
+ lootcount = 8;
+ name = "8maintenance loot spawner"
+ },
/turf/open/floor/plasteel,
/area/security/vacantoffice/b)
-"asV" = (
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
"asW" = (
/obj/machinery/light/small{
dir = 8
},
-/obj/structure/rack,
-/obj/item/storage/briefcase,
/turf/open/floor/plasteel/grimy,
/area/security/detectives_office)
-"asX" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
-"asY" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 9
- },
-/turf/open/floor/plating,
-/area/crew_quarters/fitness)
"asZ" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
},
-/obj/machinery/vr_sleeper,
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
- dir = 4
+/obj/structure/closet/wardrobe/white,
+/obj/item/clothing/under/waiter,
+/obj/item/clothing/under/waiter,
+/obj/item/clothing/under/waiter,
+/obj/structure/sign/poster/contraband/lizard{
+ pixel_x = -32
},
+/obj/item/clothing/suit/straight_jacket,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
"ata" = (
@@ -8725,9 +7979,6 @@
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
"atf" = (
-/obj/structure/chair/stool{
- pixel_y = 8
- },
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
},
@@ -8736,12 +7987,12 @@
"atg" = (
/obj/machinery/door/airlock{
id_tag = "Dorm4";
- name = "Dorm 4"
+ name = "Room Three"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/turf/open/floor/plasteel,
+/turf/open/floor/plasteel/dark,
/area/crew_quarters/dorms)
"ath" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -8862,6 +8113,7 @@
/area/maintenance/starboard/fore)
"atA" = (
/obj/structure/table,
+/obj/item/paicard,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"atB" = (
@@ -8956,14 +8208,6 @@
},
/turf/closed/wall,
/area/maintenance/port/fore)
-"atQ" = (
-/obj/machinery/door/airlock{
- id_tag = "Dorm5";
- name = "Cabin 1"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/turf/open/floor/wood,
-/area/crew_quarters/dorms)
"atR" = (
/obj/effect/landmark/carpspawn,
/obj/structure/lattice,
@@ -8972,11 +8216,6 @@
"atS" = (
/turf/closed/wall,
/area/space/nearstation)
-"atT" = (
-/obj/structure/closet,
-/obj/effect/spawner/lootdrop/maintenance,
-/turf/open/floor/plating,
-/area/maintenance/port/fore)
"atU" = (
/obj/structure/rack,
/obj/effect/spawner/lootdrop/maintenance{
@@ -8985,23 +8224,6 @@
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
-"atV" = (
-/obj/machinery/airalarm{
- dir = 4;
- pixel_x = -23
- },
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
"atW" = (
/obj/structure/chair/stool,
/turf/open/floor/plating,
@@ -9011,17 +8233,23 @@
/turf/closed/wall,
/area/security/vacantoffice/b)
"atZ" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/public/glass{
- name = "Holodeck Door"
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
"aua" = (
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/closet/wardrobe/mixed,
+/obj/item/clothing/under/kilt,
+/obj/item/clothing/under/kilt,
+/obj/item/clothing/under/skirt/purple,
+/obj/item/clothing/head/beret,
+/obj/item/clothing/head/beret,
+/obj/item/clothing/head/beret,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
"aub" = (
@@ -9145,61 +8373,36 @@
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/turf/open/floor/plating,
/area/maintenance/fore)
-"aup" = (
-/obj/machinery/door/airlock{
- id_tag = "Dorm6";
- name = "Cabin 2"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/turf/open/floor/wood,
-/area/crew_quarters/dorms)
"auq" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/closed/wall,
/area/security/vacantoffice/b)
"aur" = (
-/obj/machinery/door/window/eastright{
- base_state = "left";
- dir = 8;
- icon_state = "left";
- name = "Fitness Ring"
+/obj/machinery/button/door{
+ id = "Room One";
+ name = "Door Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = -25;
+ specialfunctions = 4
},
-/obj/structure/window/reinforced{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/crew_quarters/fitness)
-"aus" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
+/turf/open/floor/carpet,
+/area/crew_quarters/dorms)
"aut" = (
-/obj/structure/window/reinforced{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/crew_quarters/fitness)
-"auu" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+/obj/structure/chair/comfy/black{
dir = 4
},
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
+/obj/item/radio/intercom{
+ name = "Station Intercom (General)";
+ pixel_y = -29
+ },
+/turf/open/floor/carpet,
+/area/crew_quarters/dorms)
"auv" = (
-/obj/structure/window/reinforced{
- dir = 4
+/obj/structure/chair/comfy/black{
+ dir = 8
},
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/crew_quarters/fitness)
+/turf/open/floor/carpet,
+/area/crew_quarters/dorms)
"auw" = (
/obj/structure/bed,
/obj/machinery/airalarm{
@@ -9220,24 +8423,12 @@
/area/crew_quarters/dorms)
"aux" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
+/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
-"auy" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/public/glass{
- name = "Holodeck Door"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 5
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
"auz" = (
/obj/machinery/camera{
c_tag = "Holodeck"
@@ -9250,23 +8441,21 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
-"auA" = (
-/obj/machinery/light/small{
+"auB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
dir = 1
},
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
dir = 4
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
-"auB" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/crew_quarters/fitness)
-"auC" = (
-/obj/machinery/light/small,
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
"auD" = (
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/plating,
@@ -9342,31 +8531,22 @@
/obj/machinery/light{
dir = 8
},
-/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
-/turf/open/floor/plasteel,
-/area/crew_quarters/dorms)
-"auS" = (
-/obj/machinery/requests_console{
- department = "Crew Quarters";
- pixel_y = 30
- },
-/obj/machinery/camera{
- c_tag = "Dormitory North"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 4
},
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
+/obj/structure/sign/warning/fire{
+ desc = "A sign that states the labeled room's number.";
+ dir = 1;
+ icon_state = "roomnum";
+ name = "Room Number 2";
+ pixel_x = -30;
+ pixel_y = -7
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
@@ -9376,39 +8556,10 @@
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
-"auU" = (
-/obj/machinery/firealarm{
- dir = 2;
- pixel_y = 24
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/dorms)
"auV" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/closed/wall,
/area/maintenance/port/fore)
-"auW" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/dorms)
"auX" = (
/obj/structure/mirror{
icon_state = "mirror_broke";
@@ -9475,14 +8626,12 @@
/turf/open/floor/plating,
/area/maintenance/fore)
"avg" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
+/obj/machinery/door/airlock{
+ id_tag = "Dorm5";
+ name = "Room Four"
},
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/plasteel,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/dark,
/area/crew_quarters/dorms)
"avh" = (
/obj/structure/cable{
@@ -9490,18 +8639,18 @@
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/power/apc{
+ areastring = "/area/security/vacantoffice/b";
dir = 8;
name = "Vacant Office B APC";
- areastring = "/area/security/vacantoffice/b";
pixel_x = -24
},
/turf/open/floor/plating,
/area/maintenance/fore)
"avi" = (
/obj/machinery/power/apc{
+ areastring = "/area/lawoffice";
dir = 1;
name = "Law Office APC";
- areastring = "/area/lawoffice";
pixel_y = 24
},
/obj/structure/cable{
@@ -9512,7 +8661,7 @@
/area/maintenance/fore)
"avj" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/cable{
@@ -9532,45 +8681,13 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
-"avl" = (
-/obj/structure/extinguisher_cabinet{
- pixel_x = -5;
- pixel_y = 30
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/dorms)
-"avm" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/dorms)
"avn" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 4
+/obj/machinery/door/airlock{
+ id_tag = "Dorm6";
+ name = "Room Five"
},
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/plasteel,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/dark,
/area/crew_quarters/dorms)
"avo" = (
/obj/structure/sign/warning/electricshock,
@@ -9597,8 +8714,7 @@
pixel_y = 24
},
/obj/machinery/camera{
- c_tag = "Detective's Office";
- dir = 2
+ c_tag = "Detective's Office"
},
/turf/open/floor/plasteel/grimy,
/area/security/detectives_office)
@@ -9617,68 +8733,74 @@
/area/maintenance/fore)
"avt" = (
/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,
-/turf/open/floor/plasteel,
-/area/crew_quarters/dorms)
-"avu" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"avv" = (
-/obj/structure/chair/stool{
- pixel_y = 8
+/obj/machinery/camera{
+ c_tag = "Dorms West"
},
-/obj/effect/landmark/start/assistant,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+/obj/effect/turf_decal/tile/neutral{
dir = 4
},
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"avw" = (
/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
+/obj/machinery/door/airlock/maintenance{
+ name = "Dormitories Maintenance";
+ req_access_txt = "12"
},
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
-"avx" = (
-/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
-/area/crew_quarters/fitness)
+/area/maintenance/fore/secondary)
"avy" = (
-/obj/structure/window/reinforced{
- dir = 8
+/obj/machinery/door/airlock{
+ id_tag = "Room One";
+ name = "Room Six - Luxury Suite"
},
+/obj/machinery/door/firedoor,
/turf/open/floor/plasteel/dark,
-/area/crew_quarters/fitness)
+/area/crew_quarters/dorms)
"avz" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
},
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
+/obj/machinery/light{
+ dir = 1;
+ light_color = "#cee5d2"
},
-/turf/open/floor/plasteel/dark,
-/area/crew_quarters/fitness)
+/obj/structure/table,
+/obj/structure/bedsheetbin/color,
+/turf/open/floor/plasteel,
+/area/crew_quarters/dorms)
"avA" = (
-/obj/structure/window/reinforced{
+/obj/effect/turf_decal/tile/neutral{
dir = 4
},
-/turf/open/floor/plasteel/dark,
-/area/crew_quarters/fitness)
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/obj/structure/table,
+/obj/structure/bedsheetbin/towel,
+/turf/open/floor/plasteel,
+/area/crew_quarters/dorms)
"avB" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{
@@ -9746,9 +8868,9 @@
/area/maintenance/department/electrical)
"avL" = (
/obj/machinery/power/apc{
+ areastring = "/area/maintenance/department/electrical";
dir = 1;
name = "Electrical Maintenance APC";
- areastring = "/area/maintenance/department/electrical";
pixel_y = 24
},
/obj/structure/cable{
@@ -9777,8 +8899,6 @@
},
/obj/item/multitool,
/obj/item/radio/intercom{
- freerange = 0;
- frequency = 1459;
name = "Station Intercom (General)";
pixel_x = 29
},
@@ -9810,9 +8930,20 @@
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
"avR" = (
-/obj/structure/table/wood,
-/obj/item/storage/firstaid/regular,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/obj/structure/sign/warning/fire{
+ desc = "A sign that states the labeled room's number.";
+ dir = 8;
+ icon_state = "roomnum";
+ name = "Room Number 4";
+ pixel_y = 24
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"avS" = (
@@ -9892,9 +9023,9 @@
/area/maintenance/fore)
"awd" = (
/obj/machinery/power/apc{
+ areastring = "/area/maintenance/fore";
dir = 1;
name = "Fore Maintenance APC";
- areastring = "/area/maintenance/fore";
pixel_y = 24
},
/obj/structure/cable{
@@ -10029,50 +9160,68 @@
"awo" = (
/obj/machinery/door/airlock{
id_tag = "Dorm3";
- name = "Dorm 3"
+ name = "Room Two"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/turf/open/floor/plasteel,
+/turf/open/floor/plasteel/dark,
/area/crew_quarters/dorms)
"awp" = (
-/obj/structure/table/wood,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/obj/item/storage/pill_bottle/dice,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"awq" = (
-/obj/structure/chair/stool{
- pixel_y = 8
- },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1;
+ light_color = "#cee5d2"
+ },
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"awr" = (
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
-"aws" = (
-/obj/structure/table/wood,
-/obj/item/coin/silver,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+"awt" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/obj/structure/sign/warning/fire{
+ desc = "A sign that states the labeled room's number.";
+ dir = 6;
+ icon_state = "roomnum";
+ name = "Room Number 5";
+ pixel_y = 24
+ },
+/obj/effect/turf_decal/tile/neutral{
dir = 4
},
-/turf/open/floor/plasteel,
-/area/crew_quarters/dorms)
-"awt" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 9
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"awu" = (
-/obj/structure/chair/stool{
- pixel_y = 8
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 1
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
@@ -10081,6 +9230,12 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"aww" = (
@@ -10097,31 +9252,85 @@
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"awy" = (
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
-"awz" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/public/glass{
- name = "Fitness"
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
-"awA" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/holopad,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
-"awB" = (
-/obj/effect/landmark/start/assistant,
-/obj/machinery/vr_sleeper,
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/crew_quarters/dorms)
+"awz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/item/radio/intercom{
+ pixel_y = 25
+ },
+/turf/open/floor/plasteel,
+/area/crew_quarters/dorms)
+"awA" = (
+/obj/machinery/holopad,
+/obj/machinery/camera{
+ c_tag = "Dorms Central"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -5;
+ pixel_y = 30
+ },
+/turf/open/floor/plasteel,
+/area/crew_quarters/dorms)
+"awB" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/closet{
+ name = "Holodeck Outfits"
+ },
+/obj/item/clothing/under/trek/Q,
+/obj/item/clothing/under/trek/command/next,
+/obj/item/clothing/under/trek/command/next,
+/obj/item/clothing/under/trek/command/next,
+/obj/item/clothing/under/trek/engsec/next,
+/obj/item/clothing/under/trek/engsec/next,
+/obj/item/clothing/under/trek/engsec/next,
+/obj/item/clothing/under/trek/engsec/next,
+/obj/item/clothing/under/trek/medsci/next,
+/obj/item/clothing/under/trek/medsci/next,
+/obj/item/clothing/under/trek/medsci/next,
+/obj/item/clothing/under/mw2_russian_para,
+/obj/item/clothing/under/mw2_russian_para,
+/obj/item/clothing/under/gladiator,
+/obj/item/clothing/under/gladiator,
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = -24
+ },
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
"awC" = (
@@ -10134,9 +9343,8 @@
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"awE" = (
-/obj/effect/decal/cleanable/cobweb/cobweb2,
-/obj/structure/closet/crate,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/meter,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"awF" = (
@@ -10179,7 +9387,7 @@
/area/maintenance/starboard/fore)
"awK" = (
/obj/structure/table/glass,
-/obj/item/pen,
+/obj/item/coin/silver,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"awL" = (
@@ -10188,14 +9396,15 @@
pixel_x = -3;
pixel_y = 7
},
+/obj/item/pen,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"awM" = (
/obj/structure/cable{
icon_state = "2-4"
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 6
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
@@ -10409,15 +9618,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plating,
/area/maintenance/port/fore)
-"axm" = (
-/obj/structure/sign/warning/electricshock{
- pixel_y = -32
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/maintenance/fore)
"axn" = (
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12"
@@ -10444,18 +9644,21 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
/turf/open/floor/plating,
/area/maintenance/fore)
"axr" = (
-/obj/structure/sign/warning/electricshock{
- pixel_y = -32
- },
/obj/structure/cable{
icon_state = "4-8"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
/turf/open/floor/plating,
/area/maintenance/fore)
"axs" = (
@@ -10465,6 +9668,9 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
/turf/open/floor/plating,
/area/maintenance/fore)
"axt" = (
@@ -10565,6 +9771,9 @@
/obj/effect/turf_decal/tile/blue{
dir = 8
},
+/obj/structure/sign/poster/contraband/pwr_game{
+ pixel_x = -32
+ },
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
"axD" = (
@@ -10578,6 +9787,9 @@
dir = 1
},
/obj/effect/turf_decal/tile/blue,
+/obj/structure/sign/poster/official/do_not_question{
+ pixel_x = 32
+ },
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
"axF" = (
@@ -10626,117 +9838,52 @@
"axL" = (
/obj/machinery/holopad,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/turf/open/floor/plasteel,
-/area/crew_quarters/dorms)
-"axM" = (
-/obj/structure/table/wood,
-/obj/item/paicard,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"axN" = (
-/obj/structure/table/wood,
-/obj/item/storage/crayons,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"axO" = (
-/obj/structure/chair/stool{
- pixel_y = 8
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
},
-/obj/effect/landmark/start/assistant,
+/obj/structure/chair/comfy/black,
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"axP" = (
-/obj/structure/table/wood,
-/obj/item/toy/cards/deck{
- pixel_x = 2
- },
-/obj/item/clothing/mask/balaclava{
- pixel_x = -8;
- pixel_y = 8
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
},
+/obj/structure/chair/comfy/brown,
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
-"axQ" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
-"axR" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/public/glass{
- name = "Fitness"
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
"axS" = (
-/obj/structure/window/reinforced,
-/obj/structure/window/reinforced{
- dir = 8
- },
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 8
},
-/turf/open/floor/plasteel/dark,
-/area/crew_quarters/fitness)
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel,
+/area/crew_quarters/dorms)
"axT" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/structure/cable{
- icon_state = "2-8"
- },
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 8
},
/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
-"axU" = (
-/obj/structure/window/reinforced,
-/turf/open/floor/plasteel/dark,
-/area/crew_quarters/fitness)
-"axV" = (
-/obj/structure/cable{
- icon_state = "2-4"
- },
-/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"axW" = (
-/obj/machinery/door/window/eastright{
- base_state = "left";
- icon_state = "left";
- name = "Fitness Ring"
- },
-/obj/structure/window/reinforced,
-/turf/open/floor/plasteel/dark,
-/area/crew_quarters/fitness)
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel,
+/area/crew_quarters/dorms)
"axX" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 1
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
-"axY" = (
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
-"axZ" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/public/glass{
- name = "Holodeck Door"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 6
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
"aya" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 8
@@ -10821,9 +9968,7 @@
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
"ayn" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 2
- },
+/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
"ayo" = (
@@ -10912,55 +10057,29 @@
/turf/closed/wall/r_wall,
/area/maintenance/port/fore)
"ayA" = (
-/obj/structure/cable{
- icon_state = "0-8"
+/obj/machinery/door/airlock{
+ name = "Theatre Backstage";
+ req_access_txt = "46"
},
+/obj/machinery/door/firedoor,
/obj/structure/cable{
- icon_state = "0-4"
+ icon_state = "1-2"
},
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/maintenance/fore)
-"ayB" = (
-/obj/structure/cable{
- icon_state = "0-4"
+/turf/open/floor/plasteel/white/side{
+ dir = 4
},
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
/area/maintenance/fore)
"ayC" = (
-/obj/structure/cable{
- icon_state = "0-8"
- },
-/obj/structure/cable{
- icon_state = "0-4"
- },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
+/turf/closed/wall,
/area/maintenance/fore)
"ayD" = (
-/obj/structure/cable{
- icon_state = "0-8"
- },
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
+/turf/open/floor/plasteel/dark,
/area/maintenance/fore)
"ayE" = (
/turf/closed/wall/r_wall,
/area/maintenance/fore)
-"ayF" = (
-/obj/structure/cable,
-/obj/structure/cable{
- icon_state = "0-8"
- },
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/maintenance/fore)
"ayG" = (
/turf/closed/wall/r_wall,
/area/gateway)
@@ -10998,10 +10117,8 @@
/area/ai_monitored/storage/eva)
"ayM" = (
/obj/machinery/firealarm{
- dir = 2;
pixel_y = 24
},
-/obj/item/clothing/head/welding,
/turf/open/floor/plasteel,
/area/ai_monitored/storage/eva)
"ayN" = (
@@ -11014,6 +10131,7 @@
/obj/item/flashlight,
/obj/item/flashlight,
/obj/item/flashlight,
+/obj/item/clothing/glasses/welding,
/turf/open/floor/plasteel/dark,
/area/ai_monitored/storage/eva)
"ayO" = (
@@ -11029,9 +10147,9 @@
/area/ai_monitored/storage/eva)
"ayP" = (
/obj/machinery/power/apc{
+ areastring = "/area/ai_monitored/storage/eva";
dir = 1;
name = "EVA Storage APC";
- areastring = "/area/ai_monitored/storage/eva";
pixel_y = 24
},
/obj/structure/cable{
@@ -11120,6 +10238,9 @@
/obj/effect/turf_decal/tile/blue{
dir = 8
},
+/obj/structure/sign/poster/official/obey{
+ pixel_x = -32
+ },
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
"ayZ" = (
@@ -11127,23 +10248,18 @@
dir = 1
},
/obj/effect/turf_decal/tile/blue,
+/obj/structure/sign/poster/official/obey{
+ pixel_x = 32
+ },
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
"aza" = (
-/obj/machinery/light,
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
+/obj/structure/table/wood/poker,
+/obj/item/toy/cards/deck,
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"azb" = (
-/obj/structure/chair/stool{
- pixel_y = 8
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 2
- },
+/obj/structure/table/wood/poker,
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"azc" = (
@@ -11158,46 +10274,32 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
-"azd" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/dorms)
"aze" = (
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
+/obj/structure/chair/comfy/brown{
dir = 8
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"azf" = (
-/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/crew_quarters/dorms)
+"azg" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
-"azg" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 10
- },
-/turf/open/floor/plating,
-/area/crew_quarters/fitness)
"azh" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/vr_sleeper,
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
"azi" = (
@@ -11208,63 +10310,26 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plating,
/area/maintenance/port/fore)
-"azj" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/item/radio/intercom{
- name = "Station Intercom (General)";
- pixel_y = -29
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
"azk" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
+/obj/structure/disposalpipe/segment,
/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
-"azl" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
-"azm" = (
-/obj/structure/chair/stool{
- pixel_y = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
-"azn" = (
-/obj/structure/table,
-/obj/item/storage/firstaid/regular,
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
+/area/crew_quarters/dorms)
"azo" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 4
},
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
+/area/crew_quarters/dorms)
"azp" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
"azq" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -11382,15 +10447,15 @@
/turf/closed/wall,
/area/maintenance/port/fore)
"azH" = (
-/obj/structure/lattice,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/turf/open/space,
-/area/space/nearstation)
+/turf/closed/wall,
+/area/crew_quarters/theatre)
"azI" = (
-/obj/structure/lattice,
+/obj/structure/table/wood,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/turf/open/space,
-/area/space/nearstation)
+/obj/item/instrument/eguitar,
+/turf/open/floor/wood,
+/area/crew_quarters/theatre)
"azJ" = (
/obj/machinery/gateway{
dir = 9
@@ -11504,9 +10569,8 @@
/turf/open/floor/plasteel,
/area/ai_monitored/storage/eva)
"azT" = (
-/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,
-/obj/effect/turf_decal/tile/neutral{
- dir = 2
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
@@ -11522,28 +10586,15 @@
},
/turf/open/floor/plasteel,
/area/ai_monitored/storage/eva)
-"azV" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/dorms)
"azW" = (
/turf/open/floor/plasteel,
/area/ai_monitored/storage/eva)
"azX" = (
-/obj/machinery/door/airlock{
- name = "Unisex Showers"
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
},
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
+/turf/open/floor/plasteel,
+/area/crew_quarters/dorms)
"azY" = (
/obj/structure/table,
/obj/item/radio/off,
@@ -11565,12 +10616,12 @@
"aAb" = (
/obj/machinery/door/airlock{
id_tag = "Dorm2";
- name = "Dorm 2"
+ name = "Room One"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/turf/open/floor/plasteel,
+/turf/open/floor/plasteel/dark,
/area/crew_quarters/dorms)
"aAc" = (
/obj/effect/spawner/structure/window,
@@ -11578,13 +10629,7 @@
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"aAd" = (
-/obj/machinery/light_switch{
- pixel_y = -25
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
+/obj/machinery/atmospherics/components/unary/vent_pump/on,
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"aAe" = (
@@ -11594,36 +10639,12 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plating,
/area/maintenance/port/fore)
-"aAf" = (
-/obj/structure/closet/wardrobe/pjs,
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/dorms)
-"aAg" = (
-/obj/item/radio/intercom{
- name = "Station Intercom (General)";
- pixel_y = -29
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/dorms)
"aAh" = (
/turf/closed/wall,
/area/crew_quarters/toilet)
"aAi" = (
-/obj/structure/closet/wardrobe/pjs,
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
+/obj/structure/chair/comfy/brown{
+ dir = 1
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
@@ -11632,9 +10653,8 @@
icon_state = "1-4"
},
/obj/machinery/power/apc{
- dir = 2;
- name = "Security Checkpoint APC";
areastring = "/area/security/checkpoint/auxiliary";
+ name = "Security Checkpoint APC";
pixel_x = 1;
pixel_y = -24
},
@@ -11643,116 +10663,52 @@
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aAk" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
/obj/structure/disposalpipe/segment{
dir = 5
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
+/area/crew_quarters/dorms)
"aAl" = (
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 5
- },
-/obj/structure/reagent_dispensers/water_cooler,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
-"aAm" = (
-/obj/machinery/firealarm{
- dir = 1;
- pixel_y = -24
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/light,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
+/area/crew_quarters/dorms)
"aAn" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/light_switch{
- pixel_y = -25
- },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
+/area/crew_quarters/dorms)
"aAo" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
+/turf/open/floor/plasteel/dark,
+/area/crew_quarters/dorms)
"aAp" = (
-/obj/structure/cable{
- icon_state = "2-8"
- },
/obj/structure/disposalpipe/segment{
dir = 10
},
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 10
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
},
/turf/open/floor/plasteel,
-/area/crew_quarters/fitness)
+/area/crew_quarters/dorms)
"aAr" = (
/obj/structure/closet,
/obj/effect/decal/cleanable/cobweb,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/spawner/lootdrop/maintenance{
+ lootcount = 4;
+ name = "4maintenance loot spawner"
+ },
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"aAs" = (
-/obj/structure/closet,
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 2;
- name = "2maintenance loot spawner"
+/obj/structure/piano{
+ icon_state = "piano"
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
@@ -11762,15 +10718,6 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
-"aAu" = (
-/obj/machinery/door/poddoor/preopen{
- id = "maint2"
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
"aAv" = (
/obj/structure/closet,
/obj/effect/landmark/blobstart,
@@ -11780,9 +10727,9 @@
/area/maintenance/starboard/fore)
"aAw" = (
/obj/machinery/power/apc{
+ areastring = "/area/hydroponics/garden";
dir = 4;
name = "Garden APC";
- areastring = "/area/hydroponics/garden";
pixel_x = 27;
pixel_y = 2
},
@@ -11796,9 +10743,7 @@
/turf/open/floor/plasteel,
/area/hydroponics/garden)
"aAy" = (
-/obj/machinery/power/smes{
- charge = 0
- },
+/obj/machinery/power/smes,
/obj/structure/cable{
icon_state = "0-4"
},
@@ -11825,9 +10770,7 @@
/turf/closed/wall,
/area/maintenance/department/electrical)
"aAB" = (
-/obj/machinery/power/smes{
- charge = 0
- },
+/obj/machinery/power/smes,
/obj/structure/cable{
icon_state = "0-8"
},
@@ -11900,9 +10843,8 @@
/area/hydroponics/garden)
"aAL" = (
/obj/machinery/power/apc{
- dir = 2;
- name = "Primary Tool Storage APC";
areastring = "/area/storage/primary";
+ name = "Primary Tool Storage APC";
pixel_x = 1;
pixel_y = -24
},
@@ -11992,13 +10934,15 @@
/obj/machinery/light{
dir = 8
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"aAY" = (
@@ -12008,11 +10952,27 @@
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aAZ" = (
-/obj/structure/cable{
- icon_state = "1-2"
+/obj/structure/table/wood,
+/obj/item/paper_bin/bundlenatural{
+ pixel_x = 6;
+ pixel_y = 4
},
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
+/obj/item/paper_bin{
+ pixel_x = -6;
+ pixel_y = 4
+ },
+/obj/item/pen/fountain,
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/item/pen/fourcolor,
+/turf/open/floor/plasteel,
+/area/crew_quarters/dorms)
"aBa" = (
/turf/closed/wall/r_wall,
/area/ai_monitored/nuke_storage)
@@ -12084,9 +11044,9 @@
/area/maintenance/fore)
"aBi" = (
/obj/machinery/power/apc{
+ areastring = "/area/gateway";
dir = 8;
name = "Gateway APC";
- areastring = "/area/gateway";
pixel_x = -24;
pixel_y = -1
},
@@ -12126,7 +11086,6 @@
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aBm" = (
-/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 5
},
@@ -12216,13 +11175,19 @@
/turf/open/floor/plasteel,
/area/hydroponics/garden)
"aBx" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 9
+/obj/machinery/shower{
+ dir = 8;
+ pixel_y = -4
},
-/turf/closed/wall,
+/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
"aBy" = (
-/turf/open/floor/plasteel/freezer,
+/obj/machinery/door/airlock{
+ desc = "A small bathroom with a sink, toilet and shower.";
+ id_tag = "Bath3";
+ name = "Bathroom"
+ },
+/turf/open/floor/mineral/titanium/blue,
/area/crew_quarters/toilet)
"aBz" = (
/obj/machinery/shower{
@@ -12231,11 +11196,25 @@
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
"aBA" = (
-/obj/machinery/shower{
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/tile/neutral{
dir = 8
},
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/table/wood,
+/obj/item/paicard,
+/obj/item/clothing/mask/balaclava{
+ pixel_x = -8;
+ pixel_y = 8
+ },
+/obj/item/toy/cards/deck{
+ pixel_x = 2
+ },
+/obj/item/storage/crayons,
+/turf/open/floor/plasteel,
+/area/crew_quarters/dorms)
"aBB" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/closed/wall,
@@ -12299,10 +11278,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plating,
/area/maintenance/port/fore)
-"aBM" = (
-/obj/effect/landmark/start/assistant,
-/turf/open/floor/plasteel,
-/area/hydroponics/garden)
"aBN" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/closed/wall,
@@ -12335,13 +11310,6 @@
"aBR" = (
/turf/closed/wall/r_wall,
/area/storage/primary)
-"aBS" = (
-/obj/machinery/light_switch{
- pixel_y = 28
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/turf/open/floor/circuit,
-/area/ai_monitored/nuke_storage)
"aBT" = (
/obj/machinery/computer/bank_machine,
/obj/effect/turf_decal/bot_white,
@@ -12358,27 +11326,23 @@
/turf/open/floor/plasteel/dark,
/area/ai_monitored/nuke_storage)
"aBU" = (
-/obj/machinery/power/apc{
- dir = 1;
- name = "Vault APC";
- areastring = "/area/ai_monitored/nuke_storage";
- pixel_y = 25
+/obj/machinery/atmospherics/pipe/manifold4w/supply,
+/turf/open/floor/wood,
+/area/crew_quarters/theatre)
+"aBV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/light{
+ dir = 8;
+ light_color = "#e8eaff"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
},
/obj/structure/cable{
- icon_state = "0-2"
+ icon_state = "1-2"
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/turf/open/floor/circuit,
-/area/ai_monitored/nuke_storage)
-"aBV" = (
-/obj/machinery/airalarm{
- pixel_y = 23
- },
-/obj/machinery/light{
- dir = 1
- },
-/turf/open/floor/circuit,
-/area/ai_monitored/nuke_storage)
+/turf/open/floor/wood,
+/area/crew_quarters/theatre)
"aBW" = (
/obj/structure/filingcabinet,
/obj/item/folder/documents,
@@ -12483,21 +11447,9 @@
/turf/open/floor/carpet,
/area/crew_quarters/cryopod)
"aCe" = (
-/obj/effect/landmark/xeno_spawn,
-/obj/item/bikehorn/rubberducky,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel/freezer,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall,
/area/crew_quarters/toilet)
-"aCf" = (
-/obj/machinery/camera{
- c_tag = "Theatre Storage"
- },
-/turf/open/floor/plasteel/white/side{
- dir = 4
- },
-/area/crew_quarters/theatre)
"aCg" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -12535,35 +11487,17 @@
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
-"aCm" = (
-/obj/structure/sink{
- dir = 8;
- pixel_x = -12;
- pixel_y = 2
- },
-/obj/structure/mirror{
- pixel_x = -28
- },
-/obj/machinery/light{
- dir = 1
- },
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
"aCn" = (
-/obj/structure/urinal{
- pixel_y = 32
+/obj/machinery/door/airlock{
+ name = "Unisex Restrooms"
},
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
-"aCo" = (
-/obj/structure/chair/stool{
- pixel_y = 8
+/obj/structure/cable{
+ icon_state = "1-2"
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel/dark,
+/area/crew_quarters/dorms)
"aCp" = (
/obj/machinery/camera{
c_tag = "Arrivals North";
@@ -12577,20 +11511,6 @@
},
/turf/open/floor/plasteel/white/corner,
/area/hallway/secondary/entry)
-"aCq" = (
-/obj/structure/table/wood,
-/obj/machinery/requests_console{
- department = "Theatre";
- departmentType = 0;
- name = "theatre RC";
- pixel_x = -32
- },
-/obj/item/reagent_containers/food/snacks/baguette,
-/obj/item/toy/dummy,
-/turf/open/floor/plasteel/white/side{
- dir = 4
- },
-/area/crew_quarters/theatre)
"aCr" = (
/turf/closed/wall,
/area/crew_quarters/theatre)
@@ -12614,30 +11534,48 @@
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"aCu" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 5
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
},
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
+/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness)
"aCv" = (
+/obj/machinery/vr_sleeper{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/green,
+/obj/effect/turf_decal/tile/green{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white/side{
+ dir = 8
+ },
+/area/crew_quarters/fitness)
+"aCw" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "holoprivacy";
+ name = "Holodeck Shutters"
+ },
/turf/open/floor/plating,
/area/crew_quarters/fitness)
-"aCw" = (
+"aCy" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 9
},
/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "holoprivacy";
+ name = "Holodeck Shutters"
+ },
/turf/open/floor/plating,
/area/crew_quarters/fitness)
-"aCy" = (
-/obj/effect/decal/cleanable/oil,
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
"aCz" = (
/obj/structure/window/reinforced{
dir = 8
@@ -12656,6 +11594,7 @@
dir = 4
},
/obj/structure/window,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plating{
icon_state = "panelscorched"
},
@@ -12846,7 +11785,6 @@
pixel_y = 5
},
/obj/machinery/firealarm{
- dir = 2;
pixel_y = 24
},
/turf/open/floor/plasteel,
@@ -12857,7 +11795,6 @@
dir = 1
},
/obj/item/radio/intercom{
- broadcasting = 0;
name = "Station Intercom (General)";
pixel_y = 20
},
@@ -12901,6 +11838,11 @@
/area/hydroponics/garden)
"aDh" = (
/obj/machinery/vending/assist,
+/obj/structure/sign/poster/contraband/grey_tide{
+ desc = "A poster promoting a regression to ape-like intelligence for Assistants, suggesting they break, loot and murder enough to make even a caveman blush.";
+ pixel_x = -32;
+ poster_item_desc = "Nanotrasen does not condone such messages. Please don't regress to ape-level intelligence as this poster suggests."
+ },
/turf/open/floor/plasteel,
/area/storage/primary)
"aDi" = (
@@ -12927,7 +11869,6 @@
},
/obj/machinery/requests_console{
department = "Tool Storage";
- departmentType = 0;
pixel_y = 30
},
/turf/open/floor/plasteel,
@@ -12954,7 +11895,6 @@
/obj/item/assembly/signaler,
/obj/item/assembly/signaler,
/obj/item/radio/intercom{
- broadcasting = 0;
name = "Station Intercom (General)";
pixel_y = 20
},
@@ -13012,22 +11952,10 @@
/turf/open/floor/circuit,
/area/ai_monitored/nuke_storage)
"aDv" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 8
- },
-/obj/effect/turf_decal/bot_white/left,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/nuke_storage)
+/obj/structure/window/reinforced,
+/obj/structure/chair/stool,
+/turf/open/floor/wood,
+/area/crew_quarters/theatre)
"aDw" = (
/obj/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -13073,9 +12001,7 @@
/area/ai_monitored/storage/eva)
"aDB" = (
/obj/machinery/suit_storage_unit/standard_unit,
-/obj/effect/turf_decal/stripes/line{
- dir = 2
- },
+/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/ai_monitored/storage/eva)
"aDC" = (
@@ -13099,9 +12025,7 @@
c_tag = "EVA Storage";
dir = 1
},
-/obj/effect/turf_decal/stripes/line{
- dir = 2
- },
+/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/ai_monitored/storage/eva)
"aDF" = (
@@ -13112,15 +12036,20 @@
/turf/open/floor/plasteel,
/area/ai_monitored/storage/eva)
"aDG" = (
-/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/machinery/camera{
- c_tag = "Dormitory South";
+ c_tag = "Dorms South";
dir = 8
},
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"aDH" = (
@@ -13134,6 +12063,7 @@
dir = 4
},
/obj/item/folder/white,
+/obj/item/pen/fountain,
/obj/item/stamp/rd{
pixel_x = 3;
pixel_y = -2
@@ -13156,126 +12086,90 @@
/turf/open/floor/plasteel,
/area/crew_quarters/cryopod)
"aDL" = (
-/obj/structure/sink{
- dir = 8;
- pixel_x = -12;
- pixel_y = 2
- },
-/obj/structure/sink{
- dir = 8;
- pixel_x = -12;
- pixel_y = 2
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+/obj/structure/toilet{
dir = 4
},
-/obj/structure/cable{
- icon_state = "2-4"
+/obj/structure/mirror{
+ pixel_y = 32
},
-/turf/open/floor/plasteel/freezer,
+/obj/structure/sink{
+ dir = 1;
+ pixel_y = 25
+ },
+/obj/machinery/button/door{
+ id = "Bath1";
+ name = "Door Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = 14;
+ pixel_y = 38;
+ specialfunctions = 4
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/blue,
/area/crew_quarters/toilet)
"aDM" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel/freezer,
+/turf/open/floor/mineral/titanium/blue,
/area/crew_quarters/toilet)
"aDN" = (
-/obj/machinery/light/small,
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
-"aDO" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
-/obj/machinery/airalarm{
- pixel_y = 23
+/obj/machinery/camera{
+ c_tag = "Bathrooms";
+ dir = 1
},
-/turf/open/floor/plasteel/freezer,
+/obj/structure/urinal{
+ pixel_y = 32
+ },
+/turf/open/floor/mineral/titanium/blue,
/area/crew_quarters/toilet)
"aDP" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on,
+/obj/machinery/shower{
+ dir = 8;
+ pixel_y = -4
+ },
+/obj/effect/landmark/xeno_spawn,
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
"aDQ" = (
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
-/obj/structure/cable{
- icon_state = "4-8"
+/obj/machinery/door/airlock{
+ desc = "A small bathroom with a sink, toilet and shower.";
+ id_tag = "Bath1";
+ name = "Bathroom"
},
-/turf/open/floor/plasteel/freezer,
+/obj/machinery/door/firedoor,
+/turf/open/floor/mineral/titanium/blue,
/area/crew_quarters/toilet)
"aDR" = (
-/obj/structure/table/wood,
-/obj/structure/mirror{
- pixel_x = -28
+/obj/machinery/light/small{
+ dir = 1
},
-/obj/item/lipstick/random{
- pixel_x = 2;
- pixel_y = 2
- },
-/obj/item/lipstick/random{
- pixel_x = -2;
- pixel_y = -2
- },
-/turf/open/floor/plasteel/white/side{
- dir = 4
- },
-/area/crew_quarters/theatre)
-"aDS" = (
-/obj/machinery/door/airlock{
- name = "Unisex Showers"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
+/turf/open/floor/wood,
+/area/crew_quarters/bar)
"aDT" = (
-/obj/machinery/light/small,
-/obj/structure/cable{
- icon_state = "1-8"
+/obj/item/soap,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/light/small{
+ dir = 1;
+ light_color = "#ffc1c1"
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
"aDU" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- dir = 8
+/obj/machinery/shower{
+ dir = 4
},
-/obj/structure/cable{
- icon_state = "4-8"
+/obj/item/radio/intercom{
+ pixel_y = 25
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
-"aDV" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
-/obj/machinery/meter,
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
-"aDW" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 10
- },
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
-"aDX" = (
-/obj/effect/decal/cleanable/cobweb/cobweb2,
-/obj/structure/reagent_dispensers/fueltank,
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
"aDY" = (
-/obj/structure/chair/stool,
-/obj/effect/landmark/start/mime,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+/obj/structure/window{
dir = 4
},
-/turf/open/floor/plasteel/white/side{
- dir = 4
- },
-/area/crew_quarters/theatre)
+/turf/open/floor/wood,
+/area/crew_quarters/bar)
"aDZ" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -13303,30 +12197,12 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
-"aEb" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Theatre Maintenance";
- req_access_txt = "46"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
"aEc" = (
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+/obj/machinery/light/small{
dir = 4
},
-/turf/open/floor/plasteel/white/side{
- dir = 4
- },
-/area/crew_quarters/theatre)
+/turf/open/floor/wood,
+/area/crew_quarters/bar)
"aEd" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -13360,9 +12236,8 @@
dir = 4
},
/obj/machinery/power/apc{
- dir = 2;
- name = "Chapel APC";
areastring = "/area/chapel/main";
+ name = "Chapel APC";
pixel_y = -24
},
/obj/structure/cable{
@@ -13426,9 +12301,9 @@
/area/chapel/main)
"aEz" = (
/obj/machinery/power/apc{
+ areastring = "/area/hallway/secondary/entry";
dir = 4;
name = "Entry Hall APC";
- areastring = "/area/hallway/secondary/entry";
pixel_x = 24
},
/obj/structure/cable,
@@ -13685,23 +12560,17 @@
/turf/closed/wall/r_wall,
/area/ai_monitored/storage/eva)
"aFd" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/structure/cable{
- icon_state = "4-8"
+ icon_state = "1-8"
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"aFe" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 8
- },
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -13711,82 +12580,24 @@
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
-"aFf" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/cable{
- icon_state = "1-8"
- },
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
-"aFg" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4
- },
-/turf/closed/wall,
-/area/crew_quarters/toilet)
-"aFh" = (
-/obj/machinery/door/airlock{
- name = "Unisex Restrooms"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
-"aFi" = (
-/obj/machinery/power/apc{
- dir = 4;
- name = "Dormitory Bathrooms APC";
- areastring = "/area/crew_quarters/toilet";
- pixel_x = 26
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "0-8"
- },
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
-"aFj" = (
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/theatre)
"aFk" = (
-/obj/machinery/disposal/bin,
-/obj/structure/disposalpipe/trunk{
- dir = 1
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 4;
+ pixel_y = 5
},
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/theatre)
+/turf/open/floor/wood,
+/area/crew_quarters/bar)
"aFl" = (
-/obj/machinery/light/small{
- dir = 8
+/obj/structure/festivus{
+ anchored = 1;
+ desc = "A pole for dancing.";
+ name = "pole"
},
-/obj/structure/dresser,
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/theatre)
+/turf/open/floor/wood,
+/area/crew_quarters/bar)
"aFm" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -13809,9 +12620,7 @@
/area/maintenance/starboard/fore)
"aFp" = (
/obj/effect/spawner/lootdrop/maintenance,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"aFq" = (
@@ -13871,15 +12680,14 @@
/area/maintenance/starboard/fore)
"aFy" = (
/obj/machinery/power/apc{
- dir = 2;
- name = "Chapel Office APC";
areastring = "/area/chapel/office";
+ name = "Chapel Office APC";
pixel_y = -24
},
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plating,
-/area/chapel/office)
+/area/maintenance/starboard/fore)
"aFz" = (
/turf/open/floor/plasteel/dark,
/area/chapel/main)
@@ -14043,10 +12851,6 @@
},
/turf/open/floor/plasteel,
/area/storage/primary)
-"aFS" = (
-/obj/effect/landmark/start/assistant,
-/turf/open/floor/plasteel,
-/area/storage/primary)
"aFT" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 4
@@ -14054,7 +12858,6 @@
/turf/open/floor/plasteel,
/area/storage/primary)
"aFU" = (
-/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
},
@@ -14075,8 +12878,6 @@
/area/gateway)
"aFX" = (
/obj/item/radio/intercom{
- freerange = 0;
- frequency = 1459;
name = "Station Intercom (General)";
pixel_x = -30
},
@@ -14145,30 +12946,9 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/nuke_storage)
-"aGe" = (
-/obj/structure/safe,
-/obj/item/clothing/head/bearpelt,
-/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass,
-/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass,
-/obj/item/gun/ballistic/revolver/russian,
-/obj/item/ammo_box/a357,
-/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka,
-/obj/effect/turf_decal/bot_white/left,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/nuke_storage)
"aGf" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel,
@@ -14191,38 +12971,49 @@
/turf/open/floor/plasteel/dark,
/area/ai_monitored/storage/eva)
"aGk" = (
-/obj/structure/sink{
- dir = 8;
- pixel_x = -12;
- pixel_y = 2
+/obj/structure/toilet{
+ dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/turf/open/floor/plasteel/freezer,
+/obj/structure/mirror{
+ pixel_y = 32
+ },
+/obj/structure/sink{
+ dir = 1;
+ pixel_y = 25
+ },
+/obj/machinery/button/door{
+ id = "Bath2";
+ name = "Door Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = 14;
+ pixel_y = 38;
+ specialfunctions = 4
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/blue,
/area/crew_quarters/toilet)
"aGl" = (
-/obj/machinery/light_switch{
- pixel_x = 27
+/obj/machinery/door/airlock{
+ desc = "A small bathroom with a sink, toilet and shower.";
+ id_tag = "Bath2";
+ name = "Bathroom"
},
-/turf/open/floor/plasteel/freezer,
+/turf/open/floor/mineral/titanium/blue,
/area/crew_quarters/toilet)
"aGm" = (
-/obj/structure/toilet{
- pixel_y = 8
+/obj/structure/cable,
+/obj/machinery/power/apc{
+ areastring = "/area/crew_quarters/toilet";
+ dir = 4;
+ name = "Dormitory Bathrooms APC";
+ pixel_x = 26
},
-/obj/machinery/light/small{
- dir = 8
- },
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
-"aGn" = (
-/obj/structure/toilet{
- pixel_y = 8
- },
-/obj/machinery/light/small{
- dir = 8
- },
-/obj/effect/landmark/blobstart,
-/turf/open/floor/plasteel/freezer,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/table/glass,
+/obj/structure/bedsheetbin/towel,
+/turf/open/floor/mineral/titanium/blue,
/area/crew_quarters/toilet)
"aGo" = (
/obj/structure/table,
@@ -14242,13 +13033,6 @@
},
/turf/open/floor/plasteel,
/area/ai_monitored/storage/eva)
-"aGp" = (
-/obj/machinery/light/small{
- dir = 8
- },
-/obj/machinery/recharge_station,
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
"aGq" = (
/obj/item/stack/sheet/plasteel{
amount = 10
@@ -14300,27 +13084,20 @@
/turf/closed/wall,
/area/crew_quarters/theatre)
"aGw" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 4;
+ pixel_y = 5
+ },
+/obj/machinery/light/small{
dir = 4
},
-/obj/structure/closet/secure_closet/freezer/cream_pie,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/theatre)
+/turf/open/floor/wood,
+/area/crew_quarters/bar)
"aGx" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
+/obj/item/radio/intercom{
+ pixel_x = -25
},
-/turf/closed/wall,
+/turf/open/floor/mineral/titanium/blue,
/area/crew_quarters/toilet)
"aGy" = (
/obj/structure/disposalpipe/segment{
@@ -14339,9 +13116,6 @@
/obj/structure/disposalpipe/segment{
dir = 5
},
-/obj/structure/cable{
- icon_state = "2-4"
- },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -14519,16 +13293,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/closed/wall,
/area/chapel/office)
-"aGP" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
-/turf/open/floor/plating,
-/area/maintenance/starboard/fore)
"aGQ" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -14637,10 +13401,7 @@
pixel_y = 9
},
/obj/item/stack/packageWrap,
-/turf/open/floor/wood,
-/area/library)
-"aHc" = (
-/obj/machinery/vending/games,
+/obj/item/pen/fourcolor,
/turf/open/floor/wood,
/area/library)
"aHd" = (
@@ -14668,8 +13429,7 @@
pixel_y = 28
},
/obj/machinery/camera{
- c_tag = "Chapel Office";
- dir = 2
+ c_tag = "Chapel Office"
},
/turf/open/floor/plasteel/grimy,
/area/chapel/office)
@@ -14831,7 +13591,6 @@
/obj/structure/chair/stool{
pixel_y = 8
},
-/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel,
/area/storage/primary)
"aHE" = (
@@ -14849,25 +13608,14 @@
/turf/closed/wall/r_wall,
/area/ai_monitored/nuke_storage)
"aHG" = (
-/obj/effect/mapping_helpers/airlock/locked,
-/obj/machinery/door/airlock/vault{
- req_access_txt = "53"
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
},
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/nuke_storage)
+/turf/open/floor/wood,
+/area/crew_quarters/theatre)
"aHH" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass{
@@ -14999,38 +13747,24 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
-"aHU" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 1
- },
-/obj/structure/sink{
- dir = 8;
- pixel_x = -12;
- pixel_y = 2
- },
-/obj/structure/mirror{
- pixel_x = -28
- },
-/obj/effect/landmark/start/assistant,
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
"aHV" = (
-/obj/machinery/door/airlock{
- name = "Unit 1"
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1;
+ pixel_x = 5
},
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
-"aHW" = (
-/obj/machinery/door/airlock{
- name = "Unit 2"
+/obj/machinery/light/small{
+ dir = 4
},
-/turf/open/floor/plasteel/freezer,
-/area/crew_quarters/toilet)
-"aHX" = (
-/obj/machinery/door/airlock{
- name = "Unit B"
+/obj/structure/table/glass,
+/obj/item/razor{
+ pixel_x = 2;
+ pixel_y = 3
},
-/turf/open/floor/plasteel/freezer,
+/obj/item/reagent_containers/rag/towel/random,
+/obj/item/reagent_containers/rag/towel/random,
+/obj/item/reagent_containers/rag/towel/random,
+/obj/item/reagent_containers/rag/towel/random,
+/turf/open/floor/mineral/titanium/blue,
/area/crew_quarters/toilet)
"aHY" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
@@ -15039,23 +13773,11 @@
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"aHZ" = (
-/obj/machinery/airalarm{
- dir = 4;
- pixel_x = -22
- },
-/obj/structure/closet/crate/wooden/toy,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
+/obj/machinery/light/small{
dir = 8
},
-/turf/open/floor/plasteel,
-/area/crew_quarters/theatre)
+/turf/open/floor/wood,
+/area/crew_quarters/bar)
"aIa" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -15064,13 +13786,6 @@
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"aIb" = (
-/obj/machinery/power/apc{
- dir = 8;
- name = "Theatre APC";
- areastring = "/area/crew_quarters/theatre";
- pixel_x = -25
- },
-/obj/structure/cable,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 5
},
@@ -15078,9 +13793,8 @@
/area/maintenance/starboard/fore)
"aIc" = (
/obj/machinery/power/apc{
- dir = 2;
- name = "Bar APC";
areastring = "/area/crew_quarters/bar";
+ name = "Bar APC";
pixel_y = -24
},
/obj/structure/cable,
@@ -15120,18 +13834,13 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/obj/effect/turf_decal/bot{
- dir = 2
- },
-/turf/open/floor/plasteel{
- dir = 2
- },
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
/area/crew_quarters/bar)
"aIh" = (
/obj/machinery/power/apc{
- dir = 2;
- name = "Kitchen APC";
areastring = "/area/crew_quarters/kitchen";
+ name = "Kitchen APC";
pixel_y = -24
},
/obj/structure/cable,
@@ -15190,9 +13899,8 @@
/area/maintenance/starboard/fore)
"aIn" = (
/obj/machinery/power/apc{
- dir = 2;
- name = "Hydroponics APC";
areastring = "/area/hydroponics";
+ name = "Hydroponics APC";
pixel_y = -24
},
/obj/structure/cable{
@@ -15219,19 +13927,35 @@
/turf/closed/wall,
/area/hydroponics)
"aIr" = (
-/obj/structure/filingcabinet,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/button/door{
+ desc = "Bolts the doors to the Private Study.";
+ id = "PrivateStudy";
+ name = "Private Study Lock";
+ pixel_x = -5;
+ pixel_y = 24;
+ req_access_txt = "28"
+ },
+/obj/machinery/button/door{
+ id = "PrivateStudy1";
+ name = "Privacy Shutters";
+ pixel_x = 5;
+ pixel_y = 24
+ },
/turf/open/floor/wood,
/area/library)
"aIs" = (
-/obj/structure/chair/office/dark,
/obj/machinery/camera{
- c_tag = "Library North";
- dir = 2
+ c_tag = "Library North"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
+/obj/structure/chair/sofa/right,
+/obj/machinery/light{
+ dir = 1;
+ light_color = "#c1caff"
+ },
/turf/open/floor/wood,
/area/library)
"aIt" = (
@@ -15253,7 +13977,6 @@
/turf/open/floor/wood,
/area/library)
"aIw" = (
-/obj/structure/chair/office/dark,
/obj/structure/disposalpipe/segment{
dir = 6
},
@@ -15261,6 +13984,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
+/obj/structure/chair/sofa/left,
/turf/open/floor/wood,
/area/library)
"aIx" = (
@@ -15275,6 +13999,9 @@
"aIy" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 8
+ },
/turf/open/floor/plasteel/dark,
/area/chapel/office)
"aIz" = (
@@ -15282,20 +14009,13 @@
/obj/structure/disposalpipe/trunk,
/turf/open/floor/plasteel/grimy,
/area/chapel/office)
-"aIA" = (
-/obj/structure/table/wood,
-/obj/item/paper_bin{
- pixel_x = -2;
- pixel_y = 5
- },
-/obj/item/storage/crayons,
-/turf/open/floor/plasteel/grimy,
-/area/chapel/office)
"aIB" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/bodycontainer/crematorium{
id = "crematoriumChapel"
},
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
/turf/open/floor/plasteel/dark,
/area/chapel/office)
"aIC" = (
@@ -15370,8 +14090,7 @@
/area/storage/primary)
"aIO" = (
/obj/machinery/camera{
- c_tag = "Arrivals Lounge";
- dir = 2
+ c_tag = "Arrivals Lounge"
},
/obj/machinery/light{
dir = 1
@@ -15405,7 +14124,7 @@
/obj/item/reagent_containers/glass/bucket,
/obj/item/plant_analyzer,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/green,
@@ -15419,8 +14138,6 @@
/obj/structure/table/glass,
/obj/item/plant_analyzer,
/obj/item/radio/intercom{
- freerange = 0;
- frequency = 1459;
name = "Station Intercom (General)";
pixel_x = 29
},
@@ -15496,29 +14213,12 @@
/obj/machinery/disposal/bin,
/turf/open/floor/plasteel,
/area/storage/primary)
-"aJd" = (
-/obj/structure/cable{
- icon_state = "0-2"
- },
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/hallway/primary/port)
"aJe" = (
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/hallway/primary/port)
+/turf/open/floor/wood,
+/area/crew_quarters/theatre)
"aJf" = (
/obj/machinery/camera{
c_tag = "EVA South";
@@ -15580,12 +14280,12 @@
/turf/open/floor/plasteel,
/area/ai_monitored/storage/eva)
"aJk" = (
+/obj/machinery/door/firedoor,
/obj/machinery/door/airlock{
- name = "Theatre Backstage";
- req_access_txt = "46"
+ name = "Bar Back Room"
},
-/turf/open/floor/plasteel,
-/area/crew_quarters/theatre)
+/turf/open/floor/plasteel/dark,
+/area/crew_quarters/bar)
"aJl" = (
/obj/structure/tank_dispenser/oxygen,
/obj/machinery/light{
@@ -15597,10 +14297,8 @@
/turf/open/floor/plasteel,
/area/ai_monitored/storage/eva)
"aJm" = (
-/obj/structure/sink/kitchen{
- pixel_y = 28
- },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/vending/wardrobe/bar_wardrobe,
/turf/open/floor/wood,
/area/crew_quarters/bar)
"aJn" = (
@@ -15612,8 +14310,7 @@
dir = 1
},
/obj/machinery/camera{
- c_tag = "Central Hallway North";
- dir = 2
+ c_tag = "Central Hallway North"
},
/obj/effect/turf_decal/tile/blue{
dir = 1
@@ -15685,7 +14382,10 @@
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"aJv" = (
-/obj/machinery/vending/cola/random,
+/obj/structure/sign/poster/official/nanomichi_ad{
+ pixel_y = 32
+ },
+/obj/machinery/vending/snack/random,
/turf/open/floor/plasteel/dark,
/area/hallway/primary/central)
"aJw" = (
@@ -15706,6 +14406,21 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"aJz" = (
+/obj/machinery/button/door{
+ id = "Bath3";
+ name = "Door Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = 14;
+ pixel_y = 38;
+ specialfunctions = 4
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/recharge_station,
+/turf/open/floor/mineral/titanium/blue,
+/area/crew_quarters/toilet)
"aJA" = (
/obj/machinery/door/airlock/maintenance{
name = "Kitchen Maintenance";
@@ -15737,11 +14452,13 @@
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"aJE" = (
-/obj/item/reagent_containers/food/drinks/shaker,
+/obj/structure/closet/secure_closet/bar{
+ req_access_txt = "25"
+ },
+/obj/item/clothing/under/waiter,
+/obj/item/clothing/under/waiter,
+/obj/item/clothing/under/waiter,
/obj/item/gun/ballistic/revolver/doublebarrel,
-/obj/structure/table/wood,
-/obj/item/stack/spacecash/c10,
-/obj/item/stack/spacecash/c100,
/turf/open/floor/wood,
/area/crew_quarters/bar)
"aJF" = (
@@ -15770,9 +14487,6 @@
/area/chapel/office)
"aJH" = (
/obj/machinery/door/window/southleft{
- base_state = "left";
- dir = 2;
- icon_state = "left";
name = "Bar Delivery";
req_access_txt = "25"
},
@@ -15783,9 +14497,10 @@
/turf/closed/wall,
/area/crew_quarters/kitchen)
"aJJ" = (
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
- dir = 8
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
},
+/obj/machinery/atmospherics/components/unary/vent_pump/on,
/turf/open/floor/plasteel/dark,
/area/chapel/office)
"aJK" = (
@@ -15795,12 +14510,8 @@
location = "Kitchen"
},
/obj/structure/plasticflaps/opaque,
-/obj/effect/turf_decal/bot{
- dir = 2
- },
-/turf/open/floor/plasteel{
- dir = 2
- },
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
/area/crew_quarters/kitchen)
"aJL" = (
/obj/machinery/navbeacon{
@@ -15809,12 +14520,8 @@
location = "Hydroponics"
},
/obj/structure/plasticflaps/opaque,
-/obj/effect/turf_decal/bot{
- dir = 2
- },
-/turf/open/floor/plasteel{
- dir = 2
- },
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
/area/hydroponics)
"aJM" = (
/obj/structure/table/wood,
@@ -15822,17 +14529,12 @@
pixel_y = 10
},
/obj/structure/disposalpipe/segment,
+/obj/item/nullrod,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/turf/open/floor/plasteel/grimy,
/area/chapel/office)
-"aJN" = (
-/obj/structure/table,
-/obj/item/book/manual/hydroponics_pod_people,
-/obj/item/paper/guides/jobs/hydroponics,
-/turf/open/floor/plasteel,
-/area/hydroponics)
"aJO" = (
/obj/structure/table,
/obj/machinery/reagentgrinder,
@@ -15841,17 +14543,18 @@
"aJP" = (
/obj/structure/table/wood,
/obj/item/folder/yellow,
-/obj/item/pen,
+/obj/item/pen/blue,
/turf/open/floor/wood,
/area/library)
"aJQ" = (
-/obj/structure/chair/office/dark{
+/obj/structure/chair/comfy/brown{
dir = 4
},
+/obj/effect/landmark/event_spawn,
/turf/open/floor/wood,
/area/library)
"aJR" = (
-/obj/structure/chair/office/dark{
+/obj/structure/chair/comfy/brown{
dir = 8
},
/turf/open/floor/wood,
@@ -15859,11 +14562,16 @@
"aJS" = (
/obj/structure/table/wood,
/obj/structure/disposalpipe/segment,
+/obj/item/paicard,
/turf/open/floor/wood,
/area/library)
"aJT" = (
/obj/structure/table/wood,
-/obj/item/nullrod,
+/obj/item/paper_bin{
+ pixel_x = -2;
+ pixel_y = 5
+ },
+/obj/item/storage/crayons,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -15928,17 +14636,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel,
/area/storage/primary)
-"aKb" = (
-/obj/structure/cable{
- icon_state = "0-8"
- },
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/hallway/primary/port)
"aKc" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/command{
@@ -15971,9 +14668,9 @@
icon_state = "0-4"
},
/obj/machinery/power/apc{
+ areastring = "/area/construction/mining/aux_base";
dir = 8;
name = "Auxillary Base Construction APC";
- areastring = "/area/construction/mining/aux_base";
pixel_x = -24
},
/obj/structure/cable{
@@ -15986,9 +14683,7 @@
/area/maintenance/port/fore)
"aKj" = (
/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/tile/neutral{
- dir = 2
- },
+/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
"aKk" = (
@@ -16031,62 +14726,35 @@
/obj/item/radio/intercom{
pixel_y = 25
},
-/obj/machinery/camera{
- c_tag = "Theatre Stage";
- dir = 2
+/obj/machinery/camera,
+/obj/structure/chair/comfy/brown{
+ dir = 4
},
/turf/open/floor/wood,
-/area/crew_quarters/theatre)
+/area/crew_quarters/bar)
"aKr" = (
-/obj/machinery/airalarm{
- dir = 2;
- pixel_y = 24
+/obj/machinery/vending/snack/orange,
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/sign/poster/contraband/donut_corp{
+ pixel_y = 32
},
/turf/open/floor/wood,
-/area/crew_quarters/theatre)
+/area/crew_quarters/bar)
"aKs" = (
/obj/structure/disposalpipe/segment,
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/storage/primary)
-"aKt" = (
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/obj/structure/cable{
- icon_state = "0-8"
- },
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/hallway/primary/port)
"aKu" = (
-/obj/structure/cable{
- icon_state = "0-4"
- },
/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/hallway/primary/port)
-"aKv" = (
-/obj/structure/cable,
-/obj/structure/cable{
- icon_state = "0-8"
- },
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/hallway/primary/port)
+/turf/open/floor/plasteel/dark,
+/area/crew_quarters/theatre)
"aKw" = (
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/obj/structure/cable{
- icon_state = "2-4"
- },
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -16098,15 +14766,14 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
-/turf/open/floor/plasteel/dark,
-/area/hallway/primary/port)
-"aKx" = (
-/obj/structure/cable{
- icon_state = "0-8"
+/obj/machinery/door/airlock/public/glass{
+ name = "Central Access"
},
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/hallway/primary/port)
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/dark,
+/area/crew_quarters/theatre)
"aKy" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable{
@@ -16182,14 +14849,12 @@
/turf/open/floor/plasteel,
/area/hydroponics)
"aKJ" = (
-/obj/machinery/light_switch{
- pixel_y = 28
- },
-/obj/machinery/light{
- dir = 1
+/obj/machinery/vending/cola/black,
+/obj/structure/sign/poster/contraband/sun_kist{
+ pixel_y = 32
},
/turf/open/floor/wood,
-/area/crew_quarters/theatre)
+/area/crew_quarters/bar)
"aKK" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/closet/secure_closet/hydroponics,
@@ -16213,43 +14878,43 @@
/area/hydroponics)
"aKM" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
+/obj/structure/chair/comfy/brown{
+ dir = 8
},
-/turf/open/floor/plasteel,
-/area/crew_quarters/bar)
-"aKN" = (
-/obj/structure/window/reinforced{
- dir = 4
+/obj/machinery/airalarm{
+ pixel_y = 23
},
/turf/open/floor/wood,
-/area/crew_quarters/theatre)
+/area/crew_quarters/bar)
+"aKN" = (
+/obj/structure/table/wood/fancy,
+/obj/item/reagent_containers/food/condiment/saltshaker{
+ pixel_x = -3;
+ pixel_y = 20
+ },
+/obj/item/reagent_containers/food/condiment/peppermill{
+ dir = 1;
+ pixel_x = 3;
+ pixel_y = 20
+ },
+/turf/open/floor/wood,
+/area/crew_quarters/bar)
"aKO" = (
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk{
dir = 8
},
/obj/machinery/firealarm{
- dir = 2;
pixel_y = 24
},
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
+/turf/open/floor/wood,
/area/crew_quarters/bar)
"aKP" = (
/obj/structure/disposalpipe/segment{
dir = 5
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
+/turf/open/floor/wood,
/area/crew_quarters/bar)
"aKQ" = (
/obj/machinery/reagentgrinder,
@@ -16263,6 +14928,9 @@
/obj/machinery/camera{
c_tag = "Bar Storage"
},
+/obj/structure/sink/kitchen{
+ pixel_y = 28
+ },
/turf/open/floor/wood,
/area/crew_quarters/bar)
"aKT" = (
@@ -16275,9 +14943,6 @@
/area/hydroponics)
"aKV" = (
/obj/machinery/door/window/southleft{
- base_state = "left";
- dir = 2;
- icon_state = "left";
name = "Kitchen Delivery";
req_access_txt = "28"
},
@@ -16317,8 +14982,9 @@
c_tag = "Chapel Crematorium";
dir = 4
},
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- dir = 1
+/obj/structure/bodycontainer/morgue,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
},
/turf/open/floor/plasteel/dark,
/area/chapel/office)
@@ -16386,12 +15052,6 @@
/obj/structure/table/wood,
/turf/open/floor/wood,
/area/library)
-"aLh" = (
-/obj/machinery/light{
- dir = 4
- },
-/turf/open/floor/wood,
-/area/library)
"aLi" = (
/obj/structure/chair/comfy/beige,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -16412,9 +15072,6 @@
/turf/open/floor/plasteel,
/area/hallway/primary/port)
"aLl" = (
-/obj/structure/sign/warning/electricshock{
- pixel_y = 32
- },
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -16483,7 +15140,7 @@
/area/construction/mining/aux_base)
"aLv" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/stripes/line{
@@ -16550,9 +15207,9 @@
icon_state = "0-2"
},
/obj/machinery/power/apc{
- name = "Port Hall APC";
areastring = "/area/hallway/primary/port";
dir = 1;
+ name = "Port Hall APC";
pixel_y = 26
},
/turf/open/floor/plasteel,
@@ -16570,26 +15227,13 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"aLJ" = (
-/obj/machinery/light{
- dir = 1
- },
-/obj/structure/sign/warning/electricshock{
- pixel_y = 32
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/hallway/primary/port)
"aLK" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/plasteel,
/area/hallway/primary/port)
"aLL" = (
/obj/machinery/camera{
- c_tag = "Port Hallway 2";
- dir = 2
+ c_tag = "Port Hallway 2"
},
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -16629,12 +15273,15 @@
/area/hallway/primary/port)
"aLQ" = (
/obj/machinery/camera{
- c_tag = "Central Hallway North-East";
- dir = 2
+ c_tag = "Central Hallway North-East"
},
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 8
},
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -5;
+ pixel_y = 30
+ },
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"aLR" = (
@@ -16649,12 +15296,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"aLS" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 4
- },
-/turf/open/floor/wood,
-/area/crew_quarters/theatre)
"aLT" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/stripes/corner{
@@ -16678,15 +15319,13 @@
dir = 1
},
/obj/machinery/firealarm{
- dir = 2;
pixel_y = 24
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"aLW" = (
/obj/machinery/camera{
- c_tag = "Central Hallway North-West";
- dir = 2
+ c_tag = "Central Hallway North-West"
},
/obj/machinery/airalarm{
pixel_y = 23
@@ -16752,6 +15391,10 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
+/obj/structure/sign/poster/contraband/robust_softdrinks{
+ pixel_x = -32;
+ pixel_y = 32
+ },
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"aMh" = (
@@ -16790,7 +15433,6 @@
/area/crew_quarters/kitchen)
"aMm" = (
/obj/machinery/firealarm{
- dir = 2;
pixel_y = 24
},
/turf/open/floor/plasteel,
@@ -16807,18 +15449,12 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"aMp" = (
-/obj/structure/chair/stool{
- pixel_y = 8
- },
-/turf/open/floor/wood,
-/area/crew_quarters/theatre)
"aMq" = (
-/obj/structure/piano{
- icon_state = "piano"
+/obj/structure/sign/poster/contraband/space_cola{
+ pixel_x = -32
},
/turf/open/floor/wood,
-/area/crew_quarters/theatre)
+/area/crew_quarters/bar)
"aMr" = (
/turf/open/floor/wood,
/area/crew_quarters/theatre)
@@ -16843,40 +15479,22 @@
/turf/open/floor/plasteel,
/area/hydroponics)
"aMu" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 4
- },
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/wood,
/area/crew_quarters/bar)
-"aMv" = (
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
+"aMw" = (
+/obj/machinery/vending/dinnerware{
+ contraband = list(/obj/item/reagent_containers/food/condiment/flour = 4);
+ desc = "This vendor is full of condiments to put on food.";
+ name = "\improper Condiments Vendor";
+ product_ads = "Get your sauces here!;No slave labour was used to make these products!;Nanotrasen Approved?!";
+ products = list(/obj/item/storage/bag/tray = 8, /obj/item/reagent_containers/food/drinks/drinkingglass = 10, /obj/item/storage/box/cups = 5, /obj/item/reagent_containers/food/condiment/pack/ketchup = 20, /obj/item/reagent_containers/food/condiment/pack/mustard = 20, /obj/item/reagent_containers/food/condiment/pack/hotsauce = 20, /obj/item/reagent_containers/food/condiment/pack/astrotame = 20, /obj/item/reagent_containers/food/condiment/saltshaker = 20, /obj/item/reagent_containers/food/condiment/peppermill = 20)
},
/turf/open/floor/wood,
-/area/crew_quarters/theatre)
-"aMw" = (
-/obj/machinery/computer/slot_machine,
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
/area/crew_quarters/bar)
"aMx" = (
-/obj/structure/chair/stool,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
+/turf/open/floor/wood,
/area/crew_quarters/bar)
"aMy" = (
/obj/structure/disposalpipe/segment{
@@ -16910,11 +15528,11 @@
/turf/open/floor/plasteel,
/area/hydroponics)
"aMB" = (
-/obj/machinery/vending/coffee,
+/obj/structure/reagent_dispensers/keg/mead,
/turf/open/floor/wood,
/area/crew_quarters/bar)
"aMC" = (
-/obj/machinery/vending/cola/random,
+/obj/structure/reagent_dispensers/keg/gargle,
/turf/open/floor/wood,
/area/crew_quarters/bar)
"aMD" = (
@@ -16941,30 +15559,11 @@
/obj/item/wirecutters,
/turf/open/floor/plasteel,
/area/hydroponics)
-"aMH" = (
-/obj/structure/chair/office/dark{
- dir = 1
- },
-/turf/open/floor/wood,
-/area/library)
"aMI" = (
/obj/machinery/light/small,
/obj/machinery/vending/wardrobe/hydro_wardrobe,
/turf/open/floor/plasteel,
/area/hydroponics)
-"aMJ" = (
-/obj/structure/chair/office/dark{
- dir = 1
- },
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/wood,
-/area/library)
-"aMK" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 1
- },
-/turf/open/floor/plasteel/dark,
-/area/chapel/office)
"aML" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
@@ -16973,8 +15572,7 @@
/area/chapel/main)
"aMM" = (
/obj/machinery/camera{
- c_tag = "Chapel North";
- dir = 2
+ c_tag = "Chapel North"
},
/turf/open/floor/plasteel/dark,
/area/chapel/main)
@@ -17040,10 +15638,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel,
/area/hallway/primary/port)
-"aMW" = (
-/obj/structure/bodycontainer/morgue,
-/turf/open/floor/plasteel/dark,
-/area/chapel/office)
"aMX" = (
/turf/open/floor/plasteel/grimy,
/area/chapel/office)
@@ -17153,16 +15747,17 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
-"aNt" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- dir = 4
- },
-/turf/open/floor/wood,
-/area/crew_quarters/theatre)
"aNu" = (
-/obj/structure/closet/secure_closet/bar{
- req_access_txt = "25"
+/obj/structure/table/wood,
+/obj/item/paper/fluff{
+ info = "Renovation Notice
The bar layout for the station is very old. We've decided to give it a facelift after our partnership with IKEA Intergalactic?.
| [sanitize(R.name)] ([price_listed]) | " + if(R.amount > 0 && ((C && C.registered_account && onstation) || (!onstation && isliving(user)))) + dat += "[R.amount] Vend | " + else + dat += "Not Available | " + dat += "
"
dat += "Flavor Text" dat += "Set Examine Text" @@ -625,6 +629,19 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "[features["taur"]]" + if("insect_markings" in pref_species.default_features) + if(!mutant_category) + dat += APPEARANCE_CATEGORY_COLUMN + + dat += " Insect markings" + + dat += "[features["insect_markings"]]" + + mutant_category++ + if(mutant_category >= MAX_MUTANT_ROWS) + dat += " | "
+ mutant_category = 0
+
mutant_category++
if(mutant_category >= MAX_MUTANT_ROWS)
dat += ""
@@ -712,13 +729,13 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "
"
dat += "Clothing & Equipment" dat += "Underwear:[underwear]" - if(UNDIE_COLORABLE(GLOB.underwear_list[underwear])) + if(GLOB.underwear_list[underwear]?.has_color) dat += "Underwear Color: Change" dat += "Undershirt:[undershirt]" - if(UNDIE_COLORABLE(GLOB.undershirt_list[undershirt])) + if(GLOB.undershirt_list[undershirt]?.has_color) dat += "Undershirt Color: Change " dat += "Socks:[socks]" - if(UNDIE_COLORABLE(GLOB.socks_list[socks])) + if(GLOB.socks_list[socks]?.has_color) dat += "Socks Color: Change " dat += "Backpack:[backbag]" dat += "Jumpsuit: [jumpsuit_style] " @@ -825,13 +842,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat +=" | "
dat += "Citadel Preferences" //Because fuck me if preferences can't be fucking modularized and expected to update in a reasonable timeframe. - dat += "Arousal:[arousable == TRUE ? "Enabled" : "Disabled"]" - dat += "Voracious MediHound sleepers: [(cit_toggles & MEDIHOUND_SLEEPER) ? "Yes" : "No"] " - dat += "Hear Vore Sounds: [(cit_toggles & EATING_NOISES) ? "Yes" : "No"] " - dat += "Hear Vore Digestion Sounds: [(cit_toggles & DIGESTION_NOISES) ? "Yes" : "No"] " - dat += "Lewdchem:[lewdchem == TRUE ? "Enabled" : "Disabled"] " dat += "Widescreen: [widescreenpref ? "Enabled ([CONFIG_GET(string/default_view)])" : "Disabled (15x15)"] " dat += "Auto stand: [autostand ? "Enabled" : "Disabled"] " + dat += "Auto OOC: [auto_ooc ? "Enabled" : "Disabled"] " dat += "Screen Shake: [(screenshake==100) ? "Full" : ((screenshake==0) ? "None" : "[screenshake]")] " if (user && user.client && !user.client.prefs.screenshake==0) dat += "Damage Screen Shake: [(damagescreenshake==1) ? "On" : ((damagescreenshake==0) ? "Off" : "Only when down")] " @@ -883,6 +896,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += " " dat += "Ambient Occlusion: [ambientocclusion ? "Enabled" : "Disabled"] " dat += "Fit Viewport: [auto_fit_viewport ? "Auto" : "Manual"] " + dat += "Sprint Key: [sprint_spacebar ? "Space" : "Shift"] " + dat += "Toggle Sprint: [sprint_toggle ? "Enabled" : "Disabled"] " if (CONFIG_GET(flag/maprotation) && CONFIG_GET(flag/tgstyle_maprotation)) var/p_map = preferred_map @@ -982,6 +997,26 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "" dat += " | [gear.description] |
"
+ dat += "Fetish content prefs" + dat += "Arousal:[arousable == TRUE ? "Enabled" : "Disabled"]" + dat += "Voracious MediHound sleepers: [(cit_toggles & MEDIHOUND_SLEEPER) ? "Yes" : "No"] " + dat += "Hear Vore Sounds: [(cit_toggles & EATING_NOISES) ? "Yes" : "No"] " + dat += "Hear Vore Digestion Sounds: [(cit_toggles & DIGESTION_NOISES) ? "Yes" : "No"] " + dat += "Forced Feminization: [(cit_toggles & FORCED_FEM) ? "Allowed" : "Disallowed"] " + dat += "Forced Masculinization: [(cit_toggles & FORCED_MASC) ? "Allowed" : "Disallowed"] " + dat += "Lewd Hypno: [(cit_toggles & HYPNO) ? "Allowed" : "Disallowed"] " + dat += " | "
+ dat +=""
+ dat += "Other content prefs" + dat += "Breast Enlargement: [(cit_toggles & BREAST_ENLARGEMENT) ? "Allowed" : "Disallowed"]" + dat += "Penis Enlargement: [(cit_toggles & PENIS_ENLARGEMENT) ? "Allowed" : "Disallowed"] " + dat += "Hypno: [(cit_toggles & NEVER_HYPNO) ? "Disallowed" : "Allowed"] " + dat += "Aphrodisiacs: [(cit_toggles & NO_APHRO) ? "Disallowed" : "Allowed"] " + dat += "Ass Slapping: [(cit_toggles & NO_ASS_SLAP) ? "Disallowed" : "Allowed"] " + dat += " " + dat += " " dat += " \ + dat += " \ Quirk balance remaining: [GetQuirkBalance()] " for(var/V in SSquirks.quirks) var/datum/quirk/T = SSquirks.quirks[V] @@ -1232,12 +1267,12 @@ GLOBAL_LIST_EMPTY(preferences_datums) LOCKED: [lock_reason] " else if(has_quirk) - dat += "[quirk_name] - [initial(T.desc)] \ - [has_quirk ? "Lose" : "Take"] ([quirk_cost] pts.) " + dat += "[has_quirk ? "Remove" : "Take"] ([quirk_cost] pts.) \ + [quirk_name] - [initial(T.desc)] " else - dat += "[quirk_name] - [initial(T.desc)] \ - [has_quirk ? "Lose" : "Take"] ([quirk_cost] pts.) " - dat += " " + dat += " Quirk Preferences ", 900, 600) //no reason not to reuse the occupation window, as it's cleaner that way
popup.set_window_options("can_close=0")
@@ -1251,6 +1286,12 @@ GLOBAL_LIST_EMPTY(preferences_datums)
bal -= initial(T.value)
return bal
+/datum/preferences/proc/GetPositiveQuirkCount()
+ . = 0
+ for(var/q in all_quirks)
+ if(SSquirks.quirk_points[q] > 0)
+ .++
+
/datum/preferences/Topic(href, href_list, hsrc) //yeah, gotta do this I guess..
. = ..()
if(href_list["close"])
@@ -1316,43 +1357,30 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/quirk = href_list["trait"]
if(!SSquirks.quirks[quirk])
return
+ for(var/V in SSquirks.quirk_blacklist) //V is a list
+ var/list/L = V
+ for(var/Q in all_quirks)
+ if((quirk in L) && (Q in L) && !(Q == quirk)) //two quirks have lined up in the list of the list of quirks that conflict with each other, so return (see quirks.dm for more details)
+ to_chat(user, "[quirk] is incompatible with [Q].")
+ return
var/value = SSquirks.quirk_points[quirk]
- if(value == 0)
- if(quirk in neutral_quirks)
- neutral_quirks -= quirk
- all_quirks -= quirk
- else
- neutral_quirks += quirk
- all_quirks += quirk
+ var/balance = GetQuirkBalance()
+ if(quirk in all_quirks)
+ if(balance + value < 0)
+ to_chat(user, "Refunding this would cause you to go below your balance!")
+ return
+ all_quirks -= quirk
else
- var/balance = GetQuirkBalance()
- if(quirk in positive_quirks)
- positive_quirks -= quirk
- all_quirks -= quirk
- else if(quirk in negative_quirks)
- if(balance + value < 0)
- to_chat(user, "Refunding this would cause you to go below your balance!")
- return
- negative_quirks -= quirk
- all_quirks -= quirk
- else if(value > 0)
- if(positive_quirks.len >= MAX_QUIRKS)
- to_chat(user, "You can't have more than [MAX_QUIRKS] positive quirks!")
- return
- if(balance - value < 0)
- to_chat(user, "You don't have enough balance to gain this quirk!")
- return
- positive_quirks += quirk
- all_quirks += quirk
- else
- negative_quirks += quirk
- all_quirks += quirk
+ if(GetPositiveQuirkCount() >= MAX_QUIRKS)
+ to_chat(user, "You can't have more than [MAX_QUIRKS] positive quirks!")
+ return
+ if(balance - value < 0)
+ to_chat(user, "You don't have enough balance to gain this quirk!")
+ return
+ all_quirks += quirk
SetQuirks(user)
if("reset")
all_quirks = list()
- positive_quirks = list()
- negative_quirks = list()
- neutral_quirks = list()
SetQuirks(user)
else
SetQuirks(user)
@@ -1565,10 +1593,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/temp_hsv = RGBtoHSV(new_mutantcolor)
if(new_mutantcolor == "#000000")
features["mcolor"] = pref_species.default_color
- update_preview_icon()
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin
features["mcolor"] = sanitize_hexcolor(new_mutantcolor)
- update_preview_icon()
else
to_chat(user, "Invalid color. Your color is not bright enough.")
@@ -1578,10 +1604,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/temp_hsv = RGBtoHSV(new_mutantcolor)
if(new_mutantcolor == "#000000")
features["mcolor2"] = pref_species.default_color
- update_preview_icon()
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin
features["mcolor2"] = sanitize_hexcolor(new_mutantcolor)
- update_preview_icon()
else
to_chat(user, "Invalid color. Your color is not bright enough.")
@@ -1591,10 +1615,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/temp_hsv = RGBtoHSV(new_mutantcolor)
if(new_mutantcolor == "#000000")
features["mcolor3"] = pref_species.default_color
- update_preview_icon()
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin
features["mcolor3"] = sanitize_hexcolor(new_mutantcolor)
- update_preview_icon()
else
to_chat(user, "Invalid color. Your color is not bright enough.")
@@ -1736,14 +1758,12 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["body_markings"] = new_body_markings
if(new_body_markings != "None")
features["mam_body_markings"] = "None"
- update_preview_icon()
if("legs")
var/new_legs
new_legs = input(user, "Choose your character's legs:", "Character Preference") as null|anything in GLOB.legs_list
if(new_legs)
features["legs"] = new_legs
- update_preview_icon()
if("insect_wings")
var/new_insect_wings
@@ -1763,6 +1783,12 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(new_insect_fluff)
features["insect_fluff"] = new_insect_fluff
+ if("insect_markings")
+ var/new_insect_markings
+ new_insect_markings = input(user, "Choose your character's markings:", "Character Preference") as null|anything in GLOB.insect_markings_list
+ if(new_insect_markings)
+ features["insect_markings"] = new_insect_markings
+
if("s_tone")
var/new_s_tone = input(user, "Choose your character's skin-tone:", "Character Preference") as null|anything in GLOB.skin_tones
if(new_s_tone)
@@ -1829,7 +1855,6 @@ GLOBAL_LIST_EMPTY(preferences_datums)
else if(new_mam_body_markings == "None")
features["mam_body_markings"] = "Plain"
features["body_markings"] = "None"
- update_preview_icon()
//Xeno Bodyparts
if("xenohead")//Head or caste type
@@ -2037,8 +2062,6 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["genitals_use_skintone"] = !features["genitals_use_skintone"]
if("arousable")
arousable = !arousable
- if("lewdchem")
- lewdchem = !lewdchem
if("has_cock")
features["has_cock"] = !features["has_cock"]
if(features["has_cock"] == FALSE)
@@ -2070,6 +2093,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
user.client.change_view(CONFIG_GET(string/default_view))
if("autostand")
autostand = !autostand
+ if("auto_ooc")
+ auto_ooc = !auto_ooc
if ("screenshake")
var/desiredshake = input(user, "Set the amount of screenshake you want. \n(0 = disabled, 100 = full, 200 = maximum.)", "Character Preference", screenshake) as null|num
if (!isnull(desiredshake))
@@ -2185,6 +2210,31 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if("toggledigestionnoise")
cit_toggles ^= DIGESTION_NOISES
+
+ if("breast_enlargement")
+ cit_toggles ^= BREAST_ENLARGEMENT
+
+ if("penis_enlargement")
+ cit_toggles ^= PENIS_ENLARGEMENT
+
+ if("feminization")
+ cit_toggles ^= FORCED_FEM
+
+ if("masculinization")
+ cit_toggles ^= FORCED_MASC
+
+ if("hypno")
+ cit_toggles ^= HYPNO
+
+ if("never_hypno")
+ cit_toggles ^= NEVER_HYPNO
+
+ if("aphro")
+ cit_toggles ^= NO_APHRO
+
+ if("ass_slap")
+ cit_toggles ^= NO_ASS_SLAP
+
//END CITADEL EDIT
if("ambientocclusion")
@@ -2198,6 +2248,12 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(auto_fit_viewport && parent)
parent.fit_viewport()
+ if("sprint_key")
+ sprint_spacebar = !sprint_spacebar
+
+ if("sprint_toggle")
+ sprint_toggle = !sprint_toggle
+
if("save")
save_preferences()
save_character()
@@ -2307,8 +2363,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
pref_species = new /datum/species/human
save_character()
- character.set_species(chosen_species, icon_update = FALSE, pref_load = TRUE)
character.dna.features = features.Copy()
+ character.set_species(chosen_species, icon_update = FALSE, pref_load = TRUE)
character.dna.real_name = character.real_name
character.dna.nameless = character.nameless
character.dna.custom_species = character.custom_species
@@ -2337,7 +2393,6 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(icon_updates)
character.update_body()
character.update_hair()
- character.update_body_parts()
/datum/preferences/proc/get_default_name(name_id)
switch(name_id)
@@ -2371,3 +2426,11 @@ GLOBAL_LIST_EMPTY(preferences_datums)
return
else
custom_names[name_id] = sanitized_name
+
+/datum/preferences/proc/get_filtered_holoform(filter_type)
+ if(!custom_holoform_icon)
+ return
+ LAZYINITLIST(cached_holoform_icons)
+ if(!cached_holoform_icons[filter_type])
+ cached_holoform_icons[filter_type] = process_holoform_icon_filter(custom_holoform_icon, filter_type)
+ return cached_holoform_icons[filter_type]
diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm
index 29ea8f5821..d78b9fe6fd 100644
--- a/code/modules/client/preferences_savefile.dm
+++ b/code/modules/client/preferences_savefile.dm
@@ -112,7 +112,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
if(current_version < 24 && S["feature_exhibitionist"])
var/datum/quirk/exhibitionism/E
var/quirk_name = initial(E.name)
- neutral_quirks += quirk_name
all_quirks += quirk_name
/datum/preferences/proc/load_path(ckey,filename="preferences.sav")
@@ -168,6 +167,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["parallax"] >> parallax
S["ambientocclusion"] >> ambientocclusion
S["auto_fit_viewport"] >> auto_fit_viewport
+ S["sprint_spacebar"] >> sprint_spacebar
+ S["sprint_toggle"] >> sprint_toggle
S["menuoptions"] >> menuoptions
S["enable_tips"] >> enable_tips
S["tip_delay"] >> tip_delay
@@ -182,8 +183,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["widescreenpref"] >> widescreenpref
S["autostand"] >> autostand
S["cit_toggles"] >> cit_toggles
- S["lewdchem"] >> lewdchem
S["preferred_chaos"] >> preferred_chaos
+ S["auto_ooc"] >> auto_ooc
//try to fix any outdated data if necessary
@@ -205,6 +206,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
parallax = sanitize_integer(parallax, PARALLAX_INSANE, PARALLAX_DISABLE, null)
ambientocclusion = sanitize_integer(ambientocclusion, 0, 1, initial(ambientocclusion))
auto_fit_viewport = sanitize_integer(auto_fit_viewport, 0, 1, initial(auto_fit_viewport))
+ sprint_spacebar = sanitize_integer(sprint_spacebar, 0, 1, initial(sprint_spacebar))
+ sprint_toggle = sanitize_integer(sprint_toggle, 0, 1, initial(sprint_toggle))
ghost_form = sanitize_inlist(ghost_form, GLOB.ghost_forms, initial(ghost_form))
ghost_orbit = sanitize_inlist(ghost_orbit, GLOB.ghost_orbits, initial(ghost_orbit))
ghost_accs = sanitize_inlist(ghost_accs, GLOB.ghost_accs_options, GHOST_ACCS_DEFAULT_OPTION)
@@ -220,7 +223,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
widescreenpref = sanitize_integer(widescreenpref, 0, 1, initial(widescreenpref))
autostand = sanitize_integer(autostand, 0, 1, initial(autostand))
cit_toggles = sanitize_integer(cit_toggles, 0, 65535, initial(cit_toggles))
-
+ auto_ooc = sanitize_integer(auto_ooc, 0, 1, initial(auto_ooc))
return 1
@@ -265,6 +268,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["parallax"], parallax)
WRITE_FILE(S["ambientocclusion"], ambientocclusion)
WRITE_FILE(S["auto_fit_viewport"], auto_fit_viewport)
+ WRITE_FILE(S["sprint_spacebar"], sprint_spacebar)
+ WRITE_FILE(S["sprint_toggle"], sprint_toggle)
WRITE_FILE(S["menuoptions"], menuoptions)
WRITE_FILE(S["enable_tips"], enable_tips)
WRITE_FILE(S["tip_delay"], tip_delay)
@@ -279,8 +284,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["widescreenpref"], widescreenpref)
WRITE_FILE(S["autostand"], autostand)
WRITE_FILE(S["cit_toggles"], cit_toggles)
- WRITE_FILE(S["lewdchem"], lewdchem)
WRITE_FILE(S["preferred_chaos"], preferred_chaos)
+ WRITE_FILE(S["auto_ooc"], auto_ooc)
return 1
@@ -367,9 +372,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["feature_lizard_legs"] >> features["legs"]
S["feature_human_tail"] >> features["tail_human"]
S["feature_human_ears"] >> features["ears"]
+ S["feature_deco_wings"] >> features["deco_wings"]
S["feature_insect_wings"] >> features["insect_wings"]
- S["feature_deco_wings"] >> features["deco_wings"]
S["feature_insect_fluff"] >> features["insect_fluff"]
+ S["feature_insect_markings"] >> features["insect_markings"]
//Custom names
for(var/custom_name_id in GLOB.preferences_custom_names)
@@ -386,9 +392,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
//Quirks
S["all_quirks"] >> all_quirks
- S["positive_quirks"] >> positive_quirks
- S["negative_quirks"] >> negative_quirks
- S["neutral_quirks"] >> neutral_quirks
//Citadel code
S["feature_genitals_use_skintone"] >> features["genitals_use_skintone"]
@@ -507,9 +510,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
features["spines"] = sanitize_inlist(features["spines"], GLOB.spines_list)
features["body_markings"] = sanitize_inlist(features["body_markings"], GLOB.body_markings_list)
features["feature_lizard_legs"] = sanitize_inlist(features["legs"], GLOB.legs_list)
- features["insect_wings"] = sanitize_inlist(features["insect_wings"], GLOB.insect_wings_list)
features["deco_wings"] = sanitize_inlist(features["deco_wings"], GLOB.deco_wings_list, "None")
features["insect_fluff"] = sanitize_inlist(features["insect_fluff"], GLOB.insect_fluffs_list)
+ features["insect_markings"] = sanitize_inlist(features["insect_markings"], GLOB.insect_markings_list, "None")
+ features["insect_wings"] = sanitize_inlist(features["insect_wings"], GLOB.insect_wings_list)
joblessrole = sanitize_integer(joblessrole, 1, 3, initial(joblessrole))
//Validate job prefs
@@ -519,9 +523,20 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
all_quirks = SANITIZE_LIST(all_quirks)
- positive_quirks = SANITIZE_LIST(positive_quirks)
- negative_quirks = SANITIZE_LIST(negative_quirks)
- neutral_quirks = SANITIZE_LIST(neutral_quirks)
+ for(var/V in all_quirks) // quirk migration
+ switch(V)
+ if("Acute hepatic pharmacokinesis")
+ DISABLE_BITFIELD(cit_toggles, PENIS_ENLARGEMENT)
+ DISABLE_BITFIELD(cit_toggles, BREAST_ENLARGEMENT)
+ ENABLE_BITFIELD(cit_toggles,FORCED_FEM)
+ ENABLE_BITFIELD(cit_toggles,FORCED_MASC)
+ all_quirks -= V
+ if("Crocin Immunity")
+ ENABLE_BITFIELD(cit_toggles,NO_APHRO)
+ all_quirks -= V
+ if("Buns of Steel")
+ ENABLE_BITFIELD(cit_toggles,NO_ASS_SLAP)
+ all_quirks -= V
cit_character_pref_load(S)
@@ -578,11 +593,13 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["feature_lizard_spines"] , features["spines"])
WRITE_FILE(S["feature_lizard_body_markings"] , features["body_markings"])
WRITE_FILE(S["feature_lizard_legs"] , features["legs"])
- WRITE_FILE(S["feature_insect_wings"] , features["insect_wings"])
WRITE_FILE(S["feature_deco_wings"] , features["deco_wings"])
+ WRITE_FILE(S["feature_insect_wings"] , features["insect_wings"])
WRITE_FILE(S["feature_insect_fluff"] , features["insect_fluff"])
+ WRITE_FILE(S["feature_insect_markings"] , features["insect_markings"])
WRITE_FILE(S["feature_meat"] , features["meat_type"])
+
//Custom names
for(var/custom_name_id in GLOB.preferences_custom_names)
var/savefile_slot_name = custom_name_id + "_name" //TODO remove this
@@ -598,9 +615,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
//Quirks
WRITE_FILE(S["all_quirks"] , all_quirks)
- WRITE_FILE(S["positive_quirks"] , positive_quirks)
- WRITE_FILE(S["negative_quirks"] , negative_quirks)
- WRITE_FILE(S["neutral_quirks"] , neutral_quirks)
cit_character_pref_save(S)
diff --git a/code/modules/client/verbs/aooc.dm b/code/modules/client/verbs/aooc.dm
index 311c22955d..3f86a617e6 100644
--- a/code/modules/client/verbs/aooc.dm
+++ b/code/modules/client/verbs/aooc.dm
@@ -116,7 +116,7 @@ GLOBAL_VAR_INIT(normal_aooc_colour, "#ce254f")
antaglisting |= M.current.client
for(var/mob/M in GLOB.player_list)
- if(M.client && (M.stat == DEAD || M.client.holder))
+ if(M.client && (M.stat == DEAD || M.client.holder || is_special_character(M)))
antaglisting |= M.client
for(var/client/C in antaglisting)
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index f8f1a67e5a..6fd1584e75 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -22,7 +22,6 @@
var/cooldown = 0
var/obj/item/flashlight/F = null
var/can_flashlight = 0
- var/scan_reagents = 0 //Can the wearer see reagents while it's equipped?
var/blocks_shove_knockdown = FALSE //Whether wearing the clothing item blocks the ability for shove to knock down.
@@ -47,6 +46,16 @@
//Add a "exclude" string to do the opposite, making it only only species listed that can't wear it.
//You append this to clothing objects.
+ //Polychrome stuff:
+ var/hasprimary = FALSE //These vars allow you to choose which overlays a clothing has
+ var/hassecondary = FALSE
+ var/hastertiary = FALSE
+ var/primary_color = "#FFFFFF" //RGB in hexcode
+ var/secondary_color = "#FFFFFF"
+ var/tertiary_color = "#808080"
+
+ //No idea what this is but eh -tori
+ var/force_alternate_icon = FALSE
/obj/item/clothing/Initialize()
. = ..()
@@ -54,6 +63,8 @@
actions_types += /datum/action/item_action/toggle_voice_box
if(ispath(pocket_storage_component_path))
LoadComponent(pocket_storage_component_path)
+ if(hasprimary | hassecondary | hastertiary) //Checks if polychrome is enabled
+ update_icon() //Applies the overlays and default colors onto the clothes on spawn.
/obj/item/clothing/MouseDrop(atom/over_object)
. = ..()
@@ -138,6 +149,8 @@
how_cool_are_your_threads += "Adding or removing items from [src] makes no noise.\n"
how_cool_are_your_threads += ""
. += how_cool_are_your_threads.Join()
+ if(hasprimary | hassecondary | hastertiary) //Checks if polychrome is enabled
+ . += "Alt-click to recolor it."
/obj/item/clothing/obj_break(damage_flag)
if(!damaged_clothes)
@@ -253,16 +266,64 @@ BLIND // can't see anything
H.update_suit_sensors()
/obj/item/clothing/under/AltClick(mob/user)
- if(..())
- return 1
-
+ . = ..()
if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
return
+ if(attached_accessory)
+ remove_accessory(user)
else
- if(attached_accessory)
- remove_accessory(user)
- else
- rolldown()
+ rolldown()
+ // Polychrome stuff:
+ if(hasprimary | hassecondary | hastertiary)
+ var/choice = input(user,"polychromic thread options", "Clothing Recolor") as null|anything in list("[hasprimary ? "Primary Color" : ""]", "[hassecondary ? "Secondary Color" : ""]", "[hastertiary ? "Tertiary Color" : ""]") //generates a list depending on the enabled overlays
+ switch(choice) //Lets the list's options actually lead to something
+ if("Primary Color")
+ var/primary_color_input = input(usr,"","Choose Primary Color",primary_color) as color|null //color input menu, the "|null" adds a cancel button to it.
+ if(primary_color_input) //Checks if the color selected is NULL, rejects it if it is NULL.
+ primary_color = sanitize_hexcolor(primary_color_input, desired_format=6, include_crunch=1) //formats the selected color properly
+ update_icon() //updates the item icon
+ user.regenerate_icons() //updates the worn icon. Probably a bad idea, but it works.
+ if("Secondary Color")
+ var/secondary_color_input = input(usr,"","Choose Secondary Color",secondary_color) as color|null
+ if(secondary_color_input)
+ secondary_color = sanitize_hexcolor(secondary_color_input, desired_format=6, include_crunch=1)
+ update_icon()
+ user.regenerate_icons()
+ if("Tertiary Color")
+ var/tertiary_color_input = input(usr,"","Choose Tertiary Color",tertiary_color) as color|null
+ if(tertiary_color_input)
+ tertiary_color = sanitize_hexcolor(tertiary_color_input, desired_format=6, include_crunch=1)
+ update_icon()
+ user.regenerate_icons()
+ return TRUE
+
+/obj/item/clothing/neck/AltClick(mob/user)
+ . = ..()
+ if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
+ return
+ // Polychrome stuff:
+ if(hasprimary | hassecondary | hastertiary)
+ var/choice = input(user,"polychromic thread options", "Clothing Recolor") as null|anything in list("[hasprimary ? "Primary Color" : ""]", "[hassecondary ? "Secondary Color" : ""]", "[hastertiary ? "Tertiary Color" : ""]") //generates a list depending on the enabled overlays
+ switch(choice) //Lets the list's options actually lead to something
+ if("Primary Color")
+ var/primary_color_input = input(usr,"","Choose Primary Color",primary_color) as color|null //color input menu, the "|null" adds a cancel button to it.
+ if(primary_color_input) //Checks if the color selected is NULL, rejects it if it is NULL.
+ primary_color = sanitize_hexcolor(primary_color_input, desired_format=6, include_crunch=1) //formats the selected color properly
+ update_icon() //updates the item icon
+ user.regenerate_icons() //updates the worn icon. Probably a bad idea, but it works.
+ if("Secondary Color")
+ var/secondary_color_input = input(usr,"","Choose Secondary Color",secondary_color) as color|null
+ if(secondary_color_input)
+ secondary_color = sanitize_hexcolor(secondary_color_input, desired_format=6, include_crunch=1)
+ update_icon()
+ user.regenerate_icons()
+ if("Tertiary Color")
+ var/tertiary_color_input = input(usr,"","Choose Tertiary Color",tertiary_color) as color|null
+ if(tertiary_color_input)
+ tertiary_color = sanitize_hexcolor(tertiary_color_input, desired_format=6, include_crunch=1)
+ update_icon()
+ user.regenerate_icons()
+ return TRUE
/obj/item/clothing/under/verb/jumpsuit_adjust()
set name = "Adjust Jumpsuit Style"
@@ -379,3 +440,18 @@ BLIND // can't see anything
return FALSE
return TRUE
+
+/obj/item/clothing/update_icon() // Polychrome stuff
+ ..()
+ if(hasprimary) //Checks if the overlay is enabled
+ var/mutable_appearance/primary_overlay = mutable_appearance(icon, "[item_color]-primary") //Automagically picks overlays
+ primary_overlay.color = primary_color //Colors the greyscaled overlay
+ add_overlay(primary_overlay) //Applies the coloured overlay onto the item sprite. but NOT the mob sprite.
+ if(hassecondary)
+ var/mutable_appearance/secondary_overlay = mutable_appearance(icon, "[item_color]-secondary")
+ secondary_overlay.color = secondary_color
+ add_overlay(secondary_overlay)
+ if(hastertiary)
+ var/mutable_appearance/tertiary_overlay = mutable_appearance(icon, "[item_color]-tertiary")
+ tertiary_overlay.color = tertiary_color
+ add_overlay(tertiary_overlay)
\ No newline at end of file
diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm
index 608f71cf11..a80cf6fba3 100644
--- a/code/modules/clothing/glasses/_glasses.dm
+++ b/code/modules/clothing/glasses/_glasses.dm
@@ -43,15 +43,19 @@
//called when thermal glasses are emped.
/obj/item/clothing/glasses/proc/thermal_overload()
- if(ishuman(src.loc))
- var/mob/living/carbon/human/H = src.loc
- if(!(HAS_TRAIT(H, TRAIT_BLIND)))
- if(H.glasses == src)
- to_chat(H, "[src] overloads and blinds you!")
- H.flash_act(visual = 1)
- H.blind_eyes(3)
- H.blur_eyes(5)
- H.adjust_eye_damage(5)
+ if(!ishuman(loc))
+ return
+ var/mob/living/carbon/human/H = loc
+ var/obj/item/organ/eyes/eyes = H.getorganslot(ORGAN_SLOT_EYES)
+ if((!HAS_TRAIT(H, TRAIT_BLIND) || !eyes) && H.glasses == src)
+ to_chat(H, "[src] overloads and blinds you!")
+ H.flash_act(visual = 1)
+ H.blind_eyes(3)
+ H.blur_eyes(5)
+ eyes.applyOrganDamage(5)
+
+/obj/item/clothing/glasses/proc/ranged_attack(mob/living/carbon/human/user,atom/A, params)
+ return FALSE
/obj/item/clothing/glasses/meson
name = "optical meson scanner"
@@ -98,7 +102,7 @@
desc = "A pair of snazzy goggles used to protect against chemical spills. Fitted with an analyzer for scanning items and reagents."
icon_state = "purple"
item_state = "glasses"
- scan_reagents = TRUE //You can see reagents while wearing science goggles
+ clothing_flags = SCAN_REAGENTS //You can see reagents while wearing science goggles
actions_types = list(/datum/action/item_action/toggle_research_scanner)
glass_colour_type = /datum/client_colour/glass_colour/purple
resistance_flags = ACID_PROOF
@@ -202,7 +206,7 @@
/obj/item/clothing/glasses/sunglasses/reagent
name = "beer goggles"
desc = "A pair of sunglasses outfitted with apparatus to scan reagents."
- scan_reagents = TRUE
+ clothing_flags = SCAN_REAGENTS
/obj/item/clothing/glasses/sunglasses/garb
name = "black gar glasses"
@@ -404,7 +408,7 @@
item_state = "godeye"
vision_flags = SEE_TURFS|SEE_MOBS|SEE_OBJS
darkness_view = 8
- scan_reagents = TRUE
+ clothing_flags = SCAN_REAGENTS
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
resistance_flags = LAVA_PROOF | FIRE_PROOF
@@ -427,19 +431,17 @@
..()
/obj/item/clothing/glasses/AltClick(mob/user)
+ . = ..()
if(glass_colour_type && ishuman(user))
var/mob/living/carbon/human/H = user
- if(H.client)
- if(H.client.prefs)
- if(src == H.glasses)
- H.client.prefs.uses_glasses_colour = !H.client.prefs.uses_glasses_colour
- if(H.client.prefs.uses_glasses_colour)
- to_chat(H, "You will now see glasses colors.")
- else
- to_chat(H, "You will no longer see glasses colors.")
- H.update_glasses_color(src, 1)
- else
- return ..()
+ if(H.client?.prefs && src == H.glasses)
+ H.client.prefs.uses_glasses_colour = !H.client.prefs.uses_glasses_colour
+ if(H.client.prefs.uses_glasses_colour)
+ to_chat(H, "You will now see glasses colors.")
+ else
+ to_chat(H, "You will no longer see glasses colors.")
+ H.update_glasses_color(src, 1)
+ return TRUE
/obj/item/clothing/glasses/proc/change_glass_color(mob/living/carbon/human/H, datum/client_colour/glass_colour/new_color_type)
var/old_colour_type = glass_colour_type
diff --git a/code/modules/clothing/glasses/disablerglasses.dm b/code/modules/clothing/glasses/disablerglasses.dm
new file mode 100644
index 0000000000..a46e4c8339
--- /dev/null
+++ b/code/modules/clothing/glasses/disablerglasses.dm
@@ -0,0 +1,15 @@
+/obj/item/clothing/glasses/hud/security/sunglasses/disablers
+ name = "true stunglasses"
+ desc = "Made for only the best of shitsec. Wear 'em like you're gonna robust all of those fuckers."
+ var/beamtype = /obj/item/projectile/beam/disabler //change for adminbus
+
+/obj/item/clothing/glasses/hud/security/sunglasses/disablers/ranged_attack(mob/living/carbon/human/user,atom/A, params)
+ user.changeNext_move(CLICK_CD_RANGE)
+ var/obj/item/projectile/beam/disabler/LE = new beamtype( loc )
+ playsound(usr.loc, 'sound/weapons/taser2.ogg', 75, 1)
+ LE.firer = src
+ LE.def_zone = user.get_organ_target()
+ LE.preparePixelProjectile(A, src, params)
+ LE.fire()
+ return TRUE
+ //shamelessly copied
\ No newline at end of file
diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm
index 47706a3e1e..0132fa8596 100644
--- a/code/modules/clothing/glasses/engine_goggles.dm
+++ b/code/modules/clothing/glasses/engine_goggles.dm
@@ -90,7 +90,7 @@
for(var/i in rad_places)
var/turf/place = i
- if(get_dist(user, place) >= range*2) //Rads are easier to see than wires under the floor
+ if(get_dist(user, place) >= range*8) //Rads are easier to see than wires under the floor
continue
var/strength = round(rad_places[i] / 1000, 0.1)
var/image/pic = new(loc = place)
@@ -139,7 +139,6 @@
item_state = "trayson-t-ray"
desc = "Used by engineering staff to see underfloor objects such as cables and pipes."
range = 2
-
modes = list(MODE_NONE = MODE_TRAY, MODE_TRAY = MODE_NONE)
/obj/item/clothing/glasses/meson/engine/tray/prescription
@@ -152,7 +151,6 @@
icon_state = "trayson-shuttle"
item_state = "trayson-shuttle"
desc = "Used to see the boundaries of shuttle regions."
-
modes = list(MODE_NONE = MODE_SHUTTLE, MODE_SHUTTLE = MODE_NONE)
#undef MODE_NONE
diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm
index 90c0690534..dc7e1df15f 100644
--- a/code/modules/clothing/head/collectable.dm
+++ b/code/modules/clothing/head/collectable.dm
@@ -27,7 +27,6 @@
icon_state = "chef"
item_state = "chef"
dynamic_hair_suffix = ""
-
dog_fashion = /datum/dog_fashion/head/chef
/obj/item/clothing/head/collectable/paper
diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm
index fa61b81177..19f03dfd0a 100644
--- a/code/modules/clothing/head/hardhat.dm
+++ b/code/modules/clothing/head/hardhat.dm
@@ -115,8 +115,10 @@
toggle_helmet_light(user)
/obj/item/clothing/head/hardhat/weldhat/AltClick(mob/user)
+ . = ..()
if(user.canUseTopic(src, BE_CLOSE))
toggle_welding_screen(user)
+ return TRUE
/obj/item/clothing/head/hardhat/weldhat/proc/toggle_welding_screen(mob/living/user)
if(weldingvisortoggle(user))
diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm
index 8ff6fe8bd1..05116c8b97 100644
--- a/code/modules/clothing/head/jobs.dm
+++ b/code/modules/clothing/head/jobs.dm
@@ -104,16 +104,16 @@
. += "Alt-click to take a candy corn."
/obj/item/clothing/head/fedora/det_hat/AltClick(mob/user)
- if(user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
- ..()
- if(loc == user)
- if(candy_cooldown < world.time)
- var/obj/item/reagent_containers/food/snacks/candy_corn/CC = new /obj/item/reagent_containers/food/snacks/candy_corn(src)
- user.put_in_hands(CC)
- to_chat(user, "You slip a candy corn from your hat.")
- candy_cooldown = world.time+1200
- else
- to_chat(user, "You just took a candy corn! You should wait a couple minutes, lest you burn through your stash.")
+ . = ..()
+ if(loc == user && user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
+ if(candy_cooldown < world.time)
+ var/obj/item/reagent_containers/food/snacks/candy_corn/CC = new /obj/item/reagent_containers/food/snacks/candy_corn(src)
+ user.put_in_hands(CC)
+ to_chat(user, "You slip a candy corn from your hat.")
+ candy_cooldown = world.time+1200
+ else
+ to_chat(user, "You just took a candy corn! You should wait a couple minutes, lest you burn through your stash.")
+ return TRUE
//Mime
diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm
index 909d23e49b..3fa5d56d1e 100644
--- a/code/modules/clothing/head/misc.dm
+++ b/code/modules/clothing/head/misc.dm
@@ -113,10 +113,8 @@
desc = "Wearing these makes you look useless, and only good for your sex appeal."
icon_state = "bunny"
dynamic_hair_suffix = ""
-
dog_fashion = /datum/dog_fashion/head/rabbit
-
/obj/item/clothing/head/flatcap
name = "flat cap"
desc = "A working man's cap."
@@ -205,7 +203,6 @@
item_state = "sombrero"
desc = "You can practically taste the fiesta."
flags_inv = HIDEHAIR
-
dog_fashion = /datum/dog_fashion/head/sombrero
/obj/item/clothing/head/sombrero/green
@@ -369,3 +366,29 @@
item_state = "assu_helmet"
desc = "A cheap replica of old riot helmet without visor. It has \"D.A.B.\" written on the front."
flags_inv = HIDEHAIR
+
+/obj/item/clothing/head/hotel
+ name = "Telegram cap"
+ desc = "A bright red cap warn by hotel staff. Or people who want to be a singing telegram"
+ icon_state = "telegram"
+ item_color = "telegram"
+ dog_fashion = /datum/dog_fashion/head/telegram
+
+/obj/item/clothing/head/colour
+ name = "Singer cap"
+ desc = "A light white hat that has bands of color. Just makes you want to sing and dance!"
+ icon_state = "colour"
+ item_color = "colour"
+ dog_fashion = /datum/dog_fashion/head/colour
+
+/obj/item/clothing/head/christmashat
+ name = "red santa hat"
+ desc = "A red Christmas Hat! How festive!"
+ icon_state = "christmashat"
+ item_state = "christmashat"
+
+/obj/item/clothing/head/christmashatg
+ name = "green santa hat"
+ desc = "A green Christmas Hat! How festive!"
+ icon_state = "christmashatg"
+ item_state = "christmashatg"
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index fc82d038ce..127bf4c773 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -309,4 +309,4 @@
//The "pocket" for the M1 helmet so you can tuck things into the elastic band
/datum/component/storage/concrete/pockets/tiny/spacenam
- attack_hand_interact = TRUE //So you can actually see what you stuff in there
\ No newline at end of file
+ attack_hand_interact = TRUE //So you can actually see what you stuff in there
diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm
index 8754c89511..69ec1ccedd 100644
--- a/code/modules/clothing/head/soft_caps.dm
+++ b/code/modules/clothing/head/soft_caps.dm
@@ -22,11 +22,11 @@
/obj/item/clothing/head/soft/AltClick(mob/user)
- ..()
+ . = ..()
if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
return
- else
- flip(user)
+ flip(user)
+ return TRUE
/obj/item/clothing/head/soft/proc/flip(mob/user)
@@ -139,4 +139,4 @@
flags_inv = HIDEEYES|HIDEFACE
armor = list("melee" = 35, "bullet" = 35, "laser" = 25, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 90)
strip_delay = 90 //You dont take a Major Leage cap
- dog_fashion = null
\ No newline at end of file
+ dog_fashion = null
diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm
index 7d0c4a455e..f4335d17e8 100644
--- a/code/modules/clothing/masks/breath.dm
+++ b/code/modules/clothing/masks/breath.dm
@@ -23,11 +23,11 @@
adjustmask(user)
/obj/item/clothing/mask/breath/AltClick(mob/user)
- ..()
+ . = ..()
if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
return
- else
- adjustmask(user)
+ adjustmask(user)
+ return TRUE
/obj/item/clothing/mask/breath/examine(mob/user)
. = ..()
diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm
index 2356bb16eb..e863dc8860 100644
--- a/code/modules/clothing/neck/_neck.dm
+++ b/code/modules/clothing/neck/_neck.dm
@@ -66,7 +66,9 @@
var/obj/item/organ/heart/heart = M.getorganslot(ORGAN_SLOT_HEART)
var/obj/item/organ/lungs/lungs = M.getorganslot(ORGAN_SLOT_LUNGS)
- if(!(M.stat == DEAD || (HAS_TRAIT(M, TRAIT_FAKEDEATH))))
+ if (!do_mob(user,M,60)) // Stethoscope should take a moment to listen
+ return // FAIL
+ if(!(M.stat == DEAD || (HAS_TRAIT(M, TRAIT_FAKEDEATH)) || (HAS_TRAIT(M, TRAIT_NOPULSE))))
if(heart && istype(heart))
heart_strength = "an unstable"
if(heart.beating)
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 080d9281cf..43c99fe7fd 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -89,12 +89,12 @@
/obj/item/clothing/shoes/clown_shoes/equipped(mob/user, slot)
. = ..()
- if(user.mind && user.mind.assigned_role == "Clown")
+ if(user.mind && HAS_TRAIT(user.mind, TRAIT_CLOWN_MENTALITY))
SEND_SIGNAL(user, COMSIG_CLEAR_MOOD_EVENT, "noshoes")
/obj/item/clothing/shoes/clown_shoes/dropped(mob/user)
. = ..()
- if(user.mind && user.mind.assigned_role == "Clown")
+ if(user.mind && HAS_TRAIT(user.mind, TRAIT_CLOWN_MENTALITY))
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "noshoes", /datum/mood_event/noshoes)
/obj/item/clothing/shoes/clown_shoes/jester
@@ -129,6 +129,21 @@
max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
+/obj/item/clothing/shoes/winterboots/christmasbootsr
+ name = "red christmas boots"
+ desc = "A pair of fluffy red christmas boots!"
+ icon_state = "christmasbootsr"
+
+/obj/item/clothing/shoes/winterboots/christmasbootsg
+ name = "green christmas boots"
+ desc = "A pair of fluffy green christmas boots!"
+ icon_state = "christmasbootsg"
+
+/obj/item/clothing/shoes/winterboots/santaboots
+ name = "santa boots"
+ desc = "A pair of santa boots! How traditional!!"
+ icon_state = "santaboots"
+
/obj/item/clothing/shoes/workboots
name = "work boots"
desc = "Nanotrasen-issue Engineering lace-up work boots for the especially blue-collar."
diff --git a/code/modules/clothing/shoes/taeclowndo.dm b/code/modules/clothing/shoes/taeclowndo.dm
index f2bbdf0ceb..7c891dbde4 100644
--- a/code/modules/clothing/shoes/taeclowndo.dm
+++ b/code/modules/clothing/shoes/taeclowndo.dm
@@ -13,7 +13,7 @@
if(!ishuman(user))
return
var/mob/living/carbon/human/H = user
- if(!(HAS_TRAIT(H, TRAIT_CLUMSY)) && !(H.mind && H.mind.assigned_role == "Clown"))
+ if(!(HAS_TRAIT(H, TRAIT_CLUMSY)) && !(H.mind && HAS_TRAIT(H.mind, TRAIT_CLOWN_MENTALITY)))
return
if(slot == SLOT_SHOES)
spells = new
diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm
index e7032ead13..324d4bc722 100644
--- a/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/code/modules/clothing/spacesuits/hardsuit.dm
@@ -65,7 +65,7 @@
/obj/item/clothing/head/helmet/space/hardsuit/proc/display_visor_message(var/msg)
var/mob/wearer = loc
if(msg && ishuman(wearer))
- wearer.show_message("[icon2html(src, wearer)][msg]", 1)
+ wearer.show_message("[icon2html(src, wearer)][msg]", MSG_VISUAL)
/obj/item/clothing/head/helmet/space/hardsuit/rad_act(severity)
. = ..()
@@ -212,7 +212,7 @@
icon_state = "hardsuit0-white"
item_state = "ce_helm"
item_color = "white"
- armor = list("melee" = 40, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 50, "bio" = 100, "rad" = 90, "fire" = 100, "acid" = 90)
+ armor = list("melee" = 40, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 90)
heat_protection = HEAD
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
@@ -221,7 +221,7 @@
name = "advanced hardsuit"
desc = "An advanced suit that protects against hazardous, low pressure environments. Shines with a high polish."
item_state = "ce_hardsuit"
- armor = list("melee" = 40, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 50, "bio" = 100, "rad" = 90, "fire" = 100, "acid" = 90)
+ armor = list("melee" = 40, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 50, "bio" = 100, "rad" = 95, "fire" = 100, "acid" = 90)
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/elite
@@ -445,7 +445,7 @@
flash_protect = 0
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75)
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
- scan_reagents = TRUE
+ clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS | SCAN_REAGENTS
/obj/item/clothing/suit/space/hardsuit/medical
icon_state = "hardsuit-medical"
@@ -467,7 +467,7 @@
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 100, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 80)
var/obj/machinery/doppler_array/integrated/bomb_radar
- scan_reagents = TRUE
+ clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS | SCAN_REAGENTS
actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/toggle_research_scanner)
/obj/item/clothing/head/helmet/space/hardsuit/rd/Initialize()
@@ -590,8 +590,7 @@
/obj/item/clothing/suit/space/hardsuit/clown/mob_can_equip(mob/M, slot)
if(!..() || !ishuman(M))
return FALSE
- var/mob/living/carbon/human/H = M
- if(H.mind.assigned_role == "Clown")
+ if(M.mind && HAS_TRAIT(M.mind, TRAIT_CLOWN_MENTALITY))
return TRUE
else
return FALSE
@@ -628,7 +627,9 @@
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage, /obj/item/construction/rcd, /obj/item/pipe_dispenser)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ancient/mason
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
+ clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | IMMUTABLE_SLOW
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
+ flags_1 = TESLA_IGNORE_1
/obj/item/clothing/head/helmet/space/hardsuit/ancient/mason
name = "M.A.S.O.N RIG helmet"
@@ -638,12 +639,13 @@
armor = list("melee" = 20, "bullet" = 15, "laser" = 15, "energy" = 45, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
item_color = "ancient"
brightness_on = 16
- scan_reagents = TRUE
flash_protect = 5 //We will not be flash by bombs
tint = 1
var/obj/machinery/doppler_array/integrated/bomb_radar
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
+ clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS | SCAN_REAGENTS
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
+ flags_1 = TESLA_IGNORE_1
/obj/item/clothing/head/helmet/space/hardsuit/ancient/mason/Initialize()
. = ..()
@@ -964,13 +966,12 @@
. += energy_overlay
/obj/item/clothing/suit/space/hardsuit/lavaknight/AltClick(mob/living/user)
- if(user.incapacitated() || !istype(user))
+ . = ..()
+ if(!in_range(src, user) || !istype(user))
+ return
+ if(user.incapacitated())
to_chat(user, "You can't do that right now!")
- return
- if(!in_range(src, user))
- return
- if(user.incapacitated() || !istype(user) || !in_range(src, user))
- return
+ return TRUE
if(alert("Are you sure you want to recolor your armor stripes?", "Confirm Repaint", "Yes", "No") == "Yes")
var/energy_color_input = input(usr,"","Choose Energy Color",energy_color) as color|null
@@ -986,6 +987,7 @@
user.update_inv_wear_suit()
light_color = energy_color
update_light()
+ return TRUE
/obj/item/clothing/suit/space/hardsuit/lavaknight/examine(mob/user)
. = ..()
diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm
index d150cb5ca8..4e155cd341 100644
--- a/code/modules/clothing/suits/miscellaneous.dm
+++ b/code/modules/clothing/suits/miscellaneous.dm
@@ -505,6 +505,21 @@
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
flags_inv = HIDEHAIR|HIDEEARS
+/obj/item/clothing/suit/hooded/wintercoat/centcom
+ name = "centcom winter coat"
+ icon_state = "coatcentcom"
+ item_state = "coatcentcom"
+ armor = list("melee" = 40, "bullet" = 45, "laser" = 45, "energy" = 35, "bomb" = 40, "bio" = 25, "rad" = 25, "fire" = 35, "acid" = 50)
+ hoodtype = /obj/item/clothing/head/hooded/winterhood/centcom
+
+/obj/item/clothing/suit/hooded/wintercoat/centcom/Initialize()
+ . = ..()
+ allowed = GLOB.security_wintercoat_allowed
+
+/obj/item/clothing/head/hooded/winterhood/centcom
+ icon_state = "winterhood_centcom"
+ armor = list("melee" = 40, "bullet" = 45, "laser" = 45, "energy" = 35, "bomb" = 40, "bio" = 25, "rad" = 25, "fire" = 35, "acid" = 50)
+
/obj/item/clothing/suit/hooded/wintercoat/captain
name = "captain's winter coat"
icon_state = "coatcaptain"
@@ -723,6 +738,16 @@
/obj/item/clothing/head/hooded/winterhood/qm
icon_state = "winterhood_qm"
+/obj/item/clothing/suit/hooded/wintercoat/aformal
+ name = "assistant's formal winter coat"
+ icon_state = "coataformal"
+ item_state = "coataformal"
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter,/obj/item/clothing/gloves/color/yellow)
+ hoodtype = /obj/item/clothing/head/hooded/winterhood/aformal
+
+/obj/item/clothing/head/hooded/winterhood/aformal
+ icon_state = "winterhood_aformal"
+
/obj/item/clothing/suit/hooded/wintercoat/miner
name = "mining winter coat"
icon_state = "coatminer"
@@ -734,6 +759,74 @@
/obj/item/clothing/head/hooded/winterhood/miner
icon_state = "winterhood_miner"
+/obj/item/clothing/suit/hooded/wintercoat/ratvar
+ name = "ratvarian winter coat"
+ icon_state = "coatratvar"
+ item_state = "coatratvar"
+ armor = list("melee" = 30, "bullet" = 45, "laser" = -10, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/clockwork/replica_fabricator, /obj/item/clockwork/integration_cog, /obj/item/clockwork/slab, /obj/item/clockwork/weapon/ratvarian_spear)
+ hoodtype = /obj/item/clothing/head/hooded/winterhood/ratvar
+ var/real = TRUE
+
+/obj/item/clothing/head/hooded/winterhood/ratvar
+ icon_state = "winterhood_ratvar"
+ light_range = 3
+ light_power = 1
+ light_color = "#B18B25" //clockwork slab background top color
+
+/obj/item/clothing/suit/hooded/wintercoat/ratvar/equipped(mob/living/user,slot)
+ ..()
+ if (slot != SLOT_WEAR_SUIT || !real)
+ return
+ if (is_servant_of_ratvar(user))
+ return
+ else
+ user.dropItemToGround(src)
+ to_chat(user,"\"Amusing that you think you are fit to wear this.\"")
+ to_chat(user,"Your skin burns where the coat touched your skin!")
+ user.adjustFireLoss(rand(10,16))
+
+/obj/item/clothing/suit/hooded/wintercoat/narsie
+ name = "narsian winter coat"
+ icon_state = "coatnarsie"
+ item_state = "coatnarsie"
+ armor = list("melee" = 30, "bullet" = 20, "laser" = 30,"energy" = 10, "bomb" = 30, "bio" = 10, "rad" = 10, "fire" = 30, "acid" = 30)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/restraints/legcuffs/bola/cult,/obj/item/melee/cultblade,/obj/item/melee/cultblade/dagger,/obj/item/reagent_containers/glass/beaker/unholywater,/obj/item/cult_shift,/obj/item/flashlight/flare/culttorch,/obj/item/twohanded/cult_spear)
+ hoodtype = /obj/item/clothing/head/hooded/winterhood/narsie
+ var/real = TRUE
+
+/obj/item/clothing/suit/hooded/wintercoat/narsie/equipped(mob/living/user,slot)
+ ..()
+ if (slot != SLOT_WEAR_SUIT || !real)
+ return
+ if (iscultist(user))
+ return
+ else
+ user.dropItemToGround(src)
+ to_chat(user,"\"You are not fit to wear my follower's coat!\"")
+ to_chat(user,"Sharp spines jab you from within the coat!")
+ user.adjustBruteLoss(rand(10,16))
+
+/obj/item/clothing/head/hooded/winterhood/narsie
+ icon_state = "winterhood_narsie"
+
+/obj/item/clothing/suit/hooded/wintercoat/ratvar/fake
+ name = "brass winter coat"
+ icon_state = "coatratvar"
+ item_state = "coatratvar"
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
+ real = FALSE
+
+/obj/item/clothing/suit/hooded/wintercoat/narsie/fake
+ name = "runed winter coat"
+ icon_state = "coatnarsie"
+ item_state = "coatnarsie"
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
+ real = FALSE
+
+
/obj/item/clothing/suit/spookyghost
name = "spooky ghost"
desc = "This is obviously just a bedsheet, but maybe try it on?"
@@ -783,3 +876,33 @@
body_parts_covered = CHEST|GROIN|ARMS|LEGS
flags_inv = HIDEJUMPSUIT
resistance_flags = NONE
+
+/obj/item/clothing/suit/hooded/wintercoat/christmascoatr
+ name = "red christmas coat"
+ desc = "A festive red Christmas coat! Smells like Candy Cane!"
+ icon_state = "christmascoatr"
+ item_state = "christmascoatr"
+ hoodtype = /obj/item/clothing/head/hooded/winterhood/christmashoodr
+
+/obj/item/clothing/head/hooded/winterhood/christmashoodr
+ icon_state = "christmashoodr"
+
+/obj/item/clothing/suit/hooded/wintercoat/christmascoatg
+ name = "green christmas coat"
+ desc = "A festive green Christmas coat! Smells like Candy Cane!"
+ icon_state = "christmascoatg"
+ item_state = "christmascoatg"
+ hoodtype = /obj/item/clothing/head/hooded/winterhood/christmashoodg
+
+/obj/item/clothing/head/hooded/winterhood/christmashoodg
+ icon_state = "christmashoodg"
+
+/obj/item/clothing/suit/hooded/wintercoat/christmascoatrg
+ name = "red and green christmas coat"
+ desc = "A festive red and green Christmas coat! Smells like Candy Cane!"
+ icon_state = "christmascoatrg"
+ item_state = "christmascoatrg"
+ hoodtype = /obj/item/clothing/head/hooded/winterhood/christmashoodrg
+
+/obj/item/clothing/head/hooded/winterhood/christmashoodrg
+ icon_state = "christmashoodrg"
diff --git a/code/modules/clothing/suits/reactive_armour.dm b/code/modules/clothing/suits/reactive_armour.dm
index 5b2291e59c..0d2f68f580 100644
--- a/code/modules/clothing/suits/reactive_armour.dm
+++ b/code/modules/clothing/suits/reactive_armour.dm
@@ -50,7 +50,8 @@
icon_state = "reactiveoff"
item_state = "reactiveoff"
add_fingerprint(user)
- return
+ if(user.get_item_by_slot(SLOT_WEAR_SUIT) == src)
+ user.update_inv_wear_suit()
/obj/item/clothing/suit/armor/reactive/emp_act(severity)
. = ..()
@@ -71,8 +72,9 @@
reactivearmor_cooldown_duration = 100
/obj/item/clothing/suit/armor/reactive/teleport/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
+ . = FALSE
if(!active)
- return 0
+ return
if(prob(hit_reaction_chance))
var/mob/living/carbon/human/H = owner
if(world.time < reactivearmor_cooldown)
@@ -95,12 +97,11 @@
var/turf/picked = pick(turfs)
if(!isturf(picked))
return
- H.forceMove(picked)
+ do_teleport(H, picked, no_effects = TRUE, channel = TELEPORT_CHANNEL_WORMHOLE)
radiation_pulse(old, rad_amount_before)
radiation_pulse(src, rad_amount)
reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration
- return 1
- return 0
+ return TRUE
//Fire
diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm
index f869eb5d44..559d3006a1 100644
--- a/code/modules/clothing/suits/toggles.dm
+++ b/code/modules/clothing/suits/toggles.dm
@@ -92,11 +92,11 @@
//Toggle exosuits for different aesthetic styles (hoodies, suit jacket buttons, etc)
/obj/item/clothing/suit/toggle/AltClick(mob/user)
- ..()
+ . = ..()
if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
return
- else
- suit_toggle(user)
+ suit_toggle(user)
+ return TRUE
/obj/item/clothing/suit/toggle/ui_action_click()
suit_toggle()
diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm
index 0a0499b5f9..a4d2c17fd6 100644
--- a/code/modules/clothing/under/accessories.dm
+++ b/code/modules/clothing/under/accessories.dm
@@ -1,4 +1,4 @@
-/obj/item/clothing/accessory //Ties moved to neck slot items, but as there are still things like medals, pokadots, and armbands, this accessory system is being kept as-is
+/obj/item/clothing/accessory //Ties moved to neck slot items, but as there are still things like medals and armbands, this accessory system is being kept as-is
name = "Accessory"
desc = "Something has gone wrong!"
icon = 'icons/obj/clothing/accessories.dmi'
@@ -67,10 +67,12 @@
return
/obj/item/clothing/accessory/AltClick(mob/user)
+ . = ..()
if(istype(user) && user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
if(initial(above_suit))
above_suit = !above_suit
to_chat(user, "[src] will be worn [above_suit ? "above" : "below"] your suit.")
+ return TRUE
/obj/item/clothing/accessory/examine(mob/user)
. = ..()
@@ -364,7 +366,7 @@
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
/////////////////////
-//Synda Accessories//
+//Syndie Accessories//
/////////////////////
/obj/item/clothing/accessory/padding
@@ -387,35 +389,3 @@
icon_state = "plastics"
item_color = "nothing"
armor = list("melee" = 0, "bullet" = 0, "laser" = 20, "energy" = 10, "bomb" = 0, "bio" = 30, "rad" = 0, "fire" = 0, "acid" = -40)
-
-/////////////////////
-//Pokadots On Pants//
-/////////////////////
-
-/obj/item/clothing/accessory/attrocious_pokadots
- name = "atrocious pokadots"
- desc = "They look like something out of a thrift store. Attaches to clothing not to be worn by itself."
- icon_state = "attrocious_pokadots"
- item_color = "attrocious_pokadots"
- attack_verb = list("horrifed", "eye bleeded")
-
-/obj/item/clothing/accessory/black_white_pokadots
- name = "checkered pokadots"
- desc = "You can play a game of chess on these! Attaches to clothing not to be worn by itself."
- icon_state = "black_white_pokadots"
- item_color = "black_white_pokadots"
- attack_verb = list("check", "mate")
-
-/obj/item/clothing/accessory/nt_pokadots
- name = "blue and white pokadots"
- desc = "To show your pride in your workplace, in the most annoying possable way. Attaches to clothing not to be worn by itself."
- icon_state = "nt_pokadots"
- item_color = "nt_pokadots"
- attack_verb = list("eye bleeded", "annoyed")
-
-/obj/item/clothing/accessory/syndi_pokadots
- name = "black and red pokadots"
- desc = "King me. Attaches to clothing not to be worn by itself." //checkers!
- icon_state = "syndi_pokadots"
- item_color = "syndi_pokadots"
- attack_verb = list("jumped", "taken")
\ No newline at end of file
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index b4ad844f4d..177bce672f 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -5,6 +5,7 @@
item_color = "red_pyjamas"
item_state = "w_suit"
can_adjust = FALSE
+
/obj/item/clothing/under/pj/blue
name = "blue pj's"
desc = "Sleepwear."
@@ -12,6 +13,7 @@
item_color = "blue_pyjamas"
item_state = "w_suit"
can_adjust = FALSE
+
/obj/item/clothing/under/patriotsuit
name = "Patriotic Suit"
desc = "Motorcycle not included."
@@ -19,6 +21,7 @@
item_state = "ek"
item_color = "ek"
can_adjust = FALSE
+
/obj/item/clothing/under/scratch
name = "white suit"
desc = "A white suit, suitable for an excellent host."
@@ -43,6 +46,7 @@
icon_state = "sl_suit"
item_color = "sl_suit"
can_adjust = FALSE
+
/obj/item/clothing/under/roman
name = "\improper Roman armor"
desc = "Ancient Roman armor. Made of metallic and leather straps."
@@ -52,6 +56,7 @@
can_adjust = FALSE
strip_delay = 100
resistance_flags = NONE
+
/obj/item/clothing/under/waiter
name = "waiter's outfit"
desc = "It's a very smart uniform with a special pocket for tip."
@@ -59,6 +64,7 @@
item_state = "waiter"
item_color = "waiter"
can_adjust = FALSE
+
/obj/item/clothing/under/rank/prisoner
name = "prison jumpsuit"
desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position."
@@ -85,12 +91,14 @@
icon_state = "mailman"
item_state = "b_suit"
item_color = "mailman"
+
/obj/item/clothing/under/rank/psyche
name = "psychedelic jumpsuit"
desc = "Groovy!"
icon_state = "psyche"
item_state = "p_suit"
item_color = "psyche"
+
/obj/item/clothing/under/rank/clown/sexy
name = "sexy-clown suit"
desc = "It makes you look HONKable!"
@@ -98,6 +106,7 @@
item_state = "sexyclown"
item_color = "sexyclown"
can_adjust = FALSE
+
/obj/item/clothing/under/jabroni
name = "Jabroni Outfit"
desc = "The leather club is two sectors down."
@@ -105,6 +114,7 @@
item_state = "darkholme"
item_color = "darkholme"
can_adjust = FALSE
+
/obj/item/clothing/under/rank/vice
name = "vice officer's jumpsuit"
desc = "It's the standard issue pretty-boy outfit, as seen on Holo-Vision."
@@ -112,6 +122,7 @@
item_state = "gy_suit"
item_color = "vice"
can_adjust = FALSE
+
/obj/item/clothing/under/rank/centcom_officer
desc = "It's a jumpsuit worn by CentCom Officers."
name = "\improper CentCom officer's jumpsuit"
@@ -119,12 +130,14 @@
item_state = "g_suit"
item_color = "officer"
alt_covers_chest = TRUE
+
/obj/item/clothing/under/rank/centcom_commander
desc = "It's a jumpsuit worn by CentCom's highest-tier Commanders."
name = "\improper CentCom officer's jumpsuit"
icon_state = "centcom"
item_state = "dg_suit"
item_color = "centcom"
+
/obj/item/clothing/under/space
name = "\improper NASA jumpsuit"
desc = "It has a NASA logo on it and is made of space-proofed materials."
@@ -141,6 +154,7 @@
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
can_adjust = FALSE
resistance_flags = NONE
+
/obj/item/clothing/under/acj
name = "administrative cybernetic jumpsuit"
icon_state = "syndicate"
@@ -157,24 +171,28 @@
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
can_adjust = FALSE
resistance_flags = FIRE_PROOF | ACID_PROOF
+
/obj/item/clothing/under/owl
name = "owl uniform"
desc = "A soft brown jumpsuit made of synthetic feathers and strong conviction."
icon_state = "owl"
item_color = "owl"
can_adjust = FALSE
+
/obj/item/clothing/under/griffin
name = "griffon uniform"
desc = "A soft brown jumpsuit with a white feather collar made of synthetic feathers and a lust for mayhem."
icon_state = "griffin"
item_color = "griffin"
can_adjust = FALSE
+
/obj/item/clothing/under/cloud
name = "cloud"
desc = "cloud"
icon_state = "cloud"
item_color = "cloud"
can_adjust = FALSE
+
/obj/item/clothing/under/gimmick/rank/captain/suit
name = "captain's suit"
desc = "A green suit and yellow necktie. Exemplifies authority."
@@ -218,18 +236,21 @@
item_state = "bl_suit"
item_color = "black_suit"
can_adjust = FALSE
+
/obj/item/clothing/under/suit_jacket/really_black
name = "executive suit"
desc = "A formal black suit and red tie, intended for the station's finest."
icon_state = "really_black_suit"
item_state = "bl_suit"
item_color = "really_black_suit"
+
/obj/item/clothing/under/suit_jacket/female
name = "executive suit"
desc = "A formal trouser suit for women, intended for the station's finest."
icon_state = "black_suit_fem"
item_state = "black_suit_fem"
item_color = "black_suit_fem"
+
/obj/item/clothing/under/suit_jacket/green
name = "green suit"
desc = "A green suit and yellow necktie. Baller."
@@ -237,48 +258,56 @@
item_state = "dg_suit"
item_color = "green_suit"
can_adjust = FALSE
+
/obj/item/clothing/under/suit_jacket/red
name = "red suit"
desc = "A red suit and blue tie. Somewhat formal."
icon_state = "red_suit"
item_state = "r_suit"
item_color = "red_suit"
+
/obj/item/clothing/under/suit_jacket/charcoal
name = "charcoal suit"
desc = "A charcoal suit and red tie. Very professional."
icon_state = "charcoal_suit"
item_state = "charcoal_suit"
item_color = "charcoal_suit"
+
/obj/item/clothing/under/suit_jacket/navy
name = "navy suit"
desc = "A navy suit and red tie, intended for the station's finest."
icon_state = "navy_suit"
item_state = "navy_suit"
item_color = "navy_suit"
+
/obj/item/clothing/under/suit_jacket/burgundy
name = "burgundy suit"
desc = "A burgundy suit and black tie. Somewhat formal."
icon_state = "burgundy_suit"
item_state = "burgundy_suit"
item_color = "burgundy_suit"
+
/obj/item/clothing/under/suit_jacket/checkered
name = "checkered suit"
desc = "That's a very nice suit you have there. Shame if something were to happen to it, eh?"
icon_state = "checkered_suit"
item_state = "checkered_suit"
item_color = "checkered_suit"
+
/obj/item/clothing/under/suit_jacket/tan
name = "tan suit"
desc = "A tan suit with a yellow tie. Smart, but casual."
icon_state = "tan_suit"
item_state = "tan_suit"
item_color = "tan_suit"
+
/obj/item/clothing/under/suit_jacket/white
name = "white suit"
desc = "A white suit and jacket with a blue shirt. You wanna play rough? OKAY!"
icon_state = "white_suit"
item_state = "white_suit"
item_color = "white_suit"
+
/obj/item/clothing/under/burial
name = "burial garments"
desc = "Traditional burial garments from the early 22nd century."
@@ -286,6 +315,7 @@
item_state = "burial"
item_color = "burial"
has_sensor = NO_SENSORS
+
/obj/item/clothing/under/skirt/black
name = "black skirt"
desc = "A black skirt, very fancy!"
@@ -294,6 +324,7 @@
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
/obj/item/clothing/under/skirt/blue
name = "blue skirt"
desc = "A blue, casual skirt."
@@ -303,6 +334,7 @@
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
/obj/item/clothing/under/skirt/red
name = "red skirt"
desc = "A red, casual skirt."
@@ -312,6 +344,7 @@
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
/obj/item/clothing/under/skirt/purple
name = "purple skirt"
desc = "A purple, casual skirt."
@@ -321,6 +354,7 @@
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
/obj/item/clothing/under/schoolgirl
name = "blue schoolgirl uniform"
desc = "It's just like one of my Japanese animes!"
@@ -330,21 +364,25 @@
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
/obj/item/clothing/under/schoolgirl/red
name = "red schoolgirl uniform"
icon_state = "schoolgirlred"
item_state = "schoolgirlred"
item_color = "schoolgirlred"
+
/obj/item/clothing/under/schoolgirl/green
name = "green schoolgirl uniform"
icon_state = "schoolgirlgreen"
item_state = "schoolgirlgreen"
item_color = "schoolgirlgreen"
+
/obj/item/clothing/under/schoolgirl/orange
name = "orange schoolgirl uniform"
icon_state = "schoolgirlorange"
item_state = "schoolgirlorange"
item_color = "schoolgirlorange"
+
/obj/item/clothing/under/overalls
name = "laborer's overalls"
desc = "A set of durable overalls for getting the job done."
@@ -352,6 +390,7 @@
item_state = "lb_suit"
item_color = "overalls"
can_adjust = FALSE
+
/obj/item/clothing/under/pirate
name = "pirate outfit"
desc = "Yarr."
@@ -359,6 +398,7 @@
item_state = "pirate"
item_color = "pirate"
can_adjust = FALSE
+
/obj/item/clothing/under/soviet
name = "soviet uniform"
desc = "For the Motherland!"
@@ -366,6 +406,7 @@
item_state = "soviet"
item_color = "soviet"
can_adjust = FALSE
+
/obj/item/clothing/under/redcoat
name = "redcoat uniform"
desc = "Looks old."
@@ -373,6 +414,7 @@
item_state = "redcoat"
item_color = "redcoat"
can_adjust = FALSE
+
/obj/item/clothing/under/kilt
name = "kilt"
desc = "Includes shoes and plaid."
@@ -382,6 +424,7 @@
body_parts_covered = CHEST|GROIN|LEGS|FEET
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
/obj/item/clothing/under/kilt/highlander
desc = "You're the only one worthy of this kilt."
@@ -398,6 +441,7 @@
body_parts_covered = CHEST|GROIN|LEGS
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
/obj/item/clothing/under/gladiator
name = "gladiator uniform"
desc = "Are you not entertained? Is that not why you are here?"
@@ -408,9 +452,11 @@
fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE
resistance_flags = NONE
+
/obj/item/clothing/under/gladiator/ash_walker
desc = "This gladiator uniform appears to be covered in ash and fairly dated."
has_sensor = NO_SENSORS
+
/obj/item/clothing/under/sundress
name = "sundress"
desc = "Makes you want to frolic in a field of daisies."
@@ -420,6 +466,34 @@
body_parts_covered = CHEST|GROIN
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
+/obj/item/clothing/under/sundresswhite
+ name = "white sundress"
+ desc = "Makes you want to frolic in a field of lillies."
+ icon_state = "sundress_white"
+ item_color = "sundress_white"
+ body_parts_covered = CHEST|GROIN
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/greendress
+ name = "green dress"
+ desc = "A tight green dress"
+ icon_state = "dress_green"
+ item_color = "dress_green"
+ body_parts_covered = CHEST|GROIN
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/pinkdress
+ name = "pink dress"
+ desc = "A tight pink dress"
+ icon_state = "dress_pink"
+ item_color = "dress_pink"
+ body_parts_covered = CHEST|GROIN
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
/obj/item/clothing/under/captainparade
name = "captain's parade uniform"
desc = "A captain's luxury-wear, for special occasions."
@@ -427,6 +501,7 @@
item_state = "by_suit"
item_color = "captain_parade"
can_adjust = FALSE
+
/obj/item/clothing/under/hosparademale
name = "head of security's parade uniform"
desc = "A male head of security's luxury-wear, for special occasions."
@@ -434,6 +509,7 @@
item_state = "r_suit"
item_color = "hos_parade_male"
can_adjust = FALSE
+
/obj/item/clothing/under/hosparadefem
name = "head of security's parade uniform"
desc = "A female head of security's luxury-wear, for special occasions."
@@ -442,6 +518,7 @@
item_color = "hos_parade_fem"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
/obj/item/clothing/under/assistantformal
name = "assistant's formal uniform"
desc = "An assistant's formal-wear. Why an assistant needs formal-wear is still unknown."
@@ -449,6 +526,7 @@
item_state = "gy_suit"
item_color = "assistant_formal"
can_adjust = FALSE
+
/obj/item/clothing/under/blacktango
name = "black tango dress"
desc = "Filled with Latin fire."
@@ -457,6 +535,25 @@
item_color = "black_tango"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
+/obj/item/clothing/under/westernbustle
+ name = "western bustle dress"
+ desc = "Filled with Western fire."
+ icon_state = "western_bustle"
+ item_state = "wcoat"
+ item_color = "western_bustle"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/flamenco
+ name = "flamenco dress"
+ desc = "Filled with Latin fire."
+ icon_state = "flamenco"
+ item_state = "wcoat"
+ item_color = "flamenco"
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
/obj/item/clothing/under/stripeddress
name = "striped dress"
desc = "Fashion in space."
@@ -466,6 +563,7 @@
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_FULL
can_adjust = FALSE
+
/obj/item/clothing/under/sailordress
name = "sailor dress"
desc = "Formal wear for a leading lady."
@@ -475,6 +573,45 @@
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
+/obj/item/clothing/under/flowerdress
+ name = "flower dress"
+ desc = "Lovely dress"
+ icon_state = "flower_dress"
+ item_state = "sailordress"
+ item_color = "flower_dress"
+ body_parts_covered = CHEST|GROIN
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/sweptskirt
+ name = "swept skirt"
+ desc = "Formal skirt"
+ icon_state = "skirt_swept"
+ item_color = "skirt_swept"
+ body_parts_covered = GROIN
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/corset
+ name = "black corset"
+ desc = "Nanotrasen is not resposible for any organ damage"
+ icon_state = "corset"
+ item_color = "corset"
+ body_parts_covered = CHEST|GROIN
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
+/obj/item/clothing/under/croptop
+ name = "crop top"
+ desc = "We've saved money by giving you half a shirt!"
+ icon_state = "sailor_dress"
+ item_state = "sailordress"
+ item_color = "sailor_dress"
+ body_parts_covered = CHEST|GROIN|ARMS
+ fitted = FEMALE_UNIFORM_TOP
+ can_adjust = FALSE
+
/obj/item/clothing/under/redeveninggown
name = "red evening gown"
desc = "Fancy dress for space bar singers."
@@ -483,6 +620,7 @@
item_color = "red_evening_gown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
/obj/item/clothing/under/maid
name = "maid costume"
desc = "Maid in China."
@@ -492,10 +630,12 @@
body_parts_covered = CHEST|GROIN
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
/obj/item/clothing/under/maid/Initialize()
. = ..()
var/obj/item/clothing/accessory/maidapron/A = new (src)
attach_accessory(A)
+
/obj/item/clothing/under/janimaid
name = "maid uniform"
desc = "A simple maid uniform for housekeeping."
@@ -505,6 +645,7 @@
body_parts_covered = CHEST|GROIN
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
/obj/item/clothing/under/plaid_skirt
name = "red plaid skirt"
desc = "A preppy red skirt with a white blouse."
@@ -514,6 +655,7 @@
fitted = FEMALE_UNIFORM_TOP
can_adjust = TRUE
alt_covers_chest = TRUE
+
/obj/item/clothing/under/plaid_skirt/blue
name = "blue plaid skirt"
desc = "A preppy blue skirt with a white blouse."
@@ -523,6 +665,7 @@
fitted = FEMALE_UNIFORM_TOP
can_adjust = TRUE
alt_covers_chest = TRUE
+
/obj/item/clothing/under/plaid_skirt/purple
name = "purple plaid skirt"
desc = "A preppy purple skirt with a white blouse."
@@ -532,6 +675,7 @@
fitted = FEMALE_UNIFORM_TOP
can_adjust = TRUE
alt_covers_chest = TRUE
+
/obj/item/clothing/under/singery
name = "yellow performer's outfit"
desc = "Just looking at this makes you want to sing."
@@ -542,6 +686,7 @@
fitted = NO_FEMALE_UNIFORM
alternate_worn_layer = ABOVE_SHOES_LAYER
can_adjust = FALSE
+
/obj/item/clothing/under/singerb
name = "blue performer's outfit"
desc = "Just looking at this makes you want to sing."
@@ -552,6 +697,7 @@
alternate_worn_layer = ABOVE_SHOES_LAYER
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
/obj/item/clothing/under/plaid_skirt/green
name = "green plaid skirt"
desc = "A preppy green skirt with a white blouse."
@@ -561,14 +707,17 @@
fitted = FEMALE_UNIFORM_TOP
can_adjust = TRUE
alt_covers_chest = TRUE
+
/obj/item/clothing/under/jester
name = "jester suit"
desc = "A jolly dress, well suited to entertain your master, nuncle."
icon_state = "jester"
item_color = "jester"
can_adjust = FALSE
+
/obj/item/clothing/under/jester/alt
icon_state = "jester2"
+
/obj/item/clothing/under/geisha
name = "geisha suit"
desc = "Cute space ninja senpai not included."
@@ -576,12 +725,14 @@
item_color = "geisha"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
+
/obj/item/clothing/under/villain
name = "villain suit"
desc = "A change of wardrobe is necessary if you ever want to catch a real superhero."
icon_state = "villain"
item_color = "villain"
can_adjust = FALSE
+
/obj/item/clothing/under/sailor
name = "sailor suit"
desc = "Skipper's in the wardroom drinkin gin'."
@@ -650,6 +801,7 @@
icon_state = "hostanclothes"
item_state = "hostanclothes"
item_color = "hostanclothes"
+
/obj/item/clothing/under/mummy
name = "mummy wrapping"
desc = "Return the slab or suffer my stale references."
@@ -660,6 +812,7 @@
fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE
resistance_flags = NONE
+
/obj/item/clothing/under/scarecrow
name = "scarecrow clothes"
desc = "Perfect camouflage for hiding in botany."
@@ -670,6 +823,7 @@
fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE
resistance_flags = NONE
+
/obj/item/clothing/under/draculass
name = "draculass coat"
desc = "A dress inspired by the ancient \"Victorian\" era."
@@ -679,6 +833,7 @@
body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
+
/obj/item/clothing/under/drfreeze
name = "doctor freeze's jumpsuit"
desc = "A modified scientist jumpsuit to look extra cool."
@@ -686,6 +841,7 @@
item_state = "drfreeze"
item_color = "drfreeze"
can_adjust = FALSE
+
/obj/item/clothing/under/lobster
name = "foam lobster suit"
desc = "Who beheaded the college mascot?"
@@ -694,6 +850,7 @@
item_color = "lobster"
fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE
+
/obj/item/clothing/under/gondola
name = "gondola hide suit"
desc = "Now you're cooking."
@@ -701,6 +858,7 @@
item_state = "lb_suit"
item_color = "gondola"
can_adjust = FALSE
+
/obj/item/clothing/under/skeleton
name = "skeleton jumpsuit"
desc = "A black jumpsuit with a white bone pattern printed on it. Spooky!"
@@ -720,6 +878,14 @@
body_parts_covered = CHEST|GROIN
can_adjust = FALSE
+/obj/item/clothing/under/telegram
+ name = "telegram suit"
+ desc = "Bright and red, hard to miss. Mostly warn by hotel staff or singing telegram."
+ icon_state = "telegram"
+ item_state = "telegram"
+ body_parts_covered = CHEST|GROIN
+ can_adjust = FALSE
+
/obj/item/clothing/under/durathread
name = "durathread jumpsuit"
desc = "A jumpsuit made from durathread, its resilient fibres provide some protection to the wearer."
@@ -737,4 +903,36 @@
item_color = "durathread"
can_adjust = FALSE
body_parts_covered = CHEST|GROIN|ARMS
- armor = list("melee" = 10, "laser" = 10, "fire" = 40, "acid" = 10, "bomb" = 5)
\ No newline at end of file
+ armor = list("melee" = 10, "laser" = 10, "fire" = 40, "acid" = 10, "bomb" = 5)
+
+/obj/item/clothing/under/christmas/christmasmaler
+ name = "red masculine christmas suit"
+ desc = "A simple red christmas suit that looks close to Santa's!"
+ icon_state = "christmasmaler"
+ item_state = "christmasmaler"
+ body_parts_covered = CHEST|GROIN
+ can_adjust = FALSE
+
+/obj/item/clothing/under/christmas/christmasmaleg
+ name = "green masculine christmas suit"
+ desc = "A simple green christmas suit that smells minty!"
+ icon_state = "christmasmaleg"
+ item_state = "christmasmaleg"
+ body_parts_covered = CHEST|GROIN
+ can_adjust = FALSE
+
+/obj/item/clothing/under/christmas/christmasfemaler
+ name = "red feminine christmas suit"
+ desc = "A simple red christmas suit that looks like Mrs Claus!"
+ icon_state = "christmasfemaler"
+ item_state = "christmasfemaler"
+ body_parts_covered = CHEST|GROIN
+ can_adjust = FALSE
+
+/obj/item/clothing/under/christmas/christmasfemaleg
+ name = "green feminine christmas suit"
+ desc = "A simple green christmas suit that smells minty!"
+ icon_state = "christmasfemaleg"
+ item_state = "christmasfemaleg"
+ body_parts_covered = CHEST|GROIN
+ can_adjust = FALSE
\ No newline at end of file
diff --git a/code/modules/clothing/under/pants.dm b/code/modules/clothing/under/pants.dm
index 05616337db..97bb4c48bc 100644
--- a/code/modules/clothing/under/pants.dm
+++ b/code/modules/clothing/under/pants.dm
@@ -75,3 +75,34 @@
desc = "A pair of woodland camouflage pants. Probably not the best choice for a space station."
icon_state = "camopants"
item_color = "camopants"
+
+/obj/item/clothing/under/pants/jeanripped
+ name = "ripped jeans"
+ desc = "If you're wearing this you're poor or a rebel"
+ icon_state = "jean_ripped"
+ item_color = "jean_ripped"
+
+/obj/item/clothing/under/pants/jeanshort
+ name = "jean shorts"
+ desc = "These are really just jeans cut in half"
+ icon_state = "jean_shorts"
+ item_color = "jean_shorts"
+
+/obj/item/clothing/under/pants/denimskirt
+ name = "denim skirt"
+ desc = "These are really just a jean leg hole cut from a pair"
+ icon_state = "denim_skirt"
+ item_color = "denim_skirt"
+
+/obj/item/clothing/under/pants/chaps
+ name = "black chaps"
+ body_parts_covered = LEGS
+ desc = "Yeehaw"
+ icon_state = "chaps"
+ item_color = "chaps"
+
+/obj/item/clothing/under/pants/yoga
+ name = "yoga pants"
+ desc = "Comfy!"
+ icon_state = "yoga_pants"
+ item_color = "yoga_pants"
diff --git a/modular_citadel/code/modules/clothing/under/polychromic_clothes.dm b/code/modules/clothing/under/polychromic_clothes.dm
similarity index 86%
rename from modular_citadel/code/modules/clothing/under/polychromic_clothes.dm
rename to code/modules/clothing/under/polychromic_clothes.dm
index c0f7a5d639..9649d93eed 100644
--- a/modular_citadel/code/modules/clothing/under/polychromic_clothes.dm
+++ b/code/modules/clothing/under/polychromic_clothes.dm
@@ -4,7 +4,7 @@
// Polychromic clothes simply consist of 4 sprites: A base, unrecoloured sprite, and up to 3 greyscaled sprites. //
// In order to add more polychromic clothes, simply create a base sprite, and up to 3 recolourable overlays for it, //
// and then name them as follows: [name], [name]-primary, [name]-secondary, [name]-tertiary. The sprites should //
-// ideally be in 'modular_citadel/icons/polyclothes/item/uniform.dmi' and 'modular_citadel/icons/polyclothes/mob/uniform.dmi' for the //
+// ideally be in 'icons/obj/clothing/uniform.dmi' and 'icons/mob/uniform.dmi' for the //
// worn sprites. After that, copy paste the code from any of the example clothes and //
// change the names around. [name] should go in BOTH icon_state and item_color. You can preset colors and disable //
// any overlays using the self-explainatory vars. //
@@ -15,8 +15,6 @@
/obj/item/clothing/under/polychromic //enables all three overlays to reduce copypasta and defines basic stuff
name = "polychromic suit"
desc = "For when you want to show off your horrible colour coordination skills."
- icon = 'modular_citadel/icons/polyclothes/item/uniform.dmi'
- alternate_worn_icon = 'modular_citadel/icons/polyclothes/mob/uniform.dmi'
icon_state = "polysuit"
item_color = "polysuit"
item_state = "sl_suit"
@@ -27,23 +25,22 @@
secondary_color = "#FFFFFF"
tertiary_color = "#808080"
can_adjust = FALSE
- mutantrace_variation = NO_MUTANTRACE_VARIATION // because I'm too lazy to port these to digi-compatible and to prove a point from /tg/ whining - Pooj
- suit_style = NORMAL_SUIT_STYLE
+ mutantrace_variation = NO_MUTANTRACE_VARIATION //Not all clothes are currently digi-compatible (only the shorts are as of time of writing)
-/obj/item/clothing/under/polychromic/worn_overlays(isinhands, icon_file) //this is where the main magic happens. Also mandates that ALL polychromic stuff MUST USE alternate_worn_icon
+/obj/item/clothing/under/polychromic/worn_overlays(isinhands, icon_file) //this is where the main magic happens.
. = ..()
if(hasprimary | hassecondary | hastertiary)
if(!isinhands) //prevents the worn sprites from showing up if you're just holding them
if(hasprimary) //checks if overlays are enabled
- var/mutable_appearance/primary_worn = mutable_appearance(alternate_worn_icon, "[item_color]-primary") //automagical sprite selection
+ var/mutable_appearance/primary_worn = mutable_appearance(icon_file, "[item_color]-primary") //automagical sprite selection
primary_worn.color = primary_color //colors the overlay
. += primary_worn //adds the overlay onto the buffer list to draw on the mob sprite.
if(hassecondary)
- var/mutable_appearance/secondary_worn = mutable_appearance(alternate_worn_icon, "[item_color]-secondary")
+ var/mutable_appearance/secondary_worn = mutable_appearance(icon_file, "[item_color]-secondary")
secondary_worn.color = secondary_color
. += secondary_worn
if(hastertiary)
- var/mutable_appearance/tertiary_worn = mutable_appearance(alternate_worn_icon, "[item_color]-tertiary")
+ var/mutable_appearance/tertiary_worn = mutable_appearance(icon_file, "[item_color]-tertiary")
tertiary_worn.color = tertiary_color
. += tertiary_worn
@@ -89,6 +86,7 @@
secondary_color = "#808080"
tertiary_color = "#808080"
body_parts_covered = CHEST|GROIN|ARMS
+ mutantrace_variation = MUTANTRACE_VARIATION //to enable digitigrade wearing
/obj/item/clothing/under/polychromic/jumpsuit
name = "polychromic tri-tone jumpsuit"
diff --git a/code/modules/crafting/craft.dm b/code/modules/crafting/craft.dm
index 795515835e..0e14f9f5be 100644
--- a/code/modules/crafting/craft.dm
+++ b/code/modules/crafting/craft.dm
@@ -439,4 +439,4 @@
/datum/mind/proc/teach_crafting_recipe(R)
if(!learned_recipes)
learned_recipes = list()
- learned_recipes |= R
\ No newline at end of file
+ learned_recipes |= R
diff --git a/code/modules/crafting/recipes/recipes_clothing.dm b/code/modules/crafting/recipes/recipes_clothing.dm
index 4f06a44811..8cb35df9d1 100644
--- a/code/modules/crafting/recipes/recipes_clothing.dm
+++ b/code/modules/crafting/recipes/recipes_clothing.dm
@@ -163,26 +163,7 @@
name = "Cosmic Winter Coat"
result = /obj/item/clothing/suit/hooded/wintercoat/cosmic
reqs = list(/obj/item/clothing/suit/hooded/wintercoat = 1,
- /obj/item/clothing/suit/hooded/wintercoat/captain = 1,
- /obj/item/clothing/suit/hooded/wintercoat/hop = 1,
- /obj/item/clothing/suit/hooded/wintercoat/hos = 1,
- /obj/item/clothing/suit/hooded/wintercoat/rd = 1,
- /obj/item/clothing/suit/hooded/wintercoat/ce = 1,
- /obj/item/clothing/suit/hooded/wintercoat/cmo = 1,
- /obj/item/clothing/suit/hooded/wintercoat/qm = 1,
- /obj/item/clothing/suit/hooded/wintercoat/robotics = 1,
- /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos = 1,
- /obj/item/clothing/suit/hooded/wintercoat/engineering = 1,
- /obj/item/clothing/suit/hooded/wintercoat/science = 1,
- /obj/item/clothing/suit/hooded/wintercoat/genetics = 1,
- /obj/item/clothing/suit/hooded/wintercoat/chemistry = 1,
- /obj/item/clothing/suit/hooded/wintercoat/medical = 1,
- /obj/item/clothing/suit/hooded/wintercoat/viro = 1,
- /obj/item/clothing/suit/hooded/wintercoat/janitor = 1,
- /obj/item/clothing/suit/hooded/wintercoat/security = 1,
- /obj/item/clothing/suit/hooded/wintercoat/cargo = 1,
- /obj/item/clothing/suit/hooded/wintercoat/hydro = 1,
- /obj/item/clothing/suit/hooded/wintercoat/miner = 1)
+ /obj/item/bedsheet/cosmos = 1)
time = 60
always_availible = TRUE
category = CAT_CLOTHING
diff --git a/code/modules/crafting/recipes/recipes_misc.dm b/code/modules/crafting/recipes/recipes_misc.dm
index fdfb959fe6..38ae3560e5 100644
--- a/code/modules/crafting/recipes/recipes_misc.dm
+++ b/code/modules/crafting/recipes/recipes_misc.dm
@@ -47,16 +47,17 @@
/datum/crafting_recipe/goldenbox
name = "Gold Plated Toolbox"
result = /obj/item/storage/toolbox/gold_fake
+ tools = list(/obj/item/stock_parts/cell/upgraded/plus)
reqs = list(/obj/item/stack/sheet/cardboard = 1, //so we dont null items in crafting
/obj/item/stack/cable_coil = 10,
/obj/item/stack/sheet/mineral/gold = 1,
- /obj/item/stock_parts/cell = 1,
/datum/reagent/water = 15)
time = 40
category = CAT_MISC
/datum/crafting_recipe/bronze_driver
name = "Bronze Plated Screwdriver"
+ tools = list(/obj/item/stock_parts/cell/upgraded/plus)
result = /obj/item/screwdriver/bronze
reqs = list(/obj/item/screwdriver = 1,
/obj/item/stack/cable_coil = 10,
@@ -67,6 +68,7 @@
/datum/crafting_recipe/bronze_welder
name = "Bronze Plated Welding Tool"
+ tools = list(/obj/item/stock_parts/cell/upgraded/plus)
result = /obj/item/weldingtool/bronze
reqs = list(/obj/item/weldingtool = 1,
/obj/item/stack/cable_coil = 10,
@@ -77,6 +79,7 @@
/datum/crafting_recipe/bronze_wirecutters
name = "Bronze Plated Wirecutters"
+ tools = list(/obj/item/stock_parts/cell/upgraded/plus)
result = /obj/item/wirecutters/bronze
reqs = list(/obj/item/wirecutters = 1,
/obj/item/stack/cable_coil = 10,
@@ -87,6 +90,7 @@
/datum/crafting_recipe/bronze_crowbar
name = "Bronze Plated Crowbar"
+ tools = list(/obj/item/stock_parts/cell/upgraded/plus)
result = /obj/item/crowbar/bronze
reqs = list(/obj/item/crowbar = 1,
/obj/item/stack/cable_coil = 10,
@@ -97,6 +101,7 @@
/datum/crafting_recipe/bronze_wrench
name = "Bronze Plated Wrench"
+ tools = list(/obj/item/stock_parts/cell/upgraded/plus)
result = /obj/item/wrench/bronze
reqs = list(/obj/item/wrench = 1,
/obj/item/stack/cable_coil = 10,
@@ -315,3 +320,49 @@
reqs = list(/obj/item/stack/rods = 2,
/obj/item/clothing/under/rank/security = 1)
category = CAT_MISC
+
+ /datum/crafting_recipe/bloodsucker/vassalrack
+ name = "Persuasion Rack"
+ //desc = "For converting crewmembers into loyal Vassals."
+ result = /obj/structure/bloodsucker/vassalrack
+ tools = list(/obj/item/weldingtool,
+ ///obj/item/screwdriver,
+ /obj/item/wrench
+ )
+ reqs = list(/obj/item/stack/sheet/mineral/wood = 3,
+ /obj/item/stack/sheet/metal = 2,
+ /obj/item/restraints/handcuffs/cable = 2,
+ ///obj/item/storage/belt = 1
+ ///obj/item/stack/sheet/animalhide = 1, // /obj/item/stack/sheet/leather = 1,
+ ///obj/item/stack/sheet/plasteel = 5
+ )
+ //parts = list(/obj/item/storage/belt = 1
+ // )
+
+ time = 150
+ category = CAT_MISC
+ always_availible = FALSE // Disabled til learned
+
+
+ /datum/crafting_recipe/bloodsucker/candelabrum
+ name = "Candelabrum"
+ //desc = "For converting crewmembers into loyal Vassals."
+ result = /obj/structure/bloodsucker/candelabrum
+ tools = list(/obj/item/weldingtool,
+ /obj/item/wrench
+ )
+ reqs = list(/obj/item/stack/sheet/metal = 3,
+ /obj/item/stack/rods = 1,
+ /obj/item/candle = 1
+ )
+ time = 100
+ category = CAT_MISC
+ always_availible = FALSE // Disabled til learned
+
+/datum/crafting_recipe/coconut_bong
+ name = "Coconut Bong"
+ result = /obj/item/bong/coconut
+ reqs = list(/obj/item/stack/sheet/mineral/bamboo = 2,
+ /obj/item/reagent_containers/food/snacks/grown/coconut = 1)
+ time = 70
+ category = CAT_MISC
\ No newline at end of file
diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm
index eaa31c01bf..944fbb8df8 100644
--- a/code/modules/detectivework/scanner.dm
+++ b/code/modules/detectivework/scanner.dm
@@ -187,9 +187,11 @@
return time2text(world.time + 432000, ":ss")
/obj/item/detective_scanner/AltClick(mob/living/user)
+ . = ..()
// Best way for checking if a player can use while not incapacitated, etc
if(!user.canUseTopic(src, be_close=TRUE))
return
+ . = TRUE
if(!LAZYLEN(log))
to_chat(user, "Cannot clear logs, the scanner has no logs.")
return
diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm
index 07a399a1b6..00e3698e1e 100644
--- a/code/modules/events/disease_outbreak.dm
+++ b/code/modules/events/disease_outbreak.dm
@@ -37,6 +37,8 @@
continue
if(!H.client)
continue
+ if(HAS_TRAIT(H,TRAIT_EXEMPT_HEALTH_EVENTS))
+ continue
if(H.stat == DEAD)
continue
if(HAS_TRAIT(H, TRAIT_VIRUSIMMUNE)) //Don't pick someone who's virus immune, only for it to not do anything.
diff --git a/code/modules/events/heart_attack.dm b/code/modules/events/heart_attack.dm
index 8db2d98bf0..a47a8b81b4 100644
--- a/code/modules/events/heart_attack.dm
+++ b/code/modules/events/heart_attack.dm
@@ -9,7 +9,7 @@
/datum/round_event/heart_attack/start()
var/list/heart_attack_contestants = list()
for(var/mob/living/carbon/human/H in shuffle(GLOB.player_list))
- if(!H.client || H.stat == DEAD || H.InCritical() || !H.can_heartattack() || H.has_status_effect(STATUS_EFFECT_EXERCISED) || (/datum/disease/heart_failure in H.diseases) || H.undergoing_cardiac_arrest())
+ if(!H.client || H.stat == DEAD || H.InCritical() || !H.can_heartattack() || H.has_status_effect(STATUS_EFFECT_EXERCISED) || (/datum/disease/heart_failure in H.diseases) || H.undergoing_cardiac_arrest() || HAS_TRAIT(H,TRAIT_EXEMPT_HEALTH_EVENTS))
continue
if(H.satiety <= -60) //Multiple junk food items recently
heart_attack_contestants[H] = 3
diff --git a/code/modules/events/immovable_rod.dm b/code/modules/events/immovable_rod.dm
index e041d566e9..41b2bfee5a 100644
--- a/code/modules/events/immovable_rod.dm
+++ b/code/modules/events/immovable_rod.dm
@@ -45,6 +45,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
throwforce = 100
density = TRUE
anchored = TRUE
+ flags_1 = PREVENT_CONTENTS_EXPLOSION_1
var/mob/living/wizard
var/z_original = 0
var/destination
@@ -100,9 +101,6 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
/obj/effect/immovablerod/ex_act(severity, target)
return 0
-/obj/structure/closet/supplypod/prevent_content_explosion()
- return TRUE
-
/obj/effect/immovablerod/singularity_act()
return
diff --git a/code/modules/events/mass_hallucination.dm b/code/modules/events/mass_hallucination.dm
index 2b0c16ebfc..0553f69b5b 100644
--- a/code/modules/events/mass_hallucination.dm
+++ b/code/modules/events/mass_hallucination.dm
@@ -35,4 +35,6 @@
/datum/hallucination/delusion,
/datum/hallucination/oh_yeah)
for(var/mob/living/carbon/C in GLOB.alive_mob_list)
+ if (HAS_TRAIT(C,TRAIT_EXEMPT_HEALTH_EVENTS))
+ continue
new picked_hallucination(C, TRUE)
\ No newline at end of file
diff --git a/code/modules/events/meteor_wave.dm b/code/modules/events/meteor_wave.dm
index 26591547c0..236eed5c09 100644
--- a/code/modules/events/meteor_wave.dm
+++ b/code/modules/events/meteor_wave.dm
@@ -21,7 +21,7 @@
/datum/round_event/meteor_wave/setup()
announceWhen = 1
- startWhen = rand(180, 360) //Yeah for SOME REASON this is measured in seconds and not deciseconds???
+ startWhen = rand(60, 90) //Yeah for SOME REASON this is measured in seconds and not deciseconds???
if(GLOB.singularity_counter)
startWhen *= 1 - min(GLOB.singularity_counter * SINGULO_BEACON_DISTURBANCE, SINGULO_BEACON_MAX_DISTURBANCE)
endWhen = startWhen + 60
diff --git a/code/modules/events/shuttle_loan.dm b/code/modules/events/shuttle_loan.dm
index 88059f7468..f006f2b358 100644
--- a/code/modules/events/shuttle_loan.dm
+++ b/code/modules/events/shuttle_loan.dm
@@ -133,7 +133,7 @@
shuttle_spawns.Add(/mob/living/simple_animal/hostile/syndicate/ranged/infiltrator)
if(RUSKY_PARTY)
- var/datum/supply_pack/pack = SSshuttle.supply_packs[/datum/supply_pack/service/party]
+ var/datum/supply_pack/pack = SSshuttle.supply_packs[/datum/supply_pack/misc/party]
pack.generate(pick_n_take(empty_shuttle_turfs))
shuttle_spawns.Add(/mob/living/simple_animal/hostile/russian)
diff --git a/code/modules/events/spontaneous_appendicitis.dm b/code/modules/events/spontaneous_appendicitis.dm
index 901337cd52..8ee943beb9 100644
--- a/code/modules/events/spontaneous_appendicitis.dm
+++ b/code/modules/events/spontaneous_appendicitis.dm
@@ -15,6 +15,8 @@
continue
if(H.stat == DEAD)
continue
+ if (HAS_TRAIT(H,TRAIT_EXEMPT_HEALTH_EVENTS))
+ continue
if(!H.getorgan(/obj/item/organ/appendix)) //Don't give the disease to some who lacks it, only for it to be auto-cured
continue
if(!(MOB_ORGANIC in H.mob_biotypes)) //biotype sleeper bugs strike again, once again making appendicitis pick a target that can't take it
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index b5f02b79d7..f5262742e2 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -21,7 +21,8 @@ GLOBAL_LIST_INIT(hallucination_list, list(
/datum/hallucination/delusion = 2,
/datum/hallucination/shock = 1,
/datum/hallucination/death = 1,
- /datum/hallucination/oh_yeah = 1
+ /datum/hallucination/oh_yeah = 1,
+ /datum/hallucination/sleeping_carp = 1
))
@@ -1294,3 +1295,26 @@ GLOBAL_LIST_INIT(hallucination_list, list(
H.preparePixelProjectile(target, start)
H.fire()
qdel(src)
+
+/datum/hallucination/sleeping_carp
+
+/datum/hallucination/sleeping_carp/New(mob/living/carbon/C, forced = TRUE)
+ set waitfor = FALSE
+ ..()
+ var/list/mobsyup
+ for (var/mob/living/carbon/A in orange(C,1))
+ if (get_dist(C,A) < 2)
+ LAZYADD(mobsyup,A)
+ if (!LAZYLEN(mobsyup))
+ qdel(src)
+ return
+ var/mob/living/carbon/G = pick(mobsyup)
+ if (prob(50))
+ C.visible_message("[C] falls to the ground screaming and clutching [C.p_their()] wrist!", \
+ "[G] grabs your wrist and violently wrenches it to the side!")
+ C.emote("scream")
+ C.dropItemToGround(C.get_active_held_item())
+ C.Knockdown(60)
+ else
+ to_chat(C,"[G] violently grabs you!")
+ qdel(src)
diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm
index 5bf7e3dff3..b33be2fa02 100644
--- a/code/modules/food_and_drinks/drinks/drinks.dm
+++ b/code/modules/food_and_drinks/drinks/drinks.dm
@@ -132,14 +132,10 @@
transfer_fingerprints_to(B)
qdel(src)
-
-
-
////////////////////////////////////////////////////////////////////////////////
/// Drinks. END
////////////////////////////////////////////////////////////////////////////////
-
/obj/item/reagent_containers/food/drinks/trophy
name = "pewter cup"
desc = "Everyone gets a trophy."
@@ -178,7 +174,6 @@
materials = list(MAT_SILVER=800)
volume = 100
-
/obj/item/reagent_containers/food/drinks/trophy/bronze_cup
name = "bronze cup"
desc = "At least you ranked!"
@@ -190,7 +185,7 @@
materials = list(MAT_METAL=400)
volume = 25
-///////////////////////////////////////////////Drinks
+///////////////////////////////////////////////Drinks/////////////////////////////////////////
//Notes by Darem: Drinks are simply containers that start preloaded. Unlike condiments, the contents can be ingested directly
// rather then having to add it to something else first. They should only contain liquids. They have a default container size of 50.
// Formatting is the same as food.
@@ -203,6 +198,7 @@
spillable = TRUE
resistance_flags = FREEZE_PROOF
isGlass = FALSE
+ foodtype = BREAKFAST
//Used by MREs
/obj/item/reagent_containers/food/drinks/coffee/type2
@@ -211,7 +207,6 @@
icon = 'icons/obj/food/containers.dmi'
icon_state = "condi_cornoil"
-
/obj/item/reagent_containers/food/drinks/ice
name = "ice cup"
desc = "Careful, cold ice, do not chew."
@@ -243,10 +238,8 @@
desc = "Made in Space South America."
list_reagents = list("hot_coco" = 30, "sugar" = 5)
foodtype = SUGAR
-
resistance_flags = FREEZE_PROOF
-
/obj/item/reagent_containers/food/drinks/dry_ramen
name = "cup ramen"
desc = "Just add 10ml of water, self heats! A taste that reminds you of your school years."
@@ -325,27 +318,27 @@
icon_state = "orangebox"
name = "orange juice box"
desc = "A great source of vitamins. Stay healthy!"
- foodtype = FRUIT
+ foodtype = FRUIT | BREAKFAST
if("milk")
icon_state = "milkbox"
name = "carton of milk"
desc = "An excellent source of calcium for growing space explorers."
- foodtype = DAIRY
+ foodtype = DAIRY | BREAKFAST
if("applejuice")
icon_state = "juicebox"
name = "apple juice box"
desc = "Sweet apple juice. Don't be late for school!"
- foodtype = FRUIT
+ foodtype = FRUIT | BREAKFAST
if("grapejuice")
icon_state = "grapebox"
name = "grape juice box"
desc = "Tasty grape juice in a fun little container. Non-alcoholic!"
- foodtype = FRUIT
+ foodtype = FRUIT | BREAKFAST
if("chocolate_milk")
icon_state = "chocolatebox"
name = "carton of chocolate milk"
desc = "Milk for cool kids!"
- foodtype = SUGAR
+ foodtype = SUGAR | BREAKFAST
if("eggnog")
icon_state = "nog2"
name = "carton of eggnog"
@@ -357,8 +350,7 @@
desc = "A small carton, intended for holding drinks."
-
-//////////////////////////drinkingglass and shaker//
+//////////////////////////drinkingglass and shaker/////////////////////////////////////////////////////////////////////////////////////
//Note by Darem: This code handles the mixing of drinks. New drinks go in three places: In Chemistry-Reagents.dm (for the drink
// itself), in Chemistry-Recipes.dm (for the reaction that changes the components into the drink), and here (for the drinking glass
// icon states.
@@ -399,8 +391,8 @@
volume = 30
spillable = TRUE
-//////////////////////////soda_cans//
-//These are in their own group to be used as IED's in /obj/item/grenade/ghettobomb.dm
+//////////////////////////soda_cans////////////////////////////////////////////////////
+//These are in their own group to be used as IED's in /obj/item/grenade/ghettobomb.dm//
/obj/item/reagent_containers/food/drinks/soda_cans
name = "soda can"
@@ -426,7 +418,6 @@
qdel(src)
..()
-
/obj/item/reagent_containers/food/drinks/soda_cans/attack_self(mob/user)
if(!is_drainable())
to_chat(user, "You pull back the tab of \the [src] with a satisfying pop.") //Ahhhhhhhh
@@ -448,7 +439,6 @@
desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away."
icon_state = "tonic"
list_reagents = list("tonic" = 50)
- foodtype = ALCOHOL
/obj/item/reagent_containers/food/drinks/soda_cans/sodawater
name = "soda water"
@@ -515,6 +505,13 @@
list_reagents = list("shamblers" = 30)
foodtype = SUGAR | JUNKFOOD
+/obj/item/reagent_containers/food/drinks/soda_cans/buzz_fuzz
+ name = "Buzz Fuzz"
+ desc = "The sister drink of Shambler's Juice! Uses real honey, making it a sweet tooth's dream drink. The slogan reads ''A Hive of Flavour'', there's also a label about how it is adddicting."
+ icon_state = "honeysoda_can"
+ list_reagents = list("buzz_fuzz" = 25, "honey" = 5)
+ foodtype = SUGAR | JUNKFOOD
+
/obj/item/reagent_containers/food/drinks/soda_cans/grey_bull
name = "Grey Bull"
desc = "Grey Bull, it gives you gloves!"
@@ -527,3 +524,10 @@
desc = "There is no air shortage. Do not drink."
icon_state = "air"
list_reagents = list("nitrogen" = 24, "oxygen" = 6)
+
+/obj/item/reagent_containers/food/drinks/soda_cans/monkey_energy
+ name = "Monkey Energy"
+ desc = "Unleash the ape!"
+ icon_state = "monkey_energy"
+ list_reagents = list("monkey_energy" = 50)
+ foodtype = SUGAR | JUNKFOOD
diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
index 6a69721cef..271ff93b15 100644
--- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
@@ -429,7 +429,7 @@
righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
isGlass = FALSE
list_reagents = list("orangejuice" = 100)
- foodtype = FRUIT
+ foodtype = FRUIT| BREAKFAST
/obj/item/reagent_containers/food/drinks/bottle/cream
name = "milk cream"
diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm
index 132e000893..6d3f007fd9 100644
--- a/code/modules/food_and_drinks/food.dm
+++ b/code/modules/food_and_drinks/food.dm
@@ -5,6 +5,9 @@
/// the parent to the exclusion list in code/__HELPERS/unsorted.dm's
/// get_random_food proc.
////////////////////////////////////////////////////////////////////////////////
+
+#define STOP_SERVING_BREAKFAST (15 MINUTES)
+
/obj/item/reagent_containers/food
possible_transfer_amounts = list()
volume = 50 //Sets the default container amount for all food items.
@@ -40,4 +43,8 @@
if(foodtype & H.dna.species.toxic_food)
to_chat(H, "You don't feel so good...")
H.adjust_disgust(25 + 30 * fraction)
+ if((foodtype & BREAKFAST) && world.time - SSticker.round_start_time < STOP_SERVING_BREAKFAST)
+ SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "breakfast", /datum/mood_event/breakfast)
last_check_time = world.time
+
+#undef STOP_SERVING_BREAKFAST
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm
index 1d0b626d98..7288d91f2d 100644
--- a/code/modules/food_and_drinks/food/condiment.dm
+++ b/code/modules/food_and_drinks/food/condiment.dm
@@ -26,6 +26,7 @@
"cornoil" = list("oliveoil", "corn oil bottle", "A delicious oil used in cooking. Made from corn"),
"sugar" = list("emptycondiment", "sugar bottle", "Tasty spacey sugar!"),
"mayonnaise" = list("mayonnaise", "mayonnaise jar", "An oily condiment made from egg yolks."),
+ "bbqsauce" = list("condi_bbq", "BBQ sauce", "Hand wipes not included."),
"peanut_butter" = list("peanutbutter", "peanut butter jar", "A deliciously and sticky spread made from peanuts."))
var/originalname = "condiment" //Can't use initial(name) for this. This stores the name set by condimasters.
@@ -299,3 +300,8 @@
name = "astrotame pack"
originalname = "astrotame"
list_reagents = list("astrotame" = 5)
+
+/obj/item/reagent_containers/food/condiment/pack/bbqsauce
+ name = "bbq sauce pack"
+ originalname = "bbq sauce"
+ list_reagents = list("bbqsauce" = 10)
diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm
index 8724841643..239273e421 100644
--- a/code/modules/food_and_drinks/food/customizables.dm
+++ b/code/modules/food_and_drinks/food/customizables.dm
@@ -55,7 +55,7 @@
mix_filling_color(S)
S.reagents.trans_to(src,min(S.reagents.total_volume, 15)) //limit of 15, we don't want our custom food to be completely filled by just one ingredient with large reagent volume.
foodtype |= S.foodtype
- update_overlays(S)
+ update_snack_overlays(S)
to_chat(user, "You add the [I.name] to the [name].")
update_name(S)
else
@@ -103,7 +103,7 @@
rgbcolor[4] = (customcolor[4]+ingcolor[4])/2
filling_color = rgb(rgbcolor[1], rgbcolor[2], rgbcolor[3], rgbcolor[4])
-/obj/item/reagent_containers/food/snacks/customizable/update_overlays(obj/item/reagent_containers/food/snacks/S)
+/obj/item/reagent_containers/food/snacks/customizable/update_snack_overlays(obj/item/reagent_containers/food/snacks/S)
var/mutable_appearance/filling = mutable_appearance(icon, "[initial(icon_state)]_filling")
if(S.filling_color == "#FFFFFF")
filling.color = pick("#FF0000","#0000FF","#008000","#FFFF00")
@@ -139,7 +139,7 @@
/obj/item/reagent_containers/food/snacks/customizable/initialize_slice(obj/item/reagent_containers/food/snacks/slice, reagents_per_slice)
..()
slice.filling_color = filling_color
- slice.update_overlays(src)
+ slice.update_snack_overlays(src)
/obj/item/reagent_containers/food/snacks/customizable/Destroy()
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index d838b31aba..97e8423e78 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -52,6 +52,8 @@ All foods are distributed among various categories. Use common sense.
var/list/bonus_reagents //the amount of reagents (usually nutriment and vitamin) added to crafted/cooked snacks, on top of the ingredients reagents.
var/customfoodfilling = 1 // whether it can be used as filling in custom food
var/list/tastes // for example list("crisps" = 2, "salt" = 1)
+ var/dunkable = FALSE // for dunkable food, make true
+ var/dunk_amount = 10 // how much reagent is transferred per dunk
//Placeholder for effect that trigger on eating that aren't tied to reagents.
@@ -267,7 +269,7 @@ All foods are distributed among various categories. Use common sense.
trash = null
return
-/obj/item/reagent_containers/food/snacks/proc/update_overlays(obj/item/reagent_containers/food/snacks/S)
+/obj/item/reagent_containers/food/snacks/proc/update_snack_overlays(obj/item/reagent_containers/food/snacks/S)
cut_overlays()
var/mutable_appearance/filling = mutable_appearance(icon, "[initial(icon_state)]_filling")
if(S.filling_color == "#FFFFFF")
@@ -319,15 +321,33 @@ All foods are distributed among various categories. Use common sense.
if(iscorgi(M))
var/mob/living/L = M
if(bitecount == 0 || prob(50))
- M.emote("me", 1, "nibbles away at \the [src]")
+ M.emote("me", EMOTE_VISIBLE, "nibbles away at \the [src]")
bitecount++
L.taste(reagents) // why should carbons get all the fun?
if(bitecount >= 5)
var/sattisfaction_text = pick("burps from enjoyment", "yaps for more", "woofs twice", "looks at the area where \the [src] was")
if(sattisfaction_text)
- M.emote("me", 1, "[sattisfaction_text]")
+ M.emote("me", EMOTE_VISIBLE, "[sattisfaction_text]")
qdel(src)
+//////////////////////////////////////////Dunking///////////////////////////////////////////
+
+/obj/item/reagent_containers/food/snacks/afterattack(obj/item/reagent_containers/M, mob/user, proximity)
+ . = ..()
+ if(!dunkable || !proximity)
+ return
+ if(istype(M, /obj/item/reagent_containers/glass) || istype(M, /obj/item/reagent_containers/food/drinks)) //you can dunk dunkable snacks into beakers or drinks
+ if(!M.is_drainable())
+ to_chat(user, "[M] is unable to be dunked in!")
+ return
+ if(M.reagents.trans_to(src, dunk_amount)) //if reagents were transfered, show the message
+ to_chat(user, "You dunk the [M].")
+ return
+ if(!M.reagents.total_volume)
+ to_chat(user, "[M] is empty!")
+ else
+ to_chat(user, "[src] is full!")
+
// //////////////////////////////////////////////Store////////////////////////////////////////
/// All the food items that can store an item inside itself, like bread or cake.
/obj/item/reagent_containers/food/snacks/store
diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm
index ea573a2cf0..8f02cd81b4 100644
--- a/code/modules/food_and_drinks/food/snacks/meat.dm
+++ b/code/modules/food_and_drinks/food/snacks/meat.dm
@@ -57,6 +57,33 @@
else if(subjectjob)
S.name = "[subjectjob] meatsteak"
+/obj/item/reagent_containers/food/snacks/meat/rawcrab
+ name = "raw crab meat"
+ desc = "A pile of raw crab meat."
+ icon_state = "crabmeatraw"
+ cooked_type = /obj/item/reagent_containers/food/snacks/meat/crab
+ bitesize = 3
+ list_reagents = list("nutriment" = 1, "cooking_oil" = 3)
+ filling_color = "#EAD079"
+ tastes = list("raw crab" = 1)
+ foodtype = RAW | MEAT
+
+/obj/item/reagent_containers/food/snacks/meat/crab
+ name = "crab meat"
+ desc = "Some deliciously cooked crab meat."
+ icon_state = "crabmeat"
+ list_reagents = list("nutriment" = 2)
+ bonus_reagents = list("nutriment" = 3, "vitamin" = 2, "cooking_oil" = 2)
+ filling_color = "#DFB73A"
+ tastes = list("crab" = 1)
+ foodtype = MEAT
+
+/obj/item/reagent_containers/food/snacks/meat/slab/chicken
+ name = "chicken meat"
+ desc = "A slab of raw chicken. Remember to wash your hands!"
+ cooked_type = /obj/item/reagent_containers/food/snacks/meat/steak/chicken
+ slice_path = /obj/item/reagent_containers/food/snacks/meat/rawcutlet/chicken
+ tastes = list("chicken" = 1)
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/slime
icon_state = "slimemeat"
@@ -132,6 +159,28 @@
tastes = list("brains" = 1, "meat" = 1)
foodtype = RAW | MEAT | TOXIC
+/obj/item/reagent_containers/food/snacks/carpmeat/aquatic
+ name = "fillet"
+ desc = "A fillet of one of the local water dwelling species."
+
+/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/ipc
+ icon_state = "ipcmeat"
+ desc = "Gross robot meat."
+ filling_color = "#000000"
+ tastes = list("metal" = 1)
+
+/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/avian
+ desc = "Tastes like chicken, that's because it is!"
+ icon_state = "birdmeat"
+ filling_color = "#BF896B"
+ tastes = list("chicken" = 1)
+
+/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/mammal
+ desc = "Tastes sweet... reminds you vaguely of chicken."
+ filling_color = "#6B8E23"
+ tastes = list("brains" = 1, "meat" = 1)
+
+
////////////////////////////////////// OTHER MEATS ////////////////////////////////////////////////////////
@@ -183,7 +232,6 @@
tastes = list("meat" = 1, "salmon" = 1)
foodtype = RAW | MEAT
-
/obj/item/reagent_containers/food/snacks/meat/slab/xeno
name = "xeno meat"
desc = "A slab of meat."
@@ -207,7 +255,6 @@
tastes = list("cobwebs" = 1)
foodtype = RAW | MEAT | TOXIC
-
/obj/item/reagent_containers/food/snacks/meat/slab/goliath
name = "goliath meat"
desc = "A slab of goliath meat. It's not very edible now, but it cooks great in lava."
@@ -255,7 +302,7 @@
bonus_reagents = list("nutriment" = 1, "vitamin" = 1, "cooking_oil" = 2)
filling_color = "#854817"
tastes = list("bacon" = 1)
- foodtype = MEAT
+ foodtype = MEAT | BREAKFAST
/obj/item/reagent_containers/food/snacks/meat/slab/gondola
name = "gondola meat"
@@ -281,6 +328,10 @@
foodtype = MEAT
tastes = list("meat" = 1)
+/obj/item/reagent_containers/food/snacks/meat/steak/chicken
+ name = "chicken steak" //Can you have chicken steaks? Maybe this should be renamed once it gets new sprites.
+ tastes = list("chicken" = 1)
+
/obj/item/reagent_containers/food/snacks/meat/steak/plain
foodtype = MEAT
@@ -288,6 +339,10 @@
tastes = list("tender meat" = 1)
foodtype = MEAT | GROSS
+/obj/item/reagent_containers/food/snacks/meat/steak/penguin
+ name = "penguin steak"
+ tastes = list("beef" = 1, "cod fish" = 1)
+
/obj/item/reagent_containers/food/snacks/meat/steak/killertomato
name = "killer tomato steak"
tastes = list("tomato" = 1)
@@ -354,6 +409,11 @@
else if(subjectjob)
S.name = "[subjectjob] [initial(S.name)]"
+/obj/item/reagent_containers/food/snacks/meat/rawcutlet/chicken
+ name = "raw chicken cutlet"
+ cooked_type = /obj/item/reagent_containers/food/snacks/meat/cutlet/chicken
+ tastes = list("chicken" = 1)
+
/obj/item/reagent_containers/food/snacks/meat/rawcutlet/killertomato
name = "raw killer tomato cutlet"
cooked_type = /obj/item/reagent_containers/food/snacks/meat/cutlet/killertomato
@@ -419,3 +479,11 @@
/obj/item/reagent_containers/food/snacks/meat/cutlet/gondola
name = "gondola cutlet"
tastes = list("meat" = 1, "tranquility" = 1)
+
+/obj/item/reagent_containers/food/snacks/meat/cutlet/penguin
+ name = "penguin cutlet"
+ tastes = list("beef" = 1, "cod fish" = 1)
+
+/obj/item/reagent_containers/food/snacks/meat/cutlet/chicken
+ name = "chicken cutlet"
+ tastes = list("chicken" = 1)
diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm
index 0f11fc8ed2..628b883e73 100644
--- a/code/modules/food_and_drinks/food/snacks_bread.dm
+++ b/code/modules/food_and_drinks/food/snacks_bread.dm
@@ -5,7 +5,7 @@
slices_num = 5
tastes = list("bread" = 10)
foodtype = GRAIN
-
+ dunkable = TRUE
/obj/item/reagent_containers/food/snacks/breadslice
icon = 'icons/obj/food/burgerbread.dmi'
@@ -16,6 +16,7 @@
slot_flags = ITEM_SLOT_HEAD
customfoodfilling = 0 //to avoid infinite bread-ception
foodtype = GRAIN
+ dunkable = TRUE
/obj/item/reagent_containers/food/snacks/store/bread/plain
name = "bread"
@@ -270,6 +271,7 @@ GLOBAL_LIST_INIT(frying_bad_chems, list(
list_reagents = list("nutriment" = 4)
bonus_reagents = list("nutriment" = 1, "vitamin" = 1)
tastes = list("butter" = 1, "toast" = 1)
+ foodtype = GRAIN | BREAKFAST
/obj/item/reagent_containers/food/snacks/butterbiscuit
name = "butter biscuit"
@@ -280,6 +282,7 @@ GLOBAL_LIST_INIT(frying_bad_chems, list(
list_reagents = list("nutriment" = 5)
bonus_reagents = list("nutriment" = 1, "vitamin" = 1)
tastes = list("butter" = 1, "biscuit" = 1)
+ foodtype = GRAIN | BREAKFAST
/obj/item/reagent_containers/food/snacks/butterdog
name = "butterdog"
diff --git a/code/modules/food_and_drinks/food/snacks_burgers.dm b/code/modules/food_and_drinks/food/snacks_burgers.dm
index 814875d2da..8b6d6212f1 100644
--- a/code/modules/food_and_drinks/food/snacks_burgers.dm
+++ b/code/modules/food_and_drinks/food/snacks_burgers.dm
@@ -134,13 +134,54 @@
tastes = list("bun" = 4, "brains" = 2)
foodtype = GRAIN | MEAT | GROSS
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////
/obj/item/reagent_containers/food/snacks/burger/ghost
name = "ghost burger"
desc = "Too Spooky!"
- alpha = 125
+ icon_state = "ghostburger"
bonus_reagents = list("nutriment" = 5, "vitamin" = 12)
tastes = list("bun" = 4, "ectoplasm" = 2)
foodtype = GRAIN
+ alpha = 170
+ verb_say = "moans"
+ verb_yell = "wails"
+
+/obj/item/reagent_containers/food/snacks/burger/ghost/Initialize()
+ . = ..()
+ START_PROCESSING(SSobj, src)
+
+/obj/item/reagent_containers/food/snacks/burger/ghost/process()
+ if(!isturf(loc)) //no floating out of bags
+ return
+ var/paranormal_activity = rand(100)
+ switch(paranormal_activity)
+ if(97 to 100)
+ audible_message("[src] rattles a length of chain.")
+ playsound(loc,'sound/spookoween/chain_rattling.ogg', 300, TRUE)
+ if(91 to 96)
+ say(pick("OoOoOoo.", "OoooOOooOoo!!"))
+ if(84 to 90)
+ dir = pick(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)
+ step(src, dir)
+ if(71 to 83)
+ step(src, dir)
+ if(65 to 70)
+ var/obj/machinery/light/L = locate(/obj/machinery/light) in view(4, src)
+ if(L)
+ L.flicker()
+ if(62 to 64)
+ playsound(loc,pick('sound/hallucinations/i_see_you1.ogg', 'sound/hallucinations/i_see_you2.ogg'), 50, TRUE, ignore_walls = FALSE)
+ if(61)
+ visible_message("[src] spews out a glob of ectoplasm!")
+ new /obj/effect/decal/cleanable/greenglow/ecto(loc)
+ playsound(loc,'sound/effects/splat.ogg', 200, TRUE)
+
+ //If i was less lazy i would make the burger forcefeed itself to a nearby mob here.
+
+/obj/item/reagent_containers/food/snacks/burger/ghost/Destroy()
+ STOP_PROCESSING(SSobj, src)
+ . = ..()
+//////////////////////////////////////////////////////////////////////////////////////////////////////////
/obj/item/reagent_containers/food/snacks/burger/red
name = "red burger"
@@ -281,3 +322,49 @@
bonus_reagents = list("nutriment" = 8, "vitamin" = 1)
tastes = list("bun" = 4, "bacon" = 2)
foodtype = GRAIN | MEAT
+
+/obj/item/reagent_containers/food/snacks/burger/soylent
+ name = "soylent burger"
+ desc = "A eco-friendly burger made using upcycled low value biomass."
+ icon_state = "soylentburger"
+ bonus_reagents = list("nutriment" = 5, "vitamin" = 3)
+ tastes = list("bun" = 2, "assistant" = 4)
+ foodtype = GRAIN | MEAT | DAIRY
+
+/obj/item/reagent_containers/food/snacks/burger/rib
+ name = "mcrib"
+ desc = "An elusive rib shaped burger with limited availablity across the galaxy. Not as good as you remember it."
+ icon_state = "mcrib"
+ bonus_reagents = list("bbqsauce" = 5, "vitamin" = 3)
+ tastes = list("bun" = 2, "pork patty" = 4)
+ foodtype = GRAIN | MEAT
+
+/obj/item/reagent_containers/food/snacks/burger/mcguffin
+ name = "mcguffin"
+ desc = "A cheap and greasy imitation of an eggs benedict."
+ icon_state = "mcguffin"
+ tastes = list("muffin" = 2, "bacon" = 3)
+ bonus_reagents = list("eggyolk" = 3, "nutriment" = 1)
+ foodtype = GRAIN | MEAT | BREAKFAST
+
+/obj/item/reagent_containers/food/snacks/burger/chicken
+ name = "chicken sandwich" //Apparently the proud people of Americlapstan object to this thing being called a burger. Apparently McDonald's just calls it a burger in Europe as to not scare and confuse us.
+ desc = "A delicious chicken sandwich, it is said the proceeds from this treat helps criminalize homosexuality on the space frontier."
+ icon_state = "chickenburger"
+ tastes = list("bun" = 2, "chicken" = 4, "God's covenant" = 1)
+ bonus_reagents = list("mayonnaise" = 3, "cooking_oil" = 2, "nutriment" = 2)
+ foodtype = GRAIN | MEAT | FRIED
+
+/obj/item/reagent_containers/food/snacks/burger/cheese
+ name = "cheese burger"
+ desc = "This noble burger stands proudly clad in golden cheese."
+ icon_state = "cheeseburger"
+ tastes = list("bun" = 2, "beef patty" = 4, "cheese" = 3)
+ bonus_reagents = list("nutriment" = 1)
+ foodtype = GRAIN | MEAT | DAIRY
+
+/obj/item/reagent_containers/food/snacks/burger/cheese/Initialize()
+ . = ..()
+ if(prob(33))
+ icon_state = "cheeseburgeralt"
+
diff --git a/code/modules/food_and_drinks/food/snacks_cake.dm b/code/modules/food_and_drinks/food/snacks_cake.dm
index 7dadd2b12e..dd4dad4d9b 100644
--- a/code/modules/food_and_drinks/food/snacks_cake.dm
+++ b/code/modules/food_and_drinks/food/snacks_cake.dm
@@ -379,3 +379,21 @@ obj/item/reagent_containers/food/snacks/store/cake/pound_cake
filling_color = "#00FFFF"
tastes = list("cake" = 1, "sugar" = 1, "peachjuice" = 10)
foodtype = GRAIN | SUGAR | DAIRY
+
+/obj/item/reagent_containers/food/snacks/store/cake/trumpet
+ name = "spaceman's cake"
+ desc = "A spaceman's trumpet frosted cake."
+ icon_state = "trumpetcake"
+ slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/trumpet
+ bonus_reagents = list("polypyr" = 15, "cream" = 5, "vitamin" = 5, "berryjuice" = 5)
+ filling_color = "#7A3D80"
+ tastes = list("cake" = 4, "violets" = 2, "jam" = 2)
+ foodtype = GRAIN | DAIRY | FRUIT | SUGAR
+
+/obj/item/reagent_containers/food/snacks/cakeslice/trumpet
+ name = "spaceman's cake"
+ desc = "A spaceman's trumpet frosted cake."
+ icon_state = "trumpetcakeslice"
+ filling_color = "#7A3D80"
+ tastes = list("cake" = 4, "violets" = 2, "jam" = 2)
+ foodtype = GRAIN | DAIRY | FRUIT | SUGAR
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/food/snacks_egg.dm b/code/modules/food_and_drinks/food/snacks_egg.dm
index 510783479e..0d51db04ce 100644
--- a/code/modules/food_and_drinks/food/snacks_egg.dm
+++ b/code/modules/food_and_drinks/food/snacks_egg.dm
@@ -94,7 +94,7 @@
filling_color = "#FFFFF0"
list_reagents = list("nutriment" = 3)
tastes = list("egg" = 4, "salt" = 1, "pepper" = 1)
- foodtype = MEAT | FRIED
+ foodtype = MEAT | FRIED | BREAKFAST
/obj/item/reagent_containers/food/snacks/boiledegg
name = "boiled egg"
@@ -104,7 +104,7 @@
filling_color = "#FFFFF0"
list_reagents = list("nutriment" = 2, "vitamin" = 1)
tastes = list("egg" = 1)
- foodtype = MEAT
+ foodtype = MEAT | BREAKFAST
/obj/item/reagent_containers/food/snacks/omelette //FUCK THIS
name = "omelette du fromage"
@@ -116,7 +116,7 @@
bitesize = 1
w_class = WEIGHT_CLASS_NORMAL
tastes = list("egg" = 1, "cheese" = 1)
- foodtype = MEAT
+ foodtype = MEAT | BREAKFAST
/obj/item/reagent_containers/food/snacks/omelette/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/kitchen/fork))
@@ -145,5 +145,4 @@
w_class = WEIGHT_CLASS_NORMAL
list_reagents = list("nutriment" = 6, "vitamin" = 4)
tastes = list("egg" = 1, "bacon" = 1, "bun" = 1)
-
- foodtype = MEAT
+ foodtype = MEAT | BREAKFAST
diff --git a/code/modules/food_and_drinks/food/snacks_frozen.dm b/code/modules/food_and_drinks/food/snacks_frozen.dm
index 3988909b30..fb7bcf33b4 100644
--- a/code/modules/food_and_drinks/food/snacks_frozen.dm
+++ b/code/modules/food_and_drinks/food/snacks_frozen.dm
@@ -81,16 +81,15 @@
filling_color = "#87CEFA"
tastes = list("blue cherries" = 2, "ice cream" = 2)
foodtype = FRUIT | DAIRY
-
/////////////
//SNOWCONES//
/////////////
/obj/item/reagent_containers/food/snacks/snowcones //We use this as a base for all other snowcones
- name = "flaverless snowcone"
- desc = "Its just harden water slivers. Still fun to chew on."
+ name = "flavorless snowcone"
+ desc = "It's just shaved ice. Still fun to chew on."
icon = 'icons/obj/food/snowcones.dmi'
- icon_state = "flaverless_sc"
+ icon_state = "flavorless_sc"
trash = /obj/item/reagent_containers/food/drinks/sillycup //We dont eat paper cups
bonus_reagents = list("water" = 10) //Base line will allways give water
list_reagents = list("water" = 1) // We dont get food for water/juices
@@ -99,106 +98,106 @@
foodtype = SUGAR //We use SUGAR as a base line to act in as junkfood, other wise we use fruit
/obj/item/reagent_containers/food/snacks/snowcones/lime
- name = "lime flavored snowcone"
- desc = "A lime flavord snowball in a paper cup."
+ name = "lime snowcone"
+ desc = "Lime syrup drizzled over a snowball in a paper cup."
icon_state = "lime_sc"
list_reagents = list("nutriment" = 1, "limejuice" = 5)
tastes = list("ice" = 1, "water" = 1, "limes" = 5)
foodtype = FRUIT
/obj/item/reagent_containers/food/snacks/snowcones/lemon
- name = "lemon flavored snowcone"
- desc = "A lemon flavord snowball in a paper cup."
+ name = "lemon snowcone"
+ desc = "Lemon syrup drizzled over a snowball in a paper cup."
icon_state = "lemon_sc"
list_reagents = list("nutriment" = 1, "lemonjuice" = 5)
tastes = list("ice" = 1, "water" = 1, "lemons" = 5)
foodtype = FRUIT
/obj/item/reagent_containers/food/snacks/snowcones/apple
- name = "apple flavored snowcone"
- desc = "A apple flavord snowball in a paper cup."
- icon_state = "blue_sc"
+ name = "apple snowcone"
+ desc = "Apple syrup drizzled over a snowball in a paper cup."
+ icon_state = "amber_sc"
list_reagents = list("nutriment" = 1, "applejuice" = 5)
tastes = list("ice" = 1, "water" = 1, "apples" = 5)
foodtype = FRUIT
/obj/item/reagent_containers/food/snacks/snowcones/grape
- name = "grape flavored snowcone"
- desc = "A grape flavord snowball in a paper cup."
+ name = "grape snowcone"
+ desc = "Grape syrup drizzled over a snowball in a paper cup."
icon_state = "grape_sc"
- list_reagents = list("nutriment" = 1, "berryjuice" = 5)
+ list_reagents = list("nutriment" = 1, "grapejuice" = 5)
tastes = list("ice" = 1, "water" = 1, "grape" = 5)
foodtype = FRUIT
/obj/item/reagent_containers/food/snacks/snowcones/orange
- name = "orange flavored snowcone"
- desc = "A orange flavor dizzled on a snowball in a paper cup."
+ name = "orange snowcone"
+ desc = "Orange syrup drizzled over a snowball in a paper cup."
icon_state = "orange_sc"
- list_reagents = list("nutriment" = 1, "orangejuice" = 10)
- tastes = list("ice" = 1, "water" = 1, "berries" = 5)
+ list_reagents = list("nutriment" = 1, "orangejuice" = 5)
+ tastes = list("ice" = 1, "water" = 1, "orange" = 5)
foodtype = FRUIT
/obj/item/reagent_containers/food/snacks/snowcones/blue
- name = "bluecherry flavored snowcone"
- desc = "A bluecharry flavord snowball in a paper cup, how rare!"
- icon_state = "red_sc"
+ name = "bluecherry snowcone"
+ desc = "Bluecherry syrup drizzled over a snowball in a paper cup, how rare!"
+ icon_state = "blue_sc"
list_reagents = list("nutriment" = 1, "bluecherryjelly" = 5)
- tastes = list("ice" = 1, "water" = 1, "blue" = 5)
+ tastes = list("ice" = 1, "water" = 1, "blue" = 5, "cherries" = 5)
foodtype = FRUIT
/obj/item/reagent_containers/food/snacks/snowcones/red
- name = "cherry flavored snowcone"
- desc = "A cherry flavord snowball in a paper cup."
- icon_state = "blue_sc"
+ name = "cherry snowcone"
+ desc = "Cherry syrup drizzled over a snowball in a paper cup."
+ icon_state = "red_sc"
list_reagents = list("nutriment" = 1, "cherryjelly" = 5)
- tastes = list("ice" = 1, "water" = 1, "red" = 5)
+ tastes = list("ice" = 1, "water" = 1, "red" = 5, "cherries" = 5)
foodtype = FRUIT
/obj/item/reagent_containers/food/snacks/snowcones/kiwi
- name = "kiwi flavored snowcone"
- desc = "A kiwi flavord snowball in a paper cup."
+ name = "kiwi snowcone"
+ desc = "A kiwi snowball in a paper cup."
icon_state = "kiwi_sc"
list_reagents = list("nutriment" = 3, "vitamin" = 6)
tastes = list("ice" = 1, "space" = 3, "kiwi" = 5)
foodtype = FRUIT
-/obj/item/reagent_containers/food/snacks/snowcones/mix
- name = "mixed berry flavored snowcone"
- desc = "A mix of different flavors dizzled on a snowball in a paper cup."
- icon_state = "berry_sc"
- list_reagents = list("nutriment" = 1, "berryjuice" = 10)
- tastes = list("ice" = 1, "water" = 1, "berries" = 5)
- foodtype = FRUIT
-
/obj/item/reagent_containers/food/snacks/snowcones/peach
- name = "peach flavored snowcone"
- desc = "A peach flavord snowball in a paper cup."
+ name = "peach snowcone"
+ desc = "A peach snowball in a paper cup."
icon_state = "peach_sc"
list_reagents = list("nutriment" = 1, "peachjuice" = 10)
tastes = list("ice" = 1, "water" = 1, " peach" = 5)
foodtype = FRUIT
/obj/item/reagent_containers/food/snacks/snowcones/strawberry
- name = "strawberry flavored snowcone"
- desc = "A strawberry flavord snowball in a paper cup."
+ name = "strawberry snowcone"
+ desc = "A strawberry snowball in a paper cup."
icon_state = "blue_sc"
list_reagents = list("nutriment" = 1, "berryjuice" = 10)
tastes = list("ice" = 1, "water" = 1, " strawberry" = 5)
foodtype = FRUIT
+/obj/item/reagent_containers/food/snacks/snowcones/berry
+ name = "berry snowcone"
+ desc = "Berry syrup drizzled over a snowball in a paper cup."
+ icon_state = "berry_sc"
+ list_reagents = list("nutriment" = 1, "berryjuice" = 5)
+ tastes = list("ice" = 1, "water" = 1, "berries" = 5)
+ foodtype = FRUIT
+
/obj/item/reagent_containers/food/snacks/snowcones/fruitsalad
- name = "mixed fruit flavored snowcone"
- desc = "A mix of different flavors dizzled on a snowball in a paper cup."
+ name = "fruit salad snowcone"
+ desc = "A delightful mix of citrus syrups drizzled over a snowball in a paper cup."
icon_state = "fruitsalad_sc"
- list_reagents = list("nutriment" = 1, "limejuice" = 5, "lemonjuice" = 5, "orangejuice" = 5)
- tastes = list("ice" = 1, "water" = 1, "fruits" = 25)
+ list_reagents = list("nutriment" = 1, "lemonjuice" = 5, "limejuice" = 5, "orangejuice" = 5)
+ tastes = list("ice" = 1, "water" = 1, "oranges" = 5, "limes" = 5, "lemons" = 5, "citrus" = 5, "salad" = 5)
foodtype = FRUIT
/obj/item/reagent_containers/food/snacks/snowcones/pineapple
- name = "pineapple flavored snowcone"
- desc = "A pineapple flavord snowball in a paper cup."
+ name = "pineapple snowcone"
+ desc = "Pineapple syrup drizzled over a snowball in a paper cup."
icon_state = "pineapple_sc"
- list_reagents = list("nutriment" = 1, "water" = 1)
+ list_reagents = list("nutriment" = 1, "water" = 10)
tastes = list("ice" = 1, "water" = 1, "pineapples" = 5)
foodtype = PINEAPPLE //Pineapple to allow all that like pineapple to enjoy
@@ -207,41 +206,46 @@
desc = "..."
icon_state = "mime_sc"
list_reagents = list("nutriment" = 1, "nothing" = 5)
- tastes = list("nothing" = 5)
+ tastes = list("ice" = 1, "water" = 1, "nothing" = 5)
/obj/item/reagent_containers/food/snacks/snowcones/clown
- name = "joke flavored snowcone"
- desc = "A waterd down jokeful flavord snowball in a paper cup."
+ name = "clown snowcone"
+ desc = "Laughter drizzled over a snowball in a paper cup."
icon_state = "clown_sc"
list_reagents = list("nutriment" = 1, "laughter" = 5)
- tastes = list("jokes" = 5, "brainfreeze" = 5, "joy" = 5)
+ tastes = list("ice" = 1, "water" = 1, "jokes" = 5, "brainfreeze" = 5, "joy" = 5)
/obj/item/reagent_containers/food/snacks/snowcones/soda
- name = "sodawater flavored snowcone"
- desc = "A waterd down sodawater flavored snowcone snowball in a paper cup."
+ name = "space cola snowcone"
+ desc = "Space Cola drizzled over a snowball in a paper cup."
icon_state = "soda_sc"
- list_reagents = list("nutriment" = 1, "sodawater" = 5)
- tastes = list("surgar" = 1, "water" = 5, "soda" = 5)
- foodtype = JUNKFOOD | SUGAR
+ list_reagents = list("nutriment" = 1, "cola" = 5)
+ tastes = list("ice" = 1, "water" = 1, "cola" = 5)
-/obj/item/reagent_containers/food/snacks/snowcones/pwgrmer
- name = "pwergamer flavored snowcone"
- desc = "A waterd down pwergamer soda flavord snowball in a paper cup."
- icon_state = "pwergamer_sc"
- list_reagents = list("nutriment" = 1, "laughter" = 1)
- tastes = list("vaild" = 5, "salt" = 5, "wats" = 5)
- foodtype = JUNKFOOD | SUGAR
+/obj/item/reagent_containers/food/snacks/snowcones/spacemountainwind
+ name = "Space Mountain Wind snowcone"
+ desc = "Space Mountain Wind drizzled over a snowball in a paper cup."
+ icon_state = "kiwi_sc"
+ list_reagents = list("nutriment" = 1, "spacemountainwind" = 5)
+ tastes = list("ice" = 1, "water" = 1, "mountain wind" = 5)
+
+/obj/item/reagent_containers/food/snacks/snowcones/pwrgame
+ name = "pwrgame snowcone"
+ desc = "Pwrgame soda drizzled over a snowball in a paper cup."
+ icon_state = "pwrgame_sc"
+ list_reagents = list("nutriment" = 1, "pwr_game" = 5)
+ tastes = list("ice" = 1, "water" = 1, "valid" = 5, "salt" = 5, "wats" = 5)
/obj/item/reagent_containers/food/snacks/snowcones/honey
- name = "honey flavored snowcone"
- desc = "A honey flavord snowball in a paper cup."
- icon_state = "honey_sc"
+ name = "honey snowcone"
+ desc = "Honey drizzled over a snowball in a paper cup."
+ icon_state = "amber_sc"
list_reagents = list("nutriment" = 1, "honey" = 5)
- tastes = list("pollen" = 5, "sweetness" = 5, "wax" = 1)
+ tastes = list("ice" = 1, "water" = 1, "flowers" = 5, "sweetness" = 5, "wax" = 1)
/obj/item/reagent_containers/food/snacks/snowcones/rainbow
- name = "rainbow color snowcone"
- desc = "A rainbow color snowball in a paper cup."
+ name = "rainbow snowcone"
+ desc = "A very colorful snowball in a paper cup."
icon_state = "rainbow_sc"
list_reagents = list("nutriment" = 5, "laughter" = 25)
- tastes = list("sunlight" = 5, "light" = 5, "slime" = 5, "paint" = 3, "clouds" = 3)
+ tastes = list("ice" = 1, "water" = 1, "sunlight" = 5, "light" = 5, "slime" = 5, "paint" = 3, "clouds" = 3)
diff --git a/code/modules/food_and_drinks/food/snacks_meat.dm b/code/modules/food_and_drinks/food/snacks_meat.dm
index 0b53ec8822..cf499c9d15 100644
--- a/code/modules/food_and_drinks/food/snacks_meat.dm
+++ b/code/modules/food_and_drinks/food/snacks_meat.dm
@@ -149,7 +149,7 @@
bonus_reagents = list("nutriment" = 1, "vitamin" = 1)
list_reagents = list("nutriment" = 6, "vitamin" = 1)
tastes = list("meat" = 1)
- foodtype = MEAT
+ foodtype = MEAT | BREAKFAST
var/roasted = FALSE
/obj/item/reagent_containers/food/snacks/sausage/Initialize()
@@ -344,3 +344,19 @@
icon_state = "doubleratkebab"
tastes = list("rat meat" = 2, "metal" = 1)
bonus_reagents = list("nutriment" = 6, "vitamin" = 2)
+
+/obj/item/reagent_containers/food/snacks/kebab/fiesta
+ name = "fiesta skewer"
+ icon_state = "fiestaskewer"
+ tastes = list("tex-mex" = 3, "cumin" = 2)
+ bonus_reagents = list("vitamin" = 5, "capsaicin" = 3)
+
+/obj/item/reagent_containers/food/snacks/bbqribs
+ name = "bbq ribs"
+ desc = "BBQ ribs, slathered in a healthy coating of BBQ sauce. The least vegan thing to ever exist."
+ icon_state = "ribs"
+ w_class = WEIGHT_CLASS_NORMAL
+ list_reagents = list("nutriment" = 8, "vitamin" = 2, "bbqsauce" = 5)
+ bonus_reagents = list("nutriment" = 1, "vitamin" = 1)
+ tastes = list("meat" = 3, "smokey sauce" = 1)
+ foodtype = MEAT
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm
index ad0824dd79..de22537063 100644
--- a/code/modules/food_and_drinks/food/snacks_other.dm
+++ b/code/modules/food_and_drinks/food/snacks_other.dm
@@ -47,6 +47,7 @@
filling_color = "#A0522D"
tastes = list("chocolate" = 1)
foodtype = JUNKFOOD | SUGAR
+ dunkable = TRUE
/obj/item/reagent_containers/food/snacks/hugemushroomslice
name = "huge mushroom slice"
@@ -90,6 +91,7 @@
filling_color = "#FFD700"
tastes = list("fries" = 3, "salt" = 1)
foodtype = VEGETABLES | GRAIN | FRIED
+ dunkable = TRUE
/obj/item/reagent_containers/food/snacks/tatortot
name = "tator tot"
@@ -99,6 +101,7 @@
filling_color = "FFD700"
tastes = list("potato" = 3, "valids" = 1)
foodtype = FRIED | VEGETABLES
+ dunkable = TRUE
/obj/item/reagent_containers/food/snacks/soydope
name = "soy dope"
@@ -109,6 +112,7 @@
filling_color = "#DEB887"
tastes = list("soy" = 1)
foodtype = VEGETABLES
+ dunkable = TRUE
/obj/item/reagent_containers/food/snacks/cheesyfries
name = "cheesy fries"
@@ -128,6 +132,7 @@
list_reagents = list("bad_food" = 30)
filling_color = "#8B4513"
foodtype = GROSS
+ dunkable = TRUE
/obj/item/reagent_containers/food/snacks/carrotfries
name = "carrot fries"
@@ -401,7 +406,6 @@
tastes = list("death" = 2, "rock" = 1, "meat" = 1, "hot peppers" = 1)
foodtype = MEAT
-
/obj/item/reagent_containers/food/snacks/powercrepe
name = "Powercrepe"
desc = "With great power, comes great crepes. It looks like a pancake filled with jelly but packs quite a punch."
@@ -583,6 +587,7 @@
filling_color = "#ffdf26"
tastes = list("strawberries" = 5, "chocolate" = 3)
foodtype = FRUIT | SUGAR
+ dunkable = TRUE
/obj/item/reagent_containers/food/snacks/chocolatebanana
name = "Chocolate dipped banana"
@@ -591,4 +596,81 @@
list_reagents = list("sugar" = 5, "nutriment" = 3, "vitamin" = 1)
filling_color = "#ffdf26"
tastes = list("banana" = 5, "chocolate" = 3)
- foodtype = FRUIT | SUGAR
\ No newline at end of file
+ foodtype = FRUIT | SUGAR
+ dunkable = TRUE
+
+/obj/item/reagent_containers/food/snacks/cornchips
+ name = "boritos corn chips"
+ desc = "Triangular corn chips. They do seem a bit bland but would probably go well with some kind of dipping sauce."
+ icon_state = "boritos"
+ trash = /obj/item/trash/boritos
+ bitesize = 2
+ list_reagents = list("nutriment" = 3, "cooking_oil" = 2, "sodiumchloride" = 3)
+ filling_color = "#ECA735"
+ tastes = list("fried corn" = 1)
+ foodtype = JUNKFOOD | FRIED
+ dunkable = TRUE
+
+/obj/item/reagent_containers/food/snacks/marshmallow
+ name = "marshmallow"
+ desc = "A marshmallow filled with fluffy marshmallow fluff."
+ icon_state = "marshmallow"
+ list_reagents = list("sugar" = 5, "nutriment" = 2)
+ filling_color = "#fafafa"
+ w_class = WEIGHT_CLASS_TINY
+ tastes = list("marshmallow" = 2)
+ foodtype = SUGAR | JUNKFOOD
+ var/burned = 0
+
+/obj/item/reagent_containers/food/snacks/marshmallow/attackby(obj/item/I, mob/user)
+ switch (I.get_temperature())
+ if (355 to 1500)
+ if (prob(30))
+ burnmallow()
+ if (1500 to 2000)
+ if (prob(50))
+ burnmallow()
+ else
+ burnmallow(TRUE)
+ if (2000 to 3000)
+ if (prob(10))
+ burnmallow()
+ else
+ burnmallow(TRUE)
+ if (3000 to INFINITY)
+ burnmallow(TRUE)
+ return ..()
+
+/obj/item/reagent_containers/food/snacks/marshmallow/proc/burnmallow(reallyburned = FALSE)
+ if (reallyburned && burned == 1)
+ icon_state = "marshmallowrburned"
+ else if (burned == 0)
+ icon_state = "marshmallowburned"
+
+/obj/item/reagent_containers/food/snacks/marshmallow/examine(mob/user)
+ . = ..()
+ if (burned == 2)
+ . += "It looks very burned."
+ if (burned == 1)
+ . += "It looks just right for eating!"
+
+/obj/item/reagent_containers/food/snacks/marshmallow/fire_act(temp,volume)
+ switch (temp)
+ if (355 to 1500)
+ if (prob(30))
+ burnmallow()
+ if (1500 to 2000)
+ if (prob(50))
+ burnmallow()
+ else
+ burnmallow(TRUE)
+ if (2000 to 3000)
+ if (prob(10))
+ burnmallow()
+ else
+ burnmallow(TRUE)
+ if (3000 to 7000)
+ burnmallow(TRUE)
+ if (7000 to INFINITY)
+ burn()
+ ..()
diff --git a/code/modules/food_and_drinks/food/snacks_pastry.dm b/code/modules/food_and_drinks/food/snacks_pastry.dm
index baf8e150c5..de5d577193 100644
--- a/code/modules/food_and_drinks/food/snacks_pastry.dm
+++ b/code/modules/food_and_drinks/food/snacks_pastry.dm
@@ -5,28 +5,31 @@
/obj/item/reagent_containers/food/snacks/donut
name = "donut"
desc = "Goes great with robust coffee."
- icon_state = "donut1"
+ icon = 'icons/obj/food/donut.dmi'
+ icon_state = "donut"
bitesize = 5
bonus_reagents = list("sugar" = 1)
list_reagents = list("nutriment" = 3, "sprinkles" = 1, "sugar" = 2)
filling_color = "#D2691E"
tastes = list("donut" = 1)
- foodtype = JUNKFOOD | GRAIN | FRIED | SUGAR
- var/frosted_icon = "donut2"
- var/is_frosted = FALSE
+ foodtype = JUNKFOOD | GRAIN | FRIED | SUGAR | BREAKFAST
+ dunkable = TRUE
+ var/decorated_icon = "donut_homer"
+ var/is_decorated = FALSE
var/extra_reagent = null
+ var/decorated_adjective = "sprinkled"
/obj/item/reagent_containers/food/snacks/donut/Initialize()
. = ..()
if(prob(30))
- frost_donut()
+ decorate_donut()
-/obj/item/reagent_containers/food/snacks/donut/proc/frost_donut()
- if(is_frosted || !frosted_icon)
+/obj/item/reagent_containers/food/snacks/donut/proc/decorate_donut()
+ if(is_decorated || !decorated_icon)
return
- is_frosted = TRUE
- name = "frosted [name]"
- icon_state = frosted_icon //delish~!
+ is_decorated = TRUE
+ name = "[decorated_adjective] [name]"
+ icon_state = decorated_icon //delish~!
reagents.add_reagent("sprinkles", 1)
filling_color = "#FF69B4"
return TRUE
@@ -43,64 +46,283 @@
return
..()
+/obj/item/reagent_containers/food/snacks/donut/plain
+ //Use this donut ingame
+
/obj/item/reagent_containers/food/snacks/donut/chaos
name = "chaos donut"
desc = "Like life, it never quite tastes the same."
+ icon_state = "donut_chaos"
bitesize = 10
tastes = list("donut" = 3, "chaos" = 1)
/obj/item/reagent_containers/food/snacks/donut/chaos/Initialize()
. = ..()
extra_reagent = pick("nutriment", "capsaicin", "frostoil", "krokodil", "plasma", "cocoa", "slimejelly", "banana", "berryjuice", "omnizine")
- reagents.add_reagent("[extra_reagent]", 3)
+ reagents.add_reagent(extra_reagent, 3)
+
+/obj/item/reagent_containers/food/snacks/donut/meat
+ name = "Meat Donut"
+ desc = "Tastes as gross as it looks."
+ icon_state = "donut_meat"
+ bonus_reagents = list("ketchup" = 1)
+ list_reagents = list("nutriment" = 3, "ketchup" = 2)
+ tastes = list("meat" = 1)
+ foodtype = JUNKFOOD | MEAT | GROSS | FRIED | BREAKFAST
+
+/obj/item/reagent_containers/food/snacks/donut/berry
+ name = "pink donut"
+ desc = "Goes great with a soy latte."
+ icon_state = "donut_pink"
+ bonus_reagents = list("berryjuice" = 3, "sprinkles" = 1) //Extra sprinkles to reward frosting
+ filling_color = "#E57d9A"
+ decorated_icon = "donut_homer"
+
+/obj/item/reagent_containers/food/snacks/donut/trumpet
+ name = "spaceman's donut"
+ desc = "Goes great with a cold beaker of malk."
+ icon_state = "donut_purple"
+ bonus_reagents = list("polypyr" = 3, "sprinkles" = 1)
+ tastes = list("donut" = 3, "violets" = 1)
+ is_decorated = TRUE
+ filling_color = "#8739BF"
+
+/obj/item/reagent_containers/food/snacks/donut/apple
+ name = "apple donut"
+ desc = "Goes great with a shot of cinnamon schnapps."
+ icon_state = "donut_green"
+ bonus_reagents = list("applejuice" = 3, "sprinkles" = 1)
+ tastes = list("donut" = 3, "green apples" = 1)
+ is_decorated = TRUE
+ filling_color = "#6ABE30"
+
+/obj/item/reagent_containers/food/snacks/donut/caramel
+ name = "caramel donut"
+ desc = "Goes great with a mug of hot coco."
+ icon_state = "donut_beige"
+ bonus_reagents = list("caramel" = 3, "sprinkles" = 1)
+ tastes = list("donut" = 3, "buttery sweetness" = 1)
+ is_decorated = TRUE
+ filling_color = "#D4AD5B"
+
+/obj/item/reagent_containers/food/snacks/donut/choco
+ name = "chocolate donut"
+ desc = "Goes great with a glass of warm milk."
+ icon_state = "donut_choc"
+ bonus_reagents = list("hot_coco" = 3, "sprinkles" = 1) //the coco reagent is just bitter.
+ tastes = list("donut" = 4, "bitterness" = 1)
+ decorated_icon = "donut_choc_sprinkles"
+ filling_color = "#4F230D"
+
+/obj/item/reagent_containers/food/snacks/donut/blumpkin
+ name = "blumpkin donut"
+ desc = "Goes great with a mug of soothing drunken blumpkin."
+ icon_state = "donut_blue"
+ bonus_reagents = list("blumpkinjuice" = 3, "sprinkles" = 1)
+ tastes = list("donut" = 2, "blumpkin" = 1)
+ is_decorated = TRUE
+ filling_color = "#2788C4"
+
+/obj/item/reagent_containers/food/snacks/donut/bungo
+ name = "bungo donut"
+ desc = "Goes great with a mason jar of hippie's delight."
+ icon_state = "donut_yellow"
+ bonus_reagents = list("bungojuice" = 3, "sprinkles" = 1)
+ tastes = list("donut" = 3, "tropical sweetness" = 1)
+ is_decorated = TRUE
+ filling_color = "#DEC128"
+
+/obj/item/reagent_containers/food/snacks/donut/matcha
+ name = "matcha donut"
+ desc = "Goes great with a cup of tea."
+ icon_state = "donut_olive"
+ bonus_reagents = list("teapowder = 3", "sprinkles" = 1)
+ tastes = list("donut" = 3, "matcha" = 1)
+ is_decorated = TRUE
+ filling_color = "#879630"
+
+//////////////////////JELLY DONUTS/////////////////////////
/obj/item/reagent_containers/food/snacks/donut/jelly
name = "jelly donut"
desc = "You jelly?"
- icon_state = "jdonut1"
- frosted_icon = "jdonut2"
+ icon_state = "jelly"
+ decorated_icon = "jelly_homer"
bonus_reagents = list("sugar" = 1, "vitamin" = 1)
extra_reagent = "berryjuice"
tastes = list("jelly" = 1, "donut" = 3)
- foodtype = JUNKFOOD | GRAIN | FRIED | FRUIT | SUGAR
+ foodtype = JUNKFOOD | GRAIN | FRIED | FRUIT | SUGAR | BREAKFAST
/obj/item/reagent_containers/food/snacks/donut/jelly/Initialize()
. = ..()
if(extra_reagent)
reagents.add_reagent("[extra_reagent]", 3)
+/obj/item/reagent_containers/food/snacks/donut/jelly/plain //use this ingame to avoid inheritance related crafting issues.
+
+/obj/item/reagent_containers/food/snacks/donut/jelly/berry
+ name = "pink jelly donut"
+ desc = "Goes great with a soy latte."
+ icon_state = "jelly_pink"
+ bonus_reagents = list("berryjuice" = 3, "sprinkles" = 1, "vitamin" = 1) //Extra sprinkles to reward frosting.
+ filling_color = "#E57d9A"
+ decorated_icon = "jelly_homer"
+
+/obj/item/reagent_containers/food/snacks/donut/jelly/trumpet
+ name = "spaceman's jelly donut"
+ desc = "Goes great with a cold beaker of malk."
+ icon_state = "jelly_purple"
+ bonus_reagents = list("polypyr" = 3, "sprinkles" = 1, "vitamin" = 1)
+ tastes = list("jelly" = 1, "donut" = 3, "violets" = 1)
+ is_decorated = TRUE
+ filling_color = "#8739BF"
+
+/obj/item/reagent_containers/food/snacks/donut/jelly/apple
+ name = "apple jelly donut"
+ desc = "Goes great with a shot of cinnamon schnapps."
+ icon_state = "jelly_green"
+ bonus_reagents = list("applejuice" = 3, "sprinkles" = 1, "vitamin" = 1)
+ tastes = list("jelly" = 1, "donut" = 3, "green apples" = 1)
+ is_decorated = TRUE
+ filling_color = "#6ABE30"
+
+/obj/item/reagent_containers/food/snacks/donut/jelly/caramel
+ name = "caramel jelly donut"
+ desc = "Goes great with a mug of hot coco."
+ icon_state = "jelly_beige"
+ bonus_reagents = list("caramel" = 3, "sprinkles" = 1, "vitamin" = 1)
+ tastes = list("jelly" = 1, "donut" = 3, "buttery sweetness" = 1)
+ is_decorated = TRUE
+ filling_color = "#D4AD5B"
+
+/obj/item/reagent_containers/food/snacks/donut/jelly/choco
+ name = "chocolate jelly donut"
+ desc = "Goes great with a glass of warm milk."
+ icon_state = "jelly_choc"
+ bonus_reagents = list("hot_coco" = 3, "sprinkles" = 1, "vitamin" = 1) //the coco reagent is just bitter.
+ tastes = list("jelly" = 1, "donut" = 4, "bitterness" = 1)
+ decorated_icon = "jelly_choc_sprinkles"
+ filling_color = "#4F230D"
+
+/obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin
+ name = "blumpkin jelly donut"
+ desc = "Goes great with a mug of soothing drunken blumpkin."
+ icon_state = "jelly_blue"
+ bonus_reagents = list("blumpkinjuice" = 3, "sprinkles" = 1, "vitamin" = 1)
+ tastes = list("jelly" = 1, "donut" = 2, "blumpkin" = 1)
+ is_decorated = TRUE
+ filling_color = "#2788C4"
+
+/obj/item/reagent_containers/food/snacks/donut/jelly/bungo
+ name = "bungo jelly donut"
+ desc = "Goes great with a mason jar of hippie's delight."
+ icon_state = "jelly_yellow"
+ bonus_reagents = list("bungojuice" = 3, "sprinkles" = 1, "vitamin" = 1)
+ tastes = list("jelly" = 1, "donut" = 3, "tropical sweetness" = 1)
+ is_decorated = TRUE
+ filling_color = "#DEC128"
+
+/obj/item/reagent_containers/food/snacks/donut/jelly/matcha
+ name = "matcha jelly donut"
+ desc = "Goes great with a cup of tea."
+ icon_state = "jelly_olive"
+ bonus_reagents = list("teapowder" = 3, "sprinkles" = 1, "vitamin" = 1)
+ tastes = list("jelly" = 1, "donut" = 3, "matcha" = 1)
+ is_decorated = TRUE
+ filling_color = "#879630"
+
+//////////////////////////SLIME DONUTS/////////////////////////
+
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly
name = "jelly donut"
desc = "You jelly?"
- icon_state = "jdonut1"
+ icon_state = "jelly"
extra_reagent = "slimejelly"
- foodtype = JUNKFOOD | GRAIN | FRIED | TOXIC | SUGAR
+ foodtype = JUNKFOOD | GRAIN | FRIED | TOXIC | SUGAR | BREAKFAST
-/obj/item/reagent_containers/food/snacks/donut/jelly/cherryjelly
- name = "jelly donut"
- desc = "You jelly?"
- icon_state = "jdonut1"
- extra_reagent = "cherryjelly"
- foodtype = JUNKFOOD | GRAIN | FRIED | FRUIT
+/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain
-/obj/item/reagent_containers/food/snacks/donut/meat
- bonus_reagents = list("ketchup" = 1)
- list_reagents = list("nutriment" = 3, "ketchup" = 2)
- tastes = list("meat" = 1)
- foodtype = JUNKFOOD | MEAT | GROSS | FRIED
+/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry
+ name = "pink jelly donut"
+ desc = "Goes great with a soy latte."
+ icon_state = "jelly_pink"
+ bonus_reagents = list("berryjuice" = 3, "sprinkles" = 1, "vitamin" = 1) //Extra sprinkles to reward frosting
+ filling_color = "#E57d9A"
-/obj/item/reagent_containers/food/snacks/donut/semen
- name = "\"cream\" donut"
- desc = "That cream looks a little runny..."
- icon_state = "donut3"
+/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet
+ name = "spaceman's jelly donut"
+ desc = "Goes great with a cold beaker of malk."
+ icon_state = "jelly_purple"
+ bonus_reagents = list("polypyr" = 3, "sprinkles" = 1, "vitamin" = 1)
+ tastes = list("jelly" = 1, "donut" = 3, "violets" = 1)
+ is_decorated = TRUE
+ filling_color = "#8739BF"
+
+/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple
+ name = "apple jelly donut"
+ desc = "Goes great with a shot of cinnamon schnapps."
+ icon_state = "jelly_green"
+ bonus_reagents = list("applejuice" = 3, "sprinkles" = 1, "vitamin" = 1)
+ tastes = list("jelly" = 1, "donut" = 3, "green apples" = 1)
+ is_decorated = TRUE
+ filling_color = "#6ABE30"
+
+/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/caramel
+ name = "caramel jelly donut"
+ desc = "Goes great with a mug of hot coco."
+ icon_state = "jelly_beige"
+ bonus_reagents = list("caramel" = 3, "sprinkles" = 1, "vitamin" = 1)
+ tastes = list("jelly" = 1, "donut" = 3, "buttery sweetness" = 1)
+ is_decorated = TRUE
+ filling_color = "#D4AD5B"
+
+/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco
+ name = "chocolate jelly donut"
+ desc = "Goes great with a glass of warm milk."
+ icon_state = "jelly_choc"
+ bonus_reagents = list("hot_coco" = 3, "sprinkles" = 1, "vitamin" = 1) //the coco reagent is just bitter.
+ tastes = list("jelly" = 1, "donut" = 4, "bitterness" = 1)
+ decorated_icon = "jelly_choc_sprinkles"
+ filling_color = "#4F230D"
+
+/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin
+ name = "blumpkin jelly donut"
+ desc = "Goes great with a mug of soothing drunken blumpkin."
+ icon_state = "jelly_blue"
+ bonus_reagents = list("blumpkinjuice" = 3, "sprinkles" = 1, "vitamin" = 1)
+ tastes = list("jelly" = 1, "donut" = 2, "blumpkin" = 1)
+ is_decorated = TRUE
+ filling_color = "#2788C4"
+
+/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo
+ name = "bungo jelly donut"
+ desc = "Goes great with a mason jar of hippie's delight."
+ icon_state = "jelly_yellow"
+ bonus_reagents = list("bungojuice" = 3, "sprinkles" = 1, "vitamin" = 1)
+ tastes = list("jelly" = 1, "donut" = 3, "tropical sweetness" = 1)
+ is_decorated = TRUE
+ filling_color = "#DEC128"
+
+/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/matcha
+ name = "matcha jelly donut"
+ desc = "Goes great with a cup of tea."
+ icon_state = "jelly_olive"
+ bonus_reagents = list("teapowder" = 3, "sprinkles" = 1, "vitamin" = 1)
+ tastes = list("jelly" = 1, "donut" = 3, "matcha" = 1)
+ is_decorated = TRUE
+ filling_color = "#879630"
+
+/obj/item/reagent_containers/food/snacks/donut/glaze
+ name = "glazed donut"
+ desc = "A sugar glazed donut."
+ icon_state = "donut_glaze"
bitesize = 10
- bonus_reagents = list("semen" = 1)
- list_reagents = list("nutriment" = 3, "sugar" = 2, "semen" = 5)
+ bonus_reagents = list("sugar" = 3)
+ list_reagents = list("nutriment" = 3, "sugar" = 8)
filling_color = "#FFFFFF"
tastes = list("donut" = 1, "salt" = 3)
foodtype = JUNKFOOD | GRAIN | FRIED | SUGAR
-
////////////////////////////////////////////MUFFINS////////////////////////////////////////////
/obj/item/reagent_containers/food/snacks/muffin
@@ -111,14 +333,14 @@
list_reagents = list("nutriment" = 6)
filling_color = "#F4A460"
tastes = list("muffin" = 1)
- foodtype = GRAIN | SUGAR
+ foodtype = GRAIN | SUGAR | BREAKFAST
/obj/item/reagent_containers/food/snacks/muffin/berry
name = "berry muffin"
icon_state = "berrymuffin"
desc = "A delicious and spongy little cake, with berries."
tastes = list("muffin" = 3, "berry" = 1)
- foodtype = GRAIN | FRUIT | SUGAR
+ foodtype = GRAIN | FRUIT | SUGAR | BREAKFAST
/obj/item/reagent_containers/food/snacks/muffin/booberry
name = "booberry muffin"
@@ -126,7 +348,7 @@
alpha = 125
desc = "My stomach is a graveyard! No living being can quench my bloodthirst!"
tastes = list("muffin" = 3, "spookiness" = 1)
- foodtype = GRAIN | FRUIT | SUGAR
+ foodtype = GRAIN | FRUIT | SUGAR | BREAKFAST
/obj/item/reagent_containers/food/snacks/chawanmushi
name = "chawanmushi"
@@ -149,7 +371,7 @@
list_reagents = list("nutriment" = 8, "vitamin" = 1)
filling_color = "#D2691E"
tastes = list("waffles" = 1)
- foodtype = GRAIN | SUGAR
+ foodtype = GRAIN | SUGAR | BREAKFAST
/obj/item/reagent_containers/food/snacks/soylentgreen
name = "\improper Soylent Green"
@@ -160,7 +382,7 @@
list_reagents = list("nutriment" = 10, "vitamin" = 1)
filling_color = "#9ACD32"
tastes = list("waffles" = 7, "people" = 1)
- foodtype = GRAIN | GROSS | MEAT
+ foodtype = GRAIN | MEAT
/obj/item/reagent_containers/food/snacks/soylenviridians
name = "\improper Soylent Virdians"
@@ -183,7 +405,7 @@
list_reagents = list("nutriment" = 8, "mushroomhallucinogen" = 2, "vitamin" = 2)
filling_color = "#00BFFF"
tastes = list("waffle" = 1, "mushrooms" = 1)
- foodtype = GRAIN | VEGETABLES | TOXIC | SUGAR
+ foodtype = GRAIN | VEGETABLES | SUGAR | BREAKFAST
////////////////////////////////////////////OTHER////////////////////////////////////////////
@@ -196,7 +418,8 @@
list_reagents = list("nutriment" = 1)
filling_color = "#F0E68C"
tastes = list("cookie" = 1)
- foodtype = SUGAR
+ foodtype = GRAIN | SUGAR
+ dunkable = TRUE
/obj/item/reagent_containers/food/snacks/donkpocket
name = "\improper Donk-pocket"
@@ -213,6 +436,7 @@
desc = "The heated food of choice for the seasoned traitor."
bonus_reagents = list("omnizine" = 3)
list_reagents = list("nutriment" = 4, "omnizine" = 3)
+ cooked_type = null
tastes = list("meat" = 2, "dough" = 2, "laziness" = 1)
foodtype = GRAIN
@@ -315,6 +539,7 @@
filling_color = "#CD853F"
tastes = list("sweetness" = 1)
foodtype = GRAIN | JUNKFOOD | SUGAR
+ dunkable = TRUE
/obj/item/reagent_containers/food/snacks/chococornet
name = "chocolate cornet"
@@ -335,6 +560,7 @@
filling_color = "#D2691E"
tastes = list("cookie" = 2, "oat" = 1)
foodtype = GRAIN
+ dunkable = TRUE
/obj/item/reagent_containers/food/snacks/raisincookie
name = "raisin cookie"
@@ -345,6 +571,7 @@
filling_color = "#F0E68C"
tastes = list("cookie" = 1, "raisins" = 1)
foodtype = GRAIN | FRUIT
+ dunkable = TRUE
/obj/item/reagent_containers/food/snacks/cherrycupcake
name = "cherry cupcake"
@@ -367,7 +594,7 @@
foodtype = GRAIN | FRUIT | SUGAR
/obj/item/reagent_containers/food/snacks/strawberrycupcake
- name = "Strawberry cupcake"
+ name = "strawberry cupcake"
desc = "Strawberry inside a delicious cupcake."
icon_state = "strawberrycupcake"
bonus_reagents = list("nutriment" = 1, "vitamin" = 3)
@@ -384,9 +611,9 @@
list_reagents = list("nutriment" = 5, "honey" = 5)
filling_color = "#F2CE91"
tastes = list("pastry" = 1, "sweetness" = 1)
- foodtype = GRAIN
+ foodtype = GRAIN | SUGAR
-#define PANCAKE_MAX_STACK 30
+#define PANCAKE_MAX_STACK 10
/obj/item/reagent_containers/food/snacks/pancakes
name = "pancake"
@@ -397,7 +624,7 @@
list_reagents = list("nutriment" = 4, "vitamin" = 1)
filling_color = "#D2691E"
tastes = list("pancakes" = 1)
- foodtype = GRAIN | SUGAR
+ foodtype = GRAIN | SUGAR | BREAKFAST
/obj/item/reagent_containers/food/snacks/pancakes/blueberry
name = "blueberry pancake"
@@ -465,13 +692,13 @@
to_chat(user, "You add the [I] to the [name].")
P.name = initial(P.name)
contents += P
- update_overlays(P)
+ update_snack_overlays(P)
if (P.contents.len)
for(var/V in P.contents)
P = V
P.name = initial(P.name)
contents += P
- update_overlays(P)
+ update_snack_overlays(P)
P = I
clearlist(P.contents)
return
@@ -480,7 +707,7 @@
return O.attackby(I, user, params)
..()
-/obj/item/reagent_containers/food/snacks/pancakes/update_overlays(obj/item/reagent_containers/food/snacks/P)
+/obj/item/reagent_containers/food/snacks/pancakes/update_snack_overlays(obj/item/reagent_containers/food/snacks/P)
var/mutable_appearance/pancake = mutable_appearance(icon, "[P.item_state]_[rand(1,3)]")
pancake.pixel_x = rand(-1,1)
pancake.pixel_y = 3 * contents.len - 1
diff --git a/code/modules/food_and_drinks/food/snacks_salad.dm b/code/modules/food_and_drinks/food/snacks_salad.dm
index 65ff4d2eb9..f5fcec0ac5 100644
--- a/code/modules/food_and_drinks/food/snacks_salad.dm
+++ b/code/modules/food_and_drinks/food/snacks_salad.dm
@@ -47,7 +47,7 @@
bonus_reagents = list("nutriment" = 4, "vitamin" = 4)
list_reagents = list("nutriment" = 7, "milk" = 10, "vitamin" = 2)
tastes = list("oats" = 1, "milk" = 1)
- foodtype = DAIRY | GRAIN
+ foodtype = DAIRY | GRAIN | BREAKFAST
/obj/item/reagent_containers/food/snacks/salad/fruit
name = "fruit salad"
@@ -55,7 +55,7 @@
icon_state = "fruitsalad"
bonus_reagents = list("nutriment" = 2, "vitamin" = 4)
tastes = list("fruit" = 1)
- foodtype = FRUIT
+ foodtype = FRUIT | BREAKFAST
/obj/item/reagent_containers/food/snacks/salad/jungle
name = "jungle salad"
@@ -64,7 +64,7 @@
bonus_reagents = list("nutriment" = 4, "vitamin" = 4)
list_reagents = list("nutriment" = 7, "banana" = 5, "vitamin" = 4)
tastes = list("fruit" = 1, "the jungle" = 1)
- foodtype = FRUIT
+ foodtype = FRUIT | BREAKFAST
/obj/item/reagent_containers/food/snacks/salad/citrusdelight
name = "citrus delight"
@@ -73,7 +73,7 @@
bonus_reagents = list("nutriment" = 4, "vitamin" = 4)
list_reagents = list("nutriment" = 7, "vitamin" = 5)
tastes = list("sourness" = 1, "leaves" = 1)
- foodtype = FRUIT
+ foodtype = FRUIT | BREAKFAST
/obj/item/reagent_containers/food/snacks/salad/ricebowl
name = "ricebowl"
@@ -91,7 +91,7 @@
bonus_reagents = list("nutriment" = 1, "vitamin" = 1)
list_reagents = list("nutriment" = 5, "vitamin" = 1)
tastes = list("rice" = 1)
- foodtype = GRAIN
+ foodtype = GRAIN | BREAKFAST
/obj/item/reagent_containers/food/snacks/salad/ricepudding
name = "rice pudding"
diff --git a/code/modules/food_and_drinks/food/snacks_soup.dm b/code/modules/food_and_drinks/food/snacks_soup.dm
index 5f01d3170e..47c9f02fb9 100644
--- a/code/modules/food_and_drinks/food/snacks_soup.dm
+++ b/code/modules/food_and_drinks/food/snacks_soup.dm
@@ -225,3 +225,22 @@
bonus_reagents = list("nutriment" = 4, "vitamin" = 6)
tastes = list("beet" = 1)
foodtype = VEGETABLES
+
+/obj/item/reagent_containers/food/snacks/soup/electron
+ name = "electron soup"
+ desc = "A gastronomic curiosity of ethereal origin. It is famed for the minature weather system formed over a properly prepared soup."
+ icon_state = "electronsoup"
+ list_reagents = list("nutriment" = 3, "liquidelectricity" = 5)
+ tastes = list("mushroom" = 1, "electrons" = 4, "shockingly good")
+ filling_color = "#CC2B52"
+ foodtype = VEGETABLES | TOXIC
+
+/obj/item/reagent_containers/food/snacks/soup/bungocurry
+ name = "bungo curry"
+ desc = "A spicy vegetable curry made with the humble bungo fruit, Exotic!"
+ icon_state = "bungocurry"
+ bonus_reagents = list("vitamin" = 11)
+ list_reagents = list("nutriment" = 6, "capsaicin" = 5)
+ tastes = list("bungo" = 2, "hot curry" = 4, "tropical sweetness" = 1)
+ filling_color = "#E6A625"
+ foodtype = VEGETABLES | FRUIT | DAIRY
diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
index 3183b3b2b4..1bc2e4bb89 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
@@ -80,6 +80,9 @@ God bless America.
I.reagents.trans_to(src, I.reagents.total_volume)
qdel(I)
return
+ if(istype(I,/obj/item/clothing/head/mob_holder))
+ to_chat(user, "This does not fit in the fryer.") // TODO: Deepfrying instakills mobs, spawns a whole deep-fried mob.
+ return
if(!reagents.has_reagent("cooking_oil"))
to_chat(user, "[src] has no cooking oil to fry with!")
return
diff --git a/code/modules/food_and_drinks/kitchen_machinery/grill.dm b/code/modules/food_and_drinks/kitchen_machinery/grill.dm
new file mode 100644
index 0000000000..449da2afe3
--- /dev/null
+++ b/code/modules/food_and_drinks/kitchen_machinery/grill.dm
@@ -0,0 +1,139 @@
+/obj/machinery/grill
+ name = "grill"
+ desc = "Just like the old days."
+ icon = 'icons/obj/kitchen.dmi'
+ icon_state = "grill_open"
+ density = TRUE
+ layer = BELOW_OBJ_LAYER
+ use_power = NO_POWER_USE
+ var/grill_fuel = 0
+ var/obj/item/reagent_containers/food/grilled_item
+ var/grill_time = 0
+ var/datum/looping_sound/grill/grill_loop
+
+/obj/machinery/grill/Initialize()
+ . = ..()
+ grill_loop = new(list(src), FALSE)
+
+/obj/machinery/grill/update_icon()
+ if(grilled_item)
+ icon_state = "grill"
+ else if(grill_fuel)
+ icon_state = "grill_on"
+ else
+ icon_state = "grill_open"
+
+/obj/machinery/grill/attackby(obj/item/I, mob/user)
+ if(istype(I, /obj/item/stack/sheet/mineral/coal) || istype(I, /obj/item/stack/sheet/mineral/wood))
+ var/obj/item/stack/S = I
+ var/stackamount = S.get_amount()
+ to_chat(user, "You put [stackamount] [I]s in [src].")
+ if(istype(I, /obj/item/stack/sheet/mineral/coal))
+ grill_fuel += (500 * stackamount)
+ else
+ grill_fuel += (50 * stackamount)
+ S.use(stackamount)
+ update_icon()
+ return
+ if(I.resistance_flags & INDESTRUCTIBLE)
+ to_chat(user, "You don't feel it would be wise to grill [I]...")
+ return ..()
+ if(istype(I, /obj/item/reagent_containers))
+ if(istype(I, /obj/item/reagent_containers/food) && !istype(I, /obj/item/reagent_containers/food/drinks))
+ if(HAS_TRAIT(I, TRAIT_NODROP) || (I.item_flags & (ABSTRACT | DROPDEL)))
+ return ..()
+ else if(!grill_fuel)
+ to_chat(user, "There is not enough fuel.")
+ return
+ else if(!grilled_item && user.transferItemToLoc(I, src))
+ grilled_item = I
+ to_chat(user, "You put the [grilled_item] on [src].")
+ update_icon()
+ grill_loop.start()
+ return
+ else
+ if(I.reagents.has_reagent("monkey_energy"))
+ grill_fuel += (20 * (I.reagents.get_reagent_amount("monkey_energy")))
+ to_chat(user, "You pour the Monkey Energy in [src].")
+ I.reagents.remove_reagent("monkey_energy", I.reagents.get_reagent_amount("monkey_energy"))
+ update_icon()
+ return
+ ..()
+
+/obj/machinery/grill/process()
+ ..()
+ update_icon()
+ if(!grill_fuel)
+ return
+ else
+ grill_fuel -= 1
+ if(prob(1))
+ var/datum/effect_system/smoke_spread/bad/smoke = new
+ smoke.set_up(1, loc)
+ smoke.start()
+ if(grilled_item)
+ grill_time += 1
+ grilled_item.reagents.add_reagent("char", 1)
+ grill_fuel -= 10
+ grilled_item.AddComponent(/datum/component/sizzle)
+
+/obj/machinery/grill/Exited(atom/movable/AM)
+ if(AM == grilled_item)
+ finish_grill()
+ grilled_item = null
+ ..()
+
+/obj/machinery/grill/Destroy()
+ grilled_item = null
+ . = ..()
+
+/obj/machinery/grill/handle_atom_del(atom/A)
+ if(A == grilled_item)
+ grilled_item = null
+ . = ..()
+
+/obj/machinery/grill/wrench_act(mob/living/user, obj/item/I)
+ . = ..()
+ if(default_unfasten_wrench(user, I) != CANT_UNFASTEN)
+ return TRUE
+
+/obj/machinery/grill/deconstruct(disassembled = TRUE)
+ finish_grill()
+ if(!(flags_1 & NODECONSTRUCT_1))
+ new /obj/item/stack/sheet/metal(loc, 5)
+ new /obj/item/stack/rods(loc, 5)
+ ..()
+
+/obj/machinery/grill/attack_ai(mob/user)
+ return
+
+/obj/machinery/grill/attack_hand(mob/user)
+ if(grilled_item)
+ to_chat(user, "You take out [grilled_item] from [src].")
+ grilled_item.forceMove(drop_location())
+ update_icon()
+ return
+ return ..()
+
+/obj/machinery/grill/proc/finish_grill()
+ switch(grill_time) //no 0-9 to prevent spam
+ if(10 to 15)
+ grilled_item.name = "lightly-grilled [grilled_item.name]"
+ grilled_item.desc = "[grilled_item.desc] It's been lightly grilled."
+ if(16 to 39)
+ grilled_item.name = "grilled [grilled_item.name]"
+ grilled_item.desc = "[grilled_item.desc] It's been grilled."
+ grilled_item.foodtype |= FRIED
+ if(40 to 50)
+ grilled_item.name = "heavily grilled [grilled_item.name]"
+ grilled_item.desc = "[grilled_item.desc] It's been heavily grilled."
+ grilled_item.foodtype |= FRIED
+ if(51 to INFINITY) //grill marks reach max alpha
+ grilled_item.name = "Powerfully Grilled [grilled_item.name]"
+ grilled_item.desc = "A [grilled_item.name]. Reminds you of your deepfryer skills, wait, no, it's better!"
+ grilled_item.foodtype |= FRIED
+ grill_time = 0
+ grill_loop.stop()
+
+/obj/machinery/grill/unwrenched
+ anchored = FALSE
diff --git a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm
index fed4fa21ec..8db6956da9 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm
@@ -131,7 +131,6 @@
I.add_ice_cream(flavour_name, beaker.reagents)
else
I.add_ice_cream(flavour_name)
- I.add_ice_cream(flavour_name)
if(I.reagents.total_volume < 10)
I.reagents.add_reagent("sugar", 10 - I.reagents.total_volume)
updateDialog()
@@ -229,7 +228,7 @@
desc = "Delicious waffle cone, but no ice cream."
icon = 'icons/obj/kitchen.dmi'
icon_state = "icecream_cone_waffle" //default for admin-spawned cones, href_list["cone"] should overwrite this all the time
- list_reagents = list(/datum/reagent/consumable/nutriment = 4)
+ list_reagents = list("nutriment" = 4)
tastes = list("cream" = 2, "waffle" = 1)
var/ice_creamed = 0
var/cone_type
@@ -252,7 +251,7 @@
desc = "Delicious [cone_name] cone, but no ice cream."
-/obj/item/reagent_containers/food/snacks/icecream/proc/add_ice_cream(flavour_name, datum/reagents/R = null)
+/obj/item/reagent_containers/food/snacks/icecream/proc/add_ice_cream(flavour_name, datum/reagents/R)
name = "[flavour_name] icecream"
switch (flavour_name) // adding the actual reagents advertised in the ingredient list
if ("vanilla")
@@ -311,9 +310,11 @@
qdel(src)
/obj/machinery/icecream_vat/AltClick(mob/living/user)
+ . = ..()
if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
return
replace_beaker(user)
+ return TRUE
/obj/machinery/icecream_vat/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker)
if(beaker)
diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
index e67de92773..4efac6f508 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
@@ -186,8 +186,10 @@
..()
/obj/machinery/microwave/AltClick(mob/user)
+ . = ..()
if(user.canUseTopic(src, !issilicon(usr)))
cook()
+ return TRUE
/obj/machinery/microwave/ui_interact(mob/user)
. = ..()
diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.dm b/code/modules/food_and_drinks/recipes/food_mixtures.dm
index d10286d21a..07732a415d 100644
--- a/code/modules/food_and_drinks/recipes/food_mixtures.dm
+++ b/code/modules/food_and_drinks/recipes/food_mixtures.dm
@@ -76,6 +76,14 @@
required_reagents = list("corn_starch" = 1, "sacid" = 1)
required_temp = 374
+/datum/chemical_reaction/caramel
+ name = "Caramel"
+ id = "caramel"
+ results = list("caramel" = 1)
+ required_reagents = list("sugar" = 1)
+ required_temp = 413
+ mob_react = FALSE
+
/datum/chemical_reaction/cheesewheel
name = "Cheesewheel"
id = "cheesewheel"
@@ -161,3 +169,9 @@
new /obj/item/reagent_containers/food/snacks/salad/ricebowl(location)
if(holder && holder.my_atom)
qdel(holder.my_atom)
+
+/datum/chemical_reaction/bbqsauce
+ name = "BBQ Sauce"
+ id = "bbqsauce"
+ results = list("bbqsauce" = 5)
+ required_reagents = list("ash" = 1, "tomatojuice" = 1, "salglu_solution" = 3, "blackpepper" = 1)
diff --git a/code/modules/food_and_drinks/recipes/processor_recipes.dm b/code/modules/food_and_drinks/recipes/processor_recipes.dm
index 1da81b99ec..fbd3f57323 100644
--- a/code/modules/food_and_drinks/recipes/processor_recipes.dm
+++ b/code/modules/food_and_drinks/recipes/processor_recipes.dm
@@ -44,6 +44,10 @@
input = /obj/item/reagent_containers/food/snacks/grown/parsnip
output = /obj/item/reagent_containers/food/snacks/roastparsnip
+/datum/food_processor_process/tortilla
+ input = /obj/item/reagent_containers/food/snacks/tortilla
+ output = /obj/item/reagent_containers/food/snacks/cornchips
+
/datum/food_processor_process/mob/slime
input = /mob/living/simple_animal/slime
output = null
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm
index d7beebf461..ffa8709245 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm
@@ -76,6 +76,7 @@
name = "Fish burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/carpmeat = 1,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/fish
@@ -94,6 +95,7 @@
name = "Ghost burger"
reqs = list(
/obj/item/ectoplasm = 1,
+ /datum/reagent/consumable/sodiumchloride = 2,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/ghost
@@ -176,7 +178,7 @@
)
result = /obj/item/reagent_containers/food/snacks/burger/purple
subcategory = CAT_BURGER
-
+
/datum/crafting_recipe/food/blackburger
name = "Black burger"
reqs = list(
@@ -186,7 +188,7 @@
)
result = /obj/item/reagent_containers/food/snacks/burger/black
subcategory = CAT_BURGER
-
+
/datum/crafting_recipe/food/whiteburger
name = "White burger"
reqs = list(
@@ -218,6 +220,7 @@
name = "Big bite burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 3,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 2,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/bigbite
@@ -231,7 +234,8 @@
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 5,
/obj/item/reagent_containers/food/snacks/grown/tomato = 4,
/obj/item/reagent_containers/food/snacks/cheesewedge = 3,
- /obj/item/reagent_containers/food/snacks/boiledegg = 2,
+ /obj/item/reagent_containers/food/snacks/boiledegg = 1,
+ /obj/item/reagent_containers/food/snacks/meat/bacon = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
@@ -260,6 +264,7 @@
name = "Five alarm burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2,
+ /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/fivealarm
@@ -293,3 +298,53 @@
result = /obj/item/reagent_containers/food/snacks/burger/baconburger
subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/cheeseburger
+ name = "Cheese Burger"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1,
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 1,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/cheese
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/soylentburger
+ name = "Soylent Burger"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/soylentgreen = 1, //two full meats worth.
+ /obj/item/reagent_containers/food/snacks/cheesewedge = 2,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/soylent
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/ribburger
+ name = "McRib"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/bbqribs = 1, //The sauce is already included in the ribs
+ /obj/item/reagent_containers/food/snacks/onion_slice = 1, //feel free to remove if too burdensome.
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/rib
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/mcguffin
+ name = "McGuffin"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/friedegg = 1,
+ /obj/item/reagent_containers/food/snacks/meat/bacon = 2,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/mcguffin
+ subcategory = CAT_BURGER
+
+/datum/crafting_recipe/food/chickenburger
+ name = "Chicken Sandwich"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/meat/steak/chicken = 1,
+ /datum/reagent/consumable/mayonnaise = 5,
+ /obj/item/reagent_containers/food/snacks/bun = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/burger/chicken
+ subcategory = CAT_BURGER
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm
index 9c14badb23..c25cd9bed6 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm
@@ -180,6 +180,17 @@
result = /obj/item/reagent_containers/food/snacks/store/cake/peach_cake
subcategory = CAT_CAKE
+/datum/crafting_recipe/food/trumpetcake
+ name = "Spaceman's Cake"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
+ /obj/item/reagent_containers/food/snacks/grown/trumpet = 2,
+ /datum/reagent/consumable/cream = 5,
+ /datum/reagent/consumable/berryjuice = 5
+ )
+ result = /obj/item/reagent_containers/food/snacks/store/cake/trumpet
+ subcategory = CAT_CAKE
+
/datum/crafting_recipe/food/cak
name = "Living cat/cake hybrid"
reqs = list(
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm
index 8f4c5d05f1..a42db0b2b5 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm
@@ -1,4 +1,8 @@
+/////////////////
+//Misc. Frozen.//
+/////////////////
+
/datum/crafting_recipe/food/icecreamsandwich
name = "Icecream sandwich"
reqs = list(
@@ -90,11 +94,10 @@
//////////////////////////SNOW CONES///////////////////////
-/datum/crafting_recipe/food/flaverless_sc
- name = "Flaverless snowcone"
+/datum/crafting_recipe/food/flavorless_sc
+ name = "Flavorless snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15
)
result = /obj/item/reagent_containers/food/snacks/snowcones
@@ -104,7 +107,6 @@
name = "Pineapple snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15,
/obj/item/reagent_containers/food/snacks/pineappleslice = 2
)
@@ -115,7 +117,6 @@
name = "Lime snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/limejuice = 5
)
@@ -126,7 +127,6 @@
name = "Lemon snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/lemonjuice = 5
)
@@ -137,7 +137,6 @@
name = "Apple snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/applejuice = 5
)
@@ -148,9 +147,8 @@
name = "Grape snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15,
- /datum/reagent/consumable/berryjuice = 5
+ /datum/reagent/consumable/grapejuice = 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/grape
subcategory = CAT_ICE
@@ -159,7 +157,6 @@
name = "Orange snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/orangejuice = 5
)
@@ -170,7 +167,6 @@
name = "Bluecherry snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/bluecherryjelly= 5
)
@@ -181,22 +177,20 @@
name = "Cherry snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/cherryjelly= 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/red
subcategory = CAT_ICE
-/datum/crafting_recipe/food/mix_sc
- name = "Mixed berrie snowcone"
+/datum/crafting_recipe/food/berry_sc
+ name = "Berry snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15,
- /datum/reagent/consumable/berryjuice = 15
+ /datum/reagent/consumable/berryjuice = 5
)
- result = /obj/item/reagent_containers/food/snacks/snowcones/mix
+ result = /obj/item/reagent_containers/food/snacks/snowcones/berry
subcategory = CAT_ICE
/datum/crafting_recipe/food/fruitsalad_sc
@@ -216,7 +210,6 @@
name = "Mime snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/nothing = 5
)
@@ -227,86 +220,57 @@
name = "Clown snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15,
- /datum/reagent/consumable/clownstears = 5
+ /datum/reagent/consumable/laughter = 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/clown
subcategory = CAT_ICE
/datum/crafting_recipe/food/soda_sc
- name = "Soda water snowcone"
+ name = "Space Cola snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15,
- /datum/reagent/consumable/sodawater = 15
+ /datum/reagent/consumable/space_cola = 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/soda
subcategory = CAT_ICE
-/datum/crafting_recipe/food/pwgrmer_sc
- name = "Pwergamer snowcone"
+/datum/crafting_recipe/food/spacemountainwind_sc
+ name = "Space Mountain Wind snowcone"
+ reqs = list(
+ /obj/item/reagent_containers/food/drinks/sillycup = 1,
+ /datum/reagent/consumable/ice = 15,
+ /datum/reagent/consumable/spacemountainwind = 5
+ )
+ result = /obj/item/reagent_containers/food/snacks/snowcones/spacemountainwind
+
+/datum/crafting_recipe/food/pwrgame_sc
+ name = "Pwrgame snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/pwr_game = 15
)
- result = /obj/item/reagent_containers/food/snacks/snowcones/pwgrmer
- subcategory = CAT_ICE
-
-/datum/crafting_recipe/food/kiwi_sc
- name = "Kiwi snowcone"
- reqs = list(
- /obj/item/reagent_containers/food/drinks/sillycup = 1,
- /obj/item/reagent_containers/food/snacks/egg/kiwiEgg = 1,
- /datum/reagent/water = 5,
- /datum/reagent/consumable/ice = 15
- )
- result = /obj/item/reagent_containers/food/snacks/snowcones/kiwi
+ result = /obj/item/reagent_containers/food/snacks/snowcones/pwrgame
subcategory = CAT_ICE
/datum/crafting_recipe/food/honey_sc
name = "Honey snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/honey = 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/honey
subcategory = CAT_ICE
-/datum/crafting_recipe/food/peach_sc
- name = "Peach snowcone"
- reqs = list(
- /obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
- /datum/reagent/consumable/ice = 15,
- /obj/item/reagent_containers/food/snacks/grown/peach = 1
- )
- result = /obj/item/reagent_containers/food/snacks/snowcones/peach
- subcategory = CAT_ICE
-
-/datum/crafting_recipe/food/strawberry_sc
- name = "Strawberry snowcone"
- reqs = list(
- /obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
- /datum/reagent/consumable/ice = 15,
- /obj/item/reagent_containers/food/snacks/grown/strawberry = 2
- )
- result = /obj/item/reagent_containers/food/snacks/snowcones/strawberry
- subcategory = CAT_ICE
-
-/datum/crafting_recipe/food/honey_sc
+/datum/crafting_recipe/food/rainbow_sc
name = "Rainbow snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
- /datum/reagent/water = 5,
/datum/reagent/consumable/ice = 15,
- /datum/reagent/colorful_reagent = 1 //Hard to make
+ /datum/reagent/colorful_reagent = 1 //Harder to make
)
result = /obj/item/reagent_containers/food/snacks/snowcones/rainbow
- subcategory = CAT_ICE
+ subcategory = CAT_ICE
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm
index d17ccf585e..d8145410cd 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm
@@ -166,3 +166,25 @@
)
result = /obj/item/reagent_containers/food/snacks/salad/ricepork
subcategory = CAT_MEAT
+
+/datum/crafting_recipe/food/fiestaskewer
+ name = "Fiesta Skewer"
+ reqs = list(
+ /obj/item/stack/rods = 1,
+ /obj/item/reagent_containers/food/snacks/grown/chili = 1,
+ /obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
+ /obj/item/reagent_containers/food/snacks/grown/corn = 1,
+ /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/kebab/fiesta
+ subcategory = CAT_MEAT
+
+/datum/crafting_recipe/food/ribs
+ name = "BBQ Ribs"
+ reqs = list(
+ /datum/reagent/consumable/bbqsauce = 5,
+ /obj/item/reagent_containers/food/snacks/meat/steak/plain = 2,
+ /obj/item/stack/rods = 2
+ )
+ result = /obj/item/reagent_containers/food/snacks/bbqribs
+ subcategory = CAT_MEAT
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm
index 365cf499bb..7977a715d8 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm
@@ -1,18 +1,7 @@
-
// see code/module/crafting/table.dm
////////////////////////////////////////////////DONUTS////////////////////////////////////////////////
-/datum/crafting_recipe/food/chaosdonut
- name = "Chaos donut"
- reqs = list(
- /datum/reagent/consumable/frostoil = 5,
- /datum/reagent/consumable/capsaicin = 5,
- /obj/item/reagent_containers/food/snacks/pastrybase = 1
- )
- result = /obj/item/reagent_containers/food/snacks/donut/chaos
- subcategory = CAT_PASTRY
-
/datum/crafting_recipe/food/donut
time = 15
name = "Donut"
@@ -20,18 +9,17 @@
/datum/reagent/consumable/sugar = 1,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
- result = /obj/item/reagent_containers/food/snacks/donut
+ result = /obj/item/reagent_containers/food/snacks/donut/plain
subcategory = CAT_PASTRY
-/datum/crafting_recipe/food/donut/semen
- time = 15
- name = "Semen donut"
+/datum/crafting_recipe/food/donut/chaos
+ name = "Chaos donut"
reqs = list(
- /datum/reagent/consumable/semen = 10,
+ /datum/reagent/consumable/frostoil = 5,
+ /datum/reagent/consumable/capsaicin = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
- result = /obj/item/reagent_containers/food/snacks/donut/semen
- subcategory = CAT_PASTRY
+ result = /obj/item/reagent_containers/food/snacks/donut/chaos
datum/crafting_recipe/food/donut/meat
time = 15
@@ -41,35 +29,232 @@ datum/crafting_recipe/food/donut/meat
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/meat
- subcategory = CAT_PASTRY
-/datum/crafting_recipe/food/jellydonut
+/datum/crafting_recipe/food/donut/jelly
name = "Jelly donut"
reqs = list(
/datum/reagent/consumable/berryjuice = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
- result = /obj/item/reagent_containers/food/snacks/donut/jelly
- subcategory = CAT_PASTRY
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/plain
-/datum/crafting_recipe/food/cherryjellydonut
- name = "Cherry jelly donut"
- reqs = list(
- /datum/reagent/consumable/cherryjelly = 5,
- /obj/item/reagent_containers/food/snacks/pastrybase = 1
- )
- result = /obj/item/reagent_containers/food/snacks/donut/jelly/cherryjelly
- subcategory = CAT_PASTRY
-
-/datum/crafting_recipe/food/slimejellydonut
+/datum/crafting_recipe/food/donut/slimejelly
name = "Slime jelly donut"
reqs = list(
/datum/reagent/toxin/slimejelly = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
- result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain
+
+/datum/crafting_recipe/food/donut/glaze
+ time = 15
+ name = "glaze donut"
+ reqs = list(
+ /datum/reagent/consumable/sugar = 10,
+ /obj/item/reagent_containers/food/snacks/pastrybase = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/glaze
subcategory = CAT_PASTRY
+/datum/crafting_recipe/food/donut/berry
+ name = "Berry Donut"
+ reqs = list(
+ /datum/reagent/consumable/berryjuice = 3,
+ /obj/item/reagent_containers/food/snacks/donut/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/berry
+
+/datum/crafting_recipe/food/donut/trumpet
+ name = "Spaceman's Donut"
+ reqs = list(
+ /datum/reagent/medicine/polypyr = 3,
+ /obj/item/reagent_containers/food/snacks/donut/plain = 1
+ )
+
+ result = /obj/item/reagent_containers/food/snacks/donut/trumpet
+
+/datum/crafting_recipe/food/donut/apple
+ name = "Apple Donut"
+ reqs = list(
+ /datum/reagent/consumable/applejuice = 3,
+ /obj/item/reagent_containers/food/snacks/donut/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/apple
+
+/datum/crafting_recipe/food/donut/caramel
+ name = "Caramel Donut"
+ reqs = list(
+ /datum/reagent/consumable/caramel = 3,
+ /obj/item/reagent_containers/food/snacks/donut/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/caramel
+
+/datum/crafting_recipe/food/donut/choco
+ name = "Chocolate Donut"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/chocolatebar = 1,
+ /obj/item/reagent_containers/food/snacks/donut/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/choco
+
+/datum/crafting_recipe/food/donut/blumpkin
+ name = "Blumpkin Donut"
+ reqs = list(
+ /datum/reagent/consumable/blumpkinjuice = 3,
+ /obj/item/reagent_containers/food/snacks/donut/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/blumpkin
+
+/datum/crafting_recipe/food/donut/bungo
+ name = "Bungo Donut"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/grown/bungofruit = 1,
+ /obj/item/reagent_containers/food/snacks/donut/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/bungo
+
+/datum/crafting_recipe/food/donut/matcha
+ name = "Matcha Donut"
+ reqs = list(
+ /datum/reagent/toxin/teapowder = 3,
+ /obj/item/reagent_containers/food/snacks/donut/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/matcha
+
+////////////////////////////////////////////////////JELLY DONUTS///////////////////////////////////////////////////////
+
+/datum/crafting_recipe/food/donut/jelly/berry
+ name = "Berry Jelly Donut"
+ reqs = list(
+ /datum/reagent/consumable/berryjuice = 3,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/berry
+
+/datum/crafting_recipe/food/donut/jelly/trumpet
+ name = "Spaceman's Jelly Donut"
+ reqs = list(
+ /datum/reagent/medicine/polypyr = 3,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
+ )
+
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/trumpet
+
+/datum/crafting_recipe/food/donut/jelly/apple
+ name = "Apple Jelly Donut"
+ reqs = list(
+ /datum/reagent/consumable/applejuice = 3,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/apple
+
+/datum/crafting_recipe/food/donut/jelly/caramel
+ name = "Caramel Jelly Donut"
+ reqs = list(
+ /datum/reagent/consumable/caramel = 3,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/caramel
+
+/datum/crafting_recipe/food/donut/jelly/choco
+ name = "Chocolate Jelly Donut"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/chocolatebar = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/choco
+
+/datum/crafting_recipe/food/donut/jelly/blumpkin
+ name = "Blumpkin Jelly Donut"
+ reqs = list(
+ /datum/reagent/consumable/blumpkinjuice = 3,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin
+
+/datum/crafting_recipe/food/donut/jelly/bungo
+ name = "Bungo Jelly Donut"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/grown/bungofruit = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/bungo
+
+/datum/crafting_recipe/food/donut/jelly/matcha
+ name = "Matcha Jelly Donut"
+ reqs = list(
+ /datum/reagent/toxin/teapowder = 3,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/matcha
+
+////////////////////////////////////////////////////SLIME DONUTS///////////////////////////////////////////////////////
+
+/datum/crafting_recipe/food/donut/slimejelly/berry
+ name = "Berry Slime Donut"
+ reqs = list(
+ /datum/reagent/consumable/berryjuice = 3,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry
+
+/datum/crafting_recipe/food/donut/slimejelly/trumpet
+ name = "Spaceman's Slime Donut"
+ reqs = list(
+ /datum/reagent/medicine/polypyr = 3,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
+ )
+
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet
+
+/datum/crafting_recipe/food/donut/slimejelly/apple
+ name = "Apple Slime Donut"
+ reqs = list(
+ /datum/reagent/consumable/applejuice = 3,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple
+
+/datum/crafting_recipe/food/donut/slimejelly/caramel
+ name = "Caramel Slime Donut"
+ reqs = list(
+ /datum/reagent/consumable/caramel = 3,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/caramel
+
+/datum/crafting_recipe/food/donut/slimejelly/choco
+ name = "Chocolate Slime Donut"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/chocolatebar = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco
+
+/datum/crafting_recipe/food/donut/slimejelly/blumpkin
+ name = "Blumpkin Slime Donut"
+ reqs = list(
+ /datum/reagent/consumable/blumpkinjuice = 3,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin
+
+/datum/crafting_recipe/food/donut/slimejelly/bungo
+ name = "Bungo Slime Donut"
+ reqs = list(
+ /obj/item/reagent_containers/food/snacks/grown/bungofruit = 1,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo
+
+/datum/crafting_recipe/food/donut/slimejelly/matcha
+ name = "Matcha Slime Donut"
+ reqs = list(
+ /datum/reagent/toxin/teapowder = 3,
+ /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
+ )
+ result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/matcha
+
////////////////////////////////////////////////WAFFLES AND PANCAKES////////////////////////////////////////////////
/datum/crafting_recipe/food/waffles
@@ -341,4 +526,4 @@ datum/crafting_recipe/food/donut/meat
/datum/reagent/consumable/honey = 5
)
result = /obj/item/reagent_containers/food/snacks/honeybun
- subcategory = CAT_PASTRY
+ subcategory = CAT_PASTRY
\ No newline at end of file
diff --git a/code/modules/games/cas.dm b/code/modules/games/cas.dm
index fe038ce3f1..4fbb931b32 100644
--- a/code/modules/games/cas.dm
+++ b/code/modules/games/cas.dm
@@ -130,9 +130,11 @@
update_icon()
/obj/item/toy/cards/singlecard/cas/AltClick(mob/living/user)
+ . = ..()
if(!ishuman(user) || !user.canUseTopic(src, BE_CLOSE))
return
Flip()
+ return TRUE
/obj/item/toy/cards/singlecard/cas/update_icon()
if(flipped)
diff --git a/code/modules/goonchat/browserOutput.dm b/code/modules/goonchat/browserOutput.dm
index c273690571..6f1e19d5e0 100644
--- a/code/modules/goonchat/browserOutput.dm
+++ b/code/modules/goonchat/browserOutput.dm
@@ -8,6 +8,8 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("tmp/iconCache.sav")) //Cache of ico
//On client, created on login
/datum/chatOutput
var/client/owner //client ref
+ var/total_checks = 0
+ var/last_check = 0
var/loaded = FALSE // Has the client loaded the browser output area?
var/list/messageQueue //If they haven't loaded chat, this is where messages will go until they do
var/cookieSent = FALSE // Has the client sent a cookie for analysis
@@ -150,6 +152,18 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("tmp/iconCache.sav")) //Cache of ico
//Called by client, sent data to investigate (cookie history so far)
/datum/chatOutput/proc/analyzeClientData(cookie = "")
+ //Spam check
+ if(world.time > last_check + (3 SECONDS))
+ last_check = world.time
+ total_checks = 0
+
+ total_checks += 1
+
+ if(total_checks > SPAM_TRIGGER_AUTOMUTE)
+ message_admins("[key_name(owner)] kicked for goonchat topic spam")
+ qdel(owner)
+ return
+
if(!cookie)
return
@@ -158,13 +172,22 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("tmp/iconCache.sav")) //Cache of ico
if (connData && islist(connData) && connData.len > 0 && connData["connData"])
connectionHistory = connData["connData"] //lol fuck
var/list/found = new()
- for(var/i in connectionHistory.len to 1 step -1)
+ if(connectionHistory.len > 5)
+ message_admins("[key_name(src.owner)] was kicked for an invalid ban cookie)")
+ qdel(owner)
+ return
+
+ for(var/i in min(connectionHistory.len, 5) to 1 step -1)
+ if(QDELETED(owner))
+ //he got cleaned up before we were done
+ return
var/list/row = src.connectionHistory[i]
if (!row || row.len < 3 || (!row["ckey"] || !row["compid"] || !row["ip"])) //Passed malformed history object
return
if (world.IsBanned(row["ckey"], row["ip"], row["compid"], real_bans_only=TRUE))
found = row
break
+ CHECK_TICK
//Uh oh this fucker has a history of playing on a banned account!!
if (found.len > 0)
diff --git a/code/modules/goonchat/browserassets/js/browserOutput.js b/code/modules/goonchat/browserassets/js/browserOutput.js
index abd05d29ed..823ad107d2 100644
--- a/code/modules/goonchat/browserassets/js/browserOutput.js
+++ b/code/modules/goonchat/browserassets/js/browserOutput.js
@@ -421,8 +421,8 @@ function handleClientData(ckey, ip, compid) {
return; //Record already exists
}
}
-
- if (opts.clientData.length >= opts.clientDataLimit) {
+ //Lets make sure we obey our limit (can connect from server with higher limit)
+ while (opts.clientData.length >= opts.clientDataLimit) {
opts.clientData.shift();
}
} else {
diff --git a/code/modules/holiday/halloween/halloween.dm b/code/modules/holiday/halloween/halloween.dm
index 5b9b2ac21d..24225c1a20 100644
--- a/code/modules/holiday/halloween/halloween.dm
+++ b/code/modules/holiday/halloween/halloween.dm
@@ -252,12 +252,11 @@
// Spooky Uplink Items //
/////////////////////////
-/datum/uplink_item/dangerous/crossbow/candy
+/datum/uplink_item/stealthy_weapons/crossbow/candy
name = "Candy Corn Crossbow"
desc = "A standard miniature energy crossbow that uses a hard-light projector to transform bolts into candy corn. Happy Halloween!"
category = "Holiday"
item = /obj/item/gun/energy/kinetic_accelerator/crossbow/halloween
- cost = 12
surplus = 0
/datum/uplink_item/device_tools/emag/hack_o_lantern
diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm
index 889706744a..d551222836 100644
--- a/code/modules/holodeck/computer.dm
+++ b/code/modules/holodeck/computer.dm
@@ -59,9 +59,7 @@
return
var/area/AS = get_area(src)
if(istype(AS, /area/holodeck))
- log_world("### MAPPING ERROR")
- log_world("Holodeck computer cannot be in a holodeck.")
- log_world("This would cause circular power dependency.")
+ log_mapping("Holodeck computer cannot be in a holodeck, This would cause circular power dependency.")
qdel(src)
return
else
diff --git a/code/modules/holodeck/turfs.dm b/code/modules/holodeck/turfs.dm
index 3574f8a9c1..7b5b0586d1 100644
--- a/code/modules/holodeck/turfs.dm
+++ b/code/modules/holodeck/turfs.dm
@@ -111,11 +111,10 @@
/turf/open/floor/holofloor/carpet/Initialize()
. = ..()
- addtimer(CALLBACK(src, .proc/update_icon), 1)
+ addtimer(CALLBACK(src, /atom/.proc/update_icon), 1)
/turf/open/floor/holofloor/carpet/update_icon()
- if(!..())
- return 0
+ . = ..()
if(intact)
queue_smooth(src)
diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm
index 3376bac1cc..77199b3496 100644
--- a/code/modules/hydroponics/gene_modder.dm
+++ b/code/modules/hydroponics/gene_modder.dm
@@ -240,7 +240,7 @@
dat += " |
|
- Citadel Station
- A downstream of /tg/Station
-
- Visit tg's IRC channel: #tgstation13 on irc.rizon.net
- ...Or our Discord!
+ Traditional Games Space Station 13
+
+
|
|
- Current Project Maintainers: deathride58, LetterJay, kevinz000, BlackMajor, Izzy - Currently Active GitHub contributor list: -Click Here- - Coders: Fermis, Poojawa, deathride58, kevinz000, Trilbyspaceclone, nik707, Ghommie as well as the /tg/ crew. - Spriters: Michiyamenotehifunana, CameronWoof, and the folks who contributed to /tg/ station project. - Sounds: /tg/ Sound crew. - Main Testers: You poor saps, our player base. - Thanks to: /tg/station, Baystation 12, /vg/station, NTstation, CDK Station devs, FacepunchStation, GoonStation devs, the original SpaceStation developers and Invisty for the title image. Also a thanks to anybody who has contributed who is not listed here :( Ask to be added here on irc. + Thanks to: /tg/station, Baystation 12, /vg/station, NTstation, CDK Station devs, FacepunchStation, GoonStation devs, the original SpaceStation developers and Invisty for the title image. Also a thanks to anybody who has contributed. Have a bug to report? Visit our Issue Tracker. - Please ensure that the bug has not already been reported upstream and use the template provided here!. + Please ensure that the bug has not already been reported, use the template provided here!. + Currently Active GitHub contributor list: -Click Here- |