diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 00000000000..a014d30878e
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,23 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+**Issue Description**:
+
+**What did you expect to happen**:
+
+**What happened instead**:
+
+**Why is this bad/What are the consequences**:
+
+**Steps to reproduce the problem**:
+
+**When did the problem start happening**:
+
+**Extra information**:
+
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 00000000000..2f58d4e9ebb
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,10 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+Please place all features requests here: https://nanotrasen.se/forum/60-suggestions/
diff --git a/README.md b/README.md
index 2f4e16270c3..93bb70efc80 100644
--- a/README.md
+++ b/README.md
@@ -103,7 +103,8 @@ The SQL backend for the library and stats tracking requires a MySQL server.
Your server details go in /config/dbconfig.txt,
and the SQL schema is in /SQL/paradise_schema.sql or /SQL/paradise_schema_prefix.sql,
depending on if you want table prefixes.
-More detailed setup instructions are located on /tg/station's wiki: http://www.tgstation13.org/wiki/Downloading_the_source_code#Setting_up_the_database
+More detailed setup instructions are located on our wiki:
+https://nanotrasen.se/wiki/index.php/Setting_up_the_Database
---
diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql
index ed4fb787b8d..1e4692b7e3b 100644
--- a/SQL/paradise_schema.sql
+++ b/SQL/paradise_schema.sql
@@ -269,6 +269,7 @@ CREATE TABLE `player` (
`fuid` bigint(20) NULL DEFAULT NULL,
`fupdate` smallint(4) NULL DEFAULT '0',
`afk_watch` tinyint(1) NOT NULL DEFAULT '0',
+ `parallax` tinyint(1) DEFAULT '8',
PRIMARY KEY (`id`),
UNIQUE KEY `ckey` (`ckey`)
) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=latin1;
diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql
index b0f7bbc5c82..aa5d5895e56 100644
--- a/SQL/paradise_schema_prefixed.sql
+++ b/SQL/paradise_schema_prefixed.sql
@@ -268,6 +268,7 @@ CREATE TABLE `SS13_player` (
`fuid` bigint(20) NULL DEFAULT NULL,
`fupdate` smallint(4) NULL DEFAULT '0',
`afk_watch` tinyint(1) NOT NULL DEFAULT '0',
+ `parallax` tinyint(1) DEFAULT '8',
PRIMARY KEY (`id`),
UNIQUE KEY `ckey` (`ckey`)
) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=latin1;
diff --git a/SQL/updates/8-9.sql b/SQL/updates/8-9.sql
new file mode 100644
index 00000000000..d7f0fd19ab3
--- /dev/null
+++ b/SQL/updates/8-9.sql
@@ -0,0 +1,4 @@
+#Updating the SQL from version 8 to version 9. -affectedarc07
+#Adding new column to contain the parallax value.
+ALTER TABLE `player`
+ ADD `parallax` tinyint(1) DEFAULT '8' AFTER `fupdate`;
diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm
index 447889d17a1..fb8cbaf4304 100644
--- a/_maps/map_files/Delta/delta.dmm
+++ b/_maps/map_files/Delta/delta.dmm
@@ -694,7 +694,6 @@
/obj/structure/rack,
/obj/item/clothing/suit/space/hardsuit/medical,
/obj/item/clothing/mask/breath,
-/obj/item/clothing/head/helmet/space/hardsuit/medical,
/turf/simulated/shuttle/floor{
icon_state = "floor3"
},
@@ -3304,7 +3303,6 @@
/obj/item/tank/oxygen,
/obj/item/clothing/suit/space/hardsuit/security,
/obj/item/clothing/mask/breath,
-/obj/item/clothing/head/helmet/space/hardsuit/security,
/obj/item/clothing/shoes/magboots,
/obj/item/tank/jetpack/oxygen,
/obj/item/radio/intercom{
@@ -27867,11 +27865,6 @@
/obj/effect/decal/warning_stripes/northwest,
/turf/simulated/floor/plasteel,
/area/atmos)
-"bat" = (
-/obj/machinery/pipedispenser,
-/obj/effect/decal/warning_stripes/east,
-/turf/simulated/floor/plasteel,
-/area/atmos)
"bau" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 8;
@@ -28742,11 +28735,6 @@
/obj/effect/decal/warning_stripes/west,
/turf/simulated/floor/plasteel,
/area/atmos)
-"bbU" = (
-/obj/machinery/pipedispenser/disposal,
-/obj/effect/decal/warning_stripes/east,
-/turf/simulated/floor/plasteel,
-/area/atmos)
"bbV" = (
/obj/structure/cable{
d1 = 1;
@@ -31407,6 +31395,7 @@
id_tag = "s_docking_airlock";
req_access_txt = "48"
},
+/obj/structure/fans/tiny,
/turf/simulated/shuttle/floor,
/area/shuttle/mining)
"bgZ" = (
@@ -31431,6 +31420,7 @@
name = "mining shuttle bay";
width = 7
},
+/obj/structure/fans/tiny,
/turf/simulated/shuttle/floor,
/area/shuttle/mining)
"bha" = (
@@ -34038,6 +34028,7 @@
name = "Mining Dock Airlock";
req_access_txt = "48"
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/plasteel,
/area/quartermaster/miningdock)
"blH" = (
@@ -38843,6 +38834,7 @@
name = "Labor Shuttle Airlock";
req_access_txt = "2"
},
+/obj/structure/fans/tiny,
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
@@ -38864,6 +38856,7 @@
name = "Labor Camp Airlock";
req_access_txt = "2"
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/plasteel,
/area/security/prisonershuttle)
"btT" = (
@@ -41958,6 +41951,7 @@
name = "fore bay 1";
width = 9
},
+/obj/structure/fans/tiny,
/turf/simulated/shuttle/floor,
/area/shuttle/siberia)
"bzg" = (
@@ -142582,9 +142576,9 @@ aUd
aVM
aXq
aYI
-bat
-bbU
-bat
+bhp
+bhp
+bhp
beO
aXn
bhk
diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm
index 8bf89da81b2..5c09a328037 100644
--- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm
@@ -1650,7 +1650,6 @@
name = "EXTERNAL AIRLOCK";
pixel_y = 32
},
-/obj/effect/decal/warning_stripes/east,
/turf/simulated/floor/plating,
/area/security/permabrig)
"adl" = (
@@ -1887,7 +1886,6 @@
network = list("SS13")
},
/obj/item/clothing/suit/space/hardsuit/security,
-/obj/item/clothing/head/helmet/space/hardsuit/security,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -2037,6 +2035,9 @@
/area/security/permabrig)
"adW" = (
/obj/effect/decal/warning_stripes/east,
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 5
+ },
/turf/simulated/floor/plating,
/area/security/permabrig)
"adX" = (
@@ -2062,13 +2063,6 @@
icon_state = "dark"
},
/area/security/permabrig)
-"adZ" = (
-/obj/machinery/door/airlock/external{
- name = "Security External Airlock";
- req_access_txt = "1"
- },
-/turf/simulated/floor/plating,
-/area/security/permabrig)
"aea" = (
/obj/machinery/atmospherics/unary/vent_scrubber{
dir = 4;
@@ -3850,12 +3844,20 @@
/turf/simulated/floor/plating,
/area/maintenance/auxsolarport)
"agY" = (
-/obj/vehicle/secway,
-/obj/item/key/security,
+/obj/structure/rack,
+/obj/item/storage/box/buck{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/storage/box/buck,
+/obj/item/storage/box/buck{
+ pixel_x = 3;
+ pixel_y = -3
+ },
/turf/simulated/floor/plasteel{
- tag = "icon-vault (WEST)";
+ dir = 8;
icon_state = "vault";
- dir = 8
+ tag = "icon-vault (WEST)"
},
/area/security/armoury)
"agZ" = (
@@ -4310,7 +4312,6 @@
/obj/structure/rack,
/obj/item/clothing/suit/space/hardsuit/security,
/obj/item/clothing/mask/gas/sechailer,
-/obj/item/clothing/head/helmet/space/hardsuit/security,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -5439,7 +5440,6 @@
/obj/item/clothing/shoes/magboots,
/obj/item/clothing/suit/space/hardsuit/security,
/obj/item/clothing/mask/gas/sechailer,
-/obj/item/clothing/head/helmet/space/hardsuit/security,
/turf/simulated/floor/plasteel{
icon_state = "vault";
dir = 4
@@ -5635,11 +5635,6 @@
},
/area/security/armoury)
"ajN" = (
-/obj/machinery/door/airlock/external{
- name = "Solar Maintenance";
- req_access = null;
- req_access_txt = "10; 13"
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -5657,7 +5652,6 @@
/obj/item/clothing/shoes/magboots,
/obj/item/clothing/suit/space/hardsuit/security,
/obj/item/clothing/mask/gas/sechailer,
-/obj/item/clothing/head/helmet/space/hardsuit/security,
/turf/simulated/floor/plasteel{
icon_state = "vault";
dir = 1
@@ -5922,7 +5916,6 @@
req_access_txt = "3"
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel,
/area/security/armoury)
"aks" = (
@@ -6192,15 +6185,6 @@
icon_state = "dark"
},
/area/security/podbay)
-"akP" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
-/obj/effect/decal/warning_stripes/north,
-/turf/simulated/floor/plating,
-/area/maintenance/auxsolarport)
"akQ" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -6503,15 +6487,15 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel,
/area/security/armoury)
"alo" = (
+/obj/structure/fans/tiny,
/obj/machinery/door/poddoor{
id_tag = "trash";
- name = "disposal bay door"
+ name = "disposal bay door";
+ protected = 0
},
-/obj/structure/fans/tiny,
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"alp" = (
@@ -6796,19 +6780,6 @@
},
/turf/simulated/floor/plating,
/area/security/main)
-"alQ" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
-/obj/machinery/door/airlock/external{
- name = "Solar Maintenance";
- req_access = null;
- req_access_txt = "10; 13"
- },
-/turf/simulated/floor/plating,
-/area/maintenance/auxsolarport)
"alR" = (
/obj/machinery/door/firedoor,
/obj/structure/cable/yellow{
@@ -7019,7 +6990,7 @@
/area/maintenance/disposal)
"amn" = (
/obj/machinery/door_control{
- id = "trash";
+ id = "Disposal Exit";
name = "Disposal Vent Control";
pixel_x = -25;
pixel_y = 4;
@@ -7557,11 +7528,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/simulated/floor/plasteel{
- tag = "icon-vault (WEST)";
- icon_state = "vault";
- dir = 8
- },
+/turf/simulated/floor/plasteel,
/area/security/armoury)
"anb" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -7679,6 +7646,10 @@
name = "EXTERNAL AIRLOCK";
pixel_x = 32
},
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/atmospherics/unary/portables_connector{
+ dir = 8
+ },
/turf/simulated/floor/plating,
/area/maintenance/auxsolarport)
"ann" = (
@@ -7754,25 +7725,11 @@
/obj/structure/window/reinforced,
/turf/simulated/floor/plating,
/area/maintenance/disposal)
-"anx" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/decal/warning_stripes/south,
-/turf/simulated/floor/plating,
-/area/maintenance/disposal)
"any" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
/obj/effect/decal/warning_stripes/south,
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"anz" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 5
},
@@ -7780,9 +7737,6 @@
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"anA" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -7804,9 +7758,6 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -7820,9 +7771,6 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -7842,10 +7790,6 @@
d2 = 8;
icon_state = "2-8"
},
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 4
},
@@ -7939,6 +7883,9 @@
icon_state = "1-8"
},
/obj/effect/decal/warning_stripes/north,
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 5
+ },
/turf/simulated/floor/plating,
/area/maintenance/auxsolarport)
"anL" = (
@@ -8084,6 +8031,10 @@
/obj/item/reagent_containers/glass/bottle/morphine,
/obj/machinery/light/small,
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/item/storage/toolbox/mechanical{
+ pixel_x = -4;
+ pixel_y = 4
+ },
/turf/simulated/floor/plasteel,
/area/security/armoury)
"aoa" = (
@@ -8092,16 +8043,9 @@
/turf/simulated/floor/plating,
/area/security/armoury)
"aob" = (
-/obj/structure/rack,
-/obj/item/storage/toolbox/mechanical{
- pixel_x = -4;
- pixel_y = 4
- },
-/obj/item/storage/toolbox/emergency{
- pixel_x = 2;
- pixel_y = -3
- },
/obj/effect/decal/warning_stripes/yellow/hollow,
+/obj/vehicle/secway,
+/obj/item/key/security,
/turf/simulated/floor/plasteel,
/area/security/armoury)
"aoc" = (
@@ -8544,10 +8488,8 @@
icon_state = "right";
layer = 3
},
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
/obj/effect/decal/warning_stripes/east,
+/obj/structure/disposalpipe/trunk,
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"aoU" = (
@@ -8560,13 +8502,16 @@
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"aoV" = (
-/obj/machinery/mineral/stacking_machine,
/obj/structure/window/reinforced{
dir = 4
},
/obj/structure/window/reinforced{
dir = 1
},
+/obj/machinery/mineral/stacking_machine{
+ input_dir = 2;
+ stack_amt = 10
+ },
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"aoW" = (
@@ -8640,7 +8585,9 @@
name = "Danger: Conveyor Access";
req_access_txt = "12"
},
-/obj/machinery/conveyor/east,
+/obj/machinery/conveyor/west{
+ id = "garbage"
+ },
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"apd" = (
@@ -9017,13 +8964,6 @@
},
/turf/simulated/floor/plating,
/area/maintenance/fore)
-"apP" = (
-/obj/machinery/light/small{
- dir = 8
- },
-/obj/effect/decal/warning_stripes/southeast,
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
"apQ" = (
/obj/machinery/sleeper{
icon_state = "sleeper-open";
@@ -9147,13 +9087,6 @@
dir = 4
},
/area/security/brig)
-"aqe" = (
-/obj/machinery/door/airlock/external{
- req_access_txt = "0";
- req_one_access_txt = "13,8"
- },
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
"aqf" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
@@ -9309,18 +9242,6 @@
},
/turf/simulated/floor/plating,
/area/maintenance/fore)
-"aqv" = (
-/obj/structure/cable/yellow{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
-/turf/simulated/floor/plating,
-/area/maintenance/fpmaint2{
- name = "Port Maintenance"
- })
"aqw" = (
/obj/structure/closet/crate,
/obj/item/bodybag,
@@ -9424,7 +9345,6 @@
/turf/simulated/floor/plating,
/area/security/brig)
"aqG" = (
-/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
/area/security/armoury)
"aqH" = (
@@ -9876,7 +9796,9 @@
dir = 2;
icon_state = "pipe-c"
},
-/obj/machinery/conveyor/east,
+/obj/machinery/conveyor/east{
+ id = "garbage"
+ },
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"art" = (
@@ -9942,11 +9864,6 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/machinery/door/airlock/external{
- name = "Solar Maintenance";
- req_access = null;
- req_access_txt = "10; 13"
- },
/turf/simulated/floor/plating,
/area/maintenance/auxsolarstarboard)
"arD" = (
@@ -9961,7 +9878,9 @@
/area/maintenance/disposal)
"arE" = (
/obj/machinery/recycler,
-/obj/machinery/conveyor/east,
+/obj/machinery/conveyor/east{
+ id = "garbage"
+ },
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"arF" = (
@@ -9969,7 +9888,10 @@
dir = 2;
on = 1
},
-/obj/machinery/conveyor/east,
+/obj/machinery/conveyor/east{
+ id = "garbage"
+ },
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"arG" = (
@@ -10704,15 +10626,6 @@
icon_state = "dark"
},
/area/engine/gravitygenerator)
-"asL" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
-/obj/effect/decal/warning_stripes/north,
-/turf/simulated/floor/plating,
-/area/maintenance/auxsolarstarboard)
"asM" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -10905,6 +10818,7 @@
req_access_txt = "12"
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"atd" = (
@@ -10926,7 +10840,6 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -11031,7 +10944,6 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 8
},
@@ -11345,26 +11257,9 @@
name = "\improper Recreation Area"
})
"atU" = (
-/obj/structure/table,
-/obj/item/tank/emergency_oxygen{
- pixel_x = -8
- },
-/obj/item/tank/emergency_oxygen{
- pixel_x = -8
- },
-/obj/item/clothing/mask/breath{
- pixel_x = 4
- },
-/obj/item/clothing/mask/breath{
- pixel_x = 4
- },
-/obj/effect/decal/cleanable/cobweb,
-/obj/structure/sign/securearea{
- desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
- icon_state = "space";
- layer = 4;
- name = "EXTERNAL AIRLOCK";
- pixel_y = 32
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/atmospherics/unary/portables_connector{
+ dir = 8
},
/turf/simulated/floor/plating,
/area/maintenance/starboard)
@@ -11380,6 +11275,9 @@
icon_state = "1-8"
},
/obj/effect/decal/warning_stripes/north,
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 5
+ },
/turf/simulated/floor/plating,
/area/maintenance/auxsolarstarboard)
"atW" = (
@@ -11401,6 +11299,10 @@
pixel_x = 32
},
/obj/effect/decal/cleanable/cobweb2,
+/obj/machinery/atmospherics/unary/portables_connector{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/air,
/turf/simulated/floor/plating,
/area/maintenance/auxsolarstarboard)
"atY" = (
@@ -11660,6 +11562,7 @@
"aux" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/decal/warning_stripes/north,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -11722,6 +11625,7 @@
name = "Labor Camp Shuttle Airlock";
req_access_txt = "2"
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -13120,12 +13024,6 @@
dir = 1
},
/area/security/processing)
-"axg" = (
-/obj/machinery/door/airlock/external{
- req_access_txt = "13"
- },
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
"axh" = (
/turf/simulated/wall/r_wall,
/area/maintenance/starboard)
@@ -13235,7 +13133,6 @@
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2{
@@ -13954,20 +13851,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
-/area/maintenance/fpmaint2{
- name = "Port Maintenance"
- })
-"ayE" = (
-/obj/structure/cable/yellow{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
-/turf/simulated/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
})
@@ -13978,9 +13861,6 @@
max_integrity = 120;
reinf = 0
},
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/simulated/floor/plating,
/area/maintenance/fore)
"ayG" = (
@@ -13988,17 +13868,13 @@
/turf/simulated/floor/plating,
/area/maintenance/fore)
"ayH" = (
-/obj/structure/disposalpipe/junction{
- tag = "icon-pipe-j2 (NORTH)";
- icon_state = "pipe-j2";
- dir = 1
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/fore)
"ayI" = (
@@ -14268,7 +14144,6 @@
},
/area/security/brig)
"azf" = (
-/obj/structure/closet/emcloset,
/obj/structure/sign/securearea{
desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
icon_state = "space";
@@ -14276,6 +14151,8 @@
name = "EXTERNAL AIRLOCK";
pixel_y = 32
},
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/atmospherics/unary/portables_connector,
/turf/simulated/floor/plating,
/area/maintenance/starboard)
"azg" = (
@@ -14296,22 +14173,8 @@
/turf/simulated/floor/wood,
/area/crew_quarters/mrchangs)
"azi" = (
-/obj/structure/closet/crate{
- icon_state = "crateopen";
- opened = 1
- },
-/obj/structure/sign/securearea{
- desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
- icon_state = "space";
- layer = 4;
- name = "EXTERNAL AIRLOCK";
- pixel_y = 32
- },
-/obj/effect/decal/cleanable/cobweb,
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 3;
- name = "3maintenance loot spawner"
- },
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/atmospherics/unary/portables_connector,
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -14439,13 +14302,6 @@
/obj/effect/spawner/lootdrop/maintenance,
/turf/simulated/floor/plating,
/area/maintenance/starboard)
-"azv" = (
-/obj/structure/rack,
-/obj/item/clothing/mask/gas,
-/obj/item/clothing/glasses/sunglasses,
-/obj/effect/spawner/lootdrop/maintenance,
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
"azw" = (
/obj/effect/spawner/window/reinforced,
/obj/structure/cable/yellow{
@@ -14603,12 +14459,6 @@
},
/turf/simulated/floor/plating/airless,
/area/space/nearstation)
-"azJ" = (
-/obj/machinery/door/airlock/external,
-/turf/simulated/floor/plating,
-/area/maintenance/fpmaint2{
- name = "Port Maintenance"
- })
"azK" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -14666,6 +14516,7 @@
icon_state = "2-4"
},
/obj/effect/decal/warning_stripes/south,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -14728,6 +14579,7 @@
name = "Mining Office";
req_access_txt = "48"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/quartermaster/miningdock{
name = "\improper Mining Office"
@@ -14760,6 +14612,7 @@
id_tag = "s_docking_airlock";
name = "Labor Shuttle Airlock"
},
+/obj/structure/fans/tiny,
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
@@ -14769,6 +14622,7 @@
id_tag = "laborcamp_home";
name = "Labor Camp Shuttle Airlock"
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -15229,17 +15083,6 @@
icon_state = "red"
},
/area/security/brig)
-"aAO" = (
-/obj/structure/sign/securearea{
- desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
- icon_state = "space";
- layer = 4;
- name = "EXTERNAL AIRLOCK";
- pixel_y = -32
- },
-/obj/effect/decal/warning_stripes/east,
-/turf/simulated/floor/plating,
-/area/maintenance/starboard)
"aAP" = (
/obj/structure/closet,
/obj/effect/spawner/lootdrop/maintenance,
@@ -15287,19 +15130,6 @@
/obj/effect/decal/warning_stripes/south,
/turf/simulated/floor/plating,
/area/maintenance/fore)
-"aAW" = (
-/obj/structure/sign/securearea{
- desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
- icon_state = "space";
- layer = 4;
- name = "EXTERNAL AIRLOCK";
- pixel_y = 32
- },
-/obj/effect/decal/warning_stripes/west,
-/turf/simulated/floor/plating,
-/area/maintenance/fpmaint2{
- name = "Port Maintenance"
- })
"aAX" = (
/obj/structure/closet/crate,
/obj/item/coin/silver,
@@ -15638,6 +15468,7 @@
pixel_y = -25;
req_access_txt = "2"
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -16118,6 +15949,8 @@
d2 = 2;
icon_state = "1-2"
},
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/quartermaster/miningdock{
name = "\improper Mining Office"
@@ -16347,6 +16180,10 @@
name = "Brig";
req_access_txt = "63"
},
+/obj/effect/mapping_helpers/airlock/unres{
+ icon_state = "airlock_unres_helper";
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "red"
},
@@ -16369,6 +16206,10 @@
name = "Brig";
req_access_txt = "63"
},
+/obj/effect/mapping_helpers/airlock/unres{
+ icon_state = "airlock_unres_helper";
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "red"
},
@@ -16764,6 +16605,7 @@
d2 = 8;
icon_state = "1-8"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "brown"
@@ -17546,6 +17388,7 @@
name = "mining shuttle bay";
width = 7
},
+/obj/structure/fans/tiny,
/turf/simulated/shuttle/plating,
/area/shuttle/mining)
"aEJ" = (
@@ -17554,6 +17397,7 @@
req_access = null;
req_access_txt = "0"
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/plating,
/area/quartermaster/miningdock{
name = "\improper Mining Office"
@@ -17568,6 +17412,7 @@
name = "Mining Dock";
req_access_txt = "48"
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/plasteel,
/area/quartermaster/miningdock{
name = "\improper Mining Office"
@@ -17608,6 +17453,7 @@
/obj/effect/landmark/start{
name = "Shaft Miner"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/quartermaster/miningdock{
name = "\improper Mining Office"
@@ -17814,6 +17660,7 @@
id_tag = "s_docking_airlock";
name = "Labor Shuttle Airlock"
},
+/obj/structure/fans/tiny,
/turf/simulated/shuttle/floor,
/area/shuttle/siberia)
"aFe" = (
@@ -17821,6 +17668,7 @@
id_tag = "laborcamp_home";
name = "Labor Camp Shuttle Airlock"
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -18413,6 +18261,7 @@
d2 = 2;
icon_state = "1-2"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/quartermaster/miningdock{
name = "\improper Mining Office"
@@ -18457,7 +18306,6 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2{
@@ -18621,6 +18469,10 @@
name = "Brig";
req_access_txt = "63"
},
+/obj/effect/mapping_helpers/airlock/unres{
+ icon_state = "airlock_unres_helper";
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "red";
dir = 1
@@ -18662,6 +18514,10 @@
name = "Brig";
req_access_txt = "63"
},
+/obj/effect/mapping_helpers/airlock/unres{
+ icon_state = "airlock_unres_helper";
+ dir = 1
+ },
/turf/simulated/floor/plasteel{
icon_state = "red";
dir = 1
@@ -18908,9 +18764,8 @@
layer = 2.9
},
/obj/item/clothing/shoes/magboots,
-/obj/item/clothing/suit/space/hardsuit/engineering,
+/obj/item/clothing/suit/space/hardsuit/engine,
/obj/item/clothing/mask/breath,
-/obj/item/clothing/head/helmet/space/hardsuit/engineering,
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
/area/engine/engineering)
@@ -19039,10 +18894,6 @@
"aHk" = (
/turf/simulated/wall,
/area/construction)
-"aHl" = (
-/obj/machinery/door/airlock/external,
-/turf/simulated/floor/plating,
-/area/construction)
"aHm" = (
/obj/structure/closet/crate,
/obj/item/coin/silver,
@@ -19134,18 +18985,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
-/area/maintenance/fpmaint2{
- name = "Port Maintenance"
- })
-"aHw" = (
-/obj/structure/cable/yellow{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
-/obj/structure/disposalpipe/segment,
-/obj/effect/decal/cleanable/dirt,
-/turf/simulated/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
})
@@ -19698,9 +19537,8 @@
layer = 2.9
},
/obj/item/clothing/shoes/magboots,
-/obj/item/clothing/suit/space/hardsuit/engineering,
+/obj/item/clothing/suit/space/hardsuit/engine,
/obj/item/clothing/mask/breath,
-/obj/item/clothing/head/helmet/space/hardsuit/engineering,
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
/area/engine/engineering)
@@ -19942,6 +19780,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/quartermaster/miningdock{
name = "\improper Mining Office"
@@ -19995,6 +19834,9 @@
"aIU" = (
/obj/effect/decal/warning_stripes/west,
/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 9
+ },
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -20496,17 +20338,6 @@
},
/turf/simulated/floor/plating/airless,
/area/space/nearstation)
-"aJK" = (
-/obj/structure/sign/securearea{
- desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
- icon_state = "space";
- layer = 4;
- name = "EXTERNAL AIRLOCK";
- pixel_x = 32
- },
-/obj/effect/decal/warning_stripes/north,
-/turf/simulated/floor/plating,
-/area/construction)
"aJL" = (
/obj/effect/decal/warning_stripes/southwest,
/turf/simulated/floor/plasteel,
@@ -20711,6 +20542,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
req_access_txt = 1
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 2;
icon_state = "brown"
@@ -22277,6 +22109,7 @@
d2 = 4;
icon_state = "1-4"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aMT" = (
@@ -23822,6 +23655,7 @@
dir = 4;
on = 1
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aPK" = (
@@ -25313,6 +25147,7 @@
/obj/effect/landmark/start{
name = "Cargo Technician"
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"aSA" = (
@@ -29954,9 +29789,8 @@
layer = 2.9
},
/obj/item/clothing/shoes/magboots,
-/obj/item/clothing/suit/space/hardsuit/engineering,
+/obj/item/clothing/suit/space/hardsuit/engine,
/obj/item/clothing/mask/breath,
-/obj/item/clothing/head/helmet/space/hardsuit/engineering,
/obj/effect/decal/warning_stripes/west,
/turf/simulated/floor/plasteel,
/area/engine/engineering)
@@ -30850,9 +30684,8 @@
layer = 2.9
},
/obj/item/clothing/shoes/magboots,
-/obj/item/clothing/suit/space/hardsuit/engineering,
+/obj/item/clothing/suit/space/hardsuit/engine,
/obj/item/clothing/mask/breath,
-/obj/item/clothing/head/helmet/space/hardsuit/engineering,
/obj/effect/decal/warning_stripes/southwest,
/turf/simulated/floor/plasteel,
/area/engine/engineering)
@@ -30984,6 +30817,7 @@
/area/engine/engineering)
"bcs" = (
/obj/machinery/hologram/holopad,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"bct" = (
@@ -31330,6 +31164,7 @@
maxcharge = 15000
},
/obj/effect/decal/warning_stripes/northwest,
+/obj/item/rcs,
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"bcW" = (
@@ -32774,6 +32609,10 @@
d2 = 8;
icon_state = "4-8"
},
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plating,
/area/quartermaster/storage)
"bfp" = (
@@ -33597,6 +33436,10 @@
})
"bgC" = (
/obj/effect/decal/warning_stripes/south,
+/obj/machinery/telepad,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"bgD" = (
@@ -33686,14 +33529,11 @@
icon_state = "1-8"
},
/obj/effect/decal/warning_stripes/southwest,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
-"bgL" = (
-/obj/machinery/door/airlock/external{
- req_access_txt = "13"
- },
-/turf/simulated/floor/plating,
-/area/engine/engineering)
"bgM" = (
/obj/structure/window/reinforced{
dir = 4
@@ -33813,6 +33653,10 @@
pixel_y = -2
},
/obj/effect/decal/warning_stripes/south,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"bgW" = (
@@ -34764,15 +34608,19 @@
dir = 4
},
/obj/machinery/space_heater,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
})
"biD" = (
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
+ dir = 4
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/wall,
/area/quartermaster/office{
name = "\improper Cargo Office"
@@ -35619,6 +35467,9 @@
pixel_y = 32
},
/obj/effect/decal/warning_stripes/east,
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/engine/engineering)
"bjU" = (
@@ -35904,6 +35755,7 @@
req_access_txt = "50"
},
/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/quartermaster/office{
name = "\improper Cargo Office"
@@ -36854,13 +36706,18 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
+/obj/structure/disposalpipe/wrapsortjunction{
+ dir = 1
+ },
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
})
"bmf" = (
-/obj/structure/disposalpipe/wrapsortjunction{
- dir = 1
+/obj/structure/disposalpipe/junction{
+ dir = 4;
+ icon_state = "pipe-j2";
+ tag = "icon-pipe-j1 (WEST)"
},
/turf/simulated/wall,
/area/quartermaster/office{
@@ -37920,9 +37777,8 @@
layer = 2.9
},
/obj/item/clothing/shoes/magboots/advance,
-/obj/item/clothing/suit/space/hardsuit/elite,
+/obj/item/clothing/suit/space/hardsuit/engine/elite,
/obj/item/clothing/mask/breath,
-/obj/item/clothing/head/helmet/space/hardsuit/elite,
/turf/simulated/floor/plasteel{
icon_state = "vault";
dir = 5
@@ -37992,45 +37848,7 @@
},
/turf/simulated/floor/bluegrid,
/area/turret_protected/ai)
-"bnR" = (
-/obj/machinery/door/airlock/external{
- name = "MiniSat External Access";
- req_access = null;
- req_access_txt = "75;13"
- },
-/turf/simulated/floor/plasteel{
- icon_state = "vault";
- dir = 8
- },
-/area/construction/hallway{
- name = "\improper MiniSat Exterior"
- })
-"bnS" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4;
- level = 1
- },
-/obj/machinery/door/window/eastright{
- base_state = "left";
- dir = 4;
- icon_state = "left";
- name = "MiniSat Walkway Access";
- req_access_txt = "13;75"
- },
-/turf/simulated/floor/plasteel{
- icon_state = "vault";
- dir = 8
- },
-/area/construction/hallway{
- name = "\improper MiniSat Exterior"
- })
"bnT" = (
-/obj/machinery/atmospherics/unary/vent_pump{
- dir = 4;
- external_pressure_bound = 101;
- on = 1;
- pressure_checks = 1
- },
/obj/machinery/light/small{
dir = 1
},
@@ -38041,21 +37859,6 @@
/area/construction/hallway{
name = "\improper MiniSat Exterior"
})
-"bnU" = (
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
- dir = 4;
- initialize_directions = 11;
- level = 1
- },
-/turf/simulated/floor/plasteel{
- icon_state = "dark"
- },
-/area/construction/hallway{
- name = "\improper MiniSat Exterior"
- })
"bnV" = (
/obj/effect/landmark{
name = "Observer-Start"
@@ -38139,6 +37942,7 @@
name = "blobstart"
},
/obj/effect/decal/warning_stripes/east,
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -38162,6 +37966,7 @@
})
"boe" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/turf/simulated/wall,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -38236,6 +38041,7 @@
/obj/machinery/light_switch{
pixel_x = 27
},
+/obj/item/rcs,
/turf/simulated/floor/plasteel{
icon_state = "arrival";
dir = 4
@@ -39114,6 +38920,7 @@
icon_state = "map-left-MS";
pixel_y = 32
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "neutral";
dir = 1
@@ -40044,19 +39851,6 @@
/area/construction/hallway{
name = "\improper MiniSat Exterior"
})
-"brg" = (
-/obj/machinery/door/window/eastright{
- dir = 4;
- name = "MiniSat Walkway Access";
- req_access_txt = "13;75"
- },
-/turf/simulated/floor/plasteel{
- icon_state = "vault";
- dir = 8
- },
-/area/construction/hallway{
- name = "\improper MiniSat Exterior"
- })
"brh" = (
/obj/structure/window/reinforced{
dir = 4
@@ -40305,6 +40099,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralcorner"
@@ -40312,7 +40107,6 @@
/area/hallway/primary/port)
"brF" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
icon_state = "neutral";
dir = 4
@@ -41354,9 +41148,10 @@
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
+/obj/structure/disposalpipe/junction{
+ dir = 1;
+ icon_state = "pipe-j1";
+ tag = "icon-pipe-j1 (EAST)"
},
/turf/simulated/floor/plasteel{
icon_state = "neutral";
@@ -41364,14 +41159,13 @@
},
/area/hallway/primary/port)
"btt" = (
-/obj/structure/disposalpipe/junction{
- dir = 1;
- icon_state = "pipe-j2";
- tag = "icon-pipe-j1 (WEST)"
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 5
},
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutralcorner"
@@ -41581,7 +41375,6 @@
/obj/structure/extinguisher_cabinet{
pixel_x = 30
},
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
@@ -59958,8 +59751,7 @@
/obj/structure/rack,
/obj/item/clothing/shoes/magboots,
/obj/item/clothing/mask/breath,
-/obj/item/clothing/suit/space/hardsuit/atmos,
-/obj/item/clothing/head/helmet/space/hardsuit/atmos,
+/obj/item/clothing/suit/space/hardsuit/engine/atmos,
/obj/effect/decal/warning_stripes/west,
/turf/simulated/floor/plasteel,
/area/atmos)
@@ -61905,7 +61697,6 @@
name = "Station Intercom (General)";
pixel_y = 28
},
-/obj/machinery/pipedispenser/disposal,
/obj/effect/decal/warning_stripes/southeast,
/turf/simulated/floor/plasteel,
/area/atmos)
@@ -62048,8 +61839,7 @@
/obj/structure/rack,
/obj/item/clothing/shoes/magboots,
/obj/item/clothing/mask/breath,
-/obj/item/clothing/suit/space/hardsuit/atmos,
-/obj/item/clothing/head/helmet/space/hardsuit/atmos,
+/obj/item/clothing/suit/space/hardsuit/engine/atmos,
/turf/simulated/floor/plasteel{
dir = 9;
icon_state = "caution"
@@ -62062,8 +61852,7 @@
/obj/structure/rack,
/obj/item/clothing/shoes/magboots,
/obj/item/clothing/mask/breath,
-/obj/item/clothing/suit/space/hardsuit/atmos,
-/obj/item/clothing/head/helmet/space/hardsuit/atmos,
+/obj/item/clothing/suit/space/hardsuit/engine/atmos,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "caution"
@@ -62855,7 +62644,6 @@
/turf/simulated/floor/plating,
/area/maintenance/starboard)
"cdq" = (
-/obj/machinery/pipedispenser,
/obj/effect/decal/warning_stripes/southwest,
/turf/simulated/floor/plasteel,
/area/atmos)
@@ -63755,6 +63543,10 @@
name = "EXTERNAL AIRLOCK";
pixel_x = 32
},
+/obj/machinery/atmospherics/unary/portables_connector{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/air,
/turf/simulated/floor/plating,
/area/maintenance/portsolar)
"ceX" = (
@@ -63857,6 +63649,10 @@
icon_state = "2-8"
},
/obj/effect/decal/warning_stripes/south,
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 6;
+ level = 2
+ },
/turf/simulated/floor/plating,
/area/maintenance/portsolar)
"cff" = (
@@ -63961,11 +63757,6 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/machinery/door/airlock/external{
- name = "Solar Maintenance";
- req_access = null;
- req_access_txt = "10; 13"
- },
/turf/simulated/floor/plating,
/area/maintenance/portsolar)
"cfm" = (
@@ -65992,17 +65783,9 @@
},
/area/maintenance/incinerator)
"ciI" = (
-/obj/structure/sign/securearea{
- desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
- icon_state = "space";
- layer = 4;
- name = "EXTERNAL AIRLOCK";
- pixel_y = -32
- },
/obj/machinery/light/small{
dir = 1
},
-/obj/effect/decal/warning_stripes/east,
/turf/simulated/floor/plating,
/area/atmos)
"ciJ" = (
@@ -66228,13 +66011,6 @@
/area/security/checkpoint/science{
name = "Security Post - Research Division"
})
-"ciY" = (
-/obj/machinery/door/airlock/external{
- req_access_txt = "24";
- req_one_access_txt = "0"
- },
-/turf/simulated/floor/plating,
-/area/atmos)
"ciZ" = (
/obj/machinery/disposal{
pixel_x = -2;
@@ -66787,19 +66563,6 @@
/area/security/checkpoint/science{
name = "Security Post - Research Division"
})
-"cjT" = (
-/obj/structure/sign/securearea{
- desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
- icon_state = "space";
- layer = 4;
- name = "EXTERNAL AIRLOCK";
- pixel_y = 32
- },
-/obj/effect/decal/warning_stripes/west,
-/turf/simulated/floor/plating,
-/area/maintenance/aft{
- name = "Aft Maintenance"
- })
"cjU" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
req_access_txt = 1
@@ -67052,14 +66815,6 @@
/area/medical/research{
name = "Research Division"
})
-"ckt" = (
-/obj/machinery/door/airlock/external{
- req_access_txt = "13"
- },
-/turf/simulated/floor/plating,
-/area/maintenance/aft{
- name = "Aft Maintenance"
- })
"cku" = (
/obj/machinery/firealarm{
dir = 1;
@@ -69196,13 +68951,6 @@
/obj/effect/decal/warning_stripes/west,
/turf/simulated/floor/plating,
/area/maintenance/starboard)
-"cnS" = (
-/obj/structure/closet/emcloset,
-/obj/effect/decal/warning_stripes/north,
-/turf/simulated/floor/plating,
-/area/maintenance/aft{
- name = "Aft Maintenance"
- })
"cnT" = (
/obj/machinery/chem_heater{
pixel_x = -4;
@@ -70317,6 +70065,7 @@
name = "Medbay";
req_access_txt = "5"
},
+/obj/effect/mapping_helpers/airlock/unres,
/turf/simulated/floor/plasteel{
icon_state = "whitebluefull"
},
@@ -70329,6 +70078,7 @@
name = "Medbay";
req_access_txt = "5"
},
+/obj/effect/mapping_helpers/airlock/unres,
/turf/simulated/floor/plasteel{
icon_state = "whitebluefull"
},
@@ -73975,7 +73725,7 @@
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/research{
name = "Research and Development Lab";
- req_access_txt = "7"
+ req_access_txt = "47"
},
/turf/simulated/floor/plasteel{
dir = 4;
@@ -78196,15 +77946,6 @@
icon_state = "white"
},
/area/medical/surgeryobs)
-"cCe" = (
-/obj/structure/closet/crate,
-/obj/item/coin/silver,
-/obj/item/flashlight/seclite,
-/obj/effect/spawner/lootdrop/maintenance,
-/turf/simulated/floor/plating,
-/area/maintenance/aft{
- name = "Aft Maintenance"
- })
"cCf" = (
/obj/structure/cable{
d1 = 1;
@@ -79072,7 +78813,6 @@
/obj/item/clothing/shoes/magboots,
/obj/item/clothing/suit/space/hardsuit/medical,
/obj/item/clothing/mask/breath,
-/obj/item/clothing/head/helmet/space/hardsuit/medical,
/obj/item/radio/intercom{
dir = 1;
name = "Station Intercom (General)";
@@ -79238,9 +78978,8 @@
},
/area/crew_quarters/hor)
"cDM" = (
-/obj/machinery/door/airlock/external{
- req_access_txt = "0";
- req_one_access_txt = "13,8"
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 5
},
/turf/simulated/floor/plating,
/area/maintenance/aft{
@@ -79366,6 +79105,10 @@
req_access_txt = "0";
req_one_access_txt = "5"
},
+/obj/effect/mapping_helpers/airlock/unres{
+ icon_state = "airlock_unres_helper";
+ dir = 4
+ },
/turf/simulated/floor/plasteel{
icon_state = "whitebluefull"
},
@@ -79990,13 +79733,6 @@
/obj/machinery/light/small{
dir = 1
},
-/obj/structure/sign/securearea{
- desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
- icon_state = "space";
- layer = 4;
- name = "EXTERNAL AIRLOCK";
- pixel_y = 32
- },
/turf/simulated/floor/plating,
/area/maintenance/aft{
name = "Aft Maintenance"
@@ -80138,22 +79874,6 @@
icon_state = "gcircuit"
},
/area/assembly/chargebay)
-"cFp" = (
-/obj/structure/sign/securearea{
- desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
- icon_state = "space";
- layer = 4;
- name = "EXTERNAL AIRLOCK";
- pixel_y = 32
- },
-/obj/machinery/light/small{
- dir = 1
- },
-/obj/effect/decal/warning_stripes/east,
-/turf/simulated/floor/plating,
-/area/maintenance/aft{
- name = "Aft Maintenance"
- })
"cFq" = (
/obj/machinery/door/window/westleft{
base_state = "right";
@@ -84411,20 +84131,8 @@
d2 = 2;
icon_state = "0-2"
},
-/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = -2;
- pixel_y = 4
- },
-/obj/item/assembly/prox_sensor{
- pixel_x = -8;
- pixel_y = 4
- },
-/obj/item/assembly/prox_sensor{
- pixel_x = -8;
- pixel_y = 4
- },
/obj/effect/decal/warning_stripes/yellow,
+/obj/machinery/photocopier,
/turf/simulated/floor/plasteel,
/area/assembly/robotics)
"cMo" = (
@@ -84995,6 +84703,14 @@
pixel_x = 32
},
/obj/effect/decal/warning_stripes/yellow,
+/obj/item/assembly/prox_sensor{
+ pixel_x = -8;
+ pixel_y = 4
+ },
+/obj/item/assembly/prox_sensor{
+ pixel_x = -8;
+ pixel_y = 4
+ },
/turf/simulated/floor/plasteel,
/area/assembly/robotics)
"cMY" = (
@@ -85252,6 +84968,11 @@
pixel_x = -27
},
/obj/effect/decal/warning_stripes/west,
+/obj/item/paper_bin{
+ pixel_x = -2;
+ pixel_y = 4
+ },
+/obj/structure/table,
/turf/simulated/floor/plasteel,
/area/assembly/robotics)
"cNv" = (
@@ -85624,10 +85345,9 @@
pixel_x = 4;
pixel_y = -4
},
-/obj/item/radio/headset/headset_sci{
- pixel_x = -3
- },
/obj/effect/decal/warning_stripes/yellow,
+/obj/item/storage/firstaid/machine,
+/obj/item/storage/firstaid/machine,
/turf/simulated/floor/plasteel,
/area/assembly/robotics)
"cNZ" = (
@@ -85955,10 +85675,8 @@
name = "Aft Maintenance"
})
"cOx" = (
-/obj/structure/rack,
-/obj/item/clothing/mask/gas,
-/obj/item/clothing/glasses/sunglasses,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/atmospherics/unary/portables_connector,
/turf/simulated/floor/plating,
/area/maintenance/aft{
name = "Aft Maintenance"
@@ -86209,6 +85927,7 @@
/obj/item/razor{
pixel_y = 5
},
+/obj/item/bonegel,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whitehall"
@@ -86253,13 +85972,10 @@
/obj/structure/window/reinforced{
dir = 8
},
-/obj/structure/table,
-/obj/item/storage/box/bodybags{
- pixel_x = 2;
- pixel_y = 2
- },
-/obj/item/borg/upgrade/rename,
/obj/effect/decal/warning_stripes/yellow,
+/obj/structure/closet/secure_closet/roboticist{
+ pixel_x = 2
+ },
/turf/simulated/floor/plasteel,
/area/assembly/robotics)
"cOX" = (
@@ -86818,6 +86534,12 @@
name = "Station Intercom (General)";
pixel_x = -29
},
+/obj/item/cautery,
+/obj/item/bonesetter,
+/obj/item/reagent_containers/spray/cleaner{
+ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back.";
+ name = "Surgery Cleaner"
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "whitecorner"
@@ -86832,12 +86554,16 @@
dir = 1;
pixel_y = 1
},
-/obj/item/robotanalyzer,
/obj/item/storage/box/gloves,
/obj/item/storage/box/masks{
pixel_x = 6;
pixel_y = 6
},
+/obj/item/storage/box/bodybags{
+ pixel_x = 2;
+ pixel_y = 2
+ },
+/obj/item/robotanalyzer,
/obj/item/robotanalyzer,
/turf/simulated/floor/plasteel{
dir = 8;
@@ -87168,24 +86894,6 @@
/area/toxins/server{
name = "\improper Research Division Server Room"
})
-"cQr" = (
-/obj/structure/sign/securearea{
- desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
- icon_state = "space";
- layer = 4;
- name = "EXTERNAL AIRLOCK";
- pixel_y = -32
- },
-/obj/structure/cable/yellow{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/effect/decal/warning_stripes/east,
-/turf/simulated/floor/plating,
-/area/maintenance/aft{
- name = "Aft Maintenance"
- })
"cQs" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plasteel{
@@ -87338,6 +87046,9 @@
icon_state = "4-8"
},
/obj/effect/decal/warning_stripes/east,
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 5
+ },
/turf/simulated/floor/plating,
/area/maintenance/aft{
name = "Aft Maintenance"
@@ -88519,6 +88230,8 @@
dir = 1;
network = list("SS13","RD")
},
+/obj/item/tank/anesthetic,
+/obj/item/clothing/mask/breath/medical,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whitehall"
@@ -88983,14 +88696,6 @@
/area/hallway/secondary/exit{
name = "\improper Departure Lounge"
})
-"cTj" = (
-/obj/machinery/door/airlock/external{
- name = "Auxiliary Escape Airlock"
- },
-/turf/simulated/floor/plating,
-/area/maintenance/aft{
- name = "Aft Maintenance"
- })
"cTk" = (
/obj/structure/sign/biohazard,
/turf/simulated/wall,
@@ -89096,16 +88801,12 @@
name = "\improper Departure Lounge"
})
"cTu" = (
-/obj/machinery/power/solar_control{
- id = "aftstarboard";
- name = "Aft Starboard Solar Control";
- track = 0
- },
/obj/structure/cable{
- icon_state = "0-4";
- d2 = 4
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
},
-/obj/structure/cable,
+/obj/structure/chair/stool,
/turf/simulated/floor/plating,
/area/maintenance/starboardsolar)
"cTv" = (
@@ -89294,14 +88995,10 @@
},
/area/chapel/main)
"cTN" = (
-/obj/machinery/power/apc{
- cell_type = 5000;
- dir = 2;
- name = "Aft Maintenance APC";
- pixel_y = -24
+/obj/machinery/atmospherics/unary/portables_connector{
+ dir = 8
},
-/obj/structure/cable/yellow,
-/obj/effect/decal/warning_stripes/south,
+/obj/machinery/portable_atmospherics/canister/air,
/turf/simulated/floor/plating,
/area/maintenance/aft{
name = "Aft Maintenance"
@@ -89486,7 +89183,6 @@
name = "Aft Maintenance"
})
"cUd" = (
-/obj/structure/chair/stool,
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -90002,13 +89698,8 @@
},
/area/chapel/office)
"cUQ" = (
-/obj/structure/sign/securearea{
- desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
- icon_state = "space";
- layer = 4;
- name = "EXTERNAL AIRLOCK";
- pixel_x = 32
- },
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/atmospherics/unary/portables_connector,
/turf/simulated/floor/plating,
/area/maintenance/starboardsolar)
"cUR" = (
@@ -90306,12 +89997,6 @@
name = "Aft Maintenance"
})
"cVr" = (
-/obj/structure/cable{
- d1 = 2;
- d2 = 8;
- icon_state = "2-8"
- },
-/obj/effect/decal/warning_stripes/south,
/turf/simulated/floor/plating,
/area/maintenance/starboardsolar)
"cVs" = (
@@ -90651,15 +90336,6 @@
icon_state = "chapel"
},
/area/chapel/main)
-"cVY" = (
-/obj/structure/sign/vacuum{
- pixel_x = 32
- },
-/obj/effect/decal/warning_stripes/south,
-/turf/simulated/floor/plating,
-/area/maintenance/aft{
- name = "Aft Maintenance"
- })
"cVZ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
@@ -90973,15 +90649,6 @@
/area/hallway/secondary/exit{
name = "\improper Departure Lounge"
})
-"cWC" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 4;
- icon_state = "1-4"
- },
-/obj/effect/decal/warning_stripes/south,
-/turf/simulated/floor/plating,
-/area/maintenance/starboardsolar)
"cWD" = (
/obj/structure/chair{
dir = 8
@@ -91096,14 +90763,9 @@
})
"cWK" = (
/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
-/obj/machinery/door/airlock/external{
- name = "Solar Maintenance";
- req_access = null;
- req_access_txt = "10; 13"
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
},
/turf/simulated/floor/plating,
/area/maintenance/starboardsolar)
@@ -91620,19 +91282,6 @@
/area/hallway/secondary/exit{
name = "\improper Departure Lounge"
})
-"cXC" = (
-/obj/machinery/door/airlock/external{
- name = "Solar Maintenance";
- req_access = null;
- req_access_txt = "10; 13"
- },
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/turf/simulated/floor/plating,
-/area/maintenance/starboardsolar)
"cXD" = (
/obj/structure/chair,
/obj/effect/landmark/start{
@@ -91664,25 +91313,6 @@
icon_state = "dark"
},
/area/chapel/main)
-"cXG" = (
-/obj/structure/cable/yellow{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/cable/yellow{
- d1 = 2;
- d2 = 4;
- icon_state = "2-4"
- },
-/obj/effect/decal/warning_stripes/north,
-/turf/simulated/floor/plating,
-/area/maintenance/aft{
- name = "Aft Maintenance"
- })
"cXH" = (
/obj/structure/cable/yellow{
d1 = 1;
@@ -91750,13 +91380,9 @@
name = "\improper Departure Lounge"
})
"cXN" = (
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/structure/lattice/catwalk,
-/turf/space,
+/obj/effect/spawner/window/reinforced,
+/obj/effect/spawner/airlock/w_to_e,
+/turf/simulated/floor/plating,
/area/solar/starboard)
"cXO" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -92016,12 +91642,12 @@
},
/area/chapel/main)
"cYi" = (
-/obj/structure/cable{
- d1 = 2;
- d2 = 8;
- icon_state = "2-8"
- },
/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
/turf/space,
/area/solar/starboard)
"cYj" = (
@@ -97506,12 +97132,401 @@
},
/turf/simulated/floor/plating,
/area/maintenance/fore)
+"djL" = (
+/obj/machinery/atmospherics/unary/portables_connector,
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/simulated/floor/plating,
+/area/security/permabrig)
+"dAH" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 5
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/starboard)
+"dMV" = (
+/obj/machinery/atmospherics/pipe/manifold/visible/cyan{
+ dir = 8;
+ initialize_directions = 11
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "dark"
+ },
+/area/atmos)
+"elK" = (
+/obj/effect/spawner/airlock/w_to_e,
+/turf/simulated/wall/r_wall,
+/area/security/permabrig)
+"eSt" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/spawner/airlock/e_to_w/long/square,
+/turf/space,
+/area/space/nearstation)
+"fmg" = (
+/obj/effect/spawner/window/reinforced,
+/obj/effect/spawner/airlock,
+/turf/simulated/floor/plating,
+/area/maintenance/portsolar)
+"fnC" = (
+/turf/space,
+/area/space/nearstation)
+"frX" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plating,
+/area/maintenance/fpmaint2{
+ name = "Port Maintenance"
+ })
+"fBB" = (
+/obj/structure/lattice,
+/turf/space,
+/area/space)
+"gRw" = (
+/obj/effect/spawner/window/reinforced,
+/obj/effect/spawner/airlock/s_to_n,
+/turf/simulated/floor/plating,
+/area/maintenance/auxsolarstarboard)
+"hLL" = (
+/obj/structure/lattice,
+/turf/simulated/wall,
+/area/space/nearstation)
+"iDw" = (
+/obj/machinery/atmospherics/unary/portables_connector,
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/simulated/floor/plating,
+/area/maintenance/aft{
+ name = "Aft Maintenance"
+ })
+"iTR" = (
+/obj/effect/decal/warning_stripes/south,
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 6;
+ level = 2
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/aft{
+ name = "Aft Maintenance"
+ })
+"jap" = (
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plating,
+/area/maintenance/fpmaint2{
+ name = "Port Maintenance"
+ })
+"kBq" = (
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/space,
+/area/space/nearstation)
+"kSC" = (
+/obj/machinery/atmospherics/unary/portables_connector{
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/simulated/floor/plasteel,
+/area/construction)
+"kWU" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 6;
+ level = 2
+ },
+/turf/simulated/floor/plating,
+/area/engine/engineering)
+"lcL" = (
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/atmospherics/unary/portables_connector{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/aft{
+ name = "Aft Maintenance"
+ })
+"lCt" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 10
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "dark"
+ },
+/area/construction/hallway{
+ name = "\improper MiniSat Exterior"
+ })
+"nbO" = (
+/obj/effect/spawner/airlock/s_to_n,
+/turf/simulated/wall,
+/area/construction)
+"nig" = (
+/obj/effect/decal/warning_stripes/south,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/simulated/floor/plasteel,
+/area/quartermaster/storage)
+"onG" = (
+/obj/effect/spawner/window/reinforced,
+/obj/effect/spawner/airlock/s_to_n,
+/turf/simulated/floor/plating,
+/area/maintenance/auxsolarport)
+"oAG" = (
+/obj/effect/spawner/airlock/w_to_e,
+/turf/simulated/wall,
+/area/engine/engineering)
+"pep" = (
+/obj/effect/spawner/airlock/s_to_n,
+/turf/simulated/wall,
+/area/maintenance/starboard)
+"pMx" = (
+/obj/effect/spawner/airlock/w_to_e,
+/turf/simulated/wall,
+/area/maintenance/aft{
+ name = "Aft Maintenance"
+ })
+"pQx" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/effect/decal/warning_stripes/east,
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/aft{
+ name = "Aft Maintenance"
+ })
+"pVq" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plasteel,
+/area/quartermaster/storage)
+"qaM" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plasteel,
+/area/quartermaster/storage)
+"qbl" = (
+/obj/effect/spawner/airlock,
+/turf/simulated/wall,
+/area/maintenance/aft{
+ name = "Aft Maintenance"
+ })
+"qcE" = (
+/obj/machinery/atmospherics/pipe/simple/visible,
+/turf/simulated/floor/plating,
+/area/construction)
+"qhx" = (
+/obj/effect/spawner/airlock/w_to_e,
+/turf/simulated/wall/r_wall,
+/area/atmos)
+"qFg" = (
+/obj/machinery/space_heater,
+/obj/machinery/power/apc{
+ cell_type = 5000;
+ dir = 2;
+ name = "Aft Maintenance APC";
+ pixel_y = -24
+ },
+/obj/structure/cable/yellow,
+/turf/simulated/floor/plating,
+/area/maintenance/aft{
+ name = "Aft Maintenance"
+ })
+"rpg" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/space,
+/area/solar/starboard)
+"rzO" = (
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/atmospherics/unary/portables_connector{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/engine/engineering)
+"rIq" = (
+/obj/structure/table,
+/obj/item/clothing/mask/breath{
+ pixel_x = 4
+ },
+/obj/item/tank/emergency_oxygen{
+ pixel_x = -8
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/starboard)
+"rOZ" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/space,
+/area/solar/starboard)
+"sjF" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/window/reinforced,
+/obj/machinery/atmospherics/unary/portables_connector{
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/simulated/floor/plasteel{
+ icon_state = "dark"
+ },
+/area/space/nearstation)
+"sJe" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 9
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "dark"
+ },
+/area/construction/hallway{
+ name = "\improper MiniSat Exterior"
+ })
+"sJs" = (
+/obj/effect/spawner/window/reinforced,
+/turf/space,
+/area/engine/engineering)
+"sRB" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 10
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/aft{
+ name = "Aft Maintenance"
+ })
+"tlh" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 9
+ },
+/turf/simulated/floor/plasteel,
+/area/construction)
+"twD" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/fpmaint2{
+ name = "Port Maintenance"
+ })
+"tWl" = (
+/obj/effect/spawner/window/reinforced,
+/obj/effect/spawner/airlock/e_to_w,
+/turf/simulated/floor/plating,
+/area/maintenance/aft{
+ name = "Aft Maintenance"
+ })
"tXL" = (
/obj/structure/chair/comfy/shuttle{
dir = 8
},
/turf/simulated/shuttle/floor4/vox,
/area/shuttle/vox)
+"uJn" = (
+/obj/effect/spawner/airlock/w_to_e,
+/turf/simulated/wall/r_wall,
+/area/maintenance/starboard)
+"uKm" = (
+/obj/effect/spawner/airlock/e_to_w,
+/turf/simulated/wall,
+/area/maintenance/fpmaint2{
+ name = "Port Maintenance"
+ })
+"vtP" = (
+/obj/machinery/conveyor/west{
+ id = "garbage"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plating,
+/area/maintenance/disposal)
+"vZo" = (
+/turf/simulated/floor/plating,
+/area/space/nearstation)
+"wvK" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4";
+ tag = "90Curve"
+ },
+/obj/machinery/power/solar_control{
+ id = "aftstarboard";
+ name = "Aft Starboard Solar Control";
+ track = 0
+ },
+/obj/structure/cable,
+/turf/simulated/floor/plating,
+/area/maintenance/starboardsolar)
+"wJQ" = (
+/obj/effect/decal/warning_stripes/north,
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 5
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/starboard)
+"xrG" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 5
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/starboardsolar)
+"xuA" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/fpmaint2{
+ name = "Port Maintenance"
+ })
+"xZq" = (
+/obj/effect/spawner/window/reinforced,
+/turf/simulated/floor/plating,
+/area/solar/starboard)
(1,1,1) = {"
aaa
@@ -107891,9 +107906,9 @@ arA
arA
aHk
aHk
+nbO
aHk
-aHk
-aML
+kSC
aOk
aPA
aLB
@@ -108146,11 +108161,11 @@ arA
arA
abq
arA
-aHl
-aJK
-aHl
aLB
-aML
+aLB
+aLB
+qcE
+tlh
aLB
aLB
aLB
@@ -109939,8 +109954,8 @@ aaa
aaa
abq
apf
-azJ
-apf
+apd
+uKm
abq
aaa
abq
@@ -110196,7 +110211,7 @@ aaa
abq
abq
apf
-aAW
+apd
apf
abq
abq
@@ -110453,7 +110468,7 @@ aaa
abq
apf
apf
-azJ
+apd
apf
aAA
alL
@@ -111023,7 +111038,7 @@ cdj
cdC
bTY
bTY
-bTY
+fmg
aaa
aaa
abq
@@ -112309,9 +112324,9 @@ apd
apf
aaa
aaa
-aaa
-aef
-aaa
+cmi
+chy
+tWl
bZU
bZU
cmi
@@ -112566,9 +112581,9 @@ cdG
apf
aaa
aaa
-bZU
-ckt
-bZU
+cmi
+chy
+cmi
bZU
cpu
cqY
@@ -112823,9 +112838,9 @@ apf
apf
aaa
aaa
-bZU
-cjT
-cnS
+cmi
+chy
+cmi
bZU
cpv
cqZ
@@ -113080,9 +113095,9 @@ cdH
bZU
bZU
bZU
-bZU
-clJ
-bZU
+cmi
+sRB
+lcL
bZU
cpw
cra
@@ -114075,11 +114090,11 @@ aZt
aZt
aZt
bfo
-bfw
+bhc
biD
bku
bmf
-bhc
+bfw
btL
brF
btt
@@ -114815,11 +114830,11 @@ amm
amn
any
aoT
-aqq
+vtP
arF
atc
aux
-atk
+xuA
axn
ayB
apf
@@ -114845,7 +114860,7 @@ aSm
aSm
bdm
bdZ
-bgC
+nig
bkE
biG
bpp
@@ -115070,16 +115085,16 @@ aaa
akI
aoY
alr
-anx
+any
apc
aqq
arE
aug
aoX
-apd
-axo
-apd
-apd
+twD
+frX
+jap
+jap
azO
aCt
aDx
@@ -115090,18 +115105,18 @@ aIQ
aKe
azT
aMS
-aOr
+pVq
aPJ
-aRo
+aOu
aSz
-aRo
-aRo
-aRo
+aOu
+aOu
+aOu
aPJ
-aRo
-aRo
+aOu
+aOu
bcs
-bdZ
+qaM
bgV
aXi
biF
@@ -116093,7 +116108,7 @@ aaa
abq
agX
agX
-agX
+onG
ajC
akv
ajE
@@ -116349,8 +116364,8 @@ aiR
abA
abA
ajN
-akP
-alQ
+ajN
+ajN
anK
akw
alv
@@ -116358,12 +116373,12 @@ amr
anD
ato
axp
-aqv
+bFu
ate
aGj
-aHw
-aHw
-ayE
+cJU
+cJU
+bgY
azK
aAX
aCu
@@ -122246,7 +122261,7 @@ acw
acH
acH
adg
-adv
+djL
adW
abB
aeU
@@ -122504,8 +122519,8 @@ acJ
acN
acN
acN
-adZ
-abB
+adv
+elK
adI
afz
aga
@@ -123018,7 +123033,7 @@ abq
abq
abq
acN
-adZ
+adv
abB
abB
acs
@@ -126737,7 +126752,7 @@ cXx
bZU
bZU
bZU
-bZU
+qbl
bZU
abq
abq
@@ -126991,10 +127006,10 @@ cOW
cPV
cIx
cmY
-cEB
-cTj
-cVY
-cTj
+iTR
+chy
+chy
+chy
aef
aef
abq
@@ -127247,7 +127262,7 @@ cQD
cLr
cLr
cQP
-cXG
+cXx
cTN
bZU
bZU
@@ -127504,8 +127519,8 @@ cOV
cPo
cQO
crU
-cQi
-cfZ
+pQx
+qFg
bZU
abq
abq
@@ -132647,9 +132662,9 @@ cQW
cRQ
cUd
cTu
+wvK
cOy
-cOy
-cOy
+aaa
aaa
aaa
aaa
@@ -132905,7 +132920,6 @@ cTp
cUf
cVr
cWK
-cWC
cOy
aaa
aaa
@@ -132936,6 +132950,7 @@ aaa
aaa
aaa
aaa
+aaa
aaD
aaa
aaa
@@ -133161,9 +133176,9 @@ cSQ
cRS
cSy
cUQ
+xrG
cOy
-cXC
-cOy
+aaa
aaa
aaa
aaa
@@ -133412,13 +133427,13 @@ abq
abq
bZU
bZU
-clJ
-bZU
-cQW
-cQW
+bgZ
+pMx
cQW
cQW
cQW
+cOy
+cWK
cXN
abq
abq
@@ -133669,14 +133684,14 @@ abq
aaa
abq
bZU
-cQr
+bgZ
bZU
aaa
abq
aaa
-aaa
-aaa
-cXN
+cOy
+cWK
+xZq
aaa
abq
abq
@@ -133926,14 +133941,14 @@ abq
aaa
abq
bZU
-clJ
+bgZ
bZU
aaa
abq
abq
-abq
-abq
-cXN
+cOy
+cWK
+xZq
abq
abq
aaa
@@ -134169,8 +134184,8 @@ cxf
bZU
cAe
cEb
-chy
bZU
+iDw
cDM
bZU
cFJ
@@ -134189,8 +134204,8 @@ aaa
abq
aaa
aaa
+rOZ
aaa
-cXN
aaa
abq
aaa
@@ -134426,10 +134441,10 @@ cyT
cPT
cfY
cvW
-cCe
bZU
-cFp
bZU
+cFe
+pMx
cFM
cBN
cBN
@@ -134446,8 +134461,8 @@ aaa
abq
aaa
aaa
-abq
-cXN
+rOZ
+aaa
aaa
abq
aaa
@@ -134685,7 +134700,7 @@ bZU
cmi
bZU
bZU
-cDM
+chy
bZU
abq
abq
@@ -134703,8 +134718,8 @@ abq
abq
aaa
aaa
-abq
-cXN
+rOZ
+aaa
abq
abq
abq
@@ -134941,9 +134956,9 @@ bZU
aaa
abq
aaa
-abq
-aef
-abq
+hLL
+vZo
+hLL
abq
aaa
abq
@@ -134960,8 +134975,8 @@ abq
abq
aaa
aaa
+rOZ
aaa
-cXN
abq
aaa
aaa
@@ -135217,8 +135232,8 @@ aaa
abq
aaa
aaa
+rOZ
aaa
-cXN
aaa
aaa
aaa
@@ -135474,7 +135489,7 @@ aaa
abq
aaa
aaa
-abq
+rpg
cYi
cYA
cYA
@@ -137688,7 +137703,7 @@ aeN
aeN
aoG
aoG
-aoG
+pep
aoG
aoG
aoG
@@ -137941,12 +137956,12 @@ abq
aaa
aaa
aaa
-aaa
-abq
-ape
-apP
-aqe
-aqt
+aef
+aef
+asJ
+ayx
+asJ
+wJQ
asJ
avA
avz
@@ -138201,7 +138216,7 @@ abq
abq
abq
aoG
-aqe
+ape
aoG
atU
asJ
@@ -138458,7 +138473,7 @@ abq
aaa
abq
aaa
-aef
+aaa
aoG
aou
asJ
@@ -138715,9 +138730,9 @@ abq
abq
abq
abq
-aef
+abq
ape
-asJ
+rIq
asJ
asJ
asJ
@@ -141543,7 +141558,7 @@ abq
ano
apg
apg
-apg
+gRw
asU
auj
arT
@@ -141799,7 +141814,7 @@ aee
aee
auv
arC
-asL
+arC
arC
atV
auk
@@ -141863,7 +141878,7 @@ bSU
ceK
bRi
bRi
-bRi
+dMV
ckn
bCM
abq
@@ -142120,8 +142135,8 @@ bIt
bCM
bCM
bCM
-ciY
-bCM
+cja
+qhx
bCM
abq
aaa
@@ -142576,7 +142591,7 @@ awM
asJ
asJ
aoG
-azv
+cbX
asJ
arr
axh
@@ -142634,7 +142649,7 @@ bMk
bGL
abq
bCM
-ciY
+cja
bCM
abq
aaa
@@ -142858,9 +142873,9 @@ aDi
aDf
aCg
aCg
-aOd
-aDL
-aaa
+kWU
+rzO
+sJs
aaa
aaa
aaa
@@ -143091,7 +143106,7 @@ bnG
aWG
axh
azf
-asJ
+dAH
axh
aCD
aFk
@@ -143117,7 +143132,7 @@ bdG
aCg
bjT
aFR
-aaa
+aFR
aaa
aaa
aaa
@@ -143348,8 +143363,8 @@ blA
avN
aoG
aoG
-axg
-axh
+asJ
+uJn
aDf
aWz
aEG
@@ -143372,9 +143387,9 @@ aDi
aDi
aDf
aCg
-bgL
-aFR
-aFR
+aOd
+oAG
+aaa
aaa
aaa
aaa
@@ -143605,7 +143620,7 @@ awD
avN
bpl
aoG
-aAO
+asJ
axh
aDl
aDj
@@ -143629,11 +143644,11 @@ baG
bbU
bhA
aCg
-bjT
-aTR
-bgL
-aef
-aef
+aOd
+aFR
+aaa
+fnC
+fnC
abq
abq
aaa
@@ -143862,7 +143877,7 @@ blB
bnH
aaa
aoG
-axg
+asJ
axh
aDf
aDi
@@ -143886,12 +143901,12 @@ aDi
aDi
aDf
aCg
-bgL
-aFR
+aOd
aFR
aaa
aaa
aaa
+aaa
abq
aaa
bwY
@@ -144147,8 +144162,8 @@ aef
abq
abq
abq
-aaa
-aaa
+fBB
+fBB
abq
aaa
bwY
@@ -148772,9 +148787,9 @@ abq
aaa
aaa
aUU
-bnR
-bnR
-bsd
+blE
+blE
+eSt
bsS
buO
bxq
@@ -149543,10 +149558,10 @@ abd
abd
aaa
aXN
-bnS
-brg
-bse
-aXN
+blE
+blE
+sjF
+kBq
buP
bxs
bBc
@@ -149800,9 +149815,9 @@ aXH
aXH
bgM
bmH
-bnU
brh
-bsf
+lCt
+sJe
bsf
buS
bxv
diff --git a/_maps/map_files/MetaStation/z2.dmm b/_maps/map_files/MetaStation/z2.dmm
index f27926e04f9..e2ed24880f1 100644
--- a/_maps/map_files/MetaStation/z2.dmm
+++ b/_maps/map_files/MetaStation/z2.dmm
@@ -10,6 +10,15 @@
dir = 8
},
/area/space)
+"ad" = (
+/obj/structure/flora/ausbushes/brflowers,
+/turf/simulated/floor/holofloor/grass,
+/turf/simulated/floor/holofloor{
+ tag = "icon-wood_siding2 (EAST)";
+ icon_state = "wood_siding2";
+ dir = 4
+ },
+/area/holodeck/source_picnicarea)
"ae" = (
/turf/unsimulated/wall{
tag = "icon-iron6";
@@ -245,12 +254,12 @@
/turf/simulated/floor/holofloor/grass,
/area/holodeck/source_picnicarea)
"aM" = (
-/obj/structure/flora/ausbushes/brflowers,
+/obj/structure/flora/ausbushes/grassybush,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
- tag = "icon-wood_siding2 (EAST)";
- icon_state = "wood_siding2";
- dir = 4
+ tag = "icon-wood_siding5";
+ icon_state = "wood_siding5";
+ dir = 2
},
/area/holodeck/source_picnicarea)
"aN" = (
@@ -315,8 +324,8 @@
/obj/structure/flora/ausbushes/grassybush,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
- tag = "icon-wood_siding5";
- icon_state = "wood_siding5";
+ tag = "icon-wood_siding9";
+ icon_state = "wood_siding9";
dir = 2
},
/area/holodeck/source_picnicarea)
@@ -336,8 +345,8 @@
/obj/structure/flora/ausbushes/grassybush,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
- tag = "icon-wood_siding9";
- icon_state = "wood_siding9";
+ tag = "icon-wood_siding6";
+ icon_state = "wood_siding6";
dir = 2
},
/area/holodeck/source_picnicarea)
@@ -388,17 +397,17 @@
/obj/structure/flora/ausbushes/grassybush,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
- tag = "icon-wood_siding6";
- icon_state = "wood_siding6";
+ tag = "icon-wood_siding10";
+ icon_state = "wood_siding10";
dir = 2
},
/area/holodeck/source_picnicarea)
"bg" = (
-/obj/structure/flora/ausbushes/grassybush,
+/obj/structure/flora/ausbushes/brflowers,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
- tag = "icon-wood_siding10";
- icon_state = "wood_siding10";
+ tag = "icon-wood_siding1";
+ icon_state = "wood_siding1";
dir = 2
},
/area/holodeck/source_picnicarea)
@@ -458,14 +467,16 @@
},
/area/holodeck/source_picnicarea)
"bp" = (
-/obj/structure/flora/ausbushes/brflowers,
-/turf/simulated/floor/holofloor/grass,
-/turf/simulated/floor/holofloor{
- tag = "icon-wood_siding1";
- icon_state = "wood_siding1";
- dir = 2
+/obj/structure/flora/tree/pine{
+ pixel_x = 1
},
-/area/holodeck/source_picnicarea)
+/turf/unsimulated/floor/snow,
+/turf/unsimulated/floor/snow{
+ tag = "icon-gravsnow_corner (WEST)";
+ icon_state = "gravsnow_corner";
+ dir = 8
+ },
+/area/syndicate_mothership)
"bq" = (
/turf/simulated/floor/holofloor{
tag = "icon-carpet3-0 (EAST)";
@@ -864,14 +875,14 @@
},
/area/holodeck/source_meetinghall)
"cq" = (
-/obj/structure/flora/tree/pine{
- pixel_x = 1
+/obj/effect/light_emitter{
+ light_power = 1
},
-/turf/unsimulated/floor/snow,
-/turf/unsimulated/floor/snow{
- icon_state = "gravsnow_corner"
+/turf/unsimulated/floor{
+ tag = "icon-cult";
+ icon_state = "cult"
},
-/area/syndicate_mothership)
+/area/wizard_station)
"cr" = (
/obj/structure/chair/stool,
/turf/simulated/floor/holofloor{
@@ -1771,6 +1782,15 @@
/obj/structure/grille,
/turf/simulated/shuttle/plating,
/area/centcom/evac)
+"eP" = (
+/obj/structure/flora/grass/brown,
+/turf/unsimulated/floor/snow,
+/turf/unsimulated/floor/snow{
+ tag = "icon-gravsnow_corner (SOUTHWEST)";
+ icon_state = "gravsnow_corner";
+ dir = 10
+ },
+/area/syndicate_mothership)
"eQ" = (
/obj/structure/closet/secure_closet/cargotech,
/turf/unsimulated/floor{
@@ -3614,9 +3634,7 @@
},
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
- tag = "icon-gravsnow_corner (WEST)";
- icon_state = "gravsnow_corner";
- dir = 8
+ icon_state = "gravsnow_corner"
},
/area/syndicate_mothership)
"ka" = (
@@ -3747,10 +3765,12 @@
/turf/simulated/shuttle/plating,
/area/wizard_station)
"kr" = (
-/obj/structure/flora/tree/pine,
+/obj/structure/flora/grass/brown,
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
- icon_state = "gravsnow_corner"
+ tag = "icon-gravsnow_corner (EAST)";
+ icon_state = "gravsnow_corner";
+ dir = 4
},
/area/syndicate_mothership)
"ks" = (
@@ -3762,12 +3782,18 @@
/turf/simulated/shuttle/plating,
/area/wizard_station)
"kt" = (
-/obj/structure/flora/grass/brown,
-/turf/unsimulated/floor/snow,
-/turf/unsimulated/floor/snow{
- icon_state = "gravsnow_corner"
+/obj/structure/cult/talisman{
+ desc = "A altar dedicated to the Wizard's Federation"
},
-/area/syndicate_mothership)
+/obj/item/kitchen/knife/ritual,
+/obj/effect/light_emitter{
+ light_power = 1
+ },
+/turf/unsimulated/floor{
+ tag = "icon-cult";
+ icon_state = "cult"
+ },
+/area/wizard_station)
"ku" = (
/obj/effect/forcefield,
/turf/unsimulated/floor{
@@ -3951,14 +3977,15 @@
/turf/unsimulated/wall,
/area/tdome/tdomeobserve)
"kW" = (
-/obj/structure/flora/grass/brown,
-/turf/unsimulated/floor/snow,
-/turf/unsimulated/floor/snow{
- tag = "icon-gravsnow_corner (SOUTHWEST)";
- icon_state = "gravsnow_corner";
- dir = 10
+/obj/effect/decal/cleanable/blood/splatter,
+/obj/effect/decal/remains/human,
+/obj/effect/light_emitter{
+ light_power = 1
},
-/area/syndicate_mothership)
+/turf/unsimulated/floor{
+ icon_state = "floor"
+ },
+/area/wizard_station)
"kX" = (
/turf/unsimulated/wall{
tag = "icon-uranium8";
@@ -4165,7 +4192,6 @@
/area/wizard_station)
"lC" = (
/obj/structure/rack,
-/obj/item/clothing/head/helmet/space/hardsuit/wizard,
/turf/unsimulated/floor{
tag = "icon-cult";
icon_state = "cult"
@@ -4497,14 +4523,14 @@
/turf/unsimulated/floor/abductor,
/area/abductor_ship)
"mB" = (
-/obj/structure/flora/grass/brown,
-/turf/unsimulated/floor/snow,
-/turf/unsimulated/floor/snow{
- tag = "icon-gravsnow_corner (EAST)";
- icon_state = "gravsnow_corner";
- dir = 4
+/obj/machinery/porta_turret/syndicate/pod,
+/turf/simulated/floor/pod,
+/turf/space,
+/turf/simulated/shuttle/wall{
+ dir = 8;
+ icon_state = "diagonalWall3"
},
-/area/syndicate_mothership)
+/area/shuttle/assault_pod)
"mC" = (
/obj/structure/noticeboard{
pixel_x = -32
@@ -4583,15 +4609,14 @@
},
/area/wizard_station)
"mL" = (
-/obj/structure/cult/talisman{
- desc = "A altar dedicated to the Wizard's Federation"
+/obj/machinery/porta_turret/syndicate/pod,
+/turf/simulated/floor/pod,
+/turf/space,
+/turf/simulated/shuttle/wall{
+ dir = 1;
+ icon_state = "diagonalWall3"
},
-/obj/item/kitchen/knife/ritual,
-/turf/unsimulated/floor{
- tag = "icon-cult";
- icon_state = "cult"
- },
-/area/wizard_station)
+/area/shuttle/assault_pod)
"mM" = (
/obj/item/clothing/shoes/sandal/marisa,
/obj/item/clothing/suit/wizrobe/marisa,
@@ -4791,14 +4816,14 @@
},
/area/syndicate_mothership)
"nh" = (
-/obj/machinery/porta_turret/syndicate/pod,
-/turf/simulated/floor/pod,
-/turf/space,
-/turf/simulated/shuttle/wall{
- dir = 8;
- icon_state = "diagonalWall3"
+/obj/structure/flora/grass/brown,
+/turf/unsimulated/floor/snow,
+/turf/unsimulated/floor/snow{
+ tag = "icon-gravsnow_corner (WEST)";
+ icon_state = "gravsnow_corner";
+ dir = 8
},
-/area/shuttle/assault_pod)
+/area/syndicate_mothership)
"ni" = (
/obj/machinery/door/airlock/centcom{
aiControlDisabled = 1;
@@ -4813,8 +4838,9 @@
/turf/simulated/floor/pod,
/turf/space,
/turf/simulated/shuttle/wall{
- dir = 1;
- icon_state = "diagonalWall3"
+ tag = "icon-diagonalWall3";
+ icon_state = "diagonalWall3";
+ dir = 2
},
/area/shuttle/assault_pod)
"nk" = (
@@ -5089,14 +5115,14 @@
/turf/unsimulated/floor/snow,
/area/syndicate_mothership)
"nP" = (
-/obj/structure/flora/grass/brown,
-/turf/unsimulated/floor/snow,
-/turf/unsimulated/floor/snow{
- tag = "icon-gravsnow_corner (WEST)";
- icon_state = "gravsnow_corner";
- dir = 8
+/obj/machinery/porta_turret/syndicate/pod,
+/turf/simulated/floor/pod,
+/turf/space,
+/turf/simulated/shuttle/wall{
+ dir = 4;
+ icon_state = "diagonalWall3"
},
-/area/syndicate_mothership)
+/area/shuttle/assault_pod)
"nQ" = (
/obj/item/radio/intercom/syndicate{
pixel_x = -28
@@ -5191,24 +5217,25 @@
},
/area/syndicate_mothership)
"oa" = (
-/obj/machinery/porta_turret/syndicate/pod,
-/turf/simulated/floor/pod,
-/turf/space,
-/turf/simulated/shuttle/wall{
- tag = "icon-diagonalWall3";
- icon_state = "diagonalWall3";
+/obj/structure/flora/bush,
+/turf/unsimulated/floor/snow,
+/turf/unsimulated/floor/snow{
+ tag = "icon-gravsnow_corner (NORTH)";
+ icon_state = "gravsnow_corner";
+ dir = 1
+ },
+/area/syndicate_mothership)
+"ob" = (
+/obj/structure/bed,
+/obj/item/bedsheet/wiz,
+/obj/effect/light_emitter{
+ light_power = 1
+ },
+/turf/unsimulated/floor{
+ icon_state = "carpet";
dir = 2
},
-/area/shuttle/assault_pod)
-"ob" = (
-/obj/machinery/porta_turret/syndicate/pod,
-/turf/simulated/floor/pod,
-/turf/space,
-/turf/simulated/shuttle/wall{
- dir = 4;
- icon_state = "diagonalWall3"
- },
-/area/shuttle/assault_pod)
+/area/wizard_station)
"oc" = (
/turf/unsimulated/floor{
icon_state = "redbluefull";
@@ -5329,12 +5356,10 @@
},
/area/syndicate_mothership)
"os" = (
-/obj/structure/flora/bush,
+/obj/structure/flora/tree/pine,
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
- tag = "icon-gravsnow_corner (NORTH)";
- icon_state = "gravsnow_corner";
- dir = 1
+ icon_state = "gravsnow_corner"
},
/area/syndicate_mothership)
"ot" = (
@@ -5354,13 +5379,12 @@
},
/area/syndicate_mothership)
"ov" = (
-/obj/structure/bed,
-/obj/item/bedsheet/wiz,
-/turf/unsimulated/floor{
- icon_state = "carpet";
- dir = 2
+/obj/structure/flora/grass/brown,
+/turf/unsimulated/floor/snow,
+/turf/unsimulated/floor/snow{
+ icon_state = "gravsnow_corner"
},
-/area/wizard_station)
+/area/syndicate_mothership)
"ow" = (
/turf/unsimulated/floor{
dir = 8;
@@ -5878,13 +5902,6 @@
/obj/effect/decal/cleanable/blood/gibs/body,
/turf/simulated/floor/plating/airless,
/area/wizard_station)
-"ru" = (
-/obj/effect/decal/cleanable/blood/splatter,
-/obj/effect/decal/remains/human,
-/turf/unsimulated/floor{
- icon_state = "floor"
- },
-/area/wizard_station)
"rv" = (
/obj/effect/decal/cleanable/blood/splatter,
/obj/effect/decal/cleanable/blood/gibs/body,
@@ -6285,6 +6302,13 @@
icon_state = "floor4"
},
/area/shuttle/assault_pod)
+"Gs" = (
+/obj/effect/light_emitter,
+/turf/unsimulated/floor{
+ tag = "icon-cultdamage3";
+ icon_state = "cultdamage3"
+ },
+/area/wizard_station)
"Gw" = (
/obj/structure/chair/sofa/left,
/turf/simulated/shuttle/floor{
@@ -11411,7 +11435,7 @@ ko
kZ
jv
jv
-jv
+cq
jv
jv
nu
@@ -13199,18 +13223,18 @@ aa
aa
je
js
-jC
+Gs
jF
ka
kf
km
-jv
+cq
jv
jC
ln
jv
jv
-mL
+kt
mX
jC
nw
@@ -13219,11 +13243,11 @@ nN
jT
oe
ol
-ov
+ob
oF
kb
oQ
-jv
+cq
jv
oZ
pc
@@ -15009,7 +15033,7 @@ aa
aa
ko
kz
-ru
+kW
mw
np
mH
@@ -21948,7 +21972,7 @@ ab
ab
ab
ab
-kW
+eP
nc
nq
oD
@@ -22458,7 +22482,7 @@ jx
jY
kx
at
-jZ
+bp
jn
jn
am
@@ -22981,7 +23005,7 @@ jY
oq
jY
am
-nP
+nh
jn
jI
ab
@@ -23233,7 +23257,7 @@ am
am
au
am
-cq
+jZ
jY
oq
jY
@@ -23489,7 +23513,7 @@ am
at
jo
jo
-mB
+kr
jJ
jX
oq
@@ -24528,7 +24552,7 @@ nV
iS
kx
am
-kr
+os
iS
iS
iS
@@ -24783,9 +24807,9 @@ nH
nS
nY
iS
-os
+oa
am
-kt
+ov
iS
ab
ab
@@ -25536,13 +25560,13 @@ am
am
am
am
-jZ
+bp
jn
jn
jn
-jZ
+bp
jn
-kW
+eP
iS
lR
jx
@@ -26056,7 +26080,7 @@ am
av
at
am
-cq
+jZ
iS
iS
mF
@@ -26570,7 +26594,7 @@ am
at
am
am
-cq
+jZ
iS
lZ
mG
@@ -27861,11 +27885,11 @@ ab
iS
gC
hi
-nh
+mB
hj
ni
hj
-oa
+nj
hU
hV
iS
@@ -28117,13 +28141,13 @@ ab
ab
iS
gE
-nh
+mB
hj
FV
hy
FV
hj
-oa
+nj
ig
iS
ab
@@ -29145,13 +29169,13 @@ ab
ab
iS
gE
-nj
+mL
hj
FW
hy
hy
hj
-ob
+nP
ig
iS
ab
@@ -29403,11 +29427,11 @@ ab
iS
gK
hm
-nj
+mL
hj
ni
hj
-ob
+nP
id
ie
iS
@@ -62636,12 +62660,12 @@ ab
af
aK
bb
+ad
+aP
aM
+aX
aP
-aU
-bf
-aP
-bp
+bg
bb
aK
bF
@@ -63150,12 +63174,12 @@ ab
af
aK
bb
-aM
+ad
aP
aW
aW
aP
-bp
+bg
bb
aK
bF
@@ -63664,12 +63688,12 @@ ab
af
aK
bb
-aM
+ad
+aP
+aU
+bf
aP
-aX
bg
-aP
-bp
bb
aK
bF
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm
new file mode 100644
index 00000000000..41d298fffb1
--- /dev/null
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm
@@ -0,0 +1,2238 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/turf/template_noop,
+/area/template_noop)
+"ab" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/wall/r_wall,
+/area/ruin/powered/clownplanet)
+"ac" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/wall/r_wall,
+/area/ruin/powered/clownplanet)
+"ad" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plating,
+/area/ruin/powered/clownplanet)
+"ae" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plating,
+/area/ruin/powered/clownplanet)
+"af" = (
+/obj/structure/disposalpipe/segment{
+ invisibility = 101
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"ag" = (
+/obj/effect/mob_spawn/human/corpse/damaged,
+/obj/effect/decal/cleanable/blood/old,
+/obj/structure/disposalpipe/segment{
+ invisibility = 101
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"ah" = (
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"ai" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 1
+ },
+/turf/simulated/wall/r_wall,
+/area/ruin/powered/clownplanet)
+"aj" = (
+/obj/effect/decal/cleanable/pie_smudge,
+/obj/structure/disposalpipe/segment{
+ invisibility = 101
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"ak" = (
+/obj/structure/disposalpipe/segment{
+ invisibility = 101
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"al" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"am" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"an" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"ao" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plating,
+/area/ruin/powered/clownplanet)
+"ap" = (
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"aq" = (
+/obj/structure/disposalpipe/trunk,
+/obj/structure/disposaloutlet{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/ruin/powered/clownplanet)
+"ar" = (
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"as" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"at" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/obj/effect/decal/cleanable/cobweb,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"au" = (
+/obj/structure/disposalpipe/segment{
+ invisibility = 101
+ },
+/turf/simulated/floor/plating,
+/area/ruin/powered/clownplanet)
+"av" = (
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"aw" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"ay" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"az" = (
+/obj/item/bikehorn,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"aA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/wall/r_wall,
+/area/ruin/powered/clownplanet)
+"aB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/obj/effect/decal/cleanable/pie_smudge,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"aC" = (
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"aD" = (
+/obj/item/bikehorn,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"aE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plating,
+/area/ruin/powered/clownplanet)
+"aF" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ invisibility = 101
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"aG" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"aH" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"aI" = (
+/obj/item/bikehorn,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ invisibility = 101
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"aJ" = (
+/obj/item/bikehorn,
+/obj/structure/disposalpipe/segment{
+ invisibility = 101
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"aK" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/turf/simulated/floor/plasteel,
+/area/ruin/powered/clownplanet)
+"aL" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/turf/simulated/wall/r_wall,
+/area/ruin/powered/clownplanet)
+"aM" = (
+/obj/effect/decal/cleanable/pie_smudge,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"aN" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "white"
+ },
+/area/ruin/powered/clownplanet)
+"aO" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"aP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/turf/simulated/floor/plating,
+/area/ruin/powered/clownplanet)
+"aQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/obj/structure/table,
+/obj/item/paper/crumpled/bloody/ruins/lavaland/clown_planet/escape,
+/obj/item/pen/multi,
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "white"
+ },
+/area/ruin/powered/clownplanet)
+"aR" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/obj/structure/table,
+/obj/item/flashlight/lamp/bananalamp,
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "white"
+ },
+/area/ruin/powered/clownplanet)
+"aS" = (
+/obj/effect/decal/cleanable/pie_smudge,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"aT" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/obj/item/pickaxe,
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "white"
+ },
+/area/ruin/powered/clownplanet)
+"aU" = (
+/obj/effect/spawner/window/reinforced,
+/turf/simulated/floor/plating,
+/area/ruin/powered/clownplanet)
+"aV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "white"
+ },
+/area/ruin/powered/clownplanet)
+"aW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "white"
+ },
+/area/ruin/powered/clownplanet)
+"aX" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/ruin/powered/clownplanet)
+"aY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "white"
+ },
+/area/ruin/powered/clownplanet)
+"aZ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/turf/simulated/floor/light,
+/area/ruin/powered/clownplanet)
+"ba" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "white"
+ },
+/area/ruin/powered/clownplanet)
+"bb" = (
+/obj/structure/disposalpipe/segment{
+ invisibility = 101
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "white"
+ },
+/area/ruin/powered/clownplanet)
+"bc" = (
+/turf/simulated/floor/light,
+/area/ruin/powered/clownplanet)
+"bd" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "white"
+ },
+/area/ruin/powered/clownplanet)
+"be" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "white"
+ },
+/area/ruin/powered/clownplanet)
+"bf" = (
+/turf/simulated/mineral/clown/volcanic,
+/area/ruin/powered/clownplanet)
+"bg" = (
+/obj/item/pickaxe,
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "white"
+ },
+/area/ruin/powered/clownplanet)
+"bh" = (
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "white"
+ },
+/area/ruin/powered/clownplanet)
+"bi" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plasteel,
+/area/ruin/powered/clownplanet)
+"bj" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"bk" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plating,
+/area/ruin/powered/clownplanet)
+"bl" = (
+/obj/item/bikehorn,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"bm" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "white"
+ },
+/area/ruin/powered/clownplanet)
+"bn" = (
+/obj/effect/decal/cleanable/cobweb,
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/turf/simulated/floor/plasteel,
+/area/ruin/powered/clownplanet)
+"bo" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"bp" = (
+/obj/effect/decal/cleanable/pie_smudge,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow,
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"bq" = (
+/obj/machinery/disposal/deliveryChute{
+ dir = 1
+ },
+/obj/structure/disposalpipe/trunk,
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "white"
+ },
+/area/ruin/powered/clownplanet)
+"br" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/turf/simulated/floor/plasteel,
+/area/ruin/powered/clownplanet)
+"bs" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/turf/simulated/floor/plasteel,
+/area/ruin/powered/clownplanet)
+"bt" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 1;
+ icon_state = "pipe-y"
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"bu" = (
+/obj/effect/decal/cleanable/blood/oil,
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plating,
+/area/ruin/powered/clownplanet)
+"bv" = (
+/obj/effect/mob_spawn/human/corpse/damaged,
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"bw" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plasteel,
+/area/ruin/powered/clownplanet)
+"bx" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/baseturf_helper/lava_land/surface,
+/turf/simulated/floor/lubed,
+/area/ruin/powered/clownplanet)
+"by" = (
+/obj/structure/table/glass,
+/obj/item/gun/magic/staff/slipping,
+/turf/simulated/floor/carpet,
+/area/ruin/powered/clownplanet)
+"bB" = (
+/turf/simulated/floor/mineral/bananium/lubed,
+/area/ruin/powered/clownplanet)
+"bD" = (
+/obj/effect/decal/mecha_wreckage/honker,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ invisibility = 101
+ },
+/turf/simulated/floor/plating,
+/area/ruin/powered/clownplanet)
+"bH" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/mineral/bananium/lubed,
+/area/ruin/powered/clownplanet)
+"bL" = (
+/obj/item/reagent_containers/food/drinks/trophy/gold_cup,
+/obj/structure/table/glass,
+/turf/simulated/floor/carpet,
+/area/ruin/powered/clownplanet)
+"bM" = (
+/turf/simulated/floor/carpet,
+/area/ruin/powered/clownplanet)
+"bN" = (
+/obj/machinery/disposal/deliveryChute,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/simulated/floor/carpet,
+/area/ruin/powered/clownplanet)
+"bO" = (
+/obj/effect/decal/cleanable/cobweb,
+/turf/simulated/floor/mineral/bananium/lubed,
+/area/ruin/powered/clownplanet)
+"bP" = (
+/obj/structure/statue/bananium/clown,
+/turf/simulated/floor/carpet,
+/area/ruin/powered/clownplanet)
+"bQ" = (
+/obj/structure/table/glass,
+/obj/item/grown/bananapeel/bluespace,
+/turf/simulated/floor/carpet,
+/area/ruin/powered/clownplanet)
+"bR" = (
+/obj/structure/table/glass,
+/obj/item/clothing/shoes/magboots/clown,
+/turf/simulated/floor/carpet,
+/area/ruin/powered/clownplanet)
+"bS" = (
+/obj/item/coin/clown,
+/obj/item/coin/clown,
+/obj/item/coin/clown,
+/obj/item/coin/clown,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/simulated/floor/carpet,
+/area/ruin/powered/clownplanet)
+"bT" = (
+/obj/item/slime_extract/rainbow,
+/obj/structure/table/glass,
+/turf/simulated/floor/carpet,
+/area/ruin/powered/clownplanet)
+"bU" = (
+/obj/item/bikehorn/airhorn,
+/turf/simulated/floor/carpet,
+/area/ruin/powered/clownplanet)
+"bW" = (
+/obj/item/bikehorn,
+/turf/simulated/floor/mineral/bananium/lubed,
+/area/ruin/powered/clownplanet)
+"bY" = (
+/obj/effect/mob_spawn/human/corpse/damaged,
+/obj/effect/decal/cleanable/blood/old,
+/turf/simulated/floor/mineral/bananium/lubed,
+/area/ruin/powered/clownplanet)
+"bZ" = (
+/obj/machinery/door/airlock/bananium,
+/turf/simulated/floor/mineral/bananium/lubed,
+/area/ruin/powered/clownplanet)
+"ca" = (
+/obj/item/bikehorn,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/mineral/bananium/lubed,
+/area/ruin/powered/clownplanet)
+"cc" = (
+/turf/simulated/wall/r_wall,
+/area/ruin/powered/clownplanet)
+"ch" = (
+/obj/structure/disposalpipe/segment{
+ invisibility = 101
+ },
+/turf/simulated/wall/r_wall,
+/area/ruin/powered/clownplanet)
+"cu" = (
+/turf/simulated/floor/plating,
+/area/ruin/powered/clownplanet)
+"dK" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/carpet,
+/area/ruin/powered/clownplanet)
+"dL" = (
+/obj/item/coin/clown,
+/obj/item/coin/clown,
+/obj/item/coin/clown,
+/obj/item/coin/clown,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/simulated/floor/carpet,
+/area/ruin/powered/clownplanet)
+"dM" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/mineral/bananium/lubed,
+/area/ruin/powered/clownplanet)
+"dO" = (
+/obj/machinery/light,
+/turf/simulated/floor/mineral/bananium/lubed,
+/area/ruin/powered/clownplanet)
+"eX" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/noslip/lavaland,
+/area/lavaland/surface/outdoors/explored)
+"gX" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/chasm/straight_down/lava_land_surface,
+/area/lavaland/surface/outdoors/explored)
+"hY" = (
+/obj/machinery/light,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/ruin/powered/clownplanet)
+"pv" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/ruin/powered/clownplanet)
+"ye" = (
+/turf/simulated/floor/plating/lava/smooth,
+/area/ruin/powered/clownplanet)
+"CB" = (
+/obj/item/paper/crumpled/bloody/ruins/lavaland/clown_planet/hope,
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/noslip/lavaland,
+/area/lavaland/surface/outdoors/explored)
+"KX" = (
+/obj/item/grown/bananapeel{
+ color = "#2F3000";
+ name = "stealth banana peel"
+ },
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/explored)
+"LH" = (
+/obj/machinery/disposal/deliveryChute{
+ desc = "The following is engraved upon the chute: A FATE WORSE THAN DEATH LIES WITHIN";
+ dir = 1;
+ name = "THE TRIAL OF HONKITUDE"
+ },
+/obj/structure/disposalpipe/trunk,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/noslip/lavaland,
+/area/ruin/powered/clownplanet)
+"Mv" = (
+/obj/effect/mapping_helpers/no_lava,
+/mob/living/simple_animal/hostile/retaliate/clown,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/explored)
+"MR" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/ruin/powered/clownplanet)
+"TD" = (
+/obj/structure/disposalpipe/trunk,
+/obj/structure/disposaloutlet{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/noslip/lavaland,
+/area/ruin/powered/clownplanet)
+"VH" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/wall/r_wall,
+/area/ruin/powered/clownplanet)
+"Xm" = (
+/obj/item/clothing/head/cone,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/noslip/lavaland,
+/area/lavaland/surface/outdoors/explored)
+"XO" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/explored)
+"Yf" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/ruin/powered/clownplanet)
+"YI" = (
+/obj/machinery/light/small,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/noslip/lavaland,
+/area/ruin/powered/clownplanet)
+
+(1,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+XO
+XO
+XO
+XO
+XO
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(2,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cc
+cc
+cc
+cc
+cc
+cc
+cc
+pv
+XO
+gX
+XO
+XO
+gX
+pv
+cc
+cc
+cc
+cc
+cc
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(3,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+cc
+cc
+cc
+ye
+ye
+ye
+ye
+ye
+cc
+cc
+gX
+gX
+KX
+gX
+gX
+cc
+cc
+ye
+ye
+ye
+cc
+cc
+cc
+aa
+aa
+aa
+aa
+"}
+(4,1,1) = {"
+aa
+aa
+aa
+aa
+cc
+cc
+ye
+ye
+ye
+ab
+aA
+ab
+aA
+ye
+cc
+cc
+gX
+gX
+gX
+cc
+cc
+ye
+ye
+aU
+cu
+ye
+ye
+cc
+cc
+aa
+aa
+aa
+"}
+(5,1,1) = {"
+aa
+aa
+aa
+cc
+cc
+ye
+ye
+ab
+ch
+VH
+aH
+ay
+aS
+aA
+ye
+cc
+cc
+cc
+cc
+cc
+bO
+bB
+aU
+ye
+ye
+ye
+ye
+ye
+cc
+cc
+aa
+aa
+"}
+(6,1,1) = {"
+aa
+aa
+aa
+cc
+ye
+ye
+cc
+at
+ah
+af
+aI
+af
+av
+aL
+ye
+cc
+bB
+bH
+bB
+cc
+bB
+bH
+bY
+bB
+aU
+ye
+aU
+ye
+ye
+cc
+Yf
+aa
+"}
+(7,1,1) = {"
+aa
+aa
+cc
+cc
+ye
+ab
+aj
+ap
+am
+ah
+af
+aA
+aL
+aL
+cc
+bn
+br
+bB
+bH
+bH
+bB
+bH
+bB
+bB
+bB
+cc
+ye
+cu
+ye
+cc
+cc
+aa
+"}
+(8,1,1) = {"
+aa
+aa
+cc
+ye
+ye
+ae
+af
+av
+am
+aL
+aX
+aL
+aN
+aY
+bf
+cc
+bs
+br
+bB
+cc
+cc
+bH
+cc
+bB
+bB
+bB
+aU
+ye
+ye
+ye
+cc
+aa
+"}
+(9,1,1) = {"
+aa
+aa
+cc
+ye
+ab
+af
+af
+ay
+an
+an
+aL
+aN
+aN
+aN
+bg
+bf
+cc
+cc
+br
+bB
+bB
+bH
+bB
+bB
+ca
+bH
+dO
+cc
+ye
+ye
+cc
+aa
+"}
+(10,1,1) = {"
+aa
+Mv
+cc
+ye
+ac
+ag
+af
+av
+aL
+am
+aL
+aN
+aN
+aZ
+bc
+bh
+br
+br
+br
+bB
+cc
+bB
+bB
+bH
+bH
+bB
+bB
+ye
+aU
+ye
+cc
+cc
+"}
+(11,1,1) = {"
+aa
+hY
+cc
+ye
+ad
+ch
+ak
+ay
+am
+am
+aL
+aN
+aT
+aZ
+bc
+bf
+cc
+br
+br
+bB
+bB
+cc
+bB
+bB
+bB
+bB
+bH
+ye
+aU
+ye
+ye
+cc
+"}
+(12,1,1) = {"
+aa
+Mv
+cc
+ye
+ae
+af
+af
+az
+am
+ac
+ap
+aL
+aN
+ba
+bh
+cc
+cc
+br
+bB
+bB
+cc
+cc
+bB
+bB
+cc
+bB
+bH
+ye
+cu
+aU
+ye
+cc
+"}
+(13,1,1) = {"
+XO
+Mv
+cc
+ye
+cc
+ah
+af
+ap
+aC
+aj
+af
+ap
+aL
+aL
+bi
+ch
+aA
+cc
+cc
+cc
+bP
+bS
+cc
+dM
+bB
+bH
+ca
+bB
+ye
+aU
+ye
+cc
+"}
+(14,1,1) = {"
+XO
+Xm
+cc
+cc
+ye
+ac
+af
+af
+af
+af
+aJ
+af
+ay
+an
+bj
+al
+am
+cc
+cc
+bL
+bM
+bM
+bM
+cc
+bB
+bH
+bH
+bB
+ye
+aU
+ye
+cc
+"}
+(15,1,1) = {"
+eX
+eX
+LH
+ch
+ch
+au
+af
+ch
+af
+aF
+ch
+aj
+af
+ay
+as
+an
+aC
+av
+cc
+dK
+bQ
+bT
+bM
+cc
+cc
+bH
+bB
+bB
+ye
+aU
+ye
+cc
+"}
+(16,1,1) = {"
+eX
+CB
+YI
+cc
+ye
+cu
+ah
+aA
+ah
+av
+ah
+af
+af
+au
+bk
+aC
+av
+bj
+ch
+bN
+bM
+bU
+bM
+bZ
+bB
+bH
+bB
+cc
+ye
+aU
+ye
+cc
+"}
+(17,1,1) = {"
+eX
+eX
+TD
+ch
+ch
+ai
+ay
+an
+an
+aL
+an
+aO
+af
+av
+bl
+bo
+bt
+bx
+cc
+bM
+bR
+by
+bM
+cc
+bB
+bB
+bB
+bB
+ye
+aU
+ye
+cc
+"}
+(18,1,1) = {"
+XO
+eX
+cc
+cc
+ye
+aL
+as
+am
+am
+an
+an
+an
+ar
+aC
+av
+bp
+aL
+bv
+cc
+bL
+bM
+bM
+bM
+cc
+bB
+bB
+bB
+bB
+ye
+aU
+ye
+cc
+"}
+(19,1,1) = {"
+XO
+Mv
+cc
+ye
+ye
+aL
+as
+am
+aD
+an
+an
+aL
+cc
+cc
+aK
+cc
+bD
+cc
+bB
+cc
+bP
+dL
+cc
+dM
+bB
+bH
+bH
+bB
+ye
+aU
+ye
+cc
+"}
+(20,1,1) = {"
+aa
+Mv
+cc
+ye
+cc
+aL
+ar
+an
+an
+am
+an
+aL
+aV
+bb
+bm
+cc
+bu
+aA
+bB
+bB
+cc
+cc
+bY
+bB
+bB
+bH
+bB
+ye
+aU
+cu
+ye
+cc
+"}
+(21,1,1) = {"
+aa
+hY
+cc
+ye
+cc
+aL
+aw
+aB
+aL
+am
+aL
+aQ
+aN
+bc
+bc
+bf
+cc
+aK
+br
+bB
+bB
+cc
+bB
+bH
+bB
+bB
+bB
+ye
+aU
+ye
+ye
+cc
+"}
+(22,1,1) = {"
+aa
+Mv
+cc
+ye
+aq
+ao
+ar
+aL
+aP
+am
+aL
+aR
+aN
+bc
+bc
+bq
+ch
+bw
+cc
+bB
+bB
+bH
+bH
+bH
+bB
+bW
+dO
+cc
+aU
+ye
+cc
+cc
+"}
+(23,1,1) = {"
+aa
+aa
+cc
+ye
+cc
+cc
+ar
+an
+an
+aD
+aK
+aN
+aW
+bd
+bh
+bf
+cc
+br
+br
+bB
+bB
+bH
+bH
+bB
+bB
+cc
+cc
+ye
+cu
+ye
+cc
+aa
+"}
+(24,1,1) = {"
+aa
+aa
+cc
+ye
+cc
+cc
+as
+an
+aL
+an
+aL
+aL
+aV
+be
+bf
+cc
+bs
+br
+bB
+bB
+bB
+bB
+bB
+cc
+bB
+bB
+ye
+cu
+ye
+ye
+cc
+aa
+"}
+(25,1,1) = {"
+aa
+aa
+cc
+ye
+ye
+cc
+ar
+an
+an
+an
+aC
+ap
+aL
+cc
+cc
+br
+br
+bB
+bB
+bB
+bH
+bW
+bB
+bB
+bB
+cc
+ye
+aU
+ye
+cc
+cc
+aa
+"}
+(26,1,1) = {"
+aa
+aa
+cc
+cc
+ye
+cc
+cc
+aC
+ap
+aG
+af
+af
+aE
+cc
+ye
+cc
+bO
+bB
+bB
+cc
+bB
+bB
+cc
+bB
+bB
+ye
+cu
+ye
+ye
+cc
+Yf
+aa
+"}
+(27,1,1) = {"
+aa
+aa
+aa
+cc
+cc
+ye
+ye
+cc
+cu
+cc
+aM
+ar
+cu
+cc
+ye
+cc
+cc
+cc
+cc
+cc
+bB
+bB
+bB
+ye
+ye
+ye
+ye
+ye
+cc
+cc
+aa
+aa
+"}
+(28,1,1) = {"
+aa
+aa
+aa
+aa
+cc
+cc
+ye
+ye
+ye
+aU
+aU
+aU
+cc
+ye
+cc
+cc
+gX
+gX
+gX
+cc
+cc
+ye
+ye
+cu
+aU
+ye
+ye
+cc
+cc
+aa
+aa
+aa
+"}
+(29,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+cc
+cc
+cc
+ye
+ye
+ye
+ye
+ye
+cc
+cc
+gX
+gX
+KX
+gX
+gX
+cc
+cc
+ye
+ye
+ye
+cc
+cc
+cc
+aa
+aa
+aa
+aa
+"}
+(30,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cc
+cc
+cc
+cc
+cc
+cc
+cc
+MR
+XO
+XO
+XO
+XO
+gX
+MR
+cc
+cc
+cc
+cc
+cc
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(31,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+XO
+gX
+XO
+XO
+XO
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_winter.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_winter.dmm
new file mode 100644
index 00000000000..01797b0ea59
--- /dev/null
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_winter.dmm
@@ -0,0 +1,1364 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/turf/template_noop,
+/area/template_noop)
+"ab" = (
+/obj/effect/baseturf_helper/lava_land/surface,
+/turf/simulated/floor/plating/asteroid/snow/atmosphere,
+/area/ruin/powered/snow_biodome)
+"ac" = (
+/obj/item/stack/medical/ointment,
+/obj/structure/table,
+/obj/item/stack/medical/bruise_pack,
+/turf/simulated/floor/plating,
+/area/ruin/powered/snow_biodome)
+"ad" = (
+/obj/structure/table,
+/obj/item/stack/medical/bruise_pack,
+/obj/item/stack/medical/bruise_pack,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/ruin/powered/snow_biodome)
+"ae" = (
+/obj/machinery/power/smes,
+/turf/simulated/floor/plating,
+/area/ruin/powered/snow_biodome)
+"af" = (
+/turf/simulated/floor/plating,
+/area/ruin/powered/snow_biodome)
+"ag" = (
+/obj/structure/reagent_dispensers/beerkeg,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/ruin/powered/snow_biodome)
+"ah" = (
+/obj/item/reagent_containers/food/drinks/mug,
+/turf/simulated/floor/plating,
+/area/ruin/powered/snow_biodome)
+"ai" = (
+/obj/machinery/shower,
+/turf/simulated/floor/plating,
+/area/ruin/powered/snow_biodome)
+"aj" = (
+/obj/structure/sink,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/ruin/powered/snow_biodome)
+"ak" = (
+/turf/simulated/floor/plating/asteroid/snow/atmosphere,
+/area/ruin/powered/snow_biodome)
+"al" = (
+/obj/effect/decal/cleanable/blood/oil,
+/turf/simulated/floor/plating,
+/area/ruin/powered/snow_biodome)
+"am" = (
+/obj/machinery/door/airlock/hatch,
+/turf/simulated/floor/plating,
+/area/ruin/powered/snow_biodome)
+"an" = (
+/obj/structure/toilet{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/ruin/powered/snow_biodome)
+"ao" = (
+/turf/simulated/floor/plating/ice/smooth,
+/area/ruin/powered/snow_biodome)
+"ap" = (
+/obj/structure/flora/rock/icy,
+/turf/simulated/floor/plating/asteroid/snow/atmosphere,
+/area/ruin/powered/snow_biodome)
+"aq" = (
+/turf/simulated/wall/mineral/wood,
+/area/ruin/powered/snow_cabin)
+"ar" = (
+/obj/machinery/door/airlock/wood,
+/turf/simulated/floor/plating,
+/area/ruin/powered/snow_cabin)
+"as" = (
+/obj/structure/fans,
+/turf/simulated/wall/mineral/wood,
+/area/ruin/powered/snow_cabin)
+"at" = (
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"au" = (
+/obj/structure/bed,
+/obj/item/bedsheet/blue,
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"av" = (
+/obj/structure/bookcase/random,
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"aw" = (
+/obj/structure/table/wood,
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"ax" = (
+/obj/structure/table/wood,
+/obj/item/reagent_containers/food/snacks/beans,
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"ay" = (
+/obj/structure/closet/crate/trashcart,
+/obj/item/trash/semki,
+/obj/item/trash/candy,
+/turf/simulated/floor/plating/asteroid/snow/atmosphere,
+/area/ruin/powered/snow_biodome)
+"az" = (
+/obj/structure/flora/tree/pine,
+/turf/simulated/floor/plating/asteroid/snow/atmosphere,
+/area/ruin/powered/snow_biodome)
+"aA" = (
+/obj/structure/chair/comfy/brown{
+ dir = 4
+ },
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"aB" = (
+/obj/structure/flora/rock/pile/icy,
+/turf/simulated/floor/plating/asteroid/snow/atmosphere,
+/area/ruin/powered/snow_biodome)
+"aC" = (
+/obj/structure/flora/tree/dead,
+/turf/simulated/floor/plating/asteroid/snow/atmosphere,
+/area/ruin/powered/snow_biodome)
+"aD" = (
+/obj/machinery/door/airlock/wood,
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"aE" = (
+/obj/structure/extinguisher_cabinet,
+/turf/simulated/wall/mineral/wood,
+/area/ruin/powered/snow_cabin)
+"aF" = (
+/obj/structure/table/wood,
+/obj/item/reagent_containers/food/drinks/h_chocolate,
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"aG" = (
+/obj/structure/chair/comfy/brown{
+ dir = 8
+ },
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"aH" = (
+/mob/living/simple_animal/hostile/skeleton/eskimo,
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"aI" = (
+/obj/structure/flora/bush,
+/turf/simulated/floor/plating/asteroid/snow/atmosphere,
+/area/ruin/powered/snow_biodome)
+"aJ" = (
+/obj/vehicle/atv,
+/turf/simulated/floor/plating/asteroid/snow/atmosphere,
+/area/ruin/powered/snow_biodome)
+"aK" = (
+/obj/structure/table/wood,
+/obj/item/key/snowmobile,
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"aL" = (
+/obj/structure/displaycase/lavaland_winter,
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"aM" = (
+/turf/simulated/floor/carpet,
+/area/ruin/powered/snow_cabin)
+"aN" = (
+/obj/structure/bed/dogbed,
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"aO" = (
+/obj/machinery/door/airlock/multi_tile/glass,
+/obj/structure/fans/tiny,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"aP" = (
+/obj/structure/fans/tiny,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"aQ" = (
+/obj/structure/flora/grass/both,
+/turf/simulated/floor/plating/asteroid/snow/atmosphere,
+/area/ruin/powered/snow_biodome)
+"aR" = (
+/obj/structure/flora/tree/pine/xmas,
+/turf/simulated/floor/plating/asteroid/snow/atmosphere,
+/area/ruin/powered/snow_biodome)
+"bi" = (
+/obj/structure/fans/tiny,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_cabin)
+"bl" = (
+/turf/simulated/floor/wood/cold,
+/area/ruin/powered/snow_biodome)
+"bv" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/plating/ice/smooth,
+/area/ruin/powered/snow_biodome)
+"bw" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"bx" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"by" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/simulated/floor/plating/asteroid/snow/atmosphere,
+/area/ruin/powered/snow_biodome)
+"bz" = (
+/obj/machinery/light,
+/turf/simulated/floor/wood,
+/area/ruin/powered/snow_cabin)
+"bB" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/simulated/floor/plating/asteroid/snow/atmosphere,
+/area/ruin/powered/snow_biodome)
+"bD" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/plating/asteroid/snow/atmosphere,
+/area/ruin/powered/snow_biodome)
+"bM" = (
+/obj/machinery/light,
+/turf/simulated/floor/plating/asteroid/snow/atmosphere,
+/area/ruin/powered/snow_biodome)
+"bN" = (
+/obj/machinery/light,
+/turf/simulated/floor/plating/ice/smooth,
+/area/ruin/powered/snow_biodome)
+"dS" = (
+/obj/machinery/light/small,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"eb" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"eg" = (
+/obj/machinery/vending/coffee,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"gh" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"gz" = (
+/obj/structure/chair/stool,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"hA" = (
+/obj/machinery/light/built{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"qt" = (
+/obj/machinery/door/airlock/silver,
+/obj/structure/fans/tiny,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"tb" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/explored)
+"tl" = (
+/turf/simulated/floor/pod/light,
+/area/ruin/powered/snow_biodome)
+"vf" = (
+/obj/machinery/door/airlock/multi_tile/glass,
+/obj/structure/fans/tiny,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_cabin)
+"xU" = (
+/obj/item/storage/toolbox/mechanical,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"zT" = (
+/obj/machinery/door/airlock/silver,
+/obj/structure/fans/tiny,
+/turf/simulated/floor/plating,
+/area/ruin/powered/snow_biodome)
+"AM" = (
+/obj/structure/table,
+/obj/item/pen,
+/obj/item/paper,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"Dd" = (
+/obj/structure/rack,
+/obj/item/clothing/suit/hooded/wintercoat/science,
+/obj/item/clothing/shoes/winterboots,
+/obj/item/clothing/gloves/fingerless,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"Ef" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"Ez" = (
+/obj/structure/fans/tiny,
+/obj/machinery/door/airlock/multi_tile/glass,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"HP" = (
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"HR" = (
+/obj/structure/closet/secure_closet/freezer/fridge/open,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"JZ" = (
+/obj/structure/table,
+/obj/machinery/microwave,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"KS" = (
+/obj/structure/closet,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/item/twohanded/required/chainsaw,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"Mp" = (
+/obj/item/clothing/mask/balaclava,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"Oj" = (
+/obj/structure/table,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"PD" = (
+/obj/machinery/door/airlock/hatch,
+/obj/structure/fans/tiny,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"PK" = (
+/obj/structure/table,
+/obj/item/pen,
+/obj/item/paper_bin,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"Qa" = (
+/obj/effect/mapping_helpers/no_lava,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/explored)
+"QI" = (
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/explored)
+"QK" = (
+/obj/structure/table,
+/obj/item/storage/fancy/cigarettes/cigpack_carp,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"QN" = (
+/obj/effect/spawner/window,
+/turf/simulated/floor/plating,
+/area/ruin/powered/snow_biodome)
+"Sj" = (
+/obj/effect/decal/cleanable/blood/oil,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"Ub" = (
+/obj/structure/filingcabinet,
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"UM" = (
+/obj/machinery/computer/monitor/secret{
+ dir = 1
+ },
+/turf/simulated/floor/pod/dark,
+/area/ruin/powered/snow_biodome)
+"Wg" = (
+/turf/simulated/wall/r_wall,
+/area/ruin/powered/snow_biodome)
+
+(1,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+Wg
+Wg
+Wg
+Wg
+PD
+Wg
+Wg
+Wg
+Wg
+Wg
+Wg
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(2,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+Wg
+Wg
+Wg
+Wg
+Wg
+Dd
+gh
+HP
+tl
+gh
+HP
+Ub
+Wg
+Wg
+Wg
+Wg
+Wg
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(3,1,1) = {"
+aa
+aa
+aa
+aa
+Wg
+Wg
+Wg
+ak
+by
+ak
+Wg
+Dd
+HP
+HP
+tl
+PK
+gz
+UM
+Wg
+ak
+ak
+ak
+Wg
+Wg
+Wg
+QI
+QI
+aa
+aa
+aa
+"}
+(4,1,1) = {"
+aa
+aa
+aa
+Wg
+Wg
+ak
+aC
+ak
+ak
+ak
+Wg
+QN
+QN
+QN
+qt
+QN
+QN
+QN
+Wg
+ak
+ak
+ak
+ak
+ak
+Wg
+Wg
+QI
+QI
+aa
+aa
+"}
+(5,1,1) = {"
+aa
+aa
+Wg
+Wg
+ao
+ao
+ak
+aI
+ak
+ak
+by
+az
+ak
+aB
+ak
+ak
+ak
+aI
+by
+ak
+ak
+ak
+ak
+ak
+ak
+Wg
+Wg
+QI
+tb
+aa
+"}
+(6,1,1) = {"
+aa
+aa
+Wg
+bv
+ao
+ao
+ao
+ao
+ak
+aI
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+aQ
+ak
+ak
+ak
+az
+ak
+ak
+Wg
+QI
+tb
+aa
+"}
+(7,1,1) = {"
+aa
+Wg
+Wg
+ap
+ak
+ao
+ao
+ao
+ao
+ak
+ak
+ak
+ak
+ak
+az
+ak
+aC
+ak
+ak
+aI
+aI
+ak
+ak
+ak
+ak
+bM
+Wg
+Wg
+tb
+aa
+"}
+(8,1,1) = {"
+aa
+Wg
+ak
+ak
+ak
+ak
+ak
+ao
+ao
+ao
+ao
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ap
+aI
+ak
+aQ
+ak
+ak
+ak
+az
+ak
+Wg
+tb
+tb
+"}
+(9,1,1) = {"
+aa
+Wg
+Wg
+Wg
+ak
+az
+ak
+ak
+ao
+ao
+ao
+ao
+ao
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+aC
+ak
+ak
+ak
+ak
+ak
+Wg
+hA
+tb
+"}
+(10,1,1) = {"
+Wg
+Wg
+af
+Wg
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ao
+ao
+ao
+ao
+ak
+aI
+az
+ak
+ak
+ak
+ak
+ak
+aI
+ak
+ak
+ak
+Wg
+tb
+tb
+"}
+(11,1,1) = {"
+Wg
+ac
+af
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+bD
+ao
+ao
+ao
+ao
+ao
+ak
+ak
+bl
+bl
+ak
+aI
+ak
+ak
+ak
+Wg
+Wg
+Wg
+Wg
+tb
+"}
+(12,1,1) = {"
+Wg
+ad
+af
+ar
+bw
+at
+aD
+at
+aL
+aq
+ak
+az
+ak
+ao
+ao
+ao
+ao
+ao
+bl
+bl
+ak
+ak
+ak
+az
+bM
+Wg
+Dd
+Dd
+Wg
+tb
+"}
+(13,1,1) = {"
+Wg
+ae
+af
+aq
+au
+au
+aq
+at
+bz
+aq
+ak
+ak
+ak
+ao
+ao
+ao
+ao
+ao
+bl
+bl
+ao
+ak
+ak
+ak
+aI
+Wg
+Mp
+dS
+Wg
+tb
+"}
+(14,1,1) = {"
+Wg
+af
+al
+aq
+aq
+aq
+aE
+at
+at
+aq
+ak
+ak
+aC
+ak
+ao
+ak
+ao
+ao
+bl
+bl
+ao
+ao
+aI
+ak
+ak
+Wg
+tl
+tl
+Wg
+tb
+"}
+(15,1,1) = {"
+Wg
+ae
+af
+aq
+av
+at
+at
+aH
+aM
+vf
+ap
+ak
+ak
+ak
+ak
+ak
+ak
+ao
+bl
+bl
+ao
+ao
+ak
+ak
+ak
+aO
+tl
+tl
+Ez
+Qa
+"}
+(16,1,1) = {"
+Wg
+ag
+ah
+as
+aw
+aA
+aA
+at
+aM
+bi
+ak
+ak
+aQ
+ak
+ak
+az
+ak
+ak
+bl
+bl
+ak
+ao
+ao
+ak
+ak
+aP
+tl
+tl
+aP
+Qa
+"}
+(17,1,1) = {"
+Wg
+ah
+af
+aq
+ax
+aK
+aF
+at
+at
+aq
+ak
+aI
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ao
+ao
+ao
+ak
+Wg
+tl
+tl
+Wg
+tb
+"}
+(18,1,1) = {"
+Wg
+Wg
+am
+aq
+av
+at
+aG
+at
+bz
+aq
+aR
+ak
+ak
+ak
+ak
+ab
+ak
+ak
+aC
+ak
+ak
+ak
+ao
+ao
+ao
+Wg
+HP
+dS
+Wg
+tb
+"}
+(19,1,1) = {"
+Wg
+ai
+af
+aq
+av
+bx
+aH
+at
+aN
+aq
+ak
+ak
+ak
+az
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ao
+bN
+Wg
+QK
+AM
+Wg
+tb
+"}
+(20,1,1) = {"
+Wg
+aj
+af
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+bD
+ak
+ak
+ak
+ak
+aI
+ak
+az
+ak
+ak
+ak
+ak
+az
+ak
+ao
+Wg
+Wg
+Wg
+Wg
+tb
+"}
+(21,1,1) = {"
+Wg
+Wg
+an
+Wg
+ay
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+aC
+ak
+ak
+ak
+ak
+ap
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+Wg
+tb
+tb
+"}
+(22,1,1) = {"
+aa
+Wg
+Wg
+Wg
+ak
+ak
+aI
+ak
+ap
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+ak
+aI
+ak
+ak
+aQ
+ak
+ak
+ak
+Wg
+hA
+tb
+"}
+(23,1,1) = {"
+aa
+Wg
+ak
+ak
+az
+ak
+aJ
+ak
+ak
+ak
+ak
+ak
+ak
+az
+ak
+aQ
+ak
+aC
+ak
+aI
+ak
+az
+aI
+aI
+ak
+ak
+ak
+Wg
+tb
+tb
+"}
+(24,1,1) = {"
+aa
+Wg
+Wg
+ak
+ak
+aB
+ak
+ak
+aC
+ak
+ak
+ak
+ak
+aI
+ak
+ap
+ak
+ak
+ak
+ak
+ak
+ak
+aI
+aI
+ak
+bM
+Wg
+Wg
+tb
+aa
+"}
+(25,1,1) = {"
+aa
+aa
+Wg
+ap
+ak
+ak
+ak
+ak
+ak
+aQ
+ak
+ak
+ak
+aI
+ak
+ak
+ak
+ak
+aQ
+ak
+ak
+aB
+ak
+ak
+aC
+ak
+Wg
+QI
+tb
+aa
+"}
+(26,1,1) = {"
+aa
+aa
+Wg
+Wg
+ak
+ak
+az
+ak
+ak
+ak
+bB
+ak
+ak
+ak
+ak
+ak
+az
+ak
+bB
+ak
+ak
+az
+ak
+ak
+ak
+Wg
+Wg
+QI
+aa
+aa
+"}
+(27,1,1) = {"
+aa
+aa
+aa
+Wg
+Wg
+ak
+ak
+ak
+ak
+ak
+Wg
+QN
+QN
+QN
+zT
+QN
+QN
+QN
+Wg
+ak
+ak
+ak
+ak
+ak
+Wg
+Wg
+QI
+QI
+aa
+aa
+"}
+(28,1,1) = {"
+aa
+aa
+aa
+aa
+Wg
+Wg
+Wg
+ak
+bB
+ak
+Wg
+eg
+HP
+tl
+tl
+tl
+Sj
+xU
+Wg
+ak
+bB
+ak
+Wg
+Wg
+Wg
+QI
+QI
+aa
+aa
+aa
+"}
+(29,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+Wg
+Wg
+Wg
+Wg
+Wg
+HR
+eb
+gz
+Oj
+JZ
+KS
+Ef
+Wg
+Wg
+Wg
+Wg
+Wg
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(30,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+Wg
+Wg
+Wg
+Wg
+Wg
+Wg
+Wg
+Wg
+Wg
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
index 421f2e62b53..279afa9713d 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
@@ -1611,15 +1611,6 @@
pixel_x = 1;
pixel_y = -1
},
-/obj/item/radio/headset/syndicate/alt{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/radio/headset/syndicate/alt,
-/obj/item/radio/headset/syndicate/alt{
- pixel_x = 3;
- pixel_y = -3
- },
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel/dark,
/area/ruin/unpowered/syndicate_lava_base/cargo)
@@ -3538,6 +3529,10 @@
/obj/machinery/alarm/syndicate{
pixel_y = 24
},
+/obj/item/radio/headset/syndicate/alt{
+ pixel_x = -3;
+ pixel_y = 3
+ },
/turf/simulated/floor/plasteel/grimy,
/area/ruin/unpowered/syndicate_lava_base/dormitories)
"hN" = (
@@ -3563,6 +3558,10 @@
/obj/machinery/alarm/syndicate{
pixel_y = 24
},
+/obj/item/radio/headset/syndicate/alt{
+ pixel_x = -3;
+ pixel_y = 3
+ },
/turf/simulated/floor/plasteel/grimy,
/area/ruin/unpowered/syndicate_lava_base/dormitories)
"hR" = (
@@ -4480,6 +4479,10 @@
/obj/structure/table/wood,
/obj/item/ammo_box/magazine/m10mm,
/obj/item/ammo_box/magazine/sniper_rounds,
+/obj/item/radio/headset/syndicate/alt{
+ pixel_x = -3;
+ pixel_y = 3
+ },
/turf/simulated/floor/plasteel/grimy,
/area/ruin/unpowered/syndicate_lava_base/dormitories)
"jB" = (
@@ -6068,6 +6071,13 @@
/obj/structure/sign/fire,
/turf/simulated/wall/mineral/plastitanium/coated,
/area/ruin/unpowered/syndicate_lava_base/engineering)
+"ng" = (
+/obj/structure/table,
+/obj/machinery/photocopier/faxmachine/longrange/syndie{
+ department = "Syndicate Bioweapon Research Outpost"
+ },
+/turf/simulated/floor/plasteel/dark,
+/area/ruin/unpowered/syndicate_lava_base/telecomms)
"nh" = (
/obj/machinery/telecomms/relay/preset/ruskie{
use_power = 0
@@ -7337,7 +7347,7 @@ ab
ab
ab
mp
-mP
+ng
nk
nI
oi
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm b/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm
index 805f97b6784..62a22425926 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm
@@ -397,7 +397,6 @@
/obj/structure/rack,
/obj/item/clothing/suit/space/hardsuit/medical,
/obj/item/tank/emergency_oxygen/double,
-/obj/item/clothing/head/helmet/space/hardsuit/medical,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm b/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm
index 3ba27975660..58eae91a94f 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm
@@ -4168,7 +4168,6 @@
"jB" = (
/obj/structure/table/reinforced,
/obj/item/clothing/suit/space/hardsuit/ancient,
-/obj/item/clothing/head/helmet/space/hardsuit/ancient,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel{
icon_state = "white"
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm
index 8f19d1cc390..fa38a1a647b 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm
@@ -1132,7 +1132,6 @@
/obj/item/reagent_containers/food/drinks/bottle/rum,
/obj/item/reagent_containers/food/drinks/bottle/rum,
/obj/item/folder/syndicate/blue,
-/obj/item/clothing/head/helmet/space/hardsuit/syndi,
/turf/simulated/floor/plating,
/area/ruin/onehalf/bridge)
"cN" = (
diff --git a/_maps/map_files/RandomZLevels/academy.dmm b/_maps/map_files/RandomZLevels/academy.dmm
index 5d22afc5fcd..2f37e69604e 100644
--- a/_maps/map_files/RandomZLevels/academy.dmm
+++ b/_maps/map_files/RandomZLevels/academy.dmm
@@ -243,7 +243,6 @@
/obj/item/stack/sheet/mineral/silver{
amount = 20
},
-/obj/item/clothing/head/helmet/space/hardsuit/wizard,
/turf/simulated/floor/wood,
/area/awaymission/academy/headmaster)
"aM" = (
diff --git a/_maps/map_files/RandomZLevels/spacebattle.dmm b/_maps/map_files/RandomZLevels/spacebattle.dmm
index 17341581c9a..2525d05730f 100644
--- a/_maps/map_files/RandomZLevels/spacebattle.dmm
+++ b/_maps/map_files/RandomZLevels/spacebattle.dmm
@@ -406,7 +406,6 @@
/area/awaymission/spacebattle/syndicate3)
"bg" = (
/obj/structure/table/reinforced,
-/obj/item/clothing/head/helmet/space/hardsuit/syndi,
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
@@ -2261,7 +2260,6 @@
"hl" = (
/obj/structure/rack,
/obj/item/clothing/suit/space/hardsuit,
-/obj/item/clothing/head/helmet/space/hardsuit,
/turf/simulated/floor/plasteel,
/area/awaymission/spacebattle/cruiser)
"hn" = (
diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm
index bd37f2193e5..ed6df3dfd53 100644
--- a/_maps/map_files/cyberiad/cyberiad.dmm
+++ b/_maps/map_files/cyberiad/cyberiad.dmm
@@ -547,7 +547,6 @@
/obj/structure/rack,
/obj/item/clothing/suit/space/hardsuit/medical,
/obj/item/clothing/mask/breath,
-/obj/item/clothing/head/helmet/space/hardsuit/medical,
/turf/simulated/shuttle/floor{
icon_state = "floor3"
},
@@ -2225,6 +2224,7 @@
icon_state = "1-2";
pixel_y = 0
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/plating,
/area/security/prisonershuttle)
"aeG" = (
@@ -7421,8 +7421,11 @@
/turf/simulated/shuttle/floor4/vox,
/area/shuttle/vox)
"amZ" = (
+/obj/item/stack/spacecash/c200,
+/obj/item/stack/spacecash/c50,
+/obj/machinery/light/spot,
/obj/structure/chair/comfy/shuttle{
- dir = 8
+ dir = 1
},
/turf/simulated/shuttle/floor4/vox,
/area/shuttle/vox)
@@ -10422,12 +10425,10 @@
/area/shuttle/trade/sol)
"arW" = (
/obj/structure/chair/comfy/shuttle{
- dir = 1
+ dir = 4
},
-/turf/simulated/shuttle/floor{
- icon_state = "floor4"
- },
-/area/shuttle/siberia)
+/turf/simulated/shuttle/floor,
+/area/shuttle/trade/sol)
"arX" = (
/obj/structure/cable{
icon_state = "0-2";
@@ -10446,14 +10447,15 @@
/turf/simulated/shuttle/floor,
/area/shuttle/trade/sol)
"arZ" = (
-/obj/item/stack/spacecash/c200,
-/obj/item/stack/spacecash/c50,
-/obj/machinery/light/spot,
-/obj/structure/chair/comfy/shuttle{
- dir = 1
+/obj/machinery/atm{
+ pixel_x = 0;
+ pixel_y = 32
},
-/turf/simulated/shuttle/floor4/vox,
-/area/shuttle/vox)
+/obj/structure/chair/comfy/shuttle{
+ dir = 8
+ },
+/turf/simulated/shuttle/floor,
+/area/shuttle/trade/sol)
"asa" = (
/obj/effect/spawner/window/reinforced,
/obj/machinery/door/poddoor/shutters{
@@ -11638,9 +11640,11 @@
/area/shuttle/siberia)
"atL" = (
/obj/structure/chair/comfy/shuttle{
- dir = 4
+ dir = 1
+ },
+/turf/simulated/shuttle/floor{
+ icon_state = "floor4"
},
-/turf/simulated/shuttle/floor,
/area/shuttle/siberia)
"atM" = (
/obj/effect/spawner/window/reinforced,
@@ -12154,6 +12158,7 @@
name = "Labor Camp Airlock";
req_access_txt = "2"
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/plating,
/area/security/prisonershuttle)
"auz" = (
@@ -12162,6 +12167,7 @@
name = "Labor Shuttle Airlock";
req_access_txt = "2"
},
+/obj/structure/fans/tiny,
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
@@ -12785,19 +12791,17 @@
/turf/simulated/floor/plasteel,
/area/security/permabrig)
"avp" = (
-/obj/machinery/flasher{
- id = "gulagshuttleflasher";
- pixel_x = 25
- },
-/obj/machinery/light{
- dir = 4;
- icon_state = "tube1"
+/obj/item/radio/intercom{
+ broadcasting = 0;
+ listening = 1;
+ name = "station intercom (General)";
+ pixel_y = 25
},
/obj/structure/chair/comfy/shuttle{
- dir = 8
+ dir = 4
},
/turf/simulated/shuttle/floor,
-/area/shuttle/siberia)
+/area/shuttle/pod_3)
"avq" = (
/turf/simulated/floor/plating,
/area/maintenance/fsmaint)
@@ -12840,19 +12844,18 @@
/turf/simulated/shuttle/floor,
/area/shuttle/pod_3)
"avu" = (
-/obj/machinery/light/spot{
- tag = "icon-tube1 (WEST)";
- icon_state = "tube1";
- dir = 8
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4;
+ pixel_x = 0;
+ pixel_y = 32
},
-/obj/structure/window/reinforced,
+/obj/machinery/light,
/obj/structure/chair/comfy/shuttle{
dir = 4
},
-/turf/simulated/shuttle/floor{
- icon_state = "floor4"
- },
-/area/shuttle/syndicate_sit)
+/turf/simulated/shuttle/floor,
+/area/shuttle/pod_3)
"avv" = (
/obj/machinery/door/airlock/external{
name = "Labor Shuttle Airlock";
@@ -13172,7 +13175,16 @@
},
/turf/simulated/floor/plasteel,
/area/security/lobby)
-"avU" = (
+"avV" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/plasteel,
+/area/security/lobby)
+"avW" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock{
name = "Internal Affairs Office";
@@ -13192,34 +13204,6 @@
dir = 2
},
/area/lawoffice)
-"avV" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 10
- },
-/turf/simulated/floor/plasteel,
-/area/security/lobby)
-"avW" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/poddoor{
- density = 0;
- icon_state = "open";
- id_tag = "Secure Gate";
- name = "Security Blast Door";
- opacity = 0
- },
-/obj/machinery/door/airlock/security/glass{
- id_tag = "BrigEast";
- name = "Brig East Entrance";
- req_access_txt = "63"
- },
-/turf/simulated/floor/plasteel{
- dir = 1;
- icon_state = "darkredcorners"
- },
-/area/security/prison/cell_block/A)
"avX" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/cable{
@@ -13287,11 +13271,12 @@
name = "Brig East Entrance";
req_access_txt = "63"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+/obj/effect/mapping_helpers/airlock/unres{
+ icon_state = "airlock_unres_helper";
dir = 4
},
/turf/simulated/floor/plasteel{
- dir = 8;
+ dir = 1;
icon_state = "darkredcorners"
},
/area/security/prison/cell_block/A)
@@ -13714,13 +13699,31 @@
},
/area/security/permabrig)
"awP" = (
-/obj/structure/chair/comfy/shuttle{
- dir = 8
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor{
+ density = 0;
+ icon_state = "open";
+ id_tag = "Secure Gate";
+ name = "Security Blast Door";
+ opacity = 0
},
-/turf/simulated/shuttle/floor{
- icon_state = "floor4"
+/obj/machinery/door/airlock/security/glass{
+ id_tag = "BrigEast";
+ name = "Brig East Entrance";
+ req_access_txt = "63"
},
-/area/shuttle/syndicate_sit)
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/unres{
+ icon_state = "airlock_unres_helper";
+ dir = 4
+ },
+/turf/simulated/floor/plasteel{
+ dir = 8;
+ icon_state = "darkredcorners"
+ },
+/area/security/prison/cell_block/A)
"awQ" = (
/obj/structure/cable{
d1 = 2;
@@ -13954,31 +13957,30 @@
/turf/simulated/shuttle/plating,
/area/shuttle/syndicate_sit)
"axm" = (
+/obj/machinery/flasher{
+ id = "gulagshuttleflasher";
+ pixel_x = 25
+ },
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
/obj/structure/chair/comfy/shuttle{
- dir = 4
+ dir = 8
},
-/turf/simulated/shuttle/floor{
- icon_state = "floor4"
- },
-/area/shuttle/syndicate_sit)
+/turf/simulated/shuttle/floor,
+/area/shuttle/siberia)
"axn" = (
/obj/structure/lattice,
/obj/item/stack/cable_coil,
/turf/space,
/area/space/nearstation)
"axo" = (
-/obj/machinery/light/spot{
- tag = "icon-tube1 (WEST)";
- icon_state = "tube1";
- dir = 8
- },
/obj/structure/chair/comfy/shuttle{
dir = 4
},
-/turf/simulated/shuttle/floor{
- icon_state = "floor4"
- },
-/area/shuttle/syndicate_elite)
+/turf/simulated/shuttle/floor,
+/area/shuttle/siberia)
"axp" = (
/obj/structure/bookcase,
/obj/item/book/manual/sop_engineering,
@@ -14330,14 +14332,6 @@
icon_state = "darkredcorners"
},
/area/security/prison/cell_block/A)
-"axN" = (
-/obj/structure/chair/comfy/shuttle{
- dir = 8
- },
-/turf/simulated/shuttle/floor{
- icon_state = "floor4"
- },
-/area/shuttle/syndicate_elite)
"axO" = (
/obj/structure/cable{
d1 = 1;
@@ -14534,6 +14528,7 @@
name = "fore bay 1";
width = 9
},
+/obj/structure/fans/tiny,
/turf/simulated/shuttle/floor,
/area/shuttle/siberia)
"ayi" = (
@@ -15207,11 +15202,6 @@
icon_state = "tube1";
dir = 8
},
-/turf/simulated/shuttle/floor{
- icon_state = "floor4"
- },
-/area/shuttle/syndicate_sit)
-"azf" = (
/obj/structure/chair/comfy/shuttle{
dir = 4
},
@@ -15219,17 +15209,33 @@
icon_state = "floor4"
},
/area/shuttle/syndicate_elite)
+"azf" = (
+/obj/machinery/light/spot{
+ tag = "icon-tube1 (WEST)";
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/structure/window/reinforced,
+/obj/structure/chair/comfy/shuttle{
+ dir = 4
+ },
+/turf/simulated/shuttle/floor{
+ icon_state = "floor4"
+ },
+/area/shuttle/syndicate_sit)
"azg" = (
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/syndicate_elite)
"azh" = (
-/obj/structure/chair/comfy/shuttle,
+/obj/structure/chair/comfy/shuttle{
+ dir = 8
+ },
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
-/area/shuttle/syndicate_sit)
+/area/shuttle/syndicate_elite)
"azi" = (
/obj/machinery/door/window/brigdoor{
dir = 2;
@@ -15809,16 +15815,13 @@
/turf/simulated/floor/plating,
/area/maintenance/abandonedbar)
"aAh" = (
-/obj/structure/shuttle/engine/propulsion/burst{
- dir = 8
+/obj/structure/chair/comfy/shuttle{
+ dir = 4
},
-/turf/simulated/floor/plating,
-/turf/simulated/shuttle/wall{
- tag = "icon-swall_f6";
- icon_state = "swall_f6";
- dir = 2
+/turf/simulated/shuttle/floor{
+ icon_state = "floor4"
},
-/area/shuttle/pod_3)
+/area/shuttle/syndicate_elite)
"aAi" = (
/obj/machinery/computer/camera_advanced/shuttle_docker/ert,
/turf/simulated/shuttle/floor{
@@ -16421,30 +16424,13 @@
/turf/simulated/floor/plating,
/area/maintenance/abandonedbar)
"aBk" = (
-/obj/item/radio/intercom{
- broadcasting = 0;
- listening = 1;
- name = "station intercom (General)";
- pixel_y = 25
- },
/obj/structure/chair/comfy/shuttle{
dir = 4
},
-/turf/simulated/shuttle/floor,
-/area/shuttle/pod_3)
-"aBl" = (
-/obj/machinery/status_display{
- density = 0;
- layer = 4;
- pixel_x = 0;
- pixel_y = 32
+/turf/simulated/shuttle/floor{
+ icon_state = "floor4"
},
-/obj/machinery/light,
-/obj/structure/chair/comfy/shuttle{
- dir = 4
- },
-/turf/simulated/shuttle/floor,
-/area/shuttle/pod_3)
+/area/shuttle/syndicate_sit)
"aBm" = (
/obj/item/stack/rods,
/turf/space,
@@ -16570,14 +16556,16 @@
/turf/simulated/floor/plating,
/area/security/prisonershuttle)
"aBC" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
+/obj/structure/shuttle/engine/propulsion/burst{
+ dir = 8
},
-/obj/effect/decal/cleanable/dirt,
-/turf/simulated/floor/plasteel{
- icon_state = "floorgrime"
+/turf/simulated/floor/plating,
+/turf/simulated/shuttle/wall{
+ tag = "icon-swall_f6";
+ icon_state = "swall_f6";
+ dir = 2
},
-/area/maintenance/fsmaint)
+/area/shuttle/pod_3)
"aBD" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
/turf/simulated/shuttle/floor{
@@ -17323,22 +17311,21 @@
/turf/simulated/floor/plating,
/area/maintenance/abandonedbar)
"aCX" = (
-/obj/structure/shuttle/engine/propulsion/burst{
- dir = 8
- },
-/turf/simulated/floor/plating,
-/turf/simulated/shuttle/wall{
- tag = "icon-swall_f5";
- icon_state = "swall_f5";
- dir = 2
- },
-/area/shuttle/pod_3)
-"aCY" = (
/obj/structure/chair/comfy/shuttle,
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
/area/shuttle/syndicate_elite)
+"aCY" = (
+/obj/machinery/light/spot{
+ tag = "icon-tube1 (WEST)";
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/simulated/shuttle/floor{
+ icon_state = "floor4"
+ },
+/area/shuttle/syndicate_sit)
"aCZ" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/light{
@@ -17768,17 +17755,14 @@
/turf/simulated/wall,
/area/crew_quarters/mrchangs)
"aDO" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock{
- name = "Magistrate's Office";
- req_access_txt = "74"
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
+/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel{
- tag = "icon-cult";
- icon_state = "cult";
- dir = 2
+ icon_state = "floorgrime"
},
-/area/magistrateoffice)
+/area/maintenance/fsmaint)
"aDP" = (
/turf/simulated/wall,
/area/civilian/barber)
@@ -18992,26 +18976,6 @@
/obj/item/twohanded/required/kirbyplants,
/turf/simulated/floor/wood,
/area/crew_quarters/courtroom)
-"aGv" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock{
- name = "Magistrate's Office";
- req_access_txt = "74"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
-/turf/simulated/floor/plasteel{
- tag = "icon-cult";
- icon_state = "cult";
- dir = 2
- },
-/area/magistrateoffice)
"aGw" = (
/obj/structure/disposalpipe/junction{
dir = 1;
@@ -19677,16 +19641,16 @@
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2)
"aHV" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/security{
- name = "Detective";
- req_access = null;
- req_access_txt = "4"
+/obj/structure/shuttle/engine/propulsion/burst{
+ dir = 8
},
-/turf/simulated/floor/plasteel{
- icon_state = "grimy"
+/turf/simulated/floor/plating,
+/turf/simulated/shuttle/wall{
+ tag = "icon-swall_f5";
+ icon_state = "swall_f5";
+ dir = 2
},
-/area/security/detectives_office)
+/area/shuttle/pod_3)
"aHW" = (
/obj/structure/cable{
d1 = 1;
@@ -20059,15 +20023,17 @@
},
/area/maintenance/fpmaint2)
"aIM" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock{
+ name = "Magistrate's Office";
+ req_access_txt = "74"
},
-/obj/effect/decal/cleanable/dirt,
-/turf/simulated/floor/wood{
- tag = "icon-wood-broken3";
- icon_state = "wood-broken3"
+/turf/simulated/floor/plasteel{
+ tag = "icon-cult";
+ icon_state = "cult";
+ dir = 2
},
-/area/maintenance/fpmaint2)
+/area/magistrateoffice)
"aIN" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -20729,26 +20695,6 @@
},
/turf/simulated/floor/plasteel,
/area/hallway/primary/fore)
-"aKp" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/public/glass{
- name = "Courtroom";
- req_access_txt = "63"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/door/poddoor/shutters{
- density = 0;
- dir = 4;
- icon_state = "open";
- id_tag = "courtroomshutters";
- layer = 3.21;
- name = "Courtroom Privacy Shutters";
- opacity = 0
- },
-/turf/simulated/floor/wood,
-/area/crew_quarters/courtroom)
"aKq" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -20809,20 +20755,25 @@
},
/area/lawoffice)
"aKx" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock{
+ name = "Magistrate's Office";
+ req_access_txt = "74"
},
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- pixel_y = 0
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
+/turf/simulated/floor/plasteel{
+ tag = "icon-cult";
+ icon_state = "cult";
+ dir = 2
},
-/turf/simulated/floor/plating,
-/area/maintenance/fsmaint)
+/area/magistrateoffice)
"aKy" = (
/obj/item/twohanded/required/kirbyplants,
/turf/simulated/floor/plasteel{
@@ -21131,17 +21082,16 @@
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2)
"aLh" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/security{
+ name = "Detective";
+ req_access = null;
+ req_access_txt = "4"
},
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
+/turf/simulated/floor/plasteel{
+ icon_state = "grimy"
},
-/obj/machinery/atmospherics/pipe/simple/visible/purple,
-/turf/simulated/floor/plating,
-/area/maintenance/fpmaint2)
+/area/security/detectives_office)
"aLi" = (
/obj/structure/cable{
d1 = 2;
@@ -21213,22 +21163,11 @@
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12"
},
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- tag = ""
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/wood{
+ tag = "icon-wood-broken3";
+ icon_state = "wood-broken3"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/visible/purple{
- dir = 4
- },
-/turf/simulated/floor/plating,
/area/maintenance/fpmaint2)
"aLo" = (
/obj/structure/cable{
@@ -22066,33 +22005,6 @@
},
/turf/simulated/floor/carpet,
/area/crew_quarters/courtroom)
-"aNe" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/public/glass{
- name = "Courtroom";
- req_access_txt = "63"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4;
- level = 1
- },
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- tag = ""
- },
-/obj/machinery/door/poddoor/shutters{
- density = 0;
- dir = 4;
- icon_state = "open";
- id_tag = "courtroomshutters";
- layer = 3.21;
- name = "Courtroom Privacy Shutters";
- opacity = 0
- },
-/turf/simulated/floor/wood,
-/area/crew_quarters/courtroom)
"aNf" = (
/obj/machinery/access_button{
command = "cycle_interior";
@@ -22451,13 +22363,25 @@
/turf/simulated/floor/plating,
/area/maintenance/fsmaint2)
"aNS" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/public/glass{
+ name = "Courtroom";
+ req_access_txt = "63"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/simulated/floor/plating,
-/area/maintenance/fpmaint2)
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/door/poddoor/shutters{
+ density = 0;
+ dir = 4;
+ icon_state = "open";
+ id_tag = "courtroomshutters";
+ layer = 3.21;
+ name = "Courtroom Privacy Shutters";
+ opacity = 0
+ },
+/turf/simulated/floor/wood,
+/area/crew_quarters/courtroom)
"aNT" = (
/obj/machinery/status_display{
layer = 4;
@@ -22555,21 +22479,6 @@
icon_state = "barber"
},
/area/civilian/barber)
-"aOa" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
- },
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
- },
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/turf/simulated/floor/plating,
-/area/maintenance/fsmaint2)
"aOb" = (
/obj/machinery/prize_counter,
/obj/machinery/light{
@@ -22879,21 +22788,44 @@
/turf/simulated/floor/plating,
/area/maintenance/electrical)
"aON" = (
-/obj/structure/shuttle/engine/propulsion/burst,
-/turf/simulated/floor/plating,
-/turf/simulated/shuttle/wall{
- icon_state = "swall_f5";
- dir = 2
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
-/area/shuttle/pod_1)
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/visible/purple,
+/turf/simulated/floor/plating,
+/area/maintenance/fpmaint2)
"aOO" = (
-/obj/structure/shuttle/engine/propulsion/burst,
-/turf/simulated/floor/plating,
-/turf/simulated/shuttle/wall{
- icon_state = "swall_f9";
- dir = 2
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/public/glass{
+ name = "Courtroom";
+ req_access_txt = "63"
},
-/area/shuttle/pod_1)
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4;
+ level = 1
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ tag = ""
+ },
+/obj/machinery/door/poddoor/shutters{
+ density = 0;
+ dir = 4;
+ icon_state = "open";
+ id_tag = "courtroomshutters";
+ layer = 3.21;
+ name = "Courtroom Privacy Shutters";
+ opacity = 0
+ },
+/turf/simulated/floor/wood,
+/area/crew_quarters/courtroom)
"aOP" = (
/obj/machinery/light/small{
dir = 8
@@ -22978,11 +22910,14 @@
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12"
},
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
},
/turf/simulated/floor/plating,
/area/maintenance/fsmaint)
@@ -22991,6 +22926,9 @@
/turf/simulated/wall,
/area/maintenance/fpmaint2)
"aPd" = (
+/obj/machinery/light_switch{
+ pixel_y = 27
+ },
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "yellowcorner"
@@ -23045,9 +22983,23 @@
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/visible/purple{
+ dir = 4
+ },
/turf/simulated/floor/plating,
-/area/maintenance/fsmaint)
+/area/maintenance/fpmaint2)
"aPi" = (
/turf/simulated/floor/plating,
/area/maintenance/fpmaint)
@@ -23346,13 +23298,17 @@
/turf/simulated/wall,
/area/maintenance/electrical)
"aPP" = (
-/obj/structure/shuttle/engine/propulsion/burst,
-/turf/simulated/floor/plating,
-/turf/simulated/shuttle/wall{
- icon_state = "swall_f5";
- dir = 2
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
-/area/shuttle/pod_2)
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/fsmaint)
"aPQ" = (
/obj/effect/decal/warning_stripes/north,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -23401,16 +23357,15 @@
},
/area/hallway/secondary/entry)
"aPU" = (
-/obj/structure/shuttle/engine/propulsion/burst,
-/turf/simulated/floor/plating,
-/turf/simulated/shuttle/wall{
- icon_state = "swall_f9";
- dir = 2
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
-/area/shuttle/pod_2)
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/plating,
+/area/maintenance/fsmaint)
"aPV" = (
/obj/structure/chair/comfy/shuttle{
- dir = 4
+ dir = 8
},
/turf/simulated/shuttle/floor,
/area/shuttle/trade/sol)
@@ -24119,23 +24074,13 @@
/turf/simulated/floor/plating,
/area/maintenance/fpmaint)
"aRm" = (
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- pixel_x = 0
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
- },
+/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating,
-/area/maintenance/fpmaint)
+/turf/simulated/shuttle/wall{
+ icon_state = "swall_f5";
+ dir = 2
+ },
+/area/shuttle/pod_1)
"aRn" = (
/obj/structure/cable{
d1 = 4;
@@ -24287,21 +24232,13 @@
},
/area/hallway/primary/starboard/west)
"aRz" = (
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- pixel_x = 0;
- tag = ""
- },
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
+/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating,
-/area/maintenance/fsmaint2)
+/turf/simulated/shuttle/wall{
+ icon_state = "swall_f9";
+ dir = 2
+ },
+/area/shuttle/pod_1)
"aRA" = (
/obj/structure/cable{
d1 = 1;
@@ -24520,16 +24457,13 @@
/turf/simulated/floor/plating,
/area/hallway/secondary/entry)
"aRV" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
- },
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
+/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating,
-/area/maintenance/fpmaint)
+/turf/simulated/shuttle/wall{
+ icon_state = "swall_f5";
+ dir = 2
+ },
+/area/shuttle/pod_2)
"aRW" = (
/obj/machinery/light{
icon_state = "tube1";
@@ -24550,19 +24484,13 @@
/turf/simulated/floor/plating,
/area/maintenance/fsmaint2)
"aRY" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
- },
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating,
-/area/maintenance/fpmaint2)
+/turf/simulated/shuttle/wall{
+ icon_state = "swall_f9";
+ dir = 2
+ },
+/area/shuttle/pod_2)
"aRZ" = (
/obj/structure/table,
/obj/machinery/cell_charger,
@@ -25178,12 +25106,19 @@
/turf/simulated/floor/plating,
/area/maintenance/fsmaint2)
"aTs" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
/obj/machinery/door/airlock/maintenance{
- name = "Chapel Maintenance";
req_access_txt = "12"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/maintenance/fsmaint2)
"aTt" = (
@@ -25985,10 +25920,8 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plating,
-/area/maintenance/fpmaint2)
+/area/maintenance/fpmaint)
"aVc" = (
/turf/simulated/wall,
/area/security/checkpoint2)
@@ -26453,24 +26386,10 @@
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4;
- level = 1
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- tag = ""
- },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plating,
-/area/maintenance/fpmaint)
+/area/maintenance/fpmaint2)
"aVM" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plasteel,
@@ -27582,19 +27501,6 @@
/obj/machinery/lapvend,
/turf/simulated/floor/plasteel,
/area/storage/primary)
-"aXT" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/tranquillite{
- name = "Mime's Office";
- req_access_txt = "46"
- },
-/turf/simulated/floor/plasteel{
- icon_state = "tranquillite";
- dir = 4;
- icon_regular_floor = "yellowsiding";
- icon_plating = "plating"
- },
-/area/mimeoffice)
"aXU" = (
/obj/item/flag/mime,
/obj/machinery/power/apc{
@@ -27915,6 +27821,9 @@
/obj/item/storage/fancy/cigarettes,
/obj/item/lighter/zippo,
/obj/item/pen/multi,
+/obj/item/enginepicker{
+ layer = 3.1
+ },
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutralfull"
@@ -29452,14 +29361,6 @@
dir = 2
},
/area/crew_quarters/dorms)
-"bbx" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/bananium{
- name = "Clown's Office";
- req_access_txt = "46"
- },
-/turf/simulated/floor/wood,
-/area/clownoffice)
"bby" = (
/obj/machinery/camera{
c_tag = "Medbay Morgue";
@@ -30007,14 +29908,23 @@
/turf/simulated/floor/carpet/black,
/area/chapel/office)
"bcv" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
/obj/machinery/door/airlock/maintenance{
- name = "Library Maintenance";
req_access_txt = "12"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plating,
-/area/maintenance/fsmaint2)
+/area/maintenance/fpmaint)
"bcw" = (
/obj/machinery/alarm{
pixel_y = 25
@@ -30138,15 +30048,11 @@
/turf/simulated/shuttle/floor,
/area/shuttle/escape)
"bcK" = (
-/obj/machinery/atm{
- pixel_x = 0;
- pixel_y = 32
- },
/obj/structure/chair/comfy/shuttle{
- dir = 8
+ dir = 1
},
/turf/simulated/shuttle/floor,
-/area/shuttle/trade/sol)
+/area/shuttle/escape)
"bcL" = (
/obj/machinery/computer/communications,
/turf/simulated/shuttle/floor,
@@ -31136,15 +31042,27 @@
},
/area/hallway/primary/central/north)
"bew" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/glass{
- name = "Chapel Office";
- req_access_txt = "22"
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
-/turf/simulated/floor/plasteel{
- icon_state = "dark"
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4;
+ level = 1
},
-/area/chapel/office)
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ tag = ""
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/fpmaint)
"bex" = (
/obj/machinery/requests_console{
department = "Arrival Shuttle";
@@ -31174,12 +31092,6 @@
/obj/machinery/computer/station_alert,
/turf/simulated/shuttle/floor,
/area/shuttle/escape)
-"beB" = (
-/obj/structure/chair/comfy/shuttle{
- dir = 8
- },
-/turf/simulated/shuttle/floor,
-/area/shuttle/trade/sol)
"beC" = (
/turf/simulated/shuttle/floor,
/area/shuttle/escape)
@@ -31443,14 +31355,18 @@
},
/area/crew_quarters/dorms)
"bfa" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/tranquillite{
+ name = "Mime's Office";
+ req_access_txt = "46"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/simulated/floor/plating,
-/area/maintenance/fpmaint)
+/turf/simulated/floor/plasteel{
+ icon_state = "tranquillite";
+ dir = 4;
+ icon_regular_floor = "yellowsiding";
+ icon_plating = "plating"
+ },
+/area/mimeoffice)
"bfb" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4;
@@ -31506,8 +31422,16 @@
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12"
},
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plating,
-/area/maintenance/fpmaint)
+/area/maintenance/fpmaint2)
"bfg" = (
/obj/effect/spawner/window/reinforced,
/obj/structure/cable,
@@ -32202,39 +32126,23 @@
/turf/simulated/floor/plasteel,
/area/hallway/secondary/entry)
"bgo" = (
-/obj/machinery/flasher{
- id = "soltraderflash";
- pixel_y = -28
+/obj/structure/closet/walllocker/emerglocker{
+ pixel_x = -28
},
/obj/structure/chair/comfy/shuttle{
- dir = 8
+ dir = 1
},
/turf/simulated/shuttle/floor,
-/area/shuttle/trade/sol)
+/area/shuttle/escape)
"bgp" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
+/obj/structure/closet/walllocker/emerglocker{
+ pixel_x = 28
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 6
- },
-/turf/simulated/floor/plasteel{
- dir = 2;
- icon_state = "asteroid";
- tag = "icon-asteroid (NORTH)"
- },
-/turf/simulated/floor/plasteel{
- tag = "icon-siding2 (NORTH)";
- icon_state = "siding2";
+/obj/structure/chair/comfy/shuttle{
dir = 1
},
-/turf/simulated/floor/plasteel{
- tag = "icon-siding1 (NORTH)";
- icon_state = "siding1";
- dir = 1
- },
-/area/hydroponics)
+/turf/simulated/shuttle/floor,
+/area/shuttle/escape)
"bgq" = (
/obj/machinery/power/apc{
dir = 1;
@@ -32956,8 +32864,8 @@
/obj/machinery/light{
dir = 1
},
-/obj/structure/reagent_dispensers/watertank/high,
-/obj/item/reagent_containers/glass/bucket,
+/obj/structure/table,
+/obj/machinery/smartfridge/disks,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -33208,56 +33116,21 @@
/turf/simulated/shuttle/floor,
/area/shuttle/escape)
"bil" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
+/obj/structure/chair/comfy/shuttle{
+ dir = 8
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/mob/living/simple_animal/pig,
-/turf/simulated/floor/plasteel{
- dir = 2;
- icon_state = "asteroid";
- tag = "icon-asteroid (NORTH)"
- },
-/turf/simulated/floor/plasteel{
- tag = "icon-siding1 (NORTH)";
- icon_state = "siding1";
- dir = 1
- },
-/turf/simulated/floor/plasteel{
- tag = "icon-siding2 (NORTH)";
- icon_state = "siding2";
- dir = 1
- },
-/area/hydroponics)
+/turf/simulated/shuttle/floor,
+/area/shuttle/escape)
"bim" = (
/obj/machinery/light/spot,
/turf/simulated/shuttle/floor,
/area/shuttle/escape)
"bin" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+/obj/structure/chair/comfy/shuttle{
dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/plasteel{
- dir = 2;
- icon_state = "asteroid";
- tag = "icon-asteroid (NORTH)"
- },
-/turf/simulated/floor/plasteel{
- tag = "icon-siding1 (NORTH)";
- icon_state = "siding1";
- dir = 1
- },
-/turf/simulated/floor/plasteel{
- tag = "icon-siding2 (NORTH)";
- icon_state = "siding2";
- dir = 1
- },
-/area/hydroponics)
+/turf/simulated/shuttle/floor,
+/area/shuttle/escape)
"bio" = (
/obj/effect/spawner/lootdrop/maintenance,
/obj/structure/cable{
@@ -33805,33 +33678,39 @@
},
/area/hydroponics)
"bje" = (
-/obj/structure/chair/comfy/shuttle{
- dir = 1
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/bananium{
+ name = "Clown's Office";
+ req_access_txt = "46"
},
-/turf/simulated/shuttle/floor,
-/area/shuttle/escape)
+/turf/simulated/floor/wood,
+/area/clownoffice)
"bjf" = (
/obj/structure/reagent_dispensers/beerkeg,
/turf/simulated/floor/wood,
/area/crew_quarters/bar)
"bjg" = (
-/obj/structure/closet/walllocker/emerglocker{
- pixel_x = -28
+/obj/machinery/door/airlock/maintenance{
+ name = "Chapel Maintenance";
+ req_access_txt = "12"
},
-/obj/structure/chair/comfy/shuttle{
- dir = 1
- },
-/turf/simulated/shuttle/floor,
-/area/shuttle/escape)
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/plating,
+/area/maintenance/fsmaint2)
"bjh" = (
-/obj/structure/closet/walllocker/emerglocker{
- pixel_x = 28
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
-/obj/structure/chair/comfy/shuttle{
- dir = 1
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
},
-/turf/simulated/shuttle/floor,
-/area/shuttle/escape)
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/plating,
+/area/maintenance/fpmaint2)
"bji" = (
/obj/item/radio/beacon,
/turf/simulated/floor/plasteel,
@@ -34950,10 +34829,16 @@
/turf/simulated/floor/carpet,
/area/crew_quarters/bar)
"blu" = (
-/obj/structure/chair/comfy/shuttle{
- dir = 8
+/obj/machinery/status_display{
+ pixel_y = 30
},
-/turf/simulated/shuttle/floor,
+/obj/machinery/light/spot{
+ tag = "icon-tube1 (NORTH)";
+ icon_state = "tube1";
+ dir = 1
+ },
+/obj/structure/chair/comfy/shuttle,
+/turf/simulated/shuttle/floor4,
/area/shuttle/escape)
"blv" = (
/obj/machinery/status_display{
@@ -35005,7 +34890,9 @@
/obj/structure/chair/comfy/shuttle{
dir = 4
},
-/turf/simulated/shuttle/floor,
+/turf/simulated/shuttle/floor{
+ icon_state = "floor3"
+ },
/area/shuttle/escape)
"blB" = (
/obj/structure/sign/securearea{
@@ -35021,9 +34908,11 @@
/area/hallway/secondary/entry)
"blC" = (
/obj/structure/chair/comfy/shuttle{
- dir = 4
+ dir = 8
+ },
+/turf/simulated/shuttle/floor{
+ icon_state = "floor3"
},
-/turf/simulated/shuttle/floor4,
/area/shuttle/escape)
"blD" = (
/obj/structure/grille,
@@ -35773,15 +35662,9 @@
/turf/simulated/floor/plasteel,
/area/hallway/primary/central/nw)
"bmX" = (
-/obj/machinery/status_display{
- pixel_y = 30
+/obj/structure/chair/comfy/shuttle{
+ dir = 4
},
-/obj/machinery/light/spot{
- tag = "icon-tube1 (NORTH)";
- icon_state = "tube1";
- dir = 1
- },
-/obj/structure/chair/comfy/shuttle,
/turf/simulated/shuttle/floor4,
/area/shuttle/escape)
"bmY" = (
@@ -35814,6 +35697,9 @@
/turf/simulated/floor/plating,
/area/shuttle/escape)
"bnc" = (
+/obj/structure/closet/walllocker/emerglocker{
+ pixel_x = 28
+ },
/obj/structure/chair/comfy/shuttle{
dir = 8
},
@@ -36452,6 +36338,7 @@
/turf/simulated/floor/carpet,
/area/crew_quarters/bar)
"bou" = (
+/obj/item/reagent_containers/glass/bucket,
/obj/structure/sink{
icon_state = "sink";
dir = 8;
@@ -37078,9 +36965,8 @@
/turf/simulated/floor/plasteel,
/area/assembly/chargebay)
"bpE" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/airlock/freezer{
- req_access_txt = "28"
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
/obj/structure/cable{
d1 = 1;
@@ -37088,12 +36974,11 @@
icon_state = "1-2";
tag = ""
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/simulated/floor/plasteel{
- icon_state = "showroomfloor"
- },
-/area/crew_quarters/kitchen)
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/plating,
+/area/maintenance/fsmaint2)
"bpF" = (
/obj/machinery/alarm{
dir = 1;
@@ -37365,18 +37250,14 @@
/turf/simulated/floor/wood,
/area/crew_quarters/bar)
"bqj" = (
-/obj/machinery/door/airlock{
- name = "Port Emergency Storage";
- req_access_txt = "0"
- },
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
+/obj/machinery/door/airlock/maintenance{
+ name = "Library Maintenance";
+ req_access_txt = "12"
},
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plating,
-/area/storage/emergency2)
+/area/maintenance/fsmaint2)
"bqk" = (
/obj/structure/chair/wood/wings{
tag = "icon-wooden_chair_wings (WEST)";
@@ -38799,6 +38680,16 @@
},
/area/maintenance/asmaint2)
"btt" = (
+/obj/item/radio/intercom{
+ dir = 8;
+ name = "station intercom (General)";
+ pixel_x = -28
+ },
+/obj/machinery/light/spot{
+ tag = "icon-tube1 (WEST)";
+ icon_state = "tube1";
+ dir = 8
+ },
/obj/structure/chair/comfy/shuttle{
dir = 4
},
@@ -38807,17 +38698,21 @@
},
/area/shuttle/escape)
"btu" = (
-/obj/structure/shuttle/engine/propulsion{
- dir = 8;
- icon_state = "propulsion";
- tag = "icon-propulsion (EAST)"
+/obj/structure/closet/walllocker/emerglocker{
+ pixel_x = 28
},
-/turf/space,
-/turf/simulated/shuttle/wall{
- icon_state = "swall_f6";
- dir = 2
+/obj/machinery/light/spot{
+ tag = "icon-tube1 (EAST)";
+ icon_state = "tube1";
+ dir = 4
},
-/area/shuttle/transport)
+/obj/structure/chair/comfy/shuttle{
+ dir = 8
+ },
+/turf/simulated/shuttle/floor{
+ icon_state = "floor3"
+ },
+/area/shuttle/escape)
"btv" = (
/turf/simulated/shuttle/floor,
/turf/simulated/shuttle/wall/interior{
@@ -38857,6 +38752,11 @@
/turf/simulated/shuttle/floor,
/area/shuttle/transport)
"btz" = (
+/obj/machinery/light/spot{
+ tag = "icon-tube1 (NORTH)";
+ icon_state = "tube1";
+ dir = 1
+ },
/obj/structure/chair/comfy/shuttle,
/turf/simulated/shuttle/floor,
/area/shuttle/transport)
@@ -38883,11 +38783,6 @@
/turf/simulated/shuttle/floor,
/area/shuttle/transport)
"btD" = (
-/obj/machinery/light/spot{
- tag = "icon-tube1 (NORTH)";
- icon_state = "tube1";
- dir = 1
- },
/obj/structure/chair/comfy/shuttle,
/turf/simulated/shuttle/floor,
/area/shuttle/transport)
@@ -39959,20 +39854,15 @@
},
/area/crew_quarters/kitchen)
"bvN" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/glass{
+ name = "Chapel Office";
+ req_access_txt = "22"
},
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
+/turf/simulated/floor/plasteel{
+ icon_state = "dark"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/turf/simulated/floor/plating,
-/area/maintenance/fsmaint2)
+/area/chapel/office)
"bvO" = (
/obj/structure/cable{
icon_state = "0-2";
@@ -40239,17 +40129,14 @@
},
/area/hallway/secondary/exit)
"bwl" = (
+/obj/structure/disposalpipe/segment,
/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/public/glass{
- name = "Kitchen";
- req_access_txt = "28"
+/obj/machinery/door/airlock{
+ name = "Bar Office";
+ req_access_txt = "25"
},
-/turf/simulated/floor/plasteel{
- dir = 2;
- icon_state = "cafeteria";
- tag = "icon-cafeteria (NORTHEAST)"
- },
-/area/crew_quarters/kitchen)
+/turf/simulated/floor/wood,
+/area/crew_quarters/bar)
"bwm" = (
/turf/simulated/floor/plasteel{
dir = 10;
@@ -40445,18 +40332,13 @@
/turf/simulated/shuttle/floor,
/area/shuttle/transport)
"bwI" = (
-/obj/structure/shuttle/engine/propulsion{
- dir = 8;
- icon_state = "propulsion";
- tag = "icon-propulsion (EAST)"
- },
-/turf/space,
-/turf/simulated/shuttle/wall{
- icon_state = "swall_f5";
- dir = 2
+/obj/structure/chair/comfy/shuttle{
+ dir = 1
},
+/turf/simulated/shuttle/floor,
/area/shuttle/transport)
"bwJ" = (
+/obj/machinery/light/spot,
/obj/structure/chair/comfy/shuttle{
dir = 1
},
@@ -40642,14 +40524,21 @@
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
"bwX" = (
-/obj/structure/closet/walllocker/emerglocker{
- pixel_x = -28
+/obj/machinery/door/airlock/maintenance{
+ name = "Bar Maintenance";
+ req_access_txt = "12"
},
-/obj/structure/chair/comfy/shuttle{
- dir = 4
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
},
-/turf/simulated/shuttle/floor4,
-/area/shuttle/escape)
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/plating,
+/area/maintenance/fsmaint2)
"bwY" = (
/obj/machinery/power/apc{
dir = 4;
@@ -41435,16 +41324,14 @@
},
/area/hallway/primary/central/ne)
"bys" = (
-/obj/structure/closet/walllocker/emerglocker{
- pixel_x = 28
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
-/obj/structure/chair/comfy/shuttle{
- dir = 8
- },
-/turf/simulated/shuttle/floor{
- icon_state = "floor3"
- },
-/area/shuttle/escape)
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/plating,
+/area/maintenance/fpmaint)
"byt" = (
/obj/machinery/door/airlock/command/glass{
name = "Bridge";
@@ -42683,12 +42570,20 @@
},
/area/shuttle/specops)
"bAS" = (
-/obj/machinery/light/spot,
-/obj/structure/chair/comfy/shuttle{
+/obj/machinery/recharger/wallcharger{
+ pixel_x = 4;
+ pixel_y = 32
+ },
+/obj/machinery/light/spot{
+ tag = "icon-tube1 (NORTH)";
+ icon_state = "tube1";
dir = 1
},
-/turf/simulated/shuttle/floor,
-/area/shuttle/transport)
+/obj/structure/chair/comfy/shuttle,
+/turf/simulated/shuttle/floor{
+ icon_state = "floor4"
+ },
+/area/shuttle/specops)
"bAT" = (
/turf/space,
/turf/simulated/shuttle/wall{
@@ -43143,8 +43038,11 @@
/turf/simulated/floor/plating,
/area/shuttle/escape)
"bBT" = (
+/obj/structure/closet/walllocker/emerglocker{
+ pixel_x = -28
+ },
/obj/structure/chair/comfy/shuttle{
- dir = 1
+ dir = 4
},
/turf/simulated/shuttle/floor4,
/area/shuttle/escape)
@@ -43194,10 +43092,9 @@
},
/area/shuttle/escape)
"bBZ" = (
-/obj/machinery/camera{
- c_tag = "CentComm Special Ops. Shuttle";
- dir = 2;
- network = list("ERT","CentComm")
+/obj/machinery/recharger/wallcharger{
+ pixel_x = 4;
+ pixel_y = 32
},
/obj/structure/chair/comfy/shuttle,
/turf/simulated/shuttle/floor{
@@ -43239,9 +43136,10 @@
/turf/unsimulated/floor,
/area/shuttle/specops)
"bCe" = (
-/obj/machinery/recharger/wallcharger{
- pixel_x = 4;
- pixel_y = 32
+/obj/machinery/camera{
+ c_tag = "CentComm Special Ops. Shuttle";
+ dir = 2;
+ network = list("ERT","CentComm")
},
/obj/structure/chair/comfy/shuttle,
/turf/simulated/shuttle/floor{
@@ -43336,10 +43234,8 @@
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plating,
-/area/maintenance/port)
+/area/maintenance/fpmaint)
"bCr" = (
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
@@ -43994,16 +43890,11 @@
},
/area/shuttle/escape)
"bDG" = (
-/obj/machinery/recharger/wallcharger{
- pixel_x = 4;
- pixel_y = 32
- },
/obj/machinery/light/spot{
- tag = "icon-tube1 (NORTH)";
+ tag = "icon-tube1 (WEST)";
icon_state = "tube1";
- dir = 1
+ dir = 8
},
-/obj/structure/chair/comfy/shuttle,
/turf/simulated/shuttle/floor{
icon_state = "floor4"
},
@@ -44488,10 +44379,8 @@
},
/area/shuttle/specops)
"bEL" = (
-/obj/machinery/light/spot{
- tag = "icon-tube1 (WEST)";
- icon_state = "tube1";
- dir = 8
+/obj/structure/chair/comfy/shuttle{
+ dir = 1
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
@@ -44979,22 +44868,29 @@
/turf/simulated/floor/wood,
/area/bridge/meeting_room)
"bFJ" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
- },
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
+/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
+ dir = 6
},
-/turf/simulated/floor/plating,
-/area/maintenance/port)
+/turf/simulated/floor/plasteel{
+ dir = 2;
+ icon_state = "asteroid";
+ tag = "icon-asteroid (NORTH)"
+ },
+/turf/simulated/floor/plasteel{
+ tag = "icon-siding2 (NORTH)";
+ icon_state = "siding2";
+ dir = 1
+ },
+/turf/simulated/floor/plasteel{
+ tag = "icon-siding1 (NORTH)";
+ icon_state = "siding1";
+ dir = 1
+ },
+/area/hydroponics)
"bFK" = (
/obj/machinery/computer/communications,
/turf/simulated/floor/wood,
@@ -45586,10 +45482,8 @@
/obj/structure/chair/comfy/shuttle{
dir = 1
},
-/turf/simulated/shuttle/floor{
- icon_state = "floor4"
- },
-/area/shuttle/specops)
+/turf/simulated/shuttle/floor4,
+/area/shuttle/escape)
"bGK" = (
/obj/effect/spawner/window/reinforced,
/obj/machinery/door/poddoor{
@@ -48009,18 +47903,29 @@
/turf/simulated/floor/plasteel,
/area/assembly/chargebay)
"bLn" = (
-/obj/machinery/door/airlock/research{
- name = "Research Division Access";
- req_access_txt = "47"
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/mob/living/simple_animal/pig,
/turf/simulated/floor/plasteel{
- icon_state = "white"
+ dir = 2;
+ icon_state = "asteroid";
+ tag = "icon-asteroid (NORTH)"
},
-/area/medical/research{
- name = "Research Division"
- })
+/turf/simulated/floor/plasteel{
+ tag = "icon-siding1 (NORTH)";
+ icon_state = "siding1";
+ dir = 1
+ },
+/turf/simulated/floor/plasteel{
+ tag = "icon-siding2 (NORTH)";
+ icon_state = "siding2";
+ dir = 1
+ },
+/area/hydroponics)
"bLo" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
@@ -48400,26 +48305,28 @@
/turf/simulated/floor/plasteel,
/area/assembly/robotics)
"bLU" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Disposal Access";
- req_access_txt = "12"
- },
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/structure/disposalpipe/segment{
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
+/turf/simulated/floor/plasteel{
+ dir = 2;
+ icon_state = "asteroid";
+ tag = "icon-asteroid (NORTH)"
},
-/turf/simulated/floor/plating,
-/area/maintenance/port)
+/turf/simulated/floor/plasteel{
+ tag = "icon-siding1 (NORTH)";
+ icon_state = "siding1";
+ dir = 1
+ },
+/turf/simulated/floor/plasteel{
+ tag = "icon-siding2 (NORTH)";
+ icon_state = "siding2";
+ dir = 1
+ },
+/area/hydroponics)
"bLV" = (
/obj/item/storage/firstaid/o2{
pixel_x = 5;
@@ -48700,20 +48607,6 @@
icon_state = "brown"
},
/area/quartermaster/office)
-"bMz" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/mining/glass{
- name = "Cargo Bay";
- req_access_txt = "31"
- },
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- pixel_x = 0
- },
-/turf/simulated/floor/plasteel,
-/area/quartermaster/storage)
"bMA" = (
/obj/machinery/mineral/ore_redemption,
/turf/simulated/floor/plasteel,
@@ -48746,13 +48639,22 @@
/turf/simulated/wall,
/area/hallway/primary/central/sw)
"bMF" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/mining/glass{
- name = "Delivery Office";
- req_access_txt = "50"
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/freezer{
+ req_access_txt = "28"
},
-/turf/simulated/floor/plasteel,
-/area/quartermaster/office)
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/plasteel{
+ icon_state = "showroomfloor"
+ },
+/area/crew_quarters/kitchen)
"bMG" = (
/turf/simulated/wall/r_wall,
/area/crew_quarters/heads)
@@ -49604,25 +49506,18 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/office)
"bNP" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/mining/glass{
- name = "Delivery Office";
- req_access_txt = "50"
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- pixel_x = 0
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/plasteel,
-/area/quartermaster/office)
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/plating,
+/area/maintenance/port)
"bNQ" = (
/obj/machinery/light{
icon_state = "tube1";
@@ -49897,24 +49792,13 @@
},
/area/quartermaster/office)
"bOn" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/mining/glass{
- name = "Cargo Bay";
- req_access_txt = "31"
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/plasteel,
-/area/quartermaster/storage)
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/plating,
+/area/maintenance/port)
"bOo" = (
/obj/effect/landmark{
name = "blobstart"
@@ -50563,25 +50447,18 @@
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
"bPr" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/poddoor{
- density = 0;
- icon_state = "open";
- id_tag = "Biohazard_medi";
- name = "Quarantine Lockdown";
- opacity = 0
+/obj/machinery/door/airlock{
+ name = "Port Emergency Storage";
+ req_access_txt = "0"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/door/airlock/medical/glass{
- id_tag = "MedbayFoyerPort";
- name = "Medbay Entrance";
- req_access_txt = "5"
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
},
-/turf/simulated/floor/plasteel{
- icon_state = "white"
- },
-/area/medical/reception)
+/turf/simulated/floor/plating,
+/area/storage/emergency2)
"bPs" = (
/obj/machinery/status_display,
/turf/simulated/wall/r_wall,
@@ -50604,25 +50481,17 @@
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
"bPv" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/poddoor{
- density = 0;
- icon_state = "open";
- id_tag = "Biohazard_medi";
- name = "Quarantine Lockdown";
- opacity = 0
+/obj/structure/shuttle/engine/propulsion{
+ dir = 8;
+ icon_state = "propulsion";
+ tag = "icon-propulsion (EAST)"
},
-/obj/machinery/door/airlock/medical/glass{
- id_tag = "MedbayFoyerPort";
- name = "Medbay Entrance";
- req_access_txt = "5"
+/turf/space,
+/turf/simulated/shuttle/wall{
+ icon_state = "swall_f6";
+ dir = 2
},
-/turf/simulated/floor/plasteel{
- tag = "icon-whiteblue (WEST)";
- icon_state = "whiteblue";
- dir = 8
- },
-/area/medical/reception)
+/area/shuttle/transport)
"bPw" = (
/obj/machinery/atmospherics/unary/vent_scrubber{
dir = 4;
@@ -50634,25 +50503,20 @@
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"bPx" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/poddoor{
- density = 0;
- icon_state = "open";
- id_tag = "Biohazard_medi";
- name = "Quarantine Lockdown";
- opacity = 0
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
},
-/obj/machinery/door/airlock/medical/glass{
- id_tag = "MedbayFoyerPort";
- name = "Medbay Entrance";
- req_access_txt = "5"
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
-/turf/simulated/floor/plasteel{
- dir = 4;
- icon_state = "whiteblue";
- tag = "icon-whitehall (WEST)"
- },
-/area/medical/reception)
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/plating,
+/area/maintenance/fsmaint2)
"bPy" = (
/obj/structure/table,
/obj/item/assembly/prox_sensor{
@@ -50840,23 +50704,17 @@
},
/area/shuttle/administration)
"bPM" = (
-/obj/item/radio/intercom{
- dir = 8;
- name = "station intercom (General)";
- pixel_x = -28
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/public/glass{
+ name = "Kitchen";
+ req_access_txt = "28"
},
-/obj/machinery/light/spot{
- tag = "icon-tube1 (WEST)";
- icon_state = "tube1";
- dir = 8
+/turf/simulated/floor/plasteel{
+ dir = 2;
+ icon_state = "cafeteria";
+ tag = "icon-cafeteria (NORTHEAST)"
},
-/obj/structure/chair/comfy/shuttle{
- dir = 4
- },
-/turf/simulated/shuttle/floor{
- icon_state = "floor3"
- },
-/area/shuttle/escape)
+/area/crew_quarters/kitchen)
"bPN" = (
/obj/machinery/door/airlock/external{
id_tag = "s_docking_airlock";
@@ -50932,22 +50790,17 @@
/turf/simulated/floor/plating,
/area/quartermaster/storage)
"bPU" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/poddoor{
- density = 0;
- icon_state = "open";
- id_tag = "Biohazard_medi";
- name = "Quarantine Lockdown";
- opacity = 0
+/obj/structure/shuttle/engine/propulsion{
+ dir = 8;
+ icon_state = "propulsion";
+ tag = "icon-propulsion (EAST)"
},
-/obj/machinery/door/airlock/medical/glass{
- id_tag = "MedbayFoyer";
- name = "Medbay Emergency Entrance";
- req_access_txt = "5"
+/turf/space,
+/turf/simulated/shuttle/wall{
+ icon_state = "swall_f5";
+ dir = 2
},
-/obj/effect/decal/warning_stripes/northeast,
-/turf/simulated/floor/plasteel,
-/area/hallway/primary/central/se)
+/area/shuttle/transport)
"bPV" = (
/obj/effect/landmark/start{
name = "Cargo Technician"
@@ -52056,21 +51909,22 @@
},
/area/shuttle/administration)
"bRH" = (
-/obj/structure/closet/walllocker/emerglocker{
- pixel_x = 28
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
-/obj/machinery/light/spot{
- tag = "icon-tube1 (EAST)";
- icon_state = "tube1";
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/obj/structure/chair/comfy/shuttle{
- dir = 8
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
},
-/turf/simulated/shuttle/floor{
- icon_state = "floor3"
- },
-/area/shuttle/escape)
+/turf/simulated/floor/plating,
+/area/maintenance/port)
"bRI" = (
/obj/structure/plasticflaps/mining,
/obj/machinery/conveyor/east{
@@ -52545,36 +52399,39 @@
/turf/simulated/floor/plating,
/area/medical/chemistry)
"bSz" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/medical/glass{
- id_tag = "MedbayFoyer";
- name = "Medical Supplies";
- req_access_txt = "5"
+/obj/machinery/door/airlock/research{
+ name = "Research Division Access";
+ req_access_txt = "47"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
- tag = "icon-whitebluefull";
- icon_state = "whitebluefull"
+ icon_state = "white"
},
-/area/medical/biostorage)
+/area/medical/research{
+ name = "Research Division"
+ })
"bSA" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/medical/glass{
- id_tag = "MedbayFoyer";
- name = "Medical Supplies";
- req_access_txt = "5"
+/obj/machinery/door/airlock/maintenance{
+ name = "Disposal Access";
+ req_access_txt = "12"
},
-/turf/simulated/floor/plasteel{
- tag = "icon-whitebluefull";
- icon_state = "whitebluefull"
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
},
-/area/medical/biostorage)
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/port)
"bSB" = (
/obj/machinery/atmospherics/unary/cryo_cell,
/turf/simulated/floor/plasteel{
@@ -54149,19 +54006,39 @@
/turf/simulated/floor/plasteel,
/area/engine/gravitygenerator)
"bVk" = (
-/obj/structure/chair/comfy/shuttle{
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/mining/glass{
+ name = "Delivery Office";
+ req_access_txt = "50"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/simulated/shuttle/floor{
- icon_state = "floor2"
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
},
-/area/shuttle/constructionsite)
+/turf/simulated/floor/plasteel,
+/area/quartermaster/office)
"bVl" = (
-/obj/machinery/light,
-/turf/simulated/shuttle/floor{
- icon_state = "floor2"
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/mining/glass{
+ name = "Cargo Bay";
+ req_access_txt = "31"
},
-/area/shuttle/constructionsite)
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/simulated/floor/plasteel,
+/area/quartermaster/storage)
"bVm" = (
/obj/machinery/light/spot{
tag = "icon-tube1 (WEST)";
@@ -54423,20 +54300,13 @@
},
/area/toxins/lab)
"bVH" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/mining/glass{
+ name = "Delivery Office";
+ req_access_txt = "50"
},
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- pixel_y = 0;
- tag = ""
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/simulated/floor/plating,
-/area/maintenance/asmaint2)
+/turf/simulated/floor/plasteel,
+/area/quartermaster/office)
"bVI" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass{
@@ -55132,34 +55002,24 @@
},
/area/shuttle/administration)
"bWO" = (
-/obj/machinery/light/spot{
- tag = "icon-tube1 (NORTH)";
- icon_state = "tube1";
- dir = 1
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/mining/glass{
+ name = "Cargo Bay";
+ req_access_txt = "31"
},
-/obj/machinery/door_control{
- id = "adminshuttleblast";
- name = "Blast door control";
- pixel_x = -5;
- pixel_y = 35;
- req_access = list(101);
- req_access_txt = "0"
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
},
-/obj/machinery/door_control{
- id = "adminshuttleshutters";
- name = "Shutter control";
- pixel_x = 5;
- pixel_y = 35;
- req_access = list(101);
- req_access_txt = "0"
- },
-/obj/structure/chair/comfy/shuttle{
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/simulated/shuttle/floor{
- icon_state = "floor4"
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
},
-/area/shuttle/administration)
+/turf/simulated/floor/plasteel,
+/area/quartermaster/storage)
"bWP" = (
/obj/machinery/door/airlock/external{
id_tag = "s_docking_airlock";
@@ -55366,19 +55226,20 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/office)
"bXi" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/mining/glass{
- name = "Cargo Office";
- req_access_txt = "50"
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0;
+ tag = ""
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/plasteel,
-/area/quartermaster/office)
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/plating,
+/area/maintenance/asmaint2)
"bXj" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9;
@@ -56135,17 +55996,26 @@
},
/area/shuttle/administration)
"bYu" = (
-/obj/item/radio/intercom{
- broadcasting = 0;
- listening = 1;
- name = "station intercom (General)";
- pixel_y = 25
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor{
+ density = 0;
+ icon_state = "open";
+ id_tag = "Biohazard_medi";
+ name = "Quarantine Lockdown";
+ opacity = 0
},
-/obj/structure/chair/comfy/shuttle{
- dir = 4
+/obj/machinery/door/airlock/medical/glass{
+ id_tag = "MedbayFoyerPort";
+ name = "Medbay Entrance";
+ req_access_txt = "5"
},
-/turf/simulated/shuttle/floor,
-/area/shuttle/pod_4)
+/obj/effect/mapping_helpers/airlock/unres,
+/turf/simulated/floor/plasteel{
+ tag = "icon-whiteblue (WEST)";
+ icon_state = "whiteblue";
+ dir = 8
+ },
+/area/medical/reception)
"bYv" = (
/turf/space,
/turf/simulated/shuttle/wall{
@@ -56417,9 +56287,6 @@
/area/server)
"bYV" = (
/obj/structure/table,
-/obj/machinery/photocopier/faxmachine{
- department = "Head of Personnel's Office"
- },
/obj/machinery/firealarm{
dir = 1;
pixel_y = -24
@@ -56432,6 +56299,9 @@
pixel_y = 16;
req_access_txt = "57"
},
+/obj/machinery/photocopier/faxmachine/longrange{
+ department = "Head of Personnel's Office"
+ },
/turf/simulated/floor/plasteel,
/area/crew_quarters/heads)
"bYW" = (
@@ -57142,31 +57012,25 @@
/area/medical/genetics_cloning)
"bZR" = (
/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor{
+ density = 0;
+ icon_state = "open";
+ id_tag = "Biohazard_medi";
+ name = "Quarantine Lockdown";
+ opacity = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/door/airlock/medical/glass{
- id_tag = "CloningDoor";
- name = "Genetics Cloning";
- req_access_txt = "0";
- req_one_access_txt = "5;9"
- },
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- tag = ""
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
+ id_tag = "MedbayFoyerPort";
+ name = "Medbay Entrance";
+ req_access_txt = "5"
},
+/obj/effect/mapping_helpers/airlock/unres,
/turf/simulated/floor/plasteel{
- icon_state = "freezerfloor"
+ icon_state = "white"
},
-/area/medical/genetics_cloning)
+/area/medical/reception)
"bZS" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1;
@@ -57192,7 +57056,7 @@
name = "Biohazard Shutter Control";
pixel_x = -4;
pixel_y = 6;
- req_access_txt = "47"
+ req_access_txt = "30"
},
/obj/item/folder/white{
pixel_x = 4
@@ -57208,7 +57072,7 @@
normaldoorcontrol = 1;
pixel_x = -4;
pixel_y = -4;
- req_access_txt = "20"
+ req_access_txt = "30"
},
/turf/simulated/floor/plasteel{
dir = 2;
@@ -57429,18 +57293,26 @@
/turf/simulated/wall,
/area/quartermaster/miningdock)
"can" = (
-/obj/machinery/status_display{
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor{
density = 0;
- layer = 4;
- pixel_x = 0;
- pixel_y = 32
+ icon_state = "open";
+ id_tag = "Biohazard_medi";
+ name = "Quarantine Lockdown";
+ opacity = 0
},
-/obj/machinery/light,
-/obj/structure/chair/comfy/shuttle{
- dir = 4
+/obj/machinery/door/airlock/medical/glass{
+ id_tag = "MedbayFoyerPort";
+ name = "Medbay Entrance";
+ req_access_txt = "5"
},
-/turf/simulated/shuttle/floor,
-/area/shuttle/pod_4)
+/obj/effect/mapping_helpers/airlock/unres,
+/turf/simulated/floor/plasteel{
+ dir = 4;
+ icon_state = "whiteblue";
+ tag = "icon-whitehall (WEST)"
+ },
+/area/medical/reception)
"cao" = (
/obj/structure/filingcabinet,
/turf/simulated/floor/plasteel,
@@ -58153,32 +58025,24 @@
},
/area/crew_quarters/hor)
"cbr" = (
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- pixel_x = 0;
- tag = ""
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/obj/machinery/door/firedoor,
-/obj/machinery/door/poddoor{
- density = 0;
- icon_state = "open";
- id_tag = "Biohazard_medi";
- name = "Quarantine Lockdown";
- opacity = 0
- },
/obj/machinery/door/airlock/medical/glass{
id_tag = "MedbayFoyer";
- name = "Medbay Emergency Entrance";
+ name = "Medical Supplies";
req_access_txt = "5"
},
-/obj/effect/decal/warning_stripes/southeast,
-/turf/simulated/floor/plasteel,
-/area/hallway/primary/central/se)
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plasteel{
+ tag = "icon-whitebluefull";
+ icon_state = "whitebluefull"
+ },
+/area/medical/biostorage)
"cbs" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -58245,26 +58109,31 @@
},
/area/shuttle/administration)
"cby" = (
-/obj/machinery/light/spot{
- tag = "icon-tube1 (EAST)";
- icon_state = "tube1";
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/medical/glass{
+ id_tag = "MedbayFoyer";
+ name = "Medical Supplies";
+ req_access_txt = "5"
+ },
+/turf/simulated/floor/plasteel{
+ tag = "icon-whitebluefull";
+ icon_state = "whitebluefull"
+ },
+/area/medical/biostorage)
+"cbz" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/mining/glass{
+ name = "Cargo Office";
+ req_access_txt = "50"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/obj/structure/chair/comfy/shuttle{
- dir = 8
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
},
-/turf/simulated/shuttle/floor{
- icon_state = "floor4"
- },
-/area/shuttle/administration)
-"cbz" = (
-/obj/structure/chair/comfy/shuttle{
- dir = 8
- },
-/turf/simulated/shuttle/floor{
- icon_state = "floor4"
- },
-/area/shuttle/administration)
+/turf/simulated/floor/plasteel,
+/area/quartermaster/office)
"cbA" = (
/obj/machinery/door/poddoor/shutters{
density = 0;
@@ -58498,16 +58367,25 @@
/area/medical/genetics_cloning)
"cbY" = (
/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor{
+ density = 0;
+ icon_state = "open";
+ id_tag = "Biohazard_medi";
+ name = "Quarantine Lockdown";
+ opacity = 0
+ },
/obj/machinery/door/airlock/medical/glass{
- id_tag = "CloningDoor";
- name = "Genetics Cloning";
- req_access_txt = "0";
- req_one_access_txt = "5;9"
+ id_tag = "MedbayFoyer";
+ name = "Medbay Emergency Entrance";
+ req_access_txt = "5"
},
-/turf/simulated/floor/plasteel{
- icon_state = "freezerfloor"
+/obj/effect/decal/warning_stripes/northeast,
+/obj/effect/mapping_helpers/airlock/unres{
+ icon_state = "airlock_unres_helper";
+ dir = 4
},
-/area/medical/genetics_cloning)
+/turf/simulated/floor/plasteel,
+/area/hallway/primary/central/se)
"cbZ" = (
/obj/structure/cable{
d1 = 4;
@@ -59518,11 +59396,36 @@
},
/area/shuttle/administration)
"cdq" = (
-/obj/structure/chair/comfy/shuttle{
- dir = 1
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/medical/glass{
+ id_tag = "CloningDoor";
+ name = "Genetics Cloning";
+ req_access_txt = "0";
+ req_one_access_txt = "5;9"
},
-/turf/simulated/shuttle/floor,
-/area/shuttle/mining)
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ tag = ""
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/unres{
+ icon_state = "airlock_unres_helper";
+ dir = 4
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "freezerfloor"
+ },
+/area/medical/genetics_cloning)
"cdr" = (
/obj/machinery/computer/camera_advanced/shuttle_docker/admin{
name = "NTV Argos shuttle navigation computer"
@@ -60300,17 +60203,36 @@
},
/area/crew_quarters/hor)
"ceT" = (
-/obj/structure/window/plasmareinforced{
- color = "#FF0000";
- dir = 8
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
},
-/obj/structure/chair/comfy/shuttle{
- dir = 1
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/turf/simulated/shuttle/floor{
- icon_state = "floor4"
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor{
+ density = 0;
+ icon_state = "open";
+ id_tag = "Biohazard_medi";
+ name = "Quarantine Lockdown";
+ opacity = 0
},
-/area/shuttle/administration)
+/obj/machinery/door/airlock/medical/glass{
+ id_tag = "MedbayFoyer";
+ name = "Medbay Emergency Entrance";
+ req_access_txt = "5"
+ },
+/obj/effect/decal/warning_stripes/southeast,
+/obj/effect/mapping_helpers/airlock/unres{
+ icon_state = "airlock_unres_helper";
+ dir = 4
+ },
+/turf/simulated/floor/plasteel,
+/area/hallway/primary/central/se)
"ceU" = (
/obj/structure/shuttle/engine/propulsion,
/turf/simulated/shuttle/plating,
@@ -61271,8 +61193,13 @@
},
/area/shuttle/administration)
"cgA" = (
+/obj/machinery/light/spot{
+ tag = "icon-tube1 (EAST)";
+ icon_state = "tube1";
+ dir = 4
+ },
/obj/structure/chair/comfy/shuttle{
- dir = 1
+ dir = 8
},
/turf/simulated/shuttle/floor{
icon_state = "floor4"
@@ -61631,11 +61558,21 @@
/turf/simulated/wall,
/area/medical/paramedic)
"chi" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/medical/glass{
+ id_tag = "CloningDoor";
+ name = "Genetics Cloning";
+ req_access_txt = "0";
+ req_one_access_txt = "5;9"
},
-/turf/simulated/floor/plating,
-/area/maintenance/asmaint)
+/obj/effect/mapping_helpers/airlock/unres{
+ icon_state = "airlock_unres_helper";
+ dir = 4
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "freezerfloor"
+ },
+/area/medical/genetics_cloning)
"chj" = (
/obj/structure/cable{
d1 = 4;
@@ -62278,30 +62215,22 @@
},
/area/shuttle/administration)
"cil" = (
-/obj/structure/shuttle/engine/propulsion/burst{
+/obj/structure/chair/comfy/shuttle{
dir = 8
},
-/turf/simulated/floor/plating,
-/turf/simulated/shuttle/wall{
- tag = "icon-swall_f6";
- icon_state = "swall_f6";
- dir = 2
+/turf/simulated/shuttle/floor{
+ icon_state = "floor4"
},
-/area/shuttle/pod_4)
+/area/shuttle/administration)
"cim" = (
/turf/simulated/shuttle/floor,
/area/shuttle/mining)
"cin" = (
-/obj/structure/shuttle/engine/propulsion/burst{
- dir = 8
+/obj/structure/chair/comfy/shuttle{
+ dir = 1
},
-/turf/simulated/floor/plating,
-/turf/simulated/shuttle/wall{
- tag = "icon-swall_f5";
- icon_state = "swall_f5";
- dir = 2
- },
-/area/shuttle/pod_4)
+/turf/simulated/shuttle/floor,
+/area/shuttle/mining)
"cio" = (
/obj/machinery/door/window/brigdoor/westleft{
color = "#d70000";
@@ -63093,31 +63022,11 @@
},
/area/medical/ward)
"cjA" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/medical{
- name = "Operating Theatre";
- req_access_txt = "45"
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- pixel_x = 0;
- tag = ""
- },
-/obj/machinery/holosign/surgery{
- id = "surgery1"
- },
-/turf/simulated/floor/plasteel{
- icon_state = "dark"
- },
-/area/medical/surgery1)
+/turf/simulated/floor/plating,
+/area/maintenance/asmaint2)
"cjB" = (
/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
@@ -63155,31 +63064,20 @@
},
/area/medical/ward)
"cjD" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/medical{
- name = "Operating Theatre";
- req_access_txt = "45"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- pixel_x = 0;
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
tag = ""
},
-/obj/machinery/holosign/surgery{
- id = "surgery2"
- },
-/turf/simulated/floor/plasteel{
- icon_state = "dark"
- },
-/area/medical/surgery2)
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/plating,
+/area/maintenance/apmaint)
"cjE" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -63516,12 +63414,32 @@
icon_state = "floor4"
},
/area/shuttle/administration)
+"ckh" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 1
+ },
+/turf/simulated/shuttle/floor{
+ icon_state = "floor4"
+ },
+/area/shuttle/administration)
"cki" = (
/obj/machinery/light/small{
dir = 8
},
/turf/simulated/shuttle/floor,
/area/shuttle/mining)
+"ckj" = (
+/obj/structure/window/plasmareinforced{
+ color = "#FF0000";
+ dir = 8
+ },
+/obj/structure/chair/comfy/shuttle{
+ dir = 1
+ },
+/turf/simulated/shuttle/floor{
+ icon_state = "floor4"
+ },
+/area/shuttle/administration)
"ckk" = (
/obj/machinery/door/airlock/shuttle{
id_tag = "s_docking_airlock";
@@ -63544,6 +63462,7 @@
name = "mining shuttle bay";
width = 7
},
+/obj/structure/fans/tiny,
/turf/simulated/shuttle/floor,
/area/shuttle/mining)
"ckl" = (
@@ -63552,6 +63471,7 @@
name = "Mining Dock Airlock";
req_access_txt = "48"
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/plating,
/area/quartermaster/miningdock)
"ckm" = (
@@ -63560,6 +63480,7 @@
name = "Mining Dock Airlock";
req_access_txt = "48"
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/plasteel,
/area/quartermaster/miningdock)
"ckn" = (
@@ -63809,20 +63730,21 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/qm)
"ckI" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
- icon_state = "1-2";
- tag = ""
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/command{
+ id_tag = "blueshieldofficedoor";
+ name = "Blueshield's Office";
+ req_access_txt = "67"
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/turf/simulated/floor/plating,
-/area/maintenance/apmaint)
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/wood,
+/area/blueshield)
"ckJ" = (
/obj/structure/sink{
pixel_y = 30
@@ -63857,29 +63779,6 @@
icon_state = "1-2"
},
/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/command{
- id_tag = "blueshieldofficedoor";
- name = "Blueshield's Office";
- req_access_txt = "67"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/simulated/floor/wood,
-/area/blueshield)
-"ckO" = (
-/obj/structure/disposalpipe/segment,
-/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "cautioncorner"
- },
-/area/hallway/primary/aft)
-"ckP" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
-/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/command{
id_tag = "ntrepofficedoor";
name = "NT Representative's Office";
@@ -63889,6 +63788,21 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/wood,
/area/ntrep)
+"ckO" = (
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plasteel{
+ dir = 8;
+ icon_state = "cautioncorner"
+ },
+/area/hallway/primary/aft)
+"ckP" = (
+/obj/machinery/door/airlock{
+ name = "Custodial Closet";
+ req_access_txt = "26"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plasteel,
+/area/janitor)
"ckQ" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -63909,13 +63823,19 @@
/turf/simulated/floor/plating,
/area/maintenance/asmaint)
"ckT" = (
-/obj/machinery/door/airlock{
- name = "Custodial Closet";
- req_access_txt = "26"
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
-/obj/structure/disposalpipe/segment,
-/turf/simulated/floor/plasteel,
-/area/janitor)
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/plating,
+/area/maintenance/asmaint)
"ckU" = (
/obj/machinery/body_scanconsole,
/obj/machinery/camera{
@@ -64002,7 +63922,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plating,
-/area/maintenance/asmaint)
+/area/maintenance/asmaint2)
"clb" = (
/obj/structure/table/glass,
/obj/machinery/computer/med_data/laptop,
@@ -64773,35 +64693,11 @@
},
/area/medical/medbreak)
"cmt" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- pixel_x = 0;
- tag = ""
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock/medical/glass{
- id_tag = "";
- name = "Staff Room";
- req_access_txt = "5";
- req_one_access_txt = "0"
- },
-/turf/simulated/floor/plasteel{
- dir = 2;
- icon_state = "cafeteria";
- tag = "icon-cafeteria (NORTHEAST)"
- },
-/area/medical/medbay2)
+/turf/simulated/floor/plating,
+/area/maintenance/asmaint)
"cmu" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -65219,7 +65115,7 @@
/turf/simulated/wall,
/area/toxins/test_area)
"cnl" = (
-/obj/structure/closet/wardrobe/miner/lavaland,
+/obj/structure/closet/wardrobe/miner,
/turf/simulated/floor/plasteel{
dir = 2;
icon_state = "brown"
@@ -66492,12 +66388,18 @@
/turf/simulated/wall,
/area/maintenance/genetics)
"cpk" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
/obj/machinery/door/airlock/maintenance{
- name = "Medbay Maintenance";
- req_access_txt = "5"
+ req_access_txt = "12"
},
/turf/simulated/floor/plating,
-/area/maintenance/genetics)
+/area/maintenance/asmaint)
"cpl" = (
/obj/structure/cable,
/obj/structure/table,
@@ -67211,6 +67113,32 @@
icon_state = "whitepurple"
},
/area/toxins/mixing)
+"cqo" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/medical{
+ name = "Operating Theatre";
+ req_access_txt = "45"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/machinery/holosign/surgery{
+ id = "surgery1"
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "dark"
+ },
+/area/medical/surgery1)
"cqp" = (
/obj/machinery/camera{
c_tag = "Research Toxins Launch Room";
@@ -67369,6 +67297,17 @@
/turf/simulated/floor/plasteel,
/area/hallway/primary/aft)
"cqw" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/medical{
+ name = "Operating Theatre";
+ req_access_txt = "45"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -67376,11 +67315,13 @@
pixel_x = 0;
tag = ""
},
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
+/obj/machinery/holosign/surgery{
+ id = "surgery2"
},
-/turf/simulated/floor/plating,
-/area/maintenance/asmaint)
+/turf/simulated/floor/plasteel{
+ icon_state = "dark"
+ },
+/area/medical/surgery2)
"cqx" = (
/obj/machinery/doppler_array{
dir = 4
@@ -70942,7 +70883,6 @@
/obj/item/clothing/shoes/magboots,
/obj/item/clothing/suit/space/hardsuit/medical,
/obj/item/clothing/mask/gas,
-/obj/item/clothing/head/helmet/space/hardsuit/medical,
/obj/machinery/door/window/westright{
name = "Emergency Hardsuits";
req_access_txt = "40"
@@ -71024,7 +70964,6 @@
/obj/item/clothing/shoes/magboots,
/obj/item/clothing/suit/space/hardsuit/medical,
/obj/item/clothing/mask/gas,
-/obj/item/clothing/head/helmet/space/hardsuit/medical,
/obj/machinery/door/window/westleft{
name = "Emergency Hardsuits";
req_access_txt = "40"
@@ -71437,17 +71376,34 @@
/area/maintenance/asmaint)
"cxj" = (
/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/research{
- name = "Xenobiology Research";
- req_access_txt = "47"
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/medical/glass{
+ id_tag = "";
+ name = "Staff Room";
+ req_access_txt = "5";
+ req_one_access_txt = "0"
},
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel{
- icon_state = "white"
+ dir = 2;
+ icon_state = "cafeteria";
+ tag = "icon-cafeteria (NORTHEAST)"
},
-/area/toxins/xenobiology)
+/area/medical/medbay2)
"cxk" = (
/obj/structure/cable{
icon_state = "0-4";
@@ -72095,28 +72051,6 @@
},
/turf/simulated/floor/plasteel,
/area/storage/tech)
-"cyu" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
- },
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- pixel_x = 0;
- tag = ""
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/plating,
-/area/maintenance/asmaint)
"cyv" = (
/obj/structure/sign/securearea{
desc = "A warning sign which reads 'HIGH VOLTAGE'";
@@ -72250,23 +72184,11 @@
/area/construction)
"cyE" = (
/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
- },
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- pixel_x = 0;
- tag = ""
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
+ name = "Medbay Maintenance";
+ req_access_txt = "5"
},
/turf/simulated/floor/plating,
-/area/maintenance/asmaint2)
+/area/maintenance/genetics)
"cyF" = (
/obj/structure/cable{
d1 = 4;
@@ -72394,18 +72316,18 @@
/turf/simulated/floor/plating,
/area/maintenance/asmaint)
"cyT" = (
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- pixel_x = 0;
- tag = ""
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/research{
+ name = "Xenobiology Research";
+ req_access_txt = "47"
},
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
},
-/turf/simulated/floor/plating,
-/area/maintenance/asmaint2)
+/area/toxins/xenobiology)
"cyU" = (
/obj/item/twohanded/required/kirbyplants,
/obj/structure/extinguisher_cabinet{
@@ -72689,6 +72611,9 @@
/turf/simulated/floor/plating,
/area/storage/tech)
"czx" = (
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
+ },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -72696,10 +72621,8 @@
pixel_x = 0;
tag = ""
},
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/engineering{
- name = "Tech Storage";
- req_access_txt = "23"
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -72708,7 +72631,7 @@
dir = 4
},
/turf/simulated/floor/plating,
-/area/storage/tech)
+/area/maintenance/asmaint)
"czy" = (
/obj/structure/cable{
d1 = 4;
@@ -73391,24 +73314,24 @@
/turf/simulated/floor/plating,
/area/maintenance/apmaint)
"cAG" = (
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
+ },
/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
tag = ""
},
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/research{
- name = "Xenobiology Research";
- req_access_txt = "47"
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
},
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/turf/simulated/floor/plasteel{
- icon_state = "white"
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
},
-/area/toxins/xenobiology)
+/turf/simulated/floor/plating,
+/area/maintenance/asmaint2)
"cAH" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable{
@@ -73839,22 +73762,18 @@
/turf/simulated/floor/plating,
/area/medical/psych)
"cBx" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/medical{
- name = "Psych Office";
- req_access_txt = "64"
- },
/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- pixel_y = 0
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/turf/simulated/floor/wood,
-/area/medical/psych)
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/asmaint2)
"cBy" = (
/obj/machinery/atmospherics/unary/vent_scrubber{
dir = 1;
@@ -74450,14 +74369,6 @@
},
/turf/simulated/floor/plating,
/area/maintenance/apmaint)
-"cCF" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/maintenance{
- name = "Alternate Construction Area";
- req_access_txt = "12"
- },
-/turf/simulated/floor/plating,
-/area/maintenance/apmaint)
"cCG" = (
/obj/structure/cable{
d1 = 2;
@@ -74482,16 +74393,22 @@
d1 = 4;
d2 = 8;
icon_state = "4-8";
- pixel_y = 0;
+ pixel_x = 0;
tag = ""
},
/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/maintenance{
- name = "Alternate Construction Area";
- req_access_txt = "12"
+/obj/machinery/door/airlock/engineering{
+ name = "Tech Storage";
+ req_access_txt = "23"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
},
/turf/simulated/floor/plating,
-/area/maintenance/consarea)
+/area/storage/tech)
"cCJ" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/engineering/glass{
@@ -74822,6 +74739,10 @@
/obj/machinery/light_switch{
pixel_y = 27
},
+/obj/machinery/alarm{
+ frequency = 1439;
+ pixel_y = 23
+ },
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "yellowcorner"
@@ -74933,20 +74854,24 @@
/turf/simulated/floor/plating,
/area/toxins/misc_lab)
"cDv" = (
-/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
tag = ""
},
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/research{
+ name = "Xenobiology Research";
+ req_access_txt = "47"
},
+/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/turf/simulated/floor/plating,
-/area/maintenance/apmaint)
+/turf/simulated/floor/plasteel{
+ icon_state = "white"
+ },
+/area/toxins/xenobiology)
"cDw" = (
/turf/simulated/floor/plasteel{
icon_state = "white"
@@ -75799,14 +75724,9 @@
/turf/simulated/wall/r_wall,
/area/engine/mechanic_workshop)
"cFe" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
- },
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/maintenance{
+ name = "Alternate Construction Area";
req_access_txt = "12"
},
/turf/simulated/floor/plating,
@@ -76330,25 +76250,20 @@
},
/area/toxins/misc_lab)
"cFT" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0;
+ tag = ""
+ },
/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/engineering/glass{
- name = "Mechanic Workshop";
- req_access_txt = "70";
- req_one_access_txt = "0"
+/obj/machinery/door/airlock/maintenance{
+ name = "Alternate Construction Area";
+ req_access_txt = "12"
},
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/plasteel{
- icon_state = "dark"
- },
-/area/engine/mechanic_workshop)
+/turf/simulated/floor/plating,
+/area/maintenance/consarea)
"cFU" = (
/obj/structure/window/reinforced,
/obj/structure/table/reinforced,
@@ -76830,9 +76745,22 @@
/turf/simulated/wall/r_wall,
/area/atmos/control)
"cGL" = (
-/obj/machinery/door/airlock/maintenance,
-/turf/simulated/floor/plating,
-/area/maintenance/genetics)
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/medical{
+ name = "Psych Office";
+ req_access_txt = "64"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/wood,
+/area/medical/psych)
"cGM" = (
/obj/structure/cable{
d1 = 2;
@@ -77331,16 +77259,14 @@
d1 = 1;
d2 = 2;
icon_state = "1-2";
- pixel_y = 0;
tag = ""
},
+/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plating,
-/area/maintenance/aft)
+/area/maintenance/apmaint)
"cHF" = (
/obj/structure/cable{
d1 = 1;
@@ -77479,23 +77405,20 @@
/turf/simulated/wall,
/area/engine/break_room)
"cHR" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/engineering/glass{
- name = "Engineering";
- req_access_txt = "32";
- req_one_access_txt = "0"
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
},
-/obj/structure/disposalpipe/segment{
- dir = 4
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/plasteel,
-/area/engine/break_room)
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/plating,
+/area/maintenance/apmaint)
"cHS" = (
/obj/structure/table,
/obj/item/book/manual/supermatter_engine,
@@ -78704,18 +78627,25 @@
},
/area/engine/mechanic_workshop)
"cJY" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
- },
/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Mechanic Workshop";
+ req_access_txt = "70";
+ req_one_access_txt = "0"
},
-/turf/simulated/floor/plating,
-/area/maintenance/aft)
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/plasteel{
+ icon_state = "dark"
+ },
+/area/engine/mechanic_workshop)
"cJZ" = (
/turf/simulated/wall,
/area/hallway/primary/aft)
@@ -79921,6 +79851,13 @@
/turf/simulated/floor/plating,
/area/maintenance/asmaint2)
"cMq" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
+ },
+/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12"
},
@@ -80981,16 +80918,18 @@
},
/area/assembly/assembly_line)
"cOs" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
- },
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
+ pixel_y = 0;
tag = ""
},
-/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plating,
/area/maintenance/aft)
"cOt" = (
@@ -81776,12 +81715,6 @@
},
/turf/simulated/floor/plasteel,
/area/atmos)
-"cPR" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/plasteel,
-/area/atmos)
"cPS" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 4;
@@ -81893,14 +81826,6 @@
/obj/effect/decal/warning_stripes/northeast,
/turf/simulated/floor/plasteel,
/area/engine/engineering)
-"cQd" = (
-/obj/machinery/alarm{
- frequency = 1439;
- pixel_y = 23
- },
-/obj/machinery/pipedispenser,
-/turf/simulated/floor/plasteel,
-/area/atmos)
"cQe" = (
/obj/machinery/atmospherics/pipe/simple/visible/green{
dir = 4;
@@ -82310,10 +82235,6 @@
},
/turf/simulated/floor/plasteel,
/area/engine/equipmentstorage)
-"cQQ" = (
-/obj/machinery/pipedispenser/disposal,
-/turf/simulated/floor/plasteel,
-/area/atmos)
"cQR" = (
/obj/machinery/firealarm{
dir = 1;
@@ -83137,10 +83058,6 @@
"cSd" = (
/turf/simulated/floor/plasteel,
/area/atmos)
-"cSe" = (
-/obj/structure/closet/wardrobe/atmospherics_yellow,
-/turf/simulated/floor/plasteel,
-/area/atmos)
"cSf" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
@@ -84049,22 +83966,23 @@
/turf/simulated/floor/plating/airless,
/area/space/nearstation)
"cTG" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Engineering Shuttle";
- req_access_txt = "0";
- req_one_access_txt = "10;24"
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Engineering";
+ req_access_txt = "32";
+ req_one_access_txt = "0"
},
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/simulated/floor/plating,
-/area/maintenance/engi_shuttle)
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/plasteel,
+/area/engine/break_room)
"cTH" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel,
@@ -86495,7 +86413,6 @@
/obj/machinery/light{
dir = 8
},
-/obj/machinery/suit_storage_unit/atmos,
/turf/simulated/floor/plasteel,
/area/atmos)
"cXP" = (
@@ -88255,7 +88172,7 @@
req_access_txt = "12"
},
/turf/simulated/floor/plating,
-/area/maintenance/asmaint2)
+/area/maintenance/aft)
"dbi" = (
/obj/structure/closet/crate,
/obj/item/clothing/under/color/lightpurple,
@@ -88309,17 +88226,18 @@
/turf/simulated/floor/plasteel,
/area/escapepodbay)
"dbp" = (
-/obj/machinery/door/airlock/maintenance,
-/obj/structure/disposalpipe/segment{
- dir = 4
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
},
/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
},
+/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
-/area/maintenance/asmaint)
+/area/maintenance/aft)
"dbq" = (
/obj/structure/cable{
d1 = 1;
@@ -88788,12 +88706,6 @@
/area/maintenance/asmaint)
"dci" = (
/obj/machinery/door/airlock/maintenance,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
- },
/turf/simulated/floor/plating,
/area/maintenance/genetics)
"dcj" = (
@@ -89130,6 +89042,7 @@
req_access_txt = "0";
req_one_access_txt = "10;24"
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/plating,
/area/maintenance/engi_shuttle)
"dcV" = (
@@ -89631,6 +89544,23 @@
/obj/structure/lattice/catwalk,
/turf/space,
/area/solar/starboard)
+"ddW" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Engineering Shuttle";
+ req_access_txt = "0";
+ req_one_access_txt = "10;24"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/plating,
+/area/maintenance/engi_shuttle)
"ddX" = (
/obj/machinery/access_button{
command = "cycle_exterior";
@@ -89807,6 +89737,28 @@
oxygen = 0
},
/area/atmos)
+"deo" = (
+/obj/machinery/door/airlock/maintenance,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/asmaint)
+"dep" = (
+/obj/machinery/door/airlock/maintenance,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ tag = ""
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/genetics)
"deq" = (
/obj/machinery/computer/guestpass,
/turf/simulated/wall,
@@ -90199,18 +90151,15 @@
/turf/simulated/floor/plating,
/area/storage/secure)
"dff" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
- },
+/obj/machinery/door/airlock/maintenance,
/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
},
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plating,
-/area/maintenance/port)
+/area/maintenance/asmaint2)
"dfg" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
@@ -90683,6 +90632,7 @@
name = "engineering dock";
width = 7
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/plating,
/area/shuttle/constructionsite)
"dga" = (
@@ -90709,6 +90659,18 @@
dir = 6
},
/area/maintenance/storage)
+"dge" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Biohazard Disposals";
+ req_access_txt = "12"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/plating,
+/area/maintenance/asmaint)
+"dgf" = (
+/obj/machinery/door/airlock/maintenance,
+/turf/simulated/floor/plating,
+/area/maintenance/asmaint2)
"dgg" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan{
level = 2
@@ -90855,6 +90817,17 @@
/obj/machinery/light/small,
/turf/simulated/floor/plating,
/area/maintenance/asmaint2)
+"dgC" = (
+/obj/structure/shuttle/engine/propulsion/burst{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/turf/simulated/shuttle/wall{
+ tag = "icon-swall_f6";
+ icon_state = "swall_f6";
+ dir = 2
+ },
+/area/shuttle/pod_4)
"dgD" = (
/obj/structure/shuttle/engine/propulsion{
dir = 8;
@@ -91043,6 +91016,16 @@
/obj/item/caution,
/turf/simulated/floor/plating,
/area/maintenance/asmaint)
+"dhb" = (
+/obj/machinery/flasher{
+ id = "soltraderflash";
+ pixel_y = -28
+ },
+/obj/structure/chair/comfy/shuttle{
+ dir = 8
+ },
+/turf/simulated/shuttle/floor,
+/area/shuttle/trade/sol)
"dhc" = (
/obj/structure/lattice,
/obj/structure/lattice,
@@ -91466,30 +91449,16 @@
},
/area/crew_quarters/toilet)
"dhT" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock{
- name = "Bar Office";
- req_access_txt = "25"
+/obj/structure/shuttle/engine/propulsion/burst{
+ dir = 8
},
-/turf/simulated/floor/wood,
-/area/crew_quarters/bar)
-"dhU" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Bar Maintenance";
- req_access_txt = "12"
- },
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plating,
-/area/maintenance/fsmaint2)
+/turf/simulated/shuttle/wall{
+ tag = "icon-swall_f5";
+ icon_state = "swall_f5";
+ dir = 2
+ },
+/area/shuttle/pod_4)
"dhV" = (
/obj/structure/sink/kitchen{
pixel_y = 28
@@ -91498,6 +91467,12 @@
icon_state = "showroomfloor"
},
/area/crew_quarters/kitchen)
+"dhW" = (
+/obj/machinery/light,
+/turf/simulated/shuttle/floor{
+ icon_state = "floor2"
+ },
+/area/shuttle/constructionsite)
"dhX" = (
/obj/machinery/computer/atmos_alert,
/turf/simulated/shuttle/floor{
@@ -91541,16 +91516,6 @@
},
/turf/simulated/floor/plating,
/area/maintenance/asmaint2)
-"die" = (
-/obj/machinery/door/airlock/maintenance,
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- pixel_x = 0
- },
-/turf/simulated/floor/plating,
-/area/maintenance/asmaint2)
"dif" = (
/turf/simulated/shuttle/wall{
tag = "icon-swall2";
@@ -91755,6 +91720,12 @@
icon_state = "blue"
},
/area/hallway/primary/central/north)
+"diy" = (
+/obj/structure/chair/comfy/shuttle,
+/turf/simulated/shuttle/floor{
+ icon_state = "floor4"
+ },
+/area/shuttle/syndicate_sit)
"diz" = (
/obj/machinery/light/small,
/obj/machinery/camera/motion{
@@ -92914,14 +92885,6 @@
/obj/structure/disposalpipe/segment,
/turf/simulated/wall,
/area/maintenance/asmaint2)
-"dkG" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Biohazard Disposals";
- req_access_txt = "12"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/simulated/floor/plating,
-/area/maintenance/asmaint)
"dkH" = (
/obj/machinery/light/small{
dir = 4;
@@ -93297,20 +93260,15 @@
name = "\improper AI Satellite Service"
})
"dle" = (
-/obj/machinery/the_singularitygen{
- anchored = 1
- },
/obj/effect/decal/warning_stripes/west,
-/turf/simulated/floor/plating/airless,
-/area/space/nearstation)
-"dlf" = (
/obj/item/wrench,
/turf/simulated/floor/plating/airless,
/area/space/nearstation)
+"dlf" = (
+/obj/item/radio/beacon/engine/tesling,
+/turf/simulated/floor/plating/airless,
+/area/space/nearstation)
"dlg" = (
-/obj/machinery/the_singularitygen/tesla{
- anchored = 1
- },
/obj/effect/decal/warning_stripes/east,
/turf/simulated/floor/plating/airless,
/area/space/nearstation)
@@ -93582,10 +93540,6 @@
/area/aisat/maintenance{
name = "\improper AI Satellite Service"
})
-"dlL" = (
-/obj/machinery/door/airlock/maintenance,
-/turf/simulated/floor/plating,
-/area/maintenance/asmaint2)
"dlM" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/light/small,
@@ -95203,6 +95157,18 @@
/obj/machinery/teleport/hub,
/turf/simulated/floor/plating,
/area/turret_protected/aisat_interior)
+"doI" = (
+/obj/item/radio/intercom{
+ broadcasting = 0;
+ listening = 1;
+ name = "station intercom (General)";
+ pixel_y = 25
+ },
+/obj/structure/chair/comfy/shuttle{
+ dir = 4
+ },
+/turf/simulated/shuttle/floor,
+/area/shuttle/pod_4)
"doK" = (
/obj/machinery/light,
/turf/simulated/floor/plating,
@@ -95221,6 +95187,19 @@
},
/turf/simulated/shuttle/floor,
/area/shuttle/pod_4)
+"doM" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4;
+ pixel_x = 0;
+ pixel_y = 32
+ },
+/obj/machinery/light,
+/obj/structure/chair/comfy/shuttle{
+ dir = 4
+ },
+/turf/simulated/shuttle/floor,
+/area/shuttle/pod_4)
"doN" = (
/obj/machinery/computer/station_alert,
/obj/machinery/alarm{
@@ -96133,20 +96112,6 @@
"dsw" = (
/turf/simulated/floor/mech_bay_recharge_floor,
/area/shuttle/escape)
-"dsx" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
- },
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- tag = ""
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/turf/simulated/floor/plating,
-/area/maintenance/asmaint2)
"dsy" = (
/obj/machinery/light/small{
dir = 4
@@ -96328,19 +96293,7 @@
/obj/machinery/atmospherics/pipe/simple/visible/universal{
dir = 4
},
-/obj/structure/table,
-/obj/item/clothing/glasses/welding,
-/obj/item/clothing/glasses/welding,
-/obj/item/clothing/gloves/color/black,
-/obj/item/clothing/gloves/color/black,
-/obj/item/clothing/gloves/color/black,
-/obj/machinery/alarm{
- dir = 4;
- icon_state = "alarm0";
- pixel_x = -22
- },
-/obj/item/pipe_painter,
-/obj/item/pipe_painter,
+/obj/structure/closet/wardrobe/atmospherics_yellow,
/turf/simulated/floor/plasteel,
/area/atmos)
"dtk" = (
@@ -96529,6 +96482,35 @@
/area/toxins/launch{
name = "Toxins Launch Room"
})
+"jnJ" = (
+/obj/machinery/light/spot{
+ tag = "icon-tube1 (NORTH)";
+ icon_state = "tube1";
+ dir = 1
+ },
+/obj/machinery/door_control{
+ id = "adminshuttleblast";
+ name = "Blast door control";
+ pixel_x = -5;
+ pixel_y = 35;
+ req_access = list(101);
+ req_access_txt = "0"
+ },
+/obj/machinery/door_control{
+ id = "adminshuttleshutters";
+ name = "Shutter control";
+ pixel_x = 5;
+ pixel_y = 35;
+ req_access = list(101);
+ req_access_txt = "0"
+ },
+/obj/structure/chair/comfy/shuttle{
+ dir = 4
+ },
+/turf/simulated/shuttle/floor{
+ icon_state = "floor4"
+ },
+/area/shuttle/administration)
"kOE" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{
dir = 4
@@ -96536,21 +96518,26 @@
/obj/structure/lattice,
/turf/space,
/area/space/nearstation)
+"lLC" = (
+/obj/machinery/alarm{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22
+ },
+/turf/simulated/floor/plasteel,
+/area/atmos)
+"mMw" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 8
+ },
+/turf/simulated/shuttle/floor4/vox,
+/area/shuttle/vox)
"nMi" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
dir = 9
},
/turf/space,
/area/space/nearstation)
-"opK" = (
-/obj/effect/landmark/start{
- name = "Shaft Miner"
- },
-/turf/simulated/floor/plasteel{
- dir = 8;
- icon_state = "brown"
- },
-/area/quartermaster/miningdock)
"oZV" = (
/obj/machinery/door/airlock/centcom{
id_tag = "adminshuttle";
@@ -96621,6 +96608,14 @@
icon_state = "floor4"
},
/area/shuttle/administration)
+"sUK" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 8
+ },
+/turf/simulated/shuttle/floor{
+ icon_state = "floor4"
+ },
+/area/shuttle/syndicate_sit)
"uxy" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
dir = 4
@@ -96650,6 +96645,34 @@
/obj/structure/lattice,
/turf/space,
/area/space/nearstation)
+"vUm" = (
+/obj/structure/chair/comfy/shuttle{
+ dir = 4
+ },
+/turf/simulated/shuttle/floor{
+ icon_state = "floor2"
+ },
+/area/shuttle/constructionsite)
+"wOS" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/color/black,
+/obj/item/clothing/gloves/color/black,
+/obj/item/clothing/gloves/color/black,
+/obj/item/pipe_painter,
+/obj/item/pipe_painter,
+/obj/item/clothing/glasses/welding,
+/obj/item/clothing/glasses/welding,
+/turf/simulated/floor/plasteel,
+/area/atmos)
+"wVD" = (
+/obj/effect/landmark/start{
+ name = "Shaft Miner"
+ },
+/turf/simulated/floor/plasteel{
+ dir = 8;
+ icon_state = "brown"
+ },
+/area/quartermaster/miningdock)
"xAw" = (
/obj/machinery/atmospherics/pipe/manifold/visible{
dir = 8
@@ -103736,7 +103759,7 @@ arh
arh
arh
arh
-aPV
+arW
arh
apr
aaa
@@ -103990,9 +104013,9 @@ aaa
apr
arh
aqk
-aPV
-aPV
-aPV
+arW
+arW
+arW
dhe
arh
apr
@@ -104504,9 +104527,9 @@ aaa
apr
arh
aql
-bcK
-beB
-bgo
+arZ
+aPV
+dhb
aql
arh
apr
@@ -105295,9 +105318,9 @@ aaa
aaa
aaa
aaa
-btu
+bPv
bvi
-bwI
+bPU
aaa
aaa
aaa
@@ -105551,11 +105574,11 @@ aab
aaa
aaa
aaa
-btu
+bPv
btv
bvj
bwE
-bwI
+bPU
aaa
bAQ
bCa
@@ -106044,7 +106067,7 @@ aaa
aJP
aLa
aLa
-aON
+aRm
aOP
aMs
aVf
@@ -106073,7 +106096,7 @@ brO
aaa
bAR
bCc
-bEL
+bDG
bEK
bAR
aLd
@@ -106323,9 +106346,9 @@ aSf
boP
aSd
brQ
-btz
+btD
bvj
-bwJ
+bwI
brQ
bjQ
bAR
@@ -106558,7 +106581,7 @@ aaa
aJQ
aLa
aLa
-aOO
+aRz
aOR
aQa
aMd
@@ -106580,15 +106603,15 @@ blE
boL
aSd
brO
-btz
+btD
bvj
-bwJ
+bwI
brO
aLd
bAR
-bBZ
+bCe
bCb
-bGJ
+bEL
bAR
aSd
aaa
@@ -106837,15 +106860,15 @@ bmS
boL
aSd
brO
-btD
+btz
bvj
-bAS
+bwJ
brO
aSd
ahb
bCb
bCb
-bGJ
+bEL
bAR
aSd
aSd
@@ -107072,7 +107095,7 @@ aaa
aJR
aLe
aLe
-aPP
+aRV
aOP
aMs
aPJ
@@ -107094,15 +107117,15 @@ aSf
bsd
aSd
brO
-btz
+btD
bvj
-bwJ
+bwI
brO
aSd
ahb
bCb
bCb
-bGJ
+bEL
bAR
aSd
bGm
@@ -107351,15 +107374,15 @@ aSf
bsh
aSd
brR
-btz
+btD
bvj
-bwJ
+bwI
brR
aSd
bAR
-bCe
+bBZ
bCb
-bGJ
+bEL
bAR
aSd
bGl
@@ -107586,7 +107609,7 @@ aaa
aJT
aLe
aLe
-aPU
+aRY
aOR
aQa
aPQ
@@ -107608,15 +107631,15 @@ brc
bsh
aSd
brO
-btz
+btD
bvj
-bwJ
+bwI
brO
aMs
bAR
-bDG
+bAS
bCb
-bGJ
+bEL
bAR
aSd
bKp
@@ -107829,11 +107852,11 @@ aaa
awq
axj
awM
-axo
-azf
-azf
+aze
+aAh
+aAh
aCT
-aCY
+aCX
afy
aFf
aFe
@@ -107865,9 +107888,9 @@ blE
bsh
aSd
brO
-btD
+btz
bvj
-bAS
+bwJ
brO
aMs
bAT
@@ -108142,7 +108165,7 @@ bRA
bRA
bWJ
bPI
-bWO
+jnJ
cbx
cbx
bPI
@@ -108343,11 +108366,11 @@ aaa
aws
axj
awN
-axN
-axN
-axN
+azh
+azh
+azh
aBD
-aCY
+aCX
aEe
aFf
aFg
@@ -108359,7 +108382,7 @@ aII
aII
aHS
aLg
-aNS
+aVL
aQw
aRe
aSd
@@ -108662,7 +108685,7 @@ cds
bPI
cgz
cio
-ceT
+ckj
bPI
bYv
aaa
@@ -108919,7 +108942,7 @@ aaa
bPI
bRA
bRA
-cgA
+ckh
bPI
aaa
aaa
@@ -109174,8 +109197,8 @@ aaa
aaa
aaa
bPI
-cby
-cbz
+cgA
+cil
bPI
bYv
aaa
@@ -109669,7 +109692,7 @@ bqr
bBr
bqr
bqr
-bFJ
+bRH
bCf
bCf
bCf
@@ -110925,7 +110948,7 @@ aHh
aIx
aIx
aJU
-aLh
+aON
aLl
aGn
aOV
@@ -111473,7 +111496,7 @@ bIe
bJu
bnK
bCh
-bLU
+bSA
bCf
bCf
bCf
@@ -111697,7 +111720,7 @@ aLk
aGn
aGn
aPc
-aLn
+aPh
aGn
aGn
aGn
@@ -112217,7 +112240,7 @@ aGn
aGn
aGn
aRu
-aRY
+bff
aSF
aTz
aVh
@@ -113000,7 +113023,7 @@ beP
bgz
bse
bvd
-dff
+bNP
dfg
dfh
dgU
@@ -113479,12 +113502,12 @@ aaa
awv
axl
ayk
-avu
+azf
aEf
-axm
-axm
-aze
-azh
+aBk
+aBk
+aCY
+diy
aFk
aFi
aGn
@@ -113492,7 +113515,7 @@ aGn
aGn
aGn
aHn
-aIM
+aLn
aGn
aKe
aLq
@@ -113994,11 +114017,11 @@ awx
axl
ayk
azi
-awP
-awP
-awP
+sUK
+sUK
+sUK
ayk
-azh
+diy
aex
aFi
aGn
@@ -114018,7 +114041,7 @@ aGn
aPc
aGn
aSK
-aVb
+bjh
aWl
aYi
bag
@@ -116070,7 +116093,7 @@ aPi
aPi
aHS
aMA
-aRm
+bcv
aMA
aKb
aNx
@@ -116116,7 +116139,7 @@ ceZ
cgB
cim
cki
-cdq
+cin
cnh
ceZ
aab
@@ -116129,11 +116152,11 @@ csu
csu
cCE
cAF
-cFe
+cHE
cGf
cGf
cGf
-cJY
+cMq
cJn
cLi
cNA
@@ -116352,7 +116375,7 @@ bwY
bsk
bnD
bBf
-bCq
+bOn
bJy
bKG
bxb
@@ -116371,9 +116394,9 @@ aaa
aaa
ceY
cgC
-cdq
+cin
cim
-cdq
+cin
cni
coN
aab
@@ -116392,7 +116415,7 @@ cFW
cIJ
cEY
cLm
-cMq
+dbh
cNB
cNB
cPu
@@ -116630,7 +116653,7 @@ ceZ
cgD
cim
cim
-cdq
+cin
cnj
ceZ
aab
@@ -116855,7 +116878,7 @@ beK
bgh
bmf
bkr
-bCq
+bOn
bCs
bCs
bCs
@@ -117883,7 +117906,7 @@ beN
bgA
blO
bph
-bqj
+bPr
brz
bsD
bui
@@ -118157,8 +118180,8 @@ bFq
bFm
bxb
bKB
-bMz
-bOn
+bVl
+bWO
bKB
bxb
bxb
@@ -118172,7 +118195,7 @@ cam
cgH
cit
ckn
-opK
+wVD
cnm
cam
cgQ
@@ -118351,7 +118374,7 @@ atK
auw
avv
awz
-atL
+axo
aym
azk
aAk
@@ -118604,7 +118627,7 @@ aaa
aaa
aaa
asT
-arW
+atL
aux
avy
awz
@@ -118865,7 +118888,7 @@ atJ
auu
avx
awy
-avp
+axm
awz
azk
aAk
@@ -119164,7 +119187,7 @@ aSz
aSz
aSz
aSz
-bfa
+bys
biE
bmx
bpj
@@ -119184,7 +119207,7 @@ bDU
bNs
bHc
byC
-bNP
+bVk
bMx
bSM
bUn
@@ -119211,7 +119234,7 @@ cvo
cvo
cvo
cvo
-cCF
+cFe
cvo
cEY
cEP
@@ -119472,7 +119495,7 @@ cwF
cwF
cEY
cEO
-cFT
+cJY
cGH
cEY
cEY
@@ -119704,7 +119727,7 @@ bzJ
bQe
bDX
bDX
-bXi
+cbz
bzJ
bYK
bYM
@@ -119988,7 +120011,7 @@ cvo
cEQ
cGb
cGM
-cHE
+cOs
cIP
cIP
cKJ
@@ -120011,9 +120034,9 @@ cZu
cZu
dcM
dfY
-bVk
-bVk
-bVk
+vUm
+vUm
+vUm
dfY
aaa
aaa
@@ -120213,7 +120236,7 @@ bzE
bzE
bzE
bNX
-bMF
+bVH
bBn
bBn
bBn
@@ -120270,7 +120293,7 @@ dcU
dfZ
dgv
dgv
-bVl
+dhW
dfY
aaa
aaa
@@ -120526,7 +120549,7 @@ dcM
dfd
dfY
dgv
-bVk
+vUm
dgv
dfY
aaa
@@ -121267,7 +121290,7 @@ cvo
cvo
cvo
cvo
-cCI
+cFT
cvo
cvo
cEQ
@@ -121285,7 +121308,7 @@ cKb
cKb
cRI
cSj
-cTG
+ddW
cUY
cZC
dar
@@ -121767,7 +121790,7 @@ caw
bTz
cfq
ciy
-ckI
+cjD
cly
cly
cly
@@ -121783,7 +121806,7 @@ cti
cly
cAH
cly
-cDv
+cHR
cFg
cGm
cnA
@@ -122248,7 +122271,7 @@ aXZ
bmu
aPi
aPi
-bff
+bCq
bgS
bmV
bkv
@@ -122733,7 +122756,7 @@ aoe
aMO
aod
aod
-avU
+avW
aod
aod
aoe
@@ -122795,7 +122818,7 @@ bMG
cdV
cfu
ciL
-ckN
+ckI
ccK
cmK
com
@@ -122997,14 +123020,14 @@ aIo
aIl
aIl
aDe
-aDO
+aIM
aIl
aIl
aHA
aHA
-aKp
+aNS
aHA
-aNe
+aOO
aHA
aHA
aEl
@@ -124035,7 +124058,7 @@ aLV
aJF
aOA
aPD
-aRV
+aVb
aTw
aVE
aYa
@@ -124337,7 +124360,7 @@ bTJ
ces
cgi
cji
-ckP
+ckN
clL
cmM
coo
@@ -124541,7 +124564,7 @@ aCi
aCf
aCn
aFr
-aGv
+aKx
aHG
aHG
aKv
@@ -125065,7 +125088,7 @@ aSN
aPH
aEj
aMA
-aVL
+bew
aMA
aMA
aMA
@@ -125120,7 +125143,7 @@ cgW
cvx
cvx
cvx
-czx
+cCI
cvx
cvx
cvx
@@ -125134,7 +125157,7 @@ cJk
cHG
cHG
cNS
-cOs
+dbp
cPl
cRR
cQE
@@ -126074,8 +126097,8 @@ aoq
arq
asZ
aAx
-avW
awc
+awP
aAx
azI
aAP
@@ -126088,7 +126111,7 @@ aFw
aJh
aKy
aEj
-aKx
+aPb
awl
awl
awl
@@ -126141,7 +126164,7 @@ chc
chc
chc
chc
-cqw
+cpk
cJZ
csD
ctX
@@ -126413,7 +126436,7 @@ cFj
cGN
cHU
cLM
-cHR
+cTG
cLM
cHQ
cHQ
@@ -126598,7 +126621,7 @@ aHE
axe
aFz
aFz
-aHV
+aLh
aFz
axe
awl
@@ -127421,7 +127444,7 @@ bSi
ceF
cgj
cjl
-ckT
+ckP
clQ
cnr
cor
@@ -128449,13 +128472,13 @@ bSi
ccn
cgI
cjn
-cla
+ckT
clS
cPd
cos
cPd
cqY
-chi
+cmt
csL
csL
cvI
@@ -128996,7 +129019,7 @@ cSd
cOF
cTk
dfF
-dtn
+wOS
dcq
dcq
dcq
@@ -129023,9 +129046,9 @@ dfR
dcq
dcq
dcq
-cil
+dgC
doL
-cin
+dhT
dcq
aaa
aaa
@@ -129173,7 +129196,7 @@ aJp
aJp
aJp
aNW
-aPb
+aPP
aQm
aSm
aTE
@@ -129223,7 +129246,7 @@ cjo
chf
cdW
ceb
-chi
+cmt
csL
cqZ
crX
@@ -129253,8 +129276,8 @@ cSd
cSd
cWT
cXQ
-dtn
-dtn
+cSd
+lLC
cXO
dbK
dct
@@ -129281,7 +129304,7 @@ dcq
aaa
dcq
dou
-bYu
+doI
dou
dcq
aaa
@@ -129538,7 +129561,7 @@ dcq
aaa
dcq
dou
-can
+doM
dou
dcq
aaa
@@ -129762,7 +129785,7 @@ cGK
cDi
cSd
cSd
-cPR
+cPT
cQS
cEr
cTq
@@ -130016,10 +130039,10 @@ cJc
cJN
csK
cZS
-cQd
-cQQ
-cSe
-cPT
+dtn
+dtn
+dtn
+dtn
cFG
cVJ
cWO
@@ -130242,8 +130265,8 @@ bPc
chh
bQV
bSu
-bPU
-cbr
+cbY
+ceT
bSu
bQV
chf
@@ -130256,7 +130279,7 @@ csL
cqD
csL
chf
-chi
+cmt
chf
chf
chf
@@ -131242,7 +131265,7 @@ aUS
bjc
baJ
beH
-dhT
+bwl
bft
aYd
bnQ
@@ -132052,7 +132075,7 @@ caA
cfE
cfE
cfE
-cjA
+cqo
cCW
cCW
chu
@@ -132527,7 +132550,7 @@ aOI
bjl
bbc
bfn
-dhU
+bwX
djk
dkN
boM
@@ -132553,7 +132576,7 @@ bHO
bHO
bHO
bHO
-bPv
+bYu
bSR
bZJ
cbO
@@ -132810,7 +132833,7 @@ bLA
bLA
bLA
bLA
-bPr
+bZR
bYe
bZK
cbQ
@@ -133067,7 +133090,7 @@ bLB
bNr
bPm
bNz
-bPx
+can
crA
bZJ
cuv
@@ -133294,7 +133317,7 @@ aZC
bbu
bdj
bfr
-aOa
+bpE
bjo
bbd
bdT
@@ -133337,7 +133360,7 @@ caA
cfH
cfH
cfH
-cjD
+cqw
cDf
cDf
cnz
@@ -133542,7 +133565,7 @@ aSP
aSP
aSP
aSP
-aPh
+aPU
aQH
aSQ
aVs
@@ -133566,7 +133589,7 @@ bpN
bog
bpN
bog
-bwl
+bPM
bdT
bdT
bAk
@@ -134045,7 +134068,7 @@ awF
awF
avq
aya
-aBC
+aDO
aqc
atG
aaa
@@ -134330,7 +134353,7 @@ bdL
bfE
biY
boQ
-bpE
+bMF
bqB
brY
btI
@@ -134833,7 +134856,7 @@ aPm
aVv
aXf
aXf
-bbx
+bje
aKn
aKm
aVU
@@ -135099,7 +135122,7 @@ bbC
aGY
beb
djw
-bgp
+bFJ
boX
bpH
bqH
@@ -135356,7 +135379,7 @@ bbh
aGY
beb
dju
-bil
+bLn
bjv
dnD
bmy
@@ -135380,7 +135403,7 @@ bLS
bTU
bQB
bRb
-bSz
+cbr
bJR
bZN
cbU
@@ -135602,7 +135625,7 @@ aPm
aPm
aSZ
aLA
-aXT
+bfa
aIh
aLA
aLA
@@ -135613,7 +135636,7 @@ bbh
aGY
beb
djx
-bin
+bLU
bjv
dnE
bmy
@@ -135637,7 +135660,7 @@ bMY
bOV
bQE
bOV
-bSA
+cby
cuo
bZP
cbW
@@ -135659,7 +135682,7 @@ cwX
cpS
czZ
cAt
-cBx
+cGL
cCS
cEh
cmy
@@ -135843,9 +135866,9 @@ atG
auA
axg
axh
-aAh
+aBC
avt
-aCX
+aHV
atG
aaa
aFK
@@ -135870,7 +135893,7 @@ bbI
aGY
beb
bfH
-bin
+bLU
bjx
bfH
bmy
@@ -136101,7 +136124,7 @@ axf
dgk
axh
auq
-aBk
+avp
auq
atG
aab
@@ -136127,7 +136150,7 @@ bbV
aGY
beb
bfJ
-bin
+bLU
bjy
bkY
bmy
@@ -136153,8 +136176,8 @@ bLK
bLK
bLK
bTZ
-bZR
-cbY
+cdq
+chi
bTZ
bWd
chr
@@ -136166,7 +136189,7 @@ chz
chr
ckC
ckC
-cmt
+cxj
ckC
ciY
cwZ
@@ -136358,7 +136381,7 @@ azT
azT
axh
auq
-aBl
+avu
auq
aaa
aaa
@@ -137492,7 +137515,7 @@ cps
diq
djm
cps
-dkG
+dge
dla
dlr
dlN
@@ -138224,7 +138247,7 @@ ckL
cga
cga
cga
-cpk
+cyE
cxb
cxJ
cAb
@@ -138254,7 +138277,7 @@ cJt
cJG
chf
chf
-dbp
+deo
chf
cBN
chf
@@ -138940,7 +138963,7 @@ aGY
aGX
aGX
aGX
-aRz
+aTs
aMz
aOF
aOG
@@ -138961,7 +138984,7 @@ bfR
bfR
bfR
bfR
-bvN
+bPx
byQ
bAW
bCN
@@ -139026,7 +139049,7 @@ cOm
cOm
daJ
dbq
-dci
+dep
cac
cac
cac
@@ -139529,16 +139552,16 @@ ciY
ciY
ciY
ciY
-cGL
+dci
ciY
cIb
ciY
ciY
-cGL
+dci
ciY
ciY
ciY
-cGL
+dci
cep
cep
aaa
@@ -140235,7 +140258,7 @@ aGX
aGX
aWA
aYY
-bcv
+bqj
bfU
bhx
bij
@@ -141607,7 +141630,7 @@ aaa
aaa
bGH
cuQ
-dlL
+dgf
cuQ
bGH
aaa
@@ -142338,7 +142361,7 @@ bLR
cvG
bIi
cxN
-cyu
+czx
cBR
cBR
cDq
@@ -142826,11 +142849,11 @@ bHQ
bJq
bJq
bKT
-bLn
+bSz
bNn
bPi
bRT
-bLn
+bSz
bUP
bVF
bWl
@@ -142851,10 +142874,10 @@ csH
cny
cvH
cwt
-cxj
+cyT
cyC
cAi
-cAG
+cDv
cBA
cCU
cEm
@@ -142885,14 +142908,14 @@ aab
aab
aab
bGH
-die
+dff
dhR
bGH
bGH
bGH
bGH
cuQ
-dlL
+dgf
cuQ
bGH
bGH
@@ -143066,7 +143089,7 @@ bcu
ber
bga
bis
-bew
+bvN
bcD
bld
blw
@@ -143366,7 +143389,7 @@ bIi
bIi
bIi
cxN
-cyE
+cAG
cAP
cAP
cDu
@@ -143871,11 +143894,11 @@ chS
cjQ
bYj
cmx
-dsx
+cla
dsz
cpT
dsz
-dsx
+cla
ctH
cAS
cAS
@@ -144348,7 +144371,7 @@ aYA
baA
baz
baz
-bew
+bvN
bgg
bgg
baz
@@ -144690,7 +144713,7 @@ cuQ
aaa
cuQ
cuQ
-dlL
+dgf
cuQ
bGG
bKl
@@ -144857,7 +144880,7 @@ aMz
aQI
aGY
aSi
-aTs
+bjg
aUX
aUX
aZF
@@ -144908,7 +144931,7 @@ cgs
bGG
cuQ
cxS
-cyT
+cBx
cAP
cCh
cDw
@@ -145659,7 +145682,7 @@ bPq
bPq
bPq
bUS
-bVH
+bXi
bWv
bYn
caS
@@ -146434,7 +146457,7 @@ big
big
big
big
-dbh
+cjA
aYS
aaa
dbP
@@ -146740,7 +146763,7 @@ bGH
bGG
dgy
bGG
-dbh
+cjA
dia
cuQ
djQ
@@ -148016,7 +148039,7 @@ aab
bGH
bGG
bGG
-dbh
+cjA
bGG
dcJ
ddJ
@@ -148281,7 +148304,7 @@ cuQ
dfc
bGG
bGG
-dbh
+cjA
bGG
bGG
bGH
@@ -150268,15 +150291,15 @@ aaa
aaa
aaa
bjC
-blC
-bwX
+bmX
+bBT
bDz
bjC
beC
-bPM
-btt
-btt
btt
+blA
+blA
+blA
bzq
beC
bjC
@@ -150525,7 +150548,7 @@ aaa
aYD
bic
bjG
-bmX
+blu
bDz
bDz
bjC
@@ -150784,13 +150807,13 @@ bik
bjC
bmY
bDz
-bBT
+bGJ
bjC
beC
-bnc
-bnc
-bnc
-bnc
+blC
+blC
+blC
+blC
beC
beC
bBV
@@ -151036,12 +151059,12 @@ aaa
aYD
baW
beA
-bjg
-blu
+bgo
+bil
bjC
bmY
bDz
-bBT
+bGJ
bjC
beC
blD
@@ -151292,7 +151315,7 @@ aaa
aYD
baW
bcJ
-bje
+bcK
beC
beC
bjC
@@ -151301,10 +151324,10 @@ bmQ
bnb
bqo
beC
-btt
-btt
-btt
-btt
+blA
+blA
+blA
+blA
beC
bAP
bBX
@@ -151548,7 +151571,7 @@ aaa
aaa
aYU
baX
-bje
+bcK
beC
beC
beC
@@ -151806,19 +151829,19 @@ aaa
aYH
baY
bcL
-bje
+bcK
beC
bim
bjC
-bnc
-bnc
-bnc
-bnc
+blC
+blC
+blC
+blC
beC
-bnc
-bnc
-bnc
-bnc
+blC
+blC
+blC
+blC
beC
bAP
bBX
@@ -152064,8 +152087,8 @@ aaa
aYH
baY
beD
-bjh
-blA
+bgp
+bin
bjJ
blD
bnb
@@ -152324,15 +152347,15 @@ aYU
baY
beC
bjC
-btt
-btt
-btt
-btt
+blA
+blA
+blA
+blA
beC
-btt
-btt
-btt
-btt
+blA
+blA
+blA
+blA
beC
beC
bBY
@@ -152838,15 +152861,15 @@ aaa
aaa
aaa
bjC
+blC
bnc
-bys
-bnc
-bnc
-bnc
-bRH
-bnc
-bnc
-bnc
+blC
+blC
+blC
+btu
+blC
+blC
+blC
beC
beC
bBS
@@ -153045,7 +153068,7 @@ aha
ahZ
aha
aha
-arZ
+amZ
agZ
aaa
aaa
@@ -153803,8 +153826,8 @@ aaa
aaa
agc
agZ
-amZ
-amZ
+mMw
+mMw
agZ
ail
agw
diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm
index d04bf394f26..0052c80df84 100644
--- a/_maps/map_files/cyberiad/z2.dmm
+++ b/_maps/map_files/cyberiad/z2.dmm
@@ -3248,8 +3248,6 @@
/area/shuttle/assault_pod)
"iw" = (
/obj/structure/rack,
-/obj/item/clothing/suit/space/eva/plasmaman/wizard,
-/obj/item/clothing/head/helmet/space/eva/plasmaman/wizard,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath/vox,
/obj/item/tank/plasma/plasmaman,
@@ -8555,11 +8553,6 @@
/area/admin)
"uJ" = (
/obj/structure/rack,
-/obj/item/clothing/head/helmet/space/hardsuit/wizard{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/clothing/head/helmet/space/hardsuit/syndi,
/obj/item/clothing/head/helmet/space/santahat{
pixel_x = 3;
pixel_y = -3
@@ -11644,8 +11637,8 @@
/area/admin)
"AL" = (
/obj/structure/rack,
-/obj/item/storage/box/syndie_kit/hardsuit,
-/obj/item/storage/box/syndie_kit/elite_hardsuit{
+/obj/item/clothing/suit/space/hardsuit/syndi,
+/obj/item/clothing/suit/space/hardsuit/syndi/elite{
pixel_x = -6;
pixel_y = 6
},
@@ -12230,6 +12223,12 @@
"FL" = (
/turf/simulated/wall/r_wall,
/area/adminconstruction)
+"Ga" = (
+/obj/machinery/computer/shuttle/ert,
+/turf/unsimulated/floor{
+ icon_state = "dark"
+ },
+/area/centcom/specops)
"GP" = (
/turf/unsimulated/floor{
icon_state = "gcircuit"
@@ -31701,7 +31700,7 @@ pb
uj
uj
uj
-uj
+Ga
sX
we
we
diff --git a/_maps/map_files/cyberiad/z4.dmm b/_maps/map_files/cyberiad/z4.dmm
index 08d56927445..bd20066c0a4 100644
--- a/_maps/map_files/cyberiad/z4.dmm
+++ b/_maps/map_files/cyberiad/z4.dmm
@@ -2571,6 +2571,7 @@
req_access_txt = "0";
req_one_access_txt = "10;24"
},
+/obj/structure/fans/tiny,
/turf/simulated/floor/plating,
/area/engiestation)
"gs" = (
diff --git a/_maps/test_all_maps.dm b/_maps/test_all_maps.dm
index 064bf8defaf..55cb0ff946b 100644
--- a/_maps/test_all_maps.dm
+++ b/_maps/test_all_maps.dm
@@ -19,6 +19,8 @@
// Lavaland Ruins
#include "map_files\RandomRuins\LavaRuins\lavaland_biodome_beach.dmm"
+ #include "map_files\RandomRuins\LavaRuins\lavaland_biodome_clown_planet.dmm"
+ #include "map_files\RandomRuins\LavaRuins\lavaland_biodome_winter.dmm"
#include "map_files\RandomRuins\LavaRuins\lavaland_surface_animal_hospital.dmm"
#include "map_files\RandomRuins\LavaRuins\lavaland_surface_ash_walker1.dmm"
#include "map_files\RandomRuins\LavaRuins\lavaland_surface_blooddrunk1.dmm"
@@ -44,7 +46,7 @@
#include "map_files\RandomRuins\LavaRuins\lavaland_surface_syndicate_base1.dmm"
#include "map_files\RandomRuins\LavaRuins\lavaland_surface_ufo_crash.dmm"
#include "map_files\RandomRuins\LavaRuins\lavaland_surface_xeno_nest.dmm"
-
+
// Space Ruins
#include "map_files\RandomRuins\SpaceRuins\abandonedzoo.dmm"
diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm
index 67eea12291a..2f296960622 100644
--- a/code/__DEFINES/atmospherics.dm
+++ b/code/__DEFINES/atmospherics.dm
@@ -123,8 +123,12 @@
#define TANK_RUPTURE_PRESSURE (40.*ONE_ATMOSPHERE) //Tank spills all contents into atmosphere
#define TANK_FRAGMENT_PRESSURE (50.*ONE_ATMOSPHERE) //Boom 3x3 base explosion
#define TANK_FRAGMENT_SCALE (10.*ONE_ATMOSPHERE) //+1 for each SCALE kPa aboe threshold
+#define TANK_DEFAULT_RELEASE_PRESSURE 16
// Atmos alarm defines
#define ATMOS_ALARM_NONE 0
#define ATMOS_ALARM_WARNING 1
#define ATMOS_ALARM_DANGER 2
+
+//LAVALAND
+#define LAVALAND_EQUIPMENT_EFFECT_PRESSURE 50 //what pressure you have to be under to increase the effect of equipment meant for lavaland
\ No newline at end of file
diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index 723fe6b0762..1750a89d2df 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -57,6 +57,89 @@
#define MAX_STACK_AMOUNT_GLASS 50
#define MAX_STACK_AMOUNT_RODS 60
+//Colors
+#define COLOR_RED "#FF0000"
+#define COLOR_GREEN "#00FF00"
+#define COLOR_BLUE "#0000FF"
+#define COLOR_CYAN "#00FFFF"
+#define COLOR_PINK "#FF00FF"
+#define COLOR_YELLOW "#FFFF00"
+#define COLOR_ORANGE "#FF9900"
+#define COLOR_WHITE "#FFFFFF"
+#define COLOR_GRAY "#808080"
+#define COLOR_BLACK "#000000"
+#define COLOR_NAVY_BLUE "#000080"
+#define COLOR_LIGHT_GREEN "#008000"
+#define COLOR_DARK_GRAY "#404040"
+#define COLOR_MAROON "#800000"
+#define COLOR_PURPLE "#800080"
+#define COLOR_VIOLET "#9933ff"
+#define COLOR_OLIVE "#808000"
+#define COLOR_BROWN_ORANGE "#824b28"
+#define COLOR_DARK_ORANGE "#b95a00"
+#define COLOR_GRAY40 "#666666"
+#define COLOR_GRAY20 "#333333"
+#define COLOR_GRAY15 "#151515"
+#define COLOR_SEDONA "#cc6600"
+#define COLOR_DARK_BROWN "#917448"
+#define COLOR_DEEP_SKY_BLUE "#00e1ff"
+#define COLOR_LIME "#00ff00"
+#define COLOR_TEAL "#33cccc"
+#define COLOR_PALE_PINK "#bf89ba"
+#define COLOR_YELLOW_GRAY "#c9a344"
+#define COLOR_PALE_YELLOW "#c1bb7a"
+#define COLOR_WARM_YELLOW "#b3863c"
+#define COLOR_RED_GRAY "#aa5f61"
+#define COLOR_BROWN "#b19664"
+#define COLOR_GREEN_GRAY "#8daf6a"
+#define COLOR_DARK_GREEN_GRAY "#54654c"
+#define COLOR_BLUE_GRAY "#6a97b0"
+#define COLOR_DARK_BLUE_GRAY "#3e4855"
+#define COLOR_SUN "#ec8b2f"
+#define COLOR_PURPLE_GRAY "#a2819e"
+#define COLOR_BLUE_LIGHT "#33ccff"
+#define COLOR_RED_LIGHT "#ff3333"
+#define COLOR_BEIGE "#ceb689"
+#define COLOR_BABY_BLUE "#89cff0"
+#define COLOR_PALE_GREEN_GRAY "#aed18b"
+#define COLOR_PALE_RED_GRAY "#cc9090"
+#define COLOR_PALE_PURPLE_GRAY "#bda2ba"
+#define COLOR_PALE_BLUE_GRAY "#8bbbd5"
+#define COLOR_LUMINOL "#66ffff"
+#define COLOR_SILVER "#c0c0c0"
+#define COLOR_GRAY80 "#cccccc"
+#define COLOR_OFF_WHITE "#eeeeee"
+#define COLOR_GOLD "#6d6133"
+#define COLOR_NT_RED "#9d2300"
+#define COLOR_BOTTLE_GREEN "#1f6b4f"
+#define COLOR_PALE_BTL_GREEN "#57967f"
+#define COLOR_GUNMETAL "#545c68"
+#define COLOR_WALL_GUNMETAL "#353a42"
+#define COLOR_STEEL "#a8b0b2"
+#define COLOR_MUZZLE_FLASH "#ffffb2"
+#define COLOR_CHESTNUT "#996633"
+#define COLOR_BEASTY_BROWN "#663300"
+#define COLOR_WHEAT "#ffff99"
+#define COLOR_CYAN_BLUE "#3366cc"
+#define COLOR_LIGHT_CYAN "#66ccff"
+#define COLOR_PAKISTAN_GREEN "#006600"
+#define COLOR_HULL "#436b8e"
+#define COLOR_AMBER "#ffbf00"
+#define COLOR_COMMAND_BLUE "#46698c"
+#define COLOR_SKY_BLUE "#5ca1cc"
+#define COLOR_PALE_ORANGE "#b88a3b"
+#define COLOR_CIVIE_GREEN "#b7f27d"
+#define COLOR_TITANIUM "#d1e6e3"
+#define COLOR_DARK_GUNMETAL "#4c535b"
+#define COLOR_BRONZE "#8c7853"
+#define COLOR_BRASS "#b99d71"
+#define COLOR_INDIGO "#4b0082"
+#define COLOR_ALUMINIUM "#bbbbbb"
+#define COLOR_CRYSTAL "#00c8a5"
+#define COLOR_ASTEROID_ROCK "#735555"
+#define COLOR_NULLGLASS "#ff6088"
+#define COLOR_DIAMOND "#d8d4ea"
+
//FONTS:
// Used by Paper and PhotoCopier (and PaperBin once a year).
// Used by PDA's Notekeeper.
@@ -270,6 +353,8 @@
#define TRIGGER_GUARD_NONE 0
#define TRIGGER_GUARD_NORMAL 1
+#define CLIENT_FROM_VAR(I) (ismob(I) ? I:client : (istype(I, /client) ? I : (istype(I, /datum/mind) ? I:current?:client : null)))
+
// Macro to get the current elapsed round time, rather than total world runtime
#define ROUND_TIME (SSticker.round_start_time ? (world.time - SSticker.round_start_time) : 0)
@@ -305,6 +390,8 @@
#define BLOODY_FOOTPRINT_BASE_ALPHA 150
#define BLOOD_GAIN_PER_STEP 100
#define BLOOD_LOSS_PER_STEP 5
+#define BLOOD_LOSS_IN_SPREAD 20
+#define BLOOD_AMOUNT_PER_DECAL 20
//Bloody shoe blood states
#define BLOOD_STATE_HUMAN "blood"
@@ -320,7 +407,7 @@
#define INVESTIGATE_BOMB "bombs"
// The SQL version required by this version of the code
-#define SQL_VERSION 8
+#define SQL_VERSION 9
// Vending machine stuff
#define CAT_NORMAL 1
@@ -402,4 +489,15 @@
#define DICE_NOT_RIGGED 1
#define DICE_BASICALLY_RIGGED 2
-#define DICE_TOTALLY_RIGGED 3
\ No newline at end of file
+#define DICE_TOTALLY_RIGGED 3
+
+// Parallax
+#define PARALLAX_DELAY_DEFAULT world.tick_lag
+#define PARALLAX_DELAY_MED 1
+#define PARALLAX_DELAY_LOW 2
+#define PARALLAX_LOOP_TIME 25
+
+// Engine types
+#define ENGTYPE_SING "Singularity"
+#define ENGTYPE_SM "Supermatter"
+#define ENGTYPE_TESLA "Tesla"
\ No newline at end of file
diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm
index 284b0e4d745..608fcfcce20 100644
--- a/code/__DEFINES/mobs.dm
+++ b/code/__DEFINES/mobs.dm
@@ -187,6 +187,7 @@
#define isswarmer(A) (istype((A), /mob/living/simple_animal/hostile/swarmer))
#define isguardian(A) (istype((A), /mob/living/simple_animal/hostile/guardian))
#define isnymph(A) (istype((A), /mob/living/simple_animal/diona))
+#define ishostile(A) (istype(A, /mob/living/simple_animal/hostile))
#define issilicon(A) (istype((A), /mob/living/silicon))
#define isAI(A) (istype((A), /mob/living/silicon/ai))
diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm
index 9582fddccfe..a28d68a392b 100644
--- a/code/__DEFINES/preferences.dm
+++ b/code/__DEFINES/preferences.dm
@@ -63,3 +63,12 @@
#define EXP_TYPE_WHITELIST "Whitelist"
#define EXP_DEPT_TYPE_LIST list(EXP_TYPE_SERVICE, EXP_TYPE_MEDICAL, EXP_TYPE_ENGINEERING, EXP_TYPE_SCIENCE, EXP_TYPE_SECURITY, EXP_TYPE_COMMAND, EXP_TYPE_SILICON, EXP_TYPE_SPECIAL)
+
+// Defines just for parallax because its levels make storing it in the regular prefs a pain in the ass
+// These dont need to be bitflags because there isnt going to be more than one at a time of these active
+// But its gonna piss off my OCD if it isnt bitflags, so deal with it, -affected
+#define PARALLAX_DISABLE 1
+#define PARALLAX_LOW 2
+#define PARALLAX_MED 4
+#define PARALLAX_HIGH 8
+#define PARALLAX_INSANE 16
diff --git a/code/__DEFINES/sight.dm b/code/__DEFINES/sight.dm
index 54162cd0f96..58f557c4b75 100644
--- a/code/__DEFINES/sight.dm
+++ b/code/__DEFINES/sight.dm
@@ -32,3 +32,10 @@
#define SECHUD 1
#define MEDHUD 2
#define ANTAGHUD 3
+
+//for clothing visor toggles, these determine which vars to toggle
+#define VISOR_FLASHPROTECT (1<<0)
+#define VISOR_TINT (1<<1)
+#define VISOR_VISIONFLAGS (1<<2) //all following flags only matter for glasses
+#define VISOR_DARKNESSVIEW (1<<3)
+#define VISOR_INVISVIEW (1<<4)
\ No newline at end of file
diff --git a/code/__DEFINES/stat.dm b/code/__DEFINES/stat.dm
index b38018c0382..6ef269be1c2 100644
--- a/code/__DEFINES/stat.dm
+++ b/code/__DEFINES/stat.dm
@@ -41,6 +41,7 @@
#define SHUTTLE_STRANDED 4
#define SHUTTLE_ESCAPE 5
#define SHUTTLE_ENDGAME 6
+#define SHUTTLE_IGNITING 7
// Shuttle return values
#define SHUTTLE_CAN_DOCK "can_dock"
diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm
index e5d5bb723c1..f451a34a8b7 100644
--- a/code/__DEFINES/status_effects.dm
+++ b/code/__DEFINES/status_effects.dm
@@ -26,7 +26,7 @@
//#define STATUS_EFFECT_WISH_GRANTERS_GIFT /datum/status_effect/wish_granters_gift //If you're currently resurrecting with the Wish Granter
-//#define STATUS_EFFECT_BLOODDRUNK /datum/status_effect/blooddrunk //Stun immunity and greatly reduced damage taken
+#define STATUS_EFFECT_BLOODDRUNK /datum/status_effect/blooddrunk //Stun immunity and greatly reduced damage taken
/////////////
// DEBUFFS //
@@ -52,7 +52,7 @@
#define STATUS_EFFECT_SUMMONEDGHOST /datum/status_effect/cultghost //is a cult ghost and can't use manifest runes
-//#define STATUS_EFFECT_CRUSHERMARK /datum/status_effect/crusher_mark //if struck with a proto-kinetic crusher, takes a ton of damage
+#define STATUS_EFFECT_CRUSHERMARK /datum/status_effect/crusher_mark //if struck with a proto-kinetic crusher, takes a ton of damage
#define STATUS_EFFECT_SAWBLEED /datum/status_effect/saw_bleed //if the bleed builds up enough, takes a ton of damage
@@ -74,6 +74,6 @@
//#define STATUS_EFFECT_SIGILMARK /datum/status_effect/sigil_mark
-//#define STATUS_EFFECT_CRUSHERDAMAGETRACKING /datum/status_effect/crusher_damage //tracks total kinetic crusher damage on a target
+#define STATUS_EFFECT_CRUSHERDAMAGETRACKING /datum/status_effect/crusher_damage //tracks total kinetic crusher damage on a target
-//#define STATUS_EFFECT_SYPHONMARK /datum/status_effect/syphon_mark //tracks kills for the KA death syphon module
\ No newline at end of file
+#define STATUS_EFFECT_SYPHONMARK /datum/status_effect/syphon_mark //tracks kills for the KA death syphon module
\ No newline at end of file
diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm
index 29a93ae94f9..c55fec2cd87 100644
--- a/code/__DEFINES/subsystems.dm
+++ b/code/__DEFINES/subsystems.dm
@@ -79,7 +79,8 @@
#define INIT_ORDER_NANOMOB -23
#define INIT_ORDER_SQUEAK -40
#define INIT_ORDER_PATH -50
-#define INIT_ORDER_PERSISTENCE -100
+#define INIT_ORDER_PERSISTENCE -95
+#define INIT_ORDER_CHAT -100 //Should be last to ensure chat remains smooth during init.
// Subsystem fire priority, from lowest to highest priority
// If the subsystem isn't listed here it's either DEFAULT or PROCESS (if it's a processing subsystem child)
@@ -111,6 +112,7 @@
#define FIRE_PRIORITY_MOBS 100
#define FIRE_PRIORITY_NANOUI 110
#define FIRE_PRIORITY_TICKER 200
+#define FIRE_PRIORITY_CHAT 400
#define FIRE_PRIORITY_OVERLAYS 500
#define FIRE_PRIORITY_INPUT 1000 // This must always always be the max highest priority. Player input must never be lost.
diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index 27b69284a3d..3bb6b742a04 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -19,6 +19,12 @@
return A
return 0
+/proc/get_location_name(atom/X, format_text = FALSE)
+ var/area/A = isarea(X) ? X : get_area(X)
+ if(!A)
+ return null
+ return format_text ? format_text(A.name) : A.name
+
/proc/get_areas_in_range(dist=0, atom/center=usr)
if(!dist)
var/turf/T = get_turf(center)
@@ -429,6 +435,17 @@
/proc/GetBluePart(const/hexa)
return hex2num(copytext(hexa, 6, 8))
+/proc/lavaland_equipment_pressure_check(turf/T)
+ . = FALSE
+ if(!istype(T))
+ return
+ var/datum/gas_mixture/environment = T.return_air()
+ if(!istype(environment))
+ return
+ var/pressure = environment.return_pressure()
+ if(pressure <= LAVALAND_EQUIPMENT_EFFECT_PRESSURE)
+ . = TRUE
+
/proc/GetHexColors(const/hexa)
return list(
GetRedPart(hexa),
diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm
index 11c86940b75..acf202f0eee 100644
--- a/code/__HELPERS/icon_smoothing.dm
+++ b/code/__HELPERS/icon_smoothing.dm
@@ -153,29 +153,33 @@
/turf/simulated/wall/diagonal_smooth(adjacencies)
adjacencies = reverse_ndir(..())
if(adjacencies)
- var/list/U = list()
+ var/mutable_appearance/underlay_appearance = mutable_appearance(layer = TURF_LAYER, plane = FLOOR_PLANE)
+ var/list/U = list(underlay_appearance)
if(fixed_underlay)
if(fixed_underlay["space"])
- U += image('icons/turf/space.dmi', SPACE_ICON_STATE, layer=TURF_LAYER)
+ underlay_appearance.icon = 'icons/turf/space.dmi'
+ underlay_appearance.icon_state = SPACE_ICON_STATE
+ underlay_appearance.plane = PLANE_SPACE
else
- U += image(fixed_underlay["icon"], fixed_underlay["icon_state"], layer=TURF_LAYER)
+ underlay_appearance.icon = fixed_underlay["icon"]
+ underlay_appearance.icon_state = fixed_underlay["icon_state"]
else
- var/turf/T = get_step(src, turn(adjacencies, 180))
- if(T && (T.density || T.smooth))
+ var/turned_adjacency = turn(adjacencies, 180)
+ var/turf/T = get_step(src, turned_adjacency)
+ if(!T.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency))
T = get_step(src, turn(adjacencies, 135))
- if(T && (T.density || T.smooth))
+ if(!T.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency))
T = get_step(src, turn(adjacencies, 225))
-
- if(istype(T, /turf/space) && !istype(T, /turf/space/transit))
- U += image('icons/turf/space.dmi', SPACE_ICON_STATE, layer=TURF_LAYER)
- else if(T && !T.density && !T.smooth)
- U += T
- else if(baseturf && !initial(baseturf.density) && !initial(baseturf.smooth))
- U += image(initial(baseturf.icon), initial(baseturf.icon_state), layer=TURF_LAYER)
- else
- U += DEFAULT_UNDERLAY_IMAGE
+ //if all else fails, ask our own turf
+ if(!T.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency) && !get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency))
+ underlay_appearance.icon = DEFAULT_UNDERLAY_ICON
+ underlay_appearance.icon_state = DEFAULT_UNDERLAY_ICON_STATE
underlays = U
+ // Drop posters which were previously placed on this wall.
+ for(var/obj/structure/sign/poster/P in src)
+ P.roll_and_drop(src)
+
/proc/cardinal_smooth(atom/A, adjacencies)
//NW CORNER
var/nw = "1-i"
diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm
index 04d63e0e862..08af11a128c 100644
--- a/code/__HELPERS/text.dm
+++ b/code/__HELPERS/text.dm
@@ -545,6 +545,43 @@ proc/checkhtml(var/t)
text = copytext(text, 1, MAX_PAPER_MESSAGE_LEN)
return text
+/proc/convert_pencode_arg(text, tag, arg)
+ arg = sanitize_simple(html_encode(arg), list("''"="","\""="", "?"=""))
+ // https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html#rule-4---css-escape-and-strictly-validate-before-inserting-untrusted-data-into-html-style-property-values
+ var/list/style_attacks = list("javascript:", "expression", "byond:", "file:")
+
+ for(var/style_attack in style_attacks)
+ if(findtext(arg, style_attack))
+ // Do not attempt to render dangerous things
+ return text
+
+ if(tag == "class")
+ return ""
+
+ if(tag == "style")
+ return ""
+
+ if(tag == "img")
+ var/list/img_props = splittext(arg, ";")
+ if(img_props.len == 3)
+ return "
"
+ if(img_props.len == 2)
+ return "
"
+ return "
"
+
+ return text
+
+/proc/admin_pencode_to_html()
+ var/text = pencode_to_html(arglist(args))
+ var/regex/R = new(@"\[(.*?) (.*?)\]", "ge")
+ text = R.Replace(text, /proc/convert_pencode_arg)
+
+ text = replacetext(text, "\[/class\]", "")
+ text = replacetext(text, "\[/style\]", "")
+ text = replacetext(text, "\[/img\]", "")
+
+ return text
+
/proc/html_to_pencode(text)
text = replacetext(text, "
", "\n")
text = replacetext(text, "
", "\[center\]")
diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm
index 5ff132a7ee6..d9d21c60e1e 100644
--- a/code/_globalvars/lists/objects.dm
+++ b/code/_globalvars/lists/objects.dm
@@ -47,4 +47,6 @@ GLOBAL_LIST_INIT(active_diseases, list()) //List of Active disease in all mob
GLOBAL_LIST_EMPTY(mob_spawners) // All mob_spawn objects
-GLOBAL_LIST_EMPTY(explosive_walls)
\ No newline at end of file
+GLOBAL_LIST_EMPTY(explosive_walls)
+
+GLOBAL_LIST_EMPTY(engine_beacon_list)
\ No newline at end of file
diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm
index 22921f5228d..ca8f32f2599 100644
--- a/code/_onclick/ai.dm
+++ b/code/_onclick/ai.dm
@@ -209,11 +209,13 @@
/atom/proc/AIMiddleClick()
return
-/obj/machinery/door/airlock/AIMiddleClick() // Toggles door bolt lights.
- if(!src.lights)
- Topic(src, list("src" = UID(), "command"="lights", "activate" = "1"), 1) // 1 meaning no window (consistency!)
+/obj/machinery/door/airlock/AIMiddleClick() // Toggles door safety.
+ if(safe)
+ Topic(src, list("src" = UID(), "command"="safeties", "activate" = "1"), 1) // 1 meaning no window (consistency!)
+ to_chat(usr, "The door safeties have been overridden.")
else
- Topic(src, list("src" = UID(), "command"="lights", "activate" = "0"), 1)
+ Topic(src, list("src" = UID(), "command"="safeties", "activate" = "0"), 1)
+ to_chat(usr, "The door safeties have been reset.")
return
/obj/machinery/ai_slipper/AICtrlClick() //Turns liquid dispenser on or off
diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm
index e3d423130e5..58e82733abe 100644
--- a/code/_onclick/hud/_defines.dm
+++ b/code/_onclick/hud/_defines.dm
@@ -107,14 +107,20 @@
#define ui_healthdoll "EAST-1:28,CENTER-1:15"
#define ui_health "EAST-1:28,CENTER:17"
#define ui_internal "EAST-1:28,CENTER+1:19"
- //borgs
+
+//borgs
#define ui_borg_health "EAST-1:28,CENTER-1:15" //borgs have the health display where humans have the pressure damage indicator.
+
+//aliens
#define ui_alien_health "EAST-1:28,CENTER-1:15" //aliens have the health display where humans have the pressure damage indicator.
-
+//constructs
#define ui_construct_pull "EAST-1:28,SOUTH+1:10" //above the zone_sel icon
#define ui_construct_health "EAST,CENTER:15" //same height as humans, hugging the right border
+//slimes
+#define ui_slime_health "EAST,CENTER:15" //same as borgs, constructs and humans
+
//Pop-up inventory
#define ui_shoes "WEST+1:8,SOUTH:5"
diff --git a/code/_onclick/hud/action_button.dm b/code/_onclick/hud/action_button.dm
index 15ed4429965..b70c98908f5 100644
--- a/code/_onclick/hud/action_button.dm
+++ b/code/_onclick/hud/action_button.dm
@@ -2,6 +2,25 @@
var/datum/action/linked_action
screen_loc = null
+/obj/screen/movable/action_button/MouseDrop(over_object)
+ if((istype(over_object, /obj/screen/movable/action_button) && !istype(over_object, /obj/screen/movable/action_button/hide_toggle)))
+ if(locked)
+ to_chat(usr, "Action button \"[name]\" is locked, unlock it first.")
+ closeToolTip(usr)
+ return
+ var/obj/screen/movable/action_button/B = over_object
+ var/list/actions = usr.actions
+ actions.Swap(actions.Find(linked_action), actions.Find(B.linked_action))
+ moved = FALSE
+ B.moved = FALSE
+ closeToolTip(usr)
+ usr.update_action_buttons()
+ else if(istype(over_object, /obj/screen/movable/action_button/hide_toggle))
+ closeToolTip(usr)
+ else
+ closeToolTip(usr)
+ return ..()
+
/obj/screen/movable/action_button/Click(location,control,params)
var/list/modifiers = params2list(params)
if(modifiers["shift"])
@@ -29,6 +48,13 @@
icon_state = "bg_default"
var/hidden = 0
+/obj/screen/movable/action_button/hide_toggle/MouseDrop(over_object)
+ if(istype(over_object, /obj/screen/movable/action_button))
+ closeToolTip(usr)
+ else
+ closeToolTip(usr)
+ return ..()
+
/obj/screen/movable/action_button/hide_toggle/Click(location,control,params)
var/list/modifiers = params2list(params)
if(modifiers["shift"])
@@ -83,9 +109,9 @@
var/image/img = image(icon, src, hidden ? "show" : "hide")
overlays += img
-/obj/screen/movable/action_button/MouseEntered(location,control,params)
- openToolTip(usr,src,params,title = name,content = desc)
-
+/obj/screen/movable/action_button/MouseEntered(location, control, params)
+ if(!QDELETED(src))
+ openToolTip(usr, src, params, title = name, content = desc)
/obj/screen/movable/action_button/MouseExited()
closeToolTip(usr)
diff --git a/code/_onclick/hud/ai.dm b/code/_onclick/hud/ai.dm
index 0b1a6d1c6c4..dc98d887279 100644
--- a/code/_onclick/hud/ai.dm
+++ b/code/_onclick/hud/ai.dm
@@ -256,4 +256,10 @@
//Add multicamera camera
using = new /obj/screen/ai/add_multicam()
using.screen_loc = ui_ai_add_multicam
- static_inventory += using
\ No newline at end of file
+ static_inventory += using
+
+//Intent
+ using = new /obj/screen/act_intent/robot/AI()
+ using.icon_state = mymob.a_intent
+ static_inventory += using
+ action_intent = using
\ No newline at end of file
diff --git a/code/_onclick/hud/blob_overmind.dm b/code/_onclick/hud/blob_overmind.dm
index 1e8f99814df..c1f14fc625d 100644
--- a/code/_onclick/hud/blob_overmind.dm
+++ b/code/_onclick/hud/blob_overmind.dm
@@ -49,8 +49,8 @@
/obj/screen/blob/Blobbernaut
icon_state = "ui_blobbernaut"
- name = "Produce Blobbernaut (20)"
- desc = "Produces a strong, but dumb blobbernaut from a factory blob for 20 resources.
The factory blob will be destroyed in the process."
+ name = "Produce Blobbernaut (60)"
+ desc = "Produces a strong, intelligent blobbernaut from a factory blob for 60 resources.
The factory blob will be destroyed in the process."
/obj/screen/blob/Blobbernaut/Click()
if(isovermind(usr))
diff --git a/code/_onclick/hud/ghost.dm b/code/_onclick/hud/ghost.dm
index 4e92395f4cc..600c1105e8e 100644
--- a/code/_onclick/hud/ghost.dm
+++ b/code/_onclick/hud/ghost.dm
@@ -59,3 +59,8 @@
using = new /obj/screen/ghost/teleport()
using.screen_loc = ui_ghost_teleport
static_inventory += using
+
+/datum/hud/ghost/show_hud()
+ mymob.client.screen = list()
+ mymob.client.screen += static_inventory
+ ..()
diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm
index 0063feae9cf..e93b3b121e6 100644
--- a/code/_onclick/hud/hud.dm
+++ b/code/_onclick/hud/hud.dm
@@ -99,6 +99,7 @@
/datum/hud/proc/show_hud(version = 0)
if(!ismob(mymob))
return FALSE
+
if(!mymob.client)
return FALSE
@@ -172,6 +173,7 @@
mymob.update_action_buttons(1)
reorganize_alerts()
reload_fullscreen()
+ update_parallax_pref(mymob)
plane_masters_update()
/datum/hud/proc/plane_masters_update()
diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm
new file mode 100644
index 00000000000..e60200b967a
--- /dev/null
+++ b/code/_onclick/hud/parallax.dm
@@ -0,0 +1,319 @@
+/client
+ var/list/parallax_layers
+ var/list/parallax_layers_cached
+ var/static/list/parallax_static_layers_tail = newlist(/obj/screen/parallax_pmaster, /obj/screen/parallax_space_whitifier)
+ var/atom/movable/movingmob
+ var/turf/previous_turf
+ var/dont_animate_parallax //world.time of when we can state animate()ing parallax again
+ var/last_parallax_shift //world.time of last update
+ var/parallax_throttle = 0 //ds between updates
+ var/parallax_movedir = 0
+ var/parallax_layers_max = 3
+ var/parallax_animate_timer
+
+/datum/hud/proc/create_parallax()
+ var/client/C = mymob.client
+ if(!apply_parallax_pref())
+ return
+
+ if(!length(C.parallax_layers_cached))
+ C.parallax_layers_cached = list()
+ C.parallax_layers_cached += new /obj/screen/parallax_layer/layer_1(null, C.view)
+ C.parallax_layers_cached += new /obj/screen/parallax_layer/layer_2(null, C.view)
+ C.parallax_layers_cached += new /obj/screen/parallax_layer/planet(null, C.view)
+ C.parallax_layers_cached += new /obj/screen/parallax_layer/layer_3(null, C.view)
+
+ C.parallax_layers = C.parallax_layers_cached.Copy()
+
+ if(length(C.parallax_layers) > C.parallax_layers_max)
+ C.parallax_layers.len = C.parallax_layers_max
+
+ C.screen |= (C.parallax_layers + C.parallax_static_layers_tail)
+
+/datum/hud/proc/remove_parallax()
+ var/client/C = mymob.client
+ C.screen -= (C.parallax_layers_cached + C.parallax_static_layers_tail)
+ C.parallax_layers = null
+
+/datum/hud/proc/apply_parallax_pref()
+ var/client/C = mymob.client
+ if(C.prefs)
+ var/pref = C.prefs.parallax
+ if (isnull(pref))
+ pref = PARALLAX_HIGH
+ switch(C.prefs.parallax)
+ if (PARALLAX_INSANE)
+ C.parallax_throttle = FALSE
+ C.parallax_layers_max = 4
+ return TRUE
+
+ if (PARALLAX_MED)
+ C.parallax_throttle = PARALLAX_DELAY_MED
+ C.parallax_layers_max = 2
+ return TRUE
+
+ if (PARALLAX_LOW)
+ C.parallax_throttle = PARALLAX_DELAY_LOW
+ C.parallax_layers_max = 1
+ return TRUE
+
+ if (PARALLAX_DISABLE)
+ return FALSE
+
+ C.parallax_throttle = PARALLAX_DELAY_DEFAULT
+ C.parallax_layers_max = 3
+ return TRUE
+
+/datum/hud/proc/update_parallax_pref()
+ remove_parallax()
+ create_parallax()
+ update_parallax()
+
+// This sets which way the current shuttle is moving (returns true if the shuttle has stopped moving so the caller can append their animation)
+// Well, it would if our shuttle code had dynamic areas
+/datum/hud/proc/set_parallax_movedir(new_parallax_movedir, skip_windups)
+ . = FALSE
+ var/client/C = mymob.client
+ if(new_parallax_movedir == C.parallax_movedir)
+ return
+ var/animatedir = new_parallax_movedir
+ if(new_parallax_movedir == FALSE)
+ var/animate_time = 0
+ for(var/thing in C.parallax_layers)
+ var/obj/screen/parallax_layer/L = thing
+ L.icon_state = initial(L.icon_state)
+ L.update_o(C.view)
+ var/T = PARALLAX_LOOP_TIME / L.speed
+ if(T > animate_time)
+ animate_time = T
+ C.dont_animate_parallax = world.time + min(animate_time, PARALLAX_LOOP_TIME)
+ animatedir = C.parallax_movedir
+
+ var/matrix/newtransform
+ switch(animatedir)
+ if(NORTH)
+ newtransform = matrix(1, 0, 0, 0, 1, 480)
+ if(SOUTH)
+ newtransform = matrix(1, 0, 0, 0, 1,-480)
+ if(EAST)
+ newtransform = matrix(1, 0, 480, 0, 1, 0)
+ if(WEST)
+ newtransform = matrix(1, 0,-480, 0, 1, 0)
+
+ var/shortesttimer
+ for(var/thing in C.parallax_layers)
+ var/obj/screen/parallax_layer/L = thing
+
+ var/T = PARALLAX_LOOP_TIME / L.speed
+ if(isnull(shortesttimer))
+ shortesttimer = T
+ if(T < shortesttimer)
+ shortesttimer = T
+ L.transform = newtransform
+ animate(L, transform = matrix(), time = T, easing = QUAD_EASING | (new_parallax_movedir ? EASE_IN : EASE_OUT), flags = ANIMATION_END_NOW)
+ if(new_parallax_movedir)
+ L.transform = newtransform
+ animate(transform = matrix(), time = T) //queue up another animate so lag doesn't create a shutter
+
+ C.parallax_movedir = new_parallax_movedir
+ if(C.parallax_animate_timer)
+ deltimer(C.parallax_animate_timer)
+ var/datum/callback/CB = CALLBACK(src, .proc/update_parallax_motionblur, C, animatedir, new_parallax_movedir, newtransform)
+ if(skip_windups)
+ CB.Invoke()
+ else
+ C.parallax_animate_timer = addtimer(CB, min(shortesttimer, PARALLAX_LOOP_TIME), TIMER_CLIENT_TIME|TIMER_STOPPABLE)
+
+/datum/hud/proc/update_parallax_motionblur(client/C, animatedir, new_parallax_movedir, matrix/newtransform)
+ C.parallax_animate_timer = FALSE
+ for(var/thing in C.parallax_layers)
+ var/obj/screen/parallax_layer/L = thing
+ if(!new_parallax_movedir)
+ animate(L)
+ continue
+
+ var/newstate = initial(L.icon_state)
+ if(animatedir)
+ if(animatedir == NORTH || animatedir == SOUTH)
+ newstate += "_vertical"
+ else
+ newstate += "_horizontal"
+
+ var/T = PARALLAX_LOOP_TIME / L.speed
+
+ if(newstate in icon_states(L.icon))
+ L.icon_state = newstate
+ L.update_o(C.view)
+
+ L.transform = newtransform
+
+ animate(L, transform = matrix(), time = T, loop = -1, flags = ANIMATION_END_NOW)
+
+/datum/hud/proc/update_parallax()
+ var/client/C = mymob.client
+ var/turf/posobj = get_turf(C.eye)
+ if(!posobj)
+ return
+ var/area/areaobj = posobj.loc
+
+ // Update the movement direction of the parallax if necessary (for shuttles)
+ var/area/shuttle/SA = areaobj
+ if(!SA || !SA.moving)
+ set_parallax_movedir(0)
+ else
+ set_parallax_movedir(SA.parallax_movedir)
+
+ var/force
+ if(!C.previous_turf || (C.previous_turf.z != posobj.z))
+ C.previous_turf = posobj
+ force = TRUE
+
+ if(!force && world.time < C.last_parallax_shift+C.parallax_throttle)
+ return
+
+ //Doing it this way prevents parallax layers from "jumping" when you change Z-Levels.
+ var/offset_x = posobj.x - C.previous_turf.x
+ var/offset_y = posobj.y - C.previous_turf.y
+
+ if(!offset_x && !offset_y && !force)
+ return
+
+ var/last_delay = world.time - C.last_parallax_shift
+ last_delay = min(last_delay, C.parallax_throttle)
+ C.previous_turf = posobj
+ C.last_parallax_shift = world.time
+
+ for(var/thing in C.parallax_layers)
+ var/obj/screen/parallax_layer/L = thing
+ L.update_status(mymob)
+ if(L.view_sized != C.view)
+ L.update_o(C.view)
+
+ var/change_x
+ var/change_y
+
+ if(L.absolute)
+ L.offset_x = -(posobj.x - SSparallax.planet_x_offset) * L.speed
+ L.offset_y = -(posobj.y - SSparallax.planet_y_offset) * L.speed
+ else
+ change_x = offset_x * L.speed
+ L.offset_x -= change_x
+ change_y = offset_y * L.speed
+ L.offset_y -= change_y
+
+ if(L.offset_x > 240)
+ L.offset_x -= 480
+ if(L.offset_x < -240)
+ L.offset_x += 480
+ if(L.offset_y > 240)
+ L.offset_y -= 480
+ if(L.offset_y < -240)
+ L.offset_y += 480
+
+ if(!(areaobj.parallax_movedir && areaobj.moving) && C.dont_animate_parallax <= world.time && (offset_x || offset_y) && abs(offset_x) <= max(C.parallax_throttle/world.tick_lag+1,1) && abs(offset_y) <= max(C.parallax_throttle/world.tick_lag+1,1) && (round(abs(change_x)) > 1 || round(abs(change_y)) > 1))
+ L.transform = matrix(1, 0, offset_x*L.speed, 0, 1, offset_y*L.speed)
+ animate(L, transform=matrix(), time = last_delay)
+
+ L.screen_loc = "CENTER-7:[round(L.offset_x,1)],CENTER-7:[round(L.offset_y,1)]"
+
+/atom/movable/proc/update_parallax_contents()
+ if(length(client_mobs_in_contents))
+ for(var/thing in client_mobs_in_contents)
+ var/mob/M = thing
+ if(M && M.client && M.hud_used && length(M.client.parallax_layers))
+ M.hud_used.update_parallax()
+
+/obj/screen/parallax_layer
+ icon = 'icons/effects/parallax.dmi'
+ var/speed = 1
+ var/offset_x = 0
+ var/offset_y = 0
+ var/view_sized
+ var/absolute = FALSE
+ blend_mode = BLEND_ADD
+ plane = PLANE_SPACE_PARALLAX
+ screen_loc = "CENTER-7,CENTER-7"
+ mouse_opacity = 0
+
+
+/obj/screen/parallax_layer/New(view)
+ ..()
+ if(!view)
+ view = world.view
+ update_o(view)
+
+/obj/screen/parallax_layer/proc/update_o(view)
+ if(!view)
+ view = world.view
+ var/list/new_overlays = list()
+ var/count = Ceiling(view/(480/world.icon_size))+1
+ for(var/x in -count to count)
+ for(var/y in -count to count)
+ if(x == 0 && y == 0)
+ continue
+ var/mutable_appearance/texture_overlay = mutable_appearance(icon, icon_state)
+ texture_overlay.transform = matrix(1, 0, x*480, 0, 1, y*480)
+ new_overlays += texture_overlay
+
+ overlays = new_overlays
+ view_sized = view
+
+/obj/screen/parallax_layer/proc/update_status(mob/M)
+ return
+
+/obj/screen/parallax_layer/layer_1
+ icon_state = "layer1"
+ speed = 0.6
+ layer = 1
+
+/obj/screen/parallax_layer/layer_2
+ icon_state = "layer2"
+ speed = 1
+ layer = 2
+
+/obj/screen/parallax_layer/layer_3
+ icon_state = "layer3"
+ speed = 1.4
+ layer = 3
+
+/obj/screen/parallax_layer/planet
+ icon_state = "planet"
+ blend_mode = BLEND_OVERLAY
+ absolute = TRUE //Status of seperation
+ speed = 3
+ layer = 30
+
+/obj/screen/parallax_layer/planet/update_status(mob/M)
+ var/turf/T = get_turf(M)
+ if(is_station_level(T.z))
+ invisibility = 0
+ else
+ invisibility = INVISIBILITY_ABSTRACT
+
+/obj/screen/parallax_layer/planet/update_o()
+ return //Shit wont move
+
+/obj/screen/parallax_pmaster
+ appearance_flags = PLANE_MASTER
+ plane = PLANE_SPACE_PARALLAX
+ blend_mode = BLEND_MULTIPLY
+ mouse_opacity = FALSE
+ screen_loc = "CENTER-7,CENTER-7"
+
+/obj/screen/parallax_space_whitifier
+ appearance_flags = PLANE_MASTER
+ plane = PLANE_SPACE
+ color = list(
+ 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ 1, 1, 1, 1,
+ 0, 0, 0, 0
+ )
+ screen_loc = "CENTER-7,CENTER-7"
+
+
+#undef LOOP_NONE
+#undef LOOP_NORMAL
+#undef LOOP_REVERSE
+#undef LOOP_TIME
\ No newline at end of file
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index 91c8d6250b4..8bc65fcf691 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -95,6 +95,9 @@
icon = 'icons/mob/screen_robot.dmi'
screen_loc = ui_borg_intents
+/obj/screen/act_intent/robot/AI
+ screen_loc = "EAST-1:32,SOUTH:70"
+
/obj/screen/mov_intent
name = "run/walk toggle"
icon_state = "running"
@@ -453,6 +456,12 @@
/obj/screen/healths/corgi
icon = 'icons/mob/screen_corgi.dmi'
+/obj/screen/healths/slime
+ icon = 'icons/mob/screen_slime.dmi'
+ icon_state = "slime_health0"
+ screen_loc = ui_slime_health
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+
/obj/screen/healths/guardian
name = "summoner health"
icon = 'icons/mob/guardian.dmi'
diff --git a/code/_onclick/hud/slime.dm b/code/_onclick/hud/slime.dm
new file mode 100644
index 00000000000..9f5621b75ee
--- /dev/null
+++ b/code/_onclick/hud/slime.dm
@@ -0,0 +1,18 @@
+/mob/living/carbon/slime/create_mob_hud()
+ if(client && !hud_used)
+ hud_used = new /datum/hud/slime(src)
+
+/mob/living/simple_animal/slime/create_mob_hud()
+ if(client && !hud_used)
+ hud_used = new /datum/hud/slime(src)
+
+/datum/hud/slime/New(mob/owner)
+ ..()
+ mymob.healths = new /obj/screen/healths/slime()
+ infodisplay += mymob.healths
+
+ mymob.pullin = new /obj/screen/pull()
+ mymob.pullin.icon = 'icons/mob/screen_slime.dmi'
+ mymob.pullin.update_icon(mymob)
+ mymob.pullin.screen_loc = ui_construct_pull
+ hotkeybuttons += mymob.pullin
diff --git a/code/_onclick/observer.dm b/code/_onclick/observer.dm
index 797384b8336..5f0c94ecee6 100644
--- a/code/_onclick/observer.dm
+++ b/code/_onclick/observer.dm
@@ -17,6 +17,7 @@
else
following = null
forceMove(get_turf(A))
+ update_parallax_contents()
/mob/dead/observer/ClickOn(var/atom/A, var/params)
if(client.click_intercept)
@@ -58,6 +59,14 @@
/atom/proc/attack_ghost(mob/user as mob)
return
+// health + cyborg analyzer for ghosts
+/mob/living/attack_ghost(mob/dead/observer/user)
+ if(user.client && user.health_scan)
+ if(issilicon(src) || ismachine(src))
+ robot_healthscan(user, src)
+ else if(ishuman(src))
+ healthscan(user, src, 1, TRUE)
+
// ---------------------------------------
// And here are some good things for free:
// Now you can click through portals, wormholes, gateways, and teleporters while observing. -Sayu
diff --git a/code/controllers/subsystem/chat.dm b/code/controllers/subsystem/chat.dm
new file mode 100644
index 00000000000..a90e14d0ab4
--- /dev/null
+++ b/code/controllers/subsystem/chat.dm
@@ -0,0 +1,65 @@
+SUBSYSTEM_DEF(chat)
+ name = "Chat"
+ flags = SS_TICKER|SS_NO_INIT
+ wait = 1
+ priority = FIRE_PRIORITY_CHAT
+ init_order = INIT_ORDER_CHAT
+
+ var/list/payload = list()
+
+
+/datum/controller/subsystem/chat/fire()
+ for(var/i in payload)
+ var/client/C = i
+ C << output(payload[C], "browseroutput:output")
+ payload -= C
+
+ if(MC_TICK_CHECK)
+ return
+
+
+/datum/controller/subsystem/chat/proc/queue(target, message, flag)
+ if(!target || !message)
+ return
+
+ if(!istext(message))
+ stack_trace("to_chat called with invalid input type")
+ return
+
+ if(target == world)
+ target = GLOB.clients
+
+ //Some macros remain in the string even after parsing and fuck up the eventual output
+ message = replacetext(message, "\improper", "")
+ message = replacetext(message, "\proper", "")
+ message += "
"
+
+
+ //url_encode it TWICE, this way any UTF-8 characters are able to be decoded by the Javascript.
+ //Do the double-encoding here to save nanoseconds
+ var/twiceEncoded = url_encode(url_encode(message))
+
+ if(islist(target))
+ for(var/I in target)
+ var/client/C = CLIENT_FROM_VAR(I) //Grab us a client if possible
+
+ if(!C?.chatOutput || C.chatOutput.broken) //A player who hasn't updated his skin file.
+ continue
+
+ if(!C.chatOutput.loaded) //Client still loading, put their messages in a queue
+ C.chatOutput.messageQueue += message
+ continue
+
+ payload[C] += twiceEncoded
+
+ else
+ var/client/C = CLIENT_FROM_VAR(target) //Grab us a client if possible
+
+ if(!C?.chatOutput || C.chatOutput.broken) //A player who hasn't updated his skin file.
+ return
+
+ if(!C.chatOutput.loaded) //Client still loading, put their messages in a queue
+ C.chatOutput.messageQueue += message
+ return
+
+ payload[C] += twiceEncoded
\ No newline at end of file
diff --git a/code/controllers/subsystem/parallax.dm b/code/controllers/subsystem/parallax.dm
new file mode 100644
index 00000000000..039b6d2b008
--- /dev/null
+++ b/code/controllers/subsystem/parallax.dm
@@ -0,0 +1,44 @@
+SUBSYSTEM_DEF(parallax)
+ name = "Parallax"
+ wait = 2
+ flags = SS_POST_FIRE_TIMING | SS_BACKGROUND
+ priority = FIRE_PRIORITY_PARALLAX
+ runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT
+ var/list/currentrun
+ var/planet_x_offset = 128
+ var/planet_y_offset = 128
+
+/datum/controller/subsystem/parallax/Initialize(timeofday)
+ . = ..()
+ planet_y_offset = rand(100, 160)
+ planet_x_offset = rand(100, 160)
+
+/datum/controller/subsystem/parallax/fire(resumed = 0)
+ if(!resumed)
+ src.currentrun = GLOB.clients.Copy()
+
+ //cache for sanic speed (lists are references anyways)
+ var/list/currentrun = src.currentrun
+
+ while(length(currentrun))
+ var/client/C = currentrun[currentrun.len]
+ currentrun.len--
+ if(!C || !C.eye)
+ if(MC_TICK_CHECK)
+ return
+ continue
+ var/atom/movable/A = C.eye
+ if(!istype(A))
+ continue
+ for (A; isloc(A.loc) && !isturf(A.loc); A = A.loc);
+
+ if(A != C.movingmob)
+ if(C.movingmob != null)
+ C.movingmob.client_mobs_in_contents -= C.mob
+ UNSETEMPTY(C.movingmob.client_mobs_in_contents)
+ LAZYINITLIST(A.client_mobs_in_contents)
+ A.client_mobs_in_contents += C.mob
+ C.movingmob = A
+ if(MC_TICK_CHECK)
+ return
+ currentrun = null
diff --git a/code/datums/action.dm b/code/datums/action.dm
index a5f63cc6fe4..6a2f02c2562 100644
--- a/code/datums/action.dm
+++ b/code/datums/action.dm
@@ -196,6 +196,14 @@
/datum/action/item_action/toggle_helmet_light
name = "Toggle Helmet Light"
+/datum/action/item_action/toggle_welding_screen/plasmaman
+ name = "Toggle Welding Screen"
+
+/datum/action/item_action/toggle_welding_screen/plasmaman/Trigger()
+ var/obj/item/clothing/head/helmet/space/plasmaman/H = target
+ if(istype(H))
+ H.toggle_welding_screen(owner)
+
/datum/action/item_action/toggle_helmet_mode
name = "Toggle Helmet Mode"
diff --git a/code/datums/components/paintable.dm b/code/datums/components/paintable.dm
new file mode 100644
index 00000000000..ef9a2923cc6
--- /dev/null
+++ b/code/datums/components/paintable.dm
@@ -0,0 +1,31 @@
+/datum/component/spraycan_paintable
+ var/current_paint
+
+/datum/component/spraycan_paintable/Initialize()
+ RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/Repaint)
+
+/datum/component/spraycan_paintable/Destroy()
+ RemoveCurrentCoat()
+ return ..()
+
+/datum/component/spraycan_paintable/proc/RemoveCurrentCoat()
+ var/atom/A = parent
+ A.remove_atom_colour(FIXED_COLOUR_PRIORITY, current_paint)
+
+/datum/component/spraycan_paintable/proc/Repaint(datum/source, obj/item/toy/crayon/spraycan/spraycan, mob/living/user)
+ if(!istype(spraycan) || user.a_intent == INTENT_HARM)
+ return
+ . = COMPONENT_NO_AFTERATTACK
+ if(spraycan.capped)
+ to_chat(user, "Take the cap off first!")
+ return
+ if(spraycan.uses < 2)
+ to_chat(user, "There is not enough paint in the can!")
+ return
+ RemoveCurrentCoat()
+ var/colour = spraycan.colour
+ current_paint = colour
+ var/atom/A = parent
+ A.add_atom_colour(colour, FIXED_COLOUR_PRIORITY)
+ playsound(spraycan, 'sound/effects/spray.ogg', 5, 1, 5)
+ to_chat(user, "You spray [spraycan] on [A], painting it.")
diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm
index adb3167d8e4..e8339f81945 100644
--- a/code/datums/datumvars.dm
+++ b/code/datums/datumvars.dm
@@ -1269,7 +1269,12 @@
return
src.debug_variables(DAT)
- return
+ if(href_list["copyoutfit"])
+ if(!check_rights(R_EVENT))
+ return
+ var/mob/living/carbon/human/H = locateUID(href_list["copyoutfit"])
+ if(istype(H))
+ H.copy_outfit()
/client/proc/view_var_Topic_list(href, href_list, hsrc)
if(href_list["VarsList"])
diff --git a/code/datums/diseases/advance/symptoms/shivering.dm b/code/datums/diseases/advance/symptoms/shivering.dm
index d52a0a02256..30d1084ba0e 100644
--- a/code/datums/diseases/advance/symptoms/shivering.dm
+++ b/code/datums/diseases/advance/symptoms/shivering.dm
@@ -30,11 +30,11 @@ Bonus
if(prob(SYMPTOM_ACTIVATION_PROB))
var/mob/living/carbon/M = A.affected_mob
to_chat(M, "[pick("You feel cold.", "You start shivering.")]")
- if(M.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT)
+ if(M.bodytemperature > BODYTEMP_COLD_DAMAGE_LIMIT)
Chill(M, A)
return
/datum/symptom/shivering/proc/Chill(mob/living/M, datum/disease/advance/A)
var/get_cold = (sqrtor0(16+A.totalStealth()*2))+(sqrtor0(21+A.totalResistance()*2))
- M.bodytemperature = min(M.bodytemperature - (get_cold * A.stage), BODYTEMP_COLD_DAMAGE_LIMIT + 1)
- return 1
\ No newline at end of file
+ M.bodytemperature = max(M.bodytemperature - (get_cold * A.stage), BODYTEMP_COLD_DAMAGE_LIMIT + 1)
+ return 1
diff --git a/code/datums/helper_datums/input.dm b/code/datums/helper_datums/input.dm
index aa73b1e387f..4c3dc6a1cf4 100644
--- a/code/datums/helper_datums/input.dm
+++ b/code/datums/helper_datums/input.dm
@@ -100,15 +100,20 @@
height = 400
immediate_submit = TRUE
+/datum/async_input/ranked/New()
+ ..()
+ popup.add_script("rankedInput.js", 'html/browser/rankedInput.js')
+ popup.add_head_content("Drag and drop or use the buttons to reorder")
+
/datum/async_input/ranked/render_choices()
var/dat = ""
- dat += "
"
+ dat += ""
for(var/i = 1, i <= choices.len, i++)
var/choice = choices[i]
dat += ""
dat += "| [button("+", i != 1 ? "upvote=[i]" : "", , i == 1)] | "
dat += "[button("-", i != choices.len ? "downvote=[i]" : "", , i == choices.len)] | "
- dat += "[i]. [choice] | "
+ dat += "[i]. [choice] | "
dat += "
"
dat += "
"
dat += ""
@@ -131,6 +136,15 @@
show()
return
+ if(href_list["cut"] && href_list["insert"])
+ var/cut = text2num(href_list["cut"])
+ var/insert = text2num(href_list["insert"])
+ var/choice = choices[cut]
+ choices.Cut(cut, cut + 1)
+ choices.Insert(insert, choice)
+ show()
+ return
+
..()
/datum/async_input/autocomplete
diff --git a/code/datums/outfits/outfit.dm b/code/datums/outfits/outfit.dm
index 184f1155da2..db5cca6e9ec 100644
--- a/code/datums/outfits/outfit.dm
+++ b/code/datums/outfits/outfit.dm
@@ -19,14 +19,20 @@
var/suit_store = null
var/l_hand = null
var/r_hand = null
+ /// Should the toggle helmet proc be called on the helmet during equip
+ var/toggle_helmet = TRUE
var/pda = null
var/internals_slot = null //ID of slot containing a gas tank
var/list/backpack_contents = list() // In the list(path=count,otherpath=count) format
- var/list/implants = null
- var/list/cybernetic_implants = null
+ var/box // Internals box. Will be inserted at the start of backpack_contents
+ var/list/implants = list()
+ var/list/cybernetic_implants = list()
+ var/list/accessories = list()
var/list/chameleon_extras //extra types for chameleon outfit changes, mostly guns
+ var/can_be_admin_equipped = TRUE // Set to FALSE if your outfit requires runtime parameters
+
/datum/outfit/proc/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
//to be overriden for customization depending on client prefs,species etc
return
@@ -82,12 +88,24 @@
if(pda)
equip_item(H, pda, slot_wear_pda)
+ if(uniform)
+ for(var/path in accessories)
+ var/obj/item/clothing/accessory/A = new path()
+ var/obj/item/clothing/under/U = uniform
+ U.attach_accessory(A, H)
+
if(!visualsOnly) // Items in pockets or backpack don't show up on mob's icon.
if(l_pocket)
equip_item(H, l_pocket, slot_l_store)
if(r_pocket)
equip_item(H, r_pocket, slot_r_store)
+ if(box)
+ if(!backpack_contents)
+ backpack_contents = list()
+ backpack_contents.Insert(1, box)
+ backpack_contents[box] = 1
+
for(var/path in backpack_contents)
var/number = backpack_contents[path]
for(var/i in 1 to number)
@@ -97,6 +115,10 @@
var/obj/item/organ/internal/O = new path(H)
O.insert(H)
+ if(!H.head && toggle_helmet && istype(H.wear_suit, /obj/item/clothing/suit/space/hardsuit))
+ var/obj/item/clothing/suit/space/hardsuit/HS = H.wear_suit
+ HS.ToggleHelmet()
+
post_equip(H, visualsOnly)
if(!visualsOnly)
@@ -159,3 +181,97 @@
types += chameleon_extras
listclearnulls(types)
return types
+
+/datum/outfit/proc/save_to_file(mob/admin)
+ var/stored_data = get_json_data()
+ var/json = json_encode(stored_data)
+ // Kinda annoying but as far as I can tell you need to make actual file.
+ var/f = file("data/TempOutfitUpload")
+ fdel(f)
+ WRITE_FILE(f, json)
+ admin << ftp(f, "[name].json")
+
+/datum/outfit/proc/load_from(list/outfit_data)
+ // This could probably use more strict validation.
+ name = outfit_data["name"]
+ uniform = text2path(outfit_data["uniform"])
+ suit = text2path(outfit_data["suit"])
+ toggle_helmet = text2path(outfit_data["toggle_helmet"])
+ back = text2path(outfit_data["back"])
+ belt = text2path(outfit_data["belt"])
+ gloves = text2path(outfit_data["gloves"])
+ shoes = text2path(outfit_data["shoes"])
+ head = text2path(outfit_data["head"])
+ mask = text2path(outfit_data["mask"])
+ l_ear = text2path(outfit_data["l_ear"])
+ r_ear = text2path(outfit_data["r_ear"])
+ glasses = text2path(outfit_data["glasses"])
+ id = text2path(outfit_data["id"])
+ pda = text2path(outfit_data["pda"])
+ l_pocket = text2path(outfit_data["l_pocket"])
+ r_pocket = text2path(outfit_data["r_pocket"])
+ suit_store = text2path(outfit_data["suit_store"])
+ r_hand = text2path(outfit_data["r_hand"])
+ l_hand = text2path(outfit_data["l_hand"])
+ internals_slot = text2path(outfit_data["internals_slot"])
+
+ var/list/backpack = outfit_data["backpack_contents"]
+ backpack_contents = list()
+ for(var/item in backpack)
+ var/itype = text2path(item)
+ if(itype)
+ backpack_contents[itype] = backpack[item]
+ box = text2path(outfit_data["box"])
+
+ var/list/impl = outfit_data["implants"]
+ implants = list()
+ for(var/I in impl)
+ var/imptype = text2path(I)
+ if(imptype)
+ implants += imptype
+
+ var/list/cybernetic_impl = outfit_data["cybernetic_implants"]
+ cybernetic_implants = list()
+ for(var/I in cybernetic_impl)
+ var/cybtype = text2path(I)
+ if(cybtype)
+ cybernetic_implants += cybtype
+
+ var/list/accessories = outfit_data["accessories"]
+ accessories = list()
+ for(var/A in accessories)
+ var/accessorytype = text2path(A)
+ if(accessorytype)
+ accessories += accessorytype
+
+ return TRUE
+
+/datum/outfit/proc/get_json_data()
+ . = list()
+ .["outfit_type"] = type
+ .["name"] = name
+ .["uniform"] = uniform
+ .["suit"] = suit
+ .["toggle_helmet"] = toggle_helmet
+ .["back"] = back
+ .["belt"] = belt
+ .["gloves"] = gloves
+ .["shoes"] = shoes
+ .["head"] = head
+ .["mask"] = mask
+ .["l_ear"] = l_ear
+ .["r_ear"] = r_ear
+ .["glasses"] = glasses
+ .["id"] = id
+ .["pda"] = pda
+ .["l_pocket"] = l_pocket
+ .["r_pocket"] = r_pocket
+ .["suit_store"] = suit_store
+ .["r_hand"] = r_hand
+ .["l_hand"] = l_hand
+ .["internals_slot"] = internals_slot
+ .["backpack_contents"] = backpack_contents
+ .["box"] = box
+ .["implants"] = implants
+ .["cybernetic_implants"] = cybernetic_implants
+ .["accessories"] = accessories
diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm
index 09282ec77b1..6ec670bf4f2 100644
--- a/code/datums/outfits/outfit_admin.dm
+++ b/code/datums/outfits/outfit_admin.dm
@@ -78,7 +78,6 @@
suit = /obj/item/clothing/suit/space/hardsuit/syndi
belt = /obj/item/storage/belt/military
- head = /obj/item/clothing/head/helmet/space/hardsuit/syndi
mask = /obj/item/clothing/mask/gas/syndicate
l_ear = /obj/item/radio/headset/syndicate/alt
glasses = /obj/item/clothing/glasses/night
@@ -110,7 +109,6 @@
/datum/outfit/admin/syndicate/operative/freedom
name = "Syndicate Freedom Operative"
suit = /obj/item/clothing/suit/space/hardsuit/syndi/freedom
- head = /obj/item/clothing/head/helmet/space/hardsuit/syndi/freedom
/datum/outfit/admin/syndicate_strike_team
@@ -794,41 +792,34 @@
/datum/outfit/admin/hardsuit/engineer
name = "Engineer Hardsuit"
- suit = /obj/item/clothing/suit/space/hardsuit
- head = /obj/item/clothing/head/helmet/space/hardsuit
+ suit = /obj/item/clothing/suit/space/hardsuit/engine
/datum/outfit/admin/hardsuit/ce
name = "CE Hardsuit"
- suit = /obj/item/clothing/suit/space/hardsuit/elite
- head = /obj/item/clothing/head/helmet/space/hardsuit/elite
+ suit = /obj/item/clothing/suit/space/hardsuit/engine/elite
shoes = /obj/item/clothing/shoes/magboots/advance
/datum/outfit/admin/hardsuit/mining
name = "Mining Hardsuit"
suit = /obj/item/clothing/suit/space/hardsuit/mining
- head = /obj/item/clothing/head/helmet/space/hardsuit/mining
/datum/outfit/admin/hardsuit/syndi
name = "Syndi Hardsuit"
suit = /obj/item/clothing/suit/space/hardsuit/syndi
- head = /obj/item/clothing/head/helmet/space/hardsuit/syndi
shoes = /obj/item/clothing/shoes/magboots/syndie
/datum/outfit/admin/hardsuit/wizard
name = "Wizard Hardsuit"
suit = /obj/item/clothing/suit/space/hardsuit/wizard
- head = /obj/item/clothing/head/helmet/space/hardsuit/wizard
shoes = /obj/item/clothing/shoes/magboots
/datum/outfit/admin/hardsuit/medical
name = "Medical Hardsuit"
suit = /obj/item/clothing/suit/space/hardsuit/medical
- head = /obj/item/clothing/head/helmet/space/hardsuit/medical
/datum/outfit/admin/hardsuit/atmos
name = "Atmos Hardsuit"
- suit = /obj/item/clothing/suit/space/hardsuit/atmos
- head = /obj/item/clothing/head/helmet/space/hardsuit/atmos
+ suit = /obj/item/clothing/suit/space/hardsuit/engine/atmos
/datum/outfit/admin/tournament
@@ -963,7 +954,6 @@
belt = /obj/item/claymore/ceremonial
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/magboots
- head = /obj/item/clothing/head/helmet/space/hardsuit/singuloth
mask = /obj/item/clothing/mask/breath
l_ear = /obj/item/radio/headset/ert
glasses = /obj/item/clothing/glasses/meson/cyber
@@ -1111,7 +1101,6 @@
backpack_contents = list(
/obj/item/storage/box/engineer = 1,
/obj/item/clothing/suit/space/hardsuit/wizard = 1,
- /obj/item/clothing/head/helmet/space/hardsuit/wizard = 1,
/obj/item/clothing/shoes/magboots = 1,
/obj/item/kitchen/knife/ritual = 1,
/obj/item/clothing/suit/wizrobe/red = 1,
diff --git a/code/datums/outfits/plasmamen.dm b/code/datums/outfits/plasmamen.dm
new file mode 100644
index 00000000000..c14eafd08f2
--- /dev/null
+++ b/code/datums/outfits/plasmamen.dm
@@ -0,0 +1,178 @@
+/datum/outfit/plasmaman
+ name = "Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman
+ uniform = /obj/item/clothing/under/plasmaman
+ r_hand = /obj/item/tank/plasma/plasmaman/belt/full
+ mask = /obj/item/clothing/mask/breath
+
+/datum/outfit/plasmaman/bar
+ name = "Bartender Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/white
+ uniform = /obj/item/clothing/under/plasmaman/enviroslacks
+
+/datum/outfit/plasmaman/chef
+ name = "Chef Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/chef
+ uniform = /obj/item/clothing/under/plasmaman/chef
+
+/datum/outfit/plasmaman/botany
+ name = "Botany Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/botany
+ uniform = /obj/item/clothing/under/plasmaman/botany
+
+/datum/outfit/plasmaman/librarian
+ name = "Librarian Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/librarian
+ uniform = /obj/item/clothing/under/plasmaman/librarian
+
+/datum/outfit/plasmaman/chaplain
+ name = "Chaplain Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/chaplain
+ uniform = /obj/item/clothing/under/plasmaman/chaplain
+
+/datum/outfit/plasmaman/janitor
+ name = "Janitor Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/janitor
+ uniform = /obj/item/clothing/under/plasmaman/janitor
+
+/datum/outfit/plasmaman/security
+ name = "Security Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/security
+ uniform = /obj/item/clothing/under/plasmaman/security
+
+/datum/outfit/plasmaman/detective
+ name = "Detective Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/white
+ uniform = /obj/item/clothing/under/plasmaman/enviroslacks
+ l_ear = /obj/item/radio/headset/headset_sec
+
+/datum/outfit/plasmaman/warden
+ name = "Warden Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/security/warden
+ uniform = /obj/item/clothing/under/plasmaman/security/warden
+
+/datum/outfit/plasmaman/hos
+ name = "Head of Security Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/security/hos
+ uniform = /obj/item/clothing/under/plasmaman/security/hos
+
+/datum/outfit/plasmaman/cargo
+ name = "Cargo Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/cargo
+ uniform = /obj/item/clothing/under/plasmaman/cargo
+
+/datum/outfit/plasmaman/mining
+ name = "Mining Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/mining
+ uniform = /obj/item/clothing/under/plasmaman/mining
+
+/datum/outfit/plasmaman/medical
+ name = "Medical Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/medical
+ uniform = /obj/item/clothing/under/plasmaman/medical
+
+/datum/outfit/plasmaman/cmo
+ name = "Chief Medical Officer Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/cmo
+ uniform = /obj/item/clothing/under/plasmaman/cmo
+
+/datum/outfit/plasmaman/viro
+ name = "Virology Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/viro
+ uniform = /obj/item/clothing/under/plasmaman/viro
+
+/datum/outfit/plasmaman/chemist
+ name = "Chemist Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/chemist
+ uniform = /obj/item/clothing/under/plasmaman/chemist
+
+/datum/outfit/plasmaman/genetics
+ name = "Genetics Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/genetics
+ uniform = /obj/item/clothing/under/plasmaman/genetics
+
+/datum/outfit/plasmaman/science
+ name = "Science Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/science
+ uniform = /obj/item/clothing/under/plasmaman/science
+
+/datum/outfit/plasmaman/rd
+ name = "Research Director Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/rd
+ uniform = /obj/item/clothing/under/plasmaman/rd
+
+/datum/outfit/plasmaman/robotics
+ name = "Robotics Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/robotics
+ uniform = /obj/item/clothing/under/plasmaman/robotics
+
+/datum/outfit/plasmaman/engineering
+ name = "Engineering Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/engineering
+ uniform = /obj/item/clothing/under/plasmaman/engineering
+
+/datum/outfit/plasmaman/ce
+ name = "Chief Engineer Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/engineering/ce
+ uniform = /obj/item/clothing/under/plasmaman/engineering/ce
+
+/datum/outfit/plasmaman/atmospherics
+ name = "Atmospherics Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/atmospherics
+ uniform = /obj/item/clothing/under/plasmaman/atmospherics
+
+/datum/outfit/plasmaman/mime
+ name = "Plasmamime"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/mime
+ uniform = /obj/item/clothing/under/plasmaman/mime
+ mask = /obj/item/clothing/mask/gas/mime
+
+/datum/outfit/plasmaman/clown
+ name = "Plasmaclown"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/clown
+ uniform = /obj/item/clothing/under/plasmaman/clown
+ mask = /obj/item/clothing/mask/gas/clown_hat
+
+/datum/outfit/plasmaman/hop
+ name = "Head of Personnel Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/hop
+ uniform = /obj/item/clothing/under/plasmaman/hop
+
+/datum/outfit/plasmaman/captain
+ name = "Captain Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/captain
+ uniform = /obj/item/clothing/under/plasmaman/captain
+
+/datum/outfit/plasmaman/blueshield
+ name = "Blueshield Plasmaman"
+
+ head = /obj/item/clothing/head/helmet/space/plasmaman/blueshield
+ uniform = /obj/item/clothing/under/plasmaman/blueshield
\ No newline at end of file
diff --git a/code/datums/outfits/vv_outfit.dm b/code/datums/outfits/vv_outfit.dm
new file mode 100644
index 00000000000..7a07b087ae8
--- /dev/null
+++ b/code/datums/outfits/vv_outfit.dm
@@ -0,0 +1,190 @@
+// This outfit preserves varedits made on the items
+// Created from admin helpers.
+/datum/outfit/varedit
+ var/list/vv_values
+ var/list/stored_access
+ var/update_id_name = FALSE //If the name of the human is same as the name on the id they're wearing we'll update provided id when equipping
+
+/datum/outfit/varedit/pre_equip(mob/living/carbon/human/H, visualsOnly)
+ H.delete_equipment() //Applying VV to wrong objects is not reccomended.
+ . = ..()
+
+/datum/outfit/varedit/proc/set_equipment_by_slot(slot, item_path)
+ switch(slot)
+ if(slot_w_uniform)
+ uniform = item_path
+ if(slot_back)
+ back = item_path
+ if(slot_wear_suit)
+ suit = item_path
+ if(slot_belt)
+ belt = item_path
+ if(slot_gloves)
+ gloves = item_path
+ if(slot_shoes)
+ shoes = item_path
+ if(slot_head)
+ head = item_path
+ if(slot_wear_mask)
+ mask = item_path
+ if(slot_l_ear)
+ l_ear = item_path
+ if(slot_r_ear)
+ r_ear = item_path
+ if(slot_glasses)
+ glasses = item_path
+ if(slot_wear_id)
+ id = item_path
+ if(slot_wear_pda)
+ pda = item_path
+ if(slot_s_store)
+ suit_store = item_path
+ if(slot_l_store)
+ l_pocket = item_path
+ if(slot_r_store)
+ r_pocket = item_path
+
+
+/proc/collect_vv(obj/item/I)
+ //Temporary/Internal stuff, do not copy these.
+ var/static/list/ignored_vars = list("vars","x","y","z","plane","layer","override","animate_movement","pixel_step_size","screen_loc","fingerprintslast","tip_timer")
+
+ if(istype(I))
+ var/list/vedits = list()
+ for(var/varname in I.vars)
+ if(!I.can_vv_get(varname))
+ continue
+ if(varname in ignored_vars)
+ continue
+ var/vval = I.vars[varname]
+ //Does it even work ?
+ if(vval == initial(I.vars[varname]))
+ continue
+ //Only text/numbers and icons variables to make it less weirdness prone.
+ if(!istext(vval) && !isnum(vval) && !isicon(vval))
+ continue
+ vedits[varname] = I.vars[varname]
+ return vedits
+
+/mob/living/carbon/human/proc/copy_outfit()
+ var/datum/outfit/varedit/O = new
+
+ //Copy equipment
+ var/list/result = list()
+ var/list/slots_to_check = list(slot_w_uniform, slot_back, slot_wear_suit, slot_belt, slot_gloves, slot_shoes, slot_head, slot_wear_mask, slot_l_ear, slot_r_ear, slot_glasses, slot_wear_id, slot_wear_pda, slot_s_store, slot_l_store, slot_r_store)
+ for(var/s in slots_to_check)
+ var/obj/item/I = get_item_by_slot(s)
+ var/vedits = collect_vv(I)
+ if(vedits)
+ result["[s]"] = vedits
+ if(istype(I))
+ O.set_equipment_by_slot(s, I.type)
+
+ //Copy access
+ O.stored_access = list()
+ var/obj/item/id_slot = get_item_by_slot(slot_wear_id)
+ if(id_slot)
+ O.stored_access |= id_slot.GetAccess()
+ var/obj/item/card/id/ID = id_slot.GetID()
+ if(ID && ID.registered_name == real_name)
+ O.update_id_name = TRUE
+
+ //Copy hands
+ if(l_hand || r_hand) //Not in the mood to let outfits transfer amputees
+ var/obj/item/left_hand = l_hand
+ var/obj/item/right_hand = r_hand
+ if(istype(left_hand))
+ O.l_hand = left_hand.type
+ var/vedits = collect_vv(left_hand)
+ if(vedits)
+ result["LHAND"] = vedits
+ if(istype(right_hand))
+ O.r_hand = right_hand.type
+ var/vedits = collect_vv(left_hand)
+ if(vedits)
+ result["RHAND"] = vedits
+ O.vv_values = result
+
+ //Copy backpack contents if exist.
+ var/obj/item/backpack = get_item_by_slot(slot_back)
+ if(istype(backpack) && LAZYLEN(backpack.contents) > 0)
+ var/list/typecounts = list()
+ for(var/obj/item/I in backpack)
+ if(typecounts[I.type])
+ typecounts[I.type] += 1
+ else
+ typecounts[I.type] = 1
+ O.backpack_contents = typecounts
+ //TODO : Copy varedits from backpack stuff too.
+
+ //Copy implants
+ O.implants = list()
+ for(var/obj/item/implant/I in contents)
+ if(istype(I))
+ O.implants |= I.type
+
+ // Copy cybernetic implants
+ O.cybernetic_implants = list()
+ for(var/obj/item/organ/internal/CI in contents)
+ if(istype(CI))
+ O.cybernetic_implants |= CI.type
+
+ // Copy accessories
+ var/obj/item/clothing/under/uniform_slot = get_item_by_slot(slot_w_uniform)
+ if(uniform_slot)
+ O.accessories = list()
+ for(var/obj/item/clothing/accessory/A in uniform_slot.accessories)
+ if(istype(A))
+ O.accessories |= A
+
+ //Copy to outfit cache
+ var/outfit_name = stripped_input(usr, "Enter the outfit name")
+ O.name = outfit_name
+ GLOB.custom_outfits += O
+ to_chat(usr, "Outfit registered, use select equipment to equip it.")
+
+/datum/outfit/varedit/post_equip(mob/living/carbon/human/H, visualsOnly)
+ . = ..()
+ //Apply VV
+ for(var/slot in vv_values)
+ var/list/edits = vv_values[slot]
+ var/obj/item/I
+ switch(slot)
+ if("LHAND")
+ I = H.l_hand
+ if("RHAND")
+ I = H.r_hand
+ else
+ I = H.get_item_by_slot(text2num(slot))
+ for(var/vname in edits)
+ I.vv_edit_var(vname,edits[vname])
+ //Apply access
+ var/obj/item/id_slot = H.get_item_by_slot(slot_wear_id)
+ if(id_slot)
+ var/obj/item/card/id/card = id_slot.GetID()
+ if(istype(card))
+ card.access |= stored_access
+ if(update_id_name)
+ card.registered_name = H.real_name
+ card.update_label()
+
+/datum/outfit/varedit/get_json_data()
+ . = .. ()
+ .["stored_access"] = stored_access
+ .["update_id_name"] = update_id_name
+ var/list/stripped_vv = list()
+ for(var/slot in vv_values)
+ var/list/vedits = vv_values[slot]
+ var/list/stripped_edits = list()
+ for(var/edit in vedits)
+ if(istext(vedits[edit]) || isnum(vedits[edit]) || isnull(vedits[edit]))
+ stripped_edits[edit] = vedits[edit]
+ if(stripped_edits.len)
+ stripped_vv[slot] = stripped_edits
+ .["vv_values"] = stripped_vv
+
+/datum/outfit/varedit/load_from(list/outfit_data)
+ . = ..()
+ stored_access = outfit_data["stored_access"]
+ vv_values = outfit_data["vv_values"]
+ update_id_name = outfit_data["update_id_name"]
\ No newline at end of file
diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm
index 67e5438656e..7fe8ad7248e 100644
--- a/code/datums/ruins/lavaland.dm
+++ b/code/datums/ruins/lavaland.dm
@@ -12,6 +12,19 @@
Comes with a rustic wooden bar and suicidal bartender."
suffix = "lavaland_biodome_beach.dmm"
+/datum/map_template/ruin/lavaland/biodome/winter
+ name = "Biodome Winter"
+ id = "biodome-winter"
+ description = "For those getaways where you want to get back to nature, but you don't want to leave the fortified military compound where you spend your days. \
+ Includes a unique(*) laser pistol display case, and the recently introduced I.C.E(tm)."
+ suffix = "lavaland_biodome_winter.dmm"
+
+/datum/map_template/ruin/lavaland/biodome/clown
+ name = "Biodome Clown Planet"
+ id = "biodome-clown"
+ description = "WELCOME TO CLOWN PLANET! HONK HONK HONK etc.!"
+ suffix = "lavaland_biodome_clown_planet.dmm"
+
/datum/map_template/ruin/lavaland/cube
name = "The Wishgranter Cube"
id = "wishgranter-cube"
diff --git a/code/datums/spells/charge.dm b/code/datums/spells/charge.dm
index 5dd054f67ed..46cdbff7f94 100644
--- a/code/datums/spells/charge.dm
+++ b/code/datums/spells/charge.dm
@@ -1,7 +1,6 @@
/obj/effect/proc_holder/spell/targeted/charge
name = "Charge"
desc = "This spell can be used to recharge a variety of things in your hands, from magical artifacts to electrical components. A creative wizard can even use it to grant magical power to a fellow magic user."
-
school = "transmutation"
charge_max = 600
clothes_req = 0
@@ -10,7 +9,7 @@
range = -1
cooldown_min = 400 //50 deciseconds reduction per rank
include_user = 1
-
+ action_icon_state = "charge"
/obj/effect/proc_holder/spell/targeted/charge/cast(list/targets,mob/user = usr)
for(var/mob/living/L in targets)
diff --git a/code/datums/spells/horsemask.dm b/code/datums/spells/horsemask.dm
index 7b880f00e42..f536041e807 100644
--- a/code/datums/spells/horsemask.dm
+++ b/code/datums/spells/horsemask.dm
@@ -36,7 +36,7 @@
return
var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead
- magichead.flags |= NODROP //curses!
+ magichead.flags |= NODROP | DROPDEL //curses!
magichead.flags_inv = null //so you can still see their face
magichead.voicechange = 1 //NEEEEIIGHH
target.visible_message( "[target]'s face lights up in fire, and after the event a horse's head takes its place!", \
diff --git a/code/datums/spells/infinite_guns.dm b/code/datums/spells/infinite_guns.dm
index 83cafb88666..35699d4634a 100644
--- a/code/datums/spells/infinite_guns.dm
+++ b/code/datums/spells/infinite_guns.dm
@@ -11,8 +11,6 @@
cooldown_min = 10 //Gun wizard
action_icon_state = "bolt_action"
-
-
/obj/effect/proc_holder/spell/targeted/infinite_guns/cast(list/targets, mob/user = usr)
for(var/mob/living/carbon/C in targets)
C.drop_item()
diff --git a/code/datums/spells/wizard.dm b/code/datums/spells/wizard.dm
index 7b648bb72c1..739a03d92c5 100644
--- a/code/datums/spells/wizard.dm
+++ b/code/datums/spells/wizard.dm
@@ -72,6 +72,7 @@
/obj/effect/proc_holder/spell/noclothes
name = "No Clothes"
desc = "This always-on spell allows you to cast magic without your garments."
+ action_icon_state = "no_clothes"
/obj/effect/proc_holder/spell/targeted/genetic/mutate
name = "Mutate"
diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm
index 387cc70f992..fb336192b38 100644
--- a/code/datums/status_effects/buffs.dm
+++ b/code/datums/status_effects/buffs.dm
@@ -40,6 +40,132 @@
playsound(owner, 'sound/weapons/bite.ogg', 50, 1)
owner.adjustBruteLoss(3)
+/datum/status_effect/blooddrunk
+ id = "blooddrunk"
+ duration = 10
+ tick_interval = 0
+ alert_type = /obj/screen/alert/status_effect/blooddrunk
+ var/last_health = 0
+ var/last_bruteloss = 0
+ var/last_fireloss = 0
+ var/last_toxloss = 0
+ var/last_oxyloss = 0
+ var/last_cloneloss = 0
+ var/last_staminaloss = 0
+
+/obj/screen/alert/status_effect/blooddrunk
+ name = "Blood-Drunk"
+ desc = "You are drunk on blood! Your pulse thunders in your ears! Nothing can harm you!" //not true, and the item description mentions its actual effect
+ icon_state = "blooddrunk"
+
+/datum/status_effect/blooddrunk/on_apply()
+ . = ..()
+ if(.)
+ owner.maxHealth *= 10
+ owner.bruteloss *= 10
+ owner.fireloss *= 10
+ if(ishuman(owner))
+ var/mob/living/carbon/human/H = owner
+ for(var/X in H.bodyparts)
+ var/obj/item/organ/external/BP = X
+ BP.max_damage *= 10
+ BP.min_broken_damage *= 10
+ BP.brute_dam *= 10
+ BP.burn_dam *= 10
+ owner.toxloss *= 10
+ owner.oxyloss *= 10
+ owner.cloneloss *= 10
+ owner.staminaloss *= 10
+ owner.updatehealth()
+ last_health = owner.health
+ last_bruteloss = owner.getBruteLoss()
+ last_fireloss = owner.getFireLoss()
+ last_toxloss = owner.getToxLoss()
+ last_oxyloss = owner.getOxyLoss()
+ last_cloneloss = owner.getCloneLoss()
+ last_staminaloss = owner.getStaminaLoss()
+ add_attack_logs(owner, owner, "gained blood-drunk stun immunity")
+ var/status = CANSTUN | CANWEAKEN | CANPARALYSE | IGNORESLOWDOWN
+ owner.status_flags &= ~status
+ owner.playsound_local(get_turf(owner), 'sound/effects/singlebeat.ogg', 40, 1)
+
+/datum/status_effect/blooddrunk/tick() //multiply the effect of healing by 10
+ if(owner.health > last_health)
+ var/needs_health_update = FALSE
+ var/new_bruteloss = owner.getBruteLoss()
+ if(new_bruteloss < last_bruteloss)
+ var/heal_amount = (new_bruteloss - last_bruteloss) * 10
+ owner.adjustBruteLoss(heal_amount, updating_health = FALSE)
+ new_bruteloss = owner.getBruteLoss()
+ needs_health_update = TRUE
+ last_bruteloss = new_bruteloss
+
+ var/new_fireloss = owner.getFireLoss()
+ if(new_fireloss < last_fireloss)
+ var/heal_amount = (new_fireloss - last_fireloss) * 10
+ owner.adjustFireLoss(heal_amount, updating_health = FALSE)
+ new_fireloss = owner.getFireLoss()
+ needs_health_update = TRUE
+ last_fireloss = new_fireloss
+
+ var/new_toxloss = owner.getToxLoss()
+ if(new_toxloss < last_toxloss)
+ var/heal_amount = (new_toxloss - last_toxloss) * 10
+ owner.adjustToxLoss(heal_amount, updating_health = FALSE)
+ new_toxloss = owner.getToxLoss()
+ needs_health_update = TRUE
+ last_toxloss = new_toxloss
+
+ var/new_oxyloss = owner.getOxyLoss()
+ if(new_oxyloss < last_oxyloss)
+ var/heal_amount = (new_oxyloss - last_oxyloss) * 10
+ owner.adjustOxyLoss(heal_amount, updating_health = FALSE)
+ new_oxyloss = owner.getOxyLoss()
+ needs_health_update = TRUE
+ last_oxyloss = new_oxyloss
+
+ var/new_cloneloss = owner.getCloneLoss()
+ if(new_cloneloss < last_cloneloss)
+ var/heal_amount = (new_cloneloss - last_cloneloss) * 10
+ owner.adjustCloneLoss(heal_amount, updating_health = FALSE)
+ new_cloneloss = owner.getCloneLoss()
+ needs_health_update = TRUE
+ last_cloneloss = new_cloneloss
+
+ var/new_staminaloss = owner.getStaminaLoss()
+ if(new_staminaloss < last_staminaloss)
+ var/heal_amount = (new_staminaloss - last_staminaloss) * 10
+ owner.adjustStaminaLoss(heal_amount, updating_health = FALSE)
+ new_staminaloss = owner.getStaminaLoss()
+ needs_health_update = TRUE
+ last_staminaloss = new_staminaloss
+
+ if(needs_health_update)
+ owner.updatehealth()
+ owner.playsound_local(get_turf(owner), 'sound/effects/singlebeat.ogg', 40, 1)
+ last_health = owner.health
+
+/datum/status_effect/blooddrunk/on_remove()
+ tick()
+ owner.maxHealth *= 0.1
+ owner.bruteloss *= 0.1
+ owner.fireloss *= 0.1
+ if(ishuman(owner))
+ var/mob/living/carbon/human/H = owner
+ for(var/X in H.bodyparts)
+ var/obj/item/organ/external/BP = X
+ BP.brute_dam *= 0.1
+ BP.burn_dam *= 0.1
+ BP.max_damage /= 10
+ BP.min_broken_damage /= 10
+ owner.toxloss *= 0.1
+ owner.oxyloss *= 0.1
+ owner.cloneloss *= 0.1
+ owner.staminaloss *= 0.1
+ owner.updatehealth()
+ add_attack_logs(owner, owner, "lost blood-drunk stun immunity")
+ owner.status_flags |= CANSTUN | CANWEAKEN | CANPARALYSE | IGNORESLOWDOWN
+
/datum/status_effect/exercised
id = "Exercised"
duration = 1200
diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm
index 6e809b32606..3ce68f85250 100644
--- a/code/datums/status_effects/debuffs.dm
+++ b/code/datums/status_effects/debuffs.dm
@@ -9,6 +9,39 @@
if(owner.reagents)
owner.reagents.del_reagent("holywater") //can't be deconverted
+/datum/status_effect/crusher_mark
+ id = "crusher_mark"
+ duration = 300 //if you leave for 30 seconds you lose the mark, deal with it
+ status_type = STATUS_EFFECT_REPLACE
+ alert_type = null
+ var/mutable_appearance/marked_underlay
+ var/obj/item/twohanded/kinetic_crusher/hammer_synced
+
+/datum/status_effect/crusher_mark/on_creation(mob/living/new_owner, obj/item/twohanded/kinetic_crusher/new_hammer_synced)
+ . = ..()
+ if(.)
+ hammer_synced = new_hammer_synced
+
+/datum/status_effect/crusher_mark/on_apply()
+ if(owner.mob_size >= MOB_SIZE_LARGE)
+ marked_underlay = mutable_appearance('icons/effects/effects.dmi', "shield2")
+ marked_underlay.pixel_x = -owner.pixel_x
+ marked_underlay.pixel_y = -owner.pixel_y
+ owner.underlays += marked_underlay
+ return TRUE
+ return FALSE
+
+/datum/status_effect/crusher_mark/Destroy()
+ hammer_synced = null
+ if(owner)
+ owner.underlays -= marked_underlay
+ QDEL_NULL(marked_underlay)
+ return ..()
+
+/datum/status_effect/crusher_mark/be_replaced()
+ owner.underlays -= marked_underlay //if this is being called, we should have an owner at this point.
+ ..()
+
/datum/status_effect/saw_bleed
id = "saw_bleed"
duration = -1 //removed under specific conditions
diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm
index eaa14c4d0b0..8f5023e4a74 100644
--- a/code/datums/status_effects/neutral.dm
+++ b/code/datums/status_effects/neutral.dm
@@ -1,5 +1,43 @@
//entirely neutral or internal status effects go here
+/datum/status_effect/crusher_damage //tracks the damage dealt to this mob by kinetic crushers
+ id = "crusher_damage"
+ duration = -1
+ status_type = STATUS_EFFECT_UNIQUE
+ alert_type = null
+ var/total_damage = 0
+
+/datum/status_effect/syphon_mark
+ id = "syphon_mark"
+ duration = 50
+ status_type = STATUS_EFFECT_MULTIPLE
+ alert_type = null
+ on_remove_on_mob_delete = TRUE
+ var/obj/item/borg/upgrade/modkit/bounty/reward_target
+
+/datum/status_effect/syphon_mark/on_creation(mob/living/new_owner, obj/item/borg/upgrade/modkit/bounty/new_reward_target)
+ . = ..()
+ if(.)
+ reward_target = new_reward_target
+
+/datum/status_effect/syphon_mark/on_apply()
+ if(owner.stat == DEAD)
+ return FALSE
+ return ..()
+
+/datum/status_effect/syphon_mark/proc/get_kill()
+ if(!QDELETED(reward_target))
+ reward_target.get_kill(owner)
+
+/datum/status_effect/syphon_mark/tick()
+ if(owner.stat == DEAD)
+ get_kill()
+ qdel(src)
+
+/datum/status_effect/syphon_mark/on_remove()
+ get_kill()
+ . = ..()
+
/datum/status_effect/high_five
id = "high_five"
duration = 40
diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index 7a63fa1571f..9345387e304 100644
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -160,12 +160,16 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
containername = "vox life support supplies crate"
/datum/supply_packs/emergency/plasmamansupport
- name = "Plasmaman Life Support Supplies"
- contains = list(/obj/item/clothing/mask/breath,
- /obj/item/tank/emergency_oxygen/plasma,
- /obj/item/clothing/suit/space/eva/plasmaman,
- /obj/item/clothing/head/helmet/space/eva/plasmaman)
- cost = 75
+ name = "Plasmaman Supply Kit"
+ contains = list(/obj/item/clothing/under/plasmaman,
+ /obj/item/clothing/under/plasmaman,
+ /obj/item/tank/plasma/plasmaman/belt/full,
+ /obj/item/tank/plasma/plasmaman/belt/full,
+ /obj/item/clothing/mask/breath,
+ /obj/item/clothing/mask/breath,
+ /obj/item/clothing/head/helmet/space/plasmaman,
+ /obj/item/clothing/head/helmet/space/plasmaman)
+ cost = 20
containertype = /obj/structure/closet/crate/secure/plasma
containername = "plasmaman life support supplies crate"
access = access_eva
diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index df9e3f8f0ef..354543e2b85 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -207,6 +207,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 10
job = list("Mime")
+/datum/uplink_item/jobspecific/pressure_mod
+ name = "Kinetic Accelerator Pressure Mod"
+ desc = "A modification kit which allows Kinetic Accelerators to do greatly increased damage while indoors. Occupies 35% mod capacity."
+ reference = "KPM"
+ item = /obj/item/borg/upgrade/modkit/indoors
+ cost = 5 //you need two for full damage, so total of 10 for maximum damage
+ job = list("Shaft Miner")
+
//Chef
/datum/uplink_item/jobspecific/specialsauce
name = "Chef Excellence's Special Sauce"
@@ -892,6 +900,13 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 3
surplus = 10
+/datum/uplink_item/stealthy_weapons/false_briefcase
+ name = "False Bottomed Briefcase"
+ desc = "A modified briefcase capable of storing and firing a gun under a false bottom. Use a screwdriver to pry away the false bottom and make modifications. Distinguishable upon close examination due to the added weight."
+ reference = "FBBC"
+ item = /obj/item/storage/briefcase/false_bottomed
+ cost = 3
+
/datum/uplink_item/stealthy_weapons/soap
name = "Syndicate Soap"
desc = "A sinister-looking surfactant used to clean blood stains to hide murders and prevent DNA analysis. You can also drop it underfoot to slip people."
@@ -1107,10 +1122,10 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 2
/datum/uplink_item/stealthy_tools/thermal
- name = "Thermal Imaging Glasses"
- desc = "These glasses are thermals disguised as engineers' optical meson scanners. They allow you to see organisms through walls by capturing the upper portion of the infra-red light spectrum, emitted as heat and light by objects. Hotter objects, such as warm bodies, cybernetic organisms and artificial intelligence cores emit more of this light than cooler objects like walls and airlocks."
+ name = "Thermal Chameleon Glasses"
+ desc = "These glasses are thermals with Syndicate chameleon technology built into them. They allow you to see organisms through walls by capturing the upper portion of the infra-red light spectrum, emitted as heat and light by objects. Hotter objects, such as warm bodies, cybernetic organisms and artificial intelligence cores emit more of this light than cooler objects like walls and airlocks."
reference = "THIG"
- item = /obj/item/clothing/glasses/thermal/syndi
+ item = /obj/item/clothing/glasses/chameleon/thermal
cost = 6
/datum/uplink_item/stealthy_tools/traitor_belt
@@ -1305,7 +1320,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/datum/uplink_item/suits/hardsuit/elite
name = "Elite Syndicate Hardsuit"
desc = "An advanced hardsuit with superior armor and mobility to the standard Syndicate Hardsuit."
- item = /obj/item/storage/box/syndie_kit/elite_hardsuit
+ item = /obj/item/clothing/suit/space/hardsuit/syndi/elite
cost = 8
reference = "ESHS"
excludefrom = list()
@@ -1314,7 +1329,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/datum/uplink_item/suits/hardsuit/shielded
name = "Shielded Hardsuit"
desc = "An advanced hardsuit with built in energy shielding. The shields will rapidly recharge when not under fire."
- item = /obj/item/storage/box/syndie_kit/shielded_hardsuit
+ item = /obj/item/clothing/suit/space/hardsuit/shielded/syndi
cost = 30
reference = "SHS"
excludefrom = list()
diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm
index d5b4faef17c..d6a531950c5 100644
--- a/code/game/area/Space Station 13 areas.dm
+++ b/code/game/area/Space Station 13 areas.dm
@@ -100,9 +100,11 @@ var/list/ghostteleportlocs = list()
requires_power = FALSE
valid_territory = FALSE
dynamic_lighting = DYNAMIC_LIGHTING_FORCED
+ parallax_movedir = NORTH
/area/shuttle/arrival
name = "\improper Arrival Shuttle"
+ parallax_movedir = EAST
/area/shuttle/arrival/pre_game
icon_state = "shuttle2"
@@ -136,12 +138,14 @@ var/list/ghostteleportlocs = list()
music = "music/escape.ogg"
icon_state = "shuttle"
nad_allowed = TRUE
+ parallax_movedir = EAST
/area/shuttle/pod_4
name = "\improper Escape Pod Four"
music = "music/escape.ogg"
icon_state = "shuttle"
nad_allowed = TRUE
+ parallax_movedir = EAST
/area/shuttle/escape_pod1
name = "\improper Escape Pod One"
@@ -207,6 +211,7 @@ var/list/ghostteleportlocs = list()
/area/shuttle/transport
icon_state = "shuttle"
name = "\improper Transport Shuttle"
+ parallax_movedir = EAST
/area/shuttle/transport1
icon_state = "shuttle"
@@ -247,6 +252,7 @@ var/list/ghostteleportlocs = list()
/area/shuttle/specops
name = "\improper Special Ops Shuttle"
icon_state = "shuttlered"
+ parallax_movedir = EAST
/area/shuttle/specops/centcom
name = "\improper Special Ops Shuttle"
@@ -260,6 +266,7 @@ var/list/ghostteleportlocs = list()
name = "\improper Syndicate Elite Shuttle"
icon_state = "shuttlered"
nad_allowed = TRUE
+ parallax_movedir = SOUTH
/area/shuttle/syndicate_elite/mothership
name = "\improper Syndicate Elite Shuttle"
@@ -273,6 +280,7 @@ var/list/ghostteleportlocs = list()
name = "\improper Syndicate SIT Shuttle"
icon_state = "shuttlered"
nad_allowed = TRUE
+ parallax_movedir = SOUTH
/area/shuttle/assault_pod
name = "Steel Rain"
@@ -281,6 +289,7 @@ var/list/ghostteleportlocs = list()
/area/shuttle/administration
name = "\improper Nanotrasen Vessel"
icon_state = "shuttlered"
+ parallax_movedir = EAST
/area/shuttle/administration/centcom
name = "\improper Nanotrasen Vessel Centcom"
@@ -380,6 +389,7 @@ var/list/ghostteleportlocs = list()
/area/shuttle/salvage/abandoned_ship
name = "\improper Abandoned Ship"
icon_state = "yellow"
+ parallax_movedir = WEST
/area/shuttle/salvage/clown_asteroid
name = "\improper Clown Asteroid"
@@ -412,6 +422,7 @@ var/list/ghostteleportlocs = list()
/area/shuttle/trade/sol
name = "Sol Freighter"
+ parallax_movedir = EAST
/area/shuttle/freegolem
name = "Free Golem Ship"
@@ -1859,6 +1870,7 @@ var/list/ghostteleportlocs = list()
/area/shuttle/constructionsite
name = "\improper Construction Site Shuttle"
icon_state = "yellow"
+ parallax_movedir = EAST
/area/shuttle/constructionsite/station
name = "\improper Construction Site Shuttle"
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index 2e7448ec5c8..26dc6ddbf56 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -67,6 +67,9 @@
var/can_get_auto_cryod = TRUE
var/hide_attacklogs = FALSE // For areas such as thunderdome, lavaland syndiebase, etc which generate a lot of spammy attacklogs. Reduces log priority.
+ var/parallax_movedir = 0
+ var/moving = FALSE
+
/area/Initialize(mapload)
GLOB.all_areas += src
icon_state = ""
diff --git a/code/game/area/areas/ruins/lavaland.dm b/code/game/area/areas/ruins/lavaland.dm
index d72c6cc0406..ac4c41b0c42 100644
--- a/code/game/area/areas/ruins/lavaland.dm
+++ b/code/game/area/areas/ruins/lavaland.dm
@@ -12,6 +12,9 @@
/area/ruin/powered/snow_biodome
icon_state = "dk_yellow"
+/area/ruin/powered/snow_cabin
+ icon_state = "bar"
+
/area/ruin/powered/gluttony
icon_state = "dk_yellow"
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index 1a23dc71070..0a22c19770b 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -26,7 +26,7 @@
var/inertia_move_delay = 5
var/moving_diagonally = 0 //0: not doing a diagonal move. 1 and 2: doing the first/second step of the diagonal move
-
+ var/list/client_mobs_in_contents
var/area/areaMaster
/atom/movable/New()
@@ -215,6 +215,8 @@
if(!inertia_moving)
inertia_next_move = world.time + inertia_move_delay
newtonian_move(Dir)
+ if(length(client_mobs_in_contents))
+ update_parallax_contents()
return TRUE
// Previously known as HasEntered()
diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm
index bf2143b9784..f15f1dc742c 100644
--- a/code/game/gamemodes/blob/blobs/blob_mobs.dm
+++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm
@@ -163,10 +163,10 @@
icon_state = "blobbernaut"
icon_living = "blobbernaut"
icon_dead = "blobbernaut_dead"
- health = 240
- maxHealth = 240
- melee_damage_lower = 20
- melee_damage_upper = 20
+ health = 200
+ maxHealth = 200
+ melee_damage_lower = 10
+ melee_damage_upper = 15
obj_damage = 60
attacktext = "hits"
attack_sound = 'sound/effects/blobattack.ogg'
@@ -175,18 +175,48 @@
maxbodytemp = 360
force_threshold = 10
mob_size = MOB_SIZE_LARGE
- environment_smash = ENVIRONMENT_SMASH_RWALLS
+ environment_smash = ENVIRONMENT_SMASH_STRUCTURES
pressure_resistance = 100 //100 kPa difference required to push
throw_pressure_limit = 120 //120 kPa difference required to throw
see_in_dark = 8
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
+/mob/living/simple_animal/hostile/blob/blobbernaut/Life(seconds, times_fired)
+ if(stat != DEAD && (getBruteLoss() || getFireLoss())) // Heal on blob structures
+ if(locate(/obj/structure/blob) in get_turf(src))
+ adjustBruteLoss(-0.25)
+ adjustFireLoss(-0.25)
+ else
+ adjustBruteLoss(0.2) // If you are at full health, you won't lose health. You'll need it. However the moment anybody sneezes on you, the decaying will begin.
+ adjustFireLoss(0.2)
+
/mob/living/simple_animal/hostile/blob/blobbernaut/blob_act()
return
+/mob/living/simple_animal/hostile/blob/blobbernaut/New()
+ ..()
+ if(name == "blobbernaut")
+ name = text("blobbernaut ([rand(1, 1000)])")
+
/mob/living/simple_animal/hostile/blob/blobbernaut/death(gibbed)
// Only execute the below if we successfully died
. = ..()
if(!.)
return FALSE
flick("blobbernaut_death", src)
+
+/mob/living/simple_animal/hostile/blob/blobbernaut/verb/communicate_overmind()
+ set category = "Blobbernaut"
+ set name = "Blob Telepathy"
+ set desc = "Send a message to the Overmind"
+
+ if(stat != DEAD)
+ blob_talk()
+
+/mob/living/simple_animal/hostile/blob/blobbernaut/proc/blob_talk()
+ var/message = input(src, "Announce to the overmind", "Blob Telepathy")
+ var/rendered = "Blob Telepathy, [name]([overmind]) states, \"[message]\""
+ if(message)
+ for(var/mob/M in GLOB.mob_list)
+ if(isovermind(M) || isobserver(M) || istype((M), /mob/living/simple_animal/hostile/blob/blobbernaut))
+ M.show_message(rendered, 2)
\ No newline at end of file
diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm
index 4489aaf707b..d4d9dc15c58 100644
--- a/code/game/gamemodes/blob/overmind.dm
+++ b/code/game/gamemodes/blob/overmind.dm
@@ -84,7 +84,7 @@
var/rendered = "Blob Telepathy, [name]([blob_reagent_datum.name]) [verb] \"[message]\""
for(var/mob/M in GLOB.mob_list)
- if(isovermind(M) || isobserver(M))
+ if(isovermind(M) || isobserver(M) || istype((M), /mob/living/simple_animal/hostile/blob/blobbernaut))
M.show_message(rendered, 2)
/mob/camera/blob/emote(act, m_type = 1, message = null, force)
diff --git a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm
index e7751ffcd8a..f90cfc94480 100644
--- a/code/game/gamemodes/blob/powers.dm
+++ b/code/game/gamemodes/blob/powers.dm
@@ -25,7 +25,8 @@
if(blob_nodes.len)
var/list/nodes = list()
for(var/i = 1; i <= blob_nodes.len; i++)
- nodes["Blob Node #[i]"] = blob_nodes[i]
+ var/obj/structure/blob/node/B = blob_nodes[i]
+ nodes["Blob Node #[i] ([get_location_name(B)])"] = B
var/node_name = input(src, "Choose a node to jump to.", "Node Jump") in nodes
var/obj/structure/blob/node/chosen_node = nodes[node_name]
if(chosen_node)
@@ -207,7 +208,7 @@
/mob/camera/blob/verb/create_blobbernaut()
set category = "Blob"
- set name = "Create Blobbernaut (20)"
+ set name = "Create Blobbernaut (60)"
set desc = "Create a powerful blob-being, a Blobbernaut"
var/turf/T = get_turf(src)
@@ -224,7 +225,7 @@
to_chat(src, "Unable to use this blob, find a factory blob.")
return
- if(!can_buy(20))
+ if(!can_buy(60))
return
var/mob/living/simple_animal/hostile/blob/blobbernaut/blobber = new /mob/living/simple_animal/hostile/blob/blobbernaut (get_turf(B))
@@ -233,6 +234,14 @@
blobber.color = blob_reagent_datum.complementary_color
blobber.overmind = src
blob_mobs.Add(blobber)
+ spawn()
+ var/list/candidates = pollCandidates("Do you want to play as a blobbernaut?", ROLE_BLOB, 1, 150)
+ if(candidates.len)
+ var/mob/C = pick(candidates)
+ if(C)
+ blobber.key = C.key
+ to_chat(blobber, "You are a blobbernaut! You must assist all blob lifeforms in their mission to consume everything!")
+ to_chat(blobber, "You heal while standing on blob structures, however you will decay slowly if you are damaged outside of the blob.")
return
diff --git a/code/game/gamemodes/changeling/powers/headcrab.dm b/code/game/gamemodes/changeling/powers/headslug.dm
similarity index 88%
rename from code/game/gamemodes/changeling/powers/headcrab.dm
rename to code/game/gamemodes/changeling/powers/headslug.dm
index b39a2bba0d5..f29ec02db54 100644
--- a/code/game/gamemodes/changeling/powers/headcrab.dm
+++ b/code/game/gamemodes/changeling/powers/headslug.dm
@@ -1,4 +1,4 @@
-/datum/action/changeling/headcrab
+/datum/action/changeling/headslug
name = "Last Resort"
desc = "We sacrifice our current body in a moment of need, placing us in control of a vessel that can plant our likeness in a new host. Costs 20 chemicals."
helptext = "We will be placed in control of a small, fragile creature. We may attack a corpse like this to plant an egg which will slowly mature into a new form for us."
@@ -7,12 +7,12 @@
dna_cost = 1
req_human = 1
-/datum/action/changeling/headcrab/try_to_sting(mob/user, mob/target)
+/datum/action/changeling/headslug/try_to_sting(mob/user, mob/target)
if(alert("Are you sure you wish to do this? This action cannot be undone.",,"Yes","No")=="No")
return
..()
-/datum/action/changeling/headcrab/sting_action(mob/user)
+/datum/action/changeling/headslug/sting_action(mob/user)
var/datum/mind/M = user.mind
var/list/organs = user.get_organs_zone("head", 1)
@@ -33,7 +33,7 @@
S.Weaken(3)
var/new_location = user.drop_location()
spawn(5) // So it's not killed in explosion
- var/mob/living/simple_animal/hostile/headcrab/crab = new(new_location)
+ var/mob/living/simple_animal/hostile/headslug/crab = new(new_location)
for(var/obj/item/organ/internal/I in organs)
I.loc = crab
crab.origin = M
diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm
index 021eb7461f5..9442c319dcb 100644
--- a/code/game/gamemodes/cult/cult.dm
+++ b/code/game/gamemodes/cult/cult.dm
@@ -29,7 +29,7 @@ var/global/list/all_cults = list()
return 1
/proc/is_sacrifice_target(datum/mind/mind)
- if(istype(SSticker.mode.name, "cult"))
+ if(SSticker.mode.name == "cult")
var/datum/game_mode/cult/cult_mode = SSticker.mode
if(mind == cult_mode.sacrifice_target)
return 1
diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm
index e4274d18d49..fe0980a24cd 100644
--- a/code/game/gamemodes/cult/cult_items.dm
+++ b/code/game/gamemodes/cult/cult_items.dm
@@ -344,21 +344,6 @@
else
to_chat(C, "The veil cannot be torn here!")
-/obj/item/clothing/suit/space/eva/plasmaman/cultist
- name = "plasmaman cultist armor"
- icon_state = "plasmaman_cult"
- item_state = "plasmaman_cult"
- desc = "A bulky suit of armour, menacing with red energy. It looks like it would fit a plasmaman."
- slowdown = 1
- armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
-
-/obj/item/clothing/head/helmet/space/eva/plasmaman/cultist
- name = "plasmaman cultist helmet"
- icon_state = "plasmamanCult_helmet0"
- base_state = "plasmamanCult_helmet"
- desc = "A helmet designed by cultists. It glows menacingly with unearthly flames."
- armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
-
/obj/item/melee/cultblade/ghost
name = "eldritch sword"
force = 15
diff --git a/code/game/gamemodes/cult/cult_objectives.dm b/code/game/gamemodes/cult/cult_objectives.dm
index da4e190cb7f..c31ebaf9b84 100644
--- a/code/game/gamemodes/cult/cult_objectives.dm
+++ b/code/game/gamemodes/cult/cult_objectives.dm
@@ -163,6 +163,16 @@
possible_sac_targets += player.mind
return possible_sac_targets
+// Handles the updating of sacrifice objectives after the sacrifice target goes to cryo and ghosts
+/datum/game_mode/cult/proc/update_sac_objective(previous_target, previous_role)
+ for(var/datum/mind/cult_mind in cult)
+ if(cult_mind)
+ var/updated_memory = cult_mind.memory
+ updated_memory = replacetext("[cult_mind.memory]", "[previous_target]", "[sacrifice_target]")
+ updated_memory = replacetext("[updated_memory]", "[previous_role]", "[sacrifice_target.assigned_role]")
+ cult_mind.memory = updated_memory
+
+
/datum/game_mode/cult/proc/pick_objective()
var/list/possible_objectives = list()
diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm
index 92fc09490ec..179425d320d 100644
--- a/code/game/gamemodes/cult/talisman.dm
+++ b/code/game/gamemodes/cult/talisman.dm
@@ -1,4 +1,5 @@
/obj/item/paper/talisman
+ icon = 'icons/obj/paper.dmi'
icon_state = "paper_talisman"
var/cultist_name = "talisman"
var/cultist_desc = "A basic talisman. It serves no purpose."
@@ -7,6 +8,9 @@
var/uses = 1
var/health_cost = 0 //The amount of health taken from the user when invoking the talisman
+/obj/item/paper/talisman/update_icon()//overriding this so the update_icon doesn't turn them into normal looking paper
+ SEND_SIGNAL(src, COMSIG_OBJ_UPDATE_ICON)
+
/obj/item/paper/talisman/examine(mob/user)
if(iscultist(user) || user.stat == DEAD)
to_chat(user, "Name: [cultist_name]")
@@ -49,6 +53,7 @@
//Supply Talisman: Has a few unique effects. Granted only to starter cultists.
/obj/item/paper/talisman/supply
cultist_name = "Supply Talisman"
+ icon_state = "supply"
cultist_desc = "A multi-use talisman that can create various objects. Intended to increase the cult's strength early on."
invocation = null
uses = 3
@@ -117,6 +122,7 @@
//Rite of Translocation: Same as rune
/obj/item/paper/talisman/teleport
cultist_name = "Talisman of Teleportation"
+ icon_state = "teleport"
cultist_desc = "A single-use talisman that will teleport a user to a random rune of the same keyword."
invocation = "Sas'so c'arta forbici!"
health_cost = 5
@@ -159,6 +165,7 @@
/obj/item/paper/talisman/summon_tome
cultist_name = "Talisman of Tome Summoning"
+ icon_state = "tome"
cultist_desc = "A one-use talisman that will call an untranslated tome from the archives of a cult."
invocation = "N'ath reth sh'yro eth d'raggathnor!"
health_cost = 1
@@ -173,6 +180,7 @@
/obj/item/paper/talisman/true_sight
cultist_name = "Talisman of Veiling"
+ icon_state = "veil"
cultist_desc = "A multi-use talisman that hides nearby runes. On its second use, will reveal nearby runes."
invocation = "Kla'atu barada nikt'o!"
health_cost = 1
@@ -197,6 +205,7 @@
//Rite of False Truths: Same as rune
/obj/item/paper/talisman/make_runes_fake
cultist_name = "Talisman of Disguising"
+ icon_state = "disguising"
cultist_desc = "A talisman that will make nearby runes appear fake."
invocation = "By'o nar'nar!"
@@ -212,6 +221,7 @@
//Rite of Disruption: Weaker than rune
/obj/item/paper/talisman/emp
cultist_name = "Talisman of Electromagnetic Pulse"
+ icon_state = "emp"
cultist_desc = "A talisman that will cause a moderately-sized electromagnetic pulse."
invocation = "Ta'gh fara'qha fel d'amar det!"
health_cost = 5
@@ -226,6 +236,7 @@
//Rite of Disorientation: Stuns and inhibit speech on a single target for quite some time
/obj/item/paper/talisman/stun
cultist_name = "Talisman of Stunning"
+ icon_state = "stunning"
cultist_desc = "A talisman that will stun and inhibit speech on a single target. To use, attack target directly."
invocation = "Dream sign:Evil sealing talisman!"
health_cost = 10
@@ -271,6 +282,7 @@
//Rite of Arming: Equips cultist armor on the user, where available
/obj/item/paper/talisman/armor
cultist_name = "Talisman of Arming"
+ icon_state = "arming"
cultist_desc = "A talisman that will equip the invoker with cultist equipment if there is a slot to equip it to."
invocation = "N'ath reth sh'yro eth draggathnor!"
@@ -279,11 +291,8 @@
var/mob/living/carbon/human/H = user
user.visible_message("Otherworldly armor suddenly appears on [user]!", \
"You speak the words of the talisman, arming yourself!")
- if(isplasmaman(H))
- H.equip_to_slot(new /obj/item/clothing/suit/space/eva/plasmaman/cultist(H), slot_wear_suit)
- H.equip_to_slot(new /obj/item/clothing/head/helmet/space/eva/plasmaman/cultist(H), slot_head)
- else
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/hooded/cultrobes/alt(user), slot_wear_suit)
+
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/hooded/cultrobes/alt(user), slot_wear_suit)
H.equip_to_slot_or_del(new /obj/item/storage/backpack/cultpack(user), slot_back)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult(user), slot_shoes)
H.put_in_hands(new /obj/item/melee/cultblade(user))
@@ -301,6 +310,7 @@
//Talisman of Horrors: Breaks the mind of the victim with nightmarish hallucinations
/obj/item/paper/talisman/horror
cultist_name = "Talisman of Horrors"
+ icon_state = "horror"
cultist_desc = "A talisman that will break the mind of the victim with nightmarish hallucinations."
invocation = "Lo'Nab Na'Dm!"
@@ -316,6 +326,7 @@
//Talisman of Fabrication: Creates a construct shell out of 25 metal sheets.
/obj/item/paper/talisman/construction
cultist_name = "Talisman of Construction"
+ icon_state = "construction"
cultist_desc = "Use this talisman on at least twenty-five metal sheets to create an empty construct shell or on plasteel to make runed metal"
invocation = "Ethra p'ni dedol!"
uses = 25
@@ -360,6 +371,7 @@
//Talisman of Shackling: Applies special cuffs directly from the talisman
/obj/item/paper/talisman/shackle
cultist_name = "Talisman of Shackling"
+ icon_state = "shackling"
cultist_desc = "Use this talisman on a victim to handcuff them with dark bindings."
invocation = "In'totum Lig'abis!"
uses = 4
diff --git a/code/game/gamemodes/miniantags/slaughter/slaughter.dm b/code/game/gamemodes/miniantags/slaughter/slaughter.dm
index 09d5fecb8a2..4a8f215ee47 100644
--- a/code/game/gamemodes/miniantags/slaughter/slaughter.dm
+++ b/code/game/gamemodes/miniantags/slaughter/slaughter.dm
@@ -290,10 +290,10 @@
emote_hear = list("gaffaws", "laughs")
response_help = "hugs"
attacktext = "wildly tickles"
- maxHealth = 150
- health = 150
- melee_damage_lower = 20
- melee_damage_upper = 20
+ maxHealth = 175
+ health = 175
+ melee_damage_lower = 25
+ melee_damage_upper = 25
attack_sound = 'sound/items/bikehorn.ogg'
feast_sound = 'sound/spookoween/scary_horn2.ogg'
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index cf808f3709d..2d7c9cff015 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -291,11 +291,9 @@ proc/issyndicate(mob/living/M as mob)
if("Plasmaman")
synd_mob.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/syndicate(synd_mob), slot_wear_mask)
- synd_mob.equip_to_slot(new /obj/item/clothing/suit/space/eva/plasmaman/nuclear(synd_mob), slot_wear_suit)
- synd_mob.equip_to_slot(new /obj/item/clothing/head/helmet/space/eva/plasmaman/nuclear(synd_mob), slot_head)
synd_mob.equip_or_collect(new /obj/item/tank/plasma/plasmaman(synd_mob), slot_s_store)
- synd_mob.equip_or_collect(new /obj/item/plasmensuit_cartridge(synd_mob), slot_in_backpack)
- synd_mob.equip_or_collect(new /obj/item/plasmensuit_cartridge(synd_mob), slot_in_backpack)
+ synd_mob.equip_or_collect(new /obj/item/extinguisher_refill(synd_mob), slot_in_backpack)
+ synd_mob.equip_or_collect(new /obj/item/extinguisher_refill(synd_mob), slot_in_backpack)
synd_mob.internal = synd_mob.get_item_by_slot(slot_s_store)
synd_mob.update_action_buttons_icon()
diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm
index 09de3f917bd..b11c43299ad 100644
--- a/code/game/gamemodes/nuclear/nuclearbomb.dm
+++ b/code/game/gamemodes/nuclear/nuclearbomb.dm
@@ -76,14 +76,19 @@ var/bomb_set
if(panel_open && (istype(O, /obj/item/multitool) || istype(O, /obj/item/wirecutters)))
return attack_hand(user)
-
- if(extended)
- if(istype(O, /obj/item/disk/nuclear))
- usr.drop_item()
- O.loc = src
+
+ if(istype(O, /obj/item/disk/nuclear))
+ if(extended)
+ if(!user.drop_item())
+ to_chat(user, "\The [O] is stuck to your hand!")
+ return
+ O.forceMove(src)
auth = O
add_fingerprint(user)
return attack_hand(user)
+ else
+ to_chat(user, "You need to deploy \the [src] first. Right click on the sprite, select 'Make Deployable' then click on \the [src] with an empty hand.")
+ return
if(anchored)
switch(removal_stage)
diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm
index 5fc01686200..d696543cbdf 100644
--- a/code/game/gamemodes/vampire/vampire.dm
+++ b/code/game/gamemodes/vampire/vampire.dm
@@ -297,23 +297,23 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha
to_chat(owner, "They've got no blood left to give.")
break
if(H.stat < DEAD)
- if(!issmall(H) || H.ckey)
+ if(H.ckey || H.player_ghosted) //Requires ckey regardless if monkey or humanoid, or the body has been ghosted before it died
blood = min(20, H.blood_volume) // if they have less than 20 blood, give them the remnant else they get 20 blood
bloodtotal += blood / 2 //divide by 2 to counted the double suction since removing cloneloss -Melandor0
bloodusable += blood / 2
else
- if(!issmall(H) || H.ckey)
+ if(H.ckey || H.player_ghosted)
blood = min(5, H.blood_volume) // The dead only give 5 blood
bloodtotal += blood
if(old_bloodtotal != bloodtotal)
- if(!issmall(H) || H.ckey) // not small OR has a ckey, monkeys with ckeys can be sucked, humanized monkeys can be sucked monkeys without ckeys cannot be sucked
+ if(H.ckey || H.player_ghosted) // Requires ckey regardless if monkey or human, and has not ghosted, otherwise no power
to_chat(owner, "You have accumulated [bloodtotal] [bloodtotal > 1 ? "units" : "unit"] of blood[bloodusable != old_bloodusable ? ", and have [bloodusable] left to use" : ""].")
check_vampire_upgrade()
H.blood_volume = max(H.blood_volume - 25, 0)
if(ishuman(owner))
var/mob/living/carbon/human/V = owner
- if(issmall(H) && !H.ckey)
- to_chat(V, "Feeding on [H] reduces your hunger, but you get no usable blood from it.")
+ if(!H.ckey && !H.player_ghosted)//Only runs if there is no ckey and the body has not being ghosted while alive
+ to_chat(V, "Feeding on [H] reduces your thirst, but you get no usable blood from them.")
V.nutrition = min(NUTRITION_LEVEL_WELL_FED, V.nutrition + 5)
else
V.nutrition = min(NUTRITION_LEVEL_WELL_FED, V.nutrition + (blood / 2))
@@ -402,7 +402,14 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha
if(T.density)
return
- vamp_burn(1)
+ if(bloodusable >= 10) //burn through your blood to tank the light for a little while
+ to_chat(owner, "The starlight saps your strength!")
+ bloodusable -= 10
+ vamp_burn(10)
+ else //You're in trouble, get out of the sun NOW
+ to_chat(owner, "Your body is turning to ash, get out of the light now!")
+ owner.adjustCloneLoss(10) //I'm melting!
+ vamp_burn(85)
/datum/vampire/proc/handle_vampire()
if(owner.hud_used)
@@ -419,7 +426,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha
if(istype(owner.loc, /turf/space))
check_sun()
if(istype(owner.loc.loc, /area/chapel) && !get_ability(/datum/vampire_passive/full))
- vamp_burn(0)
+ vamp_burn(7)
nullified = max(0, nullified - 1)
/datum/vampire/proc/handle_vampire_cloak()
@@ -442,8 +449,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha
else
owner.alpha = round((255 * 0.80))
-/datum/vampire/proc/vamp_burn(severe_burn)
- var/burn_chance = severe_burn ? 35 : 8
+/datum/vampire/proc/vamp_burn(burn_chance)
if(prob(burn_chance) && owner.health >= 50)
switch(owner.health)
if(75 to 100)
diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm
index deb054f6d3e..e69a4b7ec79 100644
--- a/code/game/gamemodes/wizard/rightandwrong.dm
+++ b/code/game/gamemodes/wizard/rightandwrong.dm
@@ -139,7 +139,6 @@
new /obj/item/gun/magic/staff/door(get_turf(H))
if("armor")
new /obj/item/clothing/suit/space/hardsuit/wizard(get_turf(H))
- new /obj/item/clothing/head/helmet/space/hardsuit/wizard(get_turf(H))
if("scrying")
new /obj/item/scrying(get_turf(H))
if(!(XRAY in H.mutations))
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index 6f96d4c22e2..50a427ae70c 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -12,7 +12,7 @@
var/buy_word = "Learn"
var/limit //used to prevent a spellbook_entry from being bought more than X times with one wizard spellbook
-/datum/spellbook_entry/proc/IsAvailible() // For config prefs / gamemode restrictions - these are round applied
+/datum/spellbook_entry/proc/IsSpellAvailable() // For config prefs / gamemode restrictions - these are round applied
return 1
/datum/spellbook_entry/proc/CanBuy(var/mob/living/carbon/human/user,var/obj/item/spellbook/book) // Specific circumstances
if(book.uses"
return dat
-/datum/spellbook_entry/noclothes
- name = "Remove Clothes Requirement"
- spell_type = /obj/effect/proc_holder/spell/noclothes
- log_name = "NC"
- category = "Defensive"
+//Main category - Spells
+//Offensive
+/datum/spellbook_entry/blind
+ name = "Blind"
+ spell_type = /obj/effect/proc_holder/spell/targeted/trigger/blind
+ log_name = "BD"
+ category = "Offensive"
+ cost = 1
-/datum/spellbook_entry/fireball
- name = "Fireball"
- spell_type = /obj/effect/proc_holder/spell/fireball
- log_name = "FB"
+/datum/spellbook_entry/lightningbolt
+ name = "Lightning Bolt"
+ spell_type = /obj/effect/proc_holder/spell/targeted/lightning
+ log_name = "LB"
+ category = "Offensive"
+ cost = 1
-/datum/spellbook_entry/rod_form
- name = "Rod Form"
- spell_type = /obj/effect/proc_holder/spell/targeted/rod_form
- log_name = "RF"
+/datum/spellbook_entry/cluwne
+ name = "Curse of the Cluwne"
+ spell_type = /obj/effect/proc_holder/spell/targeted/touch/cluwne
+ log_name = "CC"
+ category = "Offensive"
-/datum/spellbook_entry/magicm
- name = "Magic Missile"
- spell_type = /obj/effect/proc_holder/spell/targeted/projectile/magic_missile
- log_name = "MM"
- category = "Defensive"
+/datum/spellbook_entry/horseman
+ name = "Curse of the Horseman"
+ spell_type = /obj/effect/proc_holder/spell/targeted/horsemask
+ log_name = "HH"
+ category = "Offensive"
/datum/spellbook_entry/disintegrate
name = "Disintegrate"
spell_type = /obj/effect/proc_holder/spell/targeted/touch/disintegrate
log_name = "DG"
+ category = "Offensive"
+/datum/spellbook_entry/fireball
+ name = "Fireball"
+ spell_type = /obj/effect/proc_holder/spell/fireball
+ log_name = "FB"
+ category = "Offensive"
+
+/datum/spellbook_entry/fleshtostone
+ name = "Flesh to Stone"
+ spell_type = /obj/effect/proc_holder/spell/targeted/touch/flesh_to_stone
+ log_name = "FS"
+ category = "Offensive"
+
+/datum/spellbook_entry/mutate
+ name = "Mutate"
+ spell_type = /obj/effect/proc_holder/spell/targeted/genetic/mutate
+ log_name = "MU"
+ category = "Offensive"
+
+/datum/spellbook_entry/rod_form
+ name = "Rod Form"
+ spell_type = /obj/effect/proc_holder/spell/targeted/rod_form
+ log_name = "RF"
+ category = "Offensive"
+
+/datum/spellbook_entry/infinite_guns
+ name = "Lesser Summon Guns"
+ spell_type = /obj/effect/proc_holder/spell/targeted/infinite_guns
+ log_name = "IG"
+ category = "Offensive"
+ cost = 4
+
+//Defensive
/datum/spellbook_entry/disabletech
name = "Disable Tech"
spell_type = /obj/effect/proc_holder/spell/targeted/emplosion/disable_tech
@@ -128,37 +167,6 @@
category = "Defensive"
cost = 1
-/datum/spellbook_entry/repulse
- name = "Repulse"
- spell_type = /obj/effect/proc_holder/spell/aoe_turf/repulse
- log_name = "RP"
- category = "Defensive"
-
-/datum/spellbook_entry/timestop
- name = "Time Stop"
- spell_type = /obj/effect/proc_holder/spell/aoe_turf/conjure/timestop
- log_name = "TS"
- category = "Defensive"
-
-/datum/spellbook_entry/smoke
- name = "Smoke"
- spell_type = /obj/effect/proc_holder/spell/targeted/smoke
- log_name = "SM"
- category = "Defensive"
- cost = 1
-
-/datum/spellbook_entry/blind
- name = "Blind"
- spell_type = /obj/effect/proc_holder/spell/targeted/trigger/blind
- log_name = "BD"
- cost = 1
-
-/datum/spellbook_entry/mindswap
- name = "Mindswap"
- spell_type = /obj/effect/proc_holder/spell/targeted/mind_transfer
- log_name = "MT"
- category = "Mobility"
-
/datum/spellbook_entry/forcewall
name = "Force Wall"
spell_type = /obj/effect/proc_holder/spell/targeted/forcewall
@@ -173,54 +181,18 @@
category = "Defensive"
cost = 1
-/datum/spellbook_entry/blink
- name = "Blink"
- spell_type = /obj/effect/proc_holder/spell/targeted/turf_teleport/blink
- log_name = "BL"
- category = "Mobility"
-
-/datum/spellbook_entry/teleport
- name = "Teleport"
- spell_type = /obj/effect/proc_holder/spell/targeted/area_teleport/teleport
- log_name = "TP"
- category = "Mobility"
-
-/datum/spellbook_entry/mutate
- name = "Mutate"
- spell_type = /obj/effect/proc_holder/spell/targeted/genetic/mutate
- log_name = "MU"
-
-/datum/spellbook_entry/jaunt
- name = "Ethereal Jaunt"
- spell_type = /obj/effect/proc_holder/spell/targeted/ethereal_jaunt
- log_name = "EJ"
- category = "Mobility"
-
-/datum/spellbook_entry/knock
- name = "Knock"
- spell_type = /obj/effect/proc_holder/spell/aoe_turf/knock
- log_name = "KN"
- category = "Mobility"
+/datum/spellbook_entry/repulse
+ name = "Repulse"
+ spell_type = /obj/effect/proc_holder/spell/aoe_turf/repulse
+ log_name = "RP"
+ category = "Defensive"
cost = 1
-/datum/spellbook_entry/greaterknock
- name = "Greater Knock"
- spell_type = /obj/effect/proc_holder/spell/aoe_turf/knock/greater
- log_name = "GK"
- category = "Mobility"
- cost = 2
- refundable = 0 //global effect on cast
-
-/datum/spellbook_entry/fleshtostone
- name = "Flesh to Stone"
- spell_type = /obj/effect/proc_holder/spell/targeted/touch/flesh_to_stone
- log_name = "FS"
-
-/datum/spellbook_entry/summonitem
- name = "Summon Item"
- spell_type = /obj/effect/proc_holder/spell/targeted/summonitem
- log_name = "IS"
- category = "Assistance"
+/datum/spellbook_entry/smoke
+ name = "Smoke"
+ spell_type = /obj/effect/proc_holder/spell/targeted/smoke
+ log_name = "SM"
+ category = "Defensive"
cost = 1
/datum/spellbook_entry/lichdom
@@ -229,28 +201,64 @@
log_name = "LD"
category = "Defensive"
-/datum/spellbook_entry/lichdom/IsAvailible()
+/datum/spellbook_entry/lichdom/IsSpellAvailable()
if(SSticker.mode.name == "ragin' mages")
return FALSE
else
return TRUE
-/datum/spellbook_entry/lightningbolt
- name = "Lightning Bolt"
- spell_type = /obj/effect/proc_holder/spell/targeted/lightning
- log_name = "LB"
+/datum/spellbook_entry/magicm
+ name = "Magic Missile"
+ spell_type = /obj/effect/proc_holder/spell/targeted/projectile/magic_missile
+ log_name = "MM"
+ category = "Defensive"
-/datum/spellbook_entry/infinite_guns
- name = "Lesser Summon Guns"
- spell_type = /obj/effect/proc_holder/spell/targeted/infinite_guns
- log_name = "IG"
- cost = 4
+/datum/spellbook_entry/timestop
+ name = "Time Stop"
+ spell_type = /obj/effect/proc_holder/spell/aoe_turf/conjure/timestop
+ log_name = "TS"
+ category = "Defensive"
-/datum/spellbook_entry/horseman
- name = "Curse of The Horseman"
- spell_type = /obj/effect/proc_holder/spell/targeted/horsemask
- log_name = "HH"
+//Mobility
+/datum/spellbook_entry/knock
+ name = "Knock"
+ spell_type = /obj/effect/proc_holder/spell/aoe_turf/knock
+ log_name = "KN"
+ category = "Mobility"
+ cost = 1
+/datum/spellbook_entry/blink
+ name = "Blink"
+ spell_type = /obj/effect/proc_holder/spell/targeted/turf_teleport/blink
+ log_name = "BL"
+ category = "Mobility"
+
+/datum/spellbook_entry/jaunt
+ name = "Ethereal Jaunt"
+ spell_type = /obj/effect/proc_holder/spell/targeted/ethereal_jaunt
+ log_name = "EJ"
+ category = "Mobility"
+
+/datum/spellbook_entry/greaterknock
+ name = "Greater Knock"
+ spell_type = /obj/effect/proc_holder/spell/aoe_turf/knock/greater
+ log_name = "GK"
+ category = "Mobility"
+ refundable = 0 //global effect on cast
+
+/datum/spellbook_entry/mindswap
+ name = "Mindswap"
+ spell_type = /obj/effect/proc_holder/spell/targeted/mind_transfer
+ log_name = "MT"
+ category = "Mobility"
+
+/datum/spellbook_entry/teleport
+ name = "Teleport"
+ spell_type = /obj/effect/proc_holder/spell/targeted/area_teleport/teleport
+ log_name = "TP"
+ category = "Mobility"
+
+//Assistance
/datum/spellbook_entry/charge
name = "Charge"
spell_type = /obj/effect/proc_holder/spell/targeted/charge
@@ -258,193 +266,20 @@
category = "Assistance"
cost = 1
-/datum/spellbook_entry/cluwne
- name = "Curse of the Cluwne"
- spell_type = /obj/effect/proc_holder/spell/targeted/touch/cluwne
- log_name = "CC"
-
-/datum/spellbook_entry/item
- name = "Buy Item"
- refundable = 0
- buy_word = "Summon"
- var/item_path= null
-
-
-/datum/spellbook_entry/item/Buy(var/mob/living/carbon/human/user,var/obj/item/spellbook/book)
- new item_path(get_turf(user))
- feedback_add_details("wizard_spell_learned",log_name)
- return 1
-
-/datum/spellbook_entry/item/GetInfo()
- var/dat =""
- dat += "[name]"
- dat += " Cost:[cost]
"
- dat += "[desc]
"
- if(surplus>=0)
- dat += "[surplus] left.
"
- return dat
-
-/datum/spellbook_entry/item/staffchange
- name = "Staff of Change"
- desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself."
- item_path = /obj/item/gun/magic/staff/change
- log_name = "ST"
-
-/datum/spellbook_entry/item/staffanimation
- name = "Staff of Animation"
- desc = "An arcane staff capable of shooting bolts of eldritch energy which cause inanimate objects to come to life. This magic doesn't affect machines."
- item_path = /obj/item/gun/magic/staff/animate
- log_name = "SA"
+/datum/spellbook_entry/summonitem
+ name = "Summon Item"
+ spell_type = /obj/effect/proc_holder/spell/targeted/summonitem
+ log_name = "IS"
category = "Assistance"
-
-/datum/spellbook_entry/item/staffchaos
- name = "Staff of Chaos"
- desc = "A caprious tool that can fire all sorts of magic without any rhyme or reason. Using it on people you care about is not recommended."
- item_path = /obj/item/gun/magic/staff/chaos
- log_name = "SC"
-
-/datum/spellbook_entry/item/staffslipping
- name = "Staff of Slipping"
- desc = "A staff that shoots magical bananas. These bananas will either slip or stun the target when hit. Surprisingly reliable!"
- item_path = /obj/item/gun/magic/staff/slipping
- log_name = "SL"
cost = 1
-/datum/spellbook_entry/item/staffdoor
- name = "Staff of Door Creation"
- desc = "A particular staff that can mold solid metal into ornate wooden doors. Useful for getting around in the absence of other transportation. Does not work on glass."
- item_path = /obj/item/gun/magic/staff/door
- log_name = "SD"
- cost = 1
- category = "Mobility"
-
-/datum/spellbook_entry/item/staffhealing
- name = "Staff of Healing"
- desc = "An altruistic staff that can heal the lame and raise the dead."
- item_path = /obj/item/gun/magic/staff/healing
- log_name = "SH"
- cost = 1
- category = "Defensive"
-
-/datum/spellbook_entry/item/scryingorb
- name = "Scrying Orb"
- desc = "An incandescent orb of crackling energy, using it will allow you to ghost while alive, allowing you to spy upon the station with ease. In addition, buying it will permanently grant you x-ray vision."
- item_path = /obj/item/scrying
- log_name = "SO"
- category = "Defensive"
-
-/datum/spellbook_entry/item/scryingorb/Buy(var/mob/living/carbon/human/user,var/obj/item/spellbook/book)
- if(..())
- if(!(XRAY in user.mutations))
- user.mutations.Add(XRAY)
- user.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS)
- user.see_in_dark = 8
- user.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
- to_chat(user, "The walls suddenly disappear.")
- return 1
-
-
-/datum/spellbook_entry/item/soulstones
- name = "Six Soul Stone Shards and the spell Artificer"
- desc = "Soul Stone Shards are ancient tools capable of capturing and harnessing the spirits of the dead and dying. The spell Artificer allows you to create arcane machines for the captured souls to pilot."
- item_path = /obj/item/storage/belt/soulstone/full
- log_name = "SS"
+/datum/spellbook_entry/noclothes
+ name = "Remove Clothes Requirement"
+ spell_type = /obj/effect/proc_holder/spell/noclothes
+ log_name = "NC"
category = "Assistance"
-/datum/spellbook_entry/item/soulstones/Buy(var/mob/living/carbon/human/user,var/obj/item/spellbook/book)
- . =..()
- if(.)
- user.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/conjure/construct(null))
- return .
-
-/datum/spellbook_entry/item/necrostone
- name = "A Necromantic Stone"
- desc = "A Necromantic stone is able to resurrect three dead individuals as skeletal thralls for you to command."
- item_path = /obj/item/necromantic_stone
- log_name = "NS"
- category = "Assistance"
-
-/datum/spellbook_entry/item/wands
- name = "Wand Assortment"
- desc = "A collection of wands that allow for a wide variety of utility. Wands do not recharge, so be conservative in use. Comes in a handy belt."
- item_path = /obj/item/storage/belt/wands/full
- log_name = "WA"
- category = "Defensive"
-
-/datum/spellbook_entry/item/armor
- name = "Mastercrafted Armor Set"
- desc = "An artefact suit of armor that allows you to cast spells while providing more protection against attacks and the void of space. Comes bundled with Boots of Gripping."
- item_path = /obj/item/clothing/suit/space/hardsuit/wizard
- log_name = "HS"
- category = "Defensive"
-
-/datum/spellbook_entry/item/armor/Buy(var/mob/living/carbon/human/user,var/obj/item/spellbook/book)
- . = ..()
- if(.)
- new /obj/item/clothing/shoes/magboots/wizard(get_turf(user))
- new /obj/item/clothing/gloves/color/purple(get_turf(user))//To complete the outfit
- new /obj/item/clothing/head/helmet/space/hardsuit/wizard(get_turf(user))
-
-/datum/spellbook_entry/item/contract
- name = "Contract of Apprenticeship"
- desc = "A magical contract binding an apprentice wizard to your service, using it will summon them to your side."
- item_path = /obj/item/contract
- log_name = "CT"
- category = "Assistance"
-
-/datum/spellbook_entry/item/bloodbottle
- name = "Bottle of Blood"
- desc = "A bottle of magically infused blood, the smell of which will attract extradimensional beings when broken. Be careful though, the kinds of creatures summoned by blood magic are indiscriminate in their killing, and you yourself may become a victim."
- item_path = /obj/item/antag_spawner/slaughter_demon
- log_name = "BB"
- limit = 3
- category = "Assistance"
-
-/datum/spellbook_entry/item/hugbottle
- name = "Bottle of Tickles"
- desc = "A bottle of magically infused fun, the smell of which will \
- attract adorable extradimensional beings when broken. These beings \
- are similar to slaughter demons, but are a little weaker and they do not permamently \
- kill their victims, instead putting them in an extradimensional hugspace, \
- to be released on the demon's death. Chaotic, but not ultimately \
- damaging. The crew's reaction to the other hand could be very \
- destructive."
- item_path = /obj/item/antag_spawner/slaughter_demon/laughter
- cost = 1 //non-destructive; it's just a jape, sibling!
- log_name = "HB"
- limit = 3
- category = "Assistance"
-
-/datum/spellbook_entry/item/oozebottle
- name = "Bottle of Ooze"
- desc = "A bottle of magically infused ooze, which will awake an all-consuming Morph, capable of cunningly disguising itself as any object it comes in contact with and even casting some very basic spells. Be careful though, as Morph diet includes Wizards."
- item_path = /obj/item/antag_spawner/morph
- cost = 1
- log_name = "BO"
- limit = 3
- category = "Assistance"
-
-/datum/spellbook_entry/item/tarotdeck
- name = "Guardian Deck"
- desc = "A deck of guardian tarot cards, capable of binding a personal guardian to your body. There are multiple types of guardian available, but all of them will transfer some amount of damage to you. \
- It would be wise to avoid buying these with anything capable of causing you to swap bodies with others."
- item_path = /obj/item/guardiancreator
- log_name = "TD"
- limit = 1
- category = "Assistance"
-
-/datum/spellbook_entry/item/mjolnir
- name = "Mjolnir"
- desc = "A mighty hammer on loan from Thor, God of Thunder. It crackles with barely contained power."
- item_path = /obj/item/twohanded/mjollnir
- log_name = "MJ"
-
-/datum/spellbook_entry/item/singularity_hammer
- name = "Singularity Hammer"
- desc = "A hammer that creates an intensely powerful field of gravity where it strikes, pulling everthing nearby to the point of impact."
- item_path = /obj/item/twohanded/singularityhammer
- log_name = "SI"
-
+//Rituals
/datum/spellbook_entry/summon
name = "Summon Stuff"
category = "Rituals"
@@ -473,7 +308,7 @@
cost = 0
log_name = "SGH"
-/datum/spellbook_entry/summon/ghosts/IsAvailible()
+/datum/spellbook_entry/summon/ghosts/IsSpellAvailable()
if(!SSticker.mode) // In case spellbook is placed on map
return FALSE
if(SSticker.mode.name == "ragin' mages")
@@ -494,7 +329,7 @@
cost = 0
log_name = "SG"
-/datum/spellbook_entry/summon/guns/IsAvailible()
+/datum/spellbook_entry/summon/guns/IsSpellAvailable()
if(!SSticker.mode) // In case spellbook is placed on map
return FALSE
if(SSticker.mode.name == "ragin' mages")
@@ -503,7 +338,7 @@
return TRUE
/datum/spellbook_entry/summon/guns/Buy(var/mob/living/carbon/human/user,var/obj/item/spellbook/book)
- feedback_add_details("wizard_spell_learned",log_name)
+ feedback_add_details("wizard_spell_learned", log_name)
user.rightandwrong(0)
book.uses += 1
active = 1
@@ -516,7 +351,7 @@
cost = 0
log_name = "SU"
-/datum/spellbook_entry/summon/magic/IsAvailible()
+/datum/spellbook_entry/summon/magic/IsSpellAvailable()
if(!SSticker.mode) // In case spellbook is placed on map
return FALSE
if(SSticker.mode.name == "ragin' mages")
@@ -525,18 +360,207 @@
return TRUE
/datum/spellbook_entry/summon/magic/Buy(var/mob/living/carbon/human/user,var/obj/item/spellbook/book)
- feedback_add_details("wizard_spell_learned",log_name)
+ feedback_add_details("wizard_spell_learned", log_name)
user.rightandwrong(1)
book.uses += 1
active = 1
to_chat(user, "You have cast summon magic and gained an extra charge for your spellbook.")
return 1
+//Main category - Magical Items
+/datum/spellbook_entry/item
+ name = "Buy Item"
+ refundable = 0
+ buy_word = "Summon"
+ var/item_path = null
+
+/datum/spellbook_entry/item/Buy(var/mob/living/carbon/human/user,var/obj/item/spellbook/book)
+ new item_path(get_turf(user))
+ feedback_add_details("wizard_spell_learned", log_name)
+ return 1
+
+/datum/spellbook_entry/item/GetInfo()
+ var/dat =""
+ dat += "[name]"
+ dat += " Cost:[cost]
"
+ dat += "[desc]
"
+ if(surplus>=0)
+ dat += "[surplus] left.
"
+ return dat
+
+//Artefacts
+/datum/spellbook_entry/item/necrostone
+ name = "A Necromantic Stone"
+ desc = "A Necromantic stone is able to resurrect three dead individuals as skeletal thralls for you to command."
+ item_path = /obj/item/necromantic_stone
+ log_name = "NS"
+ category = "Artefacts"
+
+/datum/spellbook_entry/item/scryingorb
+ name = "Scrying Orb"
+ desc = "An incandescent orb of crackling energy, using it will allow you to ghost while alive, allowing you to spy upon the station with ease. In addition, buying it will permanently grant you x-ray vision."
+ item_path = /obj/item/scrying
+ log_name = "SO"
+ category = "Artefacts"
+
+/datum/spellbook_entry/item/scryingorb/Buy(var/mob/living/carbon/human/user,var/obj/item/spellbook/book)
+ if(..())
+ if(!(XRAY in user.mutations))
+ user.mutations.Add(XRAY)
+ user.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS)
+ user.see_in_dark = 8
+ user.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
+ to_chat(user, "The walls suddenly disappear.")
+ return TRUE
+
+/datum/spellbook_entry/item/soulstones
+ name = "Six Soul Stone Shards and the spell Artificer"
+ desc = "Soul Stone Shards are ancient tools capable of capturing and harnessing the spirits of the dead and dying. The spell Artificer allows you to create arcane machines for the captured souls to pilot."
+ item_path = /obj/item/storage/belt/soulstone/full
+ log_name = "SS"
+ category = "Artefacts"
+
+/datum/spellbook_entry/item/soulstones/Buy(var/mob/living/carbon/human/user,var/obj/item/spellbook/book)
+ . = ..()
+ if(.)
+ user.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/conjure/construct(null))
+ return .
+
+/datum/spellbook_entry/item/wands
+ name = "Wand Assortment"
+ desc = "A collection of wands that allow for a wide variety of utility. Wands do not recharge, so be conservative in use. Comes in a handy belt."
+ item_path = /obj/item/storage/belt/wands/full
+ log_name = "WA"
+ category = "Artefacts"
+
+//Weapons and Armors
+/datum/spellbook_entry/item/armor
+ name = "Mastercrafted Armor Set"
+ desc = "An artefact suit of armor that allows you to cast spells while providing more protection against attacks and the void of space. Comes bundled with Boots of Gripping."
+ item_path = /obj/item/clothing/suit/space/hardsuit/wizard
+ log_name = "HS"
+ category = "Weapons and Armors"
+
+/datum/spellbook_entry/item/armor/Buy(var/mob/living/carbon/human/user,var/obj/item/spellbook/book)
+ . = ..()
+ if(.)
+ new /obj/item/clothing/shoes/magboots/wizard(get_turf(user))
+ new /obj/item/clothing/gloves/color/purple(get_turf(user)) // To complete the outfit
+
+/datum/spellbook_entry/item/mjolnir
+ name = "Mjolnir"
+ desc = "A mighty hammer on loan from Thor, God of Thunder. It crackles with barely contained power."
+ item_path = /obj/item/twohanded/mjollnir
+ log_name = "MJ"
+ category = "Weapons and Armors"
+
+/datum/spellbook_entry/item/singularity_hammer
+ name = "Singularity Hammer"
+ desc = "A hammer that creates an intensely powerful field of gravity where it strikes, pulling everthing nearby to the point of impact."
+ item_path = /obj/item/twohanded/singularityhammer
+ log_name = "SI"
+ category = "Weapons and Armors"
+
+//Staves
+/datum/spellbook_entry/item/staffdoor
+ name = "Staff of Door Creation"
+ desc = "A particular staff that can mold solid metal into ornate wooden doors. Useful for getting around in the absence of other transportation. Does not work on glass."
+ item_path = /obj/item/gun/magic/staff/door
+ log_name = "SD"
+ category = "Staves"
+ cost = 1
+
+/datum/spellbook_entry/item/staffhealing
+ name = "Staff of Healing"
+ desc = "An altruistic staff that can heal the lame and raise the dead."
+ item_path = /obj/item/gun/magic/staff/healing
+ log_name = "SH"
+ category = "Staves"
+ cost = 1
+
+/datum/spellbook_entry/item/staffslipping
+ name = "Staff of Slipping"
+ desc = "A staff that shoots magical bananas. These bananas will either slip or stun the target when hit. Surprisingly reliable!"
+ item_path = /obj/item/gun/magic/staff/slipping
+ log_name = "SL"
+ category = "Staves"
+ cost = 1
+
+/datum/spellbook_entry/item/staffanimation
+ name = "Staff of Animation"
+ desc = "An arcane staff capable of shooting bolts of eldritch energy which cause inanimate objects to come to life. This magic doesn't affect machines."
+ item_path = /obj/item/gun/magic/staff/animate
+ log_name = "SA"
+ category = "Staves"
+
+/datum/spellbook_entry/item/staffchange
+ name = "Staff of Change"
+ desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself."
+ item_path = /obj/item/gun/magic/staff/change
+ log_name = "ST"
+ category = "Staves"
+
+/datum/spellbook_entry/item/staffchaos
+ name = "Staff of Chaos"
+ desc = "A caprious tool that can fire all sorts of magic without any rhyme or reason. Using it on people you care about is not recommended."
+ item_path = /obj/item/gun/magic/staff/chaos
+ log_name = "SC"
+ category = "Staves"
+
+//Summons
+/datum/spellbook_entry/item/oozebottle
+ name = "Bottle of Ooze"
+ desc = "A bottle of magically infused ooze, which will awake an all-consuming Morph, capable of cunningly disguising itself as any object it comes in contact with and even casting some very basic spells. Be careful though, as Morph diet includes Wizards."
+ item_path = /obj/item/antag_spawner/morph
+ log_name = "BO"
+ category = "Summons"
+ limit = 3
+ cost = 1
+
+/datum/spellbook_entry/item/hugbottle
+ name = "Bottle of Tickles"
+ desc = "A bottle of magically infused fun, the smell of which will \
+ attract adorable extradimensional beings when broken. These beings \
+ are similar to slaughter demons, but are a little weaker and they do not permamently \
+ kill their victims, instead putting them in an extradimensional hugspace, \
+ to be released on the demon's death. Chaotic, but not ultimately \
+ damaging. The crew's reaction to the other hand could be very \
+ destructive."
+ item_path = /obj/item/antag_spawner/slaughter_demon/laughter
+ log_name = "HB"
+ category = "Summons"
+ limit = 3
+ cost = 1 // Non-destructive; it's just a jape, sibling!
+
+/datum/spellbook_entry/item/bloodbottle
+ name = "Bottle of Blood"
+ desc = "A bottle of magically infused blood, the smell of which will attract extradimensional beings when broken. Be careful though, the kinds of creatures summoned by blood magic are indiscriminate in their killing, and you yourself may become a victim."
+ item_path = /obj/item/antag_spawner/slaughter_demon
+ log_name = "BB"
+ category = "Summons"
+ limit = 3
+
+/datum/spellbook_entry/item/contract
+ name = "Contract of Apprenticeship"
+ desc = "A magical contract binding an apprentice wizard to your service, using it will summon them to your side."
+ item_path = /obj/item/contract
+ log_name = "CT"
+ category = "Summons"
+
+/datum/spellbook_entry/item/tarotdeck
+ name = "Guardian Deck"
+ desc = "A deck of guardian tarot cards, capable of binding a personal guardian to your body. There are multiple types of guardian available, but all of them will transfer some amount of damage to you. \
+ It would be wise to avoid buying these with anything capable of causing you to swap bodies with others."
+ item_path = /obj/item/guardiancreator
+ log_name = "TD"
+ category = "Summons"
+ limit = 1
+
/obj/item/spellbook
name = "spell book"
desc = "The legendary book of spells of the wizard."
icon = 'icons/obj/library.dmi'
- icon_state ="book"
+ icon_state = "spellbook"
throw_speed = 2
throw_range = 5
w_class = WEIGHT_CLASS_TINY
@@ -544,19 +568,24 @@
var/temp = null
var/op = 1
var/tab = null
+ var/main_tab = null
var/mob/living/carbon/human/owner
var/list/datum/spellbook_entry/entries = list()
var/list/categories = list()
+ var/list/main_categories = list("Spells", "Magical Items")
+ var/list/spell_categories = list("Offensive", "Defensive", "Mobility", "Assistance", "Rituals")
+ var/list/item_categories = list("Artefacts", "Weapons and Armors", "Staves", "Summons")
/obj/item/spellbook/proc/initialize()
var/entry_types = subtypesof(/datum/spellbook_entry) - /datum/spellbook_entry/item - /datum/spellbook_entry/summon
for(var/T in entry_types)
var/datum/spellbook_entry/E = new T
- if(E.IsAvailible())
+ if(E.IsSpellAvailable())
entries |= E
categories |= E.category
else
qdel(E)
+ main_tab = main_categories[1]
tab = categories[1]
/obj/item/spellbook/New()
@@ -570,48 +599,64 @@
to_chat(user, "The contract has been used, you can't get your points back now!")
else
to_chat(user, "You feed the contract back into the spellbook, refunding your points.")
-
uses+=2
-
qdel(O)
if(istype(O, /obj/item/antag_spawner/slaughter_demon))
to_chat(user, "On second thought, maybe summoning a demon is a bad idea. You refund your points.")
-
if(istype(O, /obj/item/antag_spawner/slaughter_demon/laughter))
uses += 1
+ for(var/datum/spellbook_entry/item/hugbottle/HB in entries)
+ if(!isnull(HB.limit))
+ HB.limit++
else
uses += 2
- for(var/datum/spellbook_entry/item/bloodbottle/BB in entries)
- if(!isnull(BB.limit))
- BB.limit++
+ for(var/datum/spellbook_entry/item/bloodbottle/BB in entries)
+ if(!isnull(BB.limit))
+ BB.limit++
+ qdel(O)
+
+ if(istype(O, /obj/item/antag_spawner/morph))
+ to_chat(user, "On second thought, maybe awakening a morph is a bad idea. You refund your points.")
+ uses += 1
+ for(var/datum/spellbook_entry/item/oozebottle/OB in entries)
+ if(!isnull(OB.limit))
+ OB.limit++
qdel(O)
/obj/item/spellbook/proc/GetCategoryHeader(var/category)
var/dat = ""
switch(category)
if("Offensive")
- dat += "Spells and items geared towards debilitating and destroying.
"
- dat += "Items are not bound to you and can be stolen. Additionaly they cannot typically be returned once purchased.
"
+ dat += "Spells geared towards debilitating and destroying.
"
dat += "For spells: the number after the spell name is the cooldown time.
"
dat += "You can reduce this number by spending more points on the spell.
"
if("Defensive")
- dat += "Spells and items geared towards improving your survivabilty or reducing foes ability to attack.
"
- dat += "Items are not bound to you and can be stolen. Additionaly they cannot typically be returned once purchased.
"
+ dat += "Spells geared towards improving your survivabilty or reducing foes ability to attack.
"
dat += "For spells: the number after the spell name is the cooldown time.
"
dat += "You can reduce this number by spending more points on the spell.
"
if("Mobility")
- dat += "Spells and items geared towards improving your ability to move. It is a good idea to take at least one.
"
- dat += "Items are not bound to you and can be stolen. Additionaly they cannot typically be returned once purchased.
"
+ dat += "Spells geared towards improving your ability to move. It is a good idea to take at least one.
"
dat += "For spells: the number after the spell name is the cooldown time.
"
dat += "You can reduce this number by spending more points on the spell.
"
if("Assistance")
- dat += "Spells and items geared towards bringing in outside forces to aid you or improving upon your other items and abilties.
"
- dat += "Items are not bound to you and can be stolen. Additionaly they cannot typically be returned once purchased.
"
+ dat += "Spells geared towards improving your other items and abilities.
"
dat += "For spells: the number after the spell name is the cooldown time.
"
dat += "You can reduce this number by spending more points on the spell.
"
if("Rituals")
- dat += "These powerful spells change the very fabric of reality. Not always in your favour.
"
+ dat += "These powerful spells are capable of changing the very fabric of reality. Not always in your favour.
"
+ if("Weapons and Armors")
+ dat += "Various weapons and armors to crush your enemies and protect you from harm.
"
+ dat += "Items are not bound to you and can be stolen. Additionaly they cannot typically be returned once purchased.
"
+ if("Staves")
+ dat += "Various staves granting you their power, which they slowly recharge over time.
"
+ dat += "Items are not bound to you and can be stolen. Additionaly they cannot typically be returned once purchased.
"
+ if("Artefacts")
+ dat += "Various magical artefacts to aid you.
"
+ dat += "Items are not bound to you and can be stolen. Additionaly they cannot typically be returned once purchased.
"
+ if("Summons")
+ dat += "Magical items geared towards bringing in outside forces to aid you.
"
+ dat += "Items are not bound to you and can be stolen. Additionaly they cannot typically be returned once purchased.
"
return dat
/obj/item/spellbook/proc/wrap(var/content)
@@ -621,11 +666,16 @@
@@ -645,13 +695,29 @@
user.set_machine(src)
var/dat = ""
- dat += "