diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index aa7b5ef0c55a..c66e5c20b99c 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -14,7 +14,6 @@ # CI + Tooling /.github/workflows/ @AffectedArc07 -/code/modules/unit_tests/ @AffectedArc07 /tools/ci/ @AffectedArc07 _build_dependencies.sh @AffectedArc07 @@ -24,10 +23,15 @@ _build_dependencies.sh @AffectedArc07 # Executables that need to be security-cleared dreamchecker.exe @AffectedArc07 -milla.dll @AffectedArc07 +rustlibs.dll @AffectedArc07 +rustlibs_prod.dll @AffectedArc07 rust_g.dll @AffectedArc07 ### S34NW # TGUI stuff /tgui/bin @S34NW + + +### Overrides for the above +/tools/ci/check_grep2.py @ParadiseSS13/commit-access diff --git a/.github/workflows/build_rust.yml b/.github/workflows/build_rust.yml index 1292c93dcb5b..6039d640df8e 100644 --- a/.github/workflows/build_rust.yml +++ b/.github/workflows/build_rust.yml @@ -82,6 +82,10 @@ jobs: cp target/i686-unknown-linux-gnu/release/librustlibs.so ../tools/ci/librustlibs_ci.so cp target/i686-pc-windows-gnu/release/rustlibs.dll ../rustlibs.dll + # Build the para-specific version + RUSTFLAGS='-C target-cpu=raptorlake' cargo build --release --target=i686-pc-windows-gnu + cp target/i686-pc-windows-gnu/release/rustlibs.dll ../rustlibs_prod.dll + git commit -a -m "Build Rust library" --allow-empty git push origin diff --git a/.gitignore b/.gitignore index 819c884cb604..9d446aa1793e 100644 --- a/.gitignore +++ b/.gitignore @@ -74,6 +74,7 @@ $RECYCLE.BIN # Rust output. /rust/target/* +rustlibs_panic.txt # mkdocs output. site diff --git a/README.md b/README.md index fadf287d5906..9a95ab95380d 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Discord - + @@ -50,15 +50,15 @@ Этот справочный сайт от создателей BYOND содержит подробную информацию о языке DM, используемом синтаксисе, функциональности нативных процедур (proc) и многом другом. Это всегда полезно иметь под рукой, когда вы вносите свой вклад. -- ### [Autodocumentation Guide](./docs/references/autodoc.md) +- ### [Autodocumentation Guide](https://devdocs.paradisestation.org/references/autodoc/) Это руководство покажет вам, как оставлять комментарии к коду, соответствующие "автодокументации" - системе, призванной облегчить всем жизнь при чтении и ревью кода! -- ### [Code of Conduct](./docs/CODE_OF_CONDUCT.md) +- ### [Code of Conduct](https://devdocs.paradisestation.org/code_of_conduct/) Все участники должны ознакомиться с нашим "Кодексом поведения", прежде чем принимать участие в жизни нашего сообщества. -- ### [Contribution Guide](./docs/CONTRIBUTING.md) +- ### [Contribution Guide](https://devdocs.paradisestation.org/contributing/) Не знаете, как принять участие и внести свой вклад? В этом руководстве дается обзор того, как делать комментарии, открывать Pull Requests и Issues. diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index 231681d8c312..feb648333925 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -301,6 +301,7 @@ CREATE TABLE `player` ( `server_region` VARCHAR(32) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `muted_adminsounds_ckeys` MEDIUMTEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `viewrange` VARCHAR(5) NOT NULL DEFAULT '19x15' COLLATE 'utf8mb4_general_ci', + `map_vote_pref_json` MEDIUMTEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', PRIMARY KEY (`id`), UNIQUE KEY `ckey` (`ckey`), KEY `lastseen` (`lastseen`), diff --git a/SQL/updates/60-61.sql b/SQL/updates/60-61.sql new file mode 100644 index 000000000000..17dec8b4623d --- /dev/null +++ b/SQL/updates/60-61.sql @@ -0,0 +1,6 @@ +# Updates the DB from 60 to 61 ~Qwertytoforty +# Makes a table for map picks + +# Adds the table for it. +ALTER TABLE `player` + ADD COLUMN `map_vote_pref_json` MEDIUMTEXT NULL DEFAULT NULL AFTER `viewrange`; \ No newline at end of file diff --git a/_build_dependencies.sh b/_build_dependencies.sh index 0a478428b69b..552b2f4d155c 100644 --- a/_build_dependencies.sh +++ b/_build_dependencies.sh @@ -14,4 +14,4 @@ export STABLE_BYOND_MINOR=1633 # Python version for mapmerge and other tools export PYTHON_VERSION=3.11.6 # RUSTG version -export RUSTG_VERSION=v3.0.0-P +export RUSTG_VERSION=v3.4.0-P diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm index db896ab95c5e..7bde2d91f8f5 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm @@ -656,7 +656,7 @@ /turf/simulated/floor/plasteel/lavaland_air, /area/ruin/powered/clownplanet) "bf" = ( -/turf/simulated/mineral/clown/volcanic, +/turf/simulated/mineral/volcanic/clown, /area/ruin/powered/clownplanet) "bg" = ( /obj/item/pickaxe, @@ -1006,7 +1006,7 @@ /obj/structure/disposalpipe/segment/corner{ dir = 8 }, -/turf/simulated/mineral/clown/volcanic, +/turf/simulated/mineral/volcanic/clown, /area/ruin/powered/clownplanet) "pv" = ( /obj/machinery/light{ diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_althland_facility.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_althland_facility.dmm index bc2ac1d5611a..9c204680046b 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_althland_facility.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_althland_facility.dmm @@ -1,6 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( /obj/effect/landmark/burnturf, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "ab" = ( @@ -126,6 +127,11 @@ }, /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"dq" = ( +/obj/effect/spawner/random_spawners/wall_rusted_maybe, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/wall/r_wall, +/area/lavaland/surface/outdoors) "du" = ( /obj/effect/mapping_helpers/no_lava, /obj/machinery/light_construct/small{ @@ -357,12 +363,6 @@ /obj/item/storage/box/donkpockets/empty, /turf/simulated/floor/plasteel/lavaland_air, /area/ruin/unpowered/althland_processing) -"lr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/damageturf, -/turf/simulated/floor/plating/lavaland_air, -/area/lavaland/surface/outdoors) "lZ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/door_assembly/door_assembly_ext{ @@ -380,6 +380,12 @@ }, /turf/simulated/floor/plating/lavaland_air, /area/ruin/unpowered/althland_processing) +"nj" = ( +/obj/structure/grille, +/obj/item/shard, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/lavaland_air, +/area/lavaland/surface/outdoors) "nm" = ( /obj/structure/disposalpipe/broken{ dir = 2 @@ -405,6 +411,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/glass, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "nQ" = ( @@ -418,6 +425,7 @@ /area/ruin/unpowered/althland_processing) "oG" = ( /obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "pn" = ( @@ -437,6 +445,13 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/damageturf, /obj/effect/decal/cleanable/glass, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/lavaland_air, +/area/lavaland/surface/outdoors) +"pQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/damageturf, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "qh" = ( @@ -491,6 +506,7 @@ /obj/effect/decal/remains/human, /obj/item/clothing/under/rank/cargo/miner, /obj/item/paper/fluff/ruins/althland/journal, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "sa" = ( @@ -503,6 +519,7 @@ /area/ruin/unpowered/althland_processing) "sg" = ( /obj/effect/landmark/damageturf, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "su" = ( @@ -513,6 +530,7 @@ amount = 5 }, /obj/effect/landmark/damageturf, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "sB" = ( @@ -529,6 +547,7 @@ /obj/structure/marker_beacon/dock_marker, /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/damageturf, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "tv" = ( @@ -627,6 +646,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/remains/human, /obj/item/clothing/under/rank/cargo/miner, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/ruin/unpowered/althland_processing) "vM" = ( @@ -634,6 +654,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/damageturf, /obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "wZ" = ( @@ -710,6 +731,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/damageturf, /obj/effect/decal/cleanable/glass, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "zR" = ( @@ -752,6 +774,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/damageturf, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "BB" = ( @@ -767,6 +790,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/damageturf, /obj/effect/decal/cleanable/glass, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/ruin/unpowered/althland_processing) "BM" = ( @@ -927,6 +951,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/remains/human, /obj/item/clothing/under/rank/cargo/miner, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/ruin/unpowered/althland_processing) "Gt" = ( @@ -1020,6 +1045,11 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating/lavaland_air, /area/ruin/unpowered/althland_processing) +"JJ" = ( +/obj/effect/mapping_helpers/lava_magnet, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "JT" = ( /obj/structure/grille, /obj/item/shard, @@ -1087,6 +1117,7 @@ /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "Mu" = ( @@ -1175,14 +1206,10 @@ /obj/effect/decal/cleanable/glass, /turf/simulated/floor/plating/lavaland_air, /area/ruin/unpowered/althland_processing) -"PJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/damageturf, -/turf/simulated/floor/plating/lavaland_air, -/area/lavaland/surface/outdoors) "PY" = ( /obj/structure/marker_beacon/dock_marker, /obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "Qj" = ( @@ -1223,9 +1250,15 @@ /obj/effect/landmark/damageturf, /turf/simulated/floor/plasteel/lavaland_air, /area/ruin/unpowered/althland_processing) +"Tn" = ( +/obj/effect/spawner/random_spawners/wall_rusted_always, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/wall/r_wall, +/area/lavaland/surface/outdoors) "TN" = ( /obj/effect/landmark/damageturf, /obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "TX" = ( @@ -1234,6 +1267,12 @@ }, /turf/simulated/floor/plating/lavaland_air, /area/ruin/unpowered/althland_processing) +"Uq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/damageturf, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/lavaland_air, +/area/ruin/unpowered/althland_processing) "UP" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -1253,6 +1292,13 @@ }, /turf/simulated/floor/plating/lavaland_air, /area/ruin/unpowered/althland_processing) +"VA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/damageturf, +/obj/effect/mapping_helpers/no_lava, +/turf/simulated/floor/plating/lavaland_air, +/area/lavaland/surface/outdoors) "VJ" = ( /obj/effect/mapping_helpers/no_lava, /obj/structure/sign/nosmoking_1{ @@ -1293,6 +1339,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/burnturf, /obj/effect/decal/cleanable/glass, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "WQ" = ( @@ -1327,6 +1374,7 @@ /obj/item/clothing/under/rank/cargo/miner, /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/damageturf, +/obj/effect/mapping_helpers/no_lava, /turf/simulated/floor/plating/lavaland_air, /area/lavaland/surface/outdoors) "XO" = ( @@ -1528,10 +1576,10 @@ bU ab KZ ab -ab +yh bT -ab -cb +yh +yh ab ab ab @@ -1566,8 +1614,8 @@ ab ab bT bT -ab -bL +yh +yh bL ab Dg @@ -1602,7 +1650,7 @@ ui ui bT bT -ab +yh ab bL ab @@ -1805,7 +1853,7 @@ bV bL ab af -hI +dq bT ab ab @@ -1895,7 +1943,7 @@ ab bT bT af -be +Tn af ui vf @@ -1946,9 +1994,9 @@ bL "} (15,1,1) = {" bV -ab -ab -ab +yh +yh +yh bT bT bL @@ -1981,10 +2029,10 @@ ab bL "} (16,1,1) = {" -bV -bL -ab -ab +yh +yh +yh +yh bT bT ab @@ -2017,10 +2065,10 @@ ab bL "} (17,1,1) = {" -bV -bL -bL -ab +yh +yh +yh +yh bT bT ab @@ -2034,7 +2082,7 @@ sQ ui ab ab -ab +JJ ab cb ab @@ -2053,10 +2101,10 @@ ab bL "} (18,1,1) = {" -bV -bL -bL -ab +yh +yh +yh +yh bT bT ab @@ -2085,14 +2133,14 @@ rd af bT ab -ab -bL +yh +yh "} (19,1,1) = {" bV -bL -bV -ab +yh +yh +yh bT bT ab @@ -2121,8 +2169,8 @@ af bT bT hI -ab -bL +yh +yh "} (20,1,1) = {" bV @@ -2156,9 +2204,9 @@ ui af bT bT -ab -ab -bL +yh +yh +yh "} (21,1,1) = {" bV @@ -2190,18 +2238,18 @@ bT bT bT bT -hI +dq af -bT -ab -bL +yh +yh +yh "} (22,1,1) = {" bV bL ab ab -hI +dq af bT bT @@ -2228,9 +2276,9 @@ bT bT bT bT -ab -ab -bL +yh +yh +yh "} (23,1,1) = {" bV @@ -2242,7 +2290,7 @@ ab bT bT bT -hI +dq bT bT bT @@ -2264,9 +2312,9 @@ bT bT bT ab -ab -ab -bL +yh +yh +yh "} (24,1,1) = {" bV @@ -2290,19 +2338,19 @@ nK um lZ ui -Yd +nj nN hI af AL af af -hI +dq bT ab -ab -ab -bL +yh +yh +yh "} (25,1,1) = {" bV @@ -2317,7 +2365,7 @@ bT bT af af -hI +dq af bT ui @@ -2329,16 +2377,16 @@ ui af af zO -PJ +pQ AL -PJ -lr +pQ +VA to bT bT bT -ab -bL +yh +yh "} (26,1,1) = {" bV @@ -2347,7 +2395,7 @@ bV cb ab bT -PJ +pQ ui ui ui @@ -2364,17 +2412,17 @@ Fa ui bT Gk -PJ +pQ af af XD -PJ +pQ af bT bT bT -ab -bU +yh +yh "} (27,1,1) = {" bV @@ -2382,8 +2430,8 @@ bL bL ab bT -lr -lr +VA +VA ui zp vl @@ -2398,7 +2446,7 @@ fm Jw fc bP -BV +Uq BG vM bT @@ -2435,12 +2483,12 @@ Io hj ui vo -BV +Uq rY bT -PJ -PJ -lr +pQ +pQ +VA af bT bT @@ -2475,7 +2523,7 @@ bT PY pP bT -PJ +pQ bT af bT @@ -2489,7 +2537,7 @@ bV bL ab ab -lr +VA bT bT bT @@ -2526,7 +2574,7 @@ bL ab ab ab -lr +VA bT sg ui @@ -2607,7 +2655,7 @@ bT bT bT bT -hI +dq bT bT bT @@ -2716,9 +2764,9 @@ ab ab ab ab -ab -ab -ab +yh +yh +yh cM cM cM @@ -2752,9 +2800,9 @@ bV bV bV bV -bV -bV -bV +yh +yh +yh cM cM cM diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_shuttlecrash.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_shuttlecrash.dmm index d6bbb5279bdf..7914ee1fcda7 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_shuttlecrash.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_shuttlecrash.dmm @@ -32,6 +32,9 @@ "dD" = ( /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"dM" = ( +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored) "dS" = ( /obj/structure/chair/comfy/shuttle{ dir = 8 @@ -571,6 +574,10 @@ "Sj" = ( /turf/simulated/floor/plating/lavaland_air, /area/ruin/unpowered/misc_lavaruin) +"Sy" = ( +/obj/effect/mapping_helpers/lava_magnet, +/turf/simulated/floor/lava/mapping_lava, +/area/lavaland/surface/outdoors) "SH" = ( /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface{ icon_state = "basalt_dug" @@ -1018,8 +1025,8 @@ dD Fy "} (17,1,1) = {" -NG -dD +dM +dM dD hK dD @@ -1036,11 +1043,11 @@ Et SH dD It -Gt +dM "} (18,1,1) = {" -NG -dD +dM +dM hK hK dD @@ -1056,11 +1063,11 @@ mN Et Gt Gt -Gt -Gt +dM +dM "} (19,1,1) = {" -dD +dM hK hK hK @@ -1077,11 +1084,11 @@ Aj hK dD hK -dD -Gt +dM +dM "} (20,1,1) = {" -dD +dM hK hK hK @@ -1132,7 +1139,7 @@ hK hK hK hK -hK +Sy hK hK hK @@ -1183,11 +1190,11 @@ dD hK dD hK -dD +dM "} (25,1,1) = {" hK -dD +dM hK dD Gt @@ -1203,12 +1210,12 @@ cl Gt cl Gt -Gt -Gt +dM +dM "} (26,1,1) = {" -Gt -Gt +dM +dM Gt Gt wf @@ -1225,11 +1232,11 @@ It It It Gt -dD +dM "} (27,1,1) = {" -NG -dD +dM +dM It Gt cl @@ -1249,8 +1256,8 @@ dD NG "} (28,1,1) = {" -NG -dD +dM +dM dD Gt It @@ -1270,7 +1277,7 @@ dD NG "} (29,1,1) = {" -NG +dM dD It Gt diff --git a/_maps/map_files/RandomRuins/SpaceRuins/dj.dmm b/_maps/map_files/RandomRuins/SpaceRuins/dj.dmm index 95caec8d8c88..1a4689776953 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/dj.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/dj.dmm @@ -3,185 +3,171 @@ /turf/template_noop, /area/template_noop) "ab" = ( -/obj/structure/grille, -/turf/template_noop, -/area/space/nearstation) -"ac" = ( -/obj/structure/grille/broken, +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/template_noop, -/area/space/nearstation) +/area/ruin/space/djstation/solars) "ad" = ( /obj/structure/lattice, /turf/template_noop, /area/space/nearstation) -"ae" = ( -/obj/machinery/power/solar/fake, -/turf/simulated/floor/plasteel/airless{ - icon_state = "solarpanel" - }, -/area/ruin/space/djstation/solars) "af" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" +/obj/effect/spawner/airlock, +/turf/simulated/wall/mineral/titanium/nodiagonal, +/area/ruin/space/djstation) +"ag" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 }, -/obj/structure/cable{ - d1 = 2; +/turf/simulated/floor/plasteel/dark, +/area/ruin/space/djstation) +"ah" = ( +/obj/structure/cable/yellow, +/obj/machinery/power/terminal, +/turf/simulated/floor/plating, +/area/ruin/space/djstation) +"ai" = ( +/turf/simulated/floor/plasteel/dark, +/area/ruin/space/djstation) +"aj" = ( +/obj/structure/cable/yellow{ d2 = 4; - icon_state = "2-4" + icon_state = "0-4" }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" +/obj/machinery/power/solar, +/turf/simulated/floor/plasteel/airless{ + icon_state = "solarpanel" }, -/obj/structure/lattice/catwalk, -/turf/template_noop, /area/ruin/space/djstation/solars) -"ag" = ( -/obj/structure/grille/broken, +"al" = ( /obj/structure/lattice, +/obj/structure/marker_beacon/dock_marker/collision, /turf/template_noop, /area/space/nearstation) -"ah" = ( +"am" = ( +/obj/effect/spawner/window/shuttle, /obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" + d2 = 8; + icon_state = "0-8" }, -/obj/structure/lattice/catwalk, -/turf/template_noop, -/area/ruin/space/djstation/solars) -"ai" = ( -/turf/simulated/floor/plasteel/dark, -/area/ruin/space/djstation) -"aj" = ( -/obj/structure/lattice, -/obj/structure/grille/broken, -/turf/template_noop, -/area/space/nearstation) -"al" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" + d1 = 1; + d2 = 8; + icon_state = "1-8" }, -/turf/simulated/wall/mineral/titanium/interior, -/area/ruin/space/djstation) -"am" = ( -/obj/effect/spawner/window/shuttle, /obj/structure/cable{ - d1 = 4; + d1 = 2; d2 = 8; - icon_state = "4-8" + icon_state = "2-8" }, /turf/simulated/floor/plating, /area/ruin/space/djstation) "an" = ( -/obj/effect/spawner/window/shuttle, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/off_station/directional/east, /obj/structure/cable{ d1 = 1; - d2 = 8; - icon_state = "1-8" + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2" + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkyellow" }, -/turf/simulated/floor/plating, /area/ruin/space/djstation) "ao" = ( /turf/simulated/wall/mineral/titanium/interior, /area/ruin/space/djstation) -"ap" = ( -/obj/effect/spawner/window/shuttle, -/obj/structure/cable{ +"as" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ d1 = 1; d2 = 4; icon_state = "1-4" }, -/turf/simulated/floor/plating, -/area/ruin/space/djstation) -"aq" = ( -/obj/structure/cable{ - d1 = 2; +/obj/structure/cable/yellow{ + d1 = 1; d2 = 8; - icon_state = "2-8" + icon_state = "1-8" }, -/turf/simulated/wall/mineral/titanium/interior, -/area/ruin/space/djstation) -"as" = ( -/obj/effect/spawner/window/shuttle, -/obj/structure/cable{ +/obj/structure/cable/yellow{ d1 = 1; d2 = 2; icon_state = "1-2" }, -/turf/simulated/floor/plating, -/area/ruin/space/djstation) +/turf/template_noop, +/area/ruin/space/djstation/solars) "at" = ( /obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/light, /turf/simulated/floor/plating, /area/ruin/space/djstation) "au" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/status_display{ - layer = 4; - pixel_y = 32 - }, -/obj/machinery/tcomms/relay/ruskie, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "vault" +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 4; + icon_state = "1-4" }, -/area/ruin/space/djstation) +/turf/template_noop, +/area/ruin/space/djstation/solars) "av" = ( /turf/simulated/floor/plating, /area/ruin/space/djstation) "ax" = ( -/obj/structure/cable{ +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ d1 = 4; d2 = 8; icon_state = "4-8" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ d1 = 2; d2 = 4; icon_state = "2-4" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ d1 = 1; d2 = 4; icon_state = "1-4" }, -/obj/structure/lattice/catwalk, /turf/template_noop, /area/ruin/space/djstation/solars) "ay" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, /obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /turf/template_noop, /area/ruin/space/djstation/solars) "az" = ( -/obj/machinery/power/terminal, -/turf/simulated/floor/plating, -/area/ruin/space/djstation) -"aA" = ( -/obj/item/multitool, -/turf/simulated/floor/plating, -/area/ruin/space/djstation) -"aB" = ( -/obj/item/storage/toolbox/mechanical{ - pixel_x = -2; - pixel_y = -1 +/obj/structure/cable/yellow, +/obj/machinery/power/solar, +/turf/simulated/floor/plasteel/airless{ + icon_state = "solarpanel" }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plating, -/area/ruin/space/djstation) -"aC" = ( +/area/ruin/space/djstation/solars) +"aA" = ( /obj/structure/cable{ d1 = 4; d2 = 8; @@ -189,155 +175,173 @@ }, /obj/structure/cable{ d1 = 1; - d2 = 8; - icon_state = "1-8" + d2 = 4; + icon_state = "1-4" }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" +/turf/simulated/floor/plasteel{ + icon_state = "darkyellow"; + dir = 8 }, +/area/ruin/space/djstation) +"aB" = ( /obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, /turf/template_noop, /area/ruin/space/djstation/solars) -"aE" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" +"aC" = ( +/obj/machinery/computer/monitor, +/obj/machinery/light{ + dir = 1 }, -/turf/simulated/wall/mineral/titanium/interior, -/area/ruin/space/djstation) -"aF" = ( -/obj/item/extinguisher, -/turf/simulated/floor/plating, -/area/ruin/space/djstation) -"aG" = ( /obj/structure/cable{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/power/smes/magical{ - desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; - name = "power storage unit" + d2 = 4; + icon_state = "0-4" }, /turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "vault" + icon_state = "darkyellow"; + dir = 1 }, /area/ruin/space/djstation) -"aH" = ( -/turf/template_noop, -/area/ruin/space/djstation/solars) -"aI" = ( +"aE" = ( +/obj/effect/spawner/window/shuttle, /obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" + d2 = 4; + icon_state = "0-4" }, -/obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 2; + d1 = 1; d2 = 4; - icon_state = "2-4" + icon_state = "1-4" }, /turf/simulated/floor/plating, /area/ruin/space/djstation) -"aJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ +"aF" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ d1 = 4; d2 = 8; icon_state = "4-8" }, -/turf/simulated/floor/plating, -/area/ruin/space/djstation) -"aK" = ( +/turf/template_noop, +/area/ruin/space/djstation/solars) +"aG" = ( /obj/effect/spawner/window/shuttle, /obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" + d2 = 8; + icon_state = "0-8" }, /obj/structure/cable{ - d1 = 4; + d1 = 1; d2 = 8; - icon_state = "4-8" + icon_state = "1-8" }, /turf/simulated/floor/plating, /area/ruin/space/djstation) -"aL" = ( -/obj/effect/spawner/window/shuttle, -/turf/simulated/floor/plating, +"aH" = ( +/obj/effect/spawner/airlock/s_to_n, +/turf/simulated/wall/mineral/titanium/nodiagonal, /area/ruin/space/djstation) -"aM" = ( -/obj/structure/cable{ - d2 = 4; - icon_state = "0-4" +"aJ" = ( +/obj/item/clothing/head/ushanka, +/obj/item/clothing/under/retro/security, +/obj/item/taperecorder{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/structure/shelf, +/turf/simulated/floor/plasteel{ + icon_state = "darkblue" }, -/obj/machinery/power/apc/worn_out/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plating, /area/ruin/space/djstation) -"aN" = ( -/obj/structure/cable{ - d1 = 4; +"aK" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + d1 = 2; d2 = 8; - icon_state = "4-8" - }, -/obj/item/storage/box/lights/mixed, -/obj/structure/sign/electricshock{ - pixel_y = -32 + icon_state = "2-8" }, +/turf/template_noop, +/area/ruin/space/djstation/solars) +"aL" = ( +/obj/effect/spawner/window/shuttle, /turf/simulated/floor/plating, /area/ruin/space/djstation) +"aM" = ( +/obj/item/paper/djstation{ + pixel_x = 5; + pixel_y = 17 + }, +/obj/item/phone{ + desc = "An old Soviet phone. The dial tone is still humming."; + name = "spin-dial phone"; + pixel_x = 1; + pixel_y = 1 + }, +/obj/structure/table/reinforced, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "darkblue" + }, +/area/ruin/space/djstation) +"aN" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/template_noop, +/area/ruin/space/djstation/solars) "aO" = ( -/obj/structure/cable{ +/obj/structure/lattice/catwalk, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ d1 = 1; d2 = 8; icon_state = "1-8" }, -/turf/simulated/floor/plating, -/area/ruin/space/djstation) +/turf/template_noop, +/area/ruin/space/djstation/solars) "aP" = ( -/obj/machinery/light_switch{ - name = "custom placement"; - pixel_y = -28 - }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plating, -/area/ruin/space/djstation) +/obj/structure/lattice/catwalk, +/turf/template_noop, +/area/space/nearstation) "aQ" = ( -/obj/structure/rack, -/obj/item/clothing/suit/space/syndicate/orange{ - desc = "This spacesuit is emblazoned with the emblem of the USSP. Glory to the Union!"; - name = "Cosmonaut Security Suit" - }, -/obj/item/clothing/head/helmet/space/syndicate/orange{ - desc = "This spacesuit is emblazoned with the emblem of the USSP. Glory to the Union!"; - name = "Cosmonaut Security Helmet" - }, -/obj/item/clothing/mask/breath, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plating, -/area/ruin/space/djstation) +/obj/structure/grille, +/obj/structure/lattice, +/turf/template_noop, +/area/space/nearstation) "aR" = ( -/obj/machinery/door/airlock/maintenance, +/obj/item/radio/intercom/pirate, +/obj/structure/table/reinforced, /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "rampbottom" + icon_state = "darkblue" }, /area/ruin/space/djstation) "aS" = ( /turf/simulated/wall/mineral/titanium/nodiagonal, /area/ruin/space/djstation) "aT" = ( -/obj/structure/closet/emcloset, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel{ - dir = 9; - icon_state = "darkblue" - }, +/obj/structure/lattice/catwalk, +/turf/template_noop, /area/ruin/space/djstation) "aU" = ( /turf/simulated/floor/plasteel{ @@ -346,54 +350,55 @@ }, /area/ruin/space/djstation) "aV" = ( -/turf/simulated/floor/plasteel{ - icon_state = "dark" +/obj/effect/spawner/window/shuttle, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2" }, +/turf/simulated/floor/plating, /area/ruin/space/djstation) "aW" = ( -/obj/effect/decal/cleanable/dirt, /obj/machinery/light{ - dir = 1; - on = 1 + dir = 8 }, +/obj/structure/chair/stool, /turf/simulated/floor/plasteel{ - dir = 1; + dir = 8; icon_state = "darkblue" }, /area/ruin/space/djstation) "aX" = ( -/obj/machinery/newscaster{ - name = "north bump"; - pixel_y = 28 - }, -/obj/machinery/economy/vending/cigarette/free{ - slogan_list = list("Just remember! No capitalist.","Best enjoyed with Vodka!.","Smoke!","Nine out of ten USSP scientists agree, smoking reduces stress!","There's no cigarette like a Soviet cigarette!","Cigarettes! Now with 100% less capitalism.") - }, +/obj/structure/shelf, +/obj/item/reagent_containers/drinks/bottle/vodka, +/obj/item/reagent_containers/drinks/bottle/vodka, +/obj/item/reagent_containers/drinks/bottle/vodka, +/obj/item/reagent_containers/drinks/bottle/vodka, +/obj/item/reagent_containers/drinks/bottle/vodka, +/obj/item/reagent_containers/drinks/bottle/vodka, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ - dir = 5; - icon_state = "darkblue" + icon_state = "darkyellow" }, /area/ruin/space/djstation) "aY" = ( -/obj/structure/table, -/obj/machinery/cell_charger, /turf/simulated/floor/plasteel{ - icon_state = "bar" + icon_state = "freezerfloor" }, /area/ruin/space/djstation) "aZ" = ( -/obj/machinery/status_display{ - layer = 4; - pixel_y = 32 +/obj/item/reagent_containers/drinks/bottle/vodka{ + pixel_x = 7; + pixel_y = 10 }, -/obj/structure/table, -/obj/item/paper/djstation{ - info = "Station has stopped responding to my reports for about the past month. I assume Vostok just has his knickers in a twist.

Hell, not my problem. Got all the vodka and cigarettes I need to last me a year."; - name = "communications update" +/obj/item/reagent_containers/drinks/drinkingglass/shotglass{ + pixel_x = 28; + pixel_y = 3 }, +/obj/item/reagent_containers/drinks/drinkingglass/shotglass, +/obj/structure/table/reinforced, /turf/simulated/floor/plasteel{ - icon_state = "bar" + dir = 10; + icon_state = "darkblue" }, /area/ruin/space/djstation) "ba" = ( @@ -403,27 +408,47 @@ }, /area/ruin/space/djstation) "bb" = ( -/obj/machinery/light_switch{ - name = "north bump"; - pixel_y = 24 - }, -/obj/item/kirbyplants, /obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/flag/ussp, +/obj/machinery/ai_status_display{ + pixel_y = 32 + }, /turf/simulated/floor/plasteel{ - icon_state = "bar" + dir = 5; + icon_state = "darkblue" }, /area/ruin/space/djstation) "bc" = ( -/obj/effect/spawner/window/reinforced, -/turf/simulated/floor/plating, -/area/ruin/space/djstation) -"bd" = ( -/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/public/glass{ + name = "Kitchen" + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "darkblue" + icon_state = "dark" }, /area/ruin/space/djstation) +"bd" = ( +/obj/structure/cable/yellow{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/solar, +/turf/simulated/floor/plasteel/airless{ + icon_state = "solarpanel" + }, +/area/ruin/space/djstation/solars) "be" = ( /turf/simulated/floor/plasteel{ dir = 9; @@ -438,38 +463,58 @@ /area/ruin/space/djstation) "bg" = ( /obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "darkblue" +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" }, +/turf/simulated/floor/plating, /area/ruin/space/djstation) "bh" = ( -/obj/structure/safe/floor, -/obj/item/gun/projectile/automatic/pistol, -/obj/structure/table/wood, -/turf/simulated/floor/plasteel/grimy, +/obj/structure/closet/emcloset, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/status_display/supply_display{ + pixel_y = 32 + }, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "darkblue" + }, /area/ruin/space/djstation) "bi" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /obj/machinery/status_display{ layer = 4; pixel_y = 32 }, -/obj/structure/chair/comfy/beige, -/obj/item/lighter/zippo/engraved{ - pixel_x = -38; - pixel_y = 5 - }, -/obj/item/storage/fancy/cigarettes/dromedaryco{ - pixel_x = -26 +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkblue" }, -/turf/simulated/floor/plasteel/grimy, /area/ruin/space/djstation) "bj" = ( -/obj/machinery/light_switch{ - name = "north bump"; - pixel_y = 24 +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" }, -/turf/simulated/floor/plasteel/grimy, /area/ruin/space/djstation) "bk" = ( /obj/structure/bed, @@ -480,34 +525,34 @@ /turf/simulated/floor/plasteel/grimy, /area/ruin/space/djstation) "bl" = ( -/obj/structure/table, -/obj/machinery/kitchen_machine/microwave{ - pixel_y = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel{ - icon_state = "bar" - }, -/area/ruin/space/djstation) +/obj/structure/lattice, +/obj/structure/grille/broken, +/obj/item/stack/rods, +/turf/template_noop, +/area/space/nearstation) "bm" = ( /turf/simulated/floor/plasteel{ icon_state = "bar" }, /area/ruin/space/djstation) "bn" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Kitchen" +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2" }, +/obj/machinery/power/smes/engineering, /turf/simulated/floor/plasteel{ - icon_state = "dark" + dir = 8; + icon_state = "vault" }, /area/ruin/space/djstation) "bo" = ( /obj/structure/table, -/obj/item/radio/intercom/pirate, +/obj/machinery/kitchen_machine/microwave{ + pixel_y = 8 + }, /turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "darkblue" + icon_state = "bar" }, /area/ruin/space/djstation) "bp" = ( @@ -516,25 +561,52 @@ /turf/simulated/floor/plasteel/dark, /area/ruin/space/djstation) "bq" = ( -/obj/structure/table, -/obj/item/radio/intercom/pirate, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, /turf/simulated/floor/plasteel{ - dir = 4; + dir = 6; icon_state = "darkblue" }, /area/ruin/space/djstation) "br" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Cabin" +/obj/effect/spawner/window/shuttle, +/obj/structure/cable{ + d2 = 4; + icon_state = "0-4" }, -/turf/simulated/floor/plasteel/dark, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/plating, /area/ruin/space/djstation) "bs" = ( -/turf/simulated/floor/plasteel/grimy, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/item/gps/ruin{ + gpstag = "Soviet Entertainment Broadcast"; + pixel_x = -32; + pixel_y = 32 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkblue" + }, /area/ruin/space/djstation) "bt" = ( -/obj/structure/closet/crate/can, /obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/can, /turf/simulated/floor/plasteel{ icon_state = "bar" }, @@ -554,44 +626,39 @@ /area/ruin/space/djstation) "bw" = ( /obj/structure/table, -/obj/item/reagent_containers/drinks/bottle/vodka{ - pixel_x = 7; - pixel_y = 10 - }, -/obj/item/reagent_containers/drinks/drinkingglass/shotglass{ - pixel_x = 28; - pixel_y = 3 +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" }, -/obj/item/reagent_containers/drinks/drinkingglass/shotglass, +/obj/item/paper/djstation/diary_note, /turf/simulated/floor/plasteel{ - dir = 10; - icon_state = "darkblue" + icon_state = "bar" }, /area/ruin/space/djstation) "bx" = ( -/obj/structure/table, -/obj/item/radio/intercom/pirate, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ - icon_state = "darkblue" + icon_state = "bar" }, /area/ruin/space/djstation) "by" = ( -/obj/structure/table, -/obj/item/paper/djstation{ - info = "Welcome new owner!

You have purchased the latest in listening equipment. The telecommunication setup we created is the best in listening to common and private radio fequencies. Here is a step by step guide to start listening in on those saucy radio channels:
  1. Equip yourself with a multi-tool
  2. Use the multitool on each machine, that is the broadcaster, receiver and the relay.
  3. Turn all the machines on, it has already been configured for you to listen on.
Simple as that. Now to listen to the private channels, you'll have to configure the intercoms, located on the front desk. Here is a list of frequencies for you to listen on.