diff --git a/README.md b/README.md
index e408786d8d0..5437433fc0c 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-##/tg/station v1.0.1
+##/tg/station v1.0.1
[](https://travis-ci.org/tgstation/-tg-station)
@@ -76,13 +76,6 @@ We use BYGEX for some of our text replacement related code. Unfortunately, we
only have a windows dll included right now. You can find a version known to compile on linux, along with some basic install instructions here
https://github.com/optimumtact/byond-regex
-Otherwise, edit the file `code/_compile_options.dm`, and comment out:
-`#define USE_BYGEX`
-at the bottom, so that it looks like this:
-`//#define USE_BYGEX`
-Recompile the codebase afterwards.
-
-
##UPDATING
To update an existing installation, first back up your /config and /data folders
diff --git a/SQL/database_changelog.txt b/SQL/database_changelog.txt
index bf305298ce2..a7308fea1b0 100644
--- a/SQL/database_changelog.txt
+++ b/SQL/database_changelog.txt
@@ -1,3 +1,25 @@
+27 August 2015, by Jordie0608
+
+Modified table 'watch', removing 'id' column, making 'ckey' primary and adding the columns 'timestamp', 'adminckey', 'last_editor' and 'edits'.
+
+ALTER TABLE `feedback`.`watch` DROP COLUMN `id`, ADD COLUMN `timestamp` datetime NOT NULL AFTER `reason`, ADD COLUMN `adminckey` varchar(32) NOT NULL AFTER `timestamp`, ADD COLUMN `last_editor` varchar(32) NULL AFTER `adminckey`, ADD COLUMN `edits` text NULL AFTER `last_editor`, DROP PRIMARY KEY, ADD PRIMARY KEY (`ckey`)
+
+Remember to add a prefix to the table name if you use them.
+
+----------------------------------------------------
+
+14 August 2015, by Jordie0608
+
+Added new table 'notes' to replace BYOND's .sav note system.
+
+To create this new table run the following command:
+
+CREATE TABLE `notes` ( `id` int(11) NOT NULL AUTO_INCREMENT, `ckey` varchar(32) NOT NULL, `notetext` text NOT NULL, `timestamp` datetime NOT NULL, `adminckey` varchar(32) NOT NULL, `last_editor` varchar(32), `edits` text, `server` varchar(50) NOT NULL, PRIMARY KEY (`id`))
+
+Remember to add prefix to the table name if you use them.
+
+----------------------------------------------------
+
28 July 2015, by Jordie0608
Modified table 'memo', removing 'id' column and making 'ckey' primary.
diff --git a/SQL/tgstation_schema.sql b/SQL/tgstation_schema.sql
index caeec1c432c..6b0518bda38 100644
--- a/SQL/tgstation_schema.sql
+++ b/SQL/tgstation_schema.sql
@@ -314,10 +314,13 @@ DROP TABLE IF EXISTS `watch`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `watch` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
`ckey` varchar(32) NOT NULL,
`reason` text NOT NULL,
- PRIMARY KEY (`id`)
+ `timestamp` datetime NOT NULL,
+ `adminckey` varchar(32) NOT NULL,
+ `last_editor` varchar(32),
+ `edits` text,
+ PRIMARY KEY (`ckey`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -338,5 +341,25 @@ CREATE TABLE `memo` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
+--
+-- Table structure for table `notes`
+--
+
+DROP TABLE IF EXISTS `notes`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `notes` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `ckey` varchar(32) NOT NULL,
+ `notetext` text NOT NULL,
+ `timestamp` datetime NOT NULL,
+ `adminckey` varchar(32) NOT NULL,
+ `last_editor` varchar(32),
+ `edits` text,
+ `server` varchar(50) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
-- Dump completed on 2013-03-24 18:02:35
diff --git a/SQL/tgstation_schema_prefixed.sql b/SQL/tgstation_schema_prefixed.sql
index 93ba765835d..a800b11013f 100644
--- a/SQL/tgstation_schema_prefixed.sql
+++ b/SQL/tgstation_schema_prefixed.sql
@@ -302,17 +302,20 @@ CREATE TABLE `SS13_poll_vote` (
/*!40101 SET character_set_client = @saved_cs_client */;
--
--- Table structure for table `watch`
+-- Table structure for table `SS13_watch`
--
DROP TABLE IF EXISTS `SS13_watch`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `SS13_watch` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
`ckey` varchar(32) NOT NULL,
`reason` text NOT NULL,
- PRIMARY KEY (`id`)
+ `timestamp` datetime NOT NULL,
+ `adminckey` varchar(32) NOT NULL,
+ `last_editor` varchar(32),
+ `edits` text,
+ PRIMARY KEY (`ckey`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -333,5 +336,25 @@ CREATE TABLE `SS13_memo` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
+--
+-- Table structure for table `SS13_notes`
+--
+
+DROP TABLE IF EXISTS `SS13_notes`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `SS13_notes` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `ckey` varchar(32) NOT NULL,
+ `notetext` text NOT NULL,
+ `timestamp` datetime NOT NULL,
+ `adminckey` varchar(32) NOT NULL,
+ `last_editor` varchar(32),
+ `edits` text,
+ `server` varchar(50) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
-- Dump completed on 2013-03-24 18:02:35
diff --git a/_maps/RandomZLevels/Academy.dmm b/_maps/RandomZLevels/Academy.dmm
index 68405d16622..a19b5de6da4 100644
--- a/_maps/RandomZLevels/Academy.dmm
+++ b/_maps/RandomZLevels/Academy.dmm
@@ -1,71 +1,71 @@
"aa" = (/turf/space,/area/space)
"ab" = (/turf/simulated/wall/r_wall,/area/awaymission/academy/headmaster)
"ac" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/headmaster)
-"ad" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"ae" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"af" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/red,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"ag" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/blue,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"ah" = (/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"ai" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"aj" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; environ = 0; equipment = 3; locked = 0; req_access = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"ak" = (/obj/structure/table/reinforced,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"al" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"am" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/light/small,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"an" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"ao" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"ap" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"aq" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/coffee,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"ar" = (/obj/structure/table/reinforced,/obj/item/weapon/paper{info = "We're upgrading to the latest mainframes for our consoles, the shipment should be in before spring break is over!"; name = "Console Maintenance"},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
+"ad" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"ae" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"af" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/red,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"ag" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/blue,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"ah" = (/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"ai" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"aj" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; environ = 0; equipment = 3; locked = 0; req_access = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"ak" = (/obj/structure/table/reinforced,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"al" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"am" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/light/small,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"an" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"ao" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"ap" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"aq" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/coffee,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"ar" = (/obj/structure/table/reinforced,/obj/item/weapon/paper{info = "We're upgrading to the latest mainframes for our consoles, the shipment should be in before spring break is over!"; name = "Console Maintenance"},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
"as" = (/turf/simulated/wall,/area/awaymission/academy/headmaster)
-"at" = (/obj/structure/mineral_door/wood,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"au" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"av" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"aw" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"ax" = (/obj/structure/stool,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
+"at" = (/obj/structure/mineral_door/wood,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"au" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"av" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"aw" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"ax" = (/obj/structure/stool,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
"ay" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
"az" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/item/stack/sheet/animalhide/monkey,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
"aA" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
"aB" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/purple,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
-"aC" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/tea,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"aD" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
+"aC" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/tea,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"aD" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
"aE" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
"aF" = (/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
"aG" = (/obj/structure/safe/floor,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
-"aH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
+"aH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
"aI" = (/obj/structure/cult/tome,/obj/item/weapon/staff,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
"aJ" = (/obj/structure/stool/bed/chair/wood/wings{dir = 8},/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
-"aK" = (/obj/item/clothing/suit/space/hardsuit/wizard,/obj/item/clothing/head/helmet/space/hardsuit/wizard,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
-"aL" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/briefcase,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"aM" = (/obj/structure/table/reinforced,/obj/item/weapon/coin/plasma,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"aN" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
+"aK" = (/obj/item/clothing/suit/space/hardsuit/wizard,/obj/item/clothing/head/helmet/space/hardsuit/wizard,/obj/structure/table/wood,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
+"aL" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/briefcase,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"aM" = (/obj/structure/table/reinforced,/obj/item/weapon/coin/plasma,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"aN" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
"aO" = (/obj/structure/lattice,/turf/space,/area/space)
-"aP" = (/obj/machinery/door/airlock/gold{locked = 1},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"aQ" = (/obj/machinery/door/airlock/gold{locked = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
+"aP" = (/obj/machinery/door/airlock/gold{locked = 1},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"aQ" = (/obj/machinery/door/airlock/gold{locked = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
"aR" = (/turf/simulated/mineral/random/high_chance,/area/awaymission/academy)
"aS" = (/obj/structure/noticeboard,/turf/simulated/wall,/area/awaymission/academy/headmaster)
"aT" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
-"aU" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
+"aU" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
"aV" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
"aW" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
-"aX" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"aY" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/blue,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"aZ" = (/obj/structure/table/woodentable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/weapon/pen/red,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"ba" = (/obj/structure/table/woodentable,/obj/item/weapon/staff,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"bb" = (/obj/structure/table/woodentable,/obj/item/weapon/hand_labeler,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
-"bc" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/invisible,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
-"bd" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"be" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/red,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"bf" = (/obj/structure/table/woodentable,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"bg" = (/obj/structure/table/woodentable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/weapon/dice/d20,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"bh" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/tea,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"bi" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
-"bj" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"bk" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"bl" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/blue,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
+"aX" = (/obj/structure/table/wood,/obj/item/weapon/paper_bin,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"aY" = (/obj/structure/table/wood,/obj/item/weapon/folder/blue,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"aZ" = (/obj/structure/table/wood,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/weapon/pen/red,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"ba" = (/obj/structure/table/wood,/obj/item/weapon/staff,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"bb" = (/obj/structure/table/wood,/obj/item/weapon/hand_labeler,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
+"bc" = (/obj/structure/table/wood,/obj/item/weapon/pen/invisible,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
+"bd" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"be" = (/obj/structure/table/wood,/obj/item/weapon/pen/red,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"bf" = (/obj/structure/table/wood,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"bg" = (/obj/structure/table/wood,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/weapon/dice/d20,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"bh" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/tea,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"bi" = (/obj/structure/table/wood,/obj/item/weapon/paper_bin,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
+"bj" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"bk" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"bl" = (/obj/structure/table/wood,/obj/item/weapon/folder/blue,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
"bm" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
"bn" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/wood,/area/awaymission/academy/headmaster)
-"bo" = (/obj/machinery/door/airlock/gold,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
-"bp" = (/obj/machinery/door/airlock/gold,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
+"bo" = (/obj/machinery/door/airlock/gold,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
+"bp" = (/obj/machinery/door/airlock/gold,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
"bq" = (/turf/simulated/floor/plasteel,/area/awaymission/academy/headmaster)
"br" = (/turf/simulated/wall/r_wall,/area/awaymission/academy/classrooms)
"bs" = (/obj/machinery/door/poddoor/shutters{id = "AcademyAuto"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaymission/academy/classrooms)
@@ -78,11 +78,11 @@
"bz" = (/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/awaymission/academy/classrooms)
"bA" = (/turf/simulated/floor/plating,/area/awaymission/academy/classrooms)
"bB" = (/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/awaymission/academy/classrooms)
-"bC" = (/obj/machinery/door_control{id = "AcademyAuto"; pixel_y = 24},/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
+"bC" = (/obj/machinery/button/door{id = "AcademyAuto"; pixel_y = 24},/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"bD" = (/turf/simulated/wall,/area/awaymission/academy/classrooms)
-"bE" = (/turf/simulated/shuttle/wall{tag = "icon-swallc2"; icon_state = "swallc2"},/area/awaymission/academy/classrooms)
-"bF" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/awaymission/academy/classrooms)
-"bG" = (/turf/simulated/shuttle/wall{tag = "icon-swallc1"; icon_state = "swallc1"},/area/awaymission/academy/classrooms)
+"bE" = (/turf/simulated/wall/shuttle{tag = "icon-swallc2"; icon_state = "swallc2"},/area/awaymission/academy/classrooms)
+"bF" = (/turf/simulated/wall/shuttle{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/awaymission/academy/classrooms)
+"bG" = (/turf/simulated/wall/shuttle{tag = "icon-swallc1"; icon_state = "swallc1"},/area/awaymission/academy/classrooms)
"bH" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel,/area/awaymission/academy/headmaster)
"bI" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "chapel"},/area/awaymission/academy/headmaster)
"bJ" = (/turf/simulated/floor/plasteel{icon_state = "chapel"},/area/awaymission/academy/headmaster)
@@ -92,18 +92,18 @@
"bN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster)
"bO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/academy/headmaster)
"bP" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster)
-"bQ" = (/obj/structure/table/reinforced,/obj/item/device/laser_pointer/upgraded,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
+"bQ" = (/obj/structure/table/reinforced,/obj/item/device/laser_pointer/upgraded,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
"bR" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/academy/headmaster)
"bS" = (/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/academy/headmaster)
"bT" = (/obj/machinery/autolathe,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"bU" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/academy/classrooms)
-"bV" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/awaymission/academy/classrooms)
+"bV" = (/turf/simulated/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/awaymission/academy/classrooms)
"bW" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/engine,/area/awaymission/academy/classrooms)
"bX" = (/obj/structure/target_stake,/turf/simulated/floor/engine,/area/awaymission/academy/classrooms)
"bY" = (/turf/simulated/floor/engine,/area/awaymission/academy/classrooms)
"bZ" = (/obj/structure/target_stake,/obj/item/target/alien,/turf/simulated/floor/engine,/area/awaymission/academy/classrooms)
"ca" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel,/area/awaymission/academy/headmaster)
-"cb" = (/obj/structure/table,/obj/item/weapon/lighter/random,/turf/simulated/floor/plasteel,/area/awaymission/academy/headmaster)
+"cb" = (/obj/structure/table,/obj/item/weapon/lighter/greyscale,/turf/simulated/floor/plasteel,/area/awaymission/academy/headmaster)
"cc" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/academy/headmaster)
"cd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster)
"ce" = (/obj/item/seeds/eggyseed,/obj/machinery/hydroponics/constructable,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
@@ -111,7 +111,7 @@
"cg" = (/obj/structure/stool,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/academy/headmaster)
"ch" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/academy/classrooms)
"ci" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms)
-"cj" = (/obj/machinery/door/airlock/plasma,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
+"cj" = (/obj/machinery/door/airlock/plasma,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
"ck" = (/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster)
"cl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/academy/headmaster)
"cm" = (/obj/machinery/computer/area_atmos/area,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster)
@@ -119,9 +119,9 @@
"co" = (/obj/structure/stool,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/academy/headmaster)
"cp" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/weapon/pen/red,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"cq" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
-"cr" = (/turf/simulated/shuttle/wall{tag = "icon-swall1"; icon_state = "swall1"},/area/awaymission/academy/classrooms)
+"cr" = (/turf/simulated/wall/shuttle{tag = "icon-swall1"; icon_state = "swall1"},/area/awaymission/academy/classrooms)
"cs" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel,/area/awaymission/academy/headmaster)
-"ct" = (/turf/simulated/floor/fancy/carpet{icon_state = "carpetsymbol"},/area/awaymission/academy/headmaster)
+"ct" = (/turf/simulated/floor/carpet{icon_state = "carpetsymbol"},/area/awaymission/academy/headmaster)
"cu" = (/obj/machinery/door/window{dir = 8},/turf/simulated/floor/plating,/area/awaymission/academy/headmaster)
"cv" = (/turf/simulated/floor/plating,/area/awaymission/academy/headmaster)
"cw" = (/obj/machinery/door/window{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/awaymission/academy/headmaster)
@@ -131,7 +131,7 @@
"cA" = (/obj/item/target,/turf/simulated/floor/engine,/area/awaymission/academy/classrooms)
"cB" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/awaymission/academy/classrooms)
"cC" = (/obj/structure/table,/turf/simulated/floor/plasteel,/area/awaymission/academy/headmaster)
-"cD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
+"cD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
"cE" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/academy/headmaster)
"cF" = (/obj/structure/sign/nosmoking_1,/turf/simulated/wall,/area/awaymission/academy/headmaster)
"cG" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
@@ -146,7 +146,7 @@
"cP" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 6},/area/awaymission/academy/classrooms)
"cQ" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel,/area/awaymission/academy/headmaster)
"cR" = (/obj/machinery/light{dir = 8},/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster)
-"cS" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen/red,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/academy/headmaster)
+"cS" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/internals/oxygen,/obj/item/weapon/tank/internals/oxygen/red,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/academy/headmaster)
"cT" = (/obj/structure/closet/crate,/obj/item/weapon/crowbar/red,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster)
"cU" = (/obj/structure/grille,/obj/structure/cable,/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/headmaster)
"cV" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
@@ -157,7 +157,7 @@
"da" = (/turf/simulated/floor/wood,/area/awaymission/academy/classrooms)
"db" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/wood,/area/awaymission/academy/classrooms)
"dc" = (/turf/simulated/floor/greengrid,/area/awaymission/academy/classrooms)
-"dd" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms)
+"dd" = (/obj/structure/table/wood,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms)
"de" = (/obj/machinery/hydroponics/constructable,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"df" = (/turf/simulated/floor/plasteel{dir = 9; icon_state = "green"},/area/awaymission/academy/classrooms)
"dg" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/awaymission/academy/classrooms)
@@ -173,22 +173,22 @@
"dq" = (/obj/structure/stool/bed/chair/wood/normal{dir = 1},/turf/simulated/floor/wood,/area/awaymission/academy/classrooms)
"dr" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 8},/area/awaymission/academy/classrooms)
"ds" = (/obj/structure/stool,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
-"dt" = (/obj/structure/table/woodentable,/obj/item/weapon/gun/magic/wand/fireball,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms)
+"dt" = (/obj/structure/table/wood,/obj/item/weapon/gun/magic/wand/fireball,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms)
"du" = (/obj/machinery/hydroponics/constructable,/obj/item/seeds/replicapod,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"dv" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/awaymission/academy/classrooms)
"dw" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/effect/landmark{name = "awaystart"},/obj/item/weapon/weldingtool,/turf/simulated/floor/greengrid,/area/awaymission/academy/classrooms)
"dx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/greengrid,/area/awaymission/academy/classrooms)
"dy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/greengrid,/area/awaymission/academy/classrooms)
"dz" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
-"dA" = (/turf/simulated/floor/fancy/grass,/area/awaymission/academy/headmaster)
-"dB" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
+"dA" = (/turf/simulated/floor/grass,/area/awaymission/academy/headmaster)
+"dB" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"dC" = (/obj/structure/closet/crate/hydroponics/prespawned,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"dD" = (/obj/machinery/door/airlock/freezer,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/academy/classrooms)
"dE" = (/obj/machinery/light/small{dir = 4},/obj/machinery/chem_master/condimaster,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/academy/classrooms)
"dF" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms)
"dG" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable,/turf/simulated/floor/greengrid,/area/awaymission/academy/classrooms)
"dH" = (/obj/machinery/hydroponics/constructable,/obj/item/seeds/bluespacetomatoseed,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
-"dI" = (/obj/structure/table/woodentable,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
+"dI" = (/obj/structure/table/wood,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"dJ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"dK" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/bag/tray,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/academy/classrooms)
"dL" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
@@ -199,7 +199,7 @@
"dQ" = (/obj/structure/kitchenspike,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/academy/classrooms)
"dR" = (/obj/structure/mineral_door/iron,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"dS" = (/obj/structure/mineral_door/iron,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
-"dT" = (/obj/structure/mineral_door/wood,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/classrooms)
+"dT" = (/obj/structure/mineral_door/wood,/turf/simulated/floor/carpet,/area/awaymission/academy/classrooms)
"dU" = (/obj/machinery/seed_extractor,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"dV" = (/obj/structure/cable,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"dW" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/academy/classrooms)
@@ -215,8 +215,8 @@
"eg" = (/obj/structure/noticeboard{pixel_y = 32},/obj/item/weapon/paper{name = "Pyromancy 250"},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/academy/classrooms)
"eh" = (/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/academy/classrooms)
"ei" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; environ = 3; equipment = 3; locked = 0; req_access = ""},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/academy/classrooms)
-"ej" = (/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/classrooms)
-"ek" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/classrooms)
+"ej" = (/turf/simulated/floor/carpet,/area/awaymission/academy/classrooms)
+"ek" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/classrooms)
"el" = (/turf/simulated/floor/plasteel{tag = "icon-green (SOUTHWEST)"; icon_state = "green"; dir = 10},/area/awaymission/academy/classrooms)
"em" = (/turf/simulated/floor/plasteel{tag = "icon-green"; icon_state = "green"},/area/awaymission/academy/classrooms)
"en" = (/obj/machinery/vending/hydroseeds{slogan_delay = 700},/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
@@ -258,9 +258,9 @@
"eX" = (/obj/structure/table,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/reagent_containers/food/snacks/burger/spell,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/academy/classrooms)
"eY" = (/turf/simulated/floor/plating{tag = "icon-warnplate (SOUTHWEST)"; icon_state = "warnplate"; dir = 10},/area/awaymission/academy)
"eZ" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
-"fa" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/classrooms)
-"fb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/classrooms)
-"fc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/classrooms)
+"fa" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/classrooms)
+"fb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/classrooms)
+"fc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/classrooms)
"fd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/academy/classrooms)
"fe" = (/obj/structure/mineral_door/wood,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/academy/classrooms)
"ff" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "escape"; dir = 6},/area/awaymission/academy/classrooms)
@@ -282,14 +282,14 @@
"fv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/noticeboard{pixel_y = -32},/obj/item/weapon/paper{name = "Biology Lab"},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/academy/classrooms)
"fw" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/academy/classrooms)
"fx" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/academy/classrooms)
-"fy" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/classrooms)
+"fy" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/classrooms)
"fz" = (/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "escape"; dir = 6},/area/awaymission/academy/classrooms)
"fA" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/headmaster)
"fB" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/headmaster)
-"fC" = (/obj/machinery/door/airlock/plasma,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/headmaster)
+"fC" = (/obj/machinery/door/airlock/plasma,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
"fD" = (/turf/simulated/wall,/area/awaymission/academy/academyaft)
-"fE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
-"fF" = (/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
+"fE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
+"fF" = (/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
"fG" = (/obj/structure/grille,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable,/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft)
"fH" = (/obj/machinery/shieldwallgen,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaymission/academy/classrooms)
"fI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 1},/area/awaymission/academy/classrooms)
@@ -316,7 +316,7 @@
"gd" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/wiki/engineering_hacking,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms)
"ge" = (/obj/structure/bookcase,/turf/simulated/floor/wood,/area/awaymission/academy/classrooms)
"gf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/academy/academyaft)
-"gg" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
+"gg" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
"gh" = (/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms)
"gi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/recharger,/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms)
"gj" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/red,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms)
@@ -336,9 +336,9 @@
"gx" = (/obj/machinery/door/window{dir = 4},/obj/item/ammo_casing,/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaymission/academy/classrooms)
"gy" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
"gz" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms)
-"gA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
-"gB" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
-"gC" = (/obj/structure/table,/obj/item/weapon/paper{info = "Grade: A+ Educator's Notes: Excellent form."; name = "Summoning Midterm Exam"},/obj/item/weapon/gun/projectile/shotgun/combat,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms)
+"gA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
+"gB" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
+"gC" = (/obj/structure/table,/obj/item/weapon/paper{info = "Grade: A+ Educator's Notes: Excellent form."; name = "Summoning Midterm Exam"},/obj/item/weapon/gun/projectile/shotgun/automatic/combat,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms)
"gD" = (/obj/structure/table,/obj/item/weapon/gun/projectile/revolver/russian,/obj/item/weapon/paper{info = "Grade: B- Educator's Notes: Keep applying yourself, you're showing improvement."; name = "Summoning Midterm Exam"},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms)
"gE" = (/obj/structure/table,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms)
"gF" = (/obj/structure/window/reinforced,/obj/item/ammo_casing,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/awaymission/academy/classrooms)
@@ -348,9 +348,9 @@
"gJ" = (/obj/structure/stool,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms)
"gK" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaymission/academy/classrooms)
"gL" = (/obj/machinery/light/small{dir = 8},/mob/living/simple_animal/hostile/bear,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms)
-"gM" = (/obj/structure/mineral_door/iron,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/classrooms)
-"gN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
-"gO" = (/obj/machinery/door/airlock/gold{locked = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/classrooms)
+"gM" = (/obj/structure/mineral_door/iron,/turf/simulated/floor/carpet,/area/awaymission/academy/classrooms)
+"gN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
+"gO" = (/obj/machinery/door/airlock/gold{locked = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/classrooms)
"gP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms)
"gQ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms)
"gR" = (/obj/structure/table,/obj/item/weapon/gun/energy/floragun,/obj/item/weapon/paper{info = "Grade: D- Educator's Notes: SEE ME AFTER CLASS."; name = "Summoning Midterm Exam"},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms)
@@ -359,8 +359,8 @@
"gU" = (/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/awaymission/academy/classrooms)
"gV" = (/obj/structure/stool,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/awaymission/academy/classrooms)
"gW" = (/turf/simulated/wall/r_wall,/area/awaymission/academy/academyaft)
-"gX" = (/obj/structure/mineral_door/wood,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
-"gY" = (/obj/structure/mineral_door/wood,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
+"gX" = (/obj/structure/mineral_door/wood,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
+"gY" = (/obj/structure/mineral_door/wood,/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
"gZ" = (/turf/simulated/floor/plating,/area/awaymission/academy/academyaft)
"ha" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft)
"hb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft)
@@ -390,8 +390,8 @@
"hz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "green"; dir = 8},/area/awaymission/academy/academyaft)
"hA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/academy/academyaft)
"hB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{tag = "icon-green (EAST)"; icon_state = "green"; dir = 4},/area/awaymission/academy/academyaft)
-"hC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
-"hD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
+"hC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
+"hD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
"hE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/item/weapon/caution,/turf/simulated/floor/plasteel{tag = "icon-green (EAST)"; icon_state = "green"; dir = 4},/area/awaymission/academy/academyaft)
"hF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft)
"hG" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft)
@@ -416,7 +416,7 @@
"hZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/academy/academyaft)
"ia" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft)
"ib" = (/obj/structure/rack,/obj/item/stack/sheet/mineral/plasma{amount = 50},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft)
-"ic" = (/turf/simulated/floor/fancy/grass,/area/awaymission/academy/academyaft)
+"ic" = (/turf/simulated/floor/grass,/area/awaymission/academy/academyaft)
"id" = (/obj/structure/rack,/obj/item/weapon/circuitboard/telecomms/broadcaster,/obj/item/weapon/circuitboard/telecomms/receiver,/obj/item/weapon/circuitboard/telecomms/relay,/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/awaymission/academy/academyaft)
"ie" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/academy/academyaft)
"if" = (/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/awaymission/academy/academyaft)
@@ -451,10 +451,10 @@
"iI" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/wood,/area/awaymission/academy/academyaft)
"iJ" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/engine,/area/awaymission/academy/academyaft)
"iK" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft)
-"iL" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/beach_ball/holoball,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/awaymission/academy/academyaft)
+"iL" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/toy/beach_ball/holoball,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/awaymission/academy/academyaft)
"iM" = (/obj/structure/grille,/obj/structure/cable,/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft)
"iN" = (/obj/structure/grille,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft)
-"iO" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
+"iO" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
"iP" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft)
"iQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel/airless{tag = "icon-white (EAST)"; icon_state = "white"; dir = 4},/area/awaymission/academy/academyaft)
"iR" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/device/soulstone,/turf/simulated/floor/plasteel/airless{tag = "icon-whitered (EAST)"; icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft)
@@ -468,11 +468,11 @@
"iZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel/airless{tag = "icon-whitered (EAST)"; icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft)
"ja" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/academyaft)
"jb" = (/obj/structure/table,/obj/item/clothing/glasses/meson/truesight,/turf/simulated/floor/plasteel,/area/awaymission/academy/academyaft)
-"jc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
+"jc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
"jd" = (/obj/structure/noticeboard,/turf/simulated/wall,/area/awaymission/academy/academyaft)
-"je" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
+"je" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
"jf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel/airless{tag = "icon-white (EAST)"; icon_state = "white"; dir = 4},/area/awaymission/academy/academyaft)
-"jg" = (/obj/structure/table,/obj/item/organ/brain{name = "The preserved brain of Harry Houdini"},/turf/simulated/floor/plasteel/airless{tag = "icon-whitered (EAST)"; icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft)
+"jg" = (/obj/structure/table,/obj/item/organ/internal/brain{name = "The preserved brain of Harry Houdini"},/turf/simulated/floor/plasteel/airless{tag = "icon-whitered (EAST)"; icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft)
"jh" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/awaymission/academy/academyaft)
"ji" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellow"},/area/awaymission/academy/academyaft)
"jj" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/awaymission/academy/academyaft)
@@ -487,40 +487,40 @@
"js" = (/obj/structure/table,/obj/structure/window/reinforced,/obj/item/device/batterer,/turf/simulated/floor/plasteel/airless{tag = "icon-whitered (EAST)"; icon_state = "whitered"; dir = 4},/area/awaymission/academy/academyaft)
"jt" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area/space)
"ju" = (/obj/machinery/igniter,/turf/simulated/floor/plating,/area/awaymission/academy/academyaft)
-"jv" = (/obj/structure/window/reinforced,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
+"jv" = (/obj/structure/window/reinforced,/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
"jw" = (/obj/structure/grille,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms)
-"jx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
-"jy" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
-"jz" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
-"jA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
-"jB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
-"jC" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
+"jx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
+"jy" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
+"jz" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
+"jA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
+"jB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
+"jC" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
"jD" = (/turf/simulated/floor/plasteel{dir = 9; icon_state = "yellow"},/area/awaymission/academy/academyaft)
"jE" = (/obj/machinery/light,/turf/simulated/floor/plasteel{dir = 5; icon_state = "yellow"},/area/awaymission/academy/academyaft)
"jF" = (/obj/machinery/light,/turf/simulated/floor/plasteel{dir = 9; icon_state = "yellow"},/area/awaymission/academy/academyaft)
"jG" = (/turf/simulated/floor/plasteel{dir = 5; icon_state = "yellow"},/area/awaymission/academy/academyaft)
-"jH" = (/obj/machinery/door/airlock/hatch,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
-"jI" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academyaft)
+"jH" = (/obj/machinery/door/airlock/hatch,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
+"jI" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft)
"jJ" = (/turf/simulated/wall/r_wall,/area/awaymission/academy/academygate)
-"jK" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/fancy/grass,/area/awaymission/academy/academygate)
-"jL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academygate)
-"jM" = (/turf/simulated/floor/fancy/grass,/area/awaymission/academy/academygate)
-"jN" = (/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academygate)
+"jK" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/grass,/area/awaymission/academy/academygate)
+"jL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academygate)
+"jM" = (/turf/simulated/floor/grass,/area/awaymission/academy/academygate)
+"jN" = (/turf/simulated/floor/carpet,/area/awaymission/academy/academygate)
"jO" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms)
-"jP" = (/obj/structure/window/reinforced,/turf/simulated/floor/fancy/grass,/area/awaymission/academy/academygate)
-"jQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/window,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academygate)
-"jR" = (/obj/machinery/door/window,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academygate)
-"jS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academygate)
-"jT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academygate)
-"jU" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academygate)
+"jP" = (/obj/structure/window/reinforced,/turf/simulated/floor/grass,/area/awaymission/academy/academygate)
+"jQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/window,/turf/simulated/floor/carpet,/area/awaymission/academy/academygate)
+"jR" = (/obj/machinery/door/window,/turf/simulated/floor/carpet,/area/awaymission/academy/academygate)
+"jS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academygate)
+"jT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academygate)
+"jU" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academygate)
"jV" = (/obj/structure/cable,/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
"jW" = (/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
-"jX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academygate)
-"jY" = (/obj/machinery/power/apc{dir = 1; environ = 3; equipment = 3; locked = 0; req_access = ""},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academygate)
+"jX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academygate)
+"jY" = (/obj/machinery/power/apc{dir = 1; environ = 3; equipment = 3; locked = 0; req_access = ""},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/carpet,/area/awaymission/academy/academygate)
"jZ" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
"ka" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
"kb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
-"kc" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academygate)
+"kc" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academygate)
"kd" = (/obj/machinery/gateway{dir = 9},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
"ke" = (/obj/machinery/gateway{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
"kf" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
@@ -530,9 +530,9 @@
"kj" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
"kk" = (/obj/machinery/gateway,/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
"kl" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor/plating,/area/awaymission/academy/academygate)
-"km" = (/obj/machinery/light,/turf/simulated/floor/fancy/carpet,/area/awaymission/academy/academygate)
-"kn" = (/obj/machinery/door_control{id = "AcademyGate"; pixel_y = -24},/turf/simulated/floor/fancy/carpet{icon_state = "carpetsymbol"},/area/awaymission/academy/academygate)
-"ko" = (/turf/simulated/floor/fancy/carpet{icon_state = "carpetsymbol"},/area/awaymission/academy/academygate)
+"km" = (/obj/machinery/light,/turf/simulated/floor/carpet,/area/awaymission/academy/academygate)
+"kn" = (/obj/machinery/button/door{id = "AcademyGate"; pixel_y = -24},/turf/simulated/floor/carpet{icon_state = "carpetsymbol"},/area/awaymission/academy/academygate)
+"ko" = (/turf/simulated/floor/carpet{icon_state = "carpetsymbol"},/area/awaymission/academy/academygate)
"kp" = (/obj/machinery/door/poddoor/shutters{id = "AcademyGate"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/awaymission/academy/academygate)
"kq" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms)
"kr" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms)
diff --git a/_maps/RandomZLevels/beach.dmm b/_maps/RandomZLevels/beach.dmm
index 471e7e4291b..a82a5e826cc 100644
--- a/_maps/RandomZLevels/beach.dmm
+++ b/_maps/RandomZLevels/beach.dmm
@@ -33,7 +33,7 @@
"G" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/awaymission/beach)
"H" = (/turf/unsimulated/wall{tag = "icon-sandstone0"; icon_state = "sandstone0"},/area/awaymission/beach)
"I" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/awaymission/beach)
-"J" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/awaymission/beach)
+"J" = (/obj/item/toy/beach_ball,/turf/unsimulated/beach/sand,/area/awaymission/beach)
"K" = (/obj/structure/stool,/turf/unsimulated/beach/sand,/area/awaymission/beach)
"L" = (/mob/living/simple_animal/crab,/turf/unsimulated/beach/sand,/area/awaymission/beach)
"M" = (/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/awaymission/beach)
diff --git a/_maps/RandomZLevels/blackmarketpackers.dmm b/_maps/RandomZLevels/blackmarketpackers.dmm
index 377417f3715..9527d15a2d1 100644
--- a/_maps/RandomZLevels/blackmarketpackers.dmm
+++ b/_maps/RandomZLevels/blackmarketpackers.dmm
@@ -3,55 +3,55 @@
"ac" = (/turf/simulated/floor/plating/asteroid/airless,/area/awaymission)
"ad" = (/obj/effect/landmark/corpse/doctor,/turf/simulated/floor/plating/asteroid/airless,/area/awaymission)
"ae" = (/obj/item/weapon/circular_saw,/obj/structure/lattice,/turf/space,/area/space)
-"af" = (/turf/simulated/shuttle/wall{tag = "icon-swall4"; icon_state = "swall4"},/area/awaymission/BMPship/Fore)
-"ag" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"},/area/awaymission/BMPship/Fore)
-"ah" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"},/area/awaymission/BMPship/Fore)
-"ai" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/awaymission/BMPship/Fore)
+"af" = (/turf/simulated/wall/shuttle{tag = "icon-swall4"; icon_state = "swall4"},/area/awaymission/BMPship/Fore)
+"ag" = (/turf/simulated/wall/shuttle{tag = "icon-swall12"; icon_state = "swall12"},/area/awaymission/BMPship/Fore)
+"ah" = (/turf/simulated/wall/shuttle{tag = "icon-swall14"; icon_state = "swall14"},/area/awaymission/BMPship/Fore)
+"ai" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/awaymission/BMPship/Fore)
"aj" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/engine,/area/awaymission/BMPship/Fore)
"ak" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/simulated/floor/engine,/area/awaymission/BMPship/Fore)
"al" = (/turf/simulated/floor/engine,/area/awaymission/BMPship/Fore)
-"am" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/awaymission/BMPship/Fore)
+"am" = (/turf/simulated/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/awaymission/BMPship/Fore)
"an" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/awaymission/BMPship/Fore)
-"ao" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/awaymission/BMPship/Fore)
+"ao" = (/turf/simulated/floor/plating,/turf/simulated/wall/shuttle{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/awaymission/BMPship/Fore)
"ap" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/engine,/area/awaymission/BMPship/Fore)
"aq" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plating,/area/awaymission/BMPship/Fore)
"ar" = (/turf/simulated/floor/plating,/area/awaymission/BMPship/Fore)
"as" = (/obj/structure/lattice,/turf/space,/area/space)
"at" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/engine,/area/awaymission/BMPship/Fore)
"au" = (/obj/machinery/light/small,/turf/simulated/floor/engine,/area/awaymission/BMPship/Fore)
-"av" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"},/area/awaymission/BMPship/Fore)
-"aw" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/awaymission/BMPship/Aft)
-"ax" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"},/area/awaymission/BMPship/Aft)
-"ay" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"},/area/awaymission/BMPship/Aft)
-"az" = (/turf/simulated/shuttle/wall{tag = "icon-swall13"; icon_state = "swall13"},/area/awaymission/BMPship/Aft)
-"aA" = (/turf/simulated/shuttle/wall{tag = "icon-swall8"; icon_state = "swall8"},/area/awaymission/BMPship/Aft)
+"av" = (/turf/simulated/wall/shuttle{tag = "icon-swall7"; icon_state = "swall7"},/area/awaymission/BMPship/Fore)
+"aw" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/awaymission/BMPship/Aft)
+"ax" = (/turf/simulated/wall/shuttle{tag = "icon-swall12"; icon_state = "swall12"},/area/awaymission/BMPship/Aft)
+"ay" = (/turf/simulated/wall/shuttle{tag = "icon-swall14"; icon_state = "swall14"},/area/awaymission/BMPship/Aft)
+"az" = (/turf/simulated/wall/shuttle{tag = "icon-swall13"; icon_state = "swall13"},/area/awaymission/BMPship/Aft)
+"aA" = (/turf/simulated/wall/shuttle{tag = "icon-swall8"; icon_state = "swall8"},/area/awaymission/BMPship/Aft)
"aB" = (/obj/machinery/door/airlock/silver{locked = 1},/turf/simulated/floor/plating{tag = "icon-panelscorched"; icon_state = "panelscorched"},/area/awaymission/BMPship/Aft)
-"aC" = (/turf/simulated/shuttle/wall{tag = "icon-swall4"; icon_state = "swall4"},/area/awaymission/BMPship/Aft)
-"aD" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/awaymission/BMPship/Aft)
-"aE" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/awaymission/BMPship/Aft)
-"aF" = (/turf/simulated/shuttle/wall,/area/awaymission/BMPship/Aft)
+"aC" = (/turf/simulated/wall/shuttle{tag = "icon-swall4"; icon_state = "swall4"},/area/awaymission/BMPship/Aft)
+"aD" = (/turf/simulated/wall/shuttle{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/awaymission/BMPship/Aft)
+"aE" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/awaymission/BMPship/Aft)
+"aF" = (/turf/simulated/wall/shuttle,/area/awaymission/BMPship/Aft)
"aG" = (/obj/structure/stool/bed/roller,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
"aH" = (/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
"aI" = (/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/restraints/handcuffs,/obj/structure/closet/crate,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
-"aJ" = (/obj/item/weapon/scalpel,/obj/structure/closet/crate,/obj/item/weapon/tank/anesthetic,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
+"aJ" = (/obj/item/weapon/scalpel,/obj/structure/closet/crate,/obj/item/weapon/tank/internals/anesthetic,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
"aK" = (/obj/item/bodybag,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
"aL" = (/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
"aM" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
"aN" = (/obj/structure/optable,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
"aO" = (/obj/machinery/computer/operating,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
-"aP" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"},/area/awaymission/BMPship/Aft)
+"aP" = (/turf/simulated/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"},/area/awaymission/BMPship/Aft)
"aQ" = (/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHWEST)"; icon_state = "warnplate"; dir = 9},/area/awaymission/BMPship/Aft)
-"aR" = (/obj/structure/closet/crate/freezer,/obj/item/organ/appendix,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship/Aft)
-"aS" = (/obj/structure/closet/crate/freezer,/obj/item/organ/brain,/obj/item/organ/appendix,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship/Aft)
+"aR" = (/obj/structure/closet/crate/freezer,/obj/item/organ/internal/appendix,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship/Aft)
+"aS" = (/obj/structure/closet/crate/freezer,/obj/item/organ/internal/brain,/obj/item/organ/internal/appendix,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship/Aft)
"aT" = (/obj/structure/table,/obj/item/stack/packageWrap,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship/Aft)
"aU" = (/obj/structure/table,/obj/item/weapon/storage/box,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship/Aft)
"aV" = (/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship/Aft)
-"aW" = (/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHEAST)"; icon_state = "warnplate"; dir = 5},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/awaymission/BMPship/Aft)
+"aW" = (/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHEAST)"; icon_state = "warnplate"; dir = 5},/turf/simulated/wall/shuttle{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/awaymission/BMPship/Aft)
"aX" = (/turf/simulated/floor/plating/airless{tag = "icon-platingdmg2"; icon_state = "platingdmg2"},/area/awaymission/BMPship/Aft)
"aY" = (/turf/simulated/floor/plating/airless{tag = "icon-platingdmg3"; icon_state = "platingdmg3"},/area/awaymission/BMPship/Aft)
"aZ" = (/obj/effect/gibspawner/generic,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
"ba" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
-"bb" = (/turf/simulated/shuttle/wall{tag = "icon-swall1"; icon_state = "swall1"},/area/awaymission/BMPship/Aft)
+"bb" = (/turf/simulated/wall/shuttle{tag = "icon-swall1"; icon_state = "swall1"},/area/awaymission/BMPship/Aft)
"bc" = (/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/awaymission/BMPship/Aft)
"bd" = (/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
"be" = (/obj/item/weapon/storage/box,/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
@@ -63,12 +63,12 @@
"bk" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Fore)
"bl" = (/obj/structure/table/wood,/obj/item/stack/spacecash/c500,/obj/item/stack/spacecash/c100,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor/wood,/area/awaymission/BMPship/Fore)
"bm" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/yellow,/turf/simulated/floor/wood,/area/awaymission/BMPship/Fore)
-"bn" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"},/area/awaymission/BMPship/Fore)
+"bn" = (/turf/simulated/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"},/area/awaymission/BMPship/Fore)
"bo" = (/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHWEST)"; icon_state = "warnplate"; dir = 9},/area/awaymission/BMPship/Fore)
"bp" = (/obj/structure/rack,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship/Fore)
"bq" = (/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/BMPship/Fore)
"br" = (/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHEAST)"; icon_state = "warnplate"; dir = 5},/area/awaymission/BMPship/Fore)
-"bs" = (/obj/structure/sign/vacuum,/turf/simulated/shuttle/wall{tag = "icon-swall1"; icon_state = "swall1"},/area/awaymission/BMPship/Fore)
+"bs" = (/obj/structure/sign/vacuum,/turf/simulated/wall/shuttle{tag = "icon-swall1"; icon_state = "swall1"},/area/awaymission/BMPship/Fore)
"bt" = (/turf/simulated/floor/plating/airless{tag = "icon-platingdmg1"; icon_state = "platingdmg1"},/area/awaymission/BMPship/Aft)
"bu" = (/turf/simulated/floor/plating/airless{tag = "icon-panelscorched"; icon_state = "panelscorched"},/area/awaymission/BMPship/Aft)
"bv" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/item/clothing/glasses/regular/hipster,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
@@ -86,7 +86,7 @@
"bH" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/wood,/area/awaymission/BMPship/Fore)
"bI" = (/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/awaymission/BMPship/Fore)
"bJ" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaymission/BMPship/Fore)
-"bK" = (/turf/simulated/shuttle/wall{tag = "icon-swall2"; icon_state = "swall2"},/area/awaymission/BMPship/Aft)
+"bK" = (/turf/simulated/wall/shuttle{tag = "icon-swall2"; icon_state = "swall2"},/area/awaymission/BMPship/Aft)
"bL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
"bM" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
"bN" = (/obj/machinery/gateway,/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
@@ -97,10 +97,10 @@
"bS" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/awaymission/BMPship/Fore)
"bT" = (/obj/machinery/light/small,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/awaymission/BMPship/Fore)
"bU" = (/turf/simulated/floor/plating{tag = "icon-warnplate (SOUTHEAST)"; icon_state = "warnplate"; dir = 6},/area/awaymission/BMPship/Fore)
-"bV" = (/turf/simulated/shuttle/wall{tag = "icon-swall2"; icon_state = "swall2"},/area/awaymission/BMPship/Fore)
-"bW" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"},/area/awaymission/BMPship/Aft)
+"bV" = (/turf/simulated/wall/shuttle{tag = "icon-swall2"; icon_state = "swall2"},/area/awaymission/BMPship/Fore)
+"bW" = (/turf/simulated/wall/shuttle{tag = "icon-swall11"; icon_state = "swall11"},/area/awaymission/BMPship/Aft)
"bX" = (/obj/machinery/light,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
-"bY" = (/obj/machinery/door_control{id = "packerMed"; pixel_y = -24},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
+"bY" = (/obj/machinery/button/door{id = "packerMed"; pixel_y = -24},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
"bZ" = (/obj/machinery/sleeper{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
"ca" = (/obj/machinery/sleep_console,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
"cb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
@@ -108,15 +108,15 @@
"cd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
"ce" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/item/weapon/storage/box,/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
"cf" = (/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/awaymission/BMPship/Aft)
-"cg" = (/turf/simulated/shuttle/wall{tag = "icon-swallc2"; icon_state = "swallc2"},/area/awaymission/BMPship/Fore)
-"ch" = (/turf/simulated/shuttle/wall{tag = "icon-swall8"; icon_state = "swall8"},/area/awaymission/BMPship/Fore)
+"cg" = (/turf/simulated/wall/shuttle{tag = "icon-swallc2"; icon_state = "swallc2"},/area/awaymission/BMPship/Fore)
+"ch" = (/turf/simulated/wall/shuttle{tag = "icon-swall8"; icon_state = "swall8"},/area/awaymission/BMPship/Fore)
"ci" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plasteel{tag = "icon-carpetside (NORTH)"; icon_state = "carpetside"; dir = 1},/area/awaymission/BMPship/Fore)
-"cj" = (/turf/simulated/shuttle/wall{tag = "icon-swall1"; icon_state = "swall1"},/area/awaymission/BMPship/Fore)
+"cj" = (/turf/simulated/wall/shuttle{tag = "icon-swall1"; icon_state = "swall1"},/area/awaymission/BMPship/Fore)
"ck" = (/obj/machinery/door/airlock/silver,/turf/simulated/floor/plasteel{tag = "icon-carpetside (NORTH)"; icon_state = "carpetside"; dir = 1},/area/awaymission/BMPship/Fore)
-"cl" = (/turf/simulated/shuttle/wall{tag = "icon-swallc2"; icon_state = "swallc2"},/area/awaymission/BMPship/Midship)
-"cm" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"},/area/awaymission/BMPship/Midship)
-"cn" = (/turf/simulated/shuttle/wall{tag = "icon-swall13"; icon_state = "swall13"},/area/awaymission/BMPship/Midship)
-"co" = (/turf/simulated/shuttle/wall{tag = "icon-swall15"; icon_state = "swall15"},/area/awaymission/BMPship/Aft)
+"cl" = (/turf/simulated/wall/shuttle{tag = "icon-swallc2"; icon_state = "swallc2"},/area/awaymission/BMPship/Midship)
+"cm" = (/turf/simulated/wall/shuttle{tag = "icon-swall12"; icon_state = "swall12"},/area/awaymission/BMPship/Midship)
+"cn" = (/turf/simulated/wall/shuttle{tag = "icon-swall13"; icon_state = "swall13"},/area/awaymission/BMPship/Midship)
+"co" = (/turf/simulated/wall/shuttle{tag = "icon-swall15"; icon_state = "swall15"},/area/awaymission/BMPship/Aft)
"cp" = (/obj/machinery/door/poddoor/shutters{id = "packerMed"},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Aft)
"cq" = (/obj/structure/largecrate,/turf/simulated/floor/plating{tag = "icon-warnplate (SOUTHWEST)"; icon_state = "warnplate"; dir = 10},/area/awaymission/BMPship/Aft)
"cr" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/awaymission/BMPship/Aft)
@@ -124,15 +124,15 @@
"ct" = (/obj/structure/kitchenspike,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/awaymission/BMPship/Aft)
"cu" = (/obj/structure/closet/crate,/obj/item/device/analyzer,/obj/item/stack/spacecash/c10,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/awaymission/BMPship/Aft)
"cv" = (/obj/structure/closet/crate,/obj/item/stack/spacecash/c1000,/obj/item/stack/spacecash/c200,/obj/item/stack/spacecash/c500,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/awaymission/BMPship/Aft)
-"cw" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice,/obj/item/organ/appendix,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/awaymission/BMPship/Aft)
-"cx" = (/obj/machinery/door_control{id = "packerCargo"; pixel_y = -24},/obj/machinery/light/small,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/awaymission/BMPship/Aft)
+"cw" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice,/obj/item/organ/internal/appendix,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/awaymission/BMPship/Aft)
+"cx" = (/obj/machinery/button/door{id = "packerCargo"; pixel_y = -24},/obj/machinery/light/small,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/awaymission/BMPship/Aft)
"cy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/awaymission/BMPship/Aft)
"cz" = (/turf/simulated/floor/plating{tag = "icon-warnplate (SOUTHEAST)"; icon_state = "warnplate"; dir = 6},/area/awaymission/BMPship/Aft)
-"cA" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/awaymission/BMPship/Fore)
-"cB" = (/turf/simulated/floor/plasteel{tag = "icon-carpet"; icon_state = "carpet"},/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/awaymission/BMPship/Fore)
+"cA" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/awaymission/BMPship/Fore)
+"cB" = (/turf/simulated/floor/plasteel{tag = "icon-carpet"; icon_state = "carpet"},/turf/simulated/wall/shuttle{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/awaymission/BMPship/Fore)
"cC" = (/turf/simulated/floor/plasteel{tag = "icon-carpet"; icon_state = "carpet"},/area/awaymission/BMPship/Fore)
"cD" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; locked = 0; req_access = ""},/turf/simulated/floor/plasteel{tag = "icon-carpet"; icon_state = "carpet"},/area/awaymission/BMPship/Fore)
-"cE" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/awaymission/BMPship/Midship)
+"cE" = (/turf/simulated/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/awaymission/BMPship/Midship)
"cF" = (/obj/structure/table,/obj/item/weapon/screwdriver,/obj/item/weapon/screwdriver,/obj/item/weapon/paper{info = "The next person who takes one of my screwdrivers gets stabbed with one. They are MINE. - Love, Madsen"; name = "scribbled note"},/obj/item/weapon/screwdriver,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"cG" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"cH" = (/obj/machinery/hydroponics,/turf/simulated/floor/plasteel{tag = "icon-green (WEST)"; icon_state = "green"; dir = 8},/area/awaymission/BMPship/Midship)
@@ -141,16 +141,16 @@
"cK" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/awaymission/BMPship/Midship)
"cL" = (/obj/machinery/hydroponics,/turf/simulated/floor/plasteel{tag = "icon-green (EAST)"; icon_state = "green"; dir = 4},/area/awaymission/BMPship/Midship)
"cM" = (/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
-"cN" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"},/area/awaymission/BMPship/Midship)
-"cO" = (/obj/structure/table,/obj/item/weapon/butch,/obj/item/weapon/reagent_containers/food/drinks/beer,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/plasteel{tag = "icon-barber"; icon_state = "barber"},/area/awaymission/BMPship/Midship)
+"cN" = (/turf/simulated/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"},/area/awaymission/BMPship/Midship)
+"cO" = (/obj/structure/table,/obj/item/weapon/kitchen/knife/butcher,/obj/item/weapon/reagent_containers/food/drinks/beer,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/plasteel{tag = "icon-barber"; icon_state = "barber"},/area/awaymission/BMPship/Midship)
"cP" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/plasteel{tag = "icon-barber"; icon_state = "barber"},/area/awaymission/BMPship/Midship)
"cQ" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor/plasteel{tag = "icon-barber"; icon_state = "barber"},/area/awaymission/BMPship/Midship)
"cR" = (/obj/machinery/processor,/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-barber"; icon_state = "barber"},/area/awaymission/BMPship/Midship)
"cS" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
-"cT" = (/obj/structure/table,/obj/item/weapon/kitchenknife,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
+"cT" = (/obj/structure/table,/obj/item/weapon/kitchen/knife,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"cU" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"cV" = (/obj/structure/table,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
-"cW" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"},/area/awaymission/BMPship/Aft)
+"cW" = (/turf/simulated/wall/shuttle{tag = "icon-swall7"; icon_state = "swall7"},/area/awaymission/BMPship/Aft)
"cX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor/shutters{id = "packerCargo"},/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
"cY" = (/turf/simulated/floor/plasteel{tag = "icon-carpet15-13 (EAST)"; icon_state = "carpet15-13"; dir = 4},/area/awaymission/BMPship/Fore)
"cZ" = (/turf/simulated/floor/plasteel{tag = "icon-carpet15-7 (EAST)"; icon_state = "carpet15-7"; dir = 4},/area/awaymission/BMPship/Fore)
@@ -158,11 +158,11 @@
"db" = (/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"dc" = (/turf/simulated/floor/plasteel,/area/awaymission/BMPship/Midship)
"dd" = (/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor/plasteel,/area/awaymission/BMPship/Midship)
-"de" = (/turf/simulated/shuttle/wall{tag = "icon-swall1"; icon_state = "swall1"},/area/awaymission/BMPship/Midship)
+"de" = (/turf/simulated/wall/shuttle{tag = "icon-swall1"; icon_state = "swall1"},/area/awaymission/BMPship/Midship)
"df" = (/turf/simulated/floor/plasteel{tag = "icon-barber"; icon_state = "barber"},/area/awaymission/BMPship/Midship)
"dg" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-barber"; icon_state = "barber"},/area/awaymission/BMPship/Midship)
"dh" = (/obj/structure/stool,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
-"di" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/awaymission/BMPship/Aft)
+"di" = (/turf/simulated/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/awaymission/BMPship/Aft)
"dj" = (/obj/structure/kitchenspike,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/BMPship/Aft)
"dk" = (/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/BMPship/Aft)
"dl" = (/obj/machinery/door/airlock/silver,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/BMPship/Aft)
@@ -172,7 +172,7 @@
"dp" = (/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/awaymission/BMPship/Aft)
"dq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/BMPship/Aft)
"dr" = (/turf/simulated/floor/plasteel,/area/awaymission/BMPship/Aft)
-"ds" = (/turf/simulated/shuttle/wall{tag = "icon-swallc3"; icon_state = "swallc3"},/area/awaymission/BMPship/Aft)
+"ds" = (/turf/simulated/wall/shuttle{tag = "icon-swallc3"; icon_state = "swallc3"},/area/awaymission/BMPship/Aft)
"dt" = (/turf/simulated/floor/plasteel{tag = "icon-carpet15-14 (EAST)"; icon_state = "carpet15-14"; dir = 4},/area/awaymission/BMPship/Fore)
"du" = (/turf/simulated/floor/plasteel{tag = "icon-carpet15-11 (EAST)"; icon_state = "carpet15-11"; dir = 4},/area/awaymission/BMPship/Fore)
"dv" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel{tag = "icon-carpet15-11 (EAST)"; icon_state = "carpet15-11"; dir = 4},/area/awaymission/BMPship/Fore)
@@ -201,7 +201,7 @@
"dS" = (/turf/simulated/floor/plasteel{tag = "icon-green"; icon_state = "green"},/area/awaymission/BMPship/Midship)
"dT" = (/obj/machinery/seed_extractor,/obj/item/seeds/walkingmushroommycelium,/turf/simulated/floor/plasteel{tag = "icon-green"; icon_state = "green"},/area/awaymission/BMPship/Midship)
"dU" = (/obj/machinery/hydroponics,/turf/simulated/floor/plasteel{tag = "icon-green (SOUTHEAST)"; icon_state = "green"; dir = 6},/area/awaymission/BMPship/Midship)
-"dV" = (/turf/simulated/shuttle/wall{tag = "icon-swall2"; icon_state = "swall2"},/area/awaymission/BMPship/Midship)
+"dV" = (/turf/simulated/wall/shuttle{tag = "icon-swall2"; icon_state = "swall2"},/area/awaymission/BMPship/Midship)
"dW" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"dX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"dY" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
@@ -244,15 +244,15 @@
"eJ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"eK" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; locked = 0; req_access = ""},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"eL" = (/turf/simulated/floor/plasteel{tag = "icon-loadingareadirty2 (EAST)"; icon_state = "loadingareadirty2"; dir = 4},/area/awaymission/BMPship/Midship)
-"eM" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey1"},/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Midship)
-"eN" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey1"},/obj/structure/plasticflaps,/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Midship)
-"eO" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/deliveryChute{dir = 8},/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Midship)
+"eM" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey1"},/turf/simulated/floor/plating,/area/awaymission/BMPship/Midship)
+"eN" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey1"},/obj/structure/plasticflaps,/turf/simulated/floor/plating,/area/awaymission/BMPship/Midship)
+"eO" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/deliveryChute{dir = 8},/turf/simulated/floor/plating,/area/awaymission/BMPship/Midship)
"eP" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/awaymission/BMPship/Midship)
"eQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"eR" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
-"eS" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
-"eT" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
-"eU" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
+"eS" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
+"eT" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
+"eU" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
"eV" = (/obj/structure/rack,/obj/item/weapon/storage/box/lights,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaymission/BMPship/Aft)
"eW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/awaymission/BMPship/Aft)
"eX" = (/obj/machinery/power/smes/magical{desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
@@ -273,13 +273,13 @@
"fm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Aft)
"fn" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/BMPship/Aft)
"fo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/BMPship/Aft)
-"fp" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/disposaloutlet{dir = 4},/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
-"fq" = (/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
-"fr" = (/obj/effect/gibspawner/human,/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
-"fs" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
+"fp" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/disposaloutlet{dir = 4},/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
+"fq" = (/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
+"fr" = (/obj/effect/gibspawner/human,/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
+"fs" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
"ft" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaymission/BMPship/Aft)
"fu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaymission/BMPship/Aft)
-"fv" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/awaymission/BMPship/Aft)
+"fv" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/awaymission/BMPship/Aft)
"fw" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{tag = "icon-carpet15-7 (EAST)"; icon_state = "carpet15-7"; dir = 4},/area/awaymission/BMPship/Fore)
"fx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{tag = "icon-carpet15-13 (EAST)"; icon_state = "carpet15-13"; dir = 4},/area/awaymission/BMPship/Fore)
"fy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{tag = "icon-carpet15-7 (EAST)"; icon_state = "carpet15-7"; dir = 4},/area/awaymission/BMPship/Fore)
@@ -289,8 +289,8 @@
"fC" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"fD" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"fE" = (/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Aft)
-"fF" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
-"fG" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
+"fF" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
+"fG" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
"fH" = (/obj/structure/rack,/obj/item/weapon/stock_parts/cell/high,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaymission/BMPship/Aft)
"fI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaymission/BMPship/Aft)
"fJ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/BMPship/Fore)
@@ -306,7 +306,7 @@
"fT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Aft)
"fU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/BMPship/Aft)
"fV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/BMPship/Aft)
-"fW" = (/obj/effect/gibspawner/generic,/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
+"fW" = (/obj/effect/gibspawner/generic,/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
"fX" = (/obj/structure/rack,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaymission/BMPship/Aft)
"fY" = (/obj/machinery/power/smes/magical{desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit"},/obj/structure/cable,/obj/structure/cable,/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
"fZ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaymission/BMPship/Aft)
@@ -318,27 +318,27 @@
"gf" = (/obj/item/weapon/wrench,/turf/simulated/floor/plating,/area/awaymission/BMPship/Midship)
"gg" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"gh" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Aft)
-"gi" = (/obj/structure/mopbucket,/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
-"gj" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/kitchenknife,/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
+"gi" = (/obj/structure/mopbucket,/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
+"gj" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/kitchen/knife,/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
"gk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/weapon/stock_parts/cell/high,/turf/simulated/floor/plasteel,/area/awaymission/BMPship/Aft)
-"gl" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/awaymission/BMPship/Fore)
+"gl" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/awaymission/BMPship/Fore)
"gm" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plasteel{tag = "icon-carpetside"; icon_state = "carpetside"},/area/awaymission/BMPship/Fore)
"gn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plasteel{tag = "icon-carpetside"; icon_state = "carpetside"},/area/awaymission/BMPship/Fore)
-"go" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/awaymission/BMPship/Midship)
+"go" = (/turf/simulated/wall/shuttle{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/awaymission/BMPship/Midship)
"gp" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-panelscorched"; icon_state = "panelscorched"},/area/awaymission/BMPship/Midship)
"gq" = (/obj/structure/kitchenspike,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"gr" = (/turf/simulated/floor/plasteel{tag = "icon-loadingareadirty1 (EAST)"; icon_state = "loadingareadirty1"; dir = 4},/area/awaymission/BMPship/Midship)
-"gs" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/obj/item/weapon/kitchenknife,/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Midship)
-"gt" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/obj/structure/plasticflaps,/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Midship)
-"gu" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Midship)
+"gs" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/obj/item/weapon/kitchen/knife,/turf/simulated/floor/plating,/area/awaymission/BMPship/Midship)
+"gt" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/obj/structure/plasticflaps,/turf/simulated/floor/plating,/area/awaymission/BMPship/Midship)
+"gu" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/turf/simulated/floor/plating,/area/awaymission/BMPship/Midship)
"gv" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
-"gw" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
-"gx" = (/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
-"gy" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
+"gw" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
+"gx" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
+"gy" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
"gz" = (/obj/item/stack/cable_coil,/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
"gA" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaymission/BMPship/Aft)
"gB" = (/obj/item/stack/sheet/mineral/uranium{amount = 50},/turf/simulated/floor/engine,/area/awaymission/BMPship/Aft)
-"gC" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/space)
+"gC" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/space)
"gD" = (/turf/simulated/floor/plating/airless{tag = "icon-platingdmg1"; icon_state = "platingdmg1"},/area/awaymission/BMPship/Fore)
"gE" = (/obj/structure/lattice,/turf/space,/area/awaymission/BMPship/Fore)
"gF" = (/turf/simulated/floor/plating/airless{tag = "icon-platingdmg3"; icon_state = "platingdmg3"},/area/awaymission/BMPship/Fore)
@@ -346,7 +346,7 @@
"gH" = (/obj/item/weapon/shard{icon_state = "small"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Fore)
"gI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless{tag = "icon-panelscorched"; icon_state = "panelscorched"},/area/awaymission/BMPship/Fore)
"gJ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless{tag = "icon-platingdmg3"; icon_state = "platingdmg3"},/area/awaymission/BMPship/Fore)
-"gK" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/item/weapon/kitchenknife,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
+"gK" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/item/weapon/kitchen/knife,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"gL" = (/obj/machinery/conveyor_switch/oneway{id = "meatConvey2"},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
"gM" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/BMPship/Aft)
"gN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/BMPship/Aft)
@@ -364,9 +364,9 @@
"gZ" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/BMPship/Aft)
"ha" = (/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/BMPship/Aft)
"hb" = (/obj/structure/reagent_dispensers,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/BMPship/Aft)
-"hc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/shuttle/plating,/area/awaymission/BMPship/Aft)
-"hd" = (/turf/simulated/shuttle/wall{tag = "icon-swallc2"; icon_state = "swallc2"},/area/awaymission/BMPship/Aft)
-"he" = (/turf/simulated/floor/plating/airless{tag = "icon-platingdmg2"; icon_state = "platingdmg2"},/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/awaymission/BMPship/Fore)
+"hc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/awaymission/BMPship/Aft)
+"hd" = (/turf/simulated/wall/shuttle{tag = "icon-swallc2"; icon_state = "swallc2"},/area/awaymission/BMPship/Aft)
+"he" = (/turf/simulated/floor/plating/airless{tag = "icon-platingdmg2"; icon_state = "platingdmg2"},/turf/simulated/wall/shuttle{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/awaymission/BMPship/Fore)
"hf" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor/plating/airless{tag = "icon-panelscorched"; icon_state = "panelscorched"},/area/awaymission/BMPship/Fore)
"hg" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor/plating/airless{tag = "icon-platingdmg1"; icon_state = "platingdmg1"},/area/awaymission/BMPship/Fore)
"hh" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/BMPship/Midship)
@@ -377,14 +377,14 @@
"hm" = (/obj/machinery/door/unpowered/shuttle,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/BMPship/Aft)
"hn" = (/turf/simulated/mineral/random,/area/awaymission)
"ho" = (/obj/item/device/multitool,/turf/simulated/floor/plating/airless{tag = "icon-platingdmg2"; icon_state = "platingdmg2"},/area/awaymission)
-"hp" = (/turf/simulated/shuttle/wall{tag = "icon-swallc3"; icon_state = "swallc3"},/area/awaymission/BMPship/Fore)
-"hq" = (/turf/simulated/shuttle/wall{tag = "icon-swallc1"; icon_state = "swallc1"},/area/awaymission/BMPship/Fore)
+"hp" = (/turf/simulated/wall/shuttle{tag = "icon-swallc3"; icon_state = "swallc3"},/area/awaymission/BMPship/Fore)
+"hq" = (/turf/simulated/wall/shuttle{tag = "icon-swallc1"; icon_state = "swallc1"},/area/awaymission/BMPship/Fore)
"hr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/silver,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Fore)
-"hs" = (/turf/simulated/shuttle/wall{tag = "icon-swallc3"; icon_state = "swallc3"},/area/awaymission/BMPship/Midship)
-"ht" = (/turf/simulated/shuttle/wall,/area/awaymission/BMPship/Midship)
+"hs" = (/turf/simulated/wall/shuttle{tag = "icon-swallc3"; icon_state = "swallc3"},/area/awaymission/BMPship/Midship)
+"ht" = (/turf/simulated/wall/shuttle,/area/awaymission/BMPship/Midship)
"hu" = (/turf/simulated/mineral/random,/area/awaymission/BMPship/Midship)
-"hv" = (/turf/simulated/shuttle/wall{tag = "icon-swall4"; icon_state = "swall4"},/area/awaymission/BMPship/Midship)
-"hw" = (/turf/simulated/shuttle/wall{tag = "icon-swall15"; icon_state = "swall15"},/area/awaymission/BMPship/Midship)
+"hv" = (/turf/simulated/wall/shuttle{tag = "icon-swall4"; icon_state = "swall4"},/area/awaymission/BMPship/Midship)
+"hw" = (/turf/simulated/wall/shuttle{tag = "icon-swall15"; icon_state = "swall15"},/area/awaymission/BMPship/Midship)
"hx" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel,/area/awaymission/BMPship/Aft)
"hy" = (/obj/structure/stool,/turf/simulated/floor/plasteel,/area/awaymission/BMPship/Aft)
"hz" = (/obj/structure/table,/obj/item/weapon/paper{info = "DEAR DAIRY: So we was doing our typpical route when the captain says we've been picking up weird signals on some backwatter planet. Madsen wanted to stay on course but he ain't the captain, so we went out of the way to check it out. There was lots of rocks on the way, but we got to the planet fine. Found a big fancy camp with nobody around and this big metal donut thing with NT stamps all over it right in the middle. Case of beer too. Captain reckons we can pass it off to some buyer in the Syndicate. Ingram says it's bad luck and that someone is going to come look for it but it sounds like better money than selling bad meat to jerky companies."; name = "Old Diary"},/turf/simulated/floor/plasteel,/area/awaymission/BMPship/Aft)
@@ -397,13 +397,13 @@
"hG" = (/turf/simulated/floor/plating/asteroid/airless,/area/awaymission/BMPship/Fore)
"hH" = (/obj/structure/rack,/turf/simulated/floor/plating/airless,/area/awaymission/BMPship/Fore)
"hI" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/asteroid/airless,/area/awaymission/BMPship/Fore)
-"hJ" = (/turf/simulated/shuttle/wall,/area/awaymission)
-"hK" = (/turf/simulated/shuttle/wall{tag = "icon-swall1"; icon_state = "swall1"},/area/awaymission)
+"hJ" = (/turf/simulated/wall/shuttle,/area/awaymission)
+"hK" = (/turf/simulated/wall/shuttle{tag = "icon-swall1"; icon_state = "swall1"},/area/awaymission)
"hL" = (/turf/simulated/floor/plating/airless,/area/awaymission)
"hM" = (/turf/simulated/floor/plating/airless{tag = "icon-platingdmg1"; icon_state = "platingdmg1"},/area/awaymission)
"hN" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission)
"hO" = (/turf/simulated/floor/plating{tag = "icon-platingdmg3"; icon_state = "platingdmg3"},/area/awaymission)
-"hP" = (/obj/item/apc_frame,/turf/simulated/floor/plating/airless,/area/awaymission)
+"hP" = (/obj/item/wallframe/apc,/turf/simulated/floor/plating/airless,/area/awaymission)
"hQ" = (/obj/structure/ore_box,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission)
"hR" = (/obj/item/stack/cable_coil{amount = 5},/turf/simulated/floor/plating/airless,/area/awaymission)
"hS" = (/obj/structure/ore_box,/turf/simulated/floor/plating/airless,/area/awaymission)
@@ -434,8 +434,8 @@
"ir" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/BMPship/Aft)
"is" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/BMPship/Aft)
"it" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area/space)
-"iu" = (/turf/simulated/shuttle/wall{tag = "icon-swall13"; icon_state = "swall13"},/area/awaymission/BMPship/Fore)
-"iv" = (/turf/simulated/shuttle/wall,/area/awaymission/BMPship/Fore)
+"iu" = (/turf/simulated/wall/shuttle{tag = "icon-swall13"; icon_state = "swall13"},/area/awaymission/BMPship/Fore)
+"iv" = (/turf/simulated/wall/shuttle,/area/awaymission/BMPship/Fore)
"iw" = (/turf/simulated/floor/plating/airless{tag = "icon-panelscorched"; icon_state = "panelscorched"},/area/awaymission)
"ix" = (/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel,/area/awaymission/BMPship/Aft)
"iy" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/plasteel,/area/awaymission/BMPship/Aft)
@@ -447,16 +447,16 @@
"iE" = (/obj/structure/closet/crate,/obj/item/stack/spacecash/c10,/obj/item/stack/spacecash/c200,/turf/simulated/floor/plasteel,/area/awaymission/BMPship/Aft)
"iF" = (/obj/structure/closet/crate,/obj/item/stack/spacecash/c10,/turf/simulated/floor/plasteel,/area/awaymission/BMPship/Aft)
"iG" = (/obj/structure/sink{dir = 2},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/awaymission/BMPship/Aft)
-"iH" = (/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/awaymission/BMPship/Aft)
-"iI" = (/obj/item/clothing/gloves/fyellow,/turf/simulated/floor/plating/asteroid/airless,/area/awaymission)
-"iJ" = (/turf/simulated/shuttle/wall{tag = "icon-swall4"; icon_state = "swall4"},/area/awaymission)
-"iK" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"},/area/awaymission)
+"iH" = (/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/turf/simulated/wall/shuttle{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/awaymission/BMPship/Aft)
+"iI" = (/obj/item/clothing/gloves/color/fyellow,/turf/simulated/floor/plating/asteroid/airless,/area/awaymission)
+"iJ" = (/turf/simulated/wall/shuttle{tag = "icon-swall4"; icon_state = "swall4"},/area/awaymission)
+"iK" = (/turf/simulated/wall/shuttle{tag = "icon-swall12"; icon_state = "swall12"},/area/awaymission)
"iL" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/engine,/area/awaymission/BMPship/Fore)
"iM" = (/obj/item/weapon/storage/box/matches,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/turf/simulated/floor/plating,/area/awaymission/BMPship/Fore)
"iN" = (/obj/item/weapon/contraband/poster,/turf/simulated/floor/plating,/area/awaymission/BMPship/Fore)
-"iO" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/awaymission/BMPship/Fore)
+"iO" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/awaymission/BMPship/Fore)
"iP" = (/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor/plating,/area/awaymission/BMPship/Fore)
-"iQ" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/awaymission/BMPship/Fore)
+"iQ" = (/turf/simulated/floor/plating,/turf/simulated/wall/shuttle{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/awaymission/BMPship/Fore)
"iR" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/engine,/area/awaymission/BMPship/Fore)
"iS" = (/turf/simulated/mineral/diamond,/area/awaymission)
"iT" = (/turf/simulated/mineral/clown,/area/awaymission)
diff --git a/_maps/RandomZLevels/centcomAway.dmm b/_maps/RandomZLevels/centcomAway.dmm
index b4ae110fca4..8148d474bcd 100644
--- a/_maps/RandomZLevels/centcomAway.dmm
+++ b/_maps/RandomZLevels/centcomAway.dmm
@@ -22,16 +22,16 @@
"av" = (/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/cafe)
"aw" = (/turf/simulated/floor/plasteel{tag = "icon-greenfull (NORTH)"; icon_state = "greenfull"; dir = 1},/area/awaymission/centcomAway/cafe)
"ax" = (/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/awaymission/centcomAway/cafe)
-"ay" = (/obj/structure/table,/obj/item/weapon/butch,/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/awaymission/centcomAway/cafe)
+"ay" = (/obj/structure/table,/obj/item/weapon/kitchen/knife/butcher,/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/awaymission/centcomAway/cafe)
"az" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/awaymission/centcomAway/cafe)
"aA" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor/plasteel{tag = "icon-greenfull (NORTH)"; icon_state = "greenfull"; dir = 1},/area/awaymission/centcomAway/cafe)
"aB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/awaymission/centcomAway/cafe)
"aC" = (/turf/simulated/floor/plasteel{dir = 9; icon_state = "green"},/area/awaymission/centcomAway/cafe)
"aD" = (/turf/simulated/floor/plasteel{dir = 5; icon_state = "green"},/area/awaymission/centcomAway/cafe)
"aE" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/awaymission/centcomAway/maint)
-"aF" = (/obj/structure/table,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/cafe)
-"aG" = (/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/cafe)
-"aH" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/cafe)
+"aF" = (/obj/structure/table,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/cafe)
+"aG" = (/turf/simulated/floor/carpet,/area/awaymission/centcomAway/cafe)
+"aH" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/cafe)
"aI" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/plasteel{icon_state = "bar"; dir = 2},/area/awaymission/centcomAway/cafe)
"aJ" = (/obj/structure/table,/turf/simulated/floor/plasteel{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/awaymission/centcomAway/cafe)
"aK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/awaymission/centcomAway/cafe)
@@ -40,7 +40,7 @@
"aN" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 8},/area/awaymission/centcomAway/cafe)
"aO" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/awaymission/centcomAway/cafe)
"aP" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor/plating,/area/awaymission/centcomAway/maint)
-"aQ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/cafe)
+"aQ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/cafe)
"aR" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "101"},/turf/simulated/floor/plasteel{icon_state = "bar"; dir = 2},/area/awaymission/centcomAway/maint)
"aS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/wall/r_wall,/area/awaymission/centcomAway/maint)
"aT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/wall/r_wall,/area/awaymission/centcomAway/maint)
@@ -63,28 +63,28 @@
"bk" = (/obj/structure/lattice,/turf/space,/area/space)
"bl" = (/obj/machinery/door/poddoor{id = "XCCHangar1"; name = "XCC Main Hangar"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/awaymission/centcomAway/hangar)
"bm" = (/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHWEST)"; icon_state = "vault"; dir = 9},/area/awaymission/centcomAway/hangar)
-"bn" = (/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/awaymission/centcomAway/hangar)
+"bn" = (/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/turf/simulated/wall/shuttle{icon_state = "swall_f6"; dir = 2},/area/awaymission/centcomAway/hangar)
"bo" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"bp" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"bq" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
-"br" = (/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/awaymission/centcomAway/hangar)
+"br" = (/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/turf/simulated/wall/shuttle{icon_state = "swall_f10"; dir = 2},/area/awaymission/centcomAway/hangar)
"bs" = (/obj/structure/closet/crate,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/awaymission/centcomAway/hangar)
-"bt" = (/obj/machinery/door/airlock/centcom,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/cafe)
+"bt" = (/obj/machinery/door/airlock/centcom,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/cafe)
"bu" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"; dir = 2},/area/awaymission/centcomAway/cafe)
"bv" = (/turf/simulated/floor/plasteel{icon_state = "freezerfloor"; dir = 2},/area/awaymission/centcomAway/cafe)
"bw" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"; dir = 2},/area/awaymission/centcomAway/cafe)
"bx" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal/bin,/turf/simulated/floor/plating,/area/awaymission/centcomAway/cafe)
"by" = (/turf/simulated/floor/plasteel,/area/awaymission/centcomAway/cafe)
"bz" = (/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/cafe)
-"bA" = (/obj/structure/rack,/obj/item/weapon/extinguisher/mini,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/gloves/black,/turf/simulated/floor/plating,/area/awaymission/centcomAway/maint)
-"bB" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/awaymission/centcomAway/hangar)
+"bA" = (/obj/structure/rack,/obj/item/weapon/extinguisher/mini,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/gloves/color/black,/turf/simulated/floor/plating,/area/awaymission/centcomAway/maint)
+"bB" = (/turf/simulated/wall/shuttle{icon_state = "swall3"; dir = 2},/area/awaymission/centcomAway/hangar)
"bC" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 1},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
-"bD" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/awaymission/centcomAway/hangar)
-"bE" = (/turf/simulated/shuttle/wall{icon_state = "swall8"; dir = 2},/area/awaymission/centcomAway/hangar)
+"bD" = (/turf/simulated/wall/shuttle{icon_state = "swall7"; dir = 2},/area/awaymission/centcomAway/hangar)
+"bE" = (/turf/simulated/wall/shuttle{icon_state = "swall8"; dir = 2},/area/awaymission/centcomAway/hangar)
"bF" = (/obj/machinery/door/airlock/external{name = "Salvage Shuttle Dock"},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
-"bG" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/awaymission/centcomAway/hangar)
-"bH" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/awaymission/centcomAway/hangar)
-"bI" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/awaymission/centcomAway/hangar)
+"bG" = (/turf/simulated/wall/shuttle{icon_state = "swall4"; dir = 2},/area/awaymission/centcomAway/hangar)
+"bH" = (/turf/simulated/wall/shuttle{icon_state = "swall12"; dir = 2},/area/awaymission/centcomAway/hangar)
+"bI" = (/turf/simulated/wall/shuttle{icon_state = "swall11"; dir = 2},/area/awaymission/centcomAway/hangar)
"bJ" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/simulated/floor/plasteel{icon_state = "bar"; dir = 2},/area/awaymission/centcomAway/cafe)
"bK" = (/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/plasteel{tag = "icon-greenfull (NORTH)"; icon_state = "greenfull"; dir = 1},/area/awaymission/centcomAway/cafe)
"bL" = (/obj/structure/kitchenspike,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"; dir = 2},/area/awaymission/centcomAway/cafe)
@@ -93,16 +93,16 @@
"bO" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "green"},/area/awaymission/centcomAway/cafe)
"bP" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 6},/area/awaymission/centcomAway/cafe)
"bQ" = (/obj/structure/table,/obj/item/clothing/glasses/welding,/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
-"bR" = (/turf/simulated/shuttle/plating,/area/awaymission/centcomAway/hangar)
-"bS" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/awaymission/centcomAway/hangar)
-"bT" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/awaymission/centcomAway/hangar)
-"bU" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"bV" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/centcomAway/hangar)
-"bW" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"bX" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"bY" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"bZ" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/awaymission/centcomAway/hangar)
-"ca" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_f10"; layer = 2},/area/awaymission/centcomAway/hangar)
+"bR" = (/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
+"bS" = (/turf/simulated/floor/plating,/turf/simulated/wall/shuttle{icon_state = "swall_f6"; dir = 2},/area/awaymission/centcomAway/hangar)
+"bT" = (/turf/simulated/floor/plasteel/shuttle,/turf/simulated/wall/shuttle{icon_state = "swall_f9"; dir = 2},/area/awaymission/centcomAway/hangar)
+"bU" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"bV" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaymission/centcomAway/hangar)
+"bW" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"bX" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"bY" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"bZ" = (/turf/simulated/floor/plasteel/shuttle,/turf/simulated/wall/shuttle{icon_state = "swall_f5"; dir = 2},/area/awaymission/centcomAway/hangar)
+"ca" = (/turf/simulated/floor/plating,/turf/simulated/wall/shuttle{dir = 2; icon_state = "swall_f10"; layer = 2},/area/awaymission/centcomAway/hangar)
"cb" = (/obj/item/weapon/paper_bin,/obj/structure/table,/turf/simulated/floor/plasteel{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/awaymission/centcomAway/cafe)
"cc" = (/obj/item/weapon/clipboard,/obj/structure/table,/turf/simulated/floor/plasteel{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/awaymission/centcomAway/cafe)
"cd" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/awaymission/centcomAway/general)
@@ -114,8 +114,8 @@
"cj" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaymission/centcomAway/maint)
"ck" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating/airless,/area/awaymission/centcomAway/maint)
"cl" = (/turf/simulated/floor/plating/airless,/area/awaymission/centcomAway/maint)
-"cm" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/awaymission/centcomAway/hangar)
-"cn" = (/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
+"cm" = (/turf/simulated/wall/shuttle{icon_state = "swall1"; dir = 2},/area/awaymission/centcomAway/hangar)
+"cn" = (/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
"co" = (/obj/item/weapon/pen,/obj/structure/table,/turf/simulated/floor/plasteel{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/awaymission/centcomAway/cafe)
"cp" = (/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/centcomAway/cafe)
"cq" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/centcomAway/cafe)
@@ -124,9 +124,9 @@
"ct" = (/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/awaymission/centcomAway/cafe)
"cu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/awaymission/centcomAway/maint)
"cv" = (/obj/structure/sign/vacuum,/turf/simulated/wall/r_wall,/area/awaymission/centcomAway/maint)
-"cw" = (/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/awaymission/centcomAway/hangar)
-"cx" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "101"},/turf/simulated/shuttle/plating,/area/awaymission/centcomAway/hangar)
-"cy" = (/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/awaymission/centcomAway/hangar)
+"cw" = (/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/turf/simulated/wall/shuttle{icon_state = "swall_f5"; dir = 2},/area/awaymission/centcomAway/hangar)
+"cx" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "101"},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
+"cy" = (/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/turf/simulated/wall/shuttle{icon_state = "swall_f9"; dir = 2},/area/awaymission/centcomAway/hangar)
"cz" = (/turf/simulated/wall,/area/awaymission/centcomAway/hangar)
"cA" = (/turf/simulated/wall,/area/awaymission/centcomAway/maint)
"cB" = (/obj/machinery/door/window/westleft,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/centcomAway/cafe)
@@ -136,27 +136,27 @@
"cF" = (/obj/machinery/vending/hydroseeds{slogan_delay = 700},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/awaymission/centcomAway/cafe)
"cG" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/awaymission/centcomAway/cafe)
"cH" = (/obj/machinery/biogenerator,/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/awaymission/centcomAway/cafe)
-"cI" = (/turf/simulated/shuttle/wall{icon_state = "swallc1"; dir = 2},/area/awaymission/centcomAway/hangar)
-"cJ" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
-"cK" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
-"cL" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
-"cM" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
-"cN" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 8},/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"cO" = (/obj/machinery/sleep_console{icon_state = "console"; dir = 8},/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"cP" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"cQ" = (/turf/simulated/shuttle/wall{icon_state = "swallc2"; dir = 2},/area/awaymission/centcomAway/hangar)
+"cI" = (/turf/simulated/wall/shuttle{icon_state = "swallc1"; dir = 2},/area/awaymission/centcomAway/hangar)
+"cJ" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
+"cK" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
+"cL" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
+"cM" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
+"cN" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 8},/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"cO" = (/obj/machinery/sleep_console{icon_state = "console"; dir = 8},/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"cP" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"cQ" = (/turf/simulated/wall/shuttle{icon_state = "swallc2"; dir = 2},/area/awaymission/centcomAway/hangar)
"cR" = (/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"cS" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/centcomAway/cafe)
"cT" = (/obj/structure/table/reinforced,/obj/item/clothing/tie/stethoscope,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/awaymission/centcomAway/general)
-"cU" = (/obj/machinery/computer/secure_data,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
-"cV" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
-"cW" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
-"cX" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/stamp,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
+"cU" = (/obj/machinery/computer/secure_data,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
+"cV" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
+"cW" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
+"cX" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/stamp,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
"cY" = (/turf/simulated/floor/plasteel{dir = 9; icon_state = "yellow"},/area/awaymission/centcomAway/general)
"cZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/awaymission/centcomAway/maint)
-"da" = (/obj/structure/table,/obj/item/device/flash,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
-"db" = (/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
-"dc" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
+"da" = (/obj/structure/table,/obj/item/device/flash,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
+"db" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
+"dc" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
"dd" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/awaymission/centcomAway/hangar)
"de" = (/turf/simulated/floor/plasteel{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/awaymission/centcomAway/hangar)
"df" = (/turf/simulated/floor/plasteel{tag = "icon-redfull"; icon_state = "redfull"},/area/awaymission/centcomAway/cafe)
@@ -165,39 +165,39 @@
"di" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{tag = "icon-redfull"; icon_state = "redfull"},/area/awaymission/centcomAway/cafe)
"dj" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/awaymission/centcomAway/cafe)
"dk" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 5},/area/awaymission/centcomAway/cafe)
-"dl" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
-"dm" = (/obj/machinery/door/window/northright{base_state = "right"; dir = 4; icon_state = "right"; name = "Security Desk"; req_access_txt = "103"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
+"dl" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
+"dm" = (/obj/machinery/door/window/northright{base_state = "right"; dir = 4; icon_state = "right"; name = "Security Desk"; req_access_txt = "103"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaymission/centcomAway/hangar)
"dn" = (/obj/structure/closet/crate,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHWEST)"; icon_state = "warnplate"; dir = 9},/area/awaymission/centcomAway/hangar)
"do" = (/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/awaymission/centcomAway/hangar)
"dp" = (/obj/structure/largecrate,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHEAST)"; icon_state = "warnplate"; dir = 5},/area/awaymission/centcomAway/hangar)
-"dq" = (/obj/structure/dresser,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/cafe)
+"dq" = (/obj/structure/dresser,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/cafe)
"dr" = (/obj/structure/table/reinforced,/obj/item/device/t_scanner,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/awaymission/centcomAway/general)
"ds" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal/bin,/turf/simulated/floor/plating,/area/awaymission/centcomAway/cafe)
"dt" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/awaymission/centcomAway/cafe)
-"du" = (/turf/simulated/shuttle/wall{icon_state = "swall0"; dir = 2},/area/awaymission/centcomAway/hangar)
+"du" = (/turf/simulated/wall/shuttle{icon_state = "swall0"; dir = 2},/area/awaymission/centcomAway/hangar)
"dv" = (/obj/structure/closet/crate,/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/awaymission/centcomAway/hangar)
"dw" = (/obj/structure/dispenser,/turf/simulated/floor/plasteel{dir = 6; icon_state = "yellow"},/area/awaymission/centcomAway/general)
"dx" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/awaymission/centcomAway/cafe)
"dy" = (/obj/structure/closet/firecloset/full,/turf/simulated/floor/plating,/area/awaymission/centcomAway/maint)
-"dz" = (/obj/structure/stool/bed,/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"dA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/centcomAway/hangar)
+"dz" = (/obj/structure/stool/bed,/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"dA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"dB" = (/obj/structure/ore_box,/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/awaymission/centcomAway/hangar)
"dC" = (/obj/structure/table,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor/plasteel{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/awaymission/centcomAway/cafe)
"dD" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{tag = "icon-redfull"; icon_state = "redfull"},/area/awaymission/centcomAway/cafe)
"dE" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/plasteel{tag = "icon-redfull"; icon_state = "redfull"},/area/awaymission/centcomAway/cafe)
"dF" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/simulated/floor/plasteel{tag = "icon-redfull"; icon_state = "redfull"},/area/awaymission/centcomAway/cafe)
-"dG" = (/obj/structure/stool/bed,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/centcomAway/hangar)
+"dG" = (/obj/structure/stool/bed,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaymission/centcomAway/hangar)
"dH" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plasteel{tag = "icon-redfull"; icon_state = "redfull"},/area/awaymission/centcomAway/cafe)
"dI" = (/turf/simulated/floor/plasteel{tag = "icon-blackcorner (NORTH)"; icon_state = "blackcorner"; dir = 1},/area/awaymission/centcomAway/general)
"dJ" = (/turf/simulated/floor/plasteel{tag = "icon-blackcorner (EAST)"; icon_state = "blackcorner"; dir = 4},/area/awaymission/centcomAway/general)
"dK" = (/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/awaymission/centcomAway/general)
-"dL" = (/obj/machinery/door/airlock/hatch{name = "Rest Room"; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/centcomAway/hangar)
+"dL" = (/obj/machinery/door/airlock/hatch{name = "Rest Room"; req_access_txt = "0"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaymission/centcomAway/hangar)
"dM" = (/obj/structure/largecrate,/turf/simulated/floor/plating{tag = "icon-warnplate (SOUTHWEST)"; icon_state = "warnplate"; dir = 10},/area/awaymission/centcomAway/hangar)
"dN" = (/obj/structure/closet/crate,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/awaymission/centcomAway/hangar)
"dO" = (/turf/simulated/floor/plating{tag = "icon-warnplate (SOUTHEAST)"; icon_state = "warnplate"; dir = 6},/area/awaymission/centcomAway/hangar)
"dP" = (/turf/simulated/floor/plasteel{icon_state = "yellow"; dir = 10},/area/awaymission/centcomAway/general)
"dQ" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "101"},/turf/simulated/floor/plating,/area/awaymission/centcomAway/cafe)
-"dR" = (/turf/simulated/shuttle/wall{icon_state = "swall2"; dir = 2},/area/awaymission/centcomAway/hangar)
+"dR" = (/turf/simulated/wall/shuttle{icon_state = "swall2"; dir = 2},/area/awaymission/centcomAway/hangar)
"dS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/centcomAway/cafe)
"dT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/centcomAway/cafe)
"dU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/centcomAway/cafe)
@@ -205,9 +205,9 @@
"dW" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/awaymission/centcomAway/cafe)
"dX" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 6},/area/awaymission/centcomAway/cafe)
"dY" = (/obj/machinery/door/airlock/centcom,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/centcomAway/general)
-"dZ" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"ea" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"eb" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
+"dZ" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"ea" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"eb" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
"ec" = (/obj/structure/flora/ausbushes,/turf/simulated/floor/plasteel{tag = "icon-asteroid2"; name = "plating"; icon_state = "asteroid2"},/area/awaymission/centcomAway/cafe)
"ed" = (/obj/structure/flora/ausbushes,/turf/simulated/floor/plasteel{tag = "icon-asteroid11"; name = "plating"; icon_state = "asteroid11"},/area/awaymission/centcomAway/cafe)
"ee" = (/obj/structure/flora/ausbushes,/turf/simulated/floor/plasteel{tag = "icon-asteroid"; name = "plating"; icon_state = "asteroid"},/area/awaymission/centcomAway/cafe)
@@ -222,18 +222,18 @@
"en" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor/plasteel{tag = "icon-redfull"; icon_state = "redfull"},/area/awaymission/centcomAway/cafe)
"eo" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor/plasteel{tag = "icon-redfull"; icon_state = "redfull"},/area/awaymission/centcomAway/cafe)
"ep" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/simulated/floor/plasteel{tag = "icon-redfull"; icon_state = "redfull"},/area/awaymission/centcomAway/cafe)
-"eq" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/awaymission/centcomAway/hangar)
-"er" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/awaymission/centcomAway/hangar)
-"es" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"; dir = 2},/area/awaymission/centcomAway/hangar)
-"et" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access_txt = "109"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/centcomAway/hangar)
+"eq" = (/turf/simulated/floor/plating,/turf/simulated/wall/shuttle{icon_state = "swall_f5"; dir = 2},/area/awaymission/centcomAway/hangar)
+"er" = (/turf/simulated/wall/shuttle{icon_state = "swall14"; dir = 2},/area/awaymission/centcomAway/hangar)
+"es" = (/turf/simulated/wall/shuttle{icon_state = "swallc4"; dir = 2},/area/awaymission/centcomAway/hangar)
+"et" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access_txt = "109"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaymission/centcomAway/hangar)
"eu" = (/turf/simulated/wall/r_wall,/area/awaymission/centcomAway/general)
"ev" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/general)
"ew" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/awaymission/centcomAway/maint)
"ex" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/awaymission/centcomAway/maint)
"ey" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/awaymission/centcomAway/maint)
-"ez" = (/obj/structure/table,/obj/item/device/radio/off,/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"eA" = (/obj/structure/stool/bed/chair{dir = 4; name = "Prosecution"},/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"eB" = (/obj/structure/filingcabinet,/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
+"ez" = (/obj/structure/table,/obj/item/device/radio/off,/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"eA" = (/obj/structure/stool/bed/chair{dir = 4; name = "Prosecution"},/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"eB" = (/obj/structure/filingcabinet,/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
"eC" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 9},/area/awaymission/centcomAway/general)
"eD" = (/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/general)
"eE" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 5},/area/awaymission/centcomAway/general)
@@ -242,38 +242,38 @@
"eH" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/general)
"eI" = (/obj/machinery/sleep_console{icon_state = "console"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/general)
"eJ" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/general)
-"eK" = (/obj/structure/table/reinforced,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/general)
+"eK" = (/obj/structure/table/reinforced,/obj/item/weapon/tank/internals/anesthetic,/obj/item/clothing/mask/breath/medical,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/general)
"eL" = (/obj/machinery/implantchair,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/general)
"eM" = (/obj/structure/table/reinforced,/obj/item/weapon/extinguisher/mini,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/awaymission/centcomAway/general)
"eN" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/wood,/area/awaymission/centcomAway/courtroom)
"eO" = (/obj/machinery/clonepod,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/awaymission/centcomAway/general)
"eP" = (/obj/machinery/computer/cloning,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/awaymission/centcomAway/general)
"eQ" = (/obj/machinery/dna_scannernew,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/awaymission/centcomAway/general)
-"eR" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
+"eR" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
"eS" = (/obj/machinery/telecomms/relay/preset/ruskie,/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/awaymission/centcomAway/general)
"eT" = (/obj/machinery/door/airlock/engineering{name = "Engineering Access"; req_access_txt = "10"},/turf/simulated/floor/plating,/area/awaymission/centcomAway/general)
-"eU" = (/obj/machinery/door/window/northleft,/obj/structure/stool/bed/chair,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/courtroom)
+"eU" = (/obj/machinery/door/window/northleft,/obj/structure/stool/bed/chair,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/courtroom)
"eV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/awaymission/centcomAway/general)
"eW" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/general)
"eX" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitepurple"},/area/awaymission/centcomAway/general)
"eY" = (/turf/simulated/wall,/area/awaymission/centcomAway/courtroom)
-"eZ" = (/obj/structure/table,/obj/item/weapon/storage/lockbox,/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"fa" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"fb" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"fc" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"fd" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
+"eZ" = (/obj/structure/table,/obj/item/weapon/storage/lockbox,/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"fa" = (/obj/structure/table,/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"fb" = (/obj/structure/computerframe,/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"fc" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"fd" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
"fe" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 10},/area/awaymission/centcomAway/general)
"ff" = (/turf/simulated/floor/plasteel{icon_state = "green"},/area/awaymission/centcomAway/general)
"fg" = (/obj/structure/table/wood,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/wood,/area/awaymission/centcomAway/courtroom)
"fh" = (/obj/structure/table/wood,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/courtroom)
"fi" = (/turf/simulated/floor/plasteel{tag = "icon-purple (NORTH)"; icon_state = "purple"; dir = 1},/area/awaymission/centcomAway/general)
-"fj" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/courtroom)
-"fk" = (/obj/structure/table,/obj/item/weapon/storage/box/prisoner,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/courtroom)
-"fl" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/courtroom)
+"fj" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/courtroom)
+"fk" = (/obj/structure/table,/obj/item/weapon/storage/box/prisoner,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/courtroom)
+"fl" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/courtroom)
"fm" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/courtroom)
-"fn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/awaymission/centcomAway/hangar)
-"fo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/awaymission/centcomAway/hangar)
-"fp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/awaymission/centcomAway/hangar)
+"fn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
+"fo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
+"fp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"fq" = (/obj/machinery/power/terminal,/turf/simulated/floor/plating,/area/awaymission/centcomAway/general)
"fr" = (/turf/simulated/floor/plating,/area/awaymission/centcomAway/general)
"fs" = (/turf/simulated/floor/plasteel{tag = "icon-purplecorner (EAST)"; icon_state = "purplecorner"; dir = 4},/area/awaymission/centcomAway/general)
@@ -288,7 +288,7 @@
"fB" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/general)
"fC" = (/obj/machinery/computer/scan_consolenew,/obj/item/weapon/dnainjector/telemut/darkbundle,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/general)
"fD" = (/obj/machinery/dna_scannernew,/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitepurple"},/area/awaymission/centcomAway/general)
-"fE" = (/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/courtroom)
+"fE" = (/turf/simulated/floor/carpet,/area/awaymission/centcomAway/courtroom)
"fF" = (/obj/structure/table/wood,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/courtroom)
"fG" = (/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "32"},/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/general)
"fH" = (/obj/structure/table/wood,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/courtroom)
@@ -303,7 +303,7 @@
"fQ" = (/obj/structure/sign/science,/turf/simulated/wall/r_wall,/area/awaymission/centcomAway/general)
"fR" = (/obj/machinery/door/window/eastright,/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/general)
"fS" = (/obj/machinery/door/airlock/centcom,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/courtroom)
-"fT" = (/obj/machinery/door/airlock/centcom{name = "Centcom Security"; opacity = 1; req_access_txt = "101"},/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/courtroom)
+"fT" = (/obj/machinery/door/airlock/centcom{name = "Centcom Security"; opacity = 1; req_access_txt = "101"},/turf/simulated/floor/carpet,/area/awaymission/centcomAway/courtroom)
"fU" = (/obj/machinery/door/airlock/glass{name = "Med-Sci"; req_access_txt = "9"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/general)
"fV" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaymission/centcomAway/general)
"fW" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaymission/centcomAway/general)
@@ -319,7 +319,7 @@
"gg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/centcomAway/general)
"gh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/centcomAway/general)
"gi" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 8},/area/awaymission/centcomAway/general)
-"gj" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/courtroom)
+"gj" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/carpet,/area/awaymission/centcomAway/courtroom)
"gk" = (/obj/machinery/door/airlock/centcom{name = "Centcom Security"; opacity = 1; req_access_txt = "101"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/courtroom)
"gl" = (/obj/item/xenos_claw,/turf/simulated/floor/plasteel{icon_state = "engine"},/area/awaymission/centcomAway/general)
"gm" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"},/area/awaymission/centcomAway/hangar)
@@ -338,12 +338,12 @@
"gz" = (/turf/simulated/floor/plasteel{icon_state = "greencorner"; dir = 1},/area/awaymission/centcomAway/general)
"gA" = (/turf/simulated/wall/r_wall,/area/awaymission/centcomAway/courtroom)
"gB" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/awaymission/centcomAway/courtroom)
-"gC" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/courtroom)
+"gC" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/carpet,/area/awaymission/centcomAway/courtroom)
"gD" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/hangar)
"gE" = (/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"gF" = (/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access_txt = "19"},/turf/simulated/floor/plating,/area/awaymission/centcomAway/general)
"gG" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1; icon_state = "comfychair_beige"},/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/general)
-"gH" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/courtroom)
+"gH" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/courtroom)
"gI" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/plating,/area/awaymission/centcomAway/maint)
"gJ" = (/obj/structure/bodycontainer/morgue,/turf/simulated/floor/plasteel{icon_state = "engine"},/area/awaymission/centcomAway/general)
"gK" = (/turf/simulated/floor/plasteel{icon_state = "engine"},/area/awaymission/centcomAway/general)
@@ -354,8 +354,8 @@
"gP" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/general)
"gQ" = (/obj/machinery/computer/med_data,/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/general)
"gR" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/hangar)
-"gS" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/awaymission/centcomAway/hangar)
-"gT" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/awaymission/centcomAway/hangar)
+"gS" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/wall/shuttle{icon_state = "swall_f6"; dir = 2},/area/awaymission/centcomAway/hangar)
+"gT" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/turf/simulated/wall/shuttle{icon_state = "swall_f10"; dir = 2},/area/awaymission/centcomAway/hangar)
"gU" = (/obj/structure/table,/obj/item/weapon/paper/ccaMemo,/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"gV" = (/turf/simulated/floor/plasteel{tag = "icon-blackcorner"; icon_state = "blackcorner"},/area/awaymission/centcomAway/general)
"gW" = (/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/centcomAway/general)
@@ -364,9 +364,9 @@
"gZ" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/general)
"ha" = (/obj/machinery/computer/crew,/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/general)
"hb" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/courtroom)
-"hc" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"hd" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar)
-"he" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/centcomAway/hangar)
+"hc" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"hd" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor/plasteel/shuttle,/area/awaymission/centcomAway/hangar)
+"he" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"hf" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"hg" = (/obj/structure/table,/obj/item/stack/cable_coil,/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"hh" = (/obj/structure/closet/body_bag,/turf/simulated/floor/plasteel{icon_state = "engine"},/area/awaymission/centcomAway/general)
@@ -380,12 +380,12 @@
"hp" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/general)
"hq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/wall/r_wall,/area/awaymission/centcomAway/courtroom)
"hr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/centcomAway/courtroom)
-"hs" = (/obj/machinery/door/airlock/centcom,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/courtroom)
+"hs" = (/obj/machinery/door/airlock/centcom,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/courtroom)
"ht" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/centcomAway/courtroom)
"hu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
-"hv" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/awaymission/centcomAway/hangar)
-"hw" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/awaymission/centcomAway/hangar)
-"hx" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/weapon/storage/toolbox/electrical{pixel_y = 5},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
+"hv" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/wall/shuttle{icon_state = "swall_f5"; dir = 2},/area/awaymission/centcomAway/hangar)
+"hw" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/turf/simulated/wall/shuttle{icon_state = "swall_f9"; dir = 2},/area/awaymission/centcomAway/hangar)
+"hx" = (/obj/structure/table,/obj/item/clothing/gloves/color/yellow,/obj/item/weapon/storage/toolbox/electrical{pixel_y = 5},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"hy" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/awaymission/centcomAway/general)
"hz" = (/turf/simulated/wall,/area/awaymission/centcomAway/general)
"hA" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/general)
@@ -398,7 +398,7 @@
"hH" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags,/turf/simulated/floor/plasteel{icon_state = "engine"},/area/awaymission/centcomAway/general)
"hI" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 1},/area/awaymission/centcomAway/general)
"hJ" = (/obj/structure/toilet{dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/general)
-"hK" = (/obj/machinery/door_control{id = "XCCHangar1"; name = "Hangar Bay Blast Doors"; pixel_x = -28; pixel_y = 7; req_access_txt = "2"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/awaymission/centcomAway/hangar)
+"hK" = (/obj/machinery/button/door{id = "XCCHangar1"; name = "Hangar Bay Blast Doors"; pixel_x = -28; pixel_y = 7; req_access_txt = "2"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/awaymission/centcomAway/hangar)
"hL" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/hangar)
"hM" = (/obj/structure/rack,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/awaymission/centcomAway/hangar)
"hN" = (/obj/structure/rack,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
@@ -411,7 +411,7 @@
"hU" = (/obj/structure/sign/vacuum,/turf/simulated/wall/r_wall,/area/awaymission/centcomAway/hangar)
"hV" = (/obj/structure/bodycontainer/crematorium,/turf/simulated/floor/plasteel{icon_state = "engine"},/area/awaymission/centcomAway/general)
"hW" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/centcomAway/general)
-"hX" = (/obj/machinery/crema_switch{pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "engine"},/area/awaymission/centcomAway/general)
+"hX" = (/obj/machinery/button/crematorium{pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "engine"},/area/awaymission/centcomAway/general)
"hY" = (/obj/structure/closet/secure_closet/injection,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/courtroom)
"hZ" = (/obj/structure/stool/bed,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/courtroom)
"ia" = (/obj/structure/closet/secure_closet/courtroom,/turf/simulated/floor/wood,/area/awaymission/centcomAway/courtroom)
@@ -460,13 +460,13 @@
"iR" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor/plasteel{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/awaymission/centcomAway/general)
"iS" = (/turf/simulated/floor/plasteel{tag = "icon-ironsand9 (WEST)"; icon_state = "ironsand9"; dir = 8; heat_capacity = 1},/area/awaymission/centcomAway/general)
"iT" = (/obj/structure/table/wood{dir = 9},/obj/item/clothing/mask/cigarette/cigar/havana,/obj/item/weapon/reagent_containers/food/drinks/sillycup,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/centcomAway/general)
-"iU" = (/obj/structure/table/wood{dir = 5},/obj/item/weapon/lighter/zippo,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/centcomAway/general)
+"iU" = (/obj/structure/table/wood{dir = 5},/obj/item/weapon/lighter,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/centcomAway/general)
"iV" = (/obj/structure/table/wood{dir = 5},/obj/item/weapon/storage/backpack/satchel,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/centcomAway/general)
"iW" = (/obj/machinery/computer/card/centcom,/obj/item/weapon/card/id/centcom,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/centcomAway/general)
"iX" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/red,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/general)
-"iY" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "XCCsec3"; name = "XCC Shutter 3 Control"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/general)
+"iY" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "XCCsec3"; name = "XCC Shutter 3 Control"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/general)
"iZ" = (/turf/simulated/floor/plasteel{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/awaymission/centcomAway/general)
-"ja" = (/obj/machinery/driver_button{id = "XCCMechs"; name = "XCC Mechbay Mass Driver"; pixel_x = 25},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/awaymission/centcomAway/hangar)
+"ja" = (/obj/machinery/button/massdriver{id = "XCCMechs"; name = "XCC Mechbay Mass Driver"; pixel_x = 25},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/awaymission/centcomAway/hangar)
"jb" = (/obj/machinery/mecha_part_fabricator,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/hangar)
"jc" = (/turf/simulated/floor/plasteel{tag = "icon-ironsand4 (WEST)"; icon_state = "ironsand4"; dir = 8; heat_capacity = 1},/area/awaymission/centcomAway/general)
"jd" = (/obj/structure/table/wood{dir = 10},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/centcomAway/general)
@@ -523,7 +523,7 @@
"kc" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"kd" = (/obj/machinery/gateway/centeraway,/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"ke" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
-"kf" = (/obj/machinery/door_control{id = "XCCFerry"; name = "Hangar Bay Shutters"; pixel_x = -28; pixel_y = 7; req_access_txt = "2"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/awaymission/centcomAway/hangar)
+"kf" = (/obj/machinery/button/door{id = "XCCFerry"; name = "Hangar Bay Shutters"; pixel_x = -28; pixel_y = 7; req_access_txt = "2"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/awaymission/centcomAway/hangar)
"kg" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"kh" = (/obj/machinery/gateway,/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"ki" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
@@ -535,7 +535,7 @@
"ko" = (/obj/structure/table,/obj/item/device/flashlight/flare,/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"kp" = (/obj/structure/table,/obj/item/device/multitool,/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar)
"kq" = (/obj/structure/table/reinforced,/obj/item/weapon/paper/pamphlet/ccaInfo,/turf/simulated/floor/plasteel{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/awaymission/centcomAway/general)
-"kr" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "XCCsec1"; name = "XCC Shutter 1 Control"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/general)
+"kr" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "XCCsec1"; name = "XCC Shutter 1 Control"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/general)
"ks" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/general)
"kt" = (/obj/machinery/computer/secure_data,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/awaymission/centcomAway/general)
"ku" = (/obj/item/weapon/paper_bin,/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/general)
@@ -548,7 +548,7 @@
"kB" = (/obj/machinery/photocopier,/turf/simulated/floor/plasteel{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/awaymission/centcomAway/general)
"kC" = (/obj/item/weapon/clipboard,/obj/structure/table,/obj/item/device/taperecorder,/obj/item/weapon/stamp,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/awaymission/centcomAway/general)
"kD" = (/obj/machinery/door/window/northright{icon_state = "right"; dir = 2},/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/general)
-"kE" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "XCCsec2"; name = "XCC Shutter 2 Control"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/general)
+"kE" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "XCCsec2"; name = "XCC Shutter 2 Control"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/general)
"kF" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaymission/centcomAway/general)
"kG" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/awaymission/centcomAway/general)
"kH" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 2},/area/awaymission/centcomAway/general)
@@ -557,10 +557,10 @@
"kK" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/awaymission/centcomAway/general)
"kL" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel{icon_state = "green"; dir = 6},/area/awaymission/centcomAway/general)
"kM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/centcomAway/general)
-"kN" = (/obj/structure/table/wood,/obj/item/clothing/tie/medal,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/general)
-"kO" = (/obj/structure/table/wood,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/general)
-"kP" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/golden_cup,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/general)
-"kQ" = (/obj/structure/table/wood,/obj/item/clothing/tie/medal/gold,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/general)
+"kN" = (/obj/structure/table/wood,/obj/item/clothing/tie/medal,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/general)
+"kO" = (/obj/structure/table/wood,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/general)
+"kP" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/golden_cup,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/general)
+"kQ" = (/obj/structure/table/wood,/obj/item/clothing/tie/medal/gold,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/general)
"kR" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaymission/centcomAway/general)
"kS" = (/turf/simulated/wall/r_wall,/area/awaymission/centcomAway/thunderdome)
"kT" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/space,/area/space)
@@ -641,10 +641,10 @@
"mq" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/turf/simulated/floor/plasteel{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/awaymission/centcomAway/thunderdome)
"mr" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/plasteel{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/awaymission/centcomAway/thunderdome)
"ms" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plasteel{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/awaymission/centcomAway/thunderdome)
-"mt" = (/obj/machinery/door_control{id = "XCCtdomemelee"; name = "XCC Thunderdome Melee!"},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/thunderdome)
+"mt" = (/obj/machinery/button/door{id = "XCCtdomemelee"; name = "XCC Thunderdome Melee!"},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/thunderdome)
"mu" = (/obj/structure/stool/bed/chair/comfy/teal,/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/thunderdome)
-"mv" = (/obj/machinery/door_control{id = "XCCtdomeguns"; name = "XCC Thunderdome Guns!"},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/thunderdome)
-"mw" = (/obj/machinery/door_control{id = "XCCtdome"; name = "XCC Thunderdome Go!"},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/thunderdome)
+"mv" = (/obj/machinery/button/door{id = "XCCtdomeguns"; name = "XCC Thunderdome Guns!"},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/thunderdome)
+"mw" = (/obj/machinery/button/door{id = "XCCtdome"; name = "XCC Thunderdome Go!"},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/thunderdome)
"mx" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel{icon_state = "bar"; dir = 2},/area/awaymission/centcomAway/maint)
"my" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/awaymission/centcomAway/cafe)
"mz" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/window/northright,/turf/simulated/floor/plasteel{tag = "icon-redfull"; icon_state = "redfull"},/area/awaymission/centcomAway/cafe)
@@ -699,7 +699,7 @@
"nw" = (/turf/simulated/floor/plasteel{tag = "icon-plaque"; icon_state = "plaque"},/area/awaymission/centcomAway/thunderdome)
"nx" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/awaymission/centcomAway/thunderdome)
"ny" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 8},/area/awaymission/centcomAway/thunderdome)
-"nz" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/sugar,/obj/item/weapon/reagent_containers/food/drinks/milk,/obj/item/weapon/reagent_containers/food/drinks/ice,/turf/simulated/floor/plasteel{tag = "icon-barber (WEST)"; icon_state = "barber"; dir = 8; heat_capacity = 1},/area/awaymission/centcomAway/thunderdome)
+"nz" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/sugar,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/drinks/ice,/turf/simulated/floor/plasteel{tag = "icon-barber (WEST)"; icon_state = "barber"; dir = 8; heat_capacity = 1},/area/awaymission/centcomAway/thunderdome)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/_maps/RandomZLevels/challenge.dmm b/_maps/RandomZLevels/challenge.dmm
index c6e4879db09..486ae23aa88 100644
--- a/_maps/RandomZLevels/challenge.dmm
+++ b/_maps/RandomZLevels/challenge.dmm
@@ -1,5 +1,5 @@
"aa" = (/turf/space,/area/space)
-"ab" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/challenge/start)
+"ab" = (/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/challenge/start)
"ac" = (/obj/structure/girder,/turf/simulated/floor/plating/airless,/area/awaymission/challenge/start)
"ad" = (/turf/simulated/floor/plating,/area/awaymission/challenge/start)
"ae" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged5"},/area/awaymission/challenge/start)
@@ -24,7 +24,7 @@
"ax" = (/obj/effect/decal/cleanable/oil,/mob/living/simple_animal/hostile/syndicate,/turf/simulated/floor/plating,/area/awaymission/challenge/start)
"ay" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel/airless,/area/awaymission/challenge/start)
"az" = (/obj/item/clothing/suit/space/syndicate/black,/obj/item/clothing/head/helmet/space/syndicate/black,/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"},/area/awaymission/challenge/start)
-"aA" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/challenge/main)
+"aA" = (/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/challenge/main)
"aB" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/awaymission/challenge/main)
"aC" = (/turf/simulated/floor/plating,/area/awaymission/challenge/main)
"aD" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged3"},/area/awaymission/challenge/main)
@@ -76,7 +76,7 @@
"bx" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/awaymission/challenge/main)
"by" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/awaymission/challenge/main)
"bz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
-"bA" = (/obj/item/clothing/gloves/yellow,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaymission/challenge/main)
+"bA" = (/obj/item/clothing/gloves/color/yellow,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaymission/challenge/main)
"bB" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 8; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"bC" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 4; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"bD" = (/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor/plasteel/airless,/area/awaymission/challenge/main)
@@ -90,27 +90,27 @@
"bL" = (/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 1; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"bM" = (/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 1; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"bN" = (/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 1; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
-"bO" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/challenge/end)
+"bO" = (/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/challenge/end)
"bP" = (/obj/item/weapon/gun/projectile/revolver/russian,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/awaymission/challenge/main)
-"bQ" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/machinery/recharger{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/challenge/end)
+"bQ" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/challenge/end)
"bR" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching evil areas."; name = "Security Monitor"; network = ""; pixel_x = 0; pixel_y = 30},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/challenge/end)
"bS" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light,/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"bT" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/awaymission/challenge/main)
"bU" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light,/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
-"bV" = (/obj/machinery/light{dir = 1},/obj/structure/filingcabinet,/turf/simulated/floor/fancy/carpet,/area/awaymission/challenge/end)
-"bW" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching evil areas."; name = "Security Monitor"; network = ""; pixel_x = 0; pixel_y = 30},/turf/simulated/floor/fancy/carpet,/area/awaymission/challenge/end)
-"bX" = (/obj/machinery/door_control{id = "challenge"; name = "Gateway Lockdown"; pixel_x = -4; pixel_y = 26; req_access_txt = "0"},/turf/simulated/floor/fancy/carpet,/area/awaymission/challenge/end)
-"bY" = (/turf/simulated/floor/fancy/carpet,/area/awaymission/challenge/end)
+"bV" = (/obj/machinery/light{dir = 1},/obj/structure/filingcabinet,/turf/simulated/floor/carpet,/area/awaymission/challenge/end)
+"bW" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching evil areas."; name = "Security Monitor"; network = ""; pixel_x = 0; pixel_y = 30},/turf/simulated/floor/carpet,/area/awaymission/challenge/end)
+"bX" = (/obj/machinery/button/door{id = "challenge"; name = "Gateway Lockdown"; pixel_x = -4; pixel_y = 26; req_access_txt = "0"},/turf/simulated/floor/carpet,/area/awaymission/challenge/end)
+"bY" = (/turf/simulated/floor/carpet,/area/awaymission/challenge/end)
"bZ" = (/obj/structure/mirror{pixel_y = 28},/turf/simulated/floor/wood,/area/awaymission/challenge/end)
-"ca" = (/obj/machinery/light{dir = 1},/obj/structure/rack,/obj/item/clothing/suit/armor/heavy,/obj/item/clothing/head/helmet/space/deathsquad,/turf/simulated/floor/wood,/area/awaymission/challenge/end)
-"cb" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/challenge/end)
+"ca" = (/obj/machinery/light{dir = 1},/obj/structure/rack,/obj/item/clothing/suit/armor/heavy,/obj/item/clothing/head/helmet/space/hardsuit/deathsquad,/turf/simulated/floor/wood,/area/awaymission/challenge/end)
+"cb" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/challenge/end)
"cc" = (/obj/structure/stool/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = 28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/challenge/end)
"cd" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/challenge/end)
"ce" = (/mob/living/simple_animal/hostile/syndicate/ranged/space{name = "Syndicate Officer"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/challenge/end)
"cf" = (/obj/machinery/door/airlock/centcom{name = "Airlock"; opacity = 1; req_access_txt = "109"},/turf/simulated/floor/plating,/area/awaymission/challenge/end)
-"cg" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor/fancy/carpet,/area/awaymission/challenge/end)
-"ch" = (/obj/structure/stool/bed/chair/comfy/black,/mob/living/simple_animal/hostile/syndicate{name = "Syndicate Commander"},/turf/simulated/floor/fancy/carpet,/area/awaymission/challenge/end)
-"ci" = (/obj/structure/table/wood,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/fancy/carpet,/area/awaymission/challenge/end)
+"cg" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor/carpet,/area/awaymission/challenge/end)
+"ch" = (/obj/structure/stool/bed/chair/comfy/black,/mob/living/simple_animal/hostile/syndicate{name = "Syndicate Commander"},/turf/simulated/floor/carpet,/area/awaymission/challenge/end)
+"ci" = (/obj/structure/table/wood,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/carpet,/area/awaymission/challenge/end)
"cj" = (/turf/simulated/floor/wood,/area/awaymission/challenge/end)
"ck" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/revolver/mateba,/turf/simulated/floor/wood,/area/awaymission/challenge/end)
"cl" = (/mob/living/simple_animal/hostile/syndicate/melee,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/challenge/end)
@@ -118,17 +118,17 @@
"cn" = (/turf/simulated/floor/bluegrid,/area/awaymission/challenge/end)
"co" = (/turf/simulated/floor/plasteel{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/awaymission/challenge/end)
"cp" = (/obj/structure/window/reinforced{dir = 8},/turf/space,/area/space)
-"cq" = (/obj/structure/table/wood,/obj/item/weapon/melee/chainofcommand,/obj/item/weapon/stamp,/turf/simulated/floor/fancy/carpet,/area/awaymission/challenge/end)
-"cr" = (/obj/structure/table/wood,/obj/item/weapon/paper{info = "Congratulations, Your station has been selected to carry out the Gateway Project. The equipment will be shipped to you at the start of the next quarter. You are to prepare a secure location to house the equipment as outlined in the attached documents. --Nanotrasen Blue Space Research"; name = "Confidential Correspondence, Pg 1"; pixel_x = 0; pixel_y = 0},/obj/item/weapon/folder/blue,/turf/simulated/floor/fancy/carpet,/area/awaymission/challenge/end)
-"cs" = (/obj/structure/table/wood,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/fancy/carpet,/area/awaymission/challenge/end)
+"cq" = (/obj/structure/table/wood,/obj/item/weapon/melee/chainofcommand,/obj/item/weapon/stamp,/turf/simulated/floor/carpet,/area/awaymission/challenge/end)
+"cr" = (/obj/structure/table/wood,/obj/item/weapon/paper{info = "Congratulations, Your station has been selected to carry out the Gateway Project. The equipment will be shipped to you at the start of the next quarter. You are to prepare a secure location to house the equipment as outlined in the attached documents. --Nanotrasen Blue Space Research"; name = "Confidential Correspondence, Pg 1"; pixel_x = 0; pixel_y = 0},/obj/item/weapon/folder/blue,/turf/simulated/floor/carpet,/area/awaymission/challenge/end)
+"cs" = (/obj/structure/table/wood,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/carpet,/area/awaymission/challenge/end)
"ct" = (/obj/structure/rack,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced,/turf/simulated/floor/wood,/area/awaymission/challenge/end)
-"cu" = (/mob/living/simple_animal/hostile/syndicate/melee,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/challenge/end)
+"cu" = (/mob/living/simple_animal/hostile/syndicate/melee,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/challenge/end)
"cv" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/wood,/area/awaymission/challenge/end)
"cw" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/automatic/l6_saw,/turf/simulated/floor/wood,/area/awaymission/challenge/end)
"cx" = (/obj/machinery/door/airlock/centcom{name = "Security"; opacity = 1; req_access_txt = "109"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/challenge/end)
"cy" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/space)
"cz" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/space)
-"cA" = (/obj/structure/sign/securearea,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/challenge/end)
+"cA" = (/obj/structure/sign/securearea,/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/challenge/end)
"cB" = (/obj/machinery/door/airlock/centcom{name = "Administrator"; opacity = 1; req_access_txt = "109"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/challenge/end)
"cC" = (/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/bluegrid,/area/awaymission/challenge/end)
"cD" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/awaymission/challenge/end)
@@ -174,7 +174,7 @@
"dr" = (/obj/structure/closet/emcloset,/turf/simulated/floor/bluegrid,/area/awaymission/challenge/end)
"ds" = (/obj/structure/cable,/obj/machinery/power/smes/magical,/turf/simulated/floor/bluegrid,/area/awaymission/challenge/end)
"dt" = (/obj/machinery/power/terminal{dir = 8},/obj/structure/cable,/turf/simulated/floor/bluegrid,/area/awaymission/challenge/end)
-"du" = (/obj/structure/closet/l3closet/general,/turf/simulated/floor/bluegrid,/area/awaymission/challenge/end)
+"du" = (/obj/structure/closet/l3closet,/turf/simulated/floor/bluegrid,/area/awaymission/challenge/end)
(1,1,1) = {"
aaaaaaaaaaaaababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/_maps/RandomZLevels/example.dmm b/_maps/RandomZLevels/example.dmm
index 35424f7e376..7dc555faad4 100644
--- a/_maps/RandomZLevels/example.dmm
+++ b/_maps/RandomZLevels/example.dmm
@@ -50,7 +50,7 @@
"aX" = (/obj/machinery/door/airlock/medical,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/example)
"aY" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "example"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/awaymission/example)
"aZ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "example"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/awaymission/example)
-"ba" = (/obj/machinery/door_control{id = "example"; name = "Privacy Shutters"; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/example)
+"ba" = (/obj/machinery/button/door{id = "example"; name = "Privacy Shutters"; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/example)
"bb" = (/obj/structure/table,/obj/item/device/healthanalyzer,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/example)
"bc" = (/obj/structure/stool/bed,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/example)
"bd" = (/obj/structure/stool,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/example)
@@ -96,7 +96,7 @@
"bR" = (/obj/structure/table,/obj/machinery/light/small,/obj/item/weapon/paper{info = "X X O X O X O X"},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/example)
"bS" = (/obj/structure/piano,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/example)
"bT" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/example)
-"bU" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/validsalad,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/example)
+"bU" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/salad/validsalad,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/example)
"bV" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel,/area/awaymission/example)
"bW" = (/obj/structure/table,/obj/item/device/analyzer,/turf/simulated/floor/plasteel,/area/awaymission/example)
"bX" = (/obj/structure/table,/obj/item/weapon/rack_parts,/turf/simulated/floor/plasteel,/area/awaymission/example)
diff --git a/_maps/RandomZLevels/listeningpost.dmm b/_maps/RandomZLevels/listeningpost.dmm
index fada5c5f7c4..3395432a51a 100644
--- a/_maps/RandomZLevels/listeningpost.dmm
+++ b/_maps/RandomZLevels/listeningpost.dmm
@@ -35,7 +35,7 @@
"I" = (/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/listeningpost)
"J" = (/obj/structure/toilet{tag = "icon-toilet00 (WEST)"; icon_state = "toilet00"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/listeningpost)
"K" = (/turf/simulated/mineral/clown,/area/mine/unexplored)
-"L" = (/turf/simulated/shuttle/wall{tag = "icon-wall3"; icon_state = "wall3"},/area/mine/explored)
+"L" = (/turf/simulated/wall/shuttle{tag = "icon-wall3"; icon_state = "wall3"},/area/mine/explored)
"M" = (/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/explored)
"N" = (/obj/machinery/gateway{tag = "icon-off (NORTHWEST)"; icon_state = "off"; dir = 9},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/explored)
"O" = (/obj/machinery/gateway{tag = "icon-off (NORTH)"; icon_state = "off"; dir = 1},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/explored)
diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm
index 1db250f8ea2..edc3f4167b9 100644
--- a/_maps/RandomZLevels/moonoutpost19.dmm
+++ b/_maps/RandomZLevels/moonoutpost19.dmm
@@ -88,7 +88,7 @@
"bJ" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"bK" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"bL" = (/obj/structure/closet/emcloset,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bM" = (/obj/structure/closet/l3closet/general,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bM" = (/obj/structure/closet/l3closet,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"bN" = (/obj/machinery/door/airlock/glass{name = "Break Room"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"bO" = (/obj/structure/grille,/obj/structure/window/fulltile,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"bP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/highsecurity{icon_state = "door_locked"; locked = 1; name = "Gateway"; req_access_txt = "150"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
@@ -152,10 +152,10 @@
"cV" = (/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "damaged2"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-damaged2 (WEST)"; temperature = 251},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"cW" = (/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "damaged3"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-damaged3 (WEST)"; temperature = 251},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"cX" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 12},/obj/effect/decal/cleanable/dirt,/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; dir = 1; heat_capacity = 1e+006; icon_state = "bot"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cY" = (/obj/machinery/door_control{id = "awaydorm4"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/obj/structure/stool/bed,/obj/item/weapon/bedsheet/syndie,/turf/simulated/floor/wood{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cY" = (/obj/machinery/button/door{id = "awaydorm4"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/obj/structure/stool/bed,/obj/item/weapon/bedsheet/syndie,/turf/simulated/floor/wood{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"cZ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"da" = (/turf/simulated/floor/wood{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"db" = (/obj/machinery/door_control{id = "awaydorm5"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/obj/structure/dresser,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"db" = (/obj/machinery/button/door{id = "awaydorm5"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/obj/structure/dresser,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"dc" = (/obj/structure/alien/weeds/node,/mob/living/simple_animal/hostile/alien/drone{plants_off = 1},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"dd" = (/obj/machinery/mineral/stacking_machine{dir = 1; input_dir = 1; output_dir = 2},/turf/simulated/floor/plating{carbon_dioxide = 48.7; dir = 4; heat_capacity = 1e+006; icon_state = "warnplate"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"de" = (/obj/machinery/mineral/stacking_unit_console{machinedir = 8},/turf/simulated/wall,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
@@ -245,7 +245,7 @@
"eK" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"eL" = (/obj/machinery/light/small{active_power_usage = 0; dir = 8; icon_state = "bulb-broken"; status = 2},/obj/machinery/camera{c_tag = "Xenobiology"; dir = 4; network = list("MO19","MO19R")},/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"eM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/structure/stool/bed/chair/office/light{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eN" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "Awaylab"; name = "Containment Chamber Blast Doors"; pixel_x = 4; pixel_y = -2; req_access_txt = "201"},/obj/machinery/ignition_switch{id = "awayxenobio"; pixel_x = 4; pixel_y = 8},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eN" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "Awaylab"; name = "Containment Chamber Blast Doors"; pixel_x = 4; pixel_y = -2; req_access_txt = "201"},/obj/machinery/button/ignition{id = "awayxenobio"; pixel_x = 4; pixel_y = 8},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"eO" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/alien/weeds{desc = "A large mottled egg."; health = 100; icon_state = "egg_hatched"; name = "egg"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"eP" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"eQ" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
@@ -349,7 +349,7 @@
"gK" = (/obj/structure/cable,/obj/machinery/door/poddoor/preopen{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id = "Awaylab"; name = "Acid-Proof containment chamber blast door"; unacidable = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gL" = (/obj/structure/disposalpipe/segment{desc = "An underfloor disposal pipe. This one has been applied with an acid-proof coating."; name = "Acid-Proof disposal pipe"; unacidable = 1},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/stack/rods,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gN" = (/obj/machinery/door_control{id = "Awaybiohazard"; name = "Biohazard Shutter Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "201"},/obj/machinery/light/small{dir = 8},/obj/machinery/computer/security{desc = "Used to access the various cameras on the outpost."; network = list("MO19R","MO19")},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gN" = (/obj/machinery/button/door{id = "Awaybiohazard"; name = "Biohazard Shutter Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "201"},/obj/machinery/light/small{dir = 8},/obj/machinery/computer/security{desc = "Used to access the various cameras on the outpost."; network = list("MO19R","MO19")},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gO" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gP" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gQ" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
@@ -418,8 +418,8 @@
"ib" = (/obj/structure/rack,/obj/item/device/paicard{pixel_x = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ic" = (/obj/structure/rack,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"id" = (/obj/machinery/door/airlock/glass_medical{glass = 0; icon = 'icons/obj/doors/Doorresearch.dmi'; id_tag = ""; name = "Research Division"; opacity = 1; req_access_txt = "201"; req_one_access_txt = "0"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ie" = (/obj/structure/closet/l3closet/general,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"if" = (/obj/structure/closet/l3closet/general,/obj/machinery/light/small{active_power_usage = 0; dir = 2; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ie" = (/obj/structure/closet/l3closet,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"if" = (/obj/structure/closet/l3closet,/obj/machinery/light/small{active_power_usage = 0; dir = 2; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ig" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ih" = (/obj/structure/table,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ii" = (/obj/machinery/alarm{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -428,7 +428,7 @@
"il" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"im" = (/obj/machinery/shower{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"in" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"io" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door_control{id = "Awaybiohazard"; name = "Biohazard Shutter Control"; pixel_x = 0; pixel_y = 8; req_access_txt = "201"},/obj/machinery/door_control{id = "AwayRD"; name = "Privacy Shutter Control"; pixel_x = 0; pixel_y = -2; req_access_txt = "201"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"io" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/button/door{id = "Awaybiohazard"; name = "Biohazard Shutter Control"; pixel_x = 0; pixel_y = 8; req_access_txt = "201"},/obj/machinery/button/door{id = "AwayRD"; name = "Privacy Shutter Control"; pixel_x = 0; pixel_y = -2; req_access_txt = "201"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ip" = (/obj/structure/stool/bed/chair/office/light{dir = 1; pixel_y = 3},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"iq" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ir" = (/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 8; icon_state = "ltrails_1"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
@@ -476,8 +476,8 @@
"jh" = (/obj/structure/closet/crate/bin,/obj/machinery/light/small{dir = 8},/obj/item/trash/cheesie,/obj/item/trash/can,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"ji" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jj" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jk" = (/obj/structure/stool,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jl" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/machinery/door/poddoor/shutters{id = "awaykitchen"; name = "Serving Hatch"},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jk" = (/obj/structure/stool,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jl" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/machinery/door/poddoor/shutters{id = "awaykitchen"; name = "Serving Hatch"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jm" = (/obj/effect/decal/cleanable/flour,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jn" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/table,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
@@ -505,7 +505,7 @@
"jK" = (/obj/structure/noticeboard{pixel_y = 32},/obj/item/weapon/paper{info = "I Can't Believe It's Not Pasta: Half off on Wednesdays Burger night every Friday 6PM-10PM, free drinks with purchase of meal! Premiering Tonight: The comedy stylings of Shoe Snatching Willy! 11AM-7PM "; name = "Specials This Week"},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jL" = (/obj/structure/grille,/obj/structure/window/fulltile,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jM" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jN" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{id = "awaykitchen"; name = "Serving Hatch"},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jN" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{id = "awaykitchen"; name = "Serving Hatch"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jO" = (/obj/structure/table,/obj/item/weapon/book/manual/barman_recipes{pixel_y = 5},/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jP" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jQ" = (/obj/machinery/vending/dinnerware,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -530,9 +530,9 @@
"kj" = (/obj/machinery/light/small,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kk" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kl" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Diner"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"km" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/weapon/reagent_containers/glass/rag{pixel_y = 5},/obj/machinery/door/poddoor/shutters{id = "awaykitchen"; name = "Serving Hatch"},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"km" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/weapon/reagent_containers/glass/rag{pixel_y = 5},/obj/machinery/door/poddoor/shutters{id = "awaykitchen"; name = "Serving Hatch"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kn" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ko" = (/obj/structure/table,/obj/item/weapon/kitchen/rollingpin,/obj/item/weapon/kitchenknife,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ko" = (/obj/structure/table,/obj/item/weapon/kitchen/rollingpin,/obj/item/weapon/kitchen/knife,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kp" = (/obj/structure/table,/obj/item/weapon/book/manual/chef_recipes{pixel_x = 2; pixel_y = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kq" = (/obj/effect/decal/cleanable/egg_smudge,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kr" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/processor,/obj/machinery/alarm{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -562,8 +562,8 @@
"kP" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/turf/simulated/floor/plating{broken = 1; carbon_dioxide = 48.7; heat_capacity = 1e+006; icon_state = "platingdmg3"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-platingdmg3"; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kQ" = (/obj/machinery/door/firedoor{density = 1; icon_state = "door_closed"; opacity = 1},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kR" = (/obj/machinery/door/firedoor{density = 1; icon_state = "door_closed"; opacity = 1},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kS" = (/obj/machinery/door_control{id = "awaydorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kT" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/navy,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kS" = (/obj/machinery/button/door{id = "awaydorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kT" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/navy,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kU" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kV" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel{dir = 0; heat_capacity = 1e+006; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kW" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/multitool,/turf/simulated/floor/plasteel{dir = 0; heat_capacity = 1e+006; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -571,9 +571,9 @@
"kY" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 0; heat_capacity = 1e+006; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kZ" = (/obj/structure/stool/bed/chair,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"la" = (/obj/structure/extinguisher_cabinet{pixel_x = 26; pixel_y = 0},/obj/machinery/camera{c_tag = "Kitchen"; dir = 8; network = list("MO19")},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lb" = (/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lc" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ld" = (/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lb" = (/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/turf/simulated/wall/shuttle{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lc" = (/turf/simulated/wall/shuttle{icon_state = "swall12"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ld" = (/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/turf/simulated/wall/shuttle{dir = 3; icon_state = "swall_f10"; layer = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"le" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "arrival"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lf" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lg" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "warningcorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -582,31 +582,31 @@
"lj" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lk" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; dir = 4; heat_capacity = 1e+006; icon_state = "neutral"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"ll" = (/obj/machinery/door/airlock{id_tag = "awaydorm1"; name = "Dorm 1"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lm" = (/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ln" = (/obj/machinery/light/small{dir = 4},/obj/structure/stool/bed/chair/wood/normal,/obj/machinery/alarm{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lm" = (/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ln" = (/obj/machinery/light/small{dir = 4},/obj/structure/stool/bed/chair/wood/normal,/obj/machinery/alarm{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lo" = (/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lp" = (/obj/machinery/light/small{dir = 8},/obj/structure/table,/obj/item/weapon/storage/box,/obj/machinery/alarm{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lq" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lr" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/decal/cleanable/dirt,/obj/machinery/camera{c_tag = "Bar"; dir = 8; network = list("MO19")},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ls" = (/obj/machinery/door_control{id = "awaykitchen"; name = "Kitchen Shutters Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ls" = (/obj/machinery/button/door{id = "awaykitchen"; name = "Kitchen Shutters Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lt" = (/obj/machinery/door/airlock{name = "Kitchen Cold Room"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lu" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lv" = (/obj/structure/sink/kitchen{desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink"; pixel_y = 28},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lw" = (/obj/structure/closet/crate{desc = "It's a storage unit for kitchen clothes and equipment."; name = "Kitchen Crate"},/obj/item/weapon/storage/box/mousetraps,/obj/item/clothing/under/waiter,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lx" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ly" = (/turf/simulated/shuttle/wall{icon_state = "swall8"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lz" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/shuttle/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lA" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lB" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lC" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{carbon_dioxide = 48.7; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lx" = (/turf/simulated/wall/shuttle{icon_state = "swall14"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ly" = (/turf/simulated/wall/shuttle{icon_state = "swall8"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lz" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lA" = (/turf/simulated/wall/shuttle{icon_state = "swall4"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lB" = (/turf/simulated/wall/shuttle{icon_state = "swall1"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lC" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating{carbon_dioxide = 48.7; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lD" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_r (WEST)"; icon_state = "burst_r"; dir = 8},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lE" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lF" = (/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "warningcorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lG" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lH" = (/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lI" = (/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; dir = 4; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lJ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lK" = (/obj/structure/table/wood,/obj/item/weapon/lighter/zippo,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lJ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lK" = (/obj/structure/table/wood,/obj/item/weapon/lighter,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lL" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lM" = (/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lN" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -616,16 +616,16 @@
"lR" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lS" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/obj/item/clothing/suit/hooded/chaplain_hoodie,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lT" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/remains/human{desc = "They look like human remains. The skeleton is sitting upright with its legs tucked in and hands still holding onto its arms."},/obj/item/weapon/gun/projectile/shotgun/sc_pump,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lU" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lV" = (/obj/structure/table,/obj/item/weapon/storage/lockbox,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lW" = (/obj/structure/table,/obj/item/device/radio/off,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lX" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lY" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lZ" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ma" = (/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mb" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mc" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = 30},/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"md" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lU" = (/turf/simulated/floor/plasteel/shuttle,/turf/simulated/wall/shuttle{icon_state = "swall_f9"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lV" = (/obj/structure/table,/obj/item/weapon/storage/lockbox,/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lW" = (/obj/structure/table,/obj/item/device/radio/off,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lX" = (/turf/simulated/wall/shuttle{icon_state = "swall3"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lY" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lZ" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ma" = (/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mb" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mc" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = 30},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"md" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"me" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l (WEST)"; icon_state = "burst_l"; dir = 8},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mf" = (/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mg" = (/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; dir = 2; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -635,29 +635,29 @@
"mk" = (/obj/structure/table,/obj/item/weapon/storage/backpack/satchel/withwallet,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"ml" = (/obj/structure/closet/secure_closet{icon_state = "secure"; locked = 0; name = "kitchen Cabinet"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/drinks/flour,/obj/item/weapon/reagent_containers/food/drinks/flour,/obj/item/weapon/reagent_containers/food/condiment/sugar,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mm" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "meat fridge"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mn" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "refrigerator"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/drinks/milk,/obj/item/weapon/reagent_containers/food/drinks/milk,/obj/item/weapon/reagent_containers/food/drinks/milk,/obj/item/weapon/storage/fancy/egg_box,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mo" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mp" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mq" = (/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mr" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ms" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark{name = "awaystart"},/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mt" = (/obj/machinery/light/small{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mn" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "refrigerator"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/storage/fancy/egg_box,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mo" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mp" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mq" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mr" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ms" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mt" = (/obj/machinery/light/small{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mu" = (/obj/structure/grille,/obj/structure/sign/vacuum{desc = "A warning sign which reads 'HOSTILE ATMOSPHERE AHEAD'"; name = "\improper HOSTILE ATMOSPHERE AHEAD"; pixel_x = 0},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mv" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mw" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; dir = 2; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mx" = (/obj/structure/table/wood,/obj/machinery/door_control{id = "awaydorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"my" = (/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mx" = (/obj/structure/table/wood,/obj/machinery/button/door{id = "awaydorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"my" = (/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mz" = (/obj/structure/closet/emcloset,/obj/structure/window,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mA" = (/obj/machinery/computer/arcade,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mB" = (/obj/machinery/vending/cigarette,/obj/structure/sign/poster{icon_state = "poster7"; pixel_y = -32; serial_number = 7; subtype = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mC" = (/obj/machinery/light/small{dir = 8},/obj/structure/stool/bed/chair/comfy/beige,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mD" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey{pixel_x = -6; pixel_y = 6},/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{pixel_x = 6; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{pixel_x = 3; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mE" = (/obj/structure/stool/bed/chair/comfy/beige,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mF" = (/obj/machinery/computer/shuttle,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mG" = (/obj/machinery/door/airlock/shuttle{name = "Shuttle Cockpit"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mH" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mI" = (/obj/structure/sign/vacuum{desc = "A beacon used by a teleporter."; icon = 'icons/obj/radio.dmi'; icon_state = "beacon"; name = "tracking beacon"},/obj/effect/landmark{name = "awaystart"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mJ" = (/obj/machinery/door/airlock/shuttle{name = "Shuttle Airlock"},/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mF" = (/obj/machinery/computer/shuttle,/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mG" = (/obj/machinery/door/airlock/shuttle{name = "Shuttle Cockpit"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mH" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mI" = (/obj/structure/sign/vacuum{desc = "A beacon used by a teleporter."; icon = 'icons/obj/radio.dmi'; icon_state = "beacon"; name = "tracking beacon"},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mJ" = (/obj/machinery/door/airlock/shuttle{name = "Shuttle Airlock"},/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mK" = (/obj/machinery/door/airlock/external,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mL" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mM" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/noticeboard{dir = 8; pixel_x = 32; pixel_y = 0},/obj/item/weapon/paper{info = "
Welcome to Moon Outpost 19! Property of Nanotrasen Inc. Staff Roster: -Dr. Gerald Rosswell: Research Director & Acting Captain -Dr. Sakuma Sano: Xenobiologist -Dr. Mark Douglas: Xenobiologist -Kenneth Cunningham: Security Officer-Ivan Volodin: Engineer -Mathias Kuester: Bartender -Sven Edling: Chef -Steve: Assistant Please enjoy your stay, and report any abnormalities to an officer."; name = "Welcome Notice"},/obj/machinery/camera{c_tag = "Arrivals South"; dir = 8; network = list("MO19")},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -665,28 +665,28 @@
"mO" = (/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 9; icon_state = "ltrails_1"},/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mP" = (/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 8; icon_state = "ltrails_1"},/turf/simulated/floor/plasteel{burnt = 1; carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-floorscorched2 (WEST)"; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mQ" = (/obj/machinery/door/airlock{id_tag = "awaydorm2"; name = "Dorm 2"},/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 8; icon_state = "ltrails_1"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mR" = (/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 5; icon_state = "ltrails_1"},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mS" = (/obj/machinery/light/small{dir = 4},/obj/machinery/alarm{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mR" = (/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 5; icon_state = "ltrails_1"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mS" = (/obj/machinery/light/small{dir = 4},/obj/machinery/alarm{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mT" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mU" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mV" = (/obj/structure/stool/bed/chair,/obj/machinery/light/small{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mW" = (/turf/simulated/shuttle/wall{icon_state = "swall2"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mX" = (/obj/machinery/light/small{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mU" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mV" = (/obj/structure/stool/bed/chair,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mW" = (/turf/simulated/wall/shuttle{icon_state = "swall2"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mX" = (/obj/machinery/light/small{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mY" = (/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; icon_state = "ltrails_1"},/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mZ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"na" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/assistantformal,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mZ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"na" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/assistantformal,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nb" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/generic,/obj/structure/window,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nc" = (/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nd" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ne" = (/obj/structure/filingcabinet,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nf" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/light/small,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ng" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/obj/machinery/light/small,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nc" = (/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/turf/simulated/wall/shuttle{icon_state = "swall_f5"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nd" = (/turf/simulated/floor/plasteel/shuttle,/turf/simulated/wall/shuttle{icon_state = "swall_f10"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ne" = (/obj/structure/filingcabinet,/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nf" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/light/small,/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ng" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/obj/machinery/light/small,/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nh" = (/turf/simulated/floor/plasteel{burnt = 1; carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-floorscorched2 (WEST)"; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"ni" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "damaged2"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-damaged2 (WEST)"; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nj" = (/obj/effect/decal/cleanable/dirt,/obj/item/trash/candy,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nk" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nl" = (/obj/structure/sign/vacuum{desc = "A warning sign which reads 'HOSTILE ATMOSPHERE AHEAD'"; name = "\improper HOSTILE ATMOSPHERE AHEAD"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nm" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nm" = (/turf/simulated/wall/shuttle{icon_state = "swall13"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nn" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"no" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"np" = (/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; icon_state = "ltrails_2"},/obj/machinery/camera{c_tag = "Dormitories"; dir = 4; network = list("MO19")},/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "damaged1"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-damaged1 (WEST)"; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -694,7 +694,7 @@
"nr" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"ns" = (/obj/structure/grille,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nt" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{carbon_dioxide = 48.7; heat_capacity = 1e+006; icon_plating = "asteroidplating"; icon_state = "asteroidplating"; nitrogen = 13.2; oxygen = 32.45; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nu" = (/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nu" = (/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/turf/simulated/wall/shuttle{icon_state = "swall_f9"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nv" = (/obj/machinery/washing_machine,/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; heat_capacity = 1e+006; icon_state = "barber"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nw" = (/obj/machinery/light/small{dir = 1},/obj/structure/window/reinforced{dir = 4; layer = 2.9},/obj/structure/table,/obj/structure/bedsheetbin,/obj/item/clothing/tie/black,/obj/item/clothing/under/lawyer/blacksuit,/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; heat_capacity = 1e+006; icon_state = "barber"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nx" = (/obj/machinery/alarm{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; dir = 2; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -706,20 +706,20 @@
"nD" = (/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 8; icon_state = "ltrails_2"},/turf/simulated/floor/plating{broken = 1; carbon_dioxide = 48.7; heat_capacity = 1e+006; icon_state = "platingdmg3"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-platingdmg3"; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nE" = (/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 8; icon_state = "ltrails_1"},/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-floorgrime (WEST)"; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nF" = (/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 6; icon_state = "ltrails_1"},/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-floorgrime (WEST)"; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nG" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/door_control{id = "awaydorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/effect/decal/remains/human{desc = "They look like human remains. The skeleton is laid out on its side and there seems to have been no sign of struggle."; layer = 4.1},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nH" = (/obj/structure/dresser,/obj/item/weapon/paper{info = "Bugs break out. I run to here and lock door. I hear door next to me break open and screams. All nice people here dead now. I no want to be eaten, and bottle always said to be coward way out, but person who say that is stupid. Mira, there is no escape for me, tell Alexis and Elena that father will never come home, and that I love you all. "; name = "Note"},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nG" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/button/door{id = "awaydorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/effect/decal/remains/human{desc = "They look like human remains. The skeleton is laid out on its side and there seems to have been no sign of struggle."; layer = 4.1},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nH" = (/obj/structure/dresser,/obj/item/weapon/paper{info = "Bugs break out. I run to here and lock door. I hear door next to me break open and screams. All nice people here dead now. I no want to be eaten, and bottle always said to be coward way out, but person who say that is stupid. Mira, there is no escape for me, tell Alexis and Elena that father will never come home, and that I love you all. "; name = "Note"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nI" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nJ" = (/obj/structure/sign/vacuum{desc = "A warning sign which reads 'HOSTILE ATMOSPHERE AHEAD'"; name = "\improper HOSTILE ATMOSPHERE AHEAD"; pixel_x = -32},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nK" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nL" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nM" = (/turf/simulated/floor/plasteel{carbon_dioxide = 48.7; dir = 4; heat_capacity = 1e+006; icon_state = "neutral"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nN" = (/obj/machinery/door/airlock{icon_state = "door_locked"; id_tag = "awaydorm3"; locked = 1; name = "Dorm 3"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nO" = (/obj/item/weapon/pen,/obj/item/weapon/storage/pill_bottle{pixel_y = 6},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nO" = (/obj/item/weapon/pen,/obj/item/weapon/storage/pill_bottle{pixel_y = 6},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nP" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nQ" = (/obj/structure/closet,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nR" = (/obj/structure/table,/obj/item/toy/cards/deck,/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "damaged1"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-damaged1 (WEST)"; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nS" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/burgundy,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nT" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nS" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/burgundy,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nT" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nU" = (/obj/structure/grille,/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nV" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating{carbon_dioxide = 48.7; heat_capacity = 1e+006; icon_plating = "asteroidplating"; icon_state = "asteroidplating"; nitrogen = 13.2; oxygen = 32.45; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nW" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/plasteel{burnt = 1; carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-floorscorched2 (WEST)"; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -730,16 +730,16 @@
"ob" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plating{carbon_dioxide = 48.7; heat_capacity = 1e+006; icon_plating = "asteroidplating"; icon_state = "asteroidplating"; nitrogen = 13.2; oxygen = 32.45; temperature = 251},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"oc" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"od" = (/obj/item/trash/candy,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"oe" = (/obj/item/weapon/shard,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"of" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"og" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"oh" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"oi" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"oj" = (/obj/item/stack/rods,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"ok" = (/obj/item/stack/cable_coil,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"ol" = (/obj/item/stack/cable_coil{amount = 5},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"om" = (/obj/item/stack/cable_coil{amount = 2; icon_state = "coil_red2"; item_state = "coil_red2"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"on" = (/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; item_state = "coil_red1"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"oe" = (/obj/item/weapon/shard,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"of" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"og" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"oh" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"oi" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"oj" = (/obj/item/stack/rods,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"ok" = (/obj/item/stack/cable_coil,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"ol" = (/obj/item/stack/cable_coil{amount = 5},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"om" = (/obj/item/stack/cable_coil{amount = 2; icon_state = "coil_red2"; item_state = "coil_red2"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"on" = (/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; item_state = "coil_red1"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"oo" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"op" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"oq" = (/turf/simulated/floor/plasteel{broken = 1; dir = 8; heat_capacity = 1e+006; icon_state = "damaged1"; tag = "icon-damaged1 (WEST)"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
@@ -749,7 +749,7 @@
"ou" = (/turf/simulated/floor/plasteel{broken = 1; dir = 8; heat_capacity = 1e+006; icon_state = "damaged5"; tag = "icon-damaged5 (WEST)"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"ov" = (/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"ow" = (/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"ox" = (/turf/simulated/shuttle/floor,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"ox" = (/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"oy" = (/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"oz" = (/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"oA" = (/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
@@ -764,7 +764,7 @@
"oJ" = (/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "damaged5"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-damaged5 (WEST)"; temperature = 251},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"oK" = (/turf/simulated/floor/plasteel{burnt = 1; carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-floorscorched1 (WEST)"; temperature = 251},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"oL" = (/turf/simulated/floor/plasteel{burnt = 1; carbon_dioxide = 48.7; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-floorscorched2 (WEST)"; temperature = 251},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"oM" = (/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"oM" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor2"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"oN" = (/turf/simulated/floor/plating{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"oO" = (/turf/simulated/floor/plating{broken = 1; carbon_dioxide = 48.7; heat_capacity = 1e+006; icon_state = "platingdmg1"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-platingdmg1"; temperature = 251},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"oP" = (/turf/simulated/floor/plating{broken = 1; carbon_dioxide = 48.7; heat_capacity = 1e+006; icon_state = "platingdmg2"; nitrogen = 13.2; oxygen = 32.4; tag = "icon-platingdmg2"; temperature = 251},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
diff --git a/_maps/RandomZLevels/spacebattle.dmm b/_maps/RandomZLevels/spacebattle.dmm
index d1bab276812..537b5aeccd2 100644
--- a/_maps/RandomZLevels/spacebattle.dmm
+++ b/_maps/RandomZLevels/spacebattle.dmm
@@ -1,129 +1,129 @@
"aa" = (/turf/simulated/mineral/random,/area/space)
"ab" = (/turf/space,/area/space)
-"ac" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate2)
+"ac" = (/turf/space,/turf/simulated/wall/shuttle{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate2)
"ad" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (NORTH)"; icon_state = "propulsion_r"; dir = 1},/turf/space,/area/awaymission/spacebattle/syndicate2)
"ae" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (NORTH)"; icon_state = "propulsion"; dir = 1},/turf/space,/area/awaymission/spacebattle/syndicate2)
"af" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (NORTH)"; icon_state = "propulsion_l"; dir = 1},/turf/space,/area/awaymission/spacebattle/syndicate2)
-"ag" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate2)
-"ah" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate2)
+"ag" = (/turf/space,/turf/simulated/wall/shuttle{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate2)
+"ah" = (/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate2)
"ai" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/syndicate2)
-"aj" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"ak" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"al" = (/mob/living/simple_animal/hostile/syndicate/ranged,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"am" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/space/hardsuit/syndi,/obj/item/clothing/head/helmet/space/hardsuit/syndi,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"an" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"ao" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"ap" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"aq" = (/mob/living/simple_animal/hostile/syndicate/melee,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"ar" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"as" = (/obj/structure/table/reinforced,/obj/item/weapon/grenade/empgrenade,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"at" = (/obj/structure/table/reinforced,/obj/item/ammo_casing/c10mm,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"au" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"av" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3)
+"aj" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"ak" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"al" = (/mob/living/simple_animal/hostile/syndicate/ranged,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"am" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/space/hardsuit/syndi,/obj/item/clothing/head/helmet/space/hardsuit/syndi,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"an" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"ao" = (/obj/machinery/sleeper,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"ap" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"aq" = (/mob/living/simple_animal/hostile/syndicate/melee,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"ar" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"as" = (/obj/structure/table/reinforced,/obj/item/weapon/grenade/empgrenade,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"at" = (/obj/structure/table/reinforced,/obj/item/ammo_casing/c10mm,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"au" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"av" = (/turf/space,/turf/simulated/wall/shuttle{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3)
"aw" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (NORTH)"; icon_state = "propulsion_r"; dir = 1},/turf/space,/area/awaymission/spacebattle/syndicate3)
"ax" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (NORTH)"; icon_state = "propulsion"; dir = 1},/turf/space,/area/awaymission/spacebattle/syndicate3)
"ay" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (NORTH)"; icon_state = "propulsion_l"; dir = 1},/turf/space,/area/awaymission/spacebattle/syndicate3)
-"az" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3)
-"aA" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/projectile/automatic/pistol,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"aB" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate3)
+"az" = (/turf/space,/turf/simulated/wall/shuttle{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3)
+"aA" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/projectile/automatic/pistol,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"aB" = (/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate3)
"aC" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/syndicate3)
-"aD" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
-"aE" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
-"aF" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
-"aG" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate2)
-"aH" = (/obj/structure/stool/bed/chair,/mob/living/simple_animal/hostile/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"aI" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate2)
-"aJ" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/space/hardsuit/syndi,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
-"aK" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
-"aL" = (/obj/machinery/computer/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"aM" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate2)
-"aN" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate2)
-"aO" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1)
+"aD" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
+"aE" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
+"aF" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
+"aG" = (/turf/space,/turf/simulated/wall/shuttle{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate2)
+"aH" = (/obj/structure/stool/bed/chair,/mob/living/simple_animal/hostile/syndicate,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"aI" = (/turf/space,/turf/simulated/wall/shuttle{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate2)
+"aJ" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/space/hardsuit/syndi,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
+"aK" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
+"aL" = (/obj/machinery/computer/shuttle,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"aM" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/turf/simulated/wall/shuttle{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate2)
+"aN" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/turf/simulated/wall/shuttle{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate2)
+"aO" = (/turf/space,/turf/simulated/wall/shuttle{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1)
"aP" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (NORTH)"; icon_state = "propulsion_r"; dir = 1},/turf/space,/area/awaymission/spacebattle/syndicate1)
"aQ" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (NORTH)"; icon_state = "propulsion"; dir = 1},/turf/space,/area/awaymission/spacebattle/syndicate1)
"aR" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (NORTH)"; icon_state = "propulsion_l"; dir = 1},/turf/space,/area/awaymission/spacebattle/syndicate1)
-"aS" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1)
-"aT" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/plating,/area/awaymission/spacebattle/syndicate2)
-"aU" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
-"aV" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate1)
+"aS" = (/turf/space,/turf/simulated/wall/shuttle{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1)
+"aT" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaymission/spacebattle/syndicate2)
+"aU" = (/obj/machinery/sleeper,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
+"aV" = (/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate1)
"aW" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/syndicate1)
"aX" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/syndicate2)
"aY" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/syndicate2)
-"aZ" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
-"ba" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"bb" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"bc" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
-"bd" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
+"aZ" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
+"ba" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"bb" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"bc" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
+"bd" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
"be" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/simulated/floor/plating,/area/awaymission/spacebattle/syndicate2)
-"bf" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
-"bg" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/space/hardsuit/syndi,/obj/item/clothing/head/helmet/space/hardsuit/syndi,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
-"bh" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
-"bi" = (/obj/structure/table/reinforced,/obj/item/clothing/gloves/combat,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
-"bj" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
-"bk" = (/obj/structure/table/reinforced,/obj/item/clothing/head/helmet/swat,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
-"bl" = (/obj/machinery/computer/pod{id = "spacebattlepod3"; name = "Hull Door Control"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
-"bm" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "spacebattlepod3"; name = "Front Hull Door"; opacity = 1},/turf/simulated/shuttle/plating,/area/awaymission/spacebattle/syndicate2)
-"bn" = (/obj/structure/table/reinforced,/obj/item/weapon/c4,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
-"bo" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
-"bp" = (/obj/structure/table/reinforced,/obj/item/weapon/c4,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
-"bq" = (/obj/structure/table/reinforced,/obj/item/weapon/grenade/spawnergrenade/manhacks,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
-"br" = (/obj/structure/table/reinforced,/obj/item/weapon/restraints/handcuffs,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
-"bs" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3)
-"bt" = (/obj/structure/stool/bed/chair,/mob/living/simple_animal/hostile/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
-"bu" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3)
-"bv" = (/obj/structure/table/reinforced,/obj/item/weapon/melee/energy/sword/saber/red,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
-"bw" = (/obj/machinery/computer/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
-"bx" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3)
-"by" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3)
-"bz" = (/obj/structure/table/reinforced,/obj/item/clothing/head/helmet/swat,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
+"bf" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
+"bg" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/space/hardsuit/syndi,/obj/item/clothing/head/helmet/space/hardsuit/syndi,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
+"bh" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
+"bi" = (/obj/structure/table/reinforced,/obj/item/clothing/gloves/combat,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
+"bj" = (/obj/machinery/sleeper,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
+"bk" = (/obj/structure/table/reinforced,/obj/item/clothing/head/helmet/swat,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
+"bl" = (/obj/machinery/computer/pod{id = "spacebattlepod3"; name = "Hull Door Control"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate2)
+"bm" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "spacebattlepod3"; name = "Front Hull Door"; opacity = 1},/turf/simulated/floor/plating,/area/awaymission/spacebattle/syndicate2)
+"bn" = (/obj/structure/table/reinforced,/obj/item/weapon/c4,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
+"bo" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
+"bp" = (/obj/structure/table/reinforced,/obj/item/weapon/c4,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
+"bq" = (/obj/structure/table/reinforced,/obj/item/weapon/grenade/spawnergrenade/manhacks,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
+"br" = (/obj/structure/table/reinforced,/obj/item/weapon/restraints/handcuffs,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
+"bs" = (/turf/space,/turf/simulated/wall/shuttle{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3)
+"bt" = (/obj/structure/stool/bed/chair,/mob/living/simple_animal/hostile/syndicate,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
+"bu" = (/turf/space,/turf/simulated/wall/shuttle{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3)
+"bv" = (/obj/structure/table/reinforced,/obj/item/weapon/melee/energy/sword/saber/red,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
+"bw" = (/obj/machinery/computer/shuttle,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate3)
+"bx" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/turf/simulated/wall/shuttle{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3)
+"by" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/turf/simulated/wall/shuttle{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate3)
+"bz" = (/obj/structure/table/reinforced,/obj/item/clothing/head/helmet/swat,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
"bA" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/simulated/floor/plating,/area/awaymission/spacebattle/syndicate3)
-"bB" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1)
-"bC" = (/obj/structure/stool/bed/chair,/mob/living/simple_animal/hostile/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
-"bD" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1)
-"bE" = (/obj/machinery/computer/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
-"bF" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1)
-"bG" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1)
+"bB" = (/turf/space,/turf/simulated/wall/shuttle{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1)
+"bC" = (/obj/structure/stool/bed/chair,/mob/living/simple_animal/hostile/syndicate,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
+"bD" = (/turf/space,/turf/simulated/wall/shuttle{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1)
+"bE" = (/obj/machinery/computer/shuttle,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate1)
+"bF" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/turf/simulated/wall/shuttle{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1)
+"bG" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/turf/simulated/wall/shuttle{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate1)
"bH" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/simulated/floor/plating,/area/awaymission/spacebattle/syndicate1)
-"bI" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
+"bI" = (/turf/space,/turf/simulated/wall/shuttle{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
"bJ" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (NORTH)"; icon_state = "propulsion_r"; dir = 1},/turf/space,/area/awaymission/spacebattle/cruiser)
-"bK" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/plating,/area/awaymission/spacebattle/cruiser)
+"bK" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"bL" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (NORTH)"; icon_state = "propulsion_l"; dir = 1},/turf/space,/area/awaymission/spacebattle/cruiser)
-"bM" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
-"bN" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/spacebattle/cruiser)
+"bM" = (/turf/space,/turf/simulated/wall/shuttle{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
+"bN" = (/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/spacebattle/cruiser)
"bO" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser)
-"bP" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/cruiser)
+"bP" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/cruiser)
"bQ" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser)
-"bR" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/cruiser)
-"bS" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/cruiser)
-"bT" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/awaymission/spacebattle/cruiser)
-"bU" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/awaymission/spacebattle/cruiser)
-"bV" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"},/area/awaymission/spacebattle/cruiser)
-"bW" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"},/area/awaymission/spacebattle/cruiser)
-"bX" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/awaymission/spacebattle/cruiser)
+"bR" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/cruiser)
+"bS" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/cruiser)
+"bT" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/awaymission/spacebattle/cruiser)
+"bU" = (/turf/simulated/wall/shuttle{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/awaymission/spacebattle/cruiser)
+"bV" = (/turf/simulated/wall/shuttle{tag = "icon-swall14"; icon_state = "swall14"},/area/awaymission/spacebattle/cruiser)
+"bW" = (/turf/simulated/wall/shuttle{tag = "icon-swall12"; icon_state = "swall12"},/area/awaymission/spacebattle/cruiser)
+"bX" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/awaymission/spacebattle/cruiser)
"bY" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l (EAST)"; icon_state = "burst_l"; dir = 4},/turf/space,/area/awaymission/spacebattle/cruiser)
"bZ" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-engine"; icon_state = "engine"},/area/awaymission/spacebattle/cruiser)
"ca" = (/obj/machinery/computer/telecomms/monitor,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"cb" = (/turf/simulated/floor/plasteel{tag = "icon-damaged5"; icon_state = "damaged5"},/area/awaymission/spacebattle/cruiser)
-"cc" = (/obj/machinery/computer/pod{id = "spacebattlepod"; name = "Hull Door Control"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/cruiser)
+"cc" = (/obj/machinery/computer/pod{id = "spacebattlepod"; name = "Hull Door Control"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/cruiser)
"cd" = (/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"ce" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
-"cf" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"},/area/awaymission/spacebattle/cruiser)
+"cf" = (/turf/simulated/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"},/area/awaymission/spacebattle/cruiser)
"cg" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/space,/area/awaymission/spacebattle/cruiser)
"ch" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
-"ci" = (/turf/simulated/floor/plasteel{tag = "icon-damaged5"; icon_state = "damaged5"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
-"cj" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "spacebattlepod"; name = "Front Hull Door"; opacity = 1; tag = "icon-pdoor0"},/turf/simulated/shuttle/plating,/area/awaymission/spacebattle/cruiser)
-"ck" = (/turf/simulated/floor/plasteel{tag = "icon-damaged4"; icon_state = "damaged4"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
+"ci" = (/turf/simulated/floor/plasteel{tag = "icon-damaged5"; icon_state = "damaged5"},/turf/simulated/wall/shuttle{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
+"cj" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "spacebattlepod"; name = "Front Hull Door"; opacity = 1; tag = "icon-pdoor0"},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
+"ck" = (/turf/simulated/floor/plasteel{tag = "icon-damaged4"; icon_state = "damaged4"},/turf/simulated/wall/shuttle{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
"cl" = (/mob/living/simple_animal/hostile/syndicate/melee/space,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
-"cm" = (/turf/simulated/floor/plasteel{tag = "icon-damaged2"; icon_state = "damaged2"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
+"cm" = (/turf/simulated/floor/plasteel{tag = "icon-damaged2"; icon_state = "damaged2"},/turf/simulated/wall/shuttle{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
"cn" = (/turf/simulated/floor/plasteel{tag = "icon-damaged4"; icon_state = "damaged4"},/area/awaymission/spacebattle/cruiser)
"co" = (/turf/simulated/floor/plasteel{tag = "icon-damaged3"; icon_state = "damaged3"},/area/awaymission/spacebattle/cruiser)
-"cp" = (/turf/simulated/floor/plasteel{tag = "icon-damaged5"; icon_state = "damaged5"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
+"cp" = (/turf/simulated/floor/plasteel{tag = "icon-damaged5"; icon_state = "damaged5"},/turf/simulated/wall/shuttle{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
"cq" = (/turf/simulated/floor/plasteel{tag = "icon-damaged1"; icon_state = "damaged1"},/area/awaymission/spacebattle/cruiser)
"cr" = (/obj/effect/landmark/corpse/engineer{mobname = "Rosen Miller"; name = "Rosen Miller"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"cs" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
-"ct" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"},/area/awaymission/spacebattle/cruiser)
-"cu" = (/turf/simulated/shuttle/wall{tag = "icon-swallc1"; icon_state = "swallc1"},/area/awaymission/spacebattle/cruiser)
-"cv" = (/turf/simulated/shuttle/wall{tag = "icon-swallc2"; icon_state = "swallc2"},/area/awaymission/spacebattle/cruiser)
+"ct" = (/turf/simulated/wall/shuttle{tag = "icon-swall7"; icon_state = "swall7"},/area/awaymission/spacebattle/cruiser)
+"cu" = (/turf/simulated/wall/shuttle{tag = "icon-swallc1"; icon_state = "swallc1"},/area/awaymission/spacebattle/cruiser)
+"cv" = (/turf/simulated/wall/shuttle{tag = "icon-swallc2"; icon_state = "swallc2"},/area/awaymission/spacebattle/cruiser)
"cw" = (/obj/machinery/power/smes/magical{desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit"},/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"cx" = (/obj/item/ammo_casing/c10mm,/obj/item/ammo_casing/c10mm,/turf/simulated/floor/plasteel{tag = "icon-damaged2"; icon_state = "damaged2"},/area/awaymission/spacebattle/cruiser)
"cy" = (/obj/item/stack/sheet/metal,/obj/item/ammo_casing/c10mm,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
@@ -133,7 +133,7 @@
"cC" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"cD" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/snacks/sausage,/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser)
"cE" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser)
-"cF" = (/obj/structure/table/reinforced,/obj/item/weapon/kitchenknife,/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser)
+"cF" = (/obj/structure/table/reinforced,/obj/item/weapon/kitchen/knife,/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser)
"cG" = (/obj/structure/table/reinforced,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser)
"cH" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser)
"cI" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser)
@@ -146,7 +146,7 @@
"cP" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"cQ" = (/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser)
"cR" = (/obj/item/stack/sheet/metal,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
-"cS" = (/turf/simulated/shuttle/wall{tag = "icon-swallc3"; icon_state = "swallc3"},/area/awaymission/spacebattle/cruiser)
+"cS" = (/turf/simulated/wall/shuttle{tag = "icon-swallc3"; icon_state = "swallc3"},/area/awaymission/spacebattle/cruiser)
"cT" = (/obj/effect/landmark/corpse/engineer{mobname = "Bill Sanchez"; name = "Bill Sanchez"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"cU" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser)
"cV" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/snacks/fries,/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/awaymission/spacebattle/cruiser)
@@ -157,7 +157,7 @@
"da" = (/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser)
"db" = (/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/spacebattle/cruiser)
"dc" = (/mob/living/simple_animal/hostile/syndicate/ranged/space,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
-"dd" = (/obj/machinery/computer/pod{id = "spacebattlepod2"; name = "Hull Door Control"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/cruiser)
+"dd" = (/obj/machinery/computer/pod{id = "spacebattlepod2"; name = "Hull Door Control"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/cruiser)
"de" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"df" = (/obj/machinery/shieldgen{anchored = 1},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser)
"dg" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (EAST)"; icon_state = "propulsion_r"; dir = 4},/turf/space,/area/awaymission/spacebattle/cruiser)
@@ -169,15 +169,15 @@
"dm" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"dn" = (/obj/effect/landmark/corpse/doctor{mobname = "Daniel Kalla"; name = "Daniel Kalla"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"do" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/spacebattle/cruiser)
-"dp" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/awaymission/spacebattle/cruiser)
-"dq" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/awaymission/spacebattle/cruiser)
-"dr" = (/turf/simulated/floor/plasteel{tag = "icon-damaged4"; icon_state = "damaged4"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
-"ds" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "spacebattlepod2"; name = "Front Hull Door"; opacity = 1; tag = "icon-pdoor0"},/turf/simulated/shuttle/plating,/area/awaymission/spacebattle/cruiser)
-"dt" = (/turf/simulated/floor/plasteel{tag = "icon-damaged1"; icon_state = "damaged1"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
-"du" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/awaymission/spacebattle/cruiser)
-"dv" = (/obj/effect/decal/cleanable/blood,/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"},/area/awaymission/spacebattle/cruiser)
-"dw" = (/turf/simulated/shuttle/wall{tag = "icon-swall15"; icon_state = "swall15"},/area/awaymission/spacebattle/cruiser)
-"dx" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"},/area/awaymission/spacebattle/cruiser)
+"dp" = (/turf/simulated/wall/shuttle{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/awaymission/spacebattle/cruiser)
+"dq" = (/turf/simulated/wall/shuttle{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/awaymission/spacebattle/cruiser)
+"dr" = (/turf/simulated/floor/plasteel{tag = "icon-damaged4"; icon_state = "damaged4"},/turf/simulated/wall/shuttle{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
+"ds" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "spacebattlepod2"; name = "Front Hull Door"; opacity = 1; tag = "icon-pdoor0"},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
+"dt" = (/turf/simulated/floor/plasteel{tag = "icon-damaged1"; icon_state = "damaged1"},/turf/simulated/wall/shuttle{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
+"du" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/awaymission/spacebattle/cruiser)
+"dv" = (/obj/effect/decal/cleanable/blood,/turf/simulated/wall/shuttle{tag = "icon-swall12"; icon_state = "swall12"},/area/awaymission/spacebattle/cruiser)
+"dw" = (/turf/simulated/wall/shuttle{tag = "icon-swall15"; icon_state = "swall15"},/area/awaymission/spacebattle/cruiser)
+"dx" = (/turf/simulated/wall/shuttle{tag = "icon-swall11"; icon_state = "swall11"},/area/awaymission/spacebattle/cruiser)
"dy" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/spacebattle/cruiser)
"dz" = (/obj/structure/rack,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/awaymission/spacebattle/cruiser)
"dA" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/awaymission/spacebattle/cruiser)
@@ -189,12 +189,12 @@
"dG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/engine,/area/awaymission/spacebattle/cruiser)
"dH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/engine,/area/awaymission/spacebattle/cruiser)
"dI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/engine,/area/awaymission/spacebattle/cruiser)
-"dJ" = (/turf/simulated/floor/plasteel{tag = "icon-damaged3"; icon_state = "damaged3"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
+"dJ" = (/turf/simulated/floor/plasteel{tag = "icon-damaged3"; icon_state = "damaged3"},/turf/simulated/wall/shuttle{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/cruiser)
"dK" = (/obj/item/stack/rods,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"dL" = (/obj/mecha/medical/odysseus,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"dM" = (/obj/mecha/working/ripley/firefighter,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
-"dN" = (/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
-"dO" = (/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/mecha_parts/mecha_equipment/tool/drill,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
+"dN" = (/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
+"dO" = (/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/mecha_parts/mecha_equipment/drill,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"dP" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"dQ" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"dR" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/spacebattle/cruiser)
@@ -212,7 +212,7 @@
"ed" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"ee" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"ef" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
-"eg" = (/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
+"eg" = (/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/mecha_parts/mecha_equipment/syringe_gun,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"eh" = (/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/mecha_parts/mecha_equipment/repair_droid,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"ei" = (/mob/living/simple_animal/hostile/syndicate/melee,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/spacebattle/cruiser)
"ej" = (/obj/structure/closet/l3closet/security,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/awaymission/spacebattle/cruiser)
@@ -223,40 +223,40 @@
"eo" = (/obj/machinery/gateway/centeraway{calibrated = 0},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"ep" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"eq" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/spacebattle/cruiser)
-"er" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate4)
-"es" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate4)
-"et" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate4)
+"er" = (/turf/space,/turf/simulated/wall/shuttle{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate4)
+"es" = (/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate4)
+"et" = (/turf/space,/turf/simulated/wall/shuttle{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate4)
"eu" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"ev" = (/obj/machinery/gateway,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"ew" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"ex" = (/mob/living/simple_animal/hostile/syndicate/ranged/space,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/spacebattle/cruiser)
"ey" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/awaymission/spacebattle/cruiser)
-"ez" = (/obj/effect/landmark/corpse/bridgeofficer{mobname = "Davis Hume"; name = "Davis Hume"},/obj/item/weapon/gun/projectile/shotgun/combat,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
+"ez" = (/obj/effect/landmark/corpse/bridgeofficer{mobname = "Davis Hume"; name = "Davis Hume"},/obj/item/weapon/gun/projectile/shotgun/automatic/combat,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"eA" = (/obj/item/ammo_casing/shotgun,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"eB" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/awaymission/spacebattle/cruiser)
-"eC" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/awaymission/spacebattle/cruiser)
+"eC" = (/turf/simulated/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/awaymission/spacebattle/cruiser)
"eD" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{dir = 9; icon_state = "blue"},/area/awaymission/spacebattle/cruiser)
"eE" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{dir = 1; icon_state = "blue"},/area/awaymission/spacebattle/cruiser)
"eF" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{tag = "icon-bluefull"; icon_state = "bluefull"},/area/awaymission/spacebattle/cruiser)
"eG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"eH" = (/mob/living/simple_animal/hostile/syndicate/melee/space,/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser)
"eI" = (/obj/effect/landmark/corpse/engineer/rig{corpseidjob = "Gunner"; mobname = "Peter West"; name = "Peter West"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser)
-"eJ" = (/turf/simulated/shuttle/wall{tag = "icon-swall13"; icon_state = "swall13"; dir = 2},/area/awaymission/spacebattle/cruiser)
-"eK" = (/turf/simulated/shuttle/wall{tag = "icon-swallc4"; icon_state = "swallc4"},/area/awaymission/spacebattle/cruiser)
-"eL" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate4)
-"eM" = (/obj/machinery/computer/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate4)
+"eJ" = (/turf/simulated/wall/shuttle{tag = "icon-swall13"; icon_state = "swall13"; dir = 2},/area/awaymission/spacebattle/cruiser)
+"eK" = (/turf/simulated/wall/shuttle{tag = "icon-swallc4"; icon_state = "swallc4"},/area/awaymission/spacebattle/cruiser)
+"eL" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate4)
+"eM" = (/obj/machinery/computer/shuttle,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate4)
"eN" = (/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 8},/area/awaymission/spacebattle/cruiser)
"eO" = (/obj/item/weapon/shield/energy,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"eP" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"eQ" = (/obj/machinery/computer/med_data,/turf/simulated/floor/plasteel{tag = "icon-bluefull"; icon_state = "bluefull"},/area/awaymission/spacebattle/cruiser)
"eR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
-"eS" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate4)
-"eT" = (/obj/structure/stool/bed/chair{dir = 1},/mob/living/simple_animal/hostile/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate4)
+"eS" = (/obj/machinery/sleeper,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate4)
+"eT" = (/obj/structure/stool/bed/chair{dir = 1},/mob/living/simple_animal/hostile/syndicate,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate4)
"eU" = (/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"eV" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/condiment/saltshaker,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/spacebattle/cruiser)
"eW" = (/obj/structure/table/reinforced,/obj/item/weapon/kitchen/utensil/fork,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/spacebattle/cruiser)
"eX" = (/obj/effect/landmark/corpse/syndicatesoldier,/obj/item/weapon/melee/energy/sword/saber/red,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
-"eY" = (/obj/effect/landmark/corpse/bridgeofficer{mobname = "Kurt Kliest"; name = "Kurt Kliest"},/obj/item/weapon/gun/projectile/shotgun/combat,/obj/item/ammo_casing/shotgun,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
+"eY" = (/obj/effect/landmark/corpse/bridgeofficer{mobname = "Kurt Kliest"; name = "Kurt Kliest"},/obj/item/weapon/gun/projectile/shotgun/automatic/combat,/obj/item/ammo_casing/shotgun,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"eZ" = (/obj/item/ammo_casing/shotgun,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"fa" = (/obj/machinery/computer/crew,/turf/simulated/floor/plasteel{tag = "icon-bluefull"; icon_state = "bluefull"},/area/awaymission/spacebattle/cruiser)
"fb" = (/obj/effect/landmark/corpse/engineer/rig{corpseidjob = "Gunner"; mobname = "Eric Abnett"; name = "Eric Abnett"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser)
@@ -267,15 +267,15 @@
"fg" = (/obj/item/weapon/hand_labeler,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"fh" = (/obj/machinery/door/poddoor{id = "spacebattlestorage"; name = "Secure Storage"},/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"fi" = (/mob/living/simple_animal/hostile/syndicate/ranged,/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 8},/area/awaymission/spacebattle/cruiser)
-"fj" = (/obj/machinery/computer/security/telescreen,/turf/simulated/shuttle/wall,/area/awaymission/spacebattle/cruiser)
-"fk" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/awaymission/spacebattle/cruiser)
-"fl" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate4)
+"fj" = (/obj/machinery/computer/security/telescreen,/turf/simulated/wall/shuttle,/area/awaymission/spacebattle/cruiser)
+"fk" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/awaymission/spacebattle/cruiser)
+"fl" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate4)
"fm" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/material,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"fn" = (/obj/structure/closet/crate,/obj/item/weapon/light/tube,/obj/item/weapon/light/tube,/obj/item/weapon/light/tube,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"fo" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "blue"},/area/awaymission/spacebattle/cruiser)
"fp" = (/obj/effect/landmark/corpse/syndicatesoldier,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/ammo_casing/c10mm,/obj/item/ammo_casing/c10mm,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel{dir = 1; icon_state = "blue"},/area/awaymission/spacebattle/cruiser)
"fq" = (/obj/item/ammo_casing/c10mm,/obj/item/ammo_casing/c10mm,/turf/simulated/floor/plasteel{dir = 1; icon_state = "blue"},/area/awaymission/spacebattle/cruiser)
-"fr" = (/obj/effect/landmark/corpse/bridgeofficer{mobname = "Walter Strider"; name = "Walter Strider"},/obj/item/weapon/gun/projectile/shotgun/combat,/obj/item/ammo_casing/c10mm,/obj/item/ammo_casing/c10mm,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel{dir = 1; icon_state = "blue"},/area/awaymission/spacebattle/cruiser)
+"fr" = (/obj/effect/landmark/corpse/bridgeofficer{mobname = "Walter Strider"; name = "Walter Strider"},/obj/item/weapon/gun/projectile/shotgun/automatic/combat,/obj/item/ammo_casing/c10mm,/obj/item/ammo_casing/c10mm,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel{dir = 1; icon_state = "blue"},/area/awaymission/spacebattle/cruiser)
"fs" = (/obj/item/ammo_casing/shotgun,/turf/simulated/floor/plasteel{dir = 1; icon_state = "bluecorner"},/area/awaymission/spacebattle/cruiser)
"ft" = (/obj/item/ammo_casing/a357,/obj/item/ammo_casing/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/effect/landmark/corpse/commander{mobname = "Aaron Bowden"; name = "Aaron Bowden"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"fu" = (/obj/structure/stool/bed/chair{dir = 4},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
@@ -327,7 +327,7 @@
"go" = (/obj/structure/artilleryplaceholder{tag = "icon-35"; icon_state = "35"},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser)
"gp" = (/obj/structure/closet/crate/secure/weapon,/obj/item/ammo_casing/a357,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"gq" = (/obj/structure/closet/crate,/obj/item/weapon/lipstick/black,/obj/item/weapon/lipstick/jade,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
-"gr" = (/obj/machinery/door_control{dir = 2; id = "spacebattlestorage"; name = "Secure Storage"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
+"gr" = (/obj/machinery/button/door{dir = 2; id = "spacebattlestorage"; name = "Secure Storage"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"gs" = (/obj/machinery/computer/operating,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/awaymission/spacebattle/cruiser)
"gt" = (/obj/structure/table/reinforced,/obj/item/weapon/scalpel,/obj/item/weapon/circular_saw,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/awaymission/spacebattle/cruiser)
"gu" = (/obj/structure/table/reinforced,/obj/item/weapon/retractor,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/awaymission/spacebattle/cruiser)
@@ -335,12 +335,12 @@
"gw" = (/obj/structure/table/reinforced,/obj/item/weapon/scalpel,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/awaymission/spacebattle/cruiser)
"gx" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser)
"gy" = (/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser)
-"gz" = (/obj/item/weapon/gun/projectile/shotgun/combat,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
-"gA" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate4)
-"gB" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate4)
+"gz" = (/obj/item/weapon/gun/projectile/shotgun/automatic/combat,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
+"gA" = (/turf/space,/turf/simulated/wall/shuttle{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate4)
+"gB" = (/turf/space,/turf/simulated/wall/shuttle{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate4)
"gC" = (/obj/structure/closet/crate/secure/weapon,/obj/item/weapon/gun/energy/laser,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"gD" = (/obj/structure/closet/crate,/obj/item/stack/spacecash/c10,/obj/item/stack/spacecash/c10,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
-"gE" = (/obj/effect/decal/cleanable/blood,/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"},/area/awaymission/spacebattle/cruiser)
+"gE" = (/obj/effect/decal/cleanable/blood,/turf/simulated/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"},/area/awaymission/spacebattle/cruiser)
"gF" = (/obj/effect/landmark/corpse/doctor{mobname = "Adam Smith"; name = "Adam Smith"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"gG" = (/obj/structure/optable,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/spacebattle/cruiser)
"gH" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/spacebattle/cruiser)
@@ -352,7 +352,7 @@
"gN" = (/obj/machinery/computer/secure_data,/turf/simulated/floor/plasteel{tag = "icon-bluefull"; icon_state = "bluefull"},/area/awaymission/spacebattle/cruiser)
"gO" = (/obj/effect/landmark/corpse/engineer/rig{corpseidjob = "Gunner"; name = "Jeremy Tailor"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser)
"gP" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/syndicate7)
-"gQ" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate7)
+"gQ" = (/turf/space,/turf/simulated/wall/shuttle{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate7)
"gR" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/syndicate4)
"gS" = (/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"gT" = (/obj/item/weapon/ore/bananium,/obj/item/weapon/ore/bananium,/obj/item/weapon/ore/bananium,/obj/item/weapon/ore/bananium,/obj/item/weapon/ore/bananium,/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
@@ -363,16 +363,16 @@
"gY" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 10},/area/awaymission/spacebattle/cruiser)
"gZ" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/awaymission/spacebattle/cruiser)
"ha" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
-"hb" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate7)
-"hc" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate7)
+"hb" = (/turf/space,/turf/simulated/wall/shuttle{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate7)
+"hc" = (/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate7)
"hd" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/awaymission/spacebattle/syndicate4)
-"he" = (/obj/item/weapon/pickaxe,/obj/item/weapon/pickaxe/plasmacutter,/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
+"he" = (/obj/item/weapon/pickaxe,/obj/item/weapon/gun/energy/plasmacutter,/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"hf" = (/obj/item/weapon/circular_saw,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/spacebattle/cruiser)
"hg" = (/obj/structure/table/wood,/obj/item/weapon/paper_bin,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser)
"hh" = (/obj/effect/landmark/corpse/engineer/rig{corpseidjob = "Gunner"; mobname = "Dan Hedricks"; name = "Dan Hedricks"},/obj/effect/decal/cleanable/blood,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/cruiser)
"hi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/spacebattle/syndicate7)
-"hj" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate7)
-"hk" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate7)
+"hj" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate7)
+"hk" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate7)
"hl" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/syndicate7)
"hm" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (WEST)"; icon_state = "propulsion_r"; dir = 8},/turf/space,/area/awaymission/spacebattle/syndicate7)
"hn" = (/obj/structure/largecrate,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
@@ -394,8 +394,8 @@
"hD" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/spacebattle/cruiser)
"hE" = (/obj/structure/table/wood,/obj/item/device/violin,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser)
"hF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/engine,/area/awaymission/spacebattle/cruiser)
-"hG" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate7)
-"hH" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/awaymission/spacebattle/cruiser)
+"hG" = (/turf/space,/turf/simulated/wall/shuttle{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate7)
+"hH" = (/turf/simulated/wall/shuttle{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/awaymission/spacebattle/cruiser)
"hI" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/spacebattle/cruiser)
"hJ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/captain,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser)
"hK" = (/obj/structure/closet/secure_closet/captains,/turf/simulated/floor/wood,/area/awaymission/spacebattle/cruiser)
@@ -406,17 +406,17 @@
"hP" = (/obj/structure/grille,/obj/structure/window/reinforced,/turf/simulated/floor/engine,/area/awaymission/spacebattle/cruiser)
"hQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/engine,/area/awaymission/spacebattle/cruiser)
"hR" = (/obj/effect/landmark/corpse/engineer{mobname = "Javier Wismer"; name = "Javier Wismer"},/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
-"hS" = (/obj/machinery/computer/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate7)
-"hT" = (/obj/structure/stool/bed/chair{dir = 8},/mob/living/simple_animal/hostile/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate7)
-"hU" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate7)
+"hS" = (/obj/machinery/computer/shuttle,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate7)
+"hT" = (/obj/structure/stool/bed/chair{dir = 8},/mob/living/simple_animal/hostile/syndicate,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate7)
+"hU" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate7)
"hV" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser)
"hW" = (/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser)
"hX" = (/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser)
"hY" = (/obj/structure/toilet,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser)
"hZ" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/spacebattle/cruiser)
-"ia" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"},/area/awaymission/spacebattle/cruiser)
+"ia" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s9"; icon_state = "swall_s9"},/area/awaymission/spacebattle/cruiser)
"ib" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser)
-"ic" = (/turf/simulated/shuttle/wall{tag = "icon-swall1"; icon_state = "swall1"},/area/awaymission/spacebattle/cruiser)
+"ic" = (/turf/simulated/wall/shuttle{tag = "icon-swall1"; icon_state = "swall1"},/area/awaymission/spacebattle/cruiser)
"id" = (/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/spacebattle/cruiser)
"ie" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/o2,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/spacebattle/cruiser)
"if" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser)
@@ -427,7 +427,7 @@
"ik" = (/obj/item/ammo_casing/c10mm,/obj/item/ammo_casing/c10mm,/obj/item/ammo_casing/c10mm,/obj/item/ammo_casing/c10mm,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser)
"il" = (/obj/machinery/sleeper,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/spacebattle/cruiser)
"im" = (/obj/machinery/sleep_console,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/spacebattle/cruiser)
-"in" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate7)
+"in" = (/turf/space,/turf/simulated/wall/shuttle{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate7)
"io" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/spacebattle/cruiser)
"ip" = (/obj/machinery/sleeper,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 1},/area/awaymission/spacebattle/cruiser)
"iq" = (/obj/machinery/sleep_console,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 1},/area/awaymission/spacebattle/cruiser)
@@ -439,41 +439,41 @@
"iw" = (/obj/effect/landmark/corpse/engineer{mobname = "Mercutio"; name = "Mercutio"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"ix" = (/obj/structure/lattice,/turf/space,/area/space)
"iy" = (/obj/effect/landmark/corpse/syndicatesoldier,/turf/space,/area/space)
-"iz" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/space)
-"iA" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/space)
+"iz" = (/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/space)
+"iA" = (/turf/space,/turf/simulated/wall/shuttle{dir = 1; icon_state = "diagonalWall3"},/area/space)
"iB" = (/obj/machinery/sleeper,/turf/simulated/floor/plasteel/airless{tag = "icon-floor4 (SOUTHWEST)"; icon_state = "floor4"; dir = 10},/area/space)
"iC" = (/turf/simulated/floor/plasteel/airless{tag = "icon-floor4 (SOUTHWEST)"; icon_state = "floor4"; dir = 10},/area/space)
"iD" = (/obj/effect/landmark/corpse/syndicatesoldier,/turf/simulated/floor/plasteel/airless{tag = "icon-floor4 (SOUTHWEST)"; icon_state = "floor4"; dir = 10},/area/space)
"iE" = (/turf/simulated/mineral/clown,/area/space)
"iF" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel/airless{tag = "icon-floor4 (SOUTHWEST)"; icon_state = "floor4"; dir = 10},/area/space)
"iG" = (/obj/item/stack/rods,/turf/simulated/floor/plasteel/airless{tag = "icon-floor4 (SOUTHWEST)"; icon_state = "floor4"; dir = 10},/area/space)
-"iH" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate5)
-"iI" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate5)
-"iJ" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate5)
+"iH" = (/turf/space,/turf/simulated/wall/shuttle{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate5)
+"iI" = (/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate5)
+"iJ" = (/turf/space,/turf/simulated/wall/shuttle{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate5)
"iK" = (/obj/machinery/sleeper,/turf/simulated/floor/plasteel/airless,/area/space)
-"iL" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate5)
-"iM" = (/obj/machinery/computer/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate5)
-"iN" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/space)
-"iO" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/space)
-"iP" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate5)
-"iQ" = (/obj/structure/stool/bed/chair{dir = 1},/mob/living/simple_animal/hostile/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate5)
+"iL" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate5)
+"iM" = (/obj/machinery/computer/shuttle,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate5)
+"iN" = (/turf/space,/turf/simulated/wall/shuttle{icon_state = "diagonalWall3"},/area/space)
+"iO" = (/turf/space,/turf/simulated/wall/shuttle{dir = 4; icon_state = "diagonalWall3"},/area/space)
+"iP" = (/obj/machinery/sleeper,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate5)
+"iQ" = (/obj/structure/stool/bed/chair{dir = 1},/mob/living/simple_animal/hostile/syndicate,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate5)
"iR" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/space)
"iS" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/space)
-"iT" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate5)
-"iU" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate5)
-"iV" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate5)
+"iT" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate5)
+"iU" = (/turf/space,/turf/simulated/wall/shuttle{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate5)
+"iV" = (/turf/space,/turf/simulated/wall/shuttle{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate5)
"iW" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/syndicate5)
"iX" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/awaymission/spacebattle/syndicate5)
-"iY" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate6)
-"iZ" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate6)
-"ja" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate6)
-"jb" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate6)
-"jc" = (/obj/machinery/computer/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate6)
-"jd" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate6)
-"je" = (/obj/structure/stool/bed/chair{dir = 1},/mob/living/simple_animal/hostile/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate6)
-"jf" = (/obj/machinery/door/airlock/external,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate6)
-"jg" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate6)
-"jh" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate6)
+"iY" = (/turf/space,/turf/simulated/wall/shuttle{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate6)
+"iZ" = (/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/spacebattle/syndicate6)
+"ja" = (/turf/space,/turf/simulated/wall/shuttle{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate6)
+"jb" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate6)
+"jc" = (/obj/machinery/computer/shuttle,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate6)
+"jd" = (/obj/machinery/sleeper,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate6)
+"je" = (/obj/structure/stool/bed/chair{dir = 1},/mob/living/simple_animal/hostile/syndicate,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate6)
+"jf" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/spacebattle/syndicate6)
+"jg" = (/turf/space,/turf/simulated/wall/shuttle{icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate6)
+"jh" = (/turf/space,/turf/simulated/wall/shuttle{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/spacebattle/syndicate6)
"ji" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission/spacebattle/syndicate6)
"jj" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/awaymission/spacebattle/syndicate6)
"jk" = (/turf/simulated/floor/plating/asteroid/airless,/area/space)
diff --git a/_maps/RandomZLevels/spacehotel.dmm b/_maps/RandomZLevels/spacehotel.dmm
index 4fea9e60517..8b6a43e2b7e 100644
--- a/_maps/RandomZLevels/spacehotel.dmm
+++ b/_maps/RandomZLevels/spacehotel.dmm
@@ -8,7 +8,7 @@
"ah" = (/obj/item/stack/cable_coil/random,/obj/effect/decal/remains/human,/turf/simulated/floor/plating,/area/awaymission)
"ai" = (/turf/simulated/floor/plating,/area/awaymission)
"aj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/awaymission)
-"ak" = (/obj/machinery/power/smes/magical,/turf/simulated/shuttle/plating,/area/awaymission)
+"ak" = (/obj/machinery/power/smes/magical,/turf/simulated/floor/plating,/area/awaymission)
"al" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/awaymission)
"am" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/awaymission)
"an" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/awaymission)
@@ -16,13 +16,13 @@
"ap" = (/obj/machinery/door/airlock/highsecurity,/turf/simulated/floor/plating,/area/awaymission)
"aq" = (/turf/unsimulated/beach/water,/area/awaymission)
"ar" = (/obj/structure/window{dir = 4},/obj/machinery/shower,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/awaymission)
-"as" = (/obj/structure/rack,/obj/item/clothing/suit/apron,/obj/item/clothing/suit/hazardvest,/obj/item/clothing/suit/holidaypriest,/obj/item/clothing/suit/judgerobe,/obj/item/clothing/suit/labcoat,/obj/item/clothing/suit/nun,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/wizrobe/fake,/obj/item/clothing/suit/wizrobe/marisa/fake,/obj/effect/decal/cleanable/greenglow,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"at" = (/obj/structure/rack,/obj/item/clothing/head/collectable/police,/obj/item/clothing/head/nun_hood,/obj/item/clothing/head/mailman,/obj/item/clothing/head/nursehat,/obj/item/clothing/head/wizard/fake,/obj/item/clothing/head/powdered_wig,/obj/item/clothing/head/wizard/marisa/fake,/obj/machinery/camera{c_tag = "Gold Suite"; c_tag_order = 999; network = list("Hotel")},/obj/item/clothing/mask/gas/sexyclown,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"au" = (/obj/structure/rack,/obj/item/clothing/gloves/latex,/obj/item/clothing/gloves/latex,/obj/item/clothing/head/kitty,/obj/item/clothing/head/rabbitears,/obj/item/clothing/mask/muzzle,/obj/item/clothing/tie/stethoscope,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"av" = (/obj/structure/dresser,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"aw" = (/obj/structure/table/wood,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"ax" = (/obj/structure/rack,/obj/item/clothing/suit/apron,/obj/item/clothing/suit/hazardvest,/obj/item/clothing/suit/holidaypriest,/obj/item/clothing/suit/judgerobe,/obj/item/clothing/suit/labcoat,/obj/item/clothing/suit/nun,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/wizrobe/fake,/obj/item/clothing/suit/xenos,/obj/item/clothing/suit/wizrobe/marisa/fake,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"ay" = (/obj/structure/rack,/obj/item/clothing/head/collectable/police,/obj/item/clothing/head/nun_hood,/obj/item/clothing/head/mailman,/obj/item/clothing/head/nursehat,/obj/item/clothing/head/wizard/fake,/obj/item/clothing/head/powdered_wig,/obj/item/clothing/head/xenos,/obj/item/clothing/head/wizard/marisa/fake,/obj/machinery/camera{c_tag = "Silver Suite"; c_tag_order = 999; network = list("Hotel")},/obj/item/clothing/mask/gas/sexyclown,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"as" = (/obj/structure/rack,/obj/item/clothing/suit/apron,/obj/item/clothing/suit/hazardvest,/obj/item/clothing/suit/holidaypriest,/obj/item/clothing/suit/judgerobe,/obj/item/clothing/suit/toggle/labcoat,/obj/item/clothing/suit/nun,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/wizrobe/fake,/obj/item/clothing/suit/wizrobe/marisa/fake,/obj/effect/decal/cleanable/greenglow,/turf/simulated/floor/carpet,/area/awaymission)
+"at" = (/obj/structure/rack,/obj/item/clothing/head/collectable/police,/obj/item/clothing/head/nun_hood,/obj/item/clothing/head/mailman,/obj/item/clothing/head/nursehat,/obj/item/clothing/head/wizard/fake,/obj/item/clothing/head/powdered_wig,/obj/item/clothing/head/wizard/marisa/fake,/obj/machinery/camera{c_tag = "Gold Suite"; c_tag_order = 999; network = list("Hotel")},/obj/item/clothing/mask/gas/sexyclown,/turf/simulated/floor/carpet,/area/awaymission)
+"au" = (/obj/structure/rack,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/head/kitty,/obj/item/clothing/head/rabbitears,/obj/item/clothing/mask/muzzle,/obj/item/clothing/tie/stethoscope,/turf/simulated/floor/carpet,/area/awaymission)
+"av" = (/obj/structure/dresser,/turf/simulated/floor/carpet,/area/awaymission)
+"aw" = (/obj/structure/table/wood,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/awaymission)
+"ax" = (/obj/structure/rack,/obj/item/clothing/suit/apron,/obj/item/clothing/suit/hazardvest,/obj/item/clothing/suit/holidaypriest,/obj/item/clothing/suit/judgerobe,/obj/item/clothing/suit/toggle/labcoat,/obj/item/clothing/suit/nun,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/wizrobe/fake,/obj/item/clothing/suit/xenos,/obj/item/clothing/suit/wizrobe/marisa/fake,/turf/simulated/floor/carpet,/area/awaymission)
+"ay" = (/obj/structure/rack,/obj/item/clothing/head/collectable/police,/obj/item/clothing/head/nun_hood,/obj/item/clothing/head/mailman,/obj/item/clothing/head/nursehat,/obj/item/clothing/head/wizard/fake,/obj/item/clothing/head/powdered_wig,/obj/item/clothing/head/xenos,/obj/item/clothing/head/wizard/marisa/fake,/obj/machinery/camera{c_tag = "Silver Suite"; c_tag_order = 999; network = list("Hotel")},/obj/item/clothing/mask/gas/sexyclown,/turf/simulated/floor/carpet,/area/awaymission)
"az" = (/turf/simulated/floor/wood,/area/awaymission)
"aA" = (/obj/structure/toilet,/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Bathroom1"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
"aB" = (/obj/structure/toilet,/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Bathroom2"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
@@ -31,9 +31,9 @@
"aE" = (/obj/structure/toilet,/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Bathroom3"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
"aF" = (/obj/structure/toilet,/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Bathroom4"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
"aG" = (/obj/structure/window{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/awaymission)
-"aH" = (/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"aI" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/captain,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"aJ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/hop,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"aH" = (/turf/simulated/floor/carpet,/area/awaymission)
+"aI" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/captain,/turf/simulated/floor/carpet,/area/awaymission)
+"aJ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/hop,/turf/simulated/floor/carpet,/area/awaymission)
"aK" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/wood,/area/awaymission)
"aL" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/wood,/area/awaymission)
"aM" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/wood,/area/awaymission)
@@ -50,9 +50,9 @@
"aX" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
"aY" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
"aZ" = (/obj/machinery/door/window/eastleft,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
-"ba" = (/turf/simulated/floor/fancy/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
-"bb" = (/obj/machinery/door_control{id = "Gold Suite"; name = "Gold Suite Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"bc" = (/obj/machinery/door_control{id = "Silver Suite"; name = "Silver Suite Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"ba" = (/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
+"bb" = (/obj/machinery/button/door{id = "Gold Suite"; name = "Gold Suite Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/awaymission)
+"bc" = (/obj/machinery/button/door{id = "Silver Suite"; name = "Silver Suite Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/awaymission)
"bd" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor/wood,/area/awaymission)
"be" = (/obj/machinery/gateway,/turf/simulated/floor/wood,/area/awaymission)
"bf" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor/wood,/area/awaymission)
@@ -60,18 +60,18 @@
"bh" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
"bi" = (/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
"bj" = (/obj/structure/mirror,/obj/structure/sink{icon_state = "sink"; dir = 4; pixel_x = -12; pixel_y = 2},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
-"bk" = (/obj/machinery/door/airlock/gold{id_tag = "Gold Suite"; name = "Gold Suite"},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"bl" = (/obj/machinery/door/airlock/silver{id_tag = "Silver Suite"; name = "Silver Suite"},/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"bk" = (/obj/machinery/door/airlock/gold{id_tag = "Gold Suite"; name = "Gold Suite"},/turf/simulated/floor/carpet,/area/awaymission)
+"bl" = (/obj/machinery/door/airlock/silver{id_tag = "Silver Suite"; name = "Silver Suite"},/turf/simulated/floor/carpet,/area/awaymission)
"bm" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 1},/area/space)
-"bn" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"bn" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/awaymission)
"bo" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/space)
-"bp" = (/turf/simulated/floor/fancy/carpet{icon_state = "carpetsymbol"},/area/awaymission)
-"bq" = (/obj/machinery/light,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"br" = (/obj/structure/stool/bed/chair/comfy,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"bp" = (/turf/simulated/floor/carpet{icon_state = "carpetsymbol"},/area/awaymission)
+"bq" = (/obj/machinery/light,/turf/simulated/floor/carpet,/area/awaymission)
+"br" = (/obj/structure/stool/bed/chair/comfy,/turf/simulated/floor/carpet,/area/awaymission)
"bs" = (/turf/unsimulated/wall/fakeglass,/area/space)
-"bt" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"bu" = (/obj/machinery/light{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"bv" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"bt" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/carpet,/area/awaymission)
+"bu" = (/obj/machinery/light{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/carpet,/area/awaymission)
+"bv" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet,/area/awaymission)
"bw" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitebluecorner"},/area/awaymission)
"bx" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/awaymission)
"by" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitebluecorner"},/area/awaymission)
@@ -79,25 +79,25 @@
"bA" = (/obj/machinery/door/airlock{id_tag = "Room302"; name = "Room302"},/turf/simulated/floor/plasteel,/area/awaymission)
"bB" = (/obj/machinery/door/airlock{id_tag = "Room303"; name = "Room303"},/turf/simulated/floor/plasteel,/area/awaymission)
"bC" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteblue"},/area/awaymission)
-"bD" = (/turf/simulated/shuttle/floor,/area/awaymission)
+"bD" = (/turf/simulated/floor/plasteel/shuttle,/area/awaymission)
"bE" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/awaymission)
-"bF" = (/obj/machinery/camera{c_tag = "Room 301"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"bG" = (/obj/machinery/door_control{name = "Room301 Bolt Control"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; id = "Room301"; normaldoorcontrol = 1; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
-"bH" = (/obj/machinery/camera{c_tag = "Room 302"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"bI" = (/obj/machinery/door_control{id = "Room302"; name = "Room302 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
-"bJ" = (/obj/structure/dresser,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"bK" = (/obj/machinery/camera{c_tag = "Room 303"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"bL" = (/obj/machinery/door_control{id = "Room303"; name = "Room303 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
+"bF" = (/obj/machinery/camera{c_tag = "Room 301"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission)
+"bG" = (/obj/machinery/button/door{name = "Room301 Bolt Control"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; id = "Room301"; normaldoorcontrol = 1; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
+"bH" = (/obj/machinery/camera{c_tag = "Room 302"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission)
+"bI" = (/obj/machinery/button/door{id = "Room302"; name = "Room302 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
+"bJ" = (/obj/structure/dresser,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/turf/simulated/floor/carpet,/area/awaymission)
+"bK" = (/obj/machinery/camera{c_tag = "Room 303"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission)
+"bL" = (/obj/machinery/button/door{id = "Room303"; name = "Room303 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
"bM" = (/obj/machinery/light{dir = 1},/turf/unsimulated/beach/water,/area/awaymission)
"bN" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/awaymission)
-"bO" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"bP" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"bQ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"bO" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/awaymission)
+"bP" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor/carpet,/area/awaymission)
+"bQ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/carpet,/area/awaymission)
"bR" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/space)
-"bS" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"bT" = (/obj/structure/window,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"bU" = (/obj/machinery/door/window/southright,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"bV" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/wood,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"bS" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/carpet,/area/awaymission)
+"bT" = (/obj/structure/window,/turf/simulated/floor/carpet,/area/awaymission)
+"bU" = (/obj/machinery/door/window/southright,/turf/simulated/floor/carpet,/area/awaymission)
+"bV" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/wood,/turf/simulated/floor/carpet,/area/awaymission)
"bW" = (/obj/structure/mirror,/turf/simulated/wall,/area/awaymission)
"bX" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
"bY" = (/obj/machinery/shower{dir = 8},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
@@ -105,78 +105,78 @@
"ca" = (/obj/structure/toilet{dir = 1},/obj/effect/decal/cleanable/vomit/old,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
"cb" = (/obj/machinery/light{dir = 8},/turf/unsimulated/beach/water,/area/awaymission)
"cc" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/beach/water,/area/awaymission)
-"cd" = (/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"cd" = (/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/carpet,/area/awaymission)
"ce" = (/obj/machinery/door/airlock{id_tag = "Room201"; name = "Room201"},/turf/simulated/floor/plasteel,/area/awaymission)
"cf" = (/obj/machinery/door/airlock{id_tag = "Room202"; name = "Room202"},/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/plasteel,/area/awaymission)
"cg" = (/obj/machinery/door/airlock{id_tag = "Room203"; name = "Room203"},/turf/simulated/floor/plasteel,/area/awaymission)
-"ch" = (/obj/machinery/camera{c_tag = "Room 201"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"ci" = (/obj/machinery/door_control{id = "Room201"; name = "Room201 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
-"cj" = (/obj/structure/dresser,/obj/item/weapon/lipstick/jade,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"ck" = (/obj/machinery/camera{c_tag = "Room 202"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cl" = (/obj/machinery/door_control{id = "Room202"; name = "Room202 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/fancy/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
-"cm" = (/obj/machinery/camera{c_tag = "Room 203"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cn" = (/obj/machinery/door_control{id = "Room203"; name = "Room203 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
-"co" = (/obj/structure/dresser,/obj/item/weapon/lipstick/purple,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"ch" = (/obj/machinery/camera{c_tag = "Room 201"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission)
+"ci" = (/obj/machinery/button/door{id = "Room201"; name = "Room201 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
+"cj" = (/obj/structure/dresser,/obj/item/weapon/lipstick/jade,/turf/simulated/floor/carpet,/area/awaymission)
+"ck" = (/obj/machinery/camera{c_tag = "Room 202"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission)
+"cl" = (/obj/machinery/button/door{id = "Room202"; name = "Room202 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
+"cm" = (/obj/machinery/camera{c_tag = "Room 203"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission)
+"cn" = (/obj/machinery/button/door{id = "Room203"; name = "Room203 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
+"co" = (/obj/structure/dresser,/obj/item/weapon/lipstick/purple,/turf/simulated/floor/carpet,/area/awaymission)
"cp" = (/obj/machinery/light,/turf/unsimulated/beach/water,/area/awaymission)
-"cq" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cr" = (/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cs" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"ct" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/purple,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cu" = (/obj/item/weapon/beach_ball,/turf/simulated/shuttle/floor,/area/awaymission)
-"cv" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/flour{desc = "Rather caked in there."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"cq" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/turf/simulated/floor/carpet,/area/awaymission)
+"cr" = (/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/carpet,/area/awaymission)
+"cs" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/carpet,/area/awaymission)
+"ct" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/purple,/turf/simulated/floor/carpet,/area/awaymission)
+"cu" = (/obj/item/toy/beach_ball,/turf/simulated/floor/plasteel/shuttle,/area/awaymission)
+"cv" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/flour{desc = "Rather caked in there."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/carpet,/area/awaymission)
"cw" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitebluecorner"},/area/awaymission)
"cx" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitebluecorner"},/area/awaymission)
-"cy" = (/obj/machinery/door/window/southright,/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cz" = (/obj/structure/window,/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cA" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cB" = (/obj/structure/table,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cC" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/fancy/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
-"cD" = (/obj/structure/stool,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"cy" = (/obj/machinery/door/window/southright,/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/carpet,/area/awaymission)
+"cz" = (/obj/structure/window,/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/carpet,/area/awaymission)
+"cA" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/carpet,/area/awaymission)
+"cB" = (/obj/structure/table,/turf/simulated/floor/carpet,/area/awaymission)
+"cC" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
+"cD" = (/obj/structure/stool,/turf/simulated/floor/carpet,/area/awaymission)
"cE" = (/obj/machinery/door/airlock{id_tag = "Room101"; name = "Room101"},/turf/simulated/floor/plasteel,/area/awaymission)
"cF" = (/obj/machinery/door/airlock{id_tag = "Room102"; name = "Room102"},/turf/simulated/floor/plasteel,/area/awaymission)
"cG" = (/obj/machinery/door/airlock{id_tag = "Room103"; name = "Room103"},/turf/simulated/floor/plasteel,/area/awaymission)
-"cH" = (/obj/machinery/camera{c_tag = "Room 101"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cI" = (/obj/machinery/door_control{id = "Room101"; name = "Room101 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
-"cJ" = (/obj/structure/dresser,/obj/item/clothing/head/xenos,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cK" = (/obj/machinery/camera{c_tag = "Room 102"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cL" = (/obj/machinery/door_control{id = "Room102"; name = "Room102 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
-"cM" = (/obj/effect/decal/cleanable/blood/gibs/old,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cN" = (/obj/machinery/camera{c_tag = "Room 103"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cO" = (/obj/machinery/door_control{id = "Room103"; name = "Room103 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
+"cH" = (/obj/machinery/camera{c_tag = "Room 101"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission)
+"cI" = (/obj/machinery/button/door{id = "Room101"; name = "Room101 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
+"cJ" = (/obj/structure/dresser,/obj/item/clothing/head/xenos,/turf/simulated/floor/carpet,/area/awaymission)
+"cK" = (/obj/machinery/camera{c_tag = "Room 102"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission)
+"cL" = (/obj/machinery/button/door{id = "Room102"; name = "Room102 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
+"cM" = (/obj/effect/decal/cleanable/blood/gibs/old,/turf/simulated/floor/carpet,/area/awaymission)
+"cN" = (/obj/machinery/camera{c_tag = "Room 103"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission)
+"cO" = (/obj/machinery/button/door{id = "Room103"; name = "Room103 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
"cP" = (/turf/simulated/floor/plasteel,/area/awaymission)
"cQ" = (/mob/living/simple_animal/hostile/retaliate/goat,/turf/simulated/floor/plasteel,/area/awaymission)
-"cR" = (/mob/living/carbon/alien/humanoid/queen{bodytemperature = 31000.1; maxHealth = 0; suiciding = 0},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cS" = (/obj/structure/stool/bed/nest,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cT" = (/obj/structure/stool/bed/alien,/obj/item/xenos_claw,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cU" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/yellow,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cV" = (/obj/machinery/light{dir = 8},/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cW" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"cX" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"cR" = (/mob/living/carbon/alien/humanoid/queen{bodytemperature = 31000.1; maxHealth = 0; suiciding = 0},/turf/simulated/floor/carpet,/area/awaymission)
+"cS" = (/obj/structure/stool/bed/nest,/turf/simulated/floor/carpet,/area/awaymission)
+"cT" = (/obj/structure/stool/bed/alien,/obj/item/xenos_claw,/turf/simulated/floor/carpet,/area/awaymission)
+"cU" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/yellow,/turf/simulated/floor/carpet,/area/awaymission)
+"cV" = (/obj/machinery/light{dir = 8},/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/carpet,/area/awaymission)
+"cW" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/carpet,/area/awaymission)
+"cX" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/carpet,/area/awaymission)
"cY" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel,/area/awaymission)
"cZ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/turf/simulated/floor/plasteel,/area/awaymission)
"da" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plasteel,/area/awaymission)
"db" = (/obj/machinery/atmospherics/pipe/simple{pipe_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/table,/turf/simulated/floor/plasteel,/area/awaymission)
"dc" = (/obj/structure/table,/turf/simulated/floor/plasteel,/area/awaymission)
-"dd" = (/obj/effect/gibspawner/xeno,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"de" = (/obj/effect/decal/remains/human,/turf/simulated/floor/fancy/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
-"df" = (/obj/structure/stool/bed/alien,/obj/item/clothing/suit/xenos,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dg" = (/obj/structure/optable,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dh" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/obj/effect/decal/cleanable/blood/gibs/old,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"dd" = (/obj/effect/gibspawner/xeno,/turf/simulated/floor/carpet,/area/awaymission)
+"de" = (/obj/effect/decal/remains/human,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
+"df" = (/obj/structure/stool/bed/alien,/obj/item/clothing/suit/xenos,/turf/simulated/floor/carpet,/area/awaymission)
+"dg" = (/obj/structure/optable,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/carpet,/area/awaymission)
+"dh" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/obj/effect/decal/cleanable/blood/gibs/old,/turf/simulated/floor/carpet,/area/awaymission)
"di" = (/obj/machinery/vending/boozeomat,/turf/simulated/floor/plasteel,/area/awaymission)
"dj" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/turf/simulated/floor/plasteel,/area/awaymission)
"dk" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/simulated/floor/plasteel,/area/awaymission)
"dl" = (/obj/structure/table,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor/plasteel,/area/awaymission)
"dm" = (/obj/machinery/atmospherics/pipe/simple{pipe_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/table,/obj/item/weapon/book/manual/chef_recipes,/turf/simulated/floor/plasteel,/area/awaymission)
-"dn" = (/obj/structure/window,/obj/structure/alien/weeds/node,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"do" = (/obj/structure/window,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dp" = (/obj/machinery/door/window/southright,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dq" = (/obj/structure/table/wood,/obj/item/weapon/lipstick/black,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dr" = (/obj/structure/window,/obj/effect/decal/cleanable/blood/old,/obj/effect/decal/cleanable/blood/gibs/old,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"ds" = (/obj/structure/window,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dt" = (/obj/machinery/door/window/southright,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"dn" = (/obj/structure/window,/obj/structure/alien/weeds/node,/turf/simulated/floor/carpet,/area/awaymission)
+"do" = (/obj/structure/window,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/carpet,/area/awaymission)
+"dp" = (/obj/machinery/door/window/southright,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/carpet,/area/awaymission)
+"dq" = (/obj/structure/table/wood,/obj/item/weapon/lipstick/black,/turf/simulated/floor/carpet,/area/awaymission)
+"dr" = (/obj/structure/window,/obj/effect/decal/cleanable/blood/old,/obj/effect/decal/cleanable/blood/gibs/old,/turf/simulated/floor/carpet,/area/awaymission)
+"ds" = (/obj/structure/window,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/carpet,/area/awaymission)
+"dt" = (/obj/machinery/door/window/southright,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/carpet,/area/awaymission)
"du" = (/obj/machinery/vending/dinnerware,/turf/simulated/floor/plasteel,/area/awaymission)
"dv" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
-"dw" = (/obj/structure/toilet{dir = 1},/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/item/alien_embryo,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
+"dw" = (/obj/structure/toilet{dir = 1},/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/item/organ/internal/body_egg/alien_embryo,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
"dx" = (/obj/machinery/door/window/eastleft,/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
"dy" = (/obj/machinery/shower{dir = 8},/obj/structure/alien/egg,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission)
"dz" = (/obj/machinery/light,/turf/simulated/floor/plasteel,/area/awaymission)
@@ -188,82 +188,82 @@
"dF" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/plasteel,/area/awaymission)
"dG" = (/obj/structure/kitchenspike,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel,/area/awaymission)
"dH" = (/obj/machinery/door/airlock,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/plasteel,/area/awaymission)
-"dI" = (/obj/item/weapon/grown/bananapeel,/obj/item/toy/spinningtoy,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dJ" = (/obj/structure/barricade/wooden,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dK" = (/obj/item/target/syndicate,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dL" = (/obj/item/trash/candy,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dM" = (/obj/item/toy/spinningtoy,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dN" = (/obj/item/toy/crossbow,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dO" = (/obj/structure/barricade/wooden,/obj/structure/barricade/wooden,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dP" = (/obj/machinery/door/airlock,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"dI" = (/obj/item/weapon/grown/bananapeel,/obj/item/toy/spinningtoy,/turf/simulated/floor/carpet,/area/awaymission)
+"dJ" = (/obj/structure/barricade/wooden,/turf/simulated/floor/carpet,/area/awaymission)
+"dK" = (/obj/item/target/syndicate,/turf/simulated/floor/carpet,/area/awaymission)
+"dL" = (/obj/item/trash/candy,/turf/simulated/floor/carpet,/area/awaymission)
+"dM" = (/obj/item/toy/spinningtoy,/turf/simulated/floor/carpet,/area/awaymission)
+"dN" = (/obj/item/weapon/gun/projectile/shotgun/toy/crossbow,/turf/simulated/floor/carpet,/area/awaymission)
+"dO" = (/obj/structure/barricade/wooden,/obj/structure/barricade/wooden,/turf/simulated/floor/carpet,/area/awaymission)
+"dP" = (/obj/machinery/door/airlock,/turf/simulated/floor/carpet,/area/awaymission)
"dQ" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/wall,/area/awaymission)
-"dR" = (/obj/effect/decal/remains/human,/obj/item/clothing/head/soft/red,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dS" = (/obj/item/toy/prize/honk,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dT" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dU" = (/obj/machinery/vending/sovietsoda,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dV" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Not used to spy on hotel rooms."; dir = 4; network = "Hotel"; use_power = 1},/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"dW" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/fancy/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
-"dX" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Not used to spy on hotel rooms."; network = "Hotel"; use_power = 0},/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"dR" = (/obj/effect/decal/remains/human,/obj/item/clothing/head/soft/red,/turf/simulated/floor/carpet,/area/awaymission)
+"dS" = (/obj/item/toy/prize/honk,/turf/simulated/floor/carpet,/area/awaymission)
+"dT" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/carpet,/area/awaymission)
+"dU" = (/obj/machinery/vending/sovietsoda,/turf/simulated/floor/carpet,/area/awaymission)
+"dV" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Not used to spy on hotel rooms."; dir = 4; network = "Hotel"; use_power = 1},/turf/simulated/floor/carpet,/area/awaymission)
+"dW" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
+"dX" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Not used to spy on hotel rooms."; network = "Hotel"; use_power = 0},/turf/simulated/floor/carpet,/area/awaymission)
"dY" = (/turf/simulated/wall/cult,/area/awaymission)
"dZ" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/engine/cult,/area/awaymission)
-"ea" = (/obj/effect/decal/remains/human,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"eb" = (/obj/item/trash/candle,/obj/item/trash/candle,/obj/item/trash/candle,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"ec" = (/obj/machinery/vending/snack,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"ed" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"ee" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"ea" = (/obj/effect/decal/remains/human,/turf/simulated/floor/carpet,/area/awaymission)
+"eb" = (/obj/item/trash/candle,/obj/item/trash/candle,/obj/item/trash/candle,/turf/simulated/floor/carpet,/area/awaymission)
+"ec" = (/obj/machinery/vending/snack,/turf/simulated/floor/carpet,/area/awaymission)
+"ed" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/carpet,/area/awaymission)
+"ee" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/carpet,/area/awaymission)
"ef" = (/turf/simulated/floor/engine/cult,/area/awaymission)
"eg" = (/obj/effect/gibspawner/human,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/engine/cult,/area/awaymission)
-"eh" = (/obj/item/toy/sword,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"ei" = (/obj/machinery/vending/cola,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"eh" = (/obj/item/toy/sword,/turf/simulated/floor/carpet,/area/awaymission)
+"ei" = (/obj/machinery/vending/cola,/turf/simulated/floor/carpet,/area/awaymission)
"ej" = (/obj/item/candle,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/engine/cult,/area/awaymission)
-"ek" = (/obj/effect/rune,/obj/item/organ/brain,/turf/simulated/floor/engine/cult,/area/awaymission)
+"ek" = (/obj/effect/rune,/obj/item/organ/internal/brain,/turf/simulated/floor/engine/cult,/area/awaymission)
"el" = (/obj/item/candle,/turf/simulated/floor/engine/cult,/area/awaymission)
"em" = (/obj/item/weapon/tome,/turf/simulated/floor/engine/cult,/area/awaymission)
"en" = (/obj/effect/rune,/turf/simulated/floor/engine/cult,/area/awaymission)
"eo" = (/obj/structure/stool/bed/chair/comfy,/obj/item/device/soulstone,/obj/effect/decal/cleanable/blood/old,/obj/effect/decal/remains/human,/turf/simulated/floor/engine/cult,/area/awaymission)
-"ep" = (/obj/effect/rune,/obj/item/organ/heart,/turf/simulated/floor/engine/cult,/area/awaymission)
+"ep" = (/obj/effect/rune,/obj/item/organ/internal/heart,/turf/simulated/floor/engine/cult,/area/awaymission)
"eq" = (/obj/effect/gibspawner/human,/turf/simulated/floor/engine/cult,/area/awaymission)
-"er" = (/obj/item/trash/sosjerky,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"es" = (/obj/structure/table/wood,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"et" = (/obj/item/latexballon,/obj/item/latexballon,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"eu" = (/obj/structure/rack,/obj/item/key,/obj/item/key,/obj/item/key,/obj/item/key,/obj/item/key,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"ev" = (/obj/structure/stool/bed/chair/comfy,/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"ew" = (/obj/structure/stool/bed/chair/comfy,/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"er" = (/obj/item/trash/sosjerky,/turf/simulated/floor/carpet,/area/awaymission)
+"es" = (/obj/structure/table/wood,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor/carpet,/area/awaymission)
+"et" = (/obj/item/latexballon,/obj/item/latexballon,/turf/simulated/floor/carpet,/area/awaymission)
+"eu" = (/obj/structure/rack,/obj/item/key,/obj/item/key,/obj/item/key,/obj/item/key,/obj/item/key,/turf/simulated/floor/carpet,/area/awaymission)
+"ev" = (/obj/structure/stool/bed/chair/comfy,/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/carpet,/area/awaymission)
+"ew" = (/obj/structure/stool/bed/chair/comfy,/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/carpet,/area/awaymission)
"ex" = (/obj/item/weapon/restraints/legcuffs,/turf/simulated/floor/engine/cult,/area/awaymission)
-"ey" = (/obj/machinery/space_heater,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"ez" = (/obj/structure/table/wood,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"eA" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Not used to spy on hotel rooms."; dir = 1; network = "Hotel"; use_power = 0},/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"ey" = (/obj/machinery/space_heater,/turf/simulated/floor/carpet,/area/awaymission)
+"ez" = (/obj/structure/table/wood,/turf/simulated/floor/carpet,/area/awaymission)
+"eA" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Not used to spy on hotel rooms."; dir = 1; network = "Hotel"; use_power = 0},/turf/simulated/floor/carpet,/area/awaymission)
"eB" = (/obj/item/weapon/melee/cultblade,/turf/simulated/floor/engine/cult,/area/awaymission)
-"eC" = (/obj/item/weapon/butch{blood_DNA = 1e+009},/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/engine/cult,/area/awaymission)
-"eD" = (/obj/structure/table/wood,/obj/item/weapon/pen,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"eE" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/remains/human,/turf/simulated/floor/fancy/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
-"eF" = (/obj/structure/table/wood,/obj/item/weapon/clipboard,/obj/item/weapon/paper,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"eG" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor/fancy/carpet,/area/awaymission)
-"eH" = (/obj/structure/table/wood,/obj/item/weapon/paper_bin,/turf/simulated/floor/fancy/carpet,/area/awaymission)
+"eC" = (/obj/item/weapon/kitchen/knife/butcher{blood_DNA = 1e+009},/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/engine/cult,/area/awaymission)
+"eD" = (/obj/structure/table/wood,/obj/item/weapon/pen,/turf/simulated/floor/carpet,/area/awaymission)
+"eE" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/remains/human,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission)
+"eF" = (/obj/structure/table/wood,/obj/item/weapon/clipboard,/obj/item/weapon/paper,/turf/simulated/floor/carpet,/area/awaymission)
+"eG" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor/carpet,/area/awaymission)
+"eH" = (/obj/structure/table/wood,/obj/item/weapon/paper_bin,/turf/simulated/floor/carpet,/area/awaymission)
"eI" = (/turf/unsimulated/wall/fakeglass{dir = 10; icon_state = "fakewindows"},/area/space)
"eJ" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/space)
"eK" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/space)
"eL" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/turf/simulated/floor/plating,/area/awaymission)
-"eM" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/awaymission)
-"eN" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/awaymission)
+"eM" = (/turf/simulated/wall/shuttle{icon_state = "swall_s6"; dir = 2},/area/awaymission)
+"eN" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/wall/shuttle{icon_state = "swall12"; dir = 2},/area/awaymission)
"eO" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/space)
-"eP" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/awaymission)
-"eQ" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/plating,/area/awaymission)
-"eR" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/awaymission)
-"eS" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/shuttle/wall{icon_state = "swallc4"; dir = 2},/area/awaymission)
-"eT" = (/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor,/area/awaymission)
-"eU" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/awaymission)
-"eV" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/floor,/area/awaymission)
+"eP" = (/turf/simulated/wall/shuttle{icon_state = "swall12"; dir = 2},/area/awaymission)
+"eQ" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plating,/area/awaymission)
+"eR" = (/turf/simulated/wall/shuttle{icon_state = "swall_s10"; dir = 2},/area/awaymission)
+"eS" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/wall/shuttle{icon_state = "swallc4"; dir = 2},/area/awaymission)
+"eT" = (/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel/shuttle,/area/awaymission)
+"eU" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel/shuttle,/area/awaymission)
+"eV" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel/shuttle,/area/awaymission)
"eW" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/floor/plating/airless,/area/awaymission)
"eX" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/space,/area/awaymission)
-"eY" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/old,/turf/simulated/shuttle/floor,/area/awaymission)
-"eZ" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor,/area/awaymission)
-"fa" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/old,/turf/simulated/shuttle/floor,/area/awaymission)
-"fb" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/awaymission)
-"fc" = (/turf/simulated/shuttle/wall{icon_state = "swallc1"; dir = 2},/area/awaymission)
-"fd" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor,/area/awaymission)
-"fe" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/cleanable/blood/old,/turf/simulated/shuttle/floor,/area/awaymission)
-"ff" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/awaymission)
+"eY" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/plasteel/shuttle,/area/awaymission)
+"eZ" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/plasteel/shuttle,/area/awaymission)
+"fa" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/plasteel/shuttle,/area/awaymission)
+"fb" = (/turf/simulated/wall/shuttle{icon_state = "swall_s5"; dir = 2},/area/awaymission)
+"fc" = (/turf/simulated/wall/shuttle{icon_state = "swallc1"; dir = 2},/area/awaymission)
+"fd" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel/shuttle,/area/awaymission)
+"fe" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/plasteel/shuttle,/area/awaymission)
+"ff" = (/turf/simulated/wall/shuttle{icon_state = "swall_s9"; dir = 2},/area/awaymission)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacadacacacaeacacacacacacacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/_maps/RandomZLevels/stationCollision.dmm b/_maps/RandomZLevels/stationCollision.dmm
index 0f6a280b46c..0bbc955da76 100644
--- a/_maps/RandomZLevels/stationCollision.dmm
+++ b/_maps/RandomZLevels/stationCollision.dmm
@@ -26,8 +26,8 @@
"az" = (/obj/structure/window/reinforced/tinted,/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor/plasteel/airless,/area/awaymission/northblock)
"aA" = (/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor/plasteel/airless,/area/awaymission/northblock)
"aB" = (/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/northblock)
-"aC" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/syndishuttle)
-"aD" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
+"aC" = (/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/syndishuttle)
+"aD" = (/turf/space,/turf/simulated/wall/shuttle{dir = 1; icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
"aE" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/plating/airless,/area/awaymission/northblock)
"aF" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged3"},/area/awaymission/northblock)
"aG" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"},/area/awaymission/northblock)
@@ -40,47 +40,47 @@
"aN" = (/obj/machinery/robotic_fabricator,/turf/simulated/floor/plasteel,/area/awaymission/northblock)
"aO" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (EAST)"; icon_state = "propulsion_r"; dir = 4},/turf/space,/area/awaymission/syndishuttle)
"aP" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/turf/simulated/floor/plating/airless,/area/awaymission/syndishuttle)
-"aQ" = (/turf/simulated/floor/plating/airless,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
+"aQ" = (/turf/simulated/floor/plating/airless,/turf/simulated/wall/shuttle{icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
"aR" = (/obj/structure/closet/secure_closet/engineering_personal,/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"},/area/awaymission/northblock)
"aS" = (/obj/structure/closet/secure_closet/engineering_personal,/turf/simulated/floor/plasteel/airless,/area/awaymission/northblock)
"aT" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/machinery/light,/turf/simulated/floor/plasteel,/area/awaymission/northblock)
"aU" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/floor/plasteel,/area/awaymission/northblock)
"aV" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/northblock)
"aW" = (/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/awaymission/northblock)
-"aX" = (/obj/machinery/portable_atmospherics/canister/toxins{destroyed = 1},/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle)
-"aY" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
-"aZ" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/space)
+"aX" = (/obj/machinery/portable_atmospherics/canister/toxins{destroyed = 1},/turf/simulated/floor/plating,/area/awaymission/syndishuttle)
+"aY" = (/turf/simulated/floor/plating,/turf/simulated/wall/shuttle{icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
+"aZ" = (/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/space)
"ba" = (/turf/simulated/wall,/area/space)
"bb" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/plasteel/airless,/area/awaymission/northblock)
"bc" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/plasteel/airless{icon_state = "damaged3"},/area/awaymission/northblock)
-"bd" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l (EAST)"; icon_state = "burst_l"; dir = 4},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/syndishuttle)
-"be" = (/obj/structure/shuttle/engine/heater,/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle)
-"bf" = (/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle)
-"bg" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle)
-"bh" = (/obj/machinery/vending/snack,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle)
-"bi" = (/obj/machinery/vending/cola,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle)
-"bj" = (/obj/machinery/vending/cigarette,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle)
-"bk" = (/obj/machinery/vending/coffee,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle)
-"bl" = (/obj/structure/closet/syndicate,/obj/item/clothing/suit/space/hardsuit/syndi,/obj/item/clothing/head/helmet/space/hardsuit/syndi,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle)
-"bm" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle)
-"bn" = (/obj/structure/closet/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle)
-"bo" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/syndishuttle)
-"bp" = (/obj/structure/shuttle/engine/router,/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle)
-"bq" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle)
-"br" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle)
+"bd" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l (EAST)"; icon_state = "burst_l"; dir = 4},/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/syndishuttle)
+"be" = (/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating,/area/awaymission/syndishuttle)
+"bf" = (/turf/simulated/floor/plating,/area/awaymission/syndishuttle)
+"bg" = (/obj/machinery/sleeper,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/syndishuttle)
+"bh" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/syndishuttle)
+"bi" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/syndishuttle)
+"bj" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/syndishuttle)
+"bk" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/syndishuttle)
+"bl" = (/obj/structure/closet/syndicate,/obj/item/clothing/suit/space/hardsuit/syndi,/obj/item/clothing/head/helmet/space/hardsuit/syndi,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/syndishuttle)
+"bm" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/syndishuttle)
+"bn" = (/obj/structure/closet/syndicate,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/syndishuttle)
+"bo" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/syndishuttle)
+"bp" = (/obj/structure/shuttle/engine/router,/turf/simulated/floor/plating,/area/awaymission/syndishuttle)
+"bq" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/turf/simulated/floor/plating,/area/awaymission/syndishuttle)
+"br" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/plating,/area/awaymission/syndishuttle)
"bs" = (/obj/structure/lattice,/turf/space,/area/awaymission/syndishuttle)
-"bt" = (/obj/machinery/door/airlock/centcom,/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle)
-"bu" = (/obj/machinery/door/airlock/centcom,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle)
+"bt" = (/obj/machinery/door/airlock/centcom,/turf/simulated/floor/plating,/area/awaymission/syndishuttle)
+"bu" = (/obj/machinery/door/airlock/centcom,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/syndishuttle)
"bv" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged5"},/area/awaymission/research)
"bw" = (/obj/structure/girder/reinforced,/turf/simulated/floor/plasteel/airless{icon_state = "damaged4"},/area/awaymission/research)
"bx" = (/turf/simulated/wall/r_wall,/area/awaymission/research)
-"by" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle)
-"bz" = (/obj/machinery/bot/medbot/mysterious{desc = "A dark little medical robot. She looks somewhat underwhelmed."; name = "Nightingale"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle)
-"bA" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle)
-"bB" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle)
-"bC" = (/obj/structure/table,/obj/item/weapon/paper/sc_safehint_paper_shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle)
-"bD" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle)
-"bE" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
+"by" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/plating,/area/awaymission/syndishuttle)
+"bz" = (/obj/machinery/bot/medbot/mysterious{desc = "A dark little medical robot. She looks somewhat underwhelmed."; name = "Nightingale"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/syndishuttle)
+"bA" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/syndishuttle)
+"bB" = (/obj/structure/table,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/syndishuttle)
+"bC" = (/obj/structure/table,/obj/item/weapon/paper/sc_safehint_paper_shuttle,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/syndishuttle)
+"bD" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/syndishuttle)
+"bE" = (/turf/space,/turf/simulated/wall/shuttle{dir = 4; icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
"bF" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged3"},/area/awaymission/research)
"bG" = (/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/awaymission/research)
"bH" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaymission/research)
@@ -93,13 +93,13 @@
"bO" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/awaymission/research)
"bP" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"bQ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/eastleft,/obj/machinery/door/window/westright,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
-"bR" = (/mob/living/simple_animal/lizard,/turf/simulated/floor/fancy/grass,/area/awaymission/research)
-"bS" = (/turf/simulated/floor/fancy/grass,/area/awaymission/research)
-"bT" = (/mob/living/carbon/monkey,/turf/simulated/floor/fancy/grass,/area/awaymission/research)
-"bU" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_r (EAST)"; icon_state = "burst_r"; dir = 4},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/syndishuttle)
-"bV" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/syndishuttle)
-"bW" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
-"bX" = (/obj/machinery/sleeper{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/awaymission/syndishuttle)
+"bR" = (/mob/living/simple_animal/lizard,/turf/simulated/floor/grass,/area/awaymission/research)
+"bS" = (/turf/simulated/floor/grass,/area/awaymission/research)
+"bT" = (/mob/living/carbon/monkey,/turf/simulated/floor/grass,/area/awaymission/research)
+"bU" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_r (EAST)"; icon_state = "burst_r"; dir = 4},/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/awaymission/syndishuttle)
+"bV" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/turf/simulated/floor/plating,/area/awaymission/syndishuttle)
+"bW" = (/turf/simulated/floor/plating,/turf/simulated/wall/shuttle{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
+"bX" = (/obj/machinery/sleeper{dir = 1},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor4"},/area/awaymission/syndishuttle)
"bY" = (/obj/structure/girder/reinforced,/turf/simulated/floor/plasteel/airless{icon_state = "damaged3"},/area/awaymission/research)
"bZ" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaymission/research)
"ca" = (/turf/simulated/floor/plasteel,/area/awaymission/research)
@@ -108,7 +108,7 @@
"cd" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaymission/research)
"ce" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/simulated/floor/plasteel,/area/awaymission/research)
"cf" = (/obj/machinery/dna_scannernew,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
-"cg" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/fancy/grass,/area/awaymission/research)
+"cg" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/grass,/area/awaymission/research)
"ch" = (/obj/machinery/power/emitter{anchored = 1; state = 2},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"ci" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor/plasteel/airless{icon_state = "damaged3"},/area/awaymission/northblock)
"cj" = (/obj/machinery/door/window/southleft,/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/awaymission/research)
@@ -122,16 +122,16 @@
"cr" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/awaymission/research)
"cs" = (/obj/structure/stool/bed/chair/office/light{dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"ct" = (/obj/machinery/computer/scan_consolenew,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
-"cu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/fancy/grass,/area/awaymission/research)
-"cv" = (/obj/structure/window/reinforced,/mob/living/carbon/monkey,/turf/simulated/floor/fancy/grass,/area/awaymission/research)
-"cw" = (/obj/structure/window/reinforced,/turf/simulated/floor/fancy/grass,/area/awaymission/research)
-"cx" = (/obj/structure/window/reinforced,/obj/effect/overlay/palmtree_l,/turf/simulated/floor/fancy/grass,/area/awaymission/research)
+"cu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/grass,/area/awaymission/research)
+"cv" = (/obj/structure/window/reinforced,/mob/living/carbon/monkey,/turf/simulated/floor/grass,/area/awaymission/research)
+"cw" = (/obj/structure/window/reinforced,/turf/simulated/floor/grass,/area/awaymission/research)
+"cx" = (/obj/structure/window/reinforced,/obj/effect/overlay/palmtree_l,/turf/simulated/floor/grass,/area/awaymission/research)
"cy" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/space,/area/awaymission/research)
"cz" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission/research)
"cA" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"cB" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"cC" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (EAST)"; icon_state = "propulsion_l"; dir = 4},/turf/space,/area/awaymission/syndishuttle)
-"cD" = (/turf/simulated/floor/plating/airless,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
+"cD" = (/turf/simulated/floor/plating/airless,/turf/simulated/wall/shuttle{dir = 8; icon_state = "diagonalWall3"},/area/awaymission/syndishuttle)
"cE" = (/obj/machinery/portable_atmospherics/canister/toxins{destroyed = 1},/turf/simulated/floor/plasteel/airless{icon_state = "damaged4"},/area/awaymission/northblock)
"cF" = (/obj/machinery/door/window/eastleft,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"cG" = (/obj/machinery/power/emitter{anchored = 1; dir = 1; icon_state = "emitter"; state = 2},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
@@ -139,7 +139,7 @@
"cI" = (/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"cJ" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"cK" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission/research)
-"cL" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/clothing/suit/labcoat,/obj/item/weapon/clipboard{pixel_x = -7; pixel_y = -4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
+"cL" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/clothing/suit/toggle/labcoat,/obj/item/weapon/clipboard{pixel_x = -7; pixel_y = -4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"cM" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"cN" = (/obj/effect/rune,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"cO" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
@@ -164,7 +164,7 @@
"dh" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/sign/securearea{pixel_x = 32},/obj/item/clothing/under/rank/security,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/head/helmet/swat,/obj/effect/decal/remains/human,/obj/item/weapon/gun/energy/laser/practice/sc_laser,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"di" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"dj" = (/obj/structure/sign/securearea{pixel_x = 32},/obj/item/clothing/under/rank/security,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/head/helmet/swat,/obj/effect/decal/remains/human,/obj/item/weapon/gun/energy/laser/practice/sc_laser,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
-"dk" = (/obj/machinery/door_control{id = "Narsiedoor"; name = "Blast Door Control"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
+"dk" = (/obj/machinery/button/door{id = "Narsiedoor"; name = "Blast Door Control"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"dl" = (/obj/machinery/door/poddoor{id = "Narsiedoor"; name = "Blast Doors"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"dm" = (/obj/machinery/power/emitter{anchored = 1; dir = 8; state = 2},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"dn" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"},/area/awaymission/northblock)
@@ -174,7 +174,7 @@
"dr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/awaymission/research)
"ds" = (/obj/machinery/door/window/westright{name = "Windoor"},/obj/machinery/door/window/eastright{name = "Windoor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"dt" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
-"du" = (/obj/effect/decal/remains/human,/obj/item/clothing/suit/labcoat,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
+"du" = (/obj/effect/decal/remains/human,/obj/item/clothing/suit/toggle/labcoat,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"dv" = (/obj/machinery/door/airlock/hatch{name = "High-Security Airlock"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"dw" = (/obj/singularity/narsie/sc_Narsie{pixel_x = -48; pixel_y = -51},/turf/space,/area/awaymission/research)
"dx" = (/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/awaymission/northblock)
@@ -185,10 +185,10 @@
"dC" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_y = -10; tag = "icon-shower (EAST)"},/obj/structure/window/reinforced/tinted{dir = 1},/turf/simulated/floor/plasteel,/area/awaymission/research)
"dD" = (/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/awaymission/research)
"dE" = (/obj/structure/window/reinforced,/obj/structure/cable,/obj/machinery/power/apc{cell_type = 7500; dir = 8; name = "Research APC"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
-"dF" = (/obj/machinery/door/window/southright{name = "Windoor"},/obj/effect/decal/remains/human,/obj/item/clothing/suit/labcoat,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
+"dF" = (/obj/machinery/door/window/southright{name = "Windoor"},/obj/effect/decal/remains/human,/obj/item/clothing/suit/toggle/labcoat,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"dG" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"dH" = (/obj/machinery/door/window/southright{name = "Windoor"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
-"dI" = (/obj/structure/window/reinforced,/obj/effect/decal/remains/human,/obj/item/clothing/suit/labcoat,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
+"dI" = (/obj/structure/window/reinforced,/obj/effect/decal/remains/human,/obj/item/clothing/suit/toggle/labcoat,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"dJ" = (/obj/machinery/light{dir = 4},/obj/structure/window/reinforced,/obj/structure/sign/securearea{pixel_x = 32},/obj/item/clothing/under/rank/security,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/head/helmet/swat,/obj/effect/decal/remains/human,/obj/item/weapon/gun/energy/laser/practice/sc_laser,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"dK" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
"dL" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
@@ -252,7 +252,7 @@
"eR" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"eS" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/computerframe{anchored = 1},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"eT" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/book/manual/research_and_development,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
-"eU" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/decal/remains/human,/obj/item/clothing/suit/labcoat,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
+"eU" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/decal/remains/human,/obj/item/clothing/suit/toggle/labcoat,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"eV" = (/obj/machinery/door/window/eastleft{name = "Windoor"},/obj/machinery/door/window/westleft{name = "Windoor"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"eW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 120; icon_state = "in"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
"eX" = (/obj/machinery/r_n_d/server{stat = 1},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
@@ -298,12 +298,12 @@
"fL" = (/turf/simulated/wall/cult,/area/awaymission/midblock)
"fM" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/midblock)
"fN" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/midblock)
-"fO" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/awaymission/arrivalblock)
-"fP" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/awaymission/arrivalblock)
-"fQ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
-"fR" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
-"fS" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
-"fT" = (/turf/space,/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/awaymission/arrivalblock)
+"fO" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/awaymission/arrivalblock)
+"fP" = (/turf/simulated/wall/shuttle{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/awaymission/arrivalblock)
+"fQ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
+"fR" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
+"fS" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
+"fT" = (/turf/space,/turf/simulated/wall/shuttle{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/awaymission/arrivalblock)
"fU" = (/obj/structure/table/wood,/obj/item/device/flashlight/lamp/green{pixel_x = -3; pixel_y = 5},/obj/item/weapon/paper{pixel_x = 3},/obj/item/weapon/pen{pixel_x = 10; pixel_y = 10},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/northblock)
"fV" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/northblock)
"fW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel/airless,/area/awaymission/midblock)
@@ -312,10 +312,10 @@
"fZ" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/midblock)
"ga" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/midblock)
"gb" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/midblock)
-"gc" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/awaymission/arrivalblock)
-"gd" = (/turf/simulated/shuttle/wall{tag = "icon-swall1"; icon_state = "swall1"; dir = 2},/area/awaymission/arrivalblock)
-"ge" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock)
-"gf" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock)
+"gc" = (/turf/simulated/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/awaymission/arrivalblock)
+"gd" = (/turf/simulated/wall/shuttle{tag = "icon-swall1"; icon_state = "swall1"; dir = 2},/area/awaymission/arrivalblock)
+"ge" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaymission/arrivalblock)
+"gf" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaymission/arrivalblock)
"gg" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/northblock)
"gh" = (/obj/item/weapon/storage/secure/safe/sc_ssafe{pixel_x = 4; pixel_y = -26},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/northblock)
"gi" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/captain,/obj/item/clothing/under/rank/captain,/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/obj/item/weapon/gun/energy/laser/retro/sc_retro,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/northblock)
@@ -335,9 +335,9 @@
"gw" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"gx" = (/obj/structure/table/wood,/obj/item/candle,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/midblock)
"gy" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/midblock)
-"gz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
-"gA" = (/obj/machinery/status_display{pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock)
-"gB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
+"gz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
+"gA" = (/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaymission/arrivalblock)
+"gB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
"gC" = (/turf/simulated/wall,/area/awaymission/arrivalblock)
"gD" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"gE" = (/obj/machinery/door/window/eastleft{name = "Windoor"},/obj/machinery/door/window/westleft{name = "Windoor"},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
@@ -350,13 +350,13 @@
"gL" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"gM" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"gN" = (/obj/machinery/door/airlock/sandstone{name = "Airlock"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/midblock)
-"gO" = (/turf/simulated/floor/fancy/carpet,/area/awaymission/midblock)
-"gP" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/effect/landmark/sc_bible_spawner,/turf/simulated/floor/fancy/carpet,/area/awaymission/midblock)
+"gO" = (/turf/simulated/floor/carpet,/area/awaymission/midblock)
+"gP" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/effect/landmark/sc_bible_spawner,/turf/simulated/floor/carpet,/area/awaymission/midblock)
"gQ" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/midblock)
"gR" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "chapel"},/area/awaymission/midblock)
"gS" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "chapel"},/area/awaymission/midblock)
-"gT" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
-"gU" = (/obj/machinery/door/unpowered/shuttle{name = "Shuttle Airlock"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock)
+"gT" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
+"gU" = (/obj/machinery/door/unpowered/shuttle{name = "Shuttle Airlock"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaymission/arrivalblock)
"gV" = (/obj/machinery/door/airlock/external{welded = 1},/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
"gW" = (/obj/structure/sign/vacuum{pixel_y = 32},/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/awaymission/arrivalblock)
"gX" = (/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/awaymission/arrivalblock)
@@ -379,8 +379,8 @@
"ho" = (/obj/structure/table/wood,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/midblock)
"hp" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "chapel"},/area/awaymission/midblock)
"hq" = (/turf/simulated/floor/plasteel{icon_state = "chapel"},/area/awaymission/midblock)
-"hr" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
-"hs" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
+"hr" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
+"hs" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
"ht" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
"hu" = (/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"hv" = (/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/awaymission/arrivalblock)
@@ -396,7 +396,7 @@
"hF" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/condiment/peppermill,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = 4; pixel_y = 4},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"hG" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"hH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
-"hI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
+"hI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
"hJ" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/awaymission/arrivalblock)
"hK" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"hL" = (/obj/structure/table,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
@@ -407,7 +407,7 @@
"hQ" = (/obj/machinery/processor,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"hR" = (/obj/structure/table,/obj/item/weapon/book/manual/chef_recipes,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"hS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
-"hT" = (/obj/effect/decal/remains/human,/obj/item/weapon/butch,/obj/item/weapon/kitchenknife,/obj/item/clothing/head/chefhat,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
+"hT" = (/obj/effect/decal/remains/human,/obj/item/weapon/kitchen/knife/butcher,/obj/item/weapon/kitchen/knife,/obj/item/clothing/head/chefhat,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"hU" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"hV" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/ammo_casing/c10mm,/obj/item/weapon/paper/sc_safehint_paper_caf,/obj/item/clothing/under/syndicate,/obj/effect/decal/cleanable/blood/splatter,/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"hW" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/midblock)
@@ -454,7 +454,7 @@
"iL" = (/obj/machinery/door/airlock/security,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"iM" = (/obj/machinery/door/airlock/glass,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/midblock)
"iN" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/plasteel,/area/awaymission/midblock)
-"iO" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/item/weapon/shard,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
+"iO" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
"iP" = (/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/obj/effect/decal/remains/human,/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
"iQ" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"iR" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/awaymission/arrivalblock)
@@ -548,12 +548,12 @@
"kB" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/awaymission/southblock)
"kC" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/simulated/floor/wood,/area/awaymission/southblock)
"kD" = (/obj/structure/table/wood,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/wood,/area/awaymission/southblock)
-"kE" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r"; icon_state = "propulsion_r"},/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
-"kF" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
-"kG" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l"; icon_state = "propulsion_l"},/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l"; icon_state = "burst_l"},/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l"; icon_state = "propulsion_l"},/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
+"kE" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r"; icon_state = "propulsion_r"},/obj/structure/shuttle/engine/propulsion,/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
+"kF" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
+"kG" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l"; icon_state = "propulsion_l"},/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l"; icon_state = "burst_l"},/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l"; icon_state = "propulsion_l"},/obj/structure/shuttle/engine/propulsion,/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
"kH" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (NORTH)"; icon_state = "propulsion_l"; dir = 1},/obj/structure/window/reinforced,/turf/space,/area/awaymission/arrivalblock)
"kI" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (NORTH)"; icon_state = "propulsion_r"; dir = 1},/obj/structure/window/reinforced,/turf/space,/area/awaymission/arrivalblock)
-"kJ" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/awaymission/arrivalblock)
+"kJ" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/awaymission/arrivalblock)
"kK" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"kL" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"kM" = (/obj/structure/sink/kitchen{pixel_y = 32},/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
@@ -567,9 +567,9 @@
"kU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaymission/gateroom)
"kV" = (/obj/structure/table,/obj/item/device/camera,/turf/simulated/floor/plasteel{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/awaymission/gateroom)
"kW" = (/obj/structure/stool/bed/chair/comfy/brown{tag = "icon-comfychair_brown (WEST)"; icon_state = "comfychair_brown"; dir = 8},/turf/simulated/floor/wood,/area/awaymission/southblock)
-"kX" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock)
-"kY" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock)
-"kZ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock)
+"kX" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaymission/arrivalblock)
+"kY" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaymission/arrivalblock)
+"kZ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaymission/arrivalblock)
"la" = (/obj/structure/bodycontainer/morgue,/turf/simulated/floor/plasteel{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/awaymission/southblock)
"lb" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 4},/area/awaymission/southblock)
"lc" = (/turf/simulated/floor/plasteel{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/awaymission/southblock)
@@ -595,15 +595,15 @@
"lw" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/southblock)
"lx" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/southblock)
"ly" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/southblock)
-"lz" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/awaymission/arrivalblock)
-"lA" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/awaymission/arrivalblock)
-"lB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/awaymission/arrivalblock)
-"lC" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/awaymission/arrivalblock)
+"lz" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/awaymission/arrivalblock)
+"lA" = (/turf/simulated/wall/shuttle{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/awaymission/arrivalblock)
+"lB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/arrivalblock)
+"lC" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/awaymission/arrivalblock)
"lD" = (/obj/structure/closet/crate/hydroponics,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"lE" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"lF" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"lG" = (/obj/machinery/computer/operating,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/southblock)
-"lH" = (/obj/structure/optable,/obj/machinery/light/small{dir = 1},/obj/effect/decal/remains/human,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/southblock)
+"lH" = (/obj/structure/optable,/obj/machinery/light/small{dir = 1},/obj/effect/decal/remains/human,/obj/item/weapon/tank/internals/anesthetic,/obj/item/clothing/mask/breath,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/southblock)
"lI" = (/obj/structure/sink{pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/southblock)
"lJ" = (/obj/structure/stool/bed,/obj/structure/window/reinforced/tinted,/obj/item/weapon/bedsheet/medical,/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 4},/area/awaymission/southblock)
"lK" = (/obj/effect/decal/remains/human,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/awaymission/southblock)
@@ -614,7 +614,7 @@
"lP" = (/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"lQ" = (/obj/structure/table,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/spray/plantbgone,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
"lR" = (/obj/machinery/light,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock)
-"lS" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/surgical,/obj/item/clothing/suit/labcoat,/obj/item/clothing/gloves/latex,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/southblock)
+"lS" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/surgical,/obj/item/clothing/suit/toggle/labcoat,/obj/item/clothing/gloves/color/latex,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/southblock)
"lT" = (/obj/machinery/door/window/westright{name = "Windoor"},/turf/simulated/floor/plasteel,/area/awaymission/southblock)
"lU" = (/obj/machinery/vending/wallmed1{pixel_x = 31},/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 4},/area/awaymission/southblock)
"lV" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel,/area/awaymission/southblock)
diff --git a/_maps/RandomZLevels/undergroundoutpost45.dmm b/_maps/RandomZLevels/undergroundoutpost45.dmm
index dd3dcd35a4f..9663788b647 100644
--- a/_maps/RandomZLevels/undergroundoutpost45.dmm
+++ b/_maps/RandomZLevels/undergroundoutpost45.dmm
@@ -2,10 +2,10 @@
"ab" = (/turf/unsimulated/wall{icon_state = "rock"; name = "rock"},/area/space)
"ac" = (/turf/simulated/mineral/random/labormineral,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"ad" = (/turf/simulated/wall/r_wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ae" = (/turf/simulated/shuttle/wall{tag = "icon-swallc2"; icon_state = "swallc2"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"af" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ag" = (/turf/simulated/shuttle/wall{tag = "icon-swallc1"; icon_state = "swallc1"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ah" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ae" = (/turf/simulated/wall/shuttle{tag = "icon-swallc2"; icon_state = "swallc2"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"af" = (/turf/simulated/wall/shuttle{icon_state = "swall12"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ag" = (/turf/simulated/wall/shuttle{tag = "icon-swallc1"; icon_state = "swallc1"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ah" = (/turf/simulated/wall/shuttle{icon_state = "swall3"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ai" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{broken = 1; dir = 8; heat_capacity = 1e+006; icon_state = "damaged1"; tag = "icon-damaged1 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aj" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{broken = 1; dir = 8; heat_capacity = 1e+006; icon_state = "damaged2"; tag = "icon-damaged2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ak" = (/obj/machinery/light/small{active_power_usage = 0; dir = 8; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
@@ -13,22 +13,22 @@
"am" = (/turf/simulated/wall/r_wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"an" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{active_power_usage = 0; dir = 4; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ao" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ap" = (/obj/machinery/door_control{desc = "A remote control-switch to send the elevator to the basement floor."; id = "UO45_useless"; name = "B1"; pixel_x = 6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch for the elevator doors."; id = "UO45_Elevator"; name = "Elevator Doors"; pixel_x = -6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch to send the elevator to the ground floor."; id = "UO45_useless"; name = "G1"; pixel_x = 6; pixel_y = -34; req_access_txt = "0"},/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ap" = (/obj/machinery/button/door{desc = "A remote control-switch to send the elevator to the basement floor."; id = "UO45_useless"; name = "B1"; pixel_x = 6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/button/door{desc = "A remote control-switch for the elevator doors."; id = "UO45_Elevator"; name = "Elevator Doors"; pixel_x = -6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/button/door{desc = "A remote control-switch to send the elevator to the ground floor."; id = "UO45_useless"; name = "G1"; pixel_x = 6; pixel_y = -34; req_access_txt = "0"},/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aq" = (/turf/simulated/floor/plasteel{broken = 1; dir = 8; heat_capacity = 1e+006; icon_state = "damaged3"; tag = "icon-damaged3 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ar" = (/obj/machinery/door/poddoor{id = "UO45_Elevator"; name = "Elevator Door"},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"as" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "darkblue"; tag = "icon-darkblue"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"at" = (/turf/simulated/floor/plasteel{tag = "icon-darkblue (SOUTHEAST)"; icon_state = "darkblue"; dir = 6; heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"au" = (/turf/simulated/shuttle/wall{tag = "icon-swallc3"; icon_state = "swallc3"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"av" = (/turf/simulated/shuttle/wall{icon_state = "swall8"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"au" = (/turf/simulated/wall/shuttle{tag = "icon-swallc3"; icon_state = "swallc3"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"av" = (/turf/simulated/wall/shuttle{icon_state = "swall8"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aw" = (/obj/machinery/door/poddoor{id = "UO45_Elevator"; name = "Elevator Door"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "delivery"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ax" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ay" = (/turf/simulated/shuttle/wall{tag = "icon-swallc4"; icon_state = "swallc4"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ax" = (/turf/simulated/wall/shuttle{icon_state = "swall4"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ay" = (/turf/simulated/wall/shuttle{tag = "icon-swallc4"; icon_state = "swallc4"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"az" = (/turf/simulated/wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aA" = (/turf/simulated/wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aB" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aC" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aD" = (/obj/structure/sign/poster{icon_state = "poster2_legit"; pixel_x = 0; pixel_y = 32; serial_number = 2; subtype = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aE" = (/obj/machinery/door_control{desc = "A remote control-switch to call the elevator to your level."; id = "UO45_useless"; name = "Call Elevator"; pixel_x = -6; pixel_y = 24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch for the elevator doors."; id = "UO45_Elevator"; name = "Elevator Doors"; pixel_x = 6; pixel_y = 24; req_access_txt = "0"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aE" = (/obj/machinery/button/door{desc = "A remote control-switch to call the elevator to your level."; id = "UO45_useless"; name = "Call Elevator"; pixel_x = -6; pixel_y = 24; req_access_txt = "0"},/obj/machinery/button/door{desc = "A remote control-switch for the elevator doors."; id = "UO45_Elevator"; name = "Elevator Doors"; pixel_x = 6; pixel_y = 24; req_access_txt = "0"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aF" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aG" = (/obj/structure/sign/poster{icon_state = "poster2_legit"; pixel_x = 0; pixel_y = 32; serial_number = 2; subtype = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aH" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
@@ -125,22 +125,22 @@
"cu" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"cv" = (/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"cw" = (/obj/structure/closet,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cx" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cy" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/pj/blue,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cA" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/female,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cB" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (EAST)"; icon_state = "wooden_chair"; dir = 4},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cx" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cy" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/pj/blue,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cA" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/female,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cB" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (EAST)"; icon_state = "wooden_chair"; dir = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"cD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"cE" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"cF" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"cG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/grille,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"cH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/obj/machinery/door_control{id = "awaydorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cM" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door_control{id = "awaydorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/obj/machinery/button/door{id = "awaydorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cM" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/button/door{id = "awaydorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"cN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5; level = 2},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"cO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"cP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
@@ -233,8 +233,8 @@
"ey" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/door/window/southleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Security Checkpoint"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ez" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"eA" = (/obj/structure/stool/bed/chair/office{tag = "icon-chair (EAST)"; icon_state = "chair"; dir = 4},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eB" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/fancy/grass{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eC" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/fancy/grass{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eB" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eC" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"eD" = (/obj/structure/stool/bed/chair/office{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"eE" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"eF" = (/obj/structure/table,/obj/item/weapon/book/manual/hydroponics_pod_people,/obj/item/weapon/paper/hydroponics,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
@@ -247,7 +247,7 @@
"eM" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"eN" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/weapon/folder/red,/obj/machinery/door/window/southleft{base_state = "left"; dir = 8; icon_state = "left"; name = "Security Checkpoint"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"eO" = (/obj/structure/stool/bed/chair/office{tag = "icon-chair (EAST)"; icon_state = "chair"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eP" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/fancy/grass{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eP" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"eQ" = (/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "greencorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"eR" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/window/southleft{base_state = "left"; dir = 4; icon_state = "left"; name = "Hydroponics Desk"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"eS" = (/obj/structure/stool,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
@@ -285,9 +285,9 @@
"fy" = (/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/maintenance{name = "Hydroponics Maintenance"; req_access_txt = "201"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"fz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"fA" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fB" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fC" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door_control{id = "awaydorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fB" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fC" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/button/door{id = "awaydorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"fE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock{id_tag = "awaydorm3"; name = "Dorm 3"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"fF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"fG" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
@@ -301,9 +301,9 @@
"fO" = (/turf/simulated/wall/rust,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"fP" = (/turf/simulated/wall,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"fQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fR" = (/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fS" = (/obj/machinery/light/small,/obj/machinery/alarm{dir = 1; frequency = 1439; locked = 0; pixel_y = -23; req_access = null},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/dresser,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fT" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fR" = (/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fS" = (/obj/machinery/light/small,/obj/machinery/alarm{dir = 1; frequency = 1439; locked = 0; pixel_y = -23; req_access = null},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/dresser,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fT" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"fU" = (/obj/structure/flora/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"fV" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/camera{c_tag = "Central Hallway"; dir = 1; network = list("UO45")},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"fW" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
@@ -401,7 +401,7 @@
"hK" = (/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"hL" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"hM" = (/obj/structure/stool,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hN" = (/obj/structure/table/reinforced,/obj/item/weapon/lighter/zippo,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hN" = (/obj/structure/table/reinforced,/obj/item/weapon/lighter,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"hO" = (/obj/effect/decal/cleanable/dirt,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"hP" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"hQ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "201"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -452,7 +452,7 @@
"iJ" = (/obj/machinery/door/firedoor,/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"iK" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"iL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"iM" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "refrigerator"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/drinks/milk,/obj/item/weapon/reagent_containers/food/drinks/milk,/obj/item/weapon/reagent_containers/food/drinks/milk,/obj/item/weapon/storage/fancy/egg_box,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"iM" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "refrigerator"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/storage/fancy/egg_box,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"iN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"iO" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/obj/structure/sign/biohazard{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"iP" = (/obj/structure/table,/obj/item/device/radio/off,/obj/item/device/radio/off,/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
@@ -541,7 +541,7 @@
"ku" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"kv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"kw" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"kx" = (/obj/structure/closet/l3closet/general,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"kx" = (/obj/structure/closet/l3closet,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ky" = (/obj/structure/closet/crate,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/multitool,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"kz" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/head/welding,/obj/structure/sign/biohazard{pixel_x = 0; pixel_y = 32},/obj/item/device/assembly/prox_sensor,/obj/item/device/assembly/prox_sensor,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"kA" = (/obj/structure/sign/securearea{pixel_y = 32},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
@@ -640,12 +640,12 @@
"mp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "purplecorner"; tag = "icon-purplecorner (NORTH)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"mq" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"mr" = (/obj/structure/table,/obj/item/weapon/newspaper,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ms" = (/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mt" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mu" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mv" = (/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mw" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mx" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/pj/red,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ms" = (/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mt" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mu" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mv" = (/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mw" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mx" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/pj/red,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"my" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"mz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"mA" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/rods{amount = 50},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
@@ -672,11 +672,11 @@
"mV" = (/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"mW" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass{name = "Dormitories"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"mX" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass{name = "Dormitories"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door_control{id = "awaydorm5"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mZ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"na" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/navy,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nb" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nc" = (/obj/machinery/door_control{id = "awaydorm7"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/button/door{id = "awaydorm5"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mZ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"na" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/navy,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nb" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nc" = (/obj/machinery/button/door{id = "awaydorm7"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"nd" = (/obj/machinery/vending/cola,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"ne" = (/obj/structure/stool/bed/chair/comfy/black{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"nf" = (/obj/structure/table/wood,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -752,7 +752,7 @@
"ox" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"oy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"oz" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"oA" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door_control{desc = "A remote control-switch whichs locks the research division down in the event of a biohazard leak or contamination."; id = "UO45_biohazard"; name = "Biohazard Door Control"; pixel_x = 0; pixel_y = 8; req_access_txt = "201"},/obj/machinery/door_control{desc = "A remote control-switch that controls the privacy shutters."; id = "UO45_rdprivacy"; name = "Privacy Shutter Control"; pixel_x = 0; pixel_y = -2; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"oA" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/button/door{desc = "A remote control-switch whichs locks the research division down in the event of a biohazard leak or contamination."; id = "UO45_biohazard"; name = "Biohazard Door Control"; pixel_x = 0; pixel_y = 8; req_access_txt = "201"},/obj/machinery/button/door{desc = "A remote control-switch that controls the privacy shutters."; id = "UO45_rdprivacy"; name = "Privacy Shutter Control"; pixel_x = 0; pixel_y = -2; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"oB" = (/obj/structure/stool/bed/chair/office/light{dir = 1; pixel_y = 3},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"oC" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"oD" = (/obj/machinery/computer/aifixer,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
@@ -788,7 +788,7 @@
"ph" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"pi" = (/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -27},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"pj" = (/obj/structure/filingcabinet,/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"pk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door_control{desc = "A remote control-switch whichs locks the research division down in the event of a biohazard leak or contamination."; id = "UO45_biohazard"; name = "Biohazard Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "201"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"pk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/button/door{desc = "A remote control-switch whichs locks the research division down in the event of a biohazard leak or contamination."; id = "UO45_biohazard"; name = "Biohazard Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "201"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"pl" = (/obj/structure/closet/secure_closet{icon_broken = "secbroken"; icon_closed = "sec"; icon_locked = "sec1"; icon_off = "secoff"; icon_opened = "secopen"; icon_state = "sec1"; locked = 1; name = "security officer's locker"; req_access_txt = "201"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/item/weapon/restraints/handcuffs,/obj/item/device/flash/handheld,/obj/item/weapon/reagent_containers/spray/pepper,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"pm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"pn" = (/obj/structure/flora/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -822,11 +822,11 @@
"pP" = (/obj/structure/stool/bed/chair/comfy/black,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"pQ" = (/obj/structure/stool/bed/chair/comfy/black,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"pR" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pS" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/door_control{id = "awaydorm4"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pT" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pS" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/button/door{id = "awaydorm4"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pT" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"pU" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/wall,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/door_control{id = "awaydorm6"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/button/door{id = "awaydorm6"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"pX" = (/obj/machinery/light/small{dir = 1},/obj/structure/toilet{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"pY" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"pZ" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -850,10 +850,10 @@
"qr" = (/obj/structure/table,/obj/machinery/alarm{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/weapon/hand_labeler,/obj/item/clothing/tie/stethoscope,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"qs" = (/obj/machinery/vending/medical{req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"qt" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qu" = (/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"qv" = (/obj/machinery/light/small{dir = 4},/obj/machinery/alarm{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"qw" = (/obj/machinery/light/small{dir = 8},/obj/structure/dresser,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"qx" = (/obj/machinery/alarm{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"qu" = (/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"qv" = (/obj/machinery/light/small{dir = 4},/obj/machinery/alarm{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"qw" = (/obj/machinery/light/small{dir = 8},/obj/structure/dresser,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"qx" = (/obj/machinery/alarm{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"qy" = (/obj/machinery/light/small{dir = 8},/obj/machinery/alarm{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"qz" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"qA" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -882,8 +882,8 @@
"qX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"qY" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"qZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ra" = (/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/obj/item/weapon/pen,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rb" = (/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ra" = (/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/obj/item/weapon/pen,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rb" = (/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"rc" = (/obj/machinery/light/small{dir = 1},/obj/structure/toilet{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"rd" = (/obj/machinery/door/airlock{name = "Unit 2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"re" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -957,8 +957,8 @@
"sv" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"sw" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"sx" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "whitecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"sy" = (/obj/structure/closet/l3closet/general,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"sz" = (/obj/structure/closet/l3closet/general,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"sy" = (/obj/structure/closet/l3closet,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"sz" = (/obj/structure/closet/l3closet,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"sA" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"sB" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"sC" = (/obj/machinery/shower{dir = 4},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -1011,7 +1011,7 @@
"ty" = (/obj/machinery/light/small,/obj/machinery/atmospherics/unary/portables_connector/visible{dir = 2},/obj/structure/window/reinforced{dir = 4; layer = 2.9},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "escape"; tag = "icon-escape (NORTH)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"tz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"tA" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/sign/securearea{pixel_y = -32},/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tB" = (/obj/machinery/computer/security{network = list("UO45")},/obj/machinery/door_control{desc = "A remote control-switch for the security privacy shutters."; id = "UO45_EngineeringOffice"; name = "Privacy Shutters"; pixel_x = -24; pixel_y = 6; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tB" = (/obj/machinery/computer/security{network = list("UO45")},/obj/machinery/button/door{desc = "A remote control-switch for the security privacy shutters."; id = "UO45_EngineeringOffice"; name = "Privacy Shutters"; pixel_x = -24; pixel_y = 6; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"tC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"tD" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/obj/item/weapon/screwdriver{pixel_y = 10},/obj/item/device/radio/off,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"tE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{dir = 6},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
@@ -1045,7 +1045,7 @@
"ug" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/engineering{name = "Engineering Foyer"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uh" = (/obj/structure/filingcabinet,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"ui" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uj" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door_control{desc = "A remote control-switch for the engineering security doors."; id = "UO45_Engineering"; name = "Engineering Lockdown"; pixel_x = 24; pixel_y = 6; req_access_txt = "201"},/obj/structure/closet/secure_closet{icon_broken = "secbroken"; icon_closed = "sec"; icon_locked = "sec1"; icon_off = "secoff"; icon_opened = "secopen"; icon_state = "sec1"; locked = 1; name = "security officer's locker"; req_access_txt = "201"},/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uj" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/button/door{desc = "A remote control-switch for the engineering security doors."; id = "UO45_Engineering"; name = "Engineering Lockdown"; pixel_x = 24; pixel_y = 6; req_access_txt = "201"},/obj/structure/closet/secure_closet{icon_broken = "secbroken"; icon_closed = "sec"; icon_locked = "sec1"; icon_off = "secoff"; icon_opened = "secopen"; icon_state = "sec1"; locked = 1; name = "security officer's locker"; req_access_txt = "201"},/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uk" = (/obj/machinery/atmospherics/unary/portables_connector/visible{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"ul" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "External to Filter"; on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"um" = (/obj/machinery/atmospherics/binary/pump{dir = 0; name = "Air to External"; on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
@@ -1142,9 +1142,9 @@
"vZ" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wa" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wb" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wc" = (/obj/structure/table/wood,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wd" = (/obj/machinery/light/small{dir = 1},/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"we" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wc" = (/obj/structure/table/wood,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wd" = (/obj/machinery/light/small{dir = 1},/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"we" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wh" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/flora/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
@@ -1155,9 +1155,9 @@
"wm" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/door/airlock/glass_command{name = "Chief Engineer"; req_access_txt = "201"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wo" = (/turf/simulated/wall/rust,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wp" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door_control{id = "awaydorm8"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wp" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/button/door{id = "awaydorm8"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"ws" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock{id_tag = "awaydorm8"; name = "Mining Dorm 1"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
@@ -1179,8 +1179,8 @@
"wK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wL" = (/obj/machinery/door/airlock{name = "Private Restroom"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wM" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/light/small,/obj/structure/mirror{pixel_x = 28},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wN" = (/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door_control{id = "awaydorm9"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wN" = (/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/button/door{id = "awaydorm9"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock{id_tag = "awaydorm9"; name = "Mining Dorm 2"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
@@ -1188,13 +1188,13 @@
"wT" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wU" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 4},/obj/machinery/alarm{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wW" = (/obj/machinery/light/small,/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wX" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/turf/simulated/floor/fancy/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wW" = (/obj/machinery/light/small,/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wX" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/closet/secure_closet/miner{req_access = list(201)},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wZ" = (/obj/structure/cable,/obj/machinery/power/apc{cell_type = 15000; dir = 2; locked = 0; name = "UO45 Mining APC"; pixel_x = 0; pixel_y = -25; req_access = null; start_charge = 100},/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/closet/secure_closet/engineering_personal{icon_broken = "miningsecbroken"; icon_closed = "miningsec"; icon_locked = "miningsec1"; icon_off = "miningsecoff"; icon_opened = "miningsecopen"; icon_state = "miningsec"; locked = 0; name = "miner's equipment"; req_access = list(201)},/obj/item/weapon/storage/backpack/satchel_eng,/obj/item/clothing/gloves/fingerless,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "browncorner"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xa" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "brown"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xb" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "brown"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xc" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/cigarettes{pixel_x = -2},/obj/item/weapon/lighter/zippo{pixel_x = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"xc" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/cigarettes{pixel_x = -2},/obj/item/weapon/lighter{pixel_x = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"xd" = (/obj/structure/stool/bed/chair/office/light{dir = 1; pixel_y = 3},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"xe" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"xf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/newscaster{pixel_y = -28},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
@@ -1202,7 +1202,7 @@
"xh" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/mining{name = "Processing Area"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xi" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/mining{name = "Processing Area"; req_access_txt = "201"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xj" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"xk" = (/obj/machinery/light/small,/obj/machinery/computer/atmos_alert,/obj/machinery/door_control{desc = "A remote control-switch for the engineering security doors."; id = "UO45_Engineering"; name = "Engineering Lockdown"; pixel_x = -6; pixel_y = -24; req_access_txt = "201"},/obj/machinery/door_control{desc = "A remote control-switch for secure storage."; id = "UO45_Secure Storage"; name = "Engineering Secure Storage"; pixel_x = 6; pixel_y = -24; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"xk" = (/obj/machinery/light/small,/obj/machinery/computer/atmos_alert,/obj/machinery/button/door{desc = "A remote control-switch for the engineering security doors."; id = "UO45_Engineering"; name = "Engineering Lockdown"; pixel_x = -6; pixel_y = -24; req_access_txt = "201"},/obj/machinery/button/door{desc = "A remote control-switch for secure storage."; id = "UO45_Secure Storage"; name = "Engineering Secure Storage"; pixel_x = 6; pixel_y = -24; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"xl" = (/obj/machinery/computer/monitor{name = "primary power monitoring console"},/obj/structure/cable,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"xm" = (/obj/machinery/conveyor{dir = 2; id = "UO45_mining"},/turf/simulated/floor/plating{dir = 4; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xn" = (/obj/machinery/mineral/unloading_machine{dir = 1; icon_state = "unloader-corner"; input_dir = 4; output_dir = 8},/turf/simulated/floor/plating{dir = 5; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
@@ -1280,16 +1280,16 @@
"yH" = (/obj/structure/alien/weeds,/obj/structure/stool/bed/nest,/obj/effect/landmark/corpse,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 173.4; heat_capacity = 1e+006; name = "Cave Floor"; nitrogen = 135.1; oxygen = 0; temperature = 363.9; toxins = 229.8},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"yI" = (/obj/structure/alien/weeds{tag = "icon-weeds1"; icon_state = "weeds1"},/obj/effect/decal/cleanable/blood/gibs/down,/obj/effect/landmark/corpse,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 173.4; heat_capacity = 1e+006; name = "Cave Floor"; nitrogen = 135.1; oxygen = 0; temperature = 363.9; toxins = 229.8},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"yJ" = (/obj/structure/alien/weeds,/obj/effect/landmark/corpse,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 173.4; heat_capacity = 1e+006; name = "Cave Floor"; nitrogen = 135.1; oxygen = 0; temperature = 363.9; toxins = 229.8},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"yK" = (/obj/item/weapon/shard,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"yL" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"yM" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"yN" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"yO" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"yP" = (/obj/item/stack/rods,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"yQ" = (/obj/item/stack/cable_coil,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"yR" = (/obj/item/stack/cable_coil{amount = 5},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"yS" = (/obj/item/stack/cable_coil{amount = 2; icon_state = "coil_red2"; item_state = "coil_red2"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"yT" = (/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; item_state = "coil_red1"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"yK" = (/obj/item/weapon/shard,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"yL" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"yM" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"yN" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"yO" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"yP" = (/obj/item/stack/rods,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"yQ" = (/obj/item/stack/cable_coil,/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"yR" = (/obj/item/stack/cable_coil{amount = 5},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"yS" = (/obj/item/stack/cable_coil{amount = 2; icon_state = "coil_red2"; item_state = "coil_red2"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"yT" = (/obj/item/stack/cable_coil{amount = 1; icon_state = "coil_red1"; item_state = "coil_red1"},/turf/simulated/floor/plasteel/shuttle{icon_state = "floor3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"yU" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"yV" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"yW" = (/turf/simulated/floor/plasteel{broken = 1; dir = 8; heat_capacity = 1e+006; icon_state = "damaged1"; tag = "icon-damaged1 (WEST)"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
@@ -1299,7 +1299,7 @@
"za" = (/turf/simulated/floor/plasteel{broken = 1; dir = 8; heat_capacity = 1e+006; icon_state = "damaged5"; tag = "icon-damaged5 (WEST)"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"zb" = (/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"zc" = (/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"zd" = (/turf/simulated/shuttle/floor,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"zd" = (/turf/simulated/floor/plasteel/shuttle,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"ze" = (/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"zf" = (/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"zg" = (/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
diff --git a/_maps/RandomZLevels/wildwest.dmm b/_maps/RandomZLevels/wildwest.dmm
index 08dbff48317..c10be87b018 100644
--- a/_maps/RandomZLevels/wildwest.dmm
+++ b/_maps/RandomZLevels/wildwest.dmm
@@ -1,34 +1,34 @@
"aa" = (/turf/space,/area/space)
-"ab" = (/turf/simulated/shuttle/wall,/area/awaymission/wwvault)
+"ab" = (/turf/simulated/wall/shuttle,/area/awaymission/wwvault)
"ac" = (/turf/simulated/floor/engine/cult,/area/awaymission/wwvault)
"ad" = (/obj/structure/cult/pylon,/turf/simulated/floor/engine/cult,/area/awaymission/wwvault)
-"ae" = (/turf/simulated/shuttle/plating{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/awaymission/wwvault)
+"ae" = (/turf/simulated/floor/plating{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/awaymission/wwvault)
"af" = (/mob/living/simple_animal/hostile/faithless,/turf/simulated/floor/engine/cult,/area/awaymission/wwvault)
-"ag" = (/turf/simulated/shuttle/plating{tag = "icon-bcircuitoff"; icon_state = "bcircuitoff"},/area/awaymission/wwvault)
+"ag" = (/turf/simulated/floor/plating{tag = "icon-bcircuitoff"; icon_state = "bcircuitoff"},/area/awaymission/wwvault)
"ah" = (/turf/simulated/wall/cult,/area/awaymission/wwvault)
"ai" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/wall/cult,/area/awaymission/wwvault)
-"aj" = (/turf/simulated/shuttle/plating{tag = "icon-cultdamage3"; icon_state = "cultdamage3"},/area/awaymission/wwvault)
-"ak" = (/turf/simulated/shuttle/plating{tag = "icon-cultdamage6"; icon_state = "cultdamage6"},/area/awaymission/wwvault)
+"aj" = (/turf/simulated/floor/plating{tag = "icon-cultdamage3"; icon_state = "cultdamage3"},/area/awaymission/wwvault)
+"ak" = (/turf/simulated/floor/plating{tag = "icon-cultdamage6"; icon_state = "cultdamage6"},/area/awaymission/wwvault)
"al" = (/obj/effect/gateway,/turf/simulated/floor/engine/cult,/area/awaymission/wwvault)
-"am" = (/mob/living/simple_animal/hostile/faithless,/turf/simulated/shuttle/plating{tag = "icon-bcircuitoff"; icon_state = "bcircuitoff"},/area/awaymission/wwvault)
-"an" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/shuttle/wall,/area/awaymission/wwvault)
-"ao" = (/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"ap" = (/obj/machinery/wish_granter_dark,/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"aq" = (/obj/structure/cult/pylon,/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"ar" = (/obj/machinery/gateway{dir = 9},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"as" = (/obj/machinery/gateway{dir = 1},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"at" = (/obj/machinery/gateway{dir = 5},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"au" = (/obj/machinery/gateway{dir = 8},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"av" = (/obj/machinery/gateway/centeraway{calibrated = 0},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"aw" = (/obj/machinery/gateway{dir = 4},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"ax" = (/obj/machinery/gateway{dir = 10},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"ay" = (/obj/machinery/gateway,/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"az" = (/obj/machinery/gateway{dir = 6},/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"aA" = (/obj/effect/meatgrinder,/turf/simulated/shuttle/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
-"aB" = (/obj/structure/cult/pylon,/turf/simulated/shuttle/plating{tag = "icon-bcircuitoff"; icon_state = "bcircuitoff"},/area/awaymission/wwvault)
-"aC" = (/turf/simulated/shuttle/plating{tag = "icon-cultdamage2"; icon_state = "cultdamage2"},/area/awaymission/wwvault)
-"aD" = (/turf/simulated/floor/fancy/carpet,/area/awaymission/wwvault)
-"aE" = (/mob/living/simple_animal/hostile/faithless,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwvault)
+"am" = (/mob/living/simple_animal/hostile/faithless,/turf/simulated/floor/plating{tag = "icon-bcircuitoff"; icon_state = "bcircuitoff"},/area/awaymission/wwvault)
+"an" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/wall/shuttle,/area/awaymission/wwvault)
+"ao" = (/turf/simulated/floor/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"ap" = (/obj/machinery/wish_granter_dark,/turf/simulated/floor/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"aq" = (/obj/structure/cult/pylon,/turf/simulated/floor/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"ar" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"as" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"at" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"au" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"av" = (/obj/machinery/gateway/centeraway{calibrated = 0},/turf/simulated/floor/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"aw" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"ax" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"ay" = (/obj/machinery/gateway,/turf/simulated/floor/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"az" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"aA" = (/obj/effect/meatgrinder,/turf/simulated/floor/plating{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"},/area/awaymission/wwvault)
+"aB" = (/obj/structure/cult/pylon,/turf/simulated/floor/plating{tag = "icon-bcircuitoff"; icon_state = "bcircuitoff"},/area/awaymission/wwvault)
+"aC" = (/turf/simulated/floor/plating{tag = "icon-cultdamage2"; icon_state = "cultdamage2"},/area/awaymission/wwvault)
+"aD" = (/turf/simulated/floor/carpet,/area/awaymission/wwvault)
+"aE" = (/mob/living/simple_animal/hostile/faithless,/turf/simulated/floor/carpet,/area/awaymission/wwvault)
"aF" = (/obj/machinery/door/airlock/vault{locked = 1},/turf/simulated/floor/engine/cult,/area/awaymission/wwvaultdoors)
"aG" = (/turf/simulated/mineral,/area/space)
"aH" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/space,/area/space)
@@ -81,7 +81,7 @@
"bC" = (/obj/structure/table/wood,/obj/item/weapon/gun/projectile,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"bD" = (/obj/structure/table/wood,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"bE" = (/mob/living/simple_animal/hostile/syndicate/ranged,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"bF" = (/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
+"bF" = (/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"bG" = (/obj/structure/table/wood,/obj/item/weapon/book/manual/barman_recipes,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"bH" = (/obj/machinery/vending/dinnerware,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"bI" = (/obj/machinery/vending/boozeomat,/turf/simulated/floor/wood,/area/awaymission/wwmines)
@@ -111,8 +111,8 @@
"cg" = (/obj/structure/table/wood,/obj/item/weapon/paper{info = " The miners in the town have become sick and almost all production has stopped. They, in a fit of delusion, tossed all of their mining equipment into the furnaces. They all claimed the same thing. A voice beckoning them to lay down their arms. Stupid miners."; name = "Planer Saul's Journal: Page 4"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"ch" = (/obj/structure/table/wood,/obj/item/weapon/gun/projectile,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"ci" = (/obj/structure/mineral_door/wood{tag = "icon-woodopening"; icon_state = "woodopening"},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"cj" = (/obj/structure/stool,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
-"ck" = (/obj/item/ammo_box/c10mm,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
+"cj" = (/obj/structure/stool,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"ck" = (/obj/item/ammo_box/c10mm,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"cl" = (/obj/structure/stool,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"cm" = (/obj/structure/bookcase{tag = "icon-book-5"; icon_state = "book-5"},/turf/simulated/floor/wood,/area/awaymission/wwgov)
"cn" = (/turf/simulated/floor/wood,/area/awaymission/wwgov)
@@ -123,15 +123,15 @@
"cs" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
"ct" = (/obj/structure/lattice,/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/space,/area/space)
"cu" = (/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area/space)
-"cv" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
-"cw" = (/turf/simulated/floor/fancy/carpet,/area/awaymission/wwgov)
-"cx" = (/obj/item/weapon/moneybag,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwgov)
+"cv" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"cw" = (/turf/simulated/floor/carpet,/area/awaymission/wwgov)
+"cx" = (/obj/item/weapon/moneybag,/turf/simulated/floor/carpet,/area/awaymission/wwgov)
"cy" = (/obj/structure/stool/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/awaymission/wwgov)
"cz" = (/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
"cA" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"cB" = (/obj/effect/mine/plasma,/obj/item/ammo_box/c10mm,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1"; icon_state = "ironsand1"},/area/awaymission/wwmines)
"cC" = (/obj/structure/table/wood,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/wood,/area/awaymission/wwgov)
-"cD" = (/obj/structure/table/wood,/obj/item/clothing/gloves/yellow,/obj/item/device/multitool,/turf/simulated/floor/wood,/area/awaymission/wwgov)
+"cD" = (/obj/structure/table/wood,/obj/item/clothing/gloves/color/yellow,/obj/item/device/multitool,/turf/simulated/floor/wood,/area/awaymission/wwgov)
"cE" = (/obj/structure/stool/bed/chair/wood/normal{dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwgov)
"cF" = (/obj/structure/table/wood,/turf/simulated/floor/wood,/area/awaymission/wwgov)
"cG" = (/mob/living/simple_animal/hostile/creature,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
@@ -143,14 +143,14 @@
"cM" = (/obj/effect/landmark/corpse/miner/rig,/turf/simulated/floor/wood,/area/awaymission/wwgov)
"cN" = (/mob/living/simple_animal/hostile/creature,/turf/simulated/floor/wood,/area/awaymission/wwgov)
"cO" = (/obj/structure/mineral_door/wood{tag = "icon-woodopening"; icon_state = "woodopening"},/turf/simulated/floor/wood,/area/awaymission/wwgov)
-"cP" = (/mob/living/simple_animal/hostile/creature,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwgov)
+"cP" = (/mob/living/simple_animal/hostile/creature,/turf/simulated/floor/carpet,/area/awaymission/wwgov)
"cQ" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1"; icon_state = "ironsand1"},/area/awaymission/wwgov)
"cR" = (/obj/structure/stool/bed/chair/wood/wings{dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwgov)
"cS" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1"; icon_state = "ironsand1"},/area/awaymission/wwgov)
"cT" = (/obj/effect/decal/remains/human,/mob/living/simple_animal/hostile/syndicate/ranged/space{name = "Syndicate Commander"},/turf/simulated/floor/plating,/area/awaymission/wwrefine)
-"cU" = (/obj/item/weapon/paper{info = "We've discovered something floating in space. We can't really tell how old it is, but it is scraped and bent to hell. There object is the size of about a room with double doors that we have yet to break into. It is a lot sturdier than we could have imagined. We have decided to call it 'The Vault' "; name = "Planer Saul's Journal: Page 1"},/turf/simulated/floor/fancy/carpet,/area/awaymission/wwgov)
+"cU" = (/obj/item/weapon/paper{info = "We've discovered something floating in space. We can't really tell how old it is, but it is scraped and bent to hell. There object is the size of about a room with double doors that we have yet to break into. It is a lot sturdier than we could have imagined. We have decided to call it 'The Vault' "; name = "Planer Saul's Journal: Page 1"},/turf/simulated/floor/carpet,/area/awaymission/wwgov)
"cV" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/monkeysdelight,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
-"cW" = (/obj/structure/table/wood,/obj/item/weapon/butch,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
+"cW" = (/obj/structure/table/wood,/obj/item/weapon/kitchen/knife/butcher,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
"cX" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/stew,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
"cY" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"cZ" = (/obj/structure/stool/bed/chair/comfy/teal{dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
@@ -161,7 +161,7 @@
"de" = (/obj/structure/table/wood,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
"df" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lemon,/turf/simulated/floor/plasteel{tag = "icon-stage_bleft"; icon_state = "stage_bleft"},/area/awaymission/wwgov)
"dg" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1"; icon_state = "ironsand1"},/area/awaymission/wwgov)
-"dh" = (/obj/effect/landmark/corpse/syndicatecommando{mobname = "Syndicate Commando"},/turf/simulated/floor/fancy/carpet,/area/awaymission/wwgov)
+"dh" = (/obj/effect/landmark/corpse/syndicatecommando{mobname = "Syndicate Commando"},/turf/simulated/floor/carpet,/area/awaymission/wwgov)
"di" = (/obj/machinery/mineral/mint,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
"dj" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"dk" = (/obj/structure/shuttle/engine/propulsion/burst/left,/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwmines)
@@ -188,9 +188,9 @@
"dF" = (/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand7"; icon_state = "ironsand7"},/area/awaymission/wwgov)
"dG" = (/obj/machinery/washing_machine,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"dH" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"dI" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1"; icon_state = "gibdown1"},/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
-"dJ" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
-"dK" = (/obj/structure/stool/bed/chair/comfy/beige,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
+"dI" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1"; icon_state = "gibdown1"},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"dJ" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"dK" = (/obj/structure/stool/bed/chair/comfy/beige,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"dL" = (/obj/machinery/door/airlock/sandstone,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"dM" = (/obj/structure/table/wood,/obj/machinery/computer/security/telescreen/entertainment,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"dN" = (/obj/structure/stool/bed/chair/comfy/brown{tag = "icon-comfychair_brown (WEST)"; icon_state = "comfychair_brown"; dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
@@ -203,12 +203,12 @@
"dU" = (/obj/machinery/door/airlock/sandstone,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1"; icon_state = "ironsand1"},/area/awaymission/wwgov)
"dV" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"dW" = (/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
-"dX" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
-"dY" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
-"dZ" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/coffee,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
-"ea" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/donut/jelly,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
-"eb" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/donut/normal,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
-"ec" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
+"dX" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"dY" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"dZ" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/coffee,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"ea" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/donut/jelly,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"eb" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/donut/normal,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"ec" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"ed" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/space,/area/space)
"ee" = (/obj/structure/lattice,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/space,/area/space)
"ef" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/space)
@@ -219,16 +219,16 @@
"ek" = (/obj/effect/mine/plasma,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"el" = (/obj/effect/decal/cleanable/blood,/obj/machinery/washing_machine,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"em" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/obj/item/ammo_box/a357,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"en" = (/obj/structure/stool/bed/chair/comfy/brown{tag = "icon-comfychair_brown (EAST)"; icon_state = "comfychair_brown"; dir = 4},/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
-"eo" = (/obj/structure/table/wood,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
-"ep" = (/obj/structure/stool/bed/chair/comfy/brown{tag = "icon-comfychair_brown (WEST)"; icon_state = "comfychair_brown"; dir = 8},/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
+"en" = (/obj/structure/stool/bed/chair/comfy/brown{tag = "icon-comfychair_brown (EAST)"; icon_state = "comfychair_brown"; dir = 4},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"eo" = (/obj/structure/table/wood,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"ep" = (/obj/structure/stool/bed/chair/comfy/brown{tag = "icon-comfychair_brown (WEST)"; icon_state = "comfychair_brown"; dir = 8},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"eq" = (/obj/item/weapon/gun/projectile/shotgun,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"er" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand12"; icon_state = "ironsand12"},/area/awaymission/wwgov)
"es" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand2"; icon_state = "ironsand2"},/area/awaymission/wwgov)
"et" = (/turf/simulated/wall/r_wall,/area/awaymission/wwrefine)
"eu" = (/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
"ev" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
-"ew" = (/mob/living/simple_animal/hostile/syndicate/ranged,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
+"ew" = (/mob/living/simple_animal/hostile/syndicate/ranged,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"ex" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand7"; icon_state = "ironsand7"},/area/awaymission/wwgov)
"ey" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand4"; icon_state = "ironsand4"},/area/awaymission/wwgov)
"ez" = (/obj/machinery/mineral/input,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
@@ -238,12 +238,12 @@
"eD" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand12"; icon_state = "ironsand12"},/area/awaymission/wwgov)
"eE" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/obj/item/weapon/gun/projectile,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"eF" = (/obj/effect/decal/cleanable/blood,/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"eG" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/coffee,/obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
-"eH" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1"; icon_state = "gibdown1"},/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
+"eG" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/coffee,/obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"eH" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1"; icon_state = "gibdown1"},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"eI" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand7"; icon_state = "ironsand7"},/area/awaymission/wwgov)
"eJ" = (/obj/structure/sign/vacuum,/turf/simulated/wall/r_wall,/area/awaymission/wwrefine)
"eK" = (/obj/structure/mecha_wreckage/gygax{anchored = 1},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1"; icon_state = "ironsand1"},/area/awaymission/wwmines)
-"eL" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/landmark/corpse/miner/rig,/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
+"eL" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/landmark/corpse/miner/rig,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"eM" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwmines)
"eN" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand14"; icon_state = "ironsand14"},/area/awaymission/wwgov)
"eO" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
@@ -252,9 +252,9 @@
"eR" = (/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
"eS" = (/obj/effect/mine/plasma,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"eT" = (/obj/structure/mecha_wreckage/gygax{anchored = 1},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"eU" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1; icon_state = "comfychair_beige"; tag = ""},/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
-"eV" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
-"eW" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibup1"; icon_state = "gibup1"},/turf/simulated/floor/fancy/carpet,/area/awaymission/wwmines)
+"eU" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1; icon_state = "comfychair_beige"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"eV" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
+"eW" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibup1"; icon_state = "gibup1"},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"eX" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
"eY" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
"eZ" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
@@ -293,10 +293,10 @@
"fG" = (/obj/structure/stool/bed/chair/office/light{dir = 4},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"fH" = (/obj/structure/stool/bed/chair/office/light{dir = 8},/turf/simulated/floor/wood,/area/awaymission/wwmines)
"fI" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibup1"; icon_state = "gibup1"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
-"fJ" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
-"fK" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
-"fL" = (/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
-"fM" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
+"fJ" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"fK" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"fL" = (/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"fM" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/simulated/floor/grass,/area/awaymission/wwgov)
"fN" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/lattice,/turf/space,/area/space)
"fO" = (/mob/living/simple_animal/hostile/syndicate,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
"fP" = (/obj/structure/mecha_wreckage/ripley/deathripley{anchored = 1},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1"; icon_state = "ironsand1"},/area/awaymission/wwmines)
@@ -304,27 +304,27 @@
"fR" = (/obj/effect/mine/dnascramble,/obj/effect/landmark/corpse/miner/rig,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"fS" = (/obj/structure/table/wood,/obj/item/weapon/gun/projectile/shotgun,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"fT" = (/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
-"fU" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
-"fV" = (/obj/machinery/hydroponics/soil,/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
-"fW" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
+"fU" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"fV" = (/obj/machinery/hydroponics/soil,/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"fW" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/grass,/area/awaymission/wwgov)
"fX" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
"fY" = (/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"fZ" = (/obj/item/weapon/paper{info = "The Vault...it just keeps growing and growing. I went on my daily walk through the garden and now its just right outside the mansion... a few days ago it was only barely visible. But whatever is inside...its calling to me."; name = "Planer Sauls' Journal: Page 7"},/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"ga" = (/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
-"gb" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
+"ga" = (/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"gb" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/simulated/floor/grass,/area/awaymission/wwgov)
"gc" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/simulated/floor/plasteel,/area/space)
"gd" = (/turf/simulated/floor/plasteel,/area/space)
"ge" = (/obj/effect/landmark/corpse/miner/rig,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
"gf" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"gg" = (/obj/structure/table/wood,/obj/item/weapon/gun/projectile/revolver/russian,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"gh" = (/obj/structure/stool/bed/chair/wood/normal{dir = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/awaymission/wwmines)
-"gi" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
+"gi" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/grass,/area/awaymission/wwgov)
"gj" = (/obj/effect/decal/cleanable/blood/gibs/core,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"gk" = (/mob/living/simple_animal/hostile/syndicate,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"gl" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"gm" = (/obj/item/weapon/gun/projectile,/turf/simulated/floor/wood,/area/awaymission/wwmines)
-"gn" = (/mob/living/simple_animal/hostile/creature,/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
-"go" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
+"gn" = (/mob/living/simple_animal/hostile/creature,/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"go" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/grass,/area/awaymission/wwgov)
"gp" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/mineral,/area/awaymission/wwmines)
"gq" = (/obj/effect/decal/cleanable/blood/gibs/up,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"gr" = (/obj/effect/decal/cleanable/blood/gibs/down,/turf/simulated/floor/wood,/area/awaymission/wwmines)
@@ -334,31 +334,31 @@
"gv" = (/obj/item/weapon/hatchet,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"gw" = (/obj/item/weapon/gun/projectile/automatic/pistol,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"gx" = (/obj/item/weapon/gun/projectile/shotgun,/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1"; icon_state = "ironsand1"},/area/awaymission/wwmines)
-"gy" = (/obj/effect/landmark/corpse/syndicatecommando{mobname = "Syndicate Commando"},/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
+"gy" = (/obj/effect/landmark/corpse/syndicatecommando{mobname = "Syndicate Commando"},/turf/simulated/floor/grass,/area/awaymission/wwgov)
"gz" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
"gA" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
"gB" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
"gC" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
-"gD" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
-"gE" = (/obj/structure/window/reinforced,/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
-"gF" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/fancy/grass,/area/awaymission/wwgov)
+"gD" = (/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"gE" = (/obj/structure/window/reinforced,/turf/simulated/floor/grass,/area/awaymission/wwgov)
+"gF" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/grass,/area/awaymission/wwgov)
"gG" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-fwindow (EAST)"; icon_state = "fwindow"; dir = 4},/obj/structure/window/reinforced{tag = "icon-fwindow (WEST)"; icon_state = "fwindow"; dir = 8},/obj/structure/grille,/turf/simulated/floor/plasteel,/area/awaymission/wwrefine)
"gH" = (/obj/effect/decal/cleanable/blood,/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/mineral,/area/awaymission/wwmines)
-"gI" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"},/area/awaymission/wwrefine)
-"gJ" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"},/area/awaymission/wwrefine)
-"gK" = (/turf/simulated/shuttle/wall{tag = "icon-swall8"; icon_state = "swall8"},/area/awaymission/wwrefine)
+"gI" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s6"; icon_state = "swall_s6"},/area/awaymission/wwrefine)
+"gJ" = (/turf/simulated/wall/shuttle{tag = "icon-swall12"; icon_state = "swall12"},/area/awaymission/wwrefine)
+"gK" = (/turf/simulated/wall/shuttle{tag = "icon-swall8"; icon_state = "swall8"},/area/awaymission/wwrefine)
"gL" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle{tag = "icon-floor2"; icon_state = "floor2"},/area/awaymission/wwrefine)
-"gM" = (/turf/simulated/shuttle/wall{tag = "icon-swall4"; icon_state = "swall4"},/area/awaymission/wwrefine)
-"gN" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"},/area/awaymission/wwrefine)
-"gO" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"},/area/awaymission/wwrefine)
+"gM" = (/turf/simulated/wall/shuttle{tag = "icon-swall4"; icon_state = "swall4"},/area/awaymission/wwrefine)
+"gN" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s10"; icon_state = "swall_s10"},/area/awaymission/wwrefine)
+"gO" = (/turf/simulated/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"},/area/awaymission/wwrefine)
"gP" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle{tag = "icon-floor2"; icon_state = "floor2"},/area/awaymission/wwrefine)
"gQ" = (/turf/simulated/shuttle{tag = "icon-floor2"; icon_state = "floor2"},/area/awaymission/wwrefine)
-"gR" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"},/area/awaymission/wwrefine)
-"gS" = (/turf/simulated/shuttle/wall{tag = "icon-swallc1"; icon_state = "swallc1"},/area/awaymission/wwrefine)
-"gT" = (/turf/simulated/shuttle/wall{tag = "icon-swallc2"; icon_state = "swallc2"},/area/awaymission/wwrefine)
-"gU" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"},/area/awaymission/wwrefine)
+"gR" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s5"; icon_state = "swall_s5"},/area/awaymission/wwrefine)
+"gS" = (/turf/simulated/wall/shuttle{tag = "icon-swallc1"; icon_state = "swallc1"},/area/awaymission/wwrefine)
+"gT" = (/turf/simulated/wall/shuttle{tag = "icon-swallc2"; icon_state = "swallc2"},/area/awaymission/wwrefine)
+"gU" = (/turf/simulated/wall/shuttle{tag = "icon-swall_s9"; icon_state = "swall_s9"},/area/awaymission/wwrefine)
"gV" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1"; icon_state = "ironsand1"},/area/awaymission/wwmines)
-"gW" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/space/syndicate/black/orange,/obj/item/clothing/head/helmet/space/syndicate/black/orange,/obj/item/clothing/mask/gas/syndicate,/obj/item/weapon/tank/oxygen,/turf/simulated/shuttle{tag = "icon-floor2"; icon_state = "floor2"},/area/awaymission/wwrefine)
+"gW" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/space/syndicate/black/orange,/obj/item/clothing/head/helmet/space/syndicate/black/orange,/obj/item/clothing/mask/gas/syndicate,/obj/item/weapon/tank/internals/oxygen,/turf/simulated/shuttle{tag = "icon-floor2"; icon_state = "floor2"},/area/awaymission/wwrefine)
"gX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/simulated/shuttle{tag = "icon-floor2"; icon_state = "floor2"},/area/awaymission/wwrefine)
"gY" = (/obj/item/weapon/paper{info = "The syndicate have invaded. Their ships appeared out of nowhere and now they likely intend to kill us all and take everything. On the off-chance that the Vault may grant us sanctuary, many of us have decided to force our way inside and bolt the door, taking as many provisions with us as we can carry. In case you find this, send for help immediately and open the Vault. Find us inside."; name = "Planer Saul's Journal: Page 8"},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1"; icon_state = "ironsand1"},/area/awaymission/wwmines)
diff --git a/_maps/map_files/AsteroidStation/Asteroidstation.dmm b/_maps/map_files/AsteroidStation/Asteroidstation.dmm
index d294859fb9e..29b348f4ae3 100644
--- a/_maps/map_files/AsteroidStation/Asteroidstation.dmm
+++ b/_maps/map_files/AsteroidStation/Asteroidstation.dmm
@@ -287,7 +287,7 @@
"afA" = (/obj/machinery/conveyor{dir = 1; id = "Recycler3"},/turf/simulated/floor/plating,/area/maintenance/apmaint)
"afB" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/security/vacantoffice)
"afC" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
-"afD" = (/obj/effect/landmark/start{name = "AI"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/turretid{name = "AI Chamber turret control"; pixel_x = 8; pixel_y = 28},/obj/machinery/door_control{desc = "A remote control switch for the AI chamber door."; id = "aishutter"; name = "AI Shutters Control"; pixel_x = -10; pixel_y = 25; req_access_txt = "16"},/obj/item/device/radio/intercom{broadcasting = 1; canhear_range = 6; freerange = 1; name = "Common Channel"; pixel_x = 32; pixel_y = 10},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/ai)
+"afD" = (/obj/effect/landmark/start{name = "AI"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/turretid{name = "AI Chamber turret control"; pixel_x = 8; pixel_y = 28},/obj/machinery/button/door{desc = "A remote control switch for the AI chamber door."; id = "aishutter"; name = "AI Shutters Control"; pixel_x = -10; pixel_y = 25; req_access_txt = "16"},/obj/item/device/radio/intercom{broadcasting = 1; canhear_range = 6; freerange = 1; name = "Common Channel"; pixel_x = 32; pixel_y = 10},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/ai)
"afE" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
"afF" = (/obj/structure/closet/crate,/obj/item/device/assembly/prox_sensor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
"afG" = (/obj/structure/cable/orange{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
@@ -339,14 +339,14 @@
"agA" = (/obj/machinery/conveyor{dir = 5; id = "Recycler2"},/turf/simulated/floor/plating,/area/maintenance/apmaint)
"agB" = (/obj/machinery/conveyor{dir = 4; id = "Recycler2"},/turf/simulated/floor/plating,/area/maintenance/apmaint)
"agC" = (/obj/machinery/conveyor{dir = 10; id = "Recycler2"},/turf/simulated/floor/plating,/area/maintenance/apmaint)
-"agD" = (/obj/effect/landmark{name = "tripai"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door_control{desc = "A remote control switch for the AI chamber door."; id = "aishutter"; name = "AI Shutters Control"; pixel_x = 4; pixel_y = -27; req_access_txt = "16"},/obj/machinery/turretid{name = "AI Chamber turret control"; pixel_x = -8; pixel_y = 32},/obj/machinery/flasher{id = "AI"; pixel_x = 6; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/ai)
+"agD" = (/obj/effect/landmark{name = "tripai"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/button/door{desc = "A remote control switch for the AI chamber door."; id = "aishutter"; name = "AI Shutters Control"; pixel_x = 4; pixel_y = -27; req_access_txt = "16"},/obj/machinery/turretid{name = "AI Chamber turret control"; pixel_x = -8; pixel_y = 32},/obj/machinery/flasher{id = "AI"; pixel_x = 6; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/ai)
"agE" = (/obj/machinery/door/window{dir = 4; name = "AI Core Door"; req_access_txt = "16"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai)
"agF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai)
"agG" = (/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "AI Core Door"; req_access_txt = "16"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai)
"agH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai)
"agI" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai)
"agJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai)
-"agK" = (/obj/effect/landmark{name = "tripai"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/door_control{desc = "A remote control switch for the AI chamber door."; id = "aishutter"; name = "AI Shutters Control"; pixel_x = -4; pixel_y = 27; req_access_txt = "16"},/obj/machinery/turretid{name = "AI Chamber turret control"; pixel_x = 8; pixel_y = -32},/obj/machinery/flasher{id = "AI"; pixel_x = -6; pixel_y = -32},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/ai)
+"agK" = (/obj/effect/landmark{name = "tripai"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/button/door{desc = "A remote control switch for the AI chamber door."; id = "aishutter"; name = "AI Shutters Control"; pixel_x = -4; pixel_y = 27; req_access_txt = "16"},/obj/machinery/turretid{name = "AI Chamber turret control"; pixel_x = 8; pixel_y = -32},/obj/machinery/flasher{id = "AI"; pixel_x = -6; pixel_y = -32},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/ai)
"agL" = (/turf/simulated/wall/r_wall,/area/storage/eva)
"agM" = (/turf/simulated/floor/plasteel{dir = 9; icon_state = "yellow"},/area/storage/tech)
"agN" = (/obj/structure/rack,/obj/item/weapon/circuitboard/pandemic{pixel_x = -3; pixel_y = 3},/obj/item/weapon/circuitboard/rdconsole,/obj/item/weapon/circuitboard/rdserver{pixel_x = 3; pixel_y = -3},/obj/item/weapon/circuitboard/destructive_analyzer,/obj/item/weapon/circuitboard/protolathe,/turf/simulated/floor/plasteel{dir = 5; icon_state = "yellow"},/area/storage/tech)
@@ -403,19 +403,19 @@
"ahM" = (/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai)
"ahN" = (/obj/machinery/camera/motion{c_tag = "AI Chamber Starboard"; dir = 9},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
"ahO" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/solar/auxstarboard)
-"ahP" = (/obj/machinery/door_control{id = "evashutter"; name = "E.V.A. Storage Shutter Control"; pixel_x = -26; req_access_txt = "19"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/storage/eva)
+"ahP" = (/obj/machinery/button/door{id = "evashutter"; name = "E.V.A. Storage Shutter Control"; pixel_x = -26; req_access_txt = "19"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/storage/eva)
"ahQ" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/storage/eva)
"ahR" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellow"},/area/storage/tech)
"ahS" = (/obj/structure/rack,/obj/item/weapon/circuitboard/secure_data{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/security{pixel_x = 1; pixel_y = -1},/obj/item/weapon/circuitboard/card{pixel_x = 2; pixel_y = -2},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/storage/tech)
"ahT" = (/obj/structure/table,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/device/multitool,/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/storage/tech)
"ahU" = (/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/t_scanner,/obj/item/weapon/crowbar/red,/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 8},/area/storage/tech)
"ahV" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/storage/tech)
-"ahW" = (/obj/structure/table,/obj/item/weapon/cartridge/signal,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 4},/area/storage/tech)
+"ahW" = (/obj/structure/table,/obj/item/weapon/cartridge/signal,/obj/item/wallframe/camera,/obj/item/wallframe/camera,/obj/item/wallframe/camera,/obj/item/wallframe/camera,/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 4},/area/storage/tech)
"ahX" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/stack/cable_coil,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/storage/tech)
"ahY" = (/obj/structure/rack,/obj/item/weapon/circuitboard/powermonitor{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/stationalert{pixel_x = 1; pixel_y = -1},/obj/item/weapon/circuitboard/atmos_alert{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/storage/tech)
"ahZ" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/storage/tech)
"aia" = (/obj/machinery/door/poddoor/shutters{id = "gateshutter"; name = "Gateway Access Shutter"},/turf/simulated/floor/plasteel,/area/gateway)
-"aib" = (/obj/machinery/light_switch{pixel_x = -6; pixel_y = -22},/obj/machinery/door_control{id = "gateshutter"; name = "Gateway Shutter Control"; pixel_x = 6; pixel_y = -26; req_access_txt = "19"},/turf/simulated/floor/plasteel,/area/gateway)
+"aib" = (/obj/machinery/light_switch{pixel_x = -6; pixel_y = -22},/obj/machinery/button/door{id = "gateshutter"; name = "Gateway Shutter Control"; pixel_x = 6; pixel_y = -26; req_access_txt = "19"},/turf/simulated/floor/plasteel,/area/gateway)
"aic" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/obj/structure/closet/emcloset,/obj/machinery/light,/obj/machinery/newscaster{hitstaken = 1; pixel_y = -32},/turf/simulated/floor/plasteel,/area/gateway)
"aid" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable/orange,/obj/machinery/power/apc{name = "Gateway APC"; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/gateway)
"aie" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1; pixel_y = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/closet/secure_closet/exile,/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/gateway)
@@ -528,7 +528,7 @@
"akh" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/storage/eva)
"aki" = (/obj/structure/table,/obj/item/device/aicard,/obj/item/weapon/aiModule/reset,/turf/simulated/floor/plasteel{icon_state = "yellow"; dir = 10},/area/storage/tech)
"akj" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/wirecutters,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/storage/tech)
-"akk" = (/obj/structure/table,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/storage/tech)
+"akk" = (/obj/structure/table,/obj/item/weapon/electronics/apc,/obj/item/weapon/electronics/airlock,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/storage/tech)
"akl" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/device/multitool,/obj/item/clothing/glasses/meson,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/storage/tech)
"akm" = (/obj/machinery/vending/assist,/obj/machinery/camera{c_tag = "Tech Storage"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/storage/tech)
"akn" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/color/yellow,/obj/item/device/multitool,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/storage/tech)
@@ -648,7 +648,7 @@
"amx" = (/obj/machinery/conveyor{dir = 8; id = "QMLoad"},/obj/machinery/light{dir = 1},/obj/machinery/status_display{pixel_y = 32; supply_display = 1},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/quartermaster/office)
"amy" = (/obj/machinery/conveyor{dir = 8; id = "QMLoad"},/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/plasteel{icon_state = "warning"},/area/quartermaster/office)
"amz" = (/obj/machinery/conveyor{dir = 10; id = "QMLoad"},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/quartermaster/office)
-"amA" = (/obj/machinery/door_control{id = "QMLoaddoor"; name = "Loading Doors"; pixel_y = 24},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/quartermaster/office)
+"amA" = (/obj/machinery/button/door{id = "QMLoaddoor"; name = "Loading Doors"; pixel_y = 24},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/quartermaster/office)
"amB" = (/turf/simulated/floor/plasteel,/area/quartermaster/office)
"amC" = (/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{dir = 1},/turf/simulated/floor/plasteel,/area/quartermaster/office)
"amD" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #1"},/obj/machinery/bot/mulebot{beacon_freq = 1400; home_destination = "QM #1"; suffix = "#1"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/quartermaster/office)
@@ -681,7 +681,7 @@
"ane" = (/obj/machinery/mineral/mint,/turf/simulated/floor/plasteel{dir = 1; icon_state = "brown"},/area/quartermaster/miningdock)
"anf" = (/obj/machinery/mineral/output,/turf/simulated/floor/plasteel{dir = 1; icon_state = "brown"},/area/quartermaster/miningdock)
"ang" = (/obj/structure/closet/crate,/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/extinguisher,/obj/item/clothing/glasses/meson,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
-"anh" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/machinery/door_control{id = "evashutter"; name = "E.V.A. Storage Shutter Control"; pixel_x = -26; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/storage/eva)
+"anh" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/machinery/button/door{id = "evashutter"; name = "E.V.A. Storage Shutter Control"; pixel_x = -26; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/storage/eva)
"ani" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/structure/cable/orange{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/storage/eva)
"anj" = (/obj/structure/table/reinforced,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/storage/eva)
"ank" = (/obj/structure/closet/crate/rcd,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/storage/eva)
@@ -831,7 +831,7 @@
"apY" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
"apZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/quartermaster/office)
"aqa" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor/plasteel,/area/quartermaster/office)
-"aqb" = (/obj/machinery/door_control{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_y = -24; req_access_txt = "50"},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor/plasteel,/area/quartermaster/office)
+"aqb" = (/obj/machinery/button/door{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_y = -24; req_access_txt = "50"},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor/plasteel,/area/quartermaster/office)
"aqc" = (/obj/structure/table/glass,/obj/machinery/cell_charger,/obj/machinery/light,/turf/simulated/floor/plasteel,/area/quartermaster/office)
"aqd" = (/obj/structure/table/glass,/obj/item/device/taperecorder/empty,/obj/item/device/tape/random,/turf/simulated/floor/plasteel,/area/quartermaster/office)
"aqe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/apmaint)
@@ -860,7 +860,7 @@
"aqB" = (/obj/structure/cable/orange{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass_command{desc = "Storage area for the station's general-purpose space suits and other critical materials. Can be opened via bridge controls in an emergency."; name = "E.V.A."; req_access_txt = "18"},/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/storage/eva)
"aqC" = (/obj/structure/cable/orange{d2 = 8; icon_state = "0-8"},/obj/effect/spawner/structure/window/reinforced,/turf/simulated/floor/plating,/area/storage/eva)
"aqD" = (/obj/structure/cable/orange,/obj/machinery/power/apc{name = "Tool Storage APC"; pixel_y = -24},/turf/simulated/floor/plating,/area/storage/primary{name = "Tool Storage"})
-"aqE" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/obj/machinery/door_control{id = "Dorm1"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
+"aqE" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/obj/machinery/button/door{id = "Dorm1"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
"aqF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
"aqG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/carpet,/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
"aqH" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/wood,/area/security/vacantoffice)
@@ -901,7 +901,7 @@
"arq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload)
"arr" = (/obj/machinery/computer/aifixer,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai_upload_foyer)
"ars" = (/obj/structure/table,/obj/item/weapon/phone,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai_upload_foyer)
-"art" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/obj/machinery/door_control{id = "Dorm2"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
+"art" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/obj/machinery/button/door{id = "Dorm2"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
"aru" = (/obj/structure/closet/secure_closet/miner,/turf/simulated/floor/plasteel{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock)
"arv" = (/obj/structure/closet/secure_closet/miner,/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
"arw" = (/obj/structure/rack,/obj/item/weapon/pickaxe{desc = "The pickaxe looks blunt."; force = 5; pixel_x = -3},/obj/item/weapon/pickaxe{desc = "The pickaxe looks blunt."; force = 5; pixel_x = 3},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
@@ -946,7 +946,7 @@
"asj" = (/turf/simulated/floor/plasteel{icon_state = "warndarkcorners"; dir = 8},/area/quartermaster/office)
"ask" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "warndark"; dir = 1},/area/quartermaster/office)
"asl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "warndark"; dir = 1},/area/quartermaster/office)
-"asm" = (/obj/machinery/door_control{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_y = 24; req_access_txt = "50"},/turf/simulated/floor/plasteel{icon_state = "warndarkcorners"; dir = 4},/area/quartermaster/office)
+"asm" = (/obj/machinery/button/door{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_y = 24; req_access_txt = "50"},/turf/simulated/floor/plasteel{icon_state = "warndarkcorners"; dir = 4},/area/quartermaster/office)
"asn" = (/obj/machinery/status_display{pixel_y = 32; supply_display = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/quartermaster/office)
"aso" = (/obj/structure/closet,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/quartermaster/office)
"asp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/reagent_dispensers/fueltank,/obj/structure/cable/blue{icon_state = "1-4"; d1 = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/apmaint)
@@ -1035,7 +1035,7 @@
"atU" = (/obj/machinery/recharge_station,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai_upload_foyer)
"atV" = (/obj/structure/cable/blue{icon_state = "0-2"},/obj/machinery/power/apc{dir = 8; name = "Disposal APC"; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/disposal)
"atW" = (/obj/machinery/conveyor_switch{id = "Disposal"},/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"atX" = (/obj/machinery/driver_button{id = "trash"; pixel_x = 6; pixel_y = 24},/obj/structure/stool,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/disposal)
+"atX" = (/obj/machinery/button/massdriver{id = "trash"; pixel_x = 6; pixel_y = 24},/obj/structure/stool,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/disposal)
"atY" = (/obj/structure/table,/obj/item/device/gps/mining,/obj/item/device/gps/mining,/obj/item/device/gps/mining,/obj/item/device/gps/mining,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plasteel{dir = 9; icon_state = "brown"},/area/quartermaster/miningdock)
"atZ" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor/plasteel{dir = 5; icon_state = "brown"},/area/quartermaster/miningdock)
"aua" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/plasteel{dir = 1; icon_state = "brown"},/area/quartermaster/miningdock)
@@ -1086,7 +1086,7 @@
"auT" = (/obj/structure/window/reinforced,/obj/machinery/door/window/northright{dir = 4; name = "Disposal Exit"; req_access_txt = "12"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/disposal)
"auU" = (/obj/machinery/mass_driver{dir = 4; id = "trash"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/disposal)
"auV" = (/obj/machinery/door/poddoor{id = "trash"; name = "Disposal External Door"},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"auW" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/yellow,/obj/machinery/door_control{id = "Dorm3"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
+"auW" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/yellow,/obj/machinery/button/door{id = "Dorm3"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
"auX" = (/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "54"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "brown"},/area/quartermaster/miningdock)
"auY" = (/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "54"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock)
"auZ" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 4; on = 1},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
@@ -1330,7 +1330,7 @@
"azD" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/hallway/primary/starboard{name = "Starboard Hallway"})
"azE" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard{name = "Starboard Hallway"})
"azF" = (/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "neutralcorner"},/area/hallway/primary/starboard{name = "Starboard Hallway"})
-"azG" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/purple,/obj/machinery/door_control{id = "Dorm4"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
+"azG" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/purple,/obj/machinery/button/door{id = "Dorm4"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
"azH" = (/obj/machinery/computer/secure_data,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/carpet,/area/security/detectives_office)
"azI" = (/obj/machinery/washing_machine,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
"azJ" = (/obj/machinery/washing_machine,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
@@ -1377,7 +1377,7 @@
"aAy" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden,/turf/simulated/floor/plasteel{icon_state = "neutralcorner"},/area/hallway/primary/starboard{name = "Starboard Hallway"})
"aAz" = (/obj/structure/table/wood,/obj/item/weapon/hand_labeler,/turf/simulated/floor/carpet,/area/security/detectives_office)
"aAA" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Detective"},/turf/simulated/floor/carpet,/area/security/detectives_office)
-"aAB" = (/obj/machinery/computer/security/wooden_tv,/obj/machinery/door_control{id = "detffice"; name = "Detective's Shutters Control"; pixel_x = -26; req_access_txt = "0"},/turf/simulated/floor/carpet,/area/security/detectives_office)
+"aAB" = (/obj/machinery/computer/security/wooden_tv,/obj/machinery/button/door{id = "detffice"; name = "Detective's Shutters Control"; pixel_x = -26; req_access_txt = "0"},/turf/simulated/floor/carpet,/area/security/detectives_office)
"aAC" = (/obj/structure/table/wood,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/carpet,/area/security/detectives_office)
"aAD" = (/turf/simulated/floor/carpet,/area/security/detectives_office)
"aAE" = (/obj/structure/table/wood,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/security/detectives_office)
@@ -1391,7 +1391,7 @@
"aAM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/wall,/area/maintenance/maintcentral)
"aAN" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
"aAO" = (/obj/structure/cable/blue,/obj/machinery/power/apc{dir = 4; name = "Bridge Maintenance APC"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
-"aAP" = (/obj/item/apc_frame,/turf/simulated/floor/plasteel,/area/construction/Storage{name = "Construction Site"})
+"aAP" = (/obj/item/wallframe/apc,/turf/simulated/floor/plasteel,/area/construction/Storage{name = "Construction Site"})
"aAQ" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plasteel,/area/construction/Storage{name = "Construction Site"})
"aAR" = (/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 8},/area/construction/Storage{name = "Construction Site"})
"aAS" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'AREA UNDER CONSTRUCTION"; name = "AREA UNDER CONSTRUCTION"; pixel_x = -32},/turf/simulated/floor/plating/asteroid/airless,/area/mine/explored)
@@ -1445,7 +1445,7 @@
"aBO" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{dir = 10},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
"aBP" = (/obj/structure/table,/obj/item/device/paicard,/turf/simulated/floor/plating,/area/construction/Storage{name = "Construction Site"})
"aBQ" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/construction/Storage{name = "Construction Site"})
-"aBR" = (/obj/item/alarm_frame,/turf/simulated/floor/plating,/area/construction/Storage{name = "Construction Site"})
+"aBR" = (/obj/item/wallframe/alarm,/turf/simulated/floor/plating,/area/construction/Storage{name = "Construction Site"})
"aBS" = (/obj/machinery/conveyor{dir = 6; id = "Mininginput"; verted = -1},/turf/simulated/floor/plating,/area/quartermaster/miningdock)
"aBT" = (/obj/machinery/mineral/stacking_machine,/turf/simulated/floor/plating,/area/quartermaster/miningdock)
"aBU" = (/obj/machinery/light,/obj/machinery/newscaster{hitstaken = 1; pixel_y = -32},/turf/simulated/floor/plasteel{dir = 4; icon_state = "loadingarea"},/area/quartermaster/miningdock)
@@ -1704,8 +1704,8 @@
"aGN" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint2)
"aGO" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
"aGP" = (/turf/simulated/floor/wood,/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
-"aGQ" = (/obj/machinery/door_control{id = "Dorm6"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
-"aGR" = (/obj/machinery/shower{dir = 4},/obj/item/weapon/soap,/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/door_control{id = "shutbath"; name = "Bathroom Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
+"aGQ" = (/obj/machinery/button/door{id = "Dorm6"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
+"aGR" = (/obj/machinery/shower{dir = 4},/obj/item/weapon/soap,/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/button/door{id = "shutbath"; name = "Bathroom Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
"aGS" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
"aGT" = (/obj/structure/toilet,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/sleep_female{name = "Fore Dormitory"})
"aGU" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/alarm{dir = 4; pixel_x = -22},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/hallway/primary/starboard{name = "Starboard Hallway"})
@@ -1831,7 +1831,7 @@
"aJk" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/obj/structure/table/glass,/obj/item/device/electropack,/turf/simulated/floor/plasteel{icon_state = "white"},/area/security/prison)
"aJl" = (/obj/structure/table/glass,/obj/item/weapon/razor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plasteel{icon_state = "white"},/area/security/prison)
"aJm" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/security/main)
-"aJn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door_control{id = "interrogation"; name = "Interrogation Shutters Control"; pixel_y = 26; req_access_txt = "0"},/turf/simulated/floor/plasteel,/area/security/main)
+"aJn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/button/door{id = "interrogation"; name = "Interrogation Shutters Control"; pixel_y = 26; req_access_txt = "0"},/turf/simulated/floor/plasteel,/area/security/main)
"aJo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel,/area/security/main)
"aJp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/main)
"aJq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light_switch{dir = 1; pixel_y = 22},/turf/simulated/floor/plasteel,/area/security/main)
@@ -1942,7 +1942,7 @@
"aLr" = (/obj/structure/table/wood,/obj/item/weapon/storage/wallet,/obj/item/device/healthanalyzer,/obj/machinery/light{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"aLs" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"aLt" = (/obj/machinery/alarm{dir = 8; pixel_x = 22},/turf/simulated/floor/wood,/area/crew_quarters/captain)
-"aLu" = (/obj/machinery/computer/card,/obj/item/weapon/card/id/captains_spare,/obj/machinery/door_control{id = "capffice"; name = "Captain's Shutters Control"; pixel_x = -24; req_access_txt = "22"},/turf/simulated/floor/wood,/area/crew_quarters/captain)
+"aLu" = (/obj/machinery/computer/card,/obj/item/weapon/card/id/captains_spare,/obj/machinery/button/door{id = "capffice"; name = "Captain's Shutters Control"; pixel_x = -24; req_access_txt = "22"},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"aLv" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"aLw" = (/obj/structure/table/wood,/obj/item/clothing/mask/cigarette/cigar,/obj/item/weapon/storage/box/matches,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"aLx" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/captain)
@@ -1977,7 +1977,7 @@
"aMa" = (/obj/machinery/field/generator,/turf/simulated/floor/plating,/area/engine/engineering)
"aMb" = (/obj/machinery/power/port_gen/pacman,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/engine/engineering)
"aMc" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/machinery/camera{c_tag = "Engineering Secure Storage"},/turf/simulated/floor/plating,/area/engine/engineering)
-"aMd" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/sheet/mineral/plasma{amount = 30},/turf/simulated/floor/plating,/area/engine/engineering)
+"aMd" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/sheet/mineral/plasma{amount = 30},/turf/simulated/floor/plating,/area/engine/engineering)
"aMe" = (/obj/structure/closet/secure_closet/engineering_chief,/obj/machinery/status_display{layer = 4; pixel_y = 32},/obj/machinery/light{dir = 8},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Engineer's Desk"; departmentType = 3; name = "Chief Engineer's Requests Console"; pixel_x = -32},/turf/simulated/floor/plasteel{dir = 9; icon_state = "yellow"},/area/engine/chiefs_office)
"aMf" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/engine/chiefs_office)
"aMg" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/engine/chiefs_office)
@@ -2086,10 +2086,10 @@
"aOf" = (/turf/simulated/floor/plasteel,/area/security/prison)
"aOg" = (/obj/machinery/washing_machine,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/security/prison)
"aOh" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/security/prison)
-"aOi" = (/obj/structure/stool,/obj/machinery/door_control{id = "permabolt1"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel,/area/security/prison)
+"aOi" = (/obj/structure/stool,/obj/machinery/button/door{id = "permabolt1"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel,/area/security/prison)
"aOj" = (/obj/structure/table,/obj/machinery/flasher{id = "PCell 1"; pixel_y = 26},/obj/machinery/camera{c_tag = "Prison Cell 1"; network = list("SS13","Prison")},/obj/item/weapon/razor,/turf/simulated/floor/plasteel,/area/security/prison)
"aOk" = (/obj/structure/stool,/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel,/area/security/prison)
-"aOl" = (/obj/machinery/flasher_button{id = "PCell 1"; pixel_x = -26},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 1},/area/security/prison)
+"aOl" = (/obj/machinery/button/flasher{id = "PCell 1"; pixel_x = -26},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 1},/area/security/prison)
"aOm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 1},/area/security/prison)
"aOn" = (/obj/machinery/light_switch{dir = 8; pixel_x = -22},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/main)
"aOo" = (/obj/structure/table,/obj/item/device/taperecorder,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/main)
@@ -2117,7 +2117,7 @@
"aOK" = (/obj/structure/extinguisher_cabinet{pixel_x = 27},/obj/machinery/hydroponics/constructable,/turf/simulated/floor/plasteel{icon_state = "greenfull"},/area/hallway/primary/port{name = "Port Hallway"})
"aOL" = (/obj/machinery/power/emitter,/turf/simulated/floor/plating,/area/engine/engineering)
"aOM" = (/obj/machinery/the_singularitygen,/turf/simulated/floor/plating,/area/engine/engineering)
-"aON" = (/obj/machinery/computer/station_alert,/obj/machinery/door_control{desc = "A remote control-switch for secure storage."; id = "Secure Storage"; name = "Engineering Secure Storage"; pixel_x = -24; pixel_y = 4; req_access_txt = "11"},/obj/machinery/light_switch{dir = 8; pixel_x = -22; pixel_y = -6},/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellow"},/area/engine/chiefs_office)
+"aON" = (/obj/machinery/computer/station_alert,/obj/machinery/button/door{desc = "A remote control-switch for secure storage."; id = "Secure Storage"; name = "Engineering Secure Storage"; pixel_x = -24; pixel_y = 4; req_access_txt = "11"},/obj/machinery/light_switch{dir = 8; pixel_x = -22; pixel_y = -6},/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellow"},/area/engine/chiefs_office)
"aOO" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor/plasteel,/area/engine/chiefs_office)
"aOP" = (/obj/structure/table,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/storage/box/permits{pixel_x = 3; pixel_y = 3},/obj/item/stack/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/engine/chiefs_office)
"aOQ" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/mob/living/simple_animal/parrot/Poly,/turf/simulated/floor/plasteel,/area/engine/chiefs_office)
@@ -2214,7 +2214,7 @@
"aQD" = (/obj/structure/closet,/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison)
"aQE" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison)
"aQF" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor/plasteel,/area/security/prison)
-"aQG" = (/obj/machinery/door_control{id = "permacell1"; name = "Cell 1 Lockdown"; pixel_x = -26; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison)
+"aQG" = (/obj/machinery/button/door{id = "permacell1"; name = "Cell 1 Lockdown"; pixel_x = -26; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison)
"aQH" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the Prison Wing."; dir = 8; name = "Prison Monitor"; network = list("Prison"); pixel_x = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/security/prison)
"aQI" = (/obj/structure/closet/wardrobe/red,/turf/simulated/floor/plasteel{icon_state = "redcorner"},/area/security/main)
"aQJ" = (/obj/machinery/photocopier,/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/main)
@@ -2349,10 +2349,10 @@
"aTi" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/plasteel,/area/security/prison)
"aTj" = (/obj/structure/table,/obj/item/toy/cards/deck,/turf/simulated/floor/plasteel,/area/security/prison)
"aTk" = (/obj/machinery/alarm{dir = 8; pixel_x = 22},/turf/simulated/floor/plasteel,/area/security/prison)
-"aTl" = (/obj/structure/stool,/obj/machinery/door_control{id = "permabolt2"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel,/area/security/prison)
+"aTl" = (/obj/structure/stool,/obj/machinery/button/door{id = "permabolt2"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel,/area/security/prison)
"aTm" = (/obj/structure/table,/obj/machinery/flasher{id = "PCell 2"; pixel_y = 26},/obj/machinery/camera{c_tag = "Prison Cell 2"; network = list("SS13","Prison")},/obj/item/weapon/paper,/obj/item/weapon/pen,/turf/simulated/floor/plasteel,/area/security/prison)
"aTn" = (/obj/structure/stool,/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/security/prison)
-"aTo" = (/obj/machinery/flasher_button{id = "PCell 2"; pixel_x = -26},/obj/machinery/camera{c_tag = "Prison Hallway Fore"; dir = 4; network = list("SS13","Prison")},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison)
+"aTo" = (/obj/machinery/button/flasher{id = "PCell 2"; pixel_x = -26},/obj/machinery/camera{c_tag = "Prison Hallway Fore"; dir = 4; network = list("SS13","Prison")},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison)
"aTp" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/security/prison)
"aTq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/prison)
"aTr" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellow"},/area/security/prison)
@@ -2458,9 +2458,9 @@
"aVn" = (/obj/machinery/power/emitter{anchored = 1; dir = 8; state = 2},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/engine/engineering)
"aVo" = (/obj/structure/closet/radiation,/turf/simulated/floor/plasteel,/area/engine/engineering)
"aVp" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_y = -32},/turf/simulated/floor/plasteel,/area/engine/engineering)
-"aVq" = (/obj/structure/rack,/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/machinery/door_control{id = "singularity"; name = "Shutters Control"; pixel_y = -25; req_access_txt = "11"},/turf/simulated/floor/plasteel{icon_state = "yellowcorner"},/area/engine/engineering)
+"aVq" = (/obj/structure/rack,/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/machinery/button/door{id = "singularity"; name = "Shutters Control"; pixel_y = -25; req_access_txt = "11"},/turf/simulated/floor/plasteel{icon_state = "yellowcorner"},/area/engine/engineering)
"aVr" = (/obj/structure/rack,/obj/item/clothing/suit/hazardvest,/obj/item/clothing/suit/hazardvest,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/engine/engineering)
-"aVs" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/tracker_electronics,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/engine/engineering)
+"aVs" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/electronics/tracker,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/engine/engineering)
"aVt" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellowcorner"},/area/engine/engineering)
"aVu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/engine/engineering)
"aVv" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -2514,12 +2514,12 @@
"aWr" = (/obj/structure/closet,/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/security/prison)
"aWs" = (/obj/machinery/light,/turf/simulated/floor/plasteel,/area/security/prison)
"aWt" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/plasteel,/area/security/prison)
-"aWu" = (/obj/machinery/door_control{id = "permacell2"; name = "Cell 2 Lockdown"; pixel_x = -26; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor/plasteel,/area/security/prison)
+"aWu" = (/obj/machinery/button/door{id = "permacell2"; name = "Cell 2 Lockdown"; pixel_x = -26; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor/plasteel,/area/security/prison)
"aWv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/security/prison)
"aWw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/cable,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/prison)
"aWx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellow"},/area/security/prison)
"aWy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor/preopen{id = "Prison Gate"; name = "Prison Blast Door"},/turf/simulated/floor/plasteel,/area/security/prison)
-"aWz" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/machinery/door_control{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = -28; pixel_y = -24; req_access_txt = "2"},/turf/simulated/floor/plasteel,/area/security/prison)
+"aWz" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/machinery/button/door{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = -28; pixel_y = -24; req_access_txt = "2"},/turf/simulated/floor/plasteel,/area/security/prison)
"aWA" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/prison)
"aWB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/prison)
"aWC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/prison)
@@ -2564,7 +2564,7 @@
"aXp" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads)
"aXq" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{desc = "The office of the hero the station deserves, but not the one it needs right now. They also change IDs on occasion."; name = "Head of Personnel's Office"; req_access = null; req_access_txt = "57"},/turf/simulated/floor/wood,/area/crew_quarters/heads)
"aXr" = (/turf/simulated/wall,/area/crew_quarters/heads)
-"aXs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/machinery/door_control{id = "bridge blast"; name = "Bridge Blast Door Control"; pixel_x = -24; req_access_txt = "19"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera{c_tag = "Bridge Fore"; dir = 4},/turf/simulated/floor/plasteel,/area/bridge)
+"aXs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/machinery/button/door{id = "bridge blast"; name = "Bridge Blast Door Control"; pixel_x = -24; req_access_txt = "19"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera{c_tag = "Bridge Fore"; dir = 4},/turf/simulated/floor/plasteel,/area/bridge)
"aXt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plasteel,/area/bridge)
"aXu" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "redcorner"},/area/bridge)
"aXv" = (/obj/structure/table,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/bridge)
@@ -2604,7 +2604,7 @@
"aYd" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engineering)
"aYe" = (/obj/item/weapon/wrench,/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/engine/engineering)
"aYf" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/engine/engineering)
-"aYg" = (/obj/machinery/light{dir = 1},/obj/machinery/door_control{id = "singularity"; name = "Shutters Control"; pixel_y = 25; req_access_txt = "11"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/engine/engineering)
+"aYg" = (/obj/machinery/light{dir = 1},/obj/machinery/button/door{id = "singularity"; name = "Shutters Control"; pixel_y = 25; req_access_txt = "11"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/engine/engineering)
"aYh" = (/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/engine/engineering)
"aYi" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = -32},/obj/machinery/vending/tool,/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellow"},/area/engine/engineering)
"aYj" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -2653,9 +2653,9 @@
"aZa" = (/obj/item/device/analyzer/plant_analyzer,/obj/structure/table,/obj/item/seeds/wheatseed,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 6; pixel_y = 2},/turf/simulated/floor/plasteel{icon_state = "green"; dir = 5},/area/security/prison)
"aZb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 8; icon_state = "green"},/area/security/prison)
"aZc" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison)
-"aZd" = (/obj/structure/stool,/obj/machinery/door_control{id = "permabolt3"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel,/area/security/prison)
+"aZd" = (/obj/structure/stool,/obj/machinery/button/door{id = "permabolt3"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel,/area/security/prison)
"aZe" = (/obj/structure/table,/obj/machinery/flasher{id = "PCell 3"; pixel_y = 26},/obj/machinery/camera{c_tag = "Prison Cell 3"; network = list("SS13","Prison")},/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor/plasteel,/area/security/prison)
-"aZf" = (/obj/machinery/flasher_button{id = "PCell 3"; pixel_x = -26},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison)
+"aZf" = (/obj/machinery/button/flasher{id = "PCell 3"; pixel_x = -26},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison)
"aZg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/status_display{pixel_x = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/security/prison)
"aZh" = (/turf/simulated/wall/r_wall,/area/security/warden)
"aZi" = (/turf/simulated/wall,/area/security/warden)
@@ -2709,7 +2709,7 @@
"bae" = (/obj/structure/grille,/obj/machinery/door/poddoor/shutters/preopen{id = "hopqueue"; name = "HoP Queue Shutters"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/hallway/primary/starboard{name = "Starboard Hallway"})
"baf" = (/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/hallway/primary/starboard{name = "Starboard Hallway"})
"bag" = (/obj/structure/table/reinforced,/obj/machinery/door/window/northleft{dir = 8; name = "Reception Window"; req_access_txt = "0"},/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Head of Personnel's Desk"; req_access_txt = "57"},/obj/machinery/door/firedoor,/turf/simulated/floor/wood,/area/crew_quarters/heads)
-"bah" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/cable/blue{icon_state = "2-4"; d1 = 1; d2 = 2},/obj/structure/cable/blue{icon_state = "1-4"; d1 = 1; d2 = 2},/obj/machinery/door_control{id = "hopqueue"; name = "Queue Shutters Control"; pixel_y = 54; req_access_txt = "28"},/obj/machinery/flasher_button{id = "hopline"; pixel_x = 6; pixel_y = 64; req_access_txt = "2"},/turf/simulated/floor/wood,/area/crew_quarters/heads)
+"bah" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/cable/blue{icon_state = "2-4"; d1 = 1; d2 = 2},/obj/structure/cable/blue{icon_state = "1-4"; d1 = 1; d2 = 2},/obj/machinery/button/door{id = "hopqueue"; name = "Queue Shutters Control"; pixel_y = 54; req_access_txt = "28"},/obj/machinery/button/flasher{id = "hopline"; pixel_x = 6; pixel_y = 64; req_access_txt = "2"},/turf/simulated/floor/wood,/area/crew_quarters/heads)
"bai" = (/obj/structure/cable/blue{icon_state = "1-8"; d1 = 1; d2 = 2},/turf/simulated/floor/wood,/area/crew_quarters/heads)
"baj" = (/turf/simulated/floor/wood,/area/crew_quarters/heads)
"bak" = (/obj/structure/table/wood,/obj/item/weapon/book/manual/wiki/security_space_law,/turf/simulated/floor/wood,/area/crew_quarters/heads)
@@ -2764,7 +2764,7 @@
"bbh" = (/obj/machinery/door/poddoor/shutters/preopen{id = "singularity"; name = "radiation shutters"},/obj/machinery/door/firedoor,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/engine/engineering)
"bbi" = (/obj/effect/landmark{name = "lightsout"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/engine/engineering)
"bbj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/hologram/holopad,/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel,/area/engine/engineering)
-"bbk" = (/obj/structure/table,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/turf/simulated/floor/plasteel,/area/engine/engineering)
+"bbk" = (/obj/structure/table,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/turf/simulated/floor/plasteel,/area/engine/engineering)
"bbl" = (/obj/structure/table,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/engine/engineering)
"bbm" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/engine/engineering)
"bbn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/engine/engineering)
@@ -2809,7 +2809,7 @@
"bca" = (/obj/machinery/hydroponics/constructable,/obj/item/seeds/sunflowerseed,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/security/prison)
"bcb" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "green"},/area/security/prison)
"bcc" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel,/area/security/prison)
-"bcd" = (/obj/machinery/door_control{id = "permacell3"; name = "Cell 3 Lockdown"; pixel_x = -26; req_access_txt = "2"},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 4; on = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/security/prison)
+"bcd" = (/obj/machinery/button/door{id = "permacell3"; name = "Cell 3 Lockdown"; pixel_x = -26; req_access_txt = "2"},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 4; on = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/security/prison)
"bce" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/computer/security/telescreen{desc = "Used for watching the Prison Wing."; dir = 8; name = "Prison Monitor"; network = list("Prison"); pixel_x = 32},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/security/prison)
"bcf" = (/obj/machinery/deployable/barrier,/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/warden)
"bcg" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/warden)
@@ -2835,8 +2835,8 @@
"bcA" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/engine/engineering)
"bcB" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/particle_accelerator/control_box,/turf/simulated/floor/plating,/area/engine/engineering)
"bcC" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plasteel{icon_state = "warningcorner"},/area/engine/engineering)
-"bcD" = (/obj/machinery/door_control{id = "singularity"; name = "Shutters Control"; pixel_x = 25; req_access_txt = "11"},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/engine/engineering)
-"bcE" = (/obj/machinery/door_control{id = "singularity"; name = "Shutters Control"; pixel_x = -25; req_access_txt = "11"},/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellowcorner"},/area/engine/engineering)
+"bcD" = (/obj/machinery/button/door{id = "singularity"; name = "Shutters Control"; pixel_x = 25; req_access_txt = "11"},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/engine/engineering)
+"bcE" = (/obj/machinery/button/door{id = "singularity"; name = "Shutters Control"; pixel_x = -25; req_access_txt = "11"},/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellowcorner"},/area/engine/engineering)
"bcF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/engine/engineering)
"bcG" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plasteel,/area/engine/engineering)
"bcH" = (/obj/structure/table,/obj/item/clothing/gloves/color/black,/obj/item/clothing/gloves/color/black,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -2860,7 +2860,7 @@
"bcZ" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/crew_quarters/kitchen)
"bda" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/peppermill,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = 7},/obj/item/weapon/reagent_containers/food/condiment/saltshaker,/obj/item/weapon/reagent_containers/food/condiment/peppermill,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/crew_quarters/kitchen)
"bdb" = (/obj/structure/table,/obj/item/weapon/kitchen/rollingpin,/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/crew_quarters/kitchen)
-"bdc" = (/obj/machinery/processor,/obj/machinery/door_control{id = "kitchen"; name = "Kitchen Shutters Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "28"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "Kitchen"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/crew_quarters/kitchen)
+"bdc" = (/obj/machinery/processor,/obj/machinery/button/door{id = "kitchen"; name = "Kitchen Shutters Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "28"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "Kitchen"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/crew_quarters/kitchen)
"bdd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/crew_quarters/kitchen)
"bde" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/closet/secure_closet/freezer/kitchen,/obj/machinery/light{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/crew_quarters/kitchen)
"bdf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/crew_quarters/kitchen)
@@ -2898,7 +2898,7 @@
"bdL" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor{layer = 2.9; name = "Brig Desk"; req_access_txt = "1"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor/plasteel,/area/security/brig)
"bdM" = (/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/engine/engineering)
"bdN" = (/turf/simulated/floor/plasteel{icon_state = "warning"},/area/engine/engineering)
-"bdO" = (/obj/machinery/light,/obj/machinery/door_control{id = "singularity"; name = "Shutters Control"; pixel_y = -25; req_access_txt = "11"},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/engine/engineering)
+"bdO" = (/obj/machinery/light,/obj/machinery/button/door{id = "singularity"; name = "Shutters Control"; pixel_y = -25; req_access_txt = "11"},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/engine/engineering)
"bdP" = (/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/engine/engineering)
"bdQ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = -32},/obj/machinery/vending/engivend,/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellow"},/area/engine/engineering)
"bdR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -2922,7 +2922,7 @@
"bej" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/hallway/primary/starboard{name = "Starboard Hallway"})
"bek" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/crew_quarters/heads)
"bel" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/heads)
-"bem" = (/obj/machinery/door_control{id = "bridge blast"; name = "Bridge Blast Door Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "19"},/turf/simulated/floor/wood,/area/crew_quarters/heads)
+"bem" = (/obj/machinery/button/door{id = "bridge blast"; name = "Bridge Blast Door Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "19"},/turf/simulated/floor/wood,/area/crew_quarters/heads)
"ben" = (/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_x = -3; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/heads)
"beo" = (/obj/structure/table/wood,/obj/item/device/flash/handheld,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/wood,/area/crew_quarters/heads)
"bep" = (/obj/structure/table/wood,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/hop,/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Personnel's Desk"; departmentType = 5; name = "Head of Personnel Requests Console"; pixel_y = -30},/turf/simulated/floor/wood,/area/crew_quarters/heads)
@@ -2930,7 +2930,7 @@
"ber" = (/obj/structure/closet/secure_closet/hop,/obj/item/clothing/suit/ianshirt,/turf/simulated/floor/wood,/area/crew_quarters/heads)
"bes" = (/obj/machinery/light{dir = 8},/obj/machinery/status_display{pixel_x = -32},/turf/simulated/floor/plasteel,/area/bridge)
"bet" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "bluecorner"},/area/bridge)
-"beu" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door_control{id = "evashutter"; name = "E.V.A. Storage Shutter Control"; pixel_y = -24; req_access_txt = "19"},/obj/machinery/door_control{id = "bridgeshut"; name = "Bridge Shutters Control"; pixel_y = -34; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 6},/area/bridge)
+"beu" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/button/door{id = "evashutter"; name = "E.V.A. Storage Shutter Control"; pixel_y = -24; req_access_txt = "19"},/obj/machinery/button/door{id = "bridgeshut"; name = "Bridge Shutters Control"; pixel_y = -34; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 6},/area/bridge)
"bev" = (/obj/structure/table,/obj/item/device/flash/handheld,/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 8},/area/bridge)
"bew" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/emergency,/obj/item/device/flash/handheld,/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellow"},/area/bridge)
"bex" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/turf/simulated/floor/plating,/area/mine/explored)
@@ -2970,7 +2970,7 @@
"bff" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel,/area/engine/engineering)
"bfg" = (/obj/machinery/computer/monitor,/obj/machinery/light{dir = 4},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/engine/engineering)
"bfh" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32},/turf/simulated/floor/plating{icon_state = "warnplate"},/area/engine/engineering)
-"bfi" = (/obj/structure/table,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -5; pixel_y = 23},/obj/machinery/recharger{pixel_y = 4},/obj/machinery/computer/security/telescreen{desc = "Used for monitoring the singularity engine safely."; dir = 4; name = "Singularity Monitor"; network = list("Singularity"); pixel_x = -32},/obj/machinery/door_control{desc = "A remote control-switch for secure storage."; id = "Engineering"; name = "Engineering Door Control"; pixel_x = 10; pixel_y = 24; req_access_txt = "11"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/engine/engineering)
+"bfi" = (/obj/structure/table,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -5; pixel_y = 23},/obj/machinery/recharger{pixel_y = 4},/obj/machinery/computer/security/telescreen{desc = "Used for monitoring the singularity engine safely."; dir = 4; name = "Singularity Monitor"; network = list("Singularity"); pixel_x = -32},/obj/machinery/button/door{desc = "A remote control-switch for secure storage."; id = "Engineering"; name = "Engineering Door Control"; pixel_x = 10; pixel_y = 24; req_access_txt = "11"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/engine/engineering)
"bfj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/engine/engineering)
"bfk" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/engine/engineering)
"bfl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/engine/engineering)
@@ -2993,7 +2993,7 @@
"bfC" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden,/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/hallway/primary/starboard{name = "Starboard Hallway"})
"bfD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/structure/cable/green{icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "blue"},/area/hallway/primary/starboard{name = "Starboard Hallway"})
"bfE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/command{desc = "The office of the hero the station deserves, but not the one it needs right now. They also change IDs on occasion."; name = "Head of Personnel's Office"; req_access = null; req_access_txt = "57"},/turf/simulated/floor/wood,/area/crew_quarters/heads)
-"bfF" = (/obj/machinery/door_control{id = "bridge blast"; name = "Bridge Blast Door Control"; pixel_x = -24; req_access_txt = "19"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable/blue{icon_state = "2-4"; d1 = 1; d2 = 2},/obj/machinery/camera{c_tag = "Bridge Aft"; dir = 4},/turf/simulated/floor/plasteel,/area/bridge)
+"bfF" = (/obj/machinery/button/door{id = "bridge blast"; name = "Bridge Blast Door Control"; pixel_x = -24; req_access_txt = "19"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable/blue{icon_state = "2-4"; d1 = 1; d2 = 2},/obj/machinery/camera{c_tag = "Bridge Aft"; dir = 4},/turf/simulated/floor/plasteel,/area/bridge)
"bfG" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/structure/cable/blue{icon_state = "1-8"; d1 = 1; d2 = 2},/turf/simulated/floor/plasteel,/area/bridge)
"bfH" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/obj/structure/table,/turf/simulated/floor/plasteel{dir = 1; icon_state = "blue"},/area/bridge)
"bfI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor/plasteel{dir = 1; icon_state = "bluecorner"},/area/bridge)
@@ -3025,14 +3025,14 @@
"bgi" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/security/brig)
"bgj" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/brig)
"bgk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/computer/security,/turf/simulated/floor/plasteel,/area/security/brig)
-"bgl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/computer/secure_data,/obj/machinery/door_control{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -6; pixel_y = -26; req_access_txt = "2"},/obj/machinery/flasher_button{id = "brigentry"; pixel_x = 6; pixel_y = -26},/turf/simulated/floor/plasteel,/area/security/brig)
-"bgm" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "innerbrig"; name = "Brig Interior Doors Control"; normaldoorcontrol = 1; pixel_x = -6; pixel_y = -26; req_access_txt = "63"},/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "outerbrig"; name = "Brig Exterior Doors Control"; normaldoorcontrol = 1; pixel_x = 6; pixel_y = -26; req_access_txt = "63"},/turf/simulated/floor/plasteel,/area/security/brig)
+"bgl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/computer/secure_data,/obj/machinery/button/door{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -6; pixel_y = -26; req_access_txt = "2"},/obj/machinery/button/flasher{id = "brigentry"; pixel_x = 6; pixel_y = -26},/turf/simulated/floor/plasteel,/area/security/brig)
+"bgm" = (/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "innerbrig"; name = "Brig Interior Doors Control"; normaldoorcontrol = 1; pixel_x = -6; pixel_y = -26; req_access_txt = "63"},/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "outerbrig"; name = "Brig Exterior Doors Control"; normaldoorcontrol = 1; pixel_x = 6; pixel_y = -26; req_access_txt = "63"},/turf/simulated/floor/plasteel,/area/security/brig)
"bgn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "Secure Gate"; name = "Security Blast Door"},/turf/simulated/floor/plating,/area/security/brig)
"bgo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/camera{c_tag = "Port Hallway Central"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "neutralcorner"},/area/hallway/primary/port{name = "Port Hallway"})
"bgp" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/aft)
"bgq" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless{icon_state = "warnplate"; dir = 8},/area/engine/engineering)
"bgr" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_y = 32},/turf/simulated/floor/plasteel,/area/engine/engineering)
-"bgs" = (/obj/structure/rack,/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/extinguisher,/obj/machinery/door_control{id = "singularity"; name = "Shutters Control"; pixel_y = 25; req_access_txt = "11"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/engine/engineering)
+"bgs" = (/obj/structure/rack,/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/extinguisher,/obj/machinery/button/door{id = "singularity"; name = "Shutters Control"; pixel_y = 25; req_access_txt = "11"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/engine/engineering)
"bgt" = (/obj/structure/closet/firecloset,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/engine/engineering)
"bgu" = (/obj/structure/closet/toolcloset,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/engine/engineering)
"bgv" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/engine/engineering)
@@ -3079,8 +3079,8 @@
"bhk" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/warden)
"bhl" = (/obj/structure/table,/obj/item/weapon/book/manual/wiki/security_space_law{pixel_x = -3; pixel_y = 5},/obj/machinery/newscaster/security_unit{pixel_y = -32},/turf/simulated/floor/plasteel{icon_state = "neutralcorner"; dir = 1},/area/security/warden)
"bhm" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel,/area/security/warden)
-"bhn" = (/obj/machinery/door_control{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_y = -26; req_access_txt = "2"},/obj/structure/stool/bed/chair/janicart/secway,/obj/item/key/security,/turf/simulated/floor/plasteel,/area/security/warden)
-"bho" = (/obj/machinery/door_control{id = "Secure Gate"; name = "Brig Lockdown"; pixel_y = -26; req_access_txt = "2"},/turf/simulated/floor/plasteel,/area/security/warden)
+"bhn" = (/obj/machinery/button/door{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_y = -26; req_access_txt = "2"},/obj/structure/stool/bed/chair/janicart/secway,/obj/item/key/security,/turf/simulated/floor/plasteel,/area/security/warden)
+"bho" = (/obj/machinery/button/door{id = "Secure Gate"; name = "Brig Lockdown"; pixel_y = -26; req_access_txt = "2"},/turf/simulated/floor/plasteel,/area/security/warden)
"bhp" = (/obj/machinery/light_switch{pixel_y = -22},/turf/simulated/floor/plasteel,/area/security/warden)
"bhq" = (/obj/machinery/door/airlock/glass_security{desc = "The workplace of the HoS' right hand, the station's Warden, responsible for keeping track of the guns and the prisoners and ensuring they don't mix."; name = "Warden's Office"; req_access_txt = "3"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/warden)
"bhr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door_timer{dir = 4; id = "cell4"; name = "Cell Four Timer"; pixel_x = 32},/turf/simulated/floor/plasteel,/area/security/brig)
@@ -3368,7 +3368,7 @@
"bmN" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 8; on = 1},/obj/machinery/newscaster{pixel_y = -32},/turf/simulated/floor/carpet,/area/bridge)
"bmO" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/bridge)
"bmP" = (/obj/effect/spawner/structure/window/reinforced,/turf/simulated/floor/plating,/area/bridge)
-"bmQ" = (/obj/machinery/computer/security,/obj/machinery/door_control{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = -28; pixel_y = 7; req_access_txt = "2"},/obj/machinery/door_control{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -28; pixel_y = -3; req_access_txt = "2"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/wood,/area/security/hos)
+"bmQ" = (/obj/machinery/computer/security,/obj/machinery/button/door{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = -28; pixel_y = 7; req_access_txt = "2"},/obj/machinery/button/door{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -28; pixel_y = -3; req_access_txt = "2"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/wood,/area/security/hos)
"bmR" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor/wood,/area/security/hos)
"bmS" = (/obj/machinery/status_display{pixel_y = -32},/turf/simulated/floor/wood,/area/security/hos)
"bmT" = (/obj/machinery/disposal/bin,/obj/machinery/keycard_auth{pixel_y = -24},/obj/machinery/light_switch{dir = 4; pixel_x = 22},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/security/hos)
@@ -3411,7 +3411,7 @@
"bnE" = (/obj/structure/noticeboard{dir = 1; pixel_y = -27},/turf/simulated/floor/carpet,/area/bridge)
"bnF" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1},/obj/machinery/light,/turf/simulated/floor/carpet,/area/bridge)
"bnG" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/carpet,/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
-"bnH" = (/obj/machinery/door_control{id = "Dorm1s"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
+"bnH" = (/obj/machinery/button/door{id = "Dorm1s"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
"bnI" = (/obj/structure/table/wood,/obj/machinery/recharger,/turf/simulated/floor/wood,/area/bridge)
"bnJ" = (/obj/structure/closet{name = "Evidence Closet"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/brig)
"bnK" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/brig)
@@ -3452,8 +3452,8 @@
"bot" = (/mob/living/simple_animal/mouse/brown/Tom,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/nuke_storage)
"bou" = (/obj/item/weapon/storage/secure/safe{pixel_x = 32},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/nuke_storage)
"bov" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/maintcentral)
-"bow" = (/obj/machinery/door_control{id = "Dorm2s"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
-"box" = (/obj/machinery/door_control{id = "Dorm3s"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
+"bow" = (/obj/machinery/button/door{id = "Dorm2s"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
+"box" = (/obj/machinery/button/door{id = "Dorm3s"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
"boy" = (/obj/structure/table/wood,/turf/simulated/floor/wood,/area/bridge)
"boz" = (/obj/structure/closet{name = "Evidence Closet"},/obj/machinery/camera{c_tag = "Evidence Storage"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/brig)
"boA" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/brig)
@@ -3491,7 +3491,7 @@
"bpg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
"bph" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/bridge)
"bpi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal/bin,/turf/simulated/floor/wood,/area/bridge)
-"bpj" = (/obj/machinery/door_control{id = "Dorm4s"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
+"bpj" = (/obj/machinery/button/door{id = "Dorm4s"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
"bpk" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/yellow,/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1; pixel_y = 0},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
"bpl" = (/obj/machinery/light/small,/turf/simulated/floor/carpet,/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
"bpm" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1; pixel_y = 0},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/carpet,/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
@@ -3529,7 +3529,7 @@
"bpS" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
"bpT" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Mime"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
"bpU" = (/obj/structure/table/wood,/obj/item/weapon/lipstick/random,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
-"bpV" = (/obj/machinery/shower{dir = 4},/obj/item/weapon/soap,/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/door_control{id = "shutbath2"; name = "Bathroom Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
+"bpV" = (/obj/machinery/shower{dir = 4},/obj/item/weapon/soap,/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/button/door{id = "shutbath2"; name = "Bathroom Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
"bpW" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
"bpX" = (/obj/machinery/door/airlock{desc = "Basic human needs haven't changed much over the centuries."; name = "Restroom"; req_access_txt = "0"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/sleep_male{name = "Aft Dormitory"})
"bpY" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "neutralcorner"; dir = 1},/area/hallway/primary/starboard{name = "Starboard Hallway"})
@@ -3897,8 +3897,8 @@
"bwW" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden,/turf/simulated/floor/mech_bay_recharge_floor,/area/assembly/chargebay)
"bwX" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/plasteel,/area/assembly/chargebay)
"bwY" = (/turf/simulated/floor/plasteel,/area/assembly/chargebay)
-"bwZ" = (/obj/machinery/door_control{id = "Mechbay"; name = "Mech Bay Door Control"; pixel_x = 24; req_access_txt = "29"},/turf/simulated/floor/plasteel,/area/assembly/chargebay)
-"bxa" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{dir = 5},/obj/machinery/door_control{id = "Mechbay"; name = "Mech Bay Door Control"; pixel_x = -24; req_access_txt = "29"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/hallway/primary/central{name = "Aft Central Hallway"})
+"bwZ" = (/obj/machinery/button/door{id = "Mechbay"; name = "Mech Bay Door Control"; pixel_x = 24; req_access_txt = "29"},/turf/simulated/floor/plasteel,/area/assembly/chargebay)
+"bxa" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{dir = 5},/obj/machinery/button/door{id = "Mechbay"; name = "Mech Bay Door Control"; pixel_x = -24; req_access_txt = "29"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/hallway/primary/central{name = "Aft Central Hallway"})
"bxb" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "neutralcorner"},/area/hallway/primary/central{name = "Aft Central Hallway"})
"bxc" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "neutralcorner"},/area/hallway/primary/central{name = "Aft Central Hallway"})
"bxd" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plasteel{icon_state = "neutralcorner"},/area/hallway/primary/central{name = "Aft Central Hallway"})
@@ -4026,7 +4026,7 @@
"bzv" = (/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bzw" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry)
"bzx" = (/obj/structure/sink{pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry)
-"bzy" = (/obj/machinery/door_control{id = "chemTesting"; name = "Containment Blast Doors"; pixel_y = 25; req_access_txt = "5; 33"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhite"},/area/medical/chemistry)
+"bzy" = (/obj/machinery/button/door{id = "chemTesting"; name = "Containment Blast Doors"; pixel_y = 25; req_access_txt = "5; 33"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhite"},/area/medical/chemistry)
"bzz" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "chemTesting"; name = "Containment Door"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/engine,/area/medical/chemistry)
"bzA" = (/turf/simulated/floor/engine,/area/medical/chemistry)
"bzB" = (/mob/living/carbon/monkey,/turf/simulated/floor/engine,/area/medical/chemistry)
@@ -4269,8 +4269,8 @@
"bEe" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteyellow"},/area/medical/medbay)
"bEf" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/medical/medbay)
"bEg" = (/obj/machinery/computer/crew,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
-"bEh" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "FoyerLeft"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_y = 30; req_access_txt = "5"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
-"bEi" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/obj/structure/disposalpipe/segment,/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "FoyerLeft"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_y = 30; req_access_txt = "5"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
+"bEh" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "FoyerLeft"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_y = 30; req_access_txt = "5"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
+"bEi" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/obj/structure/disposalpipe/segment,/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "FoyerLeft"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_y = 30; req_access_txt = "5"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
"bEj" = (/obj/machinery/computer/med_data,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
"bEk" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteblue"},/area/medical/medbay)
"bEl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
@@ -4364,7 +4364,7 @@
"bFV" = (/turf/simulated/floor/plasteel{dir = 5; icon_state = "whiteblue"},/area/medical/medbay)
"bFW" = (/obj/machinery/atmospherics/components/unary/cold_sink/freezer{current_temperature = 80; on = 1},/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/plasteel{dir = 9; icon_state = "whiteblue"},/area/medical/medbay)
"bFX" = (/obj/machinery/atmospherics/components/unary/cryo_cell,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/medical/medbay)
-"bFY" = (/obj/structure/table/glass,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone,/obj/machinery/door_control{desc = "A remote control switch for the medbay cryogenics."; id = "FoyerCryo"; name = "Cryogenics Doors Control"; normaldoorcontrol = 1; pixel_x = -26; pixel_y = -9; req_access_txt = "0"},/obj/item/weapon/wrench,/obj/item/weapon/paper{info = "Due to long lines at the Cryo station, we've implemented a door button to allow people to get out without the aid of an MD. Please use it rather than screaming endlessly."; name = "Notice to Patients"},/obj/machinery/light{dir = 4},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whiteblue"},/area/medical/medbay)
+"bFY" = (/obj/structure/table/glass,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone,/obj/machinery/button/door{desc = "A remote control switch for the medbay cryogenics."; id = "FoyerCryo"; name = "Cryogenics Doors Control"; normaldoorcontrol = 1; pixel_x = -26; pixel_y = -9; req_access_txt = "0"},/obj/item/weapon/wrench,/obj/item/weapon/paper{info = "Due to long lines at the Cryo station, we've implemented a door button to allow people to get out without the aid of an MD. Please use it rather than screaming endlessly."; name = "Notice to Patients"},/obj/machinery/light{dir = 4},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whiteblue"},/area/medical/medbay)
"bFZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{dir = 9; icon_state = "whiteblue"},/area/medical/surgery)
"bGa" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/machinery/light_switch{dir = 1; pixel_y = 22},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/medical/surgery)
"bGb" = (/obj/machinery/vending/medical,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/medical/surgery)
@@ -4414,10 +4414,10 @@
"bGT" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteyellow"},/area/medical/chemistry)
"bGU" = (/obj/structure/stool/bed/roller,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteblue"},/area/medical/medbay)
"bGV" = (/obj/structure/grille,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/medical/medbay)
-"bGW" = (/obj/structure/table/reinforced,/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "FoyerLeft"; name = "Medbay Doors Control"; normaldoorcontrol = 1; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/medical/medbay)
+"bGW" = (/obj/structure/table/reinforced,/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "FoyerLeft"; name = "Medbay Doors Control"; normaldoorcontrol = 1; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/medical/medbay)
"bGX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/medical/medbay)
"bGY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/medical/medbay)
-"bGZ" = (/obj/structure/table/reinforced,/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "FoyerRight"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_y = 6; req_access_txt = "5"},/obj/machinery/door_control{desc = "A remote control switch for the medbay cryogenics."; id = "FoyerCryo"; name = "Cryogenics Doors Control"; normaldoorcontrol = 1; pixel_y = -6; req_access_txt = "5"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 5},/area/medical/medbay)
+"bGZ" = (/obj/structure/table/reinforced,/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "FoyerRight"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_y = 6; req_access_txt = "5"},/obj/machinery/button/door{desc = "A remote control switch for the medbay cryogenics."; id = "FoyerCryo"; name = "Cryogenics Doors Control"; normaldoorcontrol = 1; pixel_y = -6; req_access_txt = "5"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 5},/area/medical/medbay)
"bHa" = (/obj/structure/stool/bed/roller,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/medical/medbay)
"bHb" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteblue"},/area/medical/medbay)
"bHc" = (/obj/machinery/door/airlock/glass_medical{desc = "The rapid-treatment center for injured spacemen. Can be exited via the door button."; id_tag = "FoyerCryo"; name = "Medbay Cryogenics"; req_access_txt = "5"},/turf/simulated/floor/plasteel{dir = 9; icon_state = "whiteblue"},/area/medical/medbay)
@@ -4441,7 +4441,7 @@
"bHu" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"bHv" = (/obj/machinery/door/airlock/external{name = "External Airlock"; req_access_txt = "0"},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned)
"bHw" = (/turf/simulated/wall,/area/mine/abandoned)
-"bHx" = (/obj/item/organ/appendix,/obj/effect/decal/cleanable/blood/gibs,/turf/simulated/floor/plating/asteroid/airless,/area/mine/explored)
+"bHx" = (/obj/item/organ/internal/appendix,/obj/effect/decal/cleanable/blood/gibs,/turf/simulated/floor/plating/asteroid/airless,/area/mine/explored)
"bHy" = (/obj/structure/cable/pink{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"bHz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Research Power Control"; req_access_txt = "11"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"bHA" = (/obj/structure/closet/crate,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
@@ -4491,7 +4491,7 @@
"bIs" = (/obj/item/stack/rods,/obj/item/weapon/shard,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"bIt" = (/obj/item/weapon/wrench,/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned)
"bIu" = (/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"bIv" = (/obj/item/apc_frame,/turf/simulated/floor/plasteel,/area/mine/abandoned)
+"bIv" = (/obj/item/wallframe/apc,/turf/simulated/floor/plasteel,/area/mine/abandoned)
"bIw" = (/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/turf/simulated/floor/plasteel,/area/mine/abandoned)
"bIx" = (/obj/structure/computerframe{anchored = 1},/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plasteel,/area/mine/abandoned)
"bIy" = (/obj/item/weapon/kitchen/knife/ritual,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating/asteroid/airless,/area/mine/explored)
@@ -4557,7 +4557,7 @@
"bJG" = (/obj/structure/table,/obj/item/toy/minimeteor,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"bJH" = (/obj/structure/stool/bed,/obj/effect/landmark/costume,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"bJI" = (/obj/structure/stool/bed,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
-"bJJ" = (/obj/machinery/computer/aifixer,/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/door_control{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_x = -24; req_access_txt = "47"},/turf/simulated/floor/plasteel{dir = 9; icon_state = "whiteblue"},/area/crew_quarters/hor)
+"bJJ" = (/obj/machinery/computer/aifixer,/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/button/door{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_x = -24; req_access_txt = "47"},/turf/simulated/floor/plasteel{dir = 9; icon_state = "whiteblue"},/area/crew_quarters/hor)
"bJK" = (/obj/machinery/computer/robotics,/obj/machinery/firealarm{pixel_y = 25},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/crew_quarters/hor)
"bJL" = (/obj/machinery/computer/mecha,/obj/machinery/requests_console{announcementConsole = 1; department = "Research Director's Desk"; departmentType = 5; name = "Research Director RC"; pixel_x = -2; pixel_y = 30},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/crew_quarters/hor)
"bJM" = (/obj/structure/closet/secure_closet/RD,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/crew_quarters/hor)
@@ -4608,7 +4608,7 @@
"bKF" = (/turf/simulated/floor/plasteel/airless{icon_state = "asteroidfloor"},/area/mine/abandoned)
"bKG" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel/airless{icon_state = "asteroidfloor"},/area/mine/abandoned)
"bKH" = (/obj/structure/girder,/turf/simulated/floor/plasteel/airless{icon_state = "asteroidfloor"},/area/mine/abandoned)
-"bKI" = (/obj/item/organ/heart{beating = 0},/obj/effect/decal/cleanable/blood/gibs,/turf/simulated/floor/plating/asteroid/airless,/area/mine/explored)
+"bKI" = (/obj/item/organ/internal/heart{beating = 0},/obj/effect/decal/cleanable/blood/gibs,/turf/simulated/floor/plating/asteroid/airless,/area/mine/explored)
"bKJ" = (/obj/effect/decal/cleanable/blood,/obj/item/weapon/ectoplasm,/turf/simulated/floor/plating/asteroid/airless,/area/mine/explored)
"bKK" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"bKL" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/machinery/camera{c_tag = "Research Atmospheric Control"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
@@ -4632,13 +4632,13 @@
"bLd" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry)
"bLe" = (/obj/machinery/chem_heater,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry)
"bLf" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteyellow"},/area/medical/chemistry)
-"bLg" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "FoyerLeft"; name = "Medbay Exit Button"; normaldoorcontrol = 1; pixel_y = 26},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/camera{c_tag = "Medbay Port"},/turf/simulated/floor/plasteel{icon_state = "whiteyellowcorner"; dir = 8},/area/medical/medbay2)
+"bLg" = (/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "FoyerLeft"; name = "Medbay Exit Button"; normaldoorcontrol = 1; pixel_y = 26},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/camera{c_tag = "Medbay Port"},/turf/simulated/floor/plasteel{icon_state = "whiteyellowcorner"; dir = 8},/area/medical/medbay2)
"bLh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay2)
"bLi" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay2)
"bLj" = (/obj/structure/disposalpipe/segment,/obj/structure/stool/bed/roller,/turf/simulated/floor/plasteel{icon_state = "whitered"; dir = 4},/area/medical/medbay2)
"bLk" = (/obj/structure/grille,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/medical/medbay)
"bLl" = (/obj/machinery/door/airlock/glass_security{name = "Security Post"; req_access_txt = "63"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitered"},/area/medical/medbay)
-"bLm" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "FoyerRight"; name = "Medbay Exit Button"; normaldoorcontrol = 1; pixel_y = 26},/obj/structure/stool/bed/roller,/turf/simulated/floor/plasteel{icon_state = "whitered"; dir = 8},/area/medical/medbay2)
+"bLm" = (/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "FoyerRight"; name = "Medbay Exit Button"; normaldoorcontrol = 1; pixel_y = 26},/obj/structure/stool/bed/roller,/turf/simulated/floor/plasteel{icon_state = "whitered"; dir = 8},/area/medical/medbay2)
"bLn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay2)
"bLo" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay2)
"bLp" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteblue"},/area/medical/medbay2)
@@ -4850,7 +4850,7 @@
"bPn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/medical/genetics)
"bPo" = (/obj/structure/table/glass,/obj/item/weapon/paper_bin,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/medical/genetics)
"bPp" = (/obj/machinery/requests_console{department = "Genetics"; name = "Genetics Requests Console"; pixel_y = 30},/obj/structure/table/glass,/obj/item/weapon/book/manual/medical_cloning,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/medical/genetics)
-"bPq" = (/obj/machinery/door_control{desc = "A remote control switch for the cloning door."; id = "CloningDoor"; name = "Cloning Exit Button"; normaldoorcontrol = 1; pixel_x = 23; pixel_y = -5},/obj/machinery/light_switch{dir = 4; pixel_x = 22; pixel_y = 7},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whiteblue"},/area/medical/genetics)
+"bPq" = (/obj/machinery/button/door{desc = "A remote control switch for the cloning door."; id = "CloningDoor"; name = "Cloning Exit Button"; normaldoorcontrol = 1; pixel_x = 23; pixel_y = -5},/obj/machinery/light_switch{dir = 4; pixel_x = 22; pixel_y = 7},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whiteblue"},/area/medical/genetics)
"bPr" = (/obj/effect/spawner/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/medbay2)
"bPs" = (/obj/machinery/door/airlock/glass_medical{desc = "A storage area for important medical supplies, including a medical hardsuit for SAR operations."; name = "Medbay Storage"; req_access_txt = "45"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "whitebluefull"},/area/medical/medbay2)
"bPt" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/medical/medbay2)
@@ -5140,7 +5140,7 @@
"bUR" = (/turf/simulated/wall,/area/maintenance/asmaint2{icon_state = "toxtest"; name = "Toxins Launch Room"})
"bUS" = (/obj/machinery/atmospherics/components/unary/outlet_injector/on{dir = 4; frequency = 1443; id = "air_in"},/turf/simulated/floor/engine/vacuum,/area/toxins/mixing)
"bUT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/components/binary/pump{dir = 8; on = 1},/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/light/small,/turf/simulated/floor/engine,/area/toxins/mixing)
-"bUU" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/meter,/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/ignition_switch{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhitecorner"},/area/toxins/mixing)
+"bUU" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/meter,/obj/machinery/button/door{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/button/ignition{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhitecorner"},/area/toxins/mixing)
"bUV" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 10},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/mixing)
"bUW" = (/obj/structure/stool/bed/chair/office/light,/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/mixing)
"bUX" = (/obj/item/device/assembly/signaler{pixel_y = 8},/obj/item/device/assembly/signaler{pixel_x = -8; pixel_y = 5},/obj/item/device/assembly/signaler{pixel_x = 6; pixel_y = 5},/obj/item/device/assembly/signaler{pixel_x = -2; pixel_y = -2},/obj/structure/table/glass,/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitepurple"},/area/toxins/mixing)
@@ -5351,7 +5351,7 @@
"bYU" = (/obj/structure/cable/cyan{icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/medical/cmo)
"bYV" = (/obj/structure/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/sunglasses,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bYW" = (/obj/structure/cable/cyan{icon_state = "2-4"},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bYX" = (/obj/structure/closet/crate,/obj/item/weapon/module/power_control,/obj/structure/cable/cyan{icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
+"bYX" = (/obj/structure/closet/crate,/obj/item/weapon/electronics/apc,/obj/structure/cable/cyan{icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bYY" = (/obj/structure/cable/cyan{icon_state = "4-8"},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bYZ" = (/obj/structure/closet/crate,/obj/item/stack/sheet/glass{amount = 10},/obj/item/stack/rods,/obj/structure/cable/cyan{icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/maintenance/asmaint)
"bZa" = (/obj/structure/cable/cyan{icon_state = "4-8"},/obj/structure/cable/cyan{icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
@@ -5401,7 +5401,7 @@
"bZS" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{dir = 4; pixel_x = 22},/turf/simulated/floor/plasteel{icon_state = "neutralcorner"},/area/hallway/primary/aft{name = "Aft Hallway"})
"bZT" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main)
"bZU" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main)
-"bZV" = (/obj/machinery/crema_switch{pixel_x = 25},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main)
+"bZV" = (/obj/machinery/button/crematorium{pixel_x = 25},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main)
"bZW" = (/obj/machinery/camera{c_tag = "Chapel Office"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main)
"bZX" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/carpet,/area/chapel/main)
"bZY" = (/turf/simulated/floor/carpet,/area/chapel/main)
@@ -5427,7 +5427,7 @@
"cas" = (/turf/simulated/floor/plasteel/airless{dir = 6; icon_state = "warning"},/area/toxins/test_area)
"cat" = (/turf/simulated/floor/plasteel/airless{dir = 10; icon_state = "warning"},/area/toxins/test_area)
"cau" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel/airless{dir = 6; icon_state = "warning"},/area/toxins/test_area)
-"cav" = (/obj/structure/table/glass,/obj/machinery/driver_button{id = "toxinsdriver"; pixel_x = -24},/obj/item/weapon/folder/white,/obj/item/weapon/pen,/turf/simulated/floor/plasteel,/area/maintenance/asmaint2{icon_state = "toxtest"; name = "Toxins Launch Room"})
+"cav" = (/obj/structure/table/glass,/obj/machinery/button/massdriver{id = "toxinsdriver"; pixel_x = -24},/obj/item/weapon/folder/white,/obj/item/weapon/pen,/turf/simulated/floor/plasteel,/area/maintenance/asmaint2{icon_state = "toxtest"; name = "Toxins Launch Room"})
"caw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/machinery/doppler_array,/turf/simulated/floor/plasteel,/area/maintenance/asmaint2{icon_state = "toxtest"; name = "Toxins Launch Room"})
"cax" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 8; on = 1},/obj/machinery/alarm{dir = 8; pixel_x = 22},/turf/simulated/floor/plasteel,/area/maintenance/asmaint2{icon_state = "toxtest"; name = "Toxins Launch Room"})
"cay" = (/obj/structure/stool/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
@@ -5579,7 +5579,7 @@
"cdo" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = -32},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/medical/research{name = "Research Division"})
"cdp" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1},/turf/simulated/floor/plasteel{icon_state = "red"},/area/medical/research{name = "Research Division"})
"cdq" = (/turf/simulated/floor/plasteel{icon_state = "red"},/area/medical/research{name = "Research Division"})
-"cdr" = (/obj/structure/table/glass,/obj/machinery/firealarm{dir = 1; pixel_x = -3; pixel_y = -24},/obj/machinery/light_switch{name = "light switch "; pixel_x = 11; pixel_y = -22},/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "ResearchFoyer"; name = "Research Door Control"; normaldoorcontrol = 1; pixel_y = -4},/obj/machinery/door_control{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_y = 6; req_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 6},/area/medical/research{name = "Research Division"})
+"cdr" = (/obj/structure/table/glass,/obj/machinery/firealarm{dir = 1; pixel_x = -3; pixel_y = -24},/obj/machinery/light_switch{name = "light switch "; pixel_x = 11; pixel_y = -22},/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "ResearchFoyer"; name = "Research Door Control"; normaldoorcontrol = 1; pixel_y = -4},/obj/machinery/button/door{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_y = 6; req_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 6},/area/medical/research{name = "Research Division"})
"cds" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "whitered"; dir = 8},/area/medical/research{name = "Research Division"})
"cdt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"cdu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/medical/research{name = "Research Division"})
@@ -5605,7 +5605,7 @@
"cdO" = (/obj/machinery/atmospherics/components/binary/pump{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating,/area/maintenance/incinerator)
"cdP" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/turf/simulated/floor/plating,/area/maintenance/incinerator)
"cdQ" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/simulated/floor/plating,/area/maintenance/incinerator)
-"cdR" = (/obj/machinery/ignition_switch{id = "Incinerator"; pixel_x = 24; pixel_y = 8},/obj/machinery/door_control{id = "disvent"; name = "Incinerator Vent Control"; pixel_y = -24; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/meter,/obj/machinery/light/small,/turf/simulated/floor/plating{icon_state = "warnplatecorner"; dir = 8},/area/maintenance/incinerator)
+"cdR" = (/obj/machinery/button/ignition{id = "Incinerator"; pixel_x = 24; pixel_y = 8},/obj/machinery/button/door{id = "disvent"; name = "Incinerator Vent Control"; pixel_y = -24; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/meter,/obj/machinery/light/small,/turf/simulated/floor/plating{icon_state = "warnplatecorner"; dir = 8},/area/maintenance/incinerator)
"cdS" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/simulated/wall/r_wall,/area/maintenance/incinerator)
"cdT" = (/obj/machinery/doorButtons/access_button{idDoor = "incinerator_airlock_interior"; idSelf = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = 24; pixel_y = 8},/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/incinerator)
"cdU" = (/obj/machinery/atmospherics/components/unary/outlet_injector/on{dir = 8; frequency = 1443; id = "air_in"},/obj/machinery/sparker{id = "Incinerator"; pixel_x = -25},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator)
@@ -5691,7 +5691,7 @@
"cfw" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/plasteel/shuttle,/area/shuttle/pod_3)
"cfx" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/wall/shuttle{icon_state = "swall_f5"},/area/shuttle/pod_3)
"cfy" = (/turf/space,/turf/simulated/wall/shuttle{icon_state = "swall_f9"},/area/shuttle/pod_3)
-"cfz" = (/obj/machinery/door_control{id = "mixedvent"; name = "Gas Mix Emergency Vent Control"; pixel_x = 0; pixel_y = 24},/obj/machinery/door/window/eastright,/turf/simulated/floor/plasteel,/area/atmos)
+"cfz" = (/obj/machinery/button/door{id = "mixedvent"; name = "Gas Mix Emergency Vent Control"; pixel_x = 0; pixel_y = 24},/obj/machinery/door/window/eastright,/turf/simulated/floor/plasteel,/area/atmos)
"cfA" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/atmos)
"cfB" = (/turf/simulated/floor/plasteel/airless{dir = 4; icon_state = "warningcorner"},/area/toxins/test_area)
"cfC" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/toxins/storage)
@@ -5769,7 +5769,7 @@
"cgW" = (/obj/structure/cable/pink{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
"cgX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
"cgY" = (/obj/machinery/camera{c_tag = "Xenobiology Starboard"; dir = 6; network = list("SS13","RD")},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhite"},/area/toxins/xenobiology)
-"cgZ" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio3"; name = "Containment Blast Doors"; req_access_txt = "55"},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/toxins/xenobiology)
+"cgZ" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio3"; name = "Containment Blast Doors"; req_access_txt = "55"},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/toxins/xenobiology)
"cha" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "xenobio3"; name = "Containment Door"},/obj/structure/cable/pink{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/toxins/xenobiology)
"chb" = (/turf/simulated/floor/engine,/area/toxins/xenobiology)
"chc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/toxins/explab)
@@ -5846,7 +5846,7 @@
"civ" = (/obj/item/weapon/storage/backpack,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/maintenance/asmaint2)
"ciw" = (/obj/item/weapon/reagent_containers/glass/beaker,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/maintenance/asmaint2)
"cix" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "xenobio2"; name = "Containment Door"},/obj/structure/cable/pink,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/toxins/xenobiology)
-"ciy" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio2"; name = "Containment Blast Doors"; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/toxins/xenobiology)
+"ciy" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio2"; name = "Containment Blast Doors"; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/toxins/xenobiology)
"ciz" = (/obj/structure/cable/pink{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warnwhite"},/area/toxins/xenobiology)
"ciA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
"ciB" = (/obj/structure/cable/pink{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhite"},/area/toxins/xenobiology)
@@ -5914,7 +5914,7 @@
"cjL" = (/obj/structure/table,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/reagent_containers/spray/plantbgone,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/maintenance/asmaint2)
"cjM" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "xenobio1"; name = "Containment Door"},/obj/structure/cable/pink{d2 = 2; icon_state = "0-2"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/toxins/xenobiology)
"cjN" = (/obj/machinery/disposal/bin,/obj/structure/sign/electricshock{pixel_y = 32},/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/toxins/xenobiology)
-"cjO" = (/obj/structure/table/reinforced,/obj/structure/sign/electricshock{pixel_y = 32},/obj/machinery/door_control{id = "xenobio4"; name = "Containment Blast Doors"; req_access_txt = "55"},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/toxins/xenobiology)
+"cjO" = (/obj/structure/table/reinforced,/obj/structure/sign/electricshock{pixel_y = 32},/obj/machinery/button/door{id = "xenobio4"; name = "Containment Blast Doors"; req_access_txt = "55"},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/toxins/xenobiology)
"cjP" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "xenobio4"; name = "Containment Door"},/obj/structure/cable/pink{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/toxins/xenobiology)
"cjQ" = (/obj/structure/table,/obj/item/device/radio/off,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/explab)
"cjR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/explab)
@@ -5944,7 +5944,7 @@
"ckp" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 0; pixel_y = 6},/obj/item/weapon/pen,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/explab)
"ckq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/book/manual/experimentor,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/explab)
"ckr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/computer/rdconsole/experiment,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/explab)
-"cks" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1},/obj/machinery/door_control{id = "telelab"; name = "Test Chamber Blast Doors"; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/explab)
+"cks" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1},/obj/machinery/button/door{id = "telelab"; name = "Test Chamber Blast Doors"; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/explab)
"ckt" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating,/area/teleporter)
"cku" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "bluecorner"},/area/hallway/secondary/exit)
"ckv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit)
@@ -5979,7 +5979,7 @@
"ckY" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plasteel,/area/atmos)
"ckZ" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; id_tag = "o2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos)
"cla" = (/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos)
-"clb" = (/obj/machinery/light/small,/obj/machinery/door_control{id = "bar1"; name = "Bolts Control"; normaldoorcontrol = 1; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/maintenance/asmaint2)
+"clb" = (/obj/machinery/light/small,/obj/machinery/button/door{id = "bar1"; name = "Bolts Control"; normaldoorcontrol = 1; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/maintenance/asmaint2)
"clc" = (/obj/machinery/door/airlock/hatch{id_tag = "bar1"; name = "Private Room 1"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cld" = (/turf/simulated/floor/plasteel{icon_state = "damaged3"},/area/maintenance/asmaint2)
"cle" = (/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/maintenance/asmaint2)
@@ -5989,7 +5989,7 @@
"cli" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"clj" = (/obj/structure/sink/kitchen{pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/maintenance/asmaint2)
"clk" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "xenobio1"; name = "Containment Door"},/obj/structure/cable/pink,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/toxins/xenobiology)
-"cll" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio1"; name = "Containment Blast Doors"; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/toxins/xenobiology)
+"cll" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio1"; name = "Containment Blast Doors"; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/toxins/xenobiology)
"clm" = (/obj/machinery/processor{desc = "A machine used to process slimes and retrieve their extract."; name = "Slime Processor"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
"cln" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "xenobio4"; name = "Containment Door"},/obj/structure/cable/pink,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/toxins/xenobiology)
"clo" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "telelab"; name = "test chamber blast door"},/turf/simulated/floor/plating,/area/toxins/explab)
@@ -6060,7 +6060,7 @@
"cmB" = (/obj/machinery/atmospherics/pipe/simple/green/visible{dir = 4},/turf/simulated/floor/plating/asteroid/airless,/area/mine/explored)
"cmC" = (/obj/machinery/atmospherics/components/unary/outlet_injector/on{dir = 8; frequency = 1441; id = "o2_in"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos)
"cmD" = (/obj/structure/stool,/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/maintenance/asmaint2)
-"cmE" = (/obj/machinery/light/small{dir = 1},/obj/machinery/door_control{id = "bar2"; name = "Bolts Control"; normaldoorcontrol = 1; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
+"cmE" = (/obj/machinery/light/small{dir = 1},/obj/machinery/button/door{id = "bar2"; name = "Bolts Control"; normaldoorcontrol = 1; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cmF" = (/obj/machinery/door/airlock/hatch{id_tag = "bar2"; name = "Private Room 2"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cmG" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{pixel_x = -5; pixel_y = 2},/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{pixel_x = 4; pixel_y = 5},/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{pixel_x = 6; pixel_y = -1},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"cmH" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/rag,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
@@ -6071,7 +6071,7 @@
"cmM" = (/obj/structure/cable/pink{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/pink{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhitecorner"},/area/toxins/xenobiology)
"cmN" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
"cmO" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
-"cmP" = (/obj/structure/table/reinforced,/obj/structure/sign/electricshock{pixel_y = 32},/obj/machinery/door_control{id = "xenobio5"; name = "Containment Blast Doors"; req_access_txt = "55"},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/toxins/xenobiology)
+"cmP" = (/obj/structure/table/reinforced,/obj/structure/sign/electricshock{pixel_y = 32},/obj/machinery/button/door{id = "xenobio5"; name = "Containment Blast Doors"; req_access_txt = "55"},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/toxins/xenobiology)
"cmQ" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "xenobio5"; name = "Containment Door"},/obj/structure/cable/pink{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/toxins/xenobiology)
"cmR" = (/obj/machinery/r_n_d/experimentor,/turf/simulated/floor/engine,/area/toxins/explab)
"cmS" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/engine,/area/toxins/explab)
@@ -6123,7 +6123,7 @@
"cnM" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/simulated/floor/engine,/area/toxins/xenobiology)
"cnN" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/structure/sign/electricshock{pixel_y = 32},/turf/simulated/floor/engine,/area/toxins/xenobiology)
"cnO" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/door/poddoor/preopen{id = "Xenolab"; name = "Test Chamber Containment Door"},/obj/structure/cable/pink{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/pink{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/toxins/xenobiology)
-"cnP" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/ignition_switch{id = "Xenobio"; pixel_x = -6; pixel_y = -2},/obj/machinery/door_control{id = "Xenolab"; name = "Test Chamber Blast Doors"; pixel_x = 4; pixel_y = -2; req_access_txt = "55"},/obj/item/weapon/wrench,/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warnwhite"},/area/toxins/xenobiology)
+"cnP" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/button/ignition{id = "Xenobio"; pixel_x = -6; pixel_y = -2},/obj/machinery/button/door{id = "Xenolab"; name = "Test Chamber Blast Doors"; pixel_x = 4; pixel_y = -2; req_access_txt = "55"},/obj/item/weapon/wrench,/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warnwhite"},/area/toxins/xenobiology)
"cnQ" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 1; initialize_directions = 11},/obj/structure/cable/pink{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
"cnR" = (/obj/structure/table/glass,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 10},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
"cnS" = (/obj/machinery/smartfridge/extract,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
@@ -6140,7 +6140,7 @@
"cod" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 6; icon_state = "yellow"},/area/atmos)
"coe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/atmos)
"cof" = (/obj/machinery/atmospherics/components/binary/pump{dir = 1; name = "To Mix"},/turf/simulated/floor/plasteel,/area/atmos)
-"cog" = (/obj/structure/toilet{cistern = 1; desc = "The HT-451, a torque rotation-based, waste disposal unit for small matter. This one has a heart drawn on the cistern."; dir = 4},/obj/machinery/door_control{id = "barbath"; name = "Bolts Control"; normaldoorcontrol = 1; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/maintenance/asmaint2)
+"cog" = (/obj/structure/toilet{cistern = 1; desc = "The HT-451, a torque rotation-based, waste disposal unit for small matter. This one has a heart drawn on the cistern."; dir = 4},/obj/machinery/button/door{id = "barbath"; name = "Bolts Control"; normaldoorcontrol = 1; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/maintenance/asmaint2)
"coh" = (/obj/structure/sink{pixel_y = 32},/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/maintenance/asmaint2)
"coi" = (/obj/machinery/door/airlock/maintenance_hatch{id_tag = "barbath"; name = "Bathroom"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"coj" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/simulated/floor/plasteel,/area/maintenance/asmaint2)
diff --git a/_maps/map_files/AsteroidStation/z2.dmm b/_maps/map_files/AsteroidStation/z2.dmm
index b10d5b27b2a..8294dd9d383 100644
--- a/_maps/map_files/AsteroidStation/z2.dmm
+++ b/_maps/map_files/AsteroidStation/z2.dmm
@@ -180,7 +180,7 @@
"dx" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/simulated/floor/plasteel/redyellow,/area/tdome/tdomeadmin)
"dy" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{pixel_y = 0},/turf/simulated/floor/plasteel/redyellow,/area/tdome/tdomeadmin)
"dz" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor/plasteel/redyellow,/area/tdome/tdomeadmin)
-"dA" = (/obj/machinery/flasher_button{id = "tdomeflash"; pixel_x = 0; pixel_y = 0},/obj/structure/table,/turf/simulated/floor/plasteel/redyellow,/area/tdome/tdomeadmin)
+"dA" = (/obj/machinery/button/flasher{id = "tdomeflash"; pixel_x = 0; pixel_y = 0},/obj/structure/table,/turf/simulated/floor/plasteel/redyellow,/area/tdome/tdomeadmin)
"dB" = (/turf/simulated/wall/shuttle{icon_state = "swall12"; dir = 2},/area/centcom/evac)
"dC" = (/turf/simulated/wall/shuttle{icon_state = "swallc1"; dir = 2},/area/centcom/evac)
"dD" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/centcom/evac)
@@ -198,9 +198,9 @@
"dP" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/stamp,/turf/simulated/floor/plasteel/shuttle,/area/centcom/evac)
"dQ" = (/obj/structure/table,/obj/item/device/flash/handheld,/turf/simulated/floor/plasteel/shuttle,/area/centcom/evac)
"dR" = (/turf/indestructible/fakedoor{name = "Thunderdome Admin"},/area/tdome/tdomeadmin)
-"dS" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomehea"; name = "Heavy Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/simulated/floor/plasteel,/area/tdome/tdomeadmin)
-"dT" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdome"; name = "Main Blast Doors Control"; pixel_y = 0; req_access_txt = "102"},/turf/simulated/floor/plasteel,/area/tdome/tdomeadmin)
-"dU" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomegen"; name = "General Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/simulated/floor/plasteel,/area/tdome/tdomeadmin)
+"dS" = (/obj/structure/table,/obj/machinery/button/door{id = "thunderdomehea"; name = "Heavy Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/simulated/floor/plasteel,/area/tdome/tdomeadmin)
+"dT" = (/obj/structure/table,/obj/machinery/button/door{id = "thunderdome"; name = "Main Blast Doors Control"; pixel_y = 0; req_access_txt = "102"},/turf/simulated/floor/plasteel,/area/tdome/tdomeadmin)
+"dU" = (/obj/structure/table,/obj/machinery/button/door{id = "thunderdomegen"; name = "General Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/simulated/floor/plasteel,/area/tdome/tdomeadmin)
"dV" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/turf/simulated/floor/plasteel/shuttle,/area/centcom/evac)
"dW" = (/obj/machinery/door/window/northright{base_state = "right"; dir = 4; icon_state = "right"; name = "Security Desk"; req_access_txt = "103"},/turf/simulated/floor/plasteel/shuttle,/area/centcom/evac)
"dX" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel/shuttle,/area/centcom/evac)
@@ -275,7 +275,7 @@
"fo" = (/turf/indestructible/fakeglass{icon_state = "fakewindows"; dir = 1},/area/centcom/ferry)
"fp" = (/obj/machinery/door/poddoor/shutters/preopen{id = "adminshut"; name = "Administrative Shutters"},/turf/indestructible/fakeglass{icon_state = "fakewindows"; dir = 1},/area/centcom/ferry)
"fq" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1},/turf/simulated/floor/carpet,/area/centcom/ferry)
-"fr" = (/obj/machinery/door_control{id = "adminshut"; name = "Administrative Shutter-Control"; pixel_y = 26},/turf/simulated/floor/carpet,/area/centcom/ferry)
+"fr" = (/obj/machinery/button/door{id = "adminshut"; name = "Administrative Shutter-Control"; pixel_y = 26},/turf/simulated/floor/carpet,/area/centcom/ferry)
"fs" = (/turf/simulated/floor/plasteel,/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/simulated/wall/shuttle{icon_state = "swall_f6"; dir = 2},/area/shuttle/transport)
"ft" = (/turf/simulated/wall/shuttle{icon_state = "swall12"; dir = 2},/area/shuttle/transport)
"fu" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/floor/plating,/area/shuttle/transport)
@@ -342,7 +342,7 @@
"gD" = (/obj/machinery/door/airlock/centcom{name = "Centcom Customs"; opacity = 1; req_access_txt = "109"},/turf/simulated/floor/plasteel/black,/area/centcom/control)
"gE" = (/turf/simulated/floor/plasteel/black,/area/centcom/control)
"gF" = (/obj/structure/table,/turf/simulated/floor/plasteel/black,/area/centcom/control)
-"gG" = (/obj/machinery/door_control{id = "QMLoaddoor"; name = "Loading Doors"; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/plasteel/shuttle,/area/shuttle/supply)
+"gG" = (/obj/machinery/button/door{id = "QMLoaddoor"; name = "Loading Doors"; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/plasteel/shuttle,/area/shuttle/supply)
"gH" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/turf/space,/area/shuttle/supply)
"gI" = (/turf/indestructible/riveted,/area/centcom/supply)
"gJ" = (/turf/indestructible/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/centcom/control)
@@ -354,7 +354,7 @@
"gP" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/simulated/floor/plating/airless,/area/shuttle/escape)
"gQ" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/simulated/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape)
"gR" = (/turf/simulated/floor/plasteel/green/side{dir = 4},/area/centcom/control)
-"gS" = (/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "CentComPort"; name = "Security Doors"; pixel_y = 28; req_access_txt = "101"},/obj/structure/showcase/fakeid,/turf/simulated/floor/plasteel/black,/area/centcom/control)
+"gS" = (/obj/machinery/button/door{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "CentComPort"; name = "Security Doors"; pixel_y = 28; req_access_txt = "101"},/obj/structure/showcase/fakeid,/turf/simulated/floor/plasteel/black,/area/centcom/control)
"gT" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/plasteel/black,/area/centcom/control)
"gU" = (/obj/structure/table,/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/obj/item/weapon/paper/centcom,/turf/simulated/floor/plasteel/black,/area/centcom/control)
"gV" = (/obj/effect/landmark/start,/turf/simulated/floor/plating,/area/start)
@@ -559,7 +559,7 @@
"kM" = (/obj/machinery/computer/shuttle/syndicate,/turf/simulated/floor/plasteel/shuttle/red/syndicate,/area/shuttle/syndicate)
"kN" = (/obj/structure/table,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 1},/turf/simulated/floor/plasteel/shuttle/red/syndicate,/area/shuttle/syndicate)
"kO" = (/obj/structure/computerframe,/turf/simulated/floor/plasteel/shuttle/red/syndicate,/area/shuttle/syndicate)
-"kP" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/floor/plasteel/shuttle/red/syndicate,/area/shuttle/syndicate)
+"kP" = (/obj/structure/table,/obj/machinery/button/door{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/floor/plasteel/shuttle/red/syndicate,/area/shuttle/syndicate)
"kQ" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/plasteel/shuttle/red/syndicate,/area/shuttle/syndicate)
"kR" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1; icon_state = "comfychair"; name = "pilot's chair"; tag = "icon-comfychair (NORTH)"},/turf/simulated/floor/plasteel/shuttle/red/syndicate,/area/shuttle/syndicate)
"kS" = (/turf/simulated/floor/plating/snow,/turf/simulated/floor/plating/snow/gravsnow/corner{dir = 8},/area/syndicate_mothership)
@@ -635,14 +635,14 @@
"mk" = (/obj/structure/stool,/turf/simulated/floor/plasteel/shuttle/red/syndicate,/area/shuttle/syndicate)
"ml" = (/turf/indestructible/fakeglass,/area/syndicate_mothership)
"mm" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/simulated/floor/plating,/area/syndicate_mothership)
-"mn" = (/obj/machinery/door_control{id = "nukeop_ready"; name = "mission launch control"; pixel_x = -26; pixel_y = 0; req_access_txt = "151"},/turf/simulated/floor/plasteel/bar{dir = 2},/area/syndicate_mothership)
+"mn" = (/obj/machinery/button/door{id = "nukeop_ready"; name = "mission launch control"; pixel_x = -26; pixel_y = 0; req_access_txt = "151"},/turf/simulated/floor/plasteel/bar{dir = 2},/area/syndicate_mothership)
"mo" = (/obj/machinery/computer/telecrystals/uplinker,/turf/simulated/floor/plasteel/podhatch{dir = 10},/area/syndicate_mothership)
"mp" = (/obj/structure/urinal{pixel_y = 28},/turf/simulated/floor/plasteel/freezer{dir = 2},/area/syndicate_mothership)
"mq" = (/obj/structure/toilet{pixel_y = 8},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/machinery/door/window{name = "Tactical Toilet"; opacity = 1},/turf/simulated/floor/plasteel/freezer{dir = 2},/area/syndicate_mothership)
"mr" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel/cult{icon_state = "cultdamage6"},/area/wizard_station)
"ms" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plasteel/cult{icon_state = "cultdamage"},/area/wizard_station)
"mt" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/floor/plasteel/shuttle/red/syndicate,/area/shuttle/syndicate)
-"mu" = (/obj/machinery/door/poddoor{auto_close = 300; id = "smindicate"; name = "outer blast door"},/obj/machinery/door_control{id = "smindicate"; name = "external door control"; pixel_x = -26; pixel_y = 0; req_access_txt = "150"},/obj/docking_port/mobile{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate"; name = "syndicate infiltrator"; travelDir = 180; width = 18},/obj/docking_port/stationary{area_type = /area/syndicate_mothership; dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_away"; name = "syndicate recon outpost"; turf_type = /turf/simulated/floor/plating/snow; width = 18},/turf/simulated/floor/plasteel/shuttle/red/syndicate,/area/shuttle/syndicate)
+"mu" = (/obj/machinery/door/poddoor{auto_close = 300; id = "smindicate"; name = "outer blast door"},/obj/machinery/button/door{id = "smindicate"; name = "external door control"; pixel_x = -26; pixel_y = 0; req_access_txt = "150"},/obj/docking_port/mobile{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate"; name = "syndicate infiltrator"; travelDir = 180; width = 18},/obj/docking_port/stationary{area_type = /area/syndicate_mothership; dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_away"; name = "syndicate recon outpost"; turf_type = /turf/simulated/floor/plating/snow; width = 18},/turf/simulated/floor/plasteel/shuttle/red/syndicate,/area/shuttle/syndicate)
"mv" = (/obj/structure/table,/obj/item/weapon/c4{pixel_x = 2; pixel_y = 1},/turf/simulated/floor/plasteel/shuttle/red/syndicate,/area/shuttle/syndicate)
"mw" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/shuttle/syndicate)
"mx" = (/turf/simulated/floor/plating/snow,/turf/simulated/floor/plating/snow/gravsnow/corner{dir = 5},/area/syndicate_mothership)
diff --git a/_maps/map_files/MetaStation/MetaStation.v41F.dmm b/_maps/map_files/MetaStation/MetaStation.v41F.dmm
index 844eae37ade..afcc5f7f1f7 100644
--- a/_maps/map_files/MetaStation/MetaStation.v41F.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.v41F.dmm
@@ -132,7 +132,7 @@
"acB" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
"acC" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
"acD" = (/obj/structure/table,/obj/item/weapon/folder/red{pixel_x = 3},/obj/item/device/taperecorder{pixel_x = -3; pixel_y = 0},/obj/item/weapon/storage/fancy/cigarettes,/obj/item/device/flash/handheld,/obj/item/weapon/reagent_containers/spray/pepper,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkred"; tag = "icon-darkblue"},/area/prison/solitary{name = "Prisoner Education Chamber"})
-"acE" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bottle/morphine{pixel_x = -4; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate{name = "chloral hydrate bottle"},/obj/item/weapon/reagent_containers/glass/bottle/toxin{pixel_x = 6; pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/morphine{pixel_x = 5; pixel_y = 1},/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/glass/bottle/facid{name = "fluorosulfuric acid bottle"; pixel_x = -3; pixel_y = 6},/obj/item/weapon/reagent_containers/syringe{pixel_y = 5},/obj/item/weapon/reagent_containers/dropper,/obj/machinery/alarm{desc = "This particular atmos control unit appears to have no access restrictions."; dir = 4; icon_state = "alarm0"; locked = 0; name = "all-access air alarm"; pixel_x = -24; req_access = "0"; req_one_access = "0"},/obj/machinery/ignition_switch{id = "executionburn"; name = "Justice Ignition Switch"; pixel_x = -25; pixel_y = 36},/obj/machinery/door_control{id = "executionfireblast"; name = "Justice Area Lockdown"; pixel_x = -25; pixel_y = 26; req_access_txt = "2"},/obj/item/device/assembly/signaler{pixel_x = -3; pixel_y = 2},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/obj/machinery/flasher_button{id = "justiceflash"; name = "Justice Flash Control"; pixel_x = -36; pixel_y = 36; req_access_txt = "1"},/obj/machinery/door_control{dir = 2; id = "SecJusticeChamber"; layer = 4; name = "Justice Vent Control"; pixel_x = -36; pixel_y = 26; req_access_txt = "3"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkred"; tag = "icon-darkblue"},/area/prison/solitary{name = "Prisoner Education Chamber"})
+"acE" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bottle/morphine{pixel_x = -4; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate{name = "chloral hydrate bottle"},/obj/item/weapon/reagent_containers/glass/bottle/toxin{pixel_x = 6; pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/morphine{pixel_x = 5; pixel_y = 1},/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/glass/bottle/facid{name = "fluorosulfuric acid bottle"; pixel_x = -3; pixel_y = 6},/obj/item/weapon/reagent_containers/syringe{pixel_y = 5},/obj/item/weapon/reagent_containers/dropper,/obj/machinery/alarm{desc = "This particular atmos control unit appears to have no access restrictions."; dir = 4; icon_state = "alarm0"; locked = 0; name = "all-access air alarm"; pixel_x = -24; req_access = "0"; req_one_access = "0"},/obj/machinery/button/ignition{id = "executionburn"; name = "Justice Ignition Switch"; pixel_x = -25; pixel_y = 36},/obj/machinery/button/door{id = "executionfireblast"; name = "Justice Area Lockdown"; pixel_x = -25; pixel_y = 26; req_access_txt = "2"},/obj/item/device/assembly/signaler{pixel_x = -3; pixel_y = 2},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/obj/machinery/button/flasher{id = "justiceflash"; name = "Justice Flash Control"; pixel_x = -36; pixel_y = 36; req_access_txt = "1"},/obj/machinery/button/door{dir = 2; id = "SecJusticeChamber"; layer = 4; name = "Justice Vent Control"; pixel_x = -36; pixel_y = 26; req_access_txt = "3"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkred"; tag = "icon-darkblue"},/area/prison/solitary{name = "Prisoner Education Chamber"})
"acF" = (/obj/structure/sink/kitchen{desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink"; pixel_y = 28},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkred"; tag = "icon-darkblue"},/area/prison/solitary{name = "Prisoner Education Chamber"})
"acG" = (/obj/item/stack/cable_coil,/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard)
"acH" = (/turf/simulated/floor/plating{tag = "icon-panelscorched"; icon_state = "panelscorched"},/area/security/prison)
@@ -173,12 +173,12 @@
"adq" = (/obj/structure/stool/bed,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/glasses/sunglasses/blindfold,/obj/item/clothing/mask/muzzle,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/landmark{name = "revenantspawn"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/security/prison)
"adr" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/prison/solitary{name = "Prisoner Education Chamber"})
"ads" = (/obj/structure/stool/bed,/obj/machinery/camera{c_tag = "Prison Cell 3"; network = list("SS13","Prison")},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
-"adt" = (/obj/structure/stool,/obj/machinery/light/small{dir = 1},/obj/machinery/door_control{id = "permabolt3"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
+"adt" = (/obj/structure/stool,/obj/machinery/light/small{dir = 1},/obj/machinery/button/door{id = "permabolt3"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
"adu" = (/obj/structure/stool/bed,/obj/machinery/camera{c_tag = "Prison Cell 2"; network = list("SS13","Prison")},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
"adv" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
-"adw" = (/obj/structure/stool,/obj/machinery/light/small{dir = 1},/obj/machinery/door_control{id = "permabolt2"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plating{tag = "icon-platingdmg2"; icon_state = "platingdmg2"},/area/security/prison)
+"adw" = (/obj/structure/stool,/obj/machinery/light/small{dir = 1},/obj/machinery/button/door{id = "permabolt2"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plating{tag = "icon-platingdmg2"; icon_state = "platingdmg2"},/area/security/prison)
"adx" = (/obj/structure/stool/bed,/obj/machinery/camera{c_tag = "Prison Cell 1"; network = list("SS13","Prison")},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
-"ady" = (/obj/structure/stool,/obj/machinery/light/small{dir = 1},/obj/machinery/door_control{id = "permabolt1"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
+"ady" = (/obj/structure/stool,/obj/machinery/light/small{dir = 1},/obj/machinery/button/door{id = "permabolt1"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison)
"adz" = (/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/prison/solitary{name = "Prisoner Education Chamber"})
"adA" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/firealarm{dir = 4; pixel_x = 28},/obj/machinery/light{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/prison/solitary{name = "Prisoner Education Chamber"})
"adB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plasteel{dir = 2; icon_state = "darkred"; tag = "icon-darkblue"},/area/prison/solitary{name = "Prisoner Education Chamber"})
@@ -203,7 +203,7 @@
"adU" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 10},/obj/machinery/meter,/obj/machinery/door/window/westleft{base_state = "left"; dir = 1; icon_state = "left"; name = "gas ports"; req_access_txt = "0"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/prison/solitary{name = "Prisoner Education Chamber"})
"adV" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/prison/solitary{name = "Prisoner Education Chamber"})
"adW" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/crew_quarters/fitness{name = "\improper Recreation Area"})
-"adX" = (/obj/machinery/door_control{id = "prisonereducation"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 2; initialize_directions = 11},/turf/simulated/floor/plasteel{dir = 2; icon_state = "darkred"; tag = "icon-darkblue"},/area/prison/solitary{name = "Prisoner Education Chamber"})
+"adX" = (/obj/machinery/button/door{id = "prisonereducation"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 2; initialize_directions = 11},/turf/simulated/floor/plasteel{dir = 2; icon_state = "darkred"; tag = "icon-darkblue"},/area/prison/solitary{name = "Prisoner Education Chamber"})
"adY" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/simulated/floor/plating,/area/shuttle/pod_3)
"adZ" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/wall/shuttle{icon_state = "swall_f5"; dir = 2},/area/shuttle/pod_3)
"aea" = (/obj/machinery/door/airlock/external{name = "Solar Maintenance"; req_access = null; req_access_txt = "10; 13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
@@ -241,15 +241,15 @@
"aeG" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/prison/solitary{name = "Prisoner Education Chamber"})
"aeH" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/obj/machinery/space_heater,/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/prison/solitary{name = "Prisoner Education Chamber"})
"aeI" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
-"aeJ" = (/obj/machinery/door_control{id = "permacell3"; name = "Cell 3 Lockdown"; pixel_x = -4; pixel_y = 25; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/flasher_button{id = "PCell 3"; pixel_x = 6; pixel_y = 24},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
+"aeJ" = (/obj/machinery/button/door{id = "permacell3"; name = "Cell 3 Lockdown"; pixel_x = -4; pixel_y = 25; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/button/flasher{id = "PCell 3"; pixel_x = 6; pixel_y = 24},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
"aeK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/computer/security/telescreen{desc = "Used for watching Prison Wing holding areas."; name = "Prison Monitor"; network = list("Prison"); pixel_x = 0; pixel_y = 30},/obj/machinery/camera{c_tag = "Prison Hallway Port"; network = list("SS13","Prison")},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
"aeL" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
"aeM" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
-"aeN" = (/obj/machinery/door_control{id = "permacell2"; name = "Cell 2 Lockdown"; pixel_x = -4; pixel_y = 25; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/flasher_button{id = "PCell 2"; pixel_x = 6; pixel_y = 24},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
+"aeN" = (/obj/machinery/button/door{id = "permacell2"; name = "Cell 2 Lockdown"; pixel_x = -4; pixel_y = 25; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/button/flasher{id = "PCell 2"; pixel_x = 6; pixel_y = 24},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
"aeO" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching Prison Wing holding areas."; name = "Prison Monitor"; network = list("Prison"); pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
"aeP" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
"aeQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
-"aeR" = (/obj/machinery/door_control{id = "permacell1"; name = "Cell 1 Lockdown"; pixel_x = -4; pixel_y = 25; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/flasher_button{id = "PCell 1"; pixel_x = 6; pixel_y = 24},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
+"aeR" = (/obj/machinery/button/door{id = "permacell1"; name = "Cell 1 Lockdown"; pixel_x = -4; pixel_y = 25; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/button/flasher{id = "PCell 1"; pixel_x = 6; pixel_y = 24},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
"aeS" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Prison Wing APC"; pixel_x = 1; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/camera{c_tag = "Prison Hallway Starboard"; dir = 2; network = list("SS13","Prison")},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
"aeT" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/structure/sign/pods{pixel_y = 30},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
"aeU" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{aiControlDisabled = 1; id_tag = "prisonereducation"; name = "Prisoner Education Chamber"; req_access = null; req_access_txt = "3"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/prison/solitary{name = "Prisoner Education Chamber"})
@@ -266,7 +266,7 @@
"aff" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
"afg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
"afh" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 32},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
-"afi" = (/obj/structure/table/wood,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 32},/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/obj/machinery/keycard_auth{pixel_x = -26; pixel_y = 23},/obj/machinery/door_control{id = "hosspace"; name = "Space Shutters Control"; pixel_x = -26; pixel_y = 34},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
+"afi" = (/obj/structure/table/wood,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 32},/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/obj/machinery/keycard_auth{pixel_x = -26; pixel_y = 23},/obj/machinery/button/door{id = "hosspace"; name = "Space Shutters Control"; pixel_x = -26; pixel_y = 34},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
"afj" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/security/range)
"afk" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/security/range)
"afl" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/security/range)
@@ -312,7 +312,7 @@
"afZ" = (/obj/machinery/syndicatebomb/training,/turf/simulated/floor/plasteel{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/security/warden)
"aga" = (/obj/structure/rack,/obj/item/weapon/gun/energy/laser{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/energy/laser,/obj/item/weapon/gun/energy/laser{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plasteel{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/security/warden)
"agb" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/warden)
-"agc" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/flasher_button{id = "insaneflash"; pixel_y = 26},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
+"agc" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/button/flasher{id = "insaneflash"; pixel_y = 26},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison)
"agd" = (/obj/structure/rack,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet/alt,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet/alt,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet/alt,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/warden)
"age" = (/obj/structure/table/wood,/obj/item/weapon/storage/secure/briefcase{pixel_x = -2},/obj/item/weapon/book/manual/wiki/security_space_law,/obj/item/weapon/cartridge/detective,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
"agf" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
@@ -327,7 +327,7 @@
"ago" = (/obj/structure/target_stake,/obj/item/target/syndicate,/turf/simulated/floor/plasteel,/area/security/range)
"agp" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/security/range)
"agq" = (/turf/simulated/wall,/area/space)
-"agr" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/door_control{id = "FitnessShower"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/structure/mirror{pixel_x = -28},/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/fitness{name = "\improper Recreation Area"})
+"agr" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/button/door{id = "FitnessShower"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/structure/mirror{pixel_x = -28},/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/fitness{name = "\improper Recreation Area"})
"ags" = (/obj/machinery/door/airlock{id_tag = "FitnessShower"; name = "Fitness Room Shower"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/fitness{name = "\improper Recreation Area"})
"agt" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/crew_quarters/fitness{name = "\improper Recreation Area"})
"agu" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/crew_quarters/fitness{name = "\improper Recreation Area"})
@@ -356,7 +356,7 @@
"agR" = (/obj/structure/table,/obj/item/stack/medical/ointment{pixel_x = 3; pixel_y = -2},/obj/item/stack/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/obj/item/weapon/reagent_containers/syringe/epinephrine,/obj/item/weapon/storage/secure/safe{pixel_x = 6; pixel_y = 28},/obj/item/weapon/restraints/handcuffs/cable/pink,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"agS" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/brig)
"agT" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plasteel{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/security/warden)
-"agU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = 26; pixel_y = 0; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/brig)
+"agU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light/small{dir = 4},/obj/machinery/button/door{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = 26; pixel_y = 0; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/brig)
"agV" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/main)
"agW" = (/obj/structure/table/wood,/obj/machinery/recharger,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
"agX" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
@@ -411,7 +411,7 @@
"ahU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/carpet,/area/security/hos)
"ahV" = (/obj/machinery/door/firedoor,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/command{name = "Head of Security's Office"; req_access = null; req_access_txt = "58"},/turf/simulated/floor/carpet,/area/security/hos)
"ahW" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/security/hos)
-"ahX" = (/obj/machinery/photocopier,/obj/machinery/power/apc{dir = 4; name = "Head of Security's Office APC"; pixel_x = 24},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/door_control{id = "hosprivacy"; name = "Privacy Shutters Control"; pixel_x = 26; pixel_y = -26},/obj/machinery/camera{c_tag = "Head of Security's Office"; dir = 8; network = list("SS13")},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/security/hos)
+"ahX" = (/obj/machinery/photocopier,/obj/machinery/power/apc{dir = 4; name = "Head of Security's Office APC"; pixel_x = 24},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/button/door{id = "hosprivacy"; name = "Privacy Shutters Control"; pixel_x = 26; pixel_y = -26},/obj/machinery/camera{c_tag = "Head of Security's Office"; dir = 8; network = list("SS13")},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/security/hos)
"ahY" = (/obj/item/clothing/head/festive,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/fore)
"ahZ" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plating,/area/maintenance/fore)
"aia" = (/turf/simulated/floor/plating{tag = "icon-platingdmg1"; icon_state = "platingdmg1"},/area/maintenance/fore)
@@ -482,7 +482,7 @@
"ajn" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine,/obj/item/weapon/reagent_containers/glass/bottle/charcoal,/obj/item/weapon/reagent_containers/syringe,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 10; icon_state = "whitered"},/area/security/brig)
"ajo" = (/turf/simulated/wall/r_wall,/area/engine/gravity_generator)
"ajp" = (/obj/machinery/conveyor{dir = 2; id = "garbage"; layer = 2.7},/obj/machinery/door/poddoor/preopen{id = "Disposal Exit"; layer = 3.1; name = "disposal exit vent"},/turf/simulated/floor/plating,/area/maintenance/disposal)
-"ajq" = (/obj/machinery/door_control{id = "Disposal Exit"; name = "Disposal Vent Control"; pixel_x = -25; pixel_y = 4; req_access_txt = "12"},/obj/machinery/driver_button{id = "trash"; pixel_x = -26; pixel_y = -6},/obj/structure/stool,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/disposal)
+"ajq" = (/obj/machinery/button/door{id = "Disposal Exit"; name = "Disposal Vent Control"; pixel_x = -25; pixel_y = 4; req_access_txt = "12"},/obj/machinery/button/massdriver{id = "trash"; pixel_x = -26; pixel_y = -6},/obj/structure/stool,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/disposal)
"ajr" = (/turf/simulated/floor/plating{tag = "icon-platingdmg2"; icon_state = "platingdmg2"},/area/maintenance/disposal)
"ajs" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor/plating,/area/maintenance/disposal)
"ajt" = (/obj/effect/decal/cleanable/oil,/obj/machinery/light_switch{pixel_x = 25; pixel_y = 0},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/disposal)
@@ -803,11 +803,11 @@
"apw" = (/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/starboard)
"apx" = (/turf/simulated/floor/plating,/area/maintenance/starboard)
"apy" = (/obj/structure/grille,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/structure/window/shuttle,/turf/simulated/floor/plating,/area/shuttle/labor)
-"apz" = (/obj/machinery/flasher_button{id = "gulagshuttleflasher"; name = "Flash Control"; pixel_x = 0; pixel_y = -26; req_access_txt = "1"},/turf/simulated/floor/plasteel/shuttle{icon_state = "shuttlefloor4"},/area/shuttle/labor)
+"apz" = (/obj/machinery/button/flasher{id = "gulagshuttleflasher"; name = "Flash Control"; pixel_x = 0; pixel_y = -26; req_access_txt = "1"},/turf/simulated/floor/plasteel/shuttle{icon_state = "shuttlefloor4"},/area/shuttle/labor)
"apA" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/iv_drip{density = 0},/turf/simulated/floor/plasteel{icon_state = "whitered"},/area/security/brig)
"apB" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden)
"apC" = (/turf/simulated/floor/plasteel/shuttle{icon_state = "shuttlefloor4"},/area/shuttle/labor)
-"apD" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Labor Camp Shuttle Airlock"; req_access_txt = "2"},/obj/machinery/door_control{id = "prison release"; name = "Labor Camp Shuttle Lockdown"; pixel_x = 0; pixel_y = -25; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/brig)
+"apD" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Labor Camp Shuttle Airlock"; req_access_txt = "2"},/obj/machinery/button/door{id = "prison release"; name = "Labor Camp Shuttle Lockdown"; pixel_x = 0; pixel_y = -25; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/brig)
"apE" = (/obj/machinery/door/airlock/glass_command{name = "Gravity Generator Area"; req_access_txt = "19; 61"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/engine/gravity_generator)
"apF" = (/obj/item/clothing/gloves/color/rainbow,/obj/item/clothing/shoes/sneakers/rainbow,/obj/item/clothing/under/color/rainbow,/obj/item/clothing/head/soft/rainbow,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"apG" = (/obj/machinery/door/airlock/shuttle{name = "Labor Shuttle Airlock"; req_access_txt = "2"},/turf/simulated/floor/plasteel/shuttle{icon_state = "shuttlefloor4"},/area/shuttle/labor)
@@ -953,11 +953,11 @@
"asq" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes,/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
"asr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/fpmaint2{name = "Port Maintenance"})
"ass" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 8; on = 1},/obj/machinery/light,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/fpmaint2{name = "Port Maintenance"})
-"ast" = (/obj/machinery/door/airlock/glass{name = "space-bridge access"},/obj/machinery/door_control{id = "supplybridge"; name = "Shuttle Bay Space Bridge Control"; pixel_x = 0; pixel_y = 27; req_access_txt = "0"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/fpmaint2{name = "Port Maintenance"})
+"ast" = (/obj/machinery/door/airlock/glass{name = "space-bridge access"},/obj/machinery/button/door{id = "supplybridge"; name = "Shuttle Bay Space Bridge Control"; pixel_x = 0; pixel_y = 27; req_access_txt = "0"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/fpmaint2{name = "Port Maintenance"})
"asu" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/fpmaint2{name = "Port Maintenance"})
"asv" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"asw" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/fpmaint2{name = "Port Maintenance"})
-"asx" = (/obj/machinery/door/airlock/glass{name = "space-bridge access"},/obj/machinery/door_control{id = "supplybridge"; name = "Shuttle Bay Space Bridge Control"; pixel_x = 0; pixel_y = 27; req_access_txt = "0"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/fpmaint2{name = "Port Maintenance"})
+"asx" = (/obj/machinery/door/airlock/glass{name = "space-bridge access"},/obj/machinery/button/door{id = "supplybridge"; name = "Shuttle Bay Space Bridge Control"; pixel_x = 0; pixel_y = 27; req_access_txt = "0"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/fpmaint2{name = "Port Maintenance"})
"asy" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/obj/machinery/light,/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/fpmaint2{name = "Port Maintenance"})
"asz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/fpmaint2{name = "Port Maintenance"})
"asA" = (/obj/machinery/door/airlock/maintenance_hatch{name = "Supply Bay Bridge Access"; req_access_txt = "0"; req_one_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
@@ -975,7 +975,7 @@
"asM" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = -30},/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/obj/structure/table,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden)
"asN" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden)
"asO" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/filingcabinet/chestdrawer{pixel_y = 2},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden)
-"asP" = (/obj/structure/table,/obj/machinery/door_control{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = 0; pixel_y = 7; req_access_txt = "2"},/obj/machinery/door_control{id = "Secure Gate"; name = "Cell Window Control"; normaldoorcontrol = 0; pixel_x = -5; pixel_y = -3; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/door_control{id = "briglockdown"; name = "Brig Lockdown Control"; pixel_x = 5; pixel_y = -3; req_access_txt = "0"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden)
+"asP" = (/obj/structure/table,/obj/machinery/button/door{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = 0; pixel_y = 7; req_access_txt = "2"},/obj/machinery/button/door{id = "Secure Gate"; name = "Cell Window Control"; normaldoorcontrol = 0; pixel_x = -5; pixel_y = -3; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/button/door{id = "briglockdown"; name = "Brig Lockdown Control"; pixel_x = 5; pixel_y = -3; req_access_txt = "0"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden)
"asQ" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden)
"asR" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/warden)
"asS" = (/obj/structure/table,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/folder/red,/obj/item/weapon/restraints/handcuffs,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden)
@@ -1002,12 +1002,12 @@
"atn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/maintenance/fore)
"ato" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/obj/machinery/light/small{dir = 1},/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/obj/item/weapon/lighter,/turf/simulated/floor/wood,/area/crew_quarters/sleep)
"atp" = (/obj/structure/closet/secure_closet/personal/cabinet,/obj/machinery/alarm{pixel_y = 23},/obj/item/clothing/under/assistantformal,/turf/simulated/floor/wood,/area/crew_quarters/sleep)
-"atq" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/door_control{id = "Cabin3"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/effect/decal/cleanable/cobweb2,/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/sleep)
+"atq" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/button/door{id = "Cabin3"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/effect/decal/cleanable/cobweb2,/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/sleep)
"atr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/crew_quarters/sleep)
"ats" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/crew_quarters/sleep)
"att" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/crew_quarters/sleep)
"atu" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/crew_quarters/sleep)
-"atv" = (/obj/machinery/light/small{dir = 1},/obj/effect/decal/cleanable/cobweb,/obj/machinery/door_control{id = "Cabin4"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/crew_quarters/sleep)
+"atv" = (/obj/machinery/light/small{dir = 1},/obj/effect/decal/cleanable/cobweb,/obj/machinery/button/door{id = "Cabin4"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/crew_quarters/sleep)
"atw" = (/obj/structure/dresser,/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet,/area/crew_quarters/sleep)
"atx" = (/obj/structure/closet/secure_closet/personal/cabinet,/obj/machinery/alarm{pixel_y = 23},/obj/item/clothing/under/suit_jacket/burgundy,/turf/simulated/floor/carpet,/area/crew_quarters/sleep)
"aty" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/starboard)
@@ -1046,7 +1046,7 @@
"auf" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/brig)
"aug" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor/plating,/area/security/brig)
"auh" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/brig)
-"aui" = (/obj/structure/table/wood,/obj/item/weapon/storage/secure/safe{pixel_x = 32},/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/item/weapon/restraints/handcuffs,/obj/machinery/door_control{id = "detective_shutters"; name = "detective's office shutters control"; pixel_x = 0; pixel_y = 26; req_access_txt = "4"},/turf/simulated/floor/carpet,/area/security/detectives_office)
+"aui" = (/obj/structure/table/wood,/obj/item/weapon/storage/secure/safe{pixel_x = 32},/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/item/weapon/restraints/handcuffs,/obj/machinery/button/door{id = "detective_shutters"; name = "detective's office shutters control"; pixel_x = 0; pixel_y = 26; req_access_txt = "4"},/turf/simulated/floor/carpet,/area/security/detectives_office)
"auj" = (/turf/simulated/floor/plating/airless{dir = 1; icon_state = "warnplate"},/area/engine/engineering)
"auk" = (/obj/machinery/computer/prisoner,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/brig)
"aul" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/brig)
@@ -1201,10 +1201,10 @@
"axe" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/plating,/area/maintenance/fore)
"axf" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/maintenance/fore)
"axg" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/obj/machinery/light/small{dir = 1},/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/obj/structure/dresser,/turf/simulated/floor/carpet,/area/crew_quarters/sleep)
-"axh" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/door_control{id = "Cabin2"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/sleep)
+"axh" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/button/door{id = "Cabin2"; name = "Cabin Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/sleep)
"axi" = (/obj/structure/closet/secure_closet/personal/cabinet,/obj/machinery/alarm{pixel_y = 23},/obj/item/clothing/under/suit_jacket/tan,/turf/simulated/floor/carpet,/area/crew_quarters/sleep)
"axj" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/machinery/camera{c_tag = "Dormitories - Fore"; dir = 8},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/crew_quarters/sleep)
-"axk" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/door_control{id = "Cabin5"; name = "Dorm Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/wood,/area/crew_quarters/sleep)
+"axk" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/button/door{id = "Cabin5"; name = "Dorm Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/wood,/area/crew_quarters/sleep)
"axl" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/obj/structure/table/wood,/obj/item/weapon/paper,/turf/simulated/floor/wood,/area/crew_quarters/sleep)
"axm" = (/obj/machinery/door/airlock/maintenance{name = "Storage Room"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/starboard)
"axn" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{tag = "icon-platingdmg1"; icon_state = "platingdmg1"},/area/maintenance/starboard)
@@ -1215,7 +1215,7 @@
"axs" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel/shuttle,/area/shuttle/mining)
"axt" = (/turf/simulated/floor/plasteel/shuttle,/area/shuttle/mining)
"axu" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel/shuttle,/area/shuttle/labor)
-"axv" = (/obj/machinery/door/poddoor/preopen{id = "prison release"; name = "prisoner processing blast door"},/obj/machinery/door_control{id = "prison release"; name = "Labor Camp Shuttle Lockdown"; pixel_x = -25; pixel_y = 0; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/hallway/primary/fore)
+"axv" = (/obj/machinery/door/poddoor/preopen{id = "prison release"; name = "prisoner processing blast door"},/obj/machinery/button/door{id = "prison release"; name = "Labor Camp Shuttle Lockdown"; pixel_x = -25; pixel_y = 0; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/hallway/primary/fore)
"axw" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/fpmaint2{name = "Port Maintenance"})
"axx" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"axy" = (/obj/structure/closet/crate,/obj/item/weapon/coin/silver,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
@@ -1239,13 +1239,13 @@
"axQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/security/brig)
"axR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/brig)
"axS" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/bot/secbot/beepsky{desc = "It's Officer Beepsky! Powered by a potato and a shot of whiskey, and with a sturdier reinforced chassis, too. "; health = 45; maxhealth = 45; name = "Officer Beepsky"},/turf/simulated/floor/plasteel,/area/security/brig)
-"axT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/power/apc{cell_type = 10000; dir = 2; name = "Brig APC"; pixel_x = 1; pixel_y = -24},/obj/structure/cable/yellow,/obj/machinery/flasher_button{id = "secentranceflasher"; name = "Brig Entrance Flasher"; pixel_x = -3; pixel_y = -38; req_access_txt = "1"},/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/brig)
+"axT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/power/apc{cell_type = 10000; dir = 2; name = "Brig APC"; pixel_x = 1; pixel_y = -24},/obj/structure/cable/yellow,/obj/machinery/button/flasher{id = "secentranceflasher"; name = "Brig Entrance Flasher"; pixel_x = -3; pixel_y = -38; req_access_txt = "1"},/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/brig)
"axU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "redcorner"},/area/security/brig)
"axV" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1; initialize_directions = 11},/turf/simulated/floor/plasteel,/area/security/brig)
"axW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/security/brig)
"axX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/brig)
"axY" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 2; initialize_directions = 11},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/brig)
-"axZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/flasher_button{id = "holdingflash"; pixel_x = 0; pixel_y = -26; req_access_txt = "1"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/brig)
+"axZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/button/flasher{id = "holdingflash"; pixel_x = 0; pixel_y = -26; req_access_txt = "1"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/brig)
"aya" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light,/obj/machinery/camera{c_tag = "Brig - Hallway - Starboard"; dir = 1; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/brig)
"ayb" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/brig)
"ayc" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1; initialize_directions = 11},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/brig)
@@ -1385,7 +1385,7 @@
"aAG" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/brig)
"aAH" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/brig)
"aAI" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/brig)
-"aAJ" = (/obj/machinery/computer/secure_data,/obj/machinery/flasher_button{id = "secentranceflasher"; name = "Brig Entrance Flash Control"; pixel_x = -24; pixel_y = 24; req_access_txt = "1"},/obj/machinery/door_control{id = "Secure Gate"; name = "Cell Window Control"; normaldoorcontrol = 0; pixel_x = 5; pixel_y = 27; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/door_control{id = "briglockdown"; name = "Brig Lockdown Control"; pixel_x = 5; pixel_y = 37; req_access_txt = "0"},/obj/machinery/light/small{dir = 1},/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "innerbrig"; name = "Brig Interior Doors Control"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = 37; req_access_txt = "63"},/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "outerbrig"; name = "Brig Exterior Doors Control"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = 27; req_access_txt = "63"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/brig)
+"aAJ" = (/obj/machinery/computer/secure_data,/obj/machinery/button/flasher{id = "secentranceflasher"; name = "Brig Entrance Flash Control"; pixel_x = -24; pixel_y = 24; req_access_txt = "1"},/obj/machinery/button/door{id = "Secure Gate"; name = "Cell Window Control"; normaldoorcontrol = 0; pixel_x = 5; pixel_y = 27; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/button/door{id = "briglockdown"; name = "Brig Lockdown Control"; pixel_x = 5; pixel_y = 37; req_access_txt = "0"},/obj/machinery/light/small{dir = 1},/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "innerbrig"; name = "Brig Interior Doors Control"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = 37; req_access_txt = "63"},/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "outerbrig"; name = "Brig Exterior Doors Control"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = 27; req_access_txt = "63"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/brig)
"aAK" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/filingcabinet,/obj/machinery/light/small{dir = 1},/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/security/detectives_office)
"aAL" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/security/detectives_office)
"aAM" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/carpet,/area/security/detectives_office)
@@ -1429,9 +1429,9 @@
"aBy" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock{name = "\improper Mining Office"})
"aBz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock{name = "\improper Mining Office"})
"aBA" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock{name = "\improper Mining Office"})
-"aBB" = (/obj/machinery/door_control{id = "qm_mine_warehouse"; name = "Warehouse Door Control"; pixel_x = 24; pixel_y = 28; req_access_txt = "48"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "brown"},/area/quartermaster/miningdock{name = "\improper Mining Office"})
+"aBB" = (/obj/machinery/button/door{id = "qm_mine_warehouse"; name = "Warehouse Door Control"; pixel_x = 24; pixel_y = 28; req_access_txt = "48"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "brown"},/area/quartermaster/miningdock{name = "\improper Mining Office"})
"aBC" = (/obj/machinery/door/poddoor/shutters{id = "qm_mine_warehouse"; name = "Warehouse Shutters"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/quartermaster/miningdock{name = "\improper Mining Office"})
-"aBD" = (/obj/structure/disposalpipe/segment,/obj/machinery/door_control{id = "qm_mine_warehouse"; name = "Warehouse Door Control"; pixel_x = -24; pixel_y = 28; req_access_txt = "48"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting{name = "\improper Warehouse"})
+"aBD" = (/obj/structure/disposalpipe/segment,/obj/machinery/button/door{id = "qm_mine_warehouse"; name = "Warehouse Door Control"; pixel_x = -24; pixel_y = 28; req_access_txt = "48"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting{name = "\improper Warehouse"})
"aBE" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"})
"aBF" = (/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_x = 0; pixel_y = 32},/obj/effect/decal/cleanable/cobweb,/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"aBG" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"})
@@ -1486,7 +1486,7 @@
"aCD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plasteel{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/engine/engineering)
"aCE" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/engine/engineering)
"aCF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/engine/engineering)
-"aCG" = (/obj/machinery/door_control{id = "QMLoaddoor"; layer = 4; name = "Loading Doors"; pixel_x = -27; pixel_y = -5},/obj/machinery/door_control{dir = 2; id = "QMLoaddoor2"; layer = 4; name = "Loading Doors"; pixel_x = -27; pixel_y = 5},/obj/machinery/computer/supplycomp,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/quartermaster/storage)
+"aCG" = (/obj/machinery/button/door{id = "QMLoaddoor"; layer = 4; name = "Loading Doors"; pixel_x = -27; pixel_y = -5},/obj/machinery/button/door{dir = 2; id = "QMLoaddoor2"; layer = 4; name = "Loading Doors"; pixel_x = -27; pixel_y = 5},/obj/machinery/computer/supplycomp,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/quartermaster/storage)
"aCH" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating{dir = 8; icon_state = "warnplate"; tag = ""},/area/engine/engineering)
"aCI" = (/obj/machinery/camera/emp_proof{c_tag = "Fore Arm - Near"; dir = 4; network = list("Singulo")},/turf/space,/area/space)
"aCJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/spawner/lootdrop{loot = list("/obj/structure/grille","/obj/structure/grille","/obj/structure/grille","/obj/structure/grille","/obj/structure/grille","/obj/item/weapon/cigbutt","/obj/item/trash/cheesie","/obj/item/trash/candy","/obj/item/trash/chips","/obj/item/trash/deadmouse","/obj/item/trash/pistachios","/obj/item/trash/plate","/obj/item/trash/popcorn","/obj/item/trash/raisins","/obj/item/trash/sosjerky","/obj/item/trash/syndi_cakes"); name = "maint grille or trash spawner"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
@@ -1518,7 +1518,7 @@
"aDj" = (/obj/structure/table,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/aiModule/supplied/quarantine,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai_upload)
"aDk" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/turret_protected/ai_upload)
"aDl" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/crew_quarters/courtroom)
-"aDm" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/flasher_button{id = "holdingflash"; name = "holding cell flasher button"; pixel_x = 23; pixel_y = 23; req_access_txt = "1"},/obj/machinery/camera{c_tag = "Brig - Desk"; dir = 8; network = list("SS13")},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29; pixel_y = -2},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/brig)
+"aDm" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/button/flasher{id = "holdingflash"; name = "holding cell flasher button"; pixel_x = 23; pixel_y = 23; req_access_txt = "1"},/obj/machinery/camera{c_tag = "Brig - Desk"; dir = 8; network = list("SS13")},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29; pixel_y = -2},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/brig)
"aDn" = (/obj/machinery/door/airlock/security{name = "Court Cell"; req_access = null; req_access_txt = "63"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/brig)
"aDo" = (/obj/structure/table/wood,/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/power/apc{dir = 8; name = "Detective APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/item/device/taperecorder{pixel_x = 3; pixel_y = 0},/obj/item/weapon/storage/box/evidence,/obj/item/device/flashlight/seclite,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/security/detectives_office)
"aDp" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/security/detectives_office)
@@ -1537,7 +1537,7 @@
"aDC" = (/obj/structure/stool{pixel_y = 8},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/crew_quarters/sleep)
"aDD" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8; initialize_directions = 11},/turf/simulated/floor/plasteel,/area/crew_quarters/sleep)
"aDE" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/crew_quarters/sleep)
-"aDF" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/door_control{id = "Cabin6"; name = "Dorm Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/effect/decal/cleanable/cobweb,/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/carpet,/area/crew_quarters/sleep)
+"aDF" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/button/door{id = "Cabin6"; name = "Dorm Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/effect/decal/cleanable/cobweb,/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/carpet,/area/crew_quarters/sleep)
"aDG" = (/obj/structure/closet/secure_closet/personal/cabinet,/obj/machinery/alarm{pixel_y = 23},/obj/item/clothing/under/suit_jacket/navy,/turf/simulated/floor/carpet,/area/crew_quarters/sleep)
"aDH" = (/obj/structure/closet/crate,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"})
"aDI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/starboard)
@@ -1576,7 +1576,7 @@
"aEp" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/gloves/color/black,/obj/item/weapon/extinguisher{pixel_x = 8},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = 21},/obj/item/clothing/glasses/meson,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/engine/engineering)
"aEq" = (/obj/structure/table,/obj/item/stack/cable_coil{amount = 5},/obj/item/device/flashlight,/turf/simulated/floor/plasteel,/area/construction)
"aEr" = (/turf/simulated/wall,/area/hallway/primary/fore)
-"aEs" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/module/power_control,/obj/item/weapon/stock_parts/cell{maxcharge = 2000},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"})
+"aEs" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/electronics/apc,/obj/item/weapon/stock_parts/cell{maxcharge = 2000},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"})
"aEt" = (/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
"aEu" = (/obj/structure/stool,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
"aEv" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
@@ -1597,7 +1597,7 @@
"aEK" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/security/detectives_office)
"aEL" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/briefcase{pixel_x = -3; pixel_y = 2},/obj/item/weapon/storage/secure/briefcase{pixel_x = 2; pixel_y = -2},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/security/detectives_office)
"aEM" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating{tag = "icon-platingdmg1"; icon_state = "platingdmg1"},/area/maintenance/fore)
-"aEN" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/obj/machinery/door_control{id = "Toilet3"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
+"aEN" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/obj/machinery/button/door{id = "Toilet3"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
"aEO" = (/obj/machinery/door/airlock{id_tag = "Toilet3"; name = "Unit 3"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
"aEP" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
"aEQ" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/urinal{pixel_y = 29},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
@@ -1641,7 +1641,7 @@
"aFC" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock{name = "\improper Mining Office"})
"aFD" = (/obj/item/clothing/glasses/meson,/obj/structure/closet/crate,/obj/item/weapon/contraband/poster,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/starboard)
"aFE" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "loadingarea"},/area/quartermaster/sorting{name = "\improper Warehouse"})
-"aFF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door_control{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "50"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"})
+"aFF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/button/door{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "50"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"})
"aFG" = (/obj/item/toy/beach_ball{icon = 'icons/obj/basketball.dmi'; icon_state = "basketball"; item_state = "basketball"; name = "basket ball"},/turf/simulated/floor/plating,/area/maintenance/fore)
"aFH" = (/obj/structure/closet,/obj/item/weapon/contraband/poster,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"aFI" = (/obj/machinery/power/apc{dir = 4; name = "Warehouse APC"; pixel_x = 27; pixel_y = 0},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"})
@@ -1697,7 +1697,7 @@
"aGG" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/engine/engineering)
"aGH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/crowbar,/obj/item/weapon/wirecutters,/obj/item/stack/cable_coil,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/engine/engineering)
"aGI" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/engine/engineering)
-"aGJ" = (/obj/item/device/taperecorder{pixel_y = 0},/obj/item/weapon/cartridge/lawyer,/obj/structure/table/wood,/obj/machinery/door_control{id = "lawyer_shutters"; name = "law office shutters control"; pixel_x = 0; pixel_y = -26; req_access_txt = "38"},/turf/simulated/floor/wood,/area/lawoffice)
+"aGJ" = (/obj/item/device/taperecorder{pixel_y = 0},/obj/item/weapon/cartridge/lawyer,/obj/structure/table/wood,/obj/machinery/button/door{id = "lawyer_shutters"; name = "law office shutters control"; pixel_x = 0; pixel_y = -26; req_access_txt = "38"},/turf/simulated/floor/wood,/area/lawoffice)
"aGK" = (/obj/machinery/field/generator{anchored = 1; state = 2},/turf/simulated/floor/plating/airless,/area/space)
"aGL" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/space)
"aGM" = (/obj/machinery/door/airlock/maintenance{name = "Law Office Maintenance"; req_access_txt = "38"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/lawoffice)
@@ -1719,7 +1719,7 @@
"aHc" = (/obj/structure/closet/crate,/obj/item/weapon/coin/silver,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"aHd" = (/obj/machinery/status_display{density = 0; pixel_x = 0; pixel_y = 0; supply_display = 1},/turf/simulated/wall,/area/quartermaster/storage)
"aHe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/quartermaster/storage)
-"aHf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/airlocks/station/mining.dmi'; name = "Vault Storage"},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/construction/Storage{name = "Storage Wing"})
+"aHf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/Doorminingglass.dmi'; name = "Vault Storage"},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/construction/Storage{name = "Storage Wing"})
"aHg" = (/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/quartermaster/storage)
"aHh" = (/obj/structure/grille,/obj/structure/window/fulltile,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/storage/primary)
"aHi" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/engine/chiefs_office)
@@ -1753,7 +1753,7 @@
"aHK" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/fore)
"aHL" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating{icon_state = "warnplate"},/area/maintenance/fore)
"aHM" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fore)
-"aHN" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/obj/effect/landmark{name = "blobstart"},/obj/machinery/door_control{id = "Toilet2"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
+"aHN" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/obj/effect/landmark{name = "blobstart"},/obj/machinery/button/door{id = "Toilet2"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
"aHO" = (/obj/machinery/door/airlock{id_tag = "Toilet2"; name = "Unit 2"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
"aHP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
"aHQ" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
@@ -1772,8 +1772,8 @@
"aId" = (/obj/structure/closet/secure_closet/personal/cabinet,/obj/item/clothing/under/assistantformal,/turf/simulated/floor/wood,/area/crew_quarters/sleep)
"aIe" = (/obj/structure/table,/obj/item/stack/rods{amount = 50},/obj/item/weapon/wrench,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/engine/engineering)
"aIf" = (/obj/structure/closet/crate/internals,/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"})
-"aIg" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/engine/engineering)
-"aIh" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/tracker_electronics,/obj/item/weapon/paper/solar,/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/engine/engineering)
+"aIg" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/engine/engineering)
+"aIh" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/electronics/tracker,/obj/item/weapon/paper/solar,/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/engine/engineering)
"aIi" = (/obj/machinery/power/port_gen/pacman,/obj/structure/cable/yellow,/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/engine/engineering)
"aIj" = (/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/engine/engineering)
"aIk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -1796,14 +1796,14 @@
"aIB" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/checkpoint/supply{name = "Security Post - Cargo"})
"aIC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/mining{name = "Mining Office"; req_access_txt = "48"},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock{name = "\improper Mining Office"})
"aID" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/quartermaster/storage)
-"aIE" = (/obj/machinery/door_control{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = 0; pixel_y = 24; req_access_txt = "50"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/quartermaster/storage)
+"aIE" = (/obj/machinery/button/door{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = 0; pixel_y = 24; req_access_txt = "50"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/quartermaster/storage)
"aIF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/quartermaster/storage)
"aIG" = (/obj/machinery/firealarm{pixel_y = 27},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/quartermaster/storage)
"aIH" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/quartermaster/storage)
-"aII" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_mining{glass = 0; icon = 'icons/obj/doors/airlocks/station/mining.dmi'; name = "Cargo Bay"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "48;50"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/construction/Storage{name = "Storage Wing"})
+"aII" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_mining{glass = 0; icon = 'icons/obj/doors/Doormining.dmi'; name = "Cargo Bay"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "48;50"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/construction/Storage{name = "Storage Wing"})
"aIJ" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/construction/Storage{name = "Storage Wing"})
"aIK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/obj/structure/sign/securearea{pixel_y = 30},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/construction/Storage{name = "Storage Wing"})
-"aIL" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_mining{glass = 0; icon = 'icons/obj/doors/airlocks/station/mining.dmi'; name = "Cargo Bay"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "48;50"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/construction/Storage{name = "Storage Wing"})
+"aIL" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_mining{glass = 0; icon = 'icons/obj/doors/Doormining.dmi'; name = "Cargo Bay"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "48;50"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/construction/Storage{name = "Storage Wing"})
"aIM" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = -28; pixel_y = 23},/obj/machinery/status_display{density = 0; pixel_x = 0; pixel_y = 32; supply_display = 1},/obj/machinery/conveyor{dir = 1; id = "QMLoad2"; movedir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage)
"aIN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "browncorner"},/area/construction/Storage{name = "Storage Wing"})
"aIO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 8; icon_state = "browncorner"},/area/construction/Storage{name = "Storage Wing"})
@@ -1833,15 +1833,15 @@
"aJm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/sign/map/left{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-left-MS"; pixel_y = 32},/turf/simulated/floor/plasteel{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry{name = "Arrivals"})
"aJn" = (/obj/structure/closet/secure_closet/personal,/obj/item/clothing/under/assistantformal,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 2; initialize_directions = 11},/obj/item/clothing/suit/hooded/wintercoat,/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/crew_quarters/sleep)
"aJo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/closet/wardrobe/pjs,/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/crew_quarters/sleep)
-"aJp" = (/obj/machinery/door_control{id = "Cabin7"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/wood,/area/crew_quarters/sleep)
+"aJp" = (/obj/machinery/button/door{id = "Cabin7"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/wood,/area/crew_quarters/sleep)
"aJq" = (/obj/structure/stool/bed/chair/wood/normal{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep)
"aJr" = (/obj/structure/table/wood,/obj/machinery/newscaster{pixel_x = 29; pixel_y = 1},/obj/item/weapon/paper,/turf/simulated/floor/wood,/area/crew_quarters/sleep)
"aJs" = (/obj/structure/closet,/obj/item/weapon/storage/box/donkpockets,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/starboard)
"aJt" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{tag = "icon-platingdmg3"; icon_state = "platingdmg3"},/area/maintenance/starboard)
"aJu" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/engine/engineering)
"aJv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/engine/engineering)
-"aJw" = (/obj/structure/table,/obj/machinery/door_control{id = "Singularity"; name = "Shutters Control"; pixel_x = 25; pixel_y = 0; req_access_txt = "11"},/obj/item/weapon/storage/toolbox/electrical{pixel_y = 5},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/engine/engineering)
-"aJx" = (/obj/machinery/door_control{id = "Singularity"; name = "Shutters Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "11"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engine/engineering)
+"aJw" = (/obj/structure/table,/obj/machinery/button/door{id = "Singularity"; name = "Shutters Control"; pixel_x = 25; pixel_y = 0; req_access_txt = "11"},/obj/item/weapon/storage/toolbox/electrical{pixel_y = 5},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/engine/engineering)
+"aJx" = (/obj/machinery/button/door{id = "Singularity"; name = "Shutters Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "11"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engine/engineering)
"aJy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/engine/engineering)
"aJz" = (/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/engine/engineering)
"aJA" = (/obj/machinery/camera/emp_proof{c_tag = "Engineering - Particle Accelerator"; dir = 2; network = list("Singulo","SS13")},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/engine/engineering)
@@ -1859,7 +1859,7 @@
"aJM" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "warningcorner"; tag = "icon-warningcorner (EAST)"},/area/quartermaster/storage)
"aJN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/quartermaster/storage)
"aJO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"; tag = "icon-warnwhite (NORTHEAST)"},/area/quartermaster/storage)
-"aJP" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass_mining{glass = 0; icon = 'icons/obj/doors/airlocks/station/mining.dmi'; name = "Cargo Bay"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "48;50"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/construction/Storage{name = "Storage Wing"})
+"aJP" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass_mining{glass = 0; icon = 'icons/obj/doors/Doormining.dmi'; name = "Cargo Bay"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "48;50"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/construction/Storage{name = "Storage Wing"})
"aJQ" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/construction/Storage{name = "Storage Wing"})
"aJR" = (/obj/machinery/camera{c_tag = "Cargo Bay - Storage Wing Entrance"; dir = 1; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"; tag = "icon-warnwhite (NORTHEAST)"},/area/construction/Storage{name = "Storage Wing"})
"aJS" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/power/apc{dir = 2; name = "Storage Wing APC"; pixel_x = 0; pixel_y = -27},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "browncorner"},/area/construction/Storage{name = "Storage Wing"})
@@ -1878,7 +1878,7 @@
"aKf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore)
"aKg" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel,/area/hallway/primary/fore)
"aKh" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/hallway/primary/fore)
-"aKi" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/firealarm_electronics,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
+"aKi" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/electronics/firealarm,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"aKj" = (/obj/structure/stool/bed/chair{name = "Bailiff"},/turf/simulated/floor/plasteel,/area/crew_quarters/courtroom)
"aKk" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor/plasteel,/area/crew_quarters/courtroom)
"aKl" = (/obj/structure/stool/bed/chair{name = "Judge"},/turf/simulated/floor/plasteel{dir = 9; icon_state = "blue"},/area/crew_quarters/courtroom)
@@ -1893,9 +1893,9 @@
"aKu" = (/obj/structure/rack,/obj/item/weapon/book/manual/wiki/engineering_guide{pixel_x = 3; pixel_y = 4},/obj/effect/spawner/lootdrop/maintenance,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/maintenance/starboard)
"aKv" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/lawoffice)
"aKw" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/fore)
-"aKx" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/obj/effect/landmark{name = "blobstart"},/obj/machinery/door_control{id = "Toilet1"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
+"aKx" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/obj/effect/landmark{name = "blobstart"},/obj/machinery/button/door{id = "Toilet1"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
"aKy" = (/obj/machinery/door/airlock{id_tag = "Toilet1"; name = "Unit 1"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
-"aKz" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 4},/obj/machinery/newscaster{pixel_x = 32},/obj/machinery/door_control{id = "Toilet4"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
+"aKz" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 4},/obj/machinery/newscaster{pixel_x = 32},/obj/machinery/button/door{id = "Toilet4"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
"aKA" = (/obj/machinery/light/small,/obj/machinery/recharge_station,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet{name = "\improper Restrooms"})
"aKB" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/crew_quarters/sleep)
"aKC" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/crew_quarters/sleep)
@@ -1937,8 +1937,8 @@
"aLm" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;63;48;50"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"aLn" = (/turf/simulated/wall,/area/storage/primary)
"aLo" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/quartermaster/office{name = "\improper Cargo Office"})
-"aLp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/airlocks/station/mining.dmi'; name = "Primary Tool Storage"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "brown"},/area/storage/primary)
-"aLq" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/airlocks/station/mining.dmi'; name = "Primary Tool Storage"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 2; icon_state = "brown"},/area/storage/primary)
+"aLp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/Doorminingglass.dmi'; name = "Primary Tool Storage"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "brown"},/area/storage/primary)
+"aLq" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/Doorminingglass.dmi'; name = "Primary Tool Storage"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 2; icon_state = "brown"},/area/storage/primary)
"aLr" = (/turf/simulated/wall/r_wall,/area/storage/primary)
"aLs" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload)
"aLt" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8; initialize_directions = 11},/turf/simulated/floor/plasteel{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore)
@@ -2117,12 +2117,12 @@
"aOK" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/mob/living/simple_animal/chicken{name = "Kentucky"; real_name = "Kentucky"},/turf/simulated/floor/grass,/area/hallway/secondary/construction{name = "\improper Garden"})
"aOL" = (/obj/structure/rack,/obj/item/clothing/suit/hazardvest,/turf/simulated/floor/plating,/area/maintenance/starboard)
"aOM" = (/obj/machinery/power/emitter,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/engine/engineering)
-"aON" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/sheet/mineral/plasma{amount = 30},/obj/item/device/gps,/turf/simulated/floor/plating,/area/engine/engineering)
+"aON" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/sheet/mineral/plasma{amount = 30},/obj/item/device/gps,/turf/simulated/floor/plating,/area/engine/engineering)
"aOO" = (/obj/machinery/the_singularitygen{anchored = 0},/turf/simulated/floor/plating,/area/engine/engineering)
"aOP" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/engine/engineering)
"aOQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/engine/engineering)
-"aOR" = (/obj/structure/table,/obj/item/weapon/book/manual/wiki/engineering_guide{pixel_x = 3; pixel_y = 4},/obj/item/weapon/book/manual/engineering_particle_accelerator{pixel_x = -2; pixel_y = 3},/obj/machinery/door_control{id = "Singularity"; name = "Shutters Control"; pixel_x = 25; pixel_y = 0; req_access_txt = "11"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/engine/engineering)
-"aOS" = (/obj/machinery/door_control{id = "Singularity"; name = "Shutters Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "11"},/turf/simulated/floor/plating{tag = "icon-warnplate (SOUTHWEST)"; icon_state = "warnplate"; dir = 10},/area/engine/engineering)
+"aOR" = (/obj/structure/table,/obj/item/weapon/book/manual/wiki/engineering_guide{pixel_x = 3; pixel_y = 4},/obj/item/weapon/book/manual/engineering_particle_accelerator{pixel_x = -2; pixel_y = 3},/obj/machinery/button/door{id = "Singularity"; name = "Shutters Control"; pixel_x = 25; pixel_y = 0; req_access_txt = "11"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/engine/engineering)
+"aOS" = (/obj/machinery/button/door{id = "Singularity"; name = "Shutters Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "11"},/turf/simulated/floor/plating{tag = "icon-warnplate (SOUTHWEST)"; icon_state = "warnplate"; dir = 10},/area/engine/engineering)
"aOT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating{icon_plating = "warnplate"; icon_state = "warnplate"},/area/engine/engineering)
"aOU" = (/turf/simulated/floor/plating{icon_plating = "warnplate"; icon_state = "warnplate"},/area/engine/engineering)
"aOV" = (/turf/simulated/floor/plating{tag = "icon-warnplate (SOUTHEAST)"; icon_state = "warnplate"; dir = 6},/area/engine/engineering)
@@ -2575,8 +2575,8 @@
"aXA" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/engine/break_room)
"aXB" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/wall/shuttle{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/shuttle/pod_1)
"aXC" = (/turf/simulated/wall/shuttle{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/arrival)
-"aXD" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/airlocks/station/mining.dmi'; name = "Primary Tool Storage"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "brown"},/area/storage/primary)
-"aXE" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/airlocks/station/mining.dmi'; name = "Primary Tool Storage"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 1; icon_state = "brown"},/area/storage/primary)
+"aXD" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/Doorminingglass.dmi'; name = "Primary Tool Storage"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "brown"},/area/storage/primary)
+"aXE" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/Doorminingglass.dmi'; name = "Primary Tool Storage"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 1; icon_state = "brown"},/area/storage/primary)
"aXF" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/hallway/primary/central)
"aXG" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/hallway/primary/central)
"aXH" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/hallway/primary/central)
@@ -2777,7 +2777,7 @@
"bbu" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/storage/tech)
"bbv" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/storage/tech)
"bbw" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/stack/cable_coil,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/storage/tech)
-"bbx" = (/obj/machinery/door_control{desc = "A remote control-switch for the engineering security doors."; id = "Engineering"; name = "Engineering Lockdown"; pixel_x = -24; pixel_y = -5; req_access_txt = "10"},/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = -24; pixel_y = 5; req_access_txt = "24"},/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/engine/chiefs_office)
+"bbx" = (/obj/machinery/button/door{desc = "A remote control-switch for the engineering security doors."; id = "Engineering"; name = "Engineering Lockdown"; pixel_x = -24; pixel_y = -5; req_access_txt = "10"},/obj/machinery/button/door{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = -24; pixel_y = 5; req_access_txt = "24"},/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/engine/chiefs_office)
"bby" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/engine/chiefs_office)
"bbz" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
"bbA" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/paper/monitorkey,/turf/simulated/floor/plasteel{icon_state = "neutral"},/area/engine/chiefs_office)
@@ -2821,8 +2821,8 @@
"bcm" = (/obj/structure/closet/wardrobe/engineering_yellow,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/engine/engineering)
"bcn" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/storage/tools)
"bco" = (/turf/simulated/wall,/area/quartermaster/office{name = "\improper Cargo Office"})
-"bcp" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_mining{glass = 0; icon = 'icons/obj/doors/airlocks/station/mining.dmi'; name = "Cargo Bay"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "48;50"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/quartermaster/office{name = "\improper Cargo Office"})
-"bcq" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_mining{glass = 0; icon = 'icons/obj/doors/airlocks/station/mining.dmi'; name = "Cargo Bay"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "48;50"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/quartermaster/office{name = "\improper Cargo Office"})
+"bcp" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_mining{glass = 0; icon = 'icons/obj/doors/Doormining.dmi'; name = "Cargo Bay"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "48;50"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/quartermaster/office{name = "\improper Cargo Office"})
+"bcq" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_mining{glass = 0; icon = 'icons/obj/doors/Doormining.dmi'; name = "Cargo Bay"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "48;50"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/quartermaster/office{name = "\improper Cargo Office"})
"bcr" = (/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/obj/structure/table/reinforced,/obj/structure/noticeboard{desc = "A board for pinning important notices upon. Probably helpful for keeping track of requests."; name = "requests board"; pixel_x = 32; pixel_y = 32},/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{dir = 9; icon_state = "brown"},/area/quartermaster/office{name = "\improper Cargo Office"})
"bcs" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/red,/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{dir = 5; icon_state = "brown"},/area/quartermaster/office{name = "\improper Cargo Office"})
"bct" = (/obj/machinery/computer/ordercomp,/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/hallway/primary/port)
@@ -2870,7 +2870,7 @@
"bdj" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/pandemic{pixel_x = -3; pixel_y = 3},/obj/item/weapon/circuitboard/rdconsole,/obj/item/weapon/circuitboard/rdserver{pixel_x = 3; pixel_y = -3},/obj/item/weapon/circuitboard/destructive_analyzer,/obj/item/weapon/circuitboard/protolathe,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/storage/tech)
"bdk" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/storage/tech)
"bdl" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/flora/kirbyplants{icon_state = "applebush"; layer = 4.1; tag = "icon-applebush"},/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 9},/area/hallway/primary/central)
-"bdm" = (/obj/machinery/door_control{id = "transittube"; name = "Transit Tube Lockdown"; pixel_x = -24; pixel_y = -5; req_access_txt = "24"},/obj/machinery/door_control{desc = "A remote control-switch for secure storage."; id = "Secure Storage"; name = "Engineering Secure Storage"; pixel_x = -24; pixel_y = 5; req_access_txt = "11"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/engine/chiefs_office)
+"bdm" = (/obj/machinery/button/door{id = "transittube"; name = "Transit Tube Lockdown"; pixel_x = -24; pixel_y = -5; req_access_txt = "24"},/obj/machinery/button/door{desc = "A remote control-switch for secure storage."; id = "Secure Storage"; name = "Engineering Secure Storage"; pixel_x = -24; pixel_y = 5; req_access_txt = "11"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/engine/chiefs_office)
"bdn" = (/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/structure/table/reinforced,/obj/item/weapon/cartridge/atmos,/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 4},/area/engine/chiefs_office)
"bdo" = (/obj/effect/landmark/start{name = "Chief Engineer"},/obj/structure/stool/bed/chair/office/light{dir = 1; pixel_y = 3},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
"bdp" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office)
@@ -2934,7 +2934,7 @@
"bev" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/crew_quarters/captain{name = "\improper Captain's Quarters"})
"bew" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/hallway/primary/central)
"bex" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutralcorner"},/area/hallway/primary/central)
-"bey" = (/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/machinery/door_control{id = "hop"; name = "Privacy Shutters Control"; pixel_x = 0; pixel_y = 25; req_access_txt = "28"},/obj/structure/table/wood,/turf/simulated/floor/wood,/area/crew_quarters/heads)
+"bey" = (/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/machinery/button/door{id = "hop"; name = "Privacy Shutters Control"; pixel_x = 0; pixel_y = 25; req_access_txt = "28"},/obj/structure/table/wood,/turf/simulated/floor/wood,/area/crew_quarters/heads)
"bez" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor/plasteel,/area/storage/tools)
"beA" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel,/area/storage/tools)
"beB" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/storage/tools)
@@ -3044,11 +3044,11 @@
"bgB" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 1},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -28},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/engine/chiefs_office)
"bgC" = (/obj/structure/table/glass,/turf/simulated/floor/plasteel,/area/engine/break_room)
"bgD" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/secure/briefcase,/obj/item/clothing/mask/cigarette/cigar,/obj/machinery/computer/security/telescreen{dir = 1; name = "MiniSat Monitor"; network = list("MiniSat","tcomm"); pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/engine/chiefs_office)
-"bgE" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/lighter,/obj/item/clothing/glasses/meson,/obj/machinery/door_control{id = "ceprivacy"; name = "Privacy Shutters Control"; pixel_x = 0; pixel_y = -26},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/engine/chiefs_office)
+"bgE" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/lighter,/obj/item/clothing/glasses/meson,/obj/machinery/button/door{id = "ceprivacy"; name = "Privacy Shutters Control"; pixel_x = 0; pixel_y = -26},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/engine/chiefs_office)
"bgF" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/mob/living/simple_animal/parrot/Poly,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/engine/chiefs_office)
"bgG" = (/obj/structure/closet/secure_closet/engineering_chief{req_access_txt = "0"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/engine/chiefs_office)
"bgH" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Engine Room"; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/engine/engineering)
-"bgI" = (/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/obj/machinery/camera/autoname{dir = 4; network = list("SS13")},/obj/machinery/door_control{desc = "A remote control-switch for the engineering security doors."; id = "Engineering"; name = "Engineering Lockdown"; pixel_x = -24; pixel_y = -6; req_access_txt = "1"},/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = -24; pixel_y = 5; req_access_txt = "1"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/security/checkpoint/engineering)
+"bgI" = (/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/obj/machinery/camera/autoname{dir = 4; network = list("SS13")},/obj/machinery/button/door{desc = "A remote control-switch for the engineering security doors."; id = "Engineering"; name = "Engineering Lockdown"; pixel_x = -24; pixel_y = -6; req_access_txt = "1"},/obj/machinery/button/door{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = -24; pixel_y = 5; req_access_txt = "1"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/security/checkpoint/engineering)
"bgJ" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/checkpoint/engineering)
"bgK" = (/obj/structure/closet/secure_closet/security/engine,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 6},/area/security/checkpoint/engineering)
"bgL" = (/turf/simulated/wall,/area/engine/break_room)
@@ -3126,14 +3126,14 @@
"bif" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/hallway/primary/central)
"big" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/hallway/primary/central)
"bih" = (/obj/machinery/computer/security,/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkred"; tag = "icon-darkblue"},/area/bridge)
-"bii" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/airlocks/station/engineering.dmi'; name = "Auxiliary Tool Storage"; req_access_txt = "12"},/turf/simulated/floor/plasteel,/area/storage/tools)
+"bii" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/Doorengglass.dmi'; name = "Auxiliary Tool Storage"; req_access_txt = "12"},/turf/simulated/floor/plasteel,/area/storage/tools)
"bij" = (/obj/structure/grille,/obj/structure/window/fulltile,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/storage/art)
"bik" = (/obj/structure/closet/emcloset,/obj/structure/sign/map/left{icon_state = "map-left-MS"; pixel_y = 32},/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/hallway/primary/starboard)
"bil" = (/obj/structure/sign/map/right{desc = "A framed picture of the station. Clockwise from security in red at the top, you see engineering in yellow, science in purple, escape in checkered red-and-white, medbay in green, arrivals in checkered red-and-blue, and then cargo in brown."; icon_state = "map-right-MS"; pixel_y = 32},/obj/structure/closet/firecloset,/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/hallway/primary/starboard)
"bim" = (/turf/simulated/wall,/area/hallway/primary/starboard)
"bin" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/starboard)
"bio" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/storage/tech)
-"bip" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{icon = 'icons/obj/doors/airlocks/station/engineering.dmi'; name = "Tech Storage"; req_access_txt = "0"; req_one_access_txt = "23;30"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/storage/tech)
+"bip" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{icon = 'icons/obj/doors/Dooreng.dmi'; name = "Tech Storage"; req_access_txt = "0"; req_one_access_txt = "23;30"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/storage/tech)
"biq" = (/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/maintcentral{name = "Central Maintenance"})
"bir" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/engine/break_room)
"bis" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/computer/prisoner,/turf/simulated/floor/plasteel{dir = 5; icon_state = "darkred"; tag = "icon-darkblue"},/area/bridge)
@@ -3224,7 +3224,7 @@
"bjZ" = (/obj/structure/table/wood,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain{name = "\improper Captain's Quarters"})
"bka" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=14.2-Central-CrewQuarters"; location = "14-Starboard-Central"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/hallway/primary/central)
"bkb" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/hallway/primary/central)
-"bkc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/airlocks/station2/glass.dmi'; name = "Starboard Primary Hallway"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/hallway/primary/starboard)
+"bkc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/Doorglass.dmi'; name = "Starboard Primary Hallway"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/hallway/primary/starboard)
"bkd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/hallway/primary/starboard)
"bke" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 2},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/hallway/primary/starboard)
"bkf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/hallway/primary/starboard)
@@ -3315,7 +3315,7 @@
"blM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/hallway/primary/central)
"blN" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/hallway/primary/central)
"blO" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/central)
-"blP" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/airlocks/station2/glass.dmi'; name = "Starboard Primary Hallway"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard)
+"blP" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/Doorglass.dmi'; name = "Starboard Primary Hallway"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard)
"blQ" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard)
"blR" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard)
"blS" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard)
@@ -3360,7 +3360,7 @@
"bmF" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 2},/obj/structure/sign/map/left{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-left-MS"; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 1},/area/hallway/primary/port)
"bmG" = (/obj/structure/extinguisher_cabinet{pixel_x = 30; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/sign/map/right{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-right-MS"; pixel_y = 32},/turf/simulated/floor/plasteel{dir = 5; icon_state = "neutral"},/area/hallway/primary/port)
"bmH" = (/obj/machinery/recharge_station,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/secure{name = "MiniSat Maintenance"})
-"bmI" = (/obj/structure/table,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/storage/tech)
+"bmI" = (/obj/structure/table,/obj/item/weapon/electronics/apc,/obj/item/weapon/electronics/airlock,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/storage/tech)
"bmJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "arrival"},/area/quartermaster/office{name = "\improper Cargo Office"})
"bmK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 2; icon_state = "arrival"},/area/quartermaster/office{name = "\improper Cargo Office"})
"bmL" = (/obj/structure/filingcabinet/filingcabinet,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/camera{c_tag = "Cargo - Mailroom"; dir = 1; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 2; icon_state = "arrival"},/area/quartermaster/office{name = "\improper Cargo Office"})
@@ -3401,7 +3401,7 @@
"bnu" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8; initialize_directions = 11},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/hallway/primary/central)
"bnv" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=13.1-Engineering-Enter"; location = "12-Central-Starboard"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/hallway/primary/central)
"bnw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/central)
-"bnx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/airlocks/station2/glass.dmi'; name = "Starboard Primary Hallway"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/starboard)
+"bnx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/Doorglass.dmi'; name = "Starboard Primary Hallway"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/starboard)
"bny" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/starboard)
"bnz" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1; initialize_directions = 11},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/starboard)
"bnA" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 2; initialize_directions = 11},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/starboard)
@@ -3446,7 +3446,7 @@
"bon" = (/obj/structure/showcase{density = 0; desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze."; dir = 4; icon = 'icons/mob/robots.dmi'; icon_state = "robot_old"; name = "Cyborg Statue"; pixel_x = -9; pixel_y = 2},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkbluecorners"; tag = "icon-darkbluecorners"},/area/turret_protected/tcomfoyer{name = "\improper MiniSat Foyer"})
"boo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge)
"bop" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/turret_protected/aisat_interior)
-"boq" = (/obj/structure/rack,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellow"},/area/storage/tools)
+"boq" = (/obj/structure/rack,/obj/item/weapon/electronics/apc,/obj/item/weapon/electronics/airlock,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellow"},/area/storage/tools)
"bor" = (/turf/simulated/floor/carpet,/area/bridge)
"bos" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/hallway/primary/port)
"bot" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central)
@@ -3498,7 +3498,7 @@
"bpn" = (/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/central)
"bpo" = (/turf/simulated/wall,/area/storage/art)
"bpp" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/maintcentral{name = "Central Maintenance"})
-"bpq" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/airlocks/station/engineering.dmi'; name = "Art Storage"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/storage/art)
+"bpq" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/Doorengglass.dmi'; name = "Art Storage"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/storage/art)
"bpr" = (/obj/structure/sign/directions/security{desc = "A direction sign, pointing out which way the security department is."; dir = 1; icon_state = "direction_sec"; pixel_x = 0; pixel_y = 8; tag = "icon-direction_sec (NORTH)"},/obj/structure/sign/directions/engineering{desc = "A direction sign, pointing out which way the engineering department is."; dir = 4; icon_state = "direction_eng"; pixel_y = 0; tag = "icon-direction_eng (EAST)"},/obj/structure/sign/directions/engineering{desc = "A direction sign, pointing out which way the bridge is."; dir = 2; icon_state = "direction_bridge"; name = "bridge"; pixel_y = -8; tag = "icon-direction_bridge (EAST)"},/turf/simulated/wall/r_wall,/area/storage/tools)
"bps" = (/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkbluecorners"; tag = "icon-darkbluecorners"},/area/turret_protected/aisat_interior)
"bpt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/maintenance/starboard)
@@ -3543,7 +3543,7 @@
"bqg" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/construction/hallway{name = "\improper MiniSat Exterior"})
"bqh" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/cable/yellow{icon_state = "4-8"; d1 = 4; d2 = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/construction/hallway{name = "\improper MiniSat Exterior"})
"bqi" = (/obj/machinery/hologram/holopad,/obj/structure/cable/yellow{icon_state = "4-8"; d1 = 4; d2 = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/construction/hallway{name = "\improper MiniSat Exterior"})
-"bqj" = (/obj/machinery/door_control{id = "hop"; name = "Privacy Shutters Control"; pixel_x = -24; pixel_y = -6; req_access_txt = "28"},/obj/machinery/light_switch{pixel_x = -25; pixel_y = 5},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
+"bqj" = (/obj/machinery/button/door{id = "hop"; name = "Privacy Shutters Control"; pixel_x = -24; pixel_y = -6; req_access_txt = "28"},/obj/machinery/light_switch{pixel_x = -25; pixel_y = 5},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
"bqk" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/camera{c_tag = "Arrivals - Station Entrance"; dir = 4; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry{name = "Arrivals"})
"bql" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry{name = "Arrivals"})
"bqm" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "arrival"},/area/hallway/secondary/entry{name = "Arrivals"})
@@ -3693,12 +3693,12 @@
"bta" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/gateway)
"btb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light{dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central)
"btc" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/gateway)
-"btd" = (/obj/machinery/door_control{id = "bridge blast"; name = "Bridge Access Blast Door Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "19"},/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/door_control{id = "council blast"; name = "Council Chamber Blast Door Control"; pixel_x = -1; pixel_y = -34; req_access_txt = "19"},/obj/machinery/camera{c_tag = "Bridge - Command Chair"; dir = 1; network = list("SS13")},/turf/simulated/floor/carpet,/area/bridge)
+"btd" = (/obj/machinery/button/door{id = "bridge blast"; name = "Bridge Access Blast Door Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "19"},/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/button/door{id = "council blast"; name = "Council Chamber Blast Door Control"; pixel_x = -1; pixel_y = -34; req_access_txt = "19"},/obj/machinery/camera{c_tag = "Bridge - Command Chair"; dir = 1; network = list("SS13")},/turf/simulated/floor/carpet,/area/bridge)
"bte" = (/obj/item/weapon/storage/box/lights/mixed,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/starboard)
"btf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
"btg" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/gateway)
"bth" = (/turf/simulated/wall,/area/crew_quarters/heads)
-"bti" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/door_control{id = "kitchenwindow"; name = "Window Shutter Control"; pixel_x = -26; pixel_y = 0; req_access_txt = "28"},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
+"bti" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/button/door{id = "kitchenwindow"; name = "Window Shutter Control"; pixel_x = -26; pixel_y = 0; req_access_txt = "28"},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
"btj" = (/obj/machinery/vending/autodrobe,/turf/simulated/floor/wood,/area/crew_quarters/theatre)
"btk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "20;12"},/turf/simulated/floor/plating,/area/maintenance/maintcentral{name = "Central Maintenance"})
"btl" = (/obj/item/weapon/folder,/obj/item/weapon/folder,/obj/machinery/camera/autoname{dir = 1; network = list("SS13")},/obj/structure/table/wood,/turf/simulated/floor/wood,/area/library)
@@ -3771,7 +3771,7 @@
"buA" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners"; icon_state = "darkbluecorners"},/area/turret_protected/aisat_interior)
"buB" = (/obj/machinery/computer/station_alert,/obj/machinery/light,/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/machinery/computer/security/telescreen{dir = 1; name = "MiniSat Monitor"; network = list("MiniSat","tcomm"); pixel_x = 0; pixel_y = -29},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure{name = "MiniSat Maintenance"})
"buC" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/machinery/power/apc{dir = 8; name = "MiniSat Maint APC"; pixel_x = -24},/obj/item/weapon/crowbar/red,/obj/item/weapon/wrench,/obj/item/clothing/head/welding,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure{name = "MiniSat Maintenance"})
-"buD" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 2; on = 1},/obj/machinery/door_control{id = "evashutter"; name = "E.V.A. Storage Shutter Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "19"},/obj/machinery/door_control{id = "gateshutter"; name = "Gateway Shutter Control"; pixel_x = 0; pixel_y = -34; req_access_txt = "19"},/turf/simulated/floor/carpet,/area/bridge)
+"buD" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 2; on = 1},/obj/machinery/button/door{id = "evashutter"; name = "E.V.A. Storage Shutter Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "19"},/obj/machinery/button/door{id = "gateshutter"; name = "Gateway Shutter Control"; pixel_x = 0; pixel_y = -34; req_access_txt = "19"},/turf/simulated/floor/carpet,/area/bridge)
"buE" = (/obj/machinery/camera/motion{c_tag = "MiniSat Maintenance"; dir = 8; network = list("MiniSat")},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/rack,/obj/item/stack/sheet/mineral/plasma{layer = 3.1},/obj/item/stack/sheet/mineral/plasma{layer = 3.1},/obj/item/stack/sheet/mineral/plasma{layer = 3.1},/obj/item/stack/sheet/mineral/plasma{layer = 3.1},/obj/item/weapon/reagent_containers/food/drinks/soda_cans/thirteenloko,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure{name = "MiniSat Maintenance"})
"buF" = (/obj/structure/table,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -28},/obj/item/weapon/storage/toolbox/electrical{pixel_x = -3; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure{name = "MiniSat Maintenance"})
"buG" = (/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/space)
@@ -3806,7 +3806,7 @@
"bvj" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=7-Command-Starboard"; location = "6-Port-Central"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/central)
"bvk" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
"bvl" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
-"bvm" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Head of Personnel"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light_switch{pixel_x = 38; pixel_y = -35},/obj/machinery/door_control{id = "hopqueue"; name = "Queue Shutters Control"; pixel_x = 25; pixel_y = -36; req_access_txt = "28"},/obj/machinery/door_control{id = "hop"; name = "Privacy Shutters Control"; pixel_x = 25; pixel_y = -26; req_access_txt = "28"},/obj/machinery/flasher_button{id = "hopflash"; pixel_x = 38; pixel_y = -25},/turf/simulated/floor/wood,/area/crew_quarters/heads)
+"bvm" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Head of Personnel"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light_switch{pixel_x = 38; pixel_y = -35},/obj/machinery/button/door{id = "hopqueue"; name = "Queue Shutters Control"; pixel_x = 25; pixel_y = -36; req_access_txt = "28"},/obj/machinery/button/door{id = "hop"; name = "Privacy Shutters Control"; pixel_x = 25; pixel_y = -26; req_access_txt = "28"},/obj/machinery/button/flasher{id = "hopflash"; pixel_x = 38; pixel_y = -25},/turf/simulated/floor/wood,/area/crew_quarters/heads)
"bvn" = (/obj/structure/table/wood,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/stamp/hop{pixel_x = -4; pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/heads)
"bvo" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
"bvp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
@@ -3949,7 +3949,7 @@
"bxW" = (/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/obj/structure/lattice,/turf/space,/area/space)
"bxX" = (/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/space,/area/space)
"bxY" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/centcom{name = "Vacant Office"; opacity = 1; req_access_txt = "32"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/security/vacantoffice)
-"bxZ" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8; initialize_directions = 11},/obj/machinery/door_control{id = "bridge blast"; name = "Bridge Access Blast Door Control"; pixel_x = 24; pixel_y = -24; req_access_txt = "19"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkbluecorners"; tag = "icon-darkbluecorners"},/area/bridge)
+"bxZ" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8; initialize_directions = 11},/obj/machinery/button/door{id = "bridge blast"; name = "Bridge Access Blast Door Control"; pixel_x = 24; pixel_y = -24; req_access_txt = "19"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkbluecorners"; tag = "icon-darkbluecorners"},/area/bridge)
"bya" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkbluecorners"; tag = "icon-darkbluecorners"},/area/bridge)
"byb" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1; pixel_y = 2},/turf/space,/area/space)
"byc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/construction/hallway{name = "\improper MiniSat Exterior"})
@@ -4115,7 +4115,7 @@
"bBg" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/bridge)
"bBh" = (/obj/structure/noticeboard{pixel_y = 32},/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/large{pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = 2},/obj/item/weapon/reagent_containers/glass/bottle/charcoal{pixel_x = -5; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/bottle/morphine,/obj/item/weapon/reagent_containers/syringe/epinephrine{pixel_x = 3; pixel_y = -2},/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/medical/medbay2{name = "Medbay Storage"})
"bBi" = (/obj/structure/table/wood,/obj/item/weapon/folder/red,/turf/simulated/floor/carpet,/area/bridge)
-"bBj" = (/obj/structure/table,/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_y = 30},/obj/machinery/door_control{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_x = 0; pixel_y = 7; req_access_txt = "47"},/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "ResearchFoyer"; name = "Research Door Button"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -2},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/checkpoint/science{name = "Security Post - Research Division"})
+"bBj" = (/obj/structure/table,/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_y = 30},/obj/machinery/button/door{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_x = 0; pixel_y = 7; req_access_txt = "47"},/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "ResearchFoyer"; name = "Research Door Button"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -2},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/checkpoint/science{name = "Security Post - Research Division"})
"bBk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/lattice/catwalk,/turf/space,/area/solar/port)
"bBl" = (/obj/item/weapon/reagent_containers/glass/bottle/morphine,/obj/item/trash/candy,/obj/structure/disposalpipe/segment{dir = 4},/obj/item/clothing/tie/stethoscope,/turf/simulated/floor/plating{tag = "icon-platingdmg1"; icon_state = "platingdmg1"},/area/maintenance/aft{name = "Aft Maintenance"})
"bBm" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/pen,/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/bridge/meeting_room{name = "\improper Command Hallway"})
@@ -4141,7 +4141,7 @@
"bBG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/device/radio/beacon,/turf/simulated/floor/plasteel{dir = 8; icon_state = "caution"},/area/hallway/primary/starboard)
"bBH" = (/turf/simulated/floor/plasteel{icon_state = "caution"; dir = 4},/area/hallway/primary/starboard)
"bBI" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/atmos)
-"bBJ" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/vending/coffee{pixel_x = -3},/obj/machinery/door_control{id = "council blast"; name = "Council Chamber Blast Door Control"; pixel_x = -28; pixel_y = 0; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge)
+"bBJ" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/vending/coffee{pixel_x = -3},/obj/machinery/button/door{id = "council blast"; name = "Council Chamber Blast Door Control"; pixel_x = -28; pixel_y = 0; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge)
"bBK" = (/obj/machinery/atmospherics/components/unary/heat_reservoir/heater{dir = 1; on = 1; tag = ""},/turf/simulated/floor/plasteel,/area/atmos)
"bBL" = (/obj/machinery/atmospherics/components/binary/pump{dir = 8; name = "Air to Distro"; on = 1; target_pressure = 101},/obj/machinery/alarm{pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/camera{c_tag = "Atmospherics - Distro Loop"; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 1; icon_state = "caution"},/area/atmos)
"bBM" = (/obj/machinery/atmospherics/pipe/manifold/supply/visible{dir = 1; tag = "icon-manifold-b (NORTH)"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "caution"},/area/atmos)
@@ -4210,7 +4210,7 @@
"bCX" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/vending/cigarette{pixel_x = 2},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge)
"bCY" = (/obj/structure/stool/bed/chair/wood/wings,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/landmark/start{name = "Mime"},/turf/simulated/floor/carpet,/area/crew_quarters/theatre)
"bCZ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bDa" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door_control{id = "bridge blast"; name = "Bridge Access Blast Door Control"; pixel_x = -24; pixel_y = -24; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge)
+"bDa" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/button/door{id = "bridge blast"; name = "Bridge Access Blast Door Control"; pixel_x = -24; pixel_y = -24; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge)
"bDb" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/atmos)
"bDc" = (/obj/item/clothing/mask/breath{pixel_x = 4; pixel_y = 0},/obj/item/weapon/tank/internals/emergency_oxygen{pixel_x = -8; pixel_y = 0},/obj/structure/table,/turf/simulated/floor/plasteel{dir = 8; icon_state = "caution"},/area/atmos)
"bDd" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/plasteel,/area/atmos)
@@ -4273,7 +4273,7 @@
"bEi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
"bEj" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
"bEk" = (/obj/machinery/door/airlock{id_tag = "AuxToilet1"; name = "Unit 1"},/turf/simulated/floor/plasteel,/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
-"bEl" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "AuxToilet1"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel,/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
+"bEl" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 4},/obj/machinery/button/door{id = "AuxToilet1"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel,/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
"bEm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/carpet,/area/library)
"bEn" = (/obj/structure/table/wood,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/wood,/area/library)
"bEo" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/wood,/area/library)
@@ -4442,7 +4442,7 @@
"bHv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"})
"bHw" = (/obj/machinery/door/airlock{id_tag = "AuxShower"; name = "Shower"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
"bHx" = (/obj/machinery/door/airlock{id_tag = "AuxToilet2"; name = "Unit 2"},/turf/simulated/floor/plasteel,/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
-"bHy" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "AuxToilet2"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel,/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
+"bHy" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 4},/obj/machinery/button/door{id = "AuxToilet2"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel,/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
"bHz" = (/obj/machinery/door/poddoor/preopen{id = "bridge blast"; name = "bridge blast door"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass_command{name = "Bridge Access"; req_access_txt = "19"},/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/bridge)
"bHA" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/theatre)
"bHB" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/theatre)
@@ -4487,14 +4487,14 @@
"bIo" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"bIp" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"bIq" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/item/toy/cards/deck{pixel_y = 4},/obj/structure/table/wood/poker,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bIr" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/airlocks/station/maintenance.dmi'; name = "Theatre Stage"; req_access_txt = "0"; req_one_access_txt = "12;46"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/theatre)
+"bIr" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Doormaint.dmi'; name = "Theatre Stage"; req_access_txt = "0"; req_one_access_txt = "12;46"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/theatre)
"bIs" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; id_tag = "waste_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos)
"bIt" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/atmos)
"bIu" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/atmos)
"bIv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "blackcorner"},/area/atmos)
"bIw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/atmos)
"bIx" = (/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor/engine,/area/toxins/explab)
-"bIy" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = 26; pixel_y = -26; req_access_txt = "24"},/turf/simulated/floor/plasteel{dir = 6; icon_state = "caution"},/area/atmos)
+"bIy" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/button/door{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = 26; pixel_y = -26; req_access_txt = "24"},/turf/simulated/floor/plasteel{dir = 6; icon_state = "caution"},/area/atmos)
"bIz" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/structure/grille,/turf/simulated/wall/r_wall,/area/atmos)
"bIA" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/security/vacantoffice)
"bIB" = (/obj/machinery/light_switch{pixel_y = -28},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/machinery/light,/turf/simulated/floor/carpet,/area/crew_quarters/theatre)
@@ -4545,7 +4545,7 @@
"bJu" = (/obj/structure/table/wood,/obj/item/weapon/folder,/turf/simulated/floor/wood,/area/security/vacantoffice)
"bJv" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/wood,/area/security/vacantoffice)
"bJw" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/wood,/area/security/vacantoffice)
-"bJx" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/machinery/door_control{id = "AuxShower"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
+"bJx" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/machinery/button/door{id = "AuxShower"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
"bJy" = (/obj/machinery/shower{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
"bJz" = (/turf/simulated/floor/plating,/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
"bJA" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/spawner/lootdrop{loot = list("/obj/structure/grille","/obj/structure/grille","/obj/structure/grille","/obj/structure/grille","/obj/structure/grille","/obj/item/weapon/cigbutt","/obj/item/trash/cheesie","/obj/item/trash/candy","/obj/item/trash/chips","/obj/item/trash/deadmouse","/obj/item/trash/pistachios","/obj/item/trash/plate","/obj/item/trash/popcorn","/obj/item/trash/raisins","/obj/item/trash/sosjerky","/obj/item/trash/syndi_cakes"); name = "maint grille or trash spawner"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
@@ -4624,11 +4624,11 @@
"bKV" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating{tag = "icon-platingdmg1"; icon_state = "platingdmg1"},/area/maintenance/fpmaint2{name = "Port Maintenance"})
"bKW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/engine,/area/toxins/explab)
"bKX" = (/obj/machinery/vending/cola,/turf/simulated/floor/carpet,/area/crew_quarters/bar)
-"bKY" = (/obj/machinery/door_control{id = "telelab"; name = "Test Chamber Blast Doors"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/engine,/area/toxins/explab)
+"bKY" = (/obj/machinery/button/door{id = "telelab"; name = "Test Chamber Blast Doors"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/engine,/area/toxins/explab)
"bKZ" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/effect/decal/cleanable/blood,/obj/effect/decal/cleanable/blood/gibs/limb,/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
"bLa" = (/obj/machinery/shower{dir = 8},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plating,/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
"bLb" = (/obj/machinery/door/airlock{id_tag = "AuxToilet3"; name = "Unit 3"},/turf/simulated/floor/plating,/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
-"bLc" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "AuxToilet3"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
+"bLc" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 4},/obj/machinery/button/door{id = "AuxToilet3"; name = "Lock Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/crew_quarters/toilet{name = "\improper Auxiliary Restrooms"})
"bLd" = (/obj/structure/bookcase{name = "bookcase (Non-Fiction)"},/turf/simulated/floor/wood,/area/library)
"bLe" = (/obj/structure/bookcase{name = "bookcase (Fiction)"},/turf/simulated/floor/wood,/area/library)
"bLf" = (/obj/structure/table/wood,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/wood,/area/library)
@@ -4752,7 +4752,7 @@
"bNt" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; id_tag = "n2o_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine/n20,/area/atmos)
"bNu" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters/preopen{id = "kitchen"; name = "Serving Hatch"},/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen)
"bNv" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutralcorner"},/area/bridge/meeting_room{name = "\improper Command Hallway"})
-"bNw" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock{icon = 'icons/obj/doors/airlocks/station/silver.dmi'; name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
+"bNw" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock{icon = 'icons/obj/doors/Doorsilver.dmi'; name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
"bNx" = (/turf/simulated/floor/engine/n20,/area/atmos)
"bNy" = (/obj/structure/sign/atmosplaque{desc = "A guide to the exhibit, detailing the constructive and destructive applications of modern mech appliances, as well as the development of the uncorruptable cyborg servants of tomorrow, available today."; icon_state = "kiddieplaque"; name = "\improper 'Perfect Machine' sign"; pixel_x = 0; pixel_y = 32},/obj/structure/showcase{desc = "This cyborg looks frighteningly robust, with cold unseeing eyes. Signs praise the incorruptible nature of synthetics."; dir = 2; icon = 'icons/mob/robots.dmi'; icon_state = "Security"; name = "'Perfect Machine' cyborg exhibit"; pixel_y = 3},/obj/structure/window/reinforced,/turf/simulated/floor/carpet,/area/assembly/showroom{name = "\improper Corporate Showroom"})
"bNz" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel,/area/atmos)
@@ -4816,7 +4816,7 @@
"bOF" = (/obj/machinery/bluespace_beacon,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/teleporter{name = "\improper Teleporter Room"})
"bOG" = (/obj/structure/grille,/obj/structure/window/fulltile,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/medical/surgery)
"bOH" = (/turf/simulated/wall/r_wall,/area/assembly/showroom{name = "\improper Corporate Showroom"})
-"bOI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi'; name = "Corporate Showroom"; req_access_txt = "19"},/turf/simulated/floor/wood,/area/assembly/showroom{name = "\improper Corporate Showroom"})
+"bOI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{icon = 'icons/obj/doors/Doorele.dmi'; name = "Corporate Showroom"; req_access_txt = "19"},/turf/simulated/floor/wood,/area/assembly/showroom{name = "\improper Corporate Showroom"})
"bOJ" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent/roomfiller{valve_open = 1},/turf/simulated/floor/engine/n20,/area/atmos)
"bOK" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/gateway)
"bOL" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/gateway)
@@ -4865,7 +4865,7 @@
"bPC" = (/obj/machinery/telecomms/hub/preset,/turf/simulated/floor/bluegrid{icon_state = "gcircuit"; name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server)
"bPD" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/telecomms/server/presets/science,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server)
"bPE" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/telecomms/server/presets/medical,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server)
-"bPF" = (/obj/machinery/chem_dispenser{layer = 2.7},/obj/machinery/door_control{id = "chemistry_shutters"; name = "chemistry shutters control"; pixel_x = 24; pixel_y = 24; req_access_txt = "5; 33"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteyellowfull"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry)
+"bPF" = (/obj/machinery/chem_dispenser{layer = 2.7},/obj/machinery/button/door{id = "chemistry_shutters"; name = "chemistry shutters control"; pixel_x = 24; pixel_y = 24; req_access_txt = "5; 33"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteyellowfull"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry)
"bPG" = (/obj/machinery/camera{c_tag = "Arrivals - Aft Arm - Far"; dir = 1; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/hallway/secondary/entry{name = "Arrivals"})
"bPH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/hallway/secondary/entry{name = "Arrivals"})
"bPI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/hallway/secondary/entry{name = "Arrivals"})
@@ -4944,16 +4944,16 @@
"bRd" = (/obj/structure/rack,/obj/item/weapon/tank/internals/oxygen,/obj/item/weapon/tank/internals/oxygen,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = 27; pixel_y = 0},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"})
"bRe" = (/obj/machinery/atmospherics/pipe/simple/green/visible,/obj/machinery/door/window/northleft{dir = 8; icon_state = "left"; name = "Inner Pipe Access"; req_access_txt = "24"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/atmos)
"bRf" = (/obj/machinery/alarm/server{dir = 4; pixel_x = -22; pixel_y = 0},/obj/machinery/light/small{dir = 8},/obj/machinery/camera{c_tag = "Telecoms - Server Room - Aft-Port"; dir = 4; network = list("SS13","tcomm")},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server)
-"bRg" = (/obj/structure/stool/bed/chair/office/light{dir = 1; pixel_y = 3},/obj/machinery/door_control{id = "research_shutters"; name = "research shutters control"; pixel_x = 28; pixel_y = 0; req_access_txt = "7"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whitepurple"; tag = "icon-whitehall (WEST)"},/area/toxins/lab)
+"bRg" = (/obj/structure/stool/bed/chair/office/light{dir = 1; pixel_y = 3},/obj/machinery/button/door{id = "research_shutters"; name = "research shutters control"; pixel_x = 28; pixel_y = 0; req_access_txt = "7"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whitepurple"; tag = "icon-whitehall (WEST)"},/area/toxins/lab)
"bRh" = (/obj/structure/sign/map/right{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-right-MS"; pixel_y = 32},/obj/structure/table/glass,/obj/item/device/radio/off,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"})
-"bRi" = (/obj/machinery/chem_master{layer = 2.7; pixel_x = -2},/obj/structure/noticeboard{desc = "A board for pinning important notices upon. Probably helpful for keeping track of requests."; dir = 1; name = "requests board"; pixel_x = 0; pixel_y = -32},/obj/machinery/door_control{id = "chemistry_shutters_2"; name = "chemistry shutters control"; pixel_x = 26; pixel_y = -26; req_access_txt = "5; 33"},/turf/simulated/floor/plasteel{dir = 6; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry)
-"bRj" = (/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/power/apc{dir = 2; name = "Research Lab APC"; pixel_x = 0; pixel_y = -26},/obj/structure/cable/yellow,/obj/structure/table,/obj/machinery/door_control{id = "research_shutters_2"; name = "research shutters control"; pixel_x = -26; pixel_y = -26; req_access_txt = "7"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/toxins/lab)
+"bRi" = (/obj/machinery/chem_master{layer = 2.7; pixel_x = -2},/obj/structure/noticeboard{desc = "A board for pinning important notices upon. Probably helpful for keeping track of requests."; dir = 1; name = "requests board"; pixel_x = 0; pixel_y = -32},/obj/machinery/button/door{id = "chemistry_shutters_2"; name = "chemistry shutters control"; pixel_x = 26; pixel_y = -26; req_access_txt = "5; 33"},/turf/simulated/floor/plasteel{dir = 6; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry)
+"bRj" = (/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/power/apc{dir = 2; name = "Research Lab APC"; pixel_x = 0; pixel_y = -26},/obj/structure/cable/yellow,/obj/structure/table,/obj/machinery/button/door{id = "research_shutters_2"; name = "research shutters control"; pixel_x = -26; pixel_y = -26; req_access_txt = "7"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/toxins/lab)
"bRk" = (/obj/machinery/door/airlock/external{name = "Auxiliary Airlock"},/turf/simulated/floor/plating,/area/hallway/secondary/entry{name = "Arrivals"})
"bRl" = (/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{tag = "icon-platingdmg2"; icon_state = "platingdmg2"},/area/maintenance/maintcentral{name = "Central Maintenance"})
"bRm" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;27"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"bRn" = (/obj/structure/table/wood,/obj/item/weapon/paper,/turf/simulated/floor/wood,/area/security/vacantoffice)
"bRo" = (/obj/structure/table/wood,/obj/item/weapon/folder/white,/turf/simulated/floor/wood,/area/security/vacantoffice)
-"bRp" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/airlocks/station/maintenance.dmi'; name = "Theatre Backstage"; req_access_txt = "46"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/theatre)
+"bRp" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Doormaint.dmi'; name = "Theatre Backstage"; req_access_txt = "46"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/theatre)
"bRq" = (/obj/structure/table,/obj/item/clothing/mask/cigarette/pipe,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"bRr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"bRs" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel{icon_state = "redfull"},/area/atmos)
@@ -5057,7 +5057,7 @@
"bTm" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva{name = "E.V.A. Storage"})
"bTn" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/robot_parts/chest{name = "cyborg torso"; pixel_x = -2; pixel_y = 2},/obj/item/robot_parts/head{name = "cyborg head"; pixel_x = 3; pixel_y = 2},/obj/structure/table/wood,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/carpet,/area/assembly/showroom{name = "\improper Corporate Showroom"})
"bTo" = (/obj/structure/table/wood,/obj/item/toy/carpplushie{color = "red"; name = "NanoTrasen wildlife department space carp plushie"},/turf/simulated/floor/carpet,/area/assembly/showroom{name = "\improper Corporate Showroom"})
-"bTp" = (/obj/structure/table/wood,/obj/machinery/door_control{id = "corporate_privacy"; name = "corporate showroom shutters control"; pixel_x = 28; pixel_y = 0; req_access_txt = "19"},/obj/item/weapon/contraband/poster/legit,/obj/item/weapon/contraband/poster/legit,/obj/item/weapon/contraband/poster/legit,/obj/item/weapon/contraband/poster/legit,/obj/item/weapon/contraband/poster/legit,/obj/item/device/paicard{desc = "A real NanoTrasen success, these personal AIs provide all of the companionship of an AI without any law related red-tape."; name = "NanoTrasen-brand personal AI device exhibit"},/turf/simulated/floor/carpet,/area/assembly/showroom{name = "\improper Corporate Showroom"})
+"bTp" = (/obj/structure/table/wood,/obj/machinery/button/door{id = "corporate_privacy"; name = "corporate showroom shutters control"; pixel_x = 28; pixel_y = 0; req_access_txt = "19"},/obj/item/weapon/contraband/poster/legit,/obj/item/weapon/contraband/poster/legit,/obj/item/weapon/contraband/poster/legit,/obj/item/weapon/contraband/poster/legit,/obj/item/weapon/contraband/poster/legit,/obj/item/device/paicard{desc = "A real NanoTrasen success, these personal AIs provide all of the companionship of an AI without any law related red-tape."; name = "NanoTrasen-brand personal AI device exhibit"},/turf/simulated/floor/carpet,/area/assembly/showroom{name = "\improper Corporate Showroom"})
"bTq" = (/obj/structure/cable/yellow,/obj/machinery/shieldwallgen,/turf/simulated/floor/plasteel{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/teleporter{name = "\improper Teleporter Room"})
"bTr" = (/obj/item/weapon/reagent_containers/food/drinks/bottle/tequila,/obj/structure/table/wood,/turf/simulated/floor/wood,/area/maintenance/aft{name = "Aft Maintenance"})
"bTs" = (/obj/structure/sign/nosmoking_2,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/atmos)
@@ -5074,7 +5074,7 @@
"bTD" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/gateway)
"bTE" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 2; initialize_directions = 11},/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/gateway)
"bTF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/gateway)
-"bTG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/airlocks/station/command.dmi'; name = "Gateway Chamber"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel,/area/gateway)
+"bTG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{icon = 'icons/obj/doors/Doorcomglass.dmi'; name = "Gateway Chamber"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel,/area/gateway)
"bTH" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/gateway)
"bTI" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel,/area/gateway)
"bTJ" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/gateway)
@@ -5146,7 +5146,7 @@
"bUX" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/storage/box/matches{pixel_x = -2; pixel_y = 3},/obj/item/clothing/mask/cigarette/cigar{name = "premium cigar"; pixel_x = 4; pixel_y = 1},/obj/item/clothing/mask/cigarette/cigar{name = "premium cigar"; pixel_x = -4; pixel_y = 1},/obj/item/clothing/mask/cigarette/cigar/cohiba{name = "cohiba robusto cigar"},/obj/structure/table/wood,/turf/simulated/floor/carpet,/area/assembly/showroom{name = "\improper Corporate Showroom"})
"bUY" = (/obj/item/weapon/book/manual/wiki/security_space_law{name = "space law"; pixel_y = 2},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/item/toy/gun{name = "cap gun"},/obj/item/weapon/restraints/handcuffs{name = "handcuffs"},/obj/structure/table/wood,/obj/item/clothing/head/collectable/HoS{name = "novelty HoS hat"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/carpet,/area/assembly/showroom{name = "\improper Corporate Showroom"})
"bUZ" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 4; initialize_directions = 11},/obj/machinery/meter,/obj/item/weapon/wrench,/turf/simulated/floor/plasteel,/area/atmos)
-"bVa" = (/obj/item/weapon/storage/belt/utility,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/structure/rack{dir = 8; layer = 2.9},/obj/machinery/door_control{id = "gateshutter"; name = "Gateway Shutter Control"; pixel_x = 0; pixel_y = -26; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/gateway)
+"bVa" = (/obj/item/weapon/storage/belt/utility,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/structure/rack{dir = 8; layer = 2.9},/obj/machinery/button/door{id = "gateshutter"; name = "Gateway Shutter Control"; pixel_x = 0; pixel_y = -26; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/gateway)
"bVb" = (/obj/structure/table,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/mask/surgical,/obj/item/clothing/suit/apron/surgical,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitehall"; tag = "icon-whitehall (WEST)"},/area/medical/surgery)
"bVc" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/gateway)
"bVd" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/camera{c_tag = "Gateway - Access"; dir = 8; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/gateway)
@@ -5154,12 +5154,12 @@
"bVf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central)
"bVg" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/machinery/power/apc{dir = 2; name = "Kitchen APC"; pixel_y = -24},/obj/structure/cable/yellow,/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
"bVh" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
-"bVi" = (/obj/structure/table,/obj/item/stack/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/door_control{id = "kitchenhydro"; name = "Service Shutter Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "28"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen)
+"bVi" = (/obj/structure/table,/obj/item/stack/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/button/door{id = "kitchenhydro"; name = "Service Shutter Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "28"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen)
"bVj" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/obj/item/device/radio/intercom{pixel_y = -25},/obj/item/weapon/kitchen/rollingpin,/obj/machinery/camera{c_tag = "Kitchen"; dir = 1; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
"bVk" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen)
"bVl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen)
"bVm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen)
-"bVn" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/airlocks/station/silver.dmi'; name = "Kitchen Cold Room"; req_access_txt = "28"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
+"bVn" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Doorsilver.dmi'; name = "Kitchen Cold Room"; req_access_txt = "28"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
"bVo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
"bVp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera{c_tag = "Kitchen - Coldroom"; dir = 1; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
"bVq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light_switch{pixel_y = -26},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/crew_quarters/kitchen)
@@ -5174,7 +5174,7 @@
"bVz" = (/obj/structure/closet/wardrobe/atmospherics_yellow,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/atmos)
"bVA" = (/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 4; name = "Atmos RC"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/shower{dir = 8; icon_state = "shower"; name = "emergency shower"; tag = "icon-shower (WEST)"},/turf/simulated/floor/plasteel,/area/atmos)
"bVB" = (/obj/machinery/atmospherics/components/binary/pump{dir = 0; name = "Port to Filter"; on = 0},/obj/machinery/light/small{dir = 8},/obj/machinery/camera{c_tag = "Atmospherics - Starboard"; dir = 4; network = list("SS13")},/turf/simulated/floor/plasteel,/area/atmos)
-"bVC" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{id = "evashutter"; name = "E.V.A. Storage Shutter"},/obj/machinery/door_control{id = "evashutter"; name = "E.V.A. Storage Shutter Control"; pixel_x = 30; pixel_y = 0; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/ai_monitored/storage/eva{name = "E.V.A. Storage"})
+"bVC" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{id = "evashutter"; name = "E.V.A. Storage Shutter"},/obj/machinery/button/door{id = "evashutter"; name = "E.V.A. Storage Shutter Control"; pixel_x = 30; pixel_y = 0; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/ai_monitored/storage/eva{name = "E.V.A. Storage"})
"bVD" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/gateway)
"bVE" = (/obj/machinery/atmospherics/components/unary/outlet_injector/on{dir = 8; frequency = 1441; id = "tox_in"; pixel_y = 1},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos)
"bVF" = (/obj/item/weapon/storage/secure/safe{pixel_x = 32; pixel_y = 0},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/crew_quarters/hor)
@@ -5199,15 +5199,15 @@
"bVY" = (/obj/machinery/door/poddoor/shutters{id = "teleshutter"; name = "Teleporter Access Shutter"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/teleporter{name = "\improper Teleporter Room"})
"bVZ" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{name = "Research and Development Lab"; req_access_txt = "7"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitepurplefull"; tag = "icon-whitehall (WEST)"},/area/toxins/lab)
"bWa" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitepurple"},/area/toxins/explab)
-"bWb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi'; name = "Corporate Showroom"; req_access_txt = "19"},/turf/simulated/floor/wood,/area/assembly/showroom{name = "\improper Corporate Showroom"})
+"bWb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{icon = 'icons/obj/doors/Doorele.dmi'; name = "Corporate Showroom"; req_access_txt = "19"},/turf/simulated/floor/wood,/area/assembly/showroom{name = "\improper Corporate Showroom"})
"bWc" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters/preopen{id = "kitchen"; name = "Serving Hatch"},/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen)
-"bWd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi'; name = "Corporate Showroom"; req_access_txt = "19"},/turf/simulated/floor/wood,/area/assembly/showroom{name = "\improper Corporate Showroom"})
+"bWd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{icon = 'icons/obj/doors/Doorele.dmi'; name = "Corporate Showroom"; req_access_txt = "19"},/turf/simulated/floor/wood,/area/assembly/showroom{name = "\improper Corporate Showroom"})
"bWe" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{id = "gateshutter"; name = "Gateway Access Shutter"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/gateway)
"bWf" = (/obj/machinery/atmospherics/components/unary/heat_reservoir/heater{dir = 8; tag = ""},/turf/simulated/floor/plasteel,/area/atmos)
"bWg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central)
"bWh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "greencorner"},/area/hallway/primary/central)
"bWi" = (/turf/simulated/wall,/area/hydroponics)
-"bWj" = (/obj/machinery/door/poddoor/shutters/preopen{id = "kitchenhydro"; name = "Service Shutter"},/obj/machinery/door/airlock/glass_medical{icon = 'icons/obj/doors/airlocks/station2/glass.dmi'; id_tag = ""; name = "Service Door"; req_access_txt = "0"; req_one_access_txt = "35;28"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/hydroponics)
+"bWj" = (/obj/machinery/door/poddoor/shutters/preopen{id = "kitchenhydro"; name = "Service Shutter"},/obj/machinery/door/airlock/glass_medical{icon = 'icons/obj/doors/Doorglass.dmi'; id_tag = ""; name = "Service Door"; req_access_txt = "0"; req_one_access_txt = "35;28"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/hydroponics)
"bWk" = (/obj/structure/table/reinforced,/obj/machinery/door/window/eastleft{dir = 1; name = "Kitchen Window"; req_access_txt = "28"; req_one_access_txt = "0"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/weapon/paper,/obj/machinery/door/window/eastleft{dir = 2; name = "Hydroponics Window"; req_access_txt = "0"; req_one_access_txt = "30;35"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/hydroponics)
"bWl" = (/obj/machinery/smartfridge,/turf/simulated/wall,/area/hydroponics)
"bWm" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8; initialize_directions = 11},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/crew_quarters/kitchen)
@@ -5222,10 +5222,10 @@
"bWv" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboard)
"bWw" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Kitchen"},/obj/structure/plasticflaps{opacity = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/crew_quarters/kitchen)
"bWx" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/atmos)
-"bWy" = (/obj/machinery/door/poddoor/shutters{id = "teleshutter"; name = "Teleporter Access Shutter"},/obj/machinery/door_control{id = "teleshutter"; name = "Teleporter Shutter Control"; pixel_x = 30; pixel_y = 5; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/teleporter{name = "\improper Teleporter Room"})
+"bWy" = (/obj/machinery/door/poddoor/shutters{id = "teleshutter"; name = "Teleporter Access Shutter"},/obj/machinery/button/door{id = "teleshutter"; name = "Teleporter Shutter Control"; pixel_x = 30; pixel_y = 5; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/teleporter{name = "\improper Teleporter Room"})
"bWz" = (/obj/machinery/pipedispenser,/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/atmos)
"bWA" = (/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = 28},/obj/machinery/pipedispenser/disposal/transit_tube,/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"; tag = "icon-warnwhite (NORTHEAST)"},/area/atmos)
-"bWB" = (/obj/machinery/door_control{id = "xeno_blastdoor"; name = "Secure Lab Shutter Control"; pixel_x = -5; pixel_y = -5; req_access_txt = "47"},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "rdprivacy"; name = "Privacy Shutters Control"; pixel_x = 5; pixel_y = 5},/obj/machinery/door_control{id = "Biohazard"; name = "Entrance Shutter Control"; pixel_x = -5; pixel_y = 5; req_access_txt = "47"},/obj/machinery/door_control{id = "toxins_blastdoor"; name = "Toxins Shutter Control"; pixel_x = 5; pixel_y = -5; req_access_txt = "47"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor)
+"bWB" = (/obj/machinery/button/door{id = "xeno_blastdoor"; name = "Secure Lab Shutter Control"; pixel_x = -5; pixel_y = -5; req_access_txt = "47"},/obj/structure/table/reinforced,/obj/machinery/button/door{id = "rdprivacy"; name = "Privacy Shutters Control"; pixel_x = 5; pixel_y = 5},/obj/machinery/button/door{id = "Biohazard"; name = "Entrance Shutter Control"; pixel_x = -5; pixel_y = 5; req_access_txt = "47"},/obj/machinery/button/door{id = "toxins_blastdoor"; name = "Toxins Shutter Control"; pixel_x = 5; pixel_y = -5; req_access_txt = "47"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor)
"bWC" = (/turf/simulated/wall,/area/maintenance/portsolar)
"bWD" = (/obj/machinery/door/airlock/engineering{name = "Aft Port Solar Access"; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/portsolar)
"bWE" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/portsolar)
@@ -5264,7 +5264,7 @@
"bXl" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1; initialize_directions = 11},/obj/structure/sign/map/left{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-left-MS"; pixel_y = 32},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central)
"bXm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/sign/map/right{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-right-MS"; pixel_y = 32},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central)
"bXn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central)
-"bXo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door_control{id = "gateshutter"; name = "Gateway Shutter Control"; pixel_x = 0; pixel_y = 26; req_access_txt = "19"},/turf/simulated/floor/plasteel{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/hallway/primary/central)
+"bXo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/button/door{id = "gateshutter"; name = "Gateway Shutter Control"; pixel_x = 0; pixel_y = 26; req_access_txt = "19"},/turf/simulated/floor/plasteel{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/hallway/primary/central)
"bXp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/primary/central)
"bXq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central)
"bXr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central)
@@ -5357,7 +5357,7 @@
"bZa" = (/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos)
"bZb" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "co2_sensor"},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos)
"bZc" = (/obj/machinery/computer/card/minor/rd,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor)
-"bZd" = (/obj/machinery/light{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/door_control{id = "genetics_shutters"; name = "genetics shutters control"; pixel_x = 28; pixel_y = 0; req_access_txt = "9"},/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 4},/area/medical/genetics)
+"bZd" = (/obj/machinery/light{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/button/door{id = "genetics_shutters"; name = "genetics shutters control"; pixel_x = 28; pixel_y = 0; req_access_txt = "9"},/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 4},/area/medical/genetics)
"bZe" = (/obj/item/weapon/paper_bin{pixel_x = 0; pixel_y = 7},/obj/item/weapon/pen,/obj/structure/table,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor)
"bZf" = (/obj/structure/stool,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/camera{c_tag = "Aft Port Solar Maintenance"; dir = 4; network = list("SS13")},/turf/simulated/floor/plating,/area/maintenance/portsolar)
"bZg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plating,/area/maintenance/portsolar)
@@ -5436,11 +5436,11 @@
"caB" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/cable,/obj/structure/lattice/catwalk,/turf/space,/area/solar/port)
"caC" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos)
"caD" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos)
-"caE" = (/obj/structure/filingcabinet/chestdrawer{pixel_x = -2; pixel_y = 2},/obj/machinery/door_control{id = "robotics_shutters"; name = "robotics shutters control"; pixel_x = -26; pixel_y = 26; req_access_txt = "29"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/assembly/robotics)
+"caE" = (/obj/structure/filingcabinet/chestdrawer{pixel_x = -2; pixel_y = 2},/obj/machinery/button/door{id = "robotics_shutters"; name = "robotics shutters control"; pixel_x = -26; pixel_y = 26; req_access_txt = "29"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/assembly/robotics)
"caF" = (/obj/machinery/power/solar_control{id = "aftport"; name = "Aft Port Solar Control"; track = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/portsolar)
"caG" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/portsolar)
"caH" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar)
-"caI" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/door_control{id = "kitchen"; name = "Kitchen Shutters Control"; pixel_x = -4; pixel_y = 26; req_access_txt = "28"},/obj/machinery/light_switch{pixel_x = 6; pixel_y = 26},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
+"caI" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/button/door{id = "kitchen"; name = "Kitchen Shutters Control"; pixel_x = -4; pixel_y = 26; req_access_txt = "28"},/obj/machinery/light_switch{pixel_x = 6; pixel_y = 26},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
"caJ" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"caK" = (/obj/structure/closet,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"caL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{tag = "icon-panelscorched"; icon_state = "panelscorched"},/area/maintenance/aft{name = "Aft Maintenance"})
@@ -5599,7 +5599,7 @@
"cdI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"cdJ" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"})
"cdK" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/flora/kirbyplants{icon_state = "plant-10"; layer = 4.1; tag = "icon-plant-10"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "purplecorner"},/area/hallway/primary/central)
-"cdL" = (/obj/structure/table,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/airlock_electronics,/obj/item/device/assembly/timer{pixel_x = -4; pixel_y = 2},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"})
+"cdL" = (/obj/structure/table,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/electronics/airlock,/obj/item/device/assembly/timer{pixel_x = -4; pixel_y = 2},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"})
"cdM" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/pen,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light/small{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera{c_tag = "Research Division - Lobby"; dir = 2; network = list("SS13","RD")},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"})
"cdN" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/light_switch{pixel_x = -27; pixel_y = 6},/obj/machinery/newscaster/security_unit{pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/security/checkpoint/science{name = "Security Post - Research Division"})
"cdO" = (/obj/structure/rack,/obj/item/weapon/tank/internals/anesthetic,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
@@ -5608,7 +5608,7 @@
"cdR" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hallway/primary/central)
"cdS" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hallway/primary/central)
"cdT" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hallway/primary/central)
-"cdU" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{icon = 'icons/obj/doors/airlocks/station2/glass.dmi'; id_tag = ""; name = "Hydroponics"; req_access_txt = "35"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics)
+"cdU" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{icon = 'icons/obj/doors/Doorglass.dmi'; id_tag = ""; name = "Hydroponics"; req_access_txt = "35"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics)
"cdV" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 10; icon_state = "green"},/area/hydroponics)
"cdW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "green"; dir = 6},/area/hydroponics)
"cdX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 10; icon_state = "green"},/area/hydroponics)
@@ -5664,7 +5664,7 @@
"ceV" = (/obj/machinery/hologram/holopad,/obj/effect/landmark/start{name = "Medical Doctor"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay2{name = "Medbay Storage"})
"ceW" = (/obj/structure/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/obj/item/weapon/storage/box/lights/mixed,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/starboard)
"ceX" = (/obj/machinery/computer/secure_data,/obj/machinery/computer/security/telescreen{desc = "Used for monitoring medbay to ensure patient safety."; dir = 1; name = "Medbay Monitor"; network = list("Medbay"); pixel_x = 0; pixel_y = -29},/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27; pixel_y = -10},/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/checkpoint/medical)
-"ceY" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 24; pixel_y = -24},/obj/effect/landmark/start/depsec/medical,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 6},/area/security/checkpoint/medical)
+"ceY" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 24; pixel_y = -24},/obj/effect/landmark/start/depsec/medical,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 6},/area/security/checkpoint/medical)
"ceZ" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable/yellow,/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/door/poddoor/preopen{id = "rdprivacy"; name = "privacy shutter"},/turf/simulated/floor/plating,/area/crew_quarters/hor)
"cfa" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay{name = "Medbay Central"})
"cfb" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay{name = "Medbay Central"})
@@ -5777,7 +5777,7 @@
"che" = (/obj/structure/sign/nosmoking_2{pixel_x = -28},/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4; name = "input gas connector port"},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/incinerator)
"chf" = (/obj/machinery/atmospherics/components/binary/pump{dir = 4; name = "input port pump"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/incinerator)
"chg" = (/obj/structure/closet/wardrobe/virology_white,/obj/item/weapon/storage/backpack/satchel_vir,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/firealarm{dir = 8; pixel_x = -26; pixel_y = 0},/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/medical/virology)
-"chh" = (/obj/item/candle,/obj/machinery/light_switch{pixel_x = 6; pixel_y = 25},/obj/effect/decal/cleanable/cobweb2,/obj/structure/table/wood,/obj/machinery/door_control{id = "chapel_shutters"; name = "chapel shutters control"; pixel_x = -6; pixel_y = 25; req_access_txt = "0"},/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/chapel/main)
+"chh" = (/obj/item/candle,/obj/machinery/light_switch{pixel_x = 6; pixel_y = 25},/obj/effect/decal/cleanable/cobweb2,/obj/structure/table/wood,/obj/machinery/button/door{id = "chapel_shutters"; name = "chapel shutters control"; pixel_x = -6; pixel_y = 25; req_access_txt = "0"},/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/chapel/main)
"chi" = (/obj/structure/grille,/obj/structure/window/fulltile,/obj/machinery/door/poddoor/shutters/preopen{id = "chapel_shutters"; name = "chapel shutters"},/turf/simulated/floor/plating,/area/chapel/main)
"chj" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/shutters/preopen{id = "chapel_shutters_parlour"; name = "chapel shutters"},/turf/simulated/floor/plating,/area/chapel/main)
"chk" = (/obj/item/weapon/storage/box/bodybags{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/rxglasses{pixel_x = 1; pixel_y = 1},/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/glass,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitebluecorner"},/area/medical/medbay2{name = "Medbay Storage"})
@@ -5807,7 +5807,7 @@
"chI" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4; initialize_directions = 11},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay2{name = "Medbay Storage"})
"chJ" = (/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = 2},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/sign/nosmoking_2{pixel_y = 32},/obj/structure/table/glass,/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/medical/genetics)
"chK" = (/obj/structure/sink{dir = 8; icon_state = "sink"; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 2; on = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -26; pixel_y = 28},/obj/machinery/light{dir = 1},/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 9; icon_state = "whiteblue"},/area/medical/medbay{name = "Medbay Central"})
-"chL" = (/obj/structure/stool/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Medical Doctor"},/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 24; pixel_y = 24},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whiteblue"},/area/medical/medbay{name = "Medbay Central"})
+"chL" = (/obj/structure/stool/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Medical Doctor"},/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 24; pixel_y = 24},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whiteblue"},/area/medical/medbay{name = "Medbay Central"})
"chM" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/atmos)
"chN" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/medical/medbay{name = "Medbay Central"})
"chO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/medical/medbay{name = "Medbay Central"})
@@ -5845,7 +5845,7 @@
"ciu" = (/obj/machinery/door/airlock/maintenance{name = "Storage Room"; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/starboard)
"civ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/starboard)
"ciw" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay{name = "Medbay Central"})
-"cix" = (/obj/machinery/light/small,/obj/machinery/door_control{id = "chapel_shutters_space"; name = "chapel shutters control"; pixel_x = -6; pixel_y = -25; req_access_txt = "0"},/obj/machinery/light_switch{pixel_x = 6; pixel_y = -25},/turf/simulated/floor/plasteel{dir = 1; icon_state = "chapel"},/area/chapel/main)
+"cix" = (/obj/machinery/light/small,/obj/machinery/button/door{id = "chapel_shutters_space"; name = "chapel shutters control"; pixel_x = -6; pixel_y = -25; req_access_txt = "0"},/obj/machinery/light_switch{pixel_x = 6; pixel_y = -25},/turf/simulated/floor/plasteel{dir = 1; icon_state = "chapel"},/area/chapel/main)
"ciy" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/turf/simulated/wall/r_wall,/area/maintenance/incinerator)
"ciz" = (/turf/simulated/wall/r_wall,/area/maintenance/incinerator)
"ciA" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 2},/turf/simulated/wall/r_wall,/area/maintenance/incinerator)
@@ -5907,7 +5907,7 @@
"cjE" = (/turf/simulated/floor/plating{tag = "icon-platingdmg2"; icon_state = "platingdmg2"},/area/maintenance/aft{name = "Aft Maintenance"})
"cjF" = (/obj/machinery/light,/obj/structure/stool/bed/roller,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/medical/medbay{name = "Medbay Central"})
"cjG" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 26; pixel_y = -26},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteyellow"},/area/medical/medbay{name = "Medbay Central"})
-"cjH" = (/obj/machinery/light/small,/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/obj/machinery/door_control{id = "chapel_shutters_parlour"; name = "chapel shutters control"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"},/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/chapel/main)
+"cjH" = (/obj/machinery/light/small,/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/obj/machinery/button/door{id = "chapel_shutters_parlour"; name = "chapel shutters control"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"},/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/chapel/main)
"cjI" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/general/visible,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/incinerator)
"cjJ" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/incinerator)
"cjK" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/incinerator)
@@ -5959,8 +5959,8 @@
"ckE" = (/obj/structure/noticeboard{desc = "A board for pinning important notices upon."; name = "notice board"; pixel_x = 0; pixel_y = 31},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/toxins/lab)
"ckF" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/toxins/lab)
"ckG" = (/obj/machinery/power/apc{dir = 8; name = "Incinerator APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/incinerator)
-"ckH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{glass = 0; icon = 'icons/obj/doors/airlocks/station/research.dmi'; id_tag = "ResearchFoyer"; name = "Research Division"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/medical/research{name = "Research Division"})
-"ckI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{glass = 0; icon = 'icons/obj/doors/airlocks/station/research.dmi'; id_tag = ""; name = "Research Division"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/medical/research{name = "Research Division"})
+"ckH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{glass = 0; icon = 'icons/obj/doors/Doorresearch.dmi'; id_tag = "ResearchFoyer"; name = "Research Division"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/medical/research{name = "Research Division"})
+"ckI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{glass = 0; icon = 'icons/obj/doors/Doorresearch.dmi'; id_tag = ""; name = "Research Division"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/medical/research{name = "Research Division"})
"ckJ" = (/turf/simulated/wall/r_wall,/area/security/checkpoint/science{name = "Security Post - Research Division"})
"ckK" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Security Post - Research Division"; req_access_txt = "63"},/turf/simulated/floor/plasteel{icon_state = "redfull"},/area/security/checkpoint/science{name = "Security Post - Research Division"})
"ckL" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;47"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
@@ -6005,7 +6005,7 @@
"cly" = (/obj/machinery/power/apc{dir = 1; name = "Medbay Central APC"; pixel_y = 24},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/camera{c_tag = "Medbay Hallway Fore"; dir = 2; network = list("SS13","Medbay")},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitebluecorner"},/area/medical/medbay{name = "Medbay Central"})
"clz" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 2},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/medical/medbay{name = "Medbay Central"})
"clA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitebluecorner"},/area/medical/medbay{name = "Medbay Central"})
-"clB" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Exit Button"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 26},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitebluecorner"},/area/medical/medbay{name = "Medbay Central"})
+"clB" = (/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Exit Button"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 26},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitebluecorner"},/area/medical/medbay{name = "Medbay Central"})
"clC" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/medical/medbay{name = "Medbay Central"})
"clD" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8; initialize_directions = 11},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/medical/medbay{name = "Medbay Central"})
"clE" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Chemistry Lab"; req_access_txt = "5; 33"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry)
@@ -6120,7 +6120,7 @@
"cnM" = (/obj/machinery/doorButtons/access_button{idDoor = "virology_airlock_exterior"; idSelf = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 0; pixel_y = 24; req_access_txt = "39"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/virology{autoclose = 0; frequency = 1449; icon_state = "door_locked"; id_tag = "virology_airlock_exterior"; locked = 1; name = "Virology Exterior Airlock"; req_access_txt = "39"},/turf/simulated/floor/plasteel{icon_state = "whitegreenfull"},/area/medical/virology)
"cnN" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/virology{name = "Virology Access"; req_access_txt = "39"},/turf/simulated/floor/plasteel{icon_state = "whitegreenfull"},/area/medical/medbay3{name = "Medbay Aft"})
"cnO" = (/obj/structure/grille,/obj/structure/window/fulltile,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1; initialize_directions = 11},/turf/simulated/floor/plating,/area/medical/virology)
-"cnP" = (/obj/machinery/doorButtons/airlock_controller{idExterior = "incinerator_airlock_exterior"; idInterior = "incinerator_airlock_interior"; idSelf = "incinerator_access_control"; name = "Incinerator Access Console"; pixel_x = 8; pixel_y = -24; req_access_txt = "12"},/obj/machinery/ignition_switch{id = "Incinerator"; pixel_x = 8; pixel_y = -36},/obj/machinery/computer/security/telescreen{desc = "Used for watching the turbine vent."; dir = 8; name = "turbine vent monitor"; network = list("Turbine"); pixel_x = 29; pixel_y = 0},/obj/machinery/door_control{id = "turbinevent"; name = "Turbine Vent Control"; pixel_x = -8; pixel_y = -36; req_access_txt = "12"},/obj/structure/stool{pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/machinery/door_control{id = "auxincineratorvent"; name = "Auxiliary Vent Control"; pixel_x = -8; pixel_y = -24; req_access_txt = "12"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/incinerator)
+"cnP" = (/obj/machinery/doorButtons/airlock_controller{idExterior = "incinerator_airlock_exterior"; idInterior = "incinerator_airlock_interior"; idSelf = "incinerator_access_control"; name = "Incinerator Access Console"; pixel_x = 8; pixel_y = -24; req_access_txt = "12"},/obj/machinery/button/ignition{id = "Incinerator"; pixel_x = 8; pixel_y = -36},/obj/machinery/computer/security/telescreen{desc = "Used for watching the turbine vent."; dir = 8; name = "turbine vent monitor"; network = list("Turbine"); pixel_x = 29; pixel_y = 0},/obj/machinery/button/door{id = "turbinevent"; name = "Turbine Vent Control"; pixel_x = -8; pixel_y = -36; req_access_txt = "12"},/obj/structure/stool{pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/machinery/button/door{id = "auxincineratorvent"; name = "Auxiliary Vent Control"; pixel_x = -8; pixel_y = -24; req_access_txt = "12"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/incinerator)
"cnQ" = (/obj/machinery/power/compressor{comp_id = "incineratorturbine"; dir = 1; luminosity = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator)
"cnR" = (/obj/machinery/atmospherics/components/unary/vent_pump/high_volume{dir = 1; external_pressure_bound = 0; frequency = 1443; icon_state = "in"; id_tag = "air_out"; internal_pressure_bound = 2000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos)
"cnS" = (/obj/machinery/air_sensor{frequency = 1443; id_tag = "air_sensor"; output = 7},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos)
@@ -6236,10 +6236,10 @@
"cpY" = (/obj/machinery/r_n_d/destructive_analyzer,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/toxins/lab)
"cpZ" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitepurple"},/area/toxins/lab)
"cqa" = (/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/clothing/glasses/welding,/obj/structure/table,/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/toxins/lab)
-"cqb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{glass = 0; icon = 'icons/obj/doors/airlocks/station/research.dmi'; id_tag = ""; name = "Research Division"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/medical/research{name = "Research Division"})
+"cqb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{glass = 0; icon = 'icons/obj/doors/Doorresearch.dmi'; id_tag = ""; name = "Research Division"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/medical/research{name = "Research Division"})
"cqc" = (/obj/machinery/door/window/westleft{dir = 2; name = "Research Division Deliveries"; req_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/maintenance/aft{name = "Aft Maintenance"})
"cqd" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/toxins/explab)
-"cqe" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_medical{glass = 0; icon = 'icons/obj/doors/airlocks/station/research.dmi'; id_tag = ""; name = "Research Break Room"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"})
+"cqe" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_medical{glass = 0; icon = 'icons/obj/doors/Doorresearch.dmi'; id_tag = ""; name = "Research Break Room"; opacity = 1; req_access_txt = "0"; req_one_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"})
"cqf" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/window/reinforced/tinted{dir = 5; health = 120; icon_state = "twindow"; reinf = 0},/turf/simulated/floor/plating,/area/medical/research{name = "Research Division"})
"cqg" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/incinerator)
"cqh" = (/obj/item/candle,/obj/machinery/light_switch{pixel_x = -27},/obj/effect/decal/cleanable/cobweb,/obj/structure/table/wood,/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/chapel/main)
@@ -6324,7 +6324,7 @@
"crI" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"crJ" = (/obj/structure/cable,/obj/structure/lattice/catwalk,/turf/space,/area/solar/starboard)
"crK" = (/obj/machinery/door/airlock/maintenance{name = "Chemistry Lab Maintenance"; req_access_txt = "5; 33"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plating,/area/medical/chemistry)
-"crL" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/obj/machinery/driver_button{id = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = -4; pixel_y = -26},/obj/structure/table/wood,/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/chapel/main)
+"crL" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/obj/machinery/button/massdriver{id = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = -4; pixel_y = -26},/obj/structure/table/wood,/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/chapel/main)
"crM" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space)
"crN" = (/obj/item/weapon/storage/firstaid/regular{pixel_x = 3; pixel_y = -3},/obj/item/weapon/storage/firstaid/brute{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/brute,/obj/item/weapon/storage/firstaid/brute{pixel_x = -3; pixel_y = -3},/obj/machinery/power/apc{dir = 2; name = "Medbay Storage APC"; pixel_y = -24},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/light_switch{pixel_x = -26; pixel_y = 0},/obj/machinery/light/small,/obj/structure/table/glass,/turf/simulated/floor/plasteel{dir = 10; icon_state = "whiteblue"},/area/medical/medbay2{name = "Medbay Storage"})
"crO" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "aftstarboard"; name = "Aft-Starboard Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/starboard)
@@ -6430,7 +6430,7 @@
"ctK" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 6},/obj/item/weapon/pen,/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/toxins/explab)
"ctL" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/book/manual/experimentor,/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/toxins/explab)
"ctM" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 6},/turf/simulated/floor/plasteel{icon_state = "purplefull"},/area/hallway/primary/aft)
-"ctN" = (/obj/machinery/door_control{id = "telelab"; name = "Test Chamber Blast Doors"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine{pixel_x = 7; pixel_y = 2},/obj/item/weapon/reagent_containers/glass/bottle/charcoal{pixel_x = -2; pixel_y = -1},/obj/item/weapon/reagent_containers/dropper,/obj/item/stack/medical/bruise_pack{pixel_x = -2; pixel_y = 6},/obj/item/stack/medical/ointment,/obj/item/device/healthanalyzer,/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/toxins/explab)
+"ctN" = (/obj/machinery/button/door{id = "telelab"; name = "Test Chamber Blast Doors"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine{pixel_x = 7; pixel_y = 2},/obj/item/weapon/reagent_containers/glass/bottle/charcoal{pixel_x = -2; pixel_y = -1},/obj/item/weapon/reagent_containers/dropper,/obj/item/stack/medical/bruise_pack{pixel_x = -2; pixel_y = 6},/obj/item/stack/medical/ointment,/obj/item/device/healthanalyzer,/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/toxins/explab)
"ctO" = (/obj/machinery/chem_heater,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"ctP" = (/obj/machinery/atmospherics/components/unary/cryo_cell,/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/medical/cryo)
"ctQ" = (/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/machinery/door/window/eastleft{dir = 1; name = "Research and Development Deliveries"; req_access_txt = "7"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/toxins/lab)
@@ -6612,7 +6612,7 @@
"cxp" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cxq" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/clothing/tie/stethoscope,/obj/machinery/light/small{dir = 8},/obj/machinery/power/apc{dir = 8; name = "Patient Room A APC"; pixel_x = -26; pixel_y = 0},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/medical/patients_rooms{name = "Patient Room A"})
"cxr" = (/obj/structure/stool/bed/chair/office/light{dir = 8},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/patients_rooms{name = "Patient Room A"})
-"cxs" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/door_control{id = "isola"; name = "Privacy Shutters"; pixel_y = -25},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteblue"},/area/medical/patients_rooms{name = "Patient Room A"})
+"cxs" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/button/door{id = "isola"; name = "Privacy Shutters"; pixel_y = -25},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteblue"},/area/medical/patients_rooms{name = "Patient Room A"})
"cxt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/aft{name = "Aft Maintenance"})
"cxu" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitebluecorner"},/area/medical/medbay{name = "Medbay Central"})
"cxv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay{name = "Medbay Central"})
@@ -6733,7 +6733,7 @@
"czG" = (/obj/machinery/chem_heater{pixel_x = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry)
"czH" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/assembly/chargebay)
"czI" = (/obj/structure/grille,/obj/structure/window/fulltile,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/poddoor/preopen{id = "isolb"; name = "privacy shutters"},/turf/simulated/floor/plating,/area/medical/exam_room{name = "Patient Room B"})
-"czJ" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/door_control{id = "isolb"; name = "Privacy Shutters"; pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteblue"},/area/medical/exam_room{name = "Patient Room B"})
+"czJ" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/button/door{id = "isolb"; name = "Privacy Shutters"; pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteblue"},/area/medical/exam_room{name = "Patient Room B"})
"czK" = (/obj/item/clothing/glasses/science{pixel_x = 2; pixel_y = 4},/obj/item/clothing/glasses/science,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/table/glass,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/machinery/camera{c_tag = "Chemistry"; dir = 4; network = list("SS13","Medbay")},/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{dir = 10; icon_state = "whiteyellow"},/area/medical/chemistry)
"czL" = (/obj/machinery/computer/mech_bay_power_console,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/bluegrid{icon_state = "gcircuit"},/area/assembly/chargebay)
"czM" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 31},/turf/simulated/floor/mech_bay_recharge_floor,/area/assembly/chargebay)
@@ -6820,7 +6820,7 @@
"cBp" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/light_switch{pixel_x = 26; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery)
"cBq" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light_switch{pixel_x = 0; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/medical/cryo)
"cBr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"cBs" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/keycard_auth{pixel_x = 26; pixel_y = -7},/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/machinery/door_control{id = "cmoprivacy"; name = "Privacy Shutters Control"; pixel_x = 26; pixel_y = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/medical/cmo)
+"cBs" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/keycard_auth{pixel_x = 26; pixel_y = -7},/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/machinery/button/door{id = "cmoprivacy"; name = "Privacy Shutters Control"; pixel_x = 26; pixel_y = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/medical/cmo)
"cBt" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 4; on = 1; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"cBu" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4; initialize_directions = 11},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"cBv" = (/obj/structure/sign/biohazard,/turf/simulated/wall,/area/toxins/mixing{name = "\improper Toxins Lab"})
@@ -6846,7 +6846,7 @@
"cBQ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry)
"cBR" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay3{name = "Medbay Aft"})
"cBS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/sign/nosmoking_2{pixel_x = 28},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitebluecorner"},/area/medical/medbay3{name = "Medbay Aft"})
-"cBT" = (/obj/machinery/door_control{desc = "A remote control switch for the cloning door."; id = "CloningDoor"; name = "Cloning Exit Button"; normaldoorcontrol = 1; pixel_x = -23; pixel_y = 8},/turf/simulated/floor/plasteel{dir = 10; icon_state = "whiteblue"},/area/medical/genetics_cloning)
+"cBT" = (/obj/machinery/button/door{desc = "A remote control switch for the cloning door."; id = "CloningDoor"; name = "Cloning Exit Button"; normaldoorcontrol = 1; pixel_x = -23; pixel_y = 8},/turf/simulated/floor/plasteel{dir = 10; icon_state = "whiteblue"},/area/medical/genetics_cloning)
"cBU" = (/obj/effect/landmark/start{name = "Geneticist"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/medical/genetics_cloning)
"cBV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/machinery/power/apc{dir = 4; name = "Cloning Lab APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable/yellow,/obj/machinery/camera{c_tag = "Genetics Cloning Lab"; dir = 8; network = list("SS13","Medbay")},/turf/simulated/floor/plasteel{dir = 6; icon_state = "whiteblue"},/area/medical/genetics_cloning)
"cBW" = (/turf/simulated/floor/plasteel{dir = 10; icon_state = "whiteblue"},/area/medical/genetics)
@@ -6859,8 +6859,8 @@
"cCd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -26},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/hallway/primary/aft)
"cCe" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/aft)
"cCf" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access_txt = "8"},/obj/machinery/door/poddoor/shutters/preopen{id = "toxins_blastdoor"; name = "biohazard containment shutters"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/toxins/storage)
-"cCg" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4; initialize_directions = 11},/obj/machinery/door_control{dir = 2; id = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = 26; pixel_y = 6; req_one_access_txt = "29"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/aft)
-"cCh" = (/obj/machinery/door_control{dir = 2; id = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = -26; pixel_y = 6},/obj/machinery/light_switch{pixel_x = -23; pixel_y = -2},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/assembly/chargebay)
+"cCg" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4; initialize_directions = 11},/obj/machinery/button/door{dir = 2; id = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = 26; pixel_y = 6; req_one_access_txt = "29"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/aft)
+"cCh" = (/obj/machinery/button/door{dir = 2; id = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = -26; pixel_y = 6},/obj/machinery/light_switch{pixel_x = -23; pixel_y = -2},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/assembly/chargebay)
"cCi" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"cCj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"})
"cCk" = (/obj/item/device/healthanalyzer{pixel_x = 1; pixel_y = 4},/obj/structure/sign/nosmoking_2{pixel_x = 0; pixel_y = -30},/obj/structure/table/glass,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitehall"},/area/medical/medbay3{name = "Medbay Aft"})
@@ -6973,7 +6973,7 @@
"cEo" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/toxins/mixing{name = "\improper Toxins Lab"})
"cEp" = (/turf/simulated/floor/plasteel{icon_state = "warning"},/area/toxins/mixing{name = "\improper Toxins Lab"})
"cEq" = (/obj/machinery/light/small,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/toxins/mixing{name = "\improper Toxins Lab"})
-"cEr" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/driver_button{dir = 2; id = "toxinsdriver"; pixel_x = 24; pixel_y = -24},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; dir = 8; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins"); pixel_x = 30; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/toxins/mixing{name = "\improper Toxins Lab"})
+"cEr" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/button/massdriver{dir = 2; id = "toxinsdriver"; pixel_x = 24; pixel_y = -24},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; dir = 8; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins"); pixel_x = 30; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/toxins/mixing{name = "\improper Toxins Lab"})
"cEs" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/closet/crate,/obj/item/clothing/gloves/color/fyellow,/obj/item/weapon/wrench,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cEt" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'BOMB RANGE"; name = "BOMB RANGE"},/turf/simulated/wall,/area/toxins/test_area)
"cEu" = (/obj/machinery/door/airlock/maintenance{name = "Research Testing Range Maintenance"; req_access_txt = "0"; req_one_access_txt = "7;47;29"},/turf/simulated/floor/plating,/area/toxins/misc_lab{name = "\improper Research Testing Range"})
@@ -7202,7 +7202,7 @@
"cIU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{dir = 10; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
"cIV" = (/obj/machinery/sparker{dir = 2; id = "mixingsparker"; pixel_x = 25},/obj/machinery/atmospherics/components/unary/outlet_injector/on{dir = 4; frequency = 1443; id = "air_in"},/turf/simulated/floor/engine/vacuum,/area/toxins/mixing{name = "\improper Toxins Lab"})
"cIW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/atmospherics/components/binary/pump{dir = 8; on = 1},/turf/simulated/floor/engine,/area/toxins/mixing{name = "\improper Toxins Lab"})
-"cIX" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/meter,/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/ignition_switch{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhitecorner"},/area/toxins/mixing{name = "\improper Toxins Lab"})
+"cIX" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/meter,/obj/machinery/button/door{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/button/ignition{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhitecorner"},/area/toxins/mixing{name = "\improper Toxins Lab"})
"cIY" = (/obj/machinery/atmospherics/components/binary/valve{dir = 4; name = "manual inlet valve"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/mixing{name = "\improper Toxins Lab"})
"cIZ" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/toxins/mixing{name = "\improper Toxins Lab"})
"cJa" = (/obj/structure/reagent_dispensers/watertank,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
@@ -7438,8 +7438,8 @@
"cND" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology)
"cNE" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitegreen"},/area/medical/virology)
"cNF" = (/turf/simulated/wall,/area/chapel/office)
-"cNG" = (/obj/machinery/door/airlock/centcom{icon = 'icons/obj/doors/airlocks/station/maintenance.dmi'; layer = 2.7; name = "Crematorium Maintenance"; opacity = 1; req_access_txt = "27"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
-"cNH" = (/obj/machinery/door/airlock/centcom{icon = 'icons/obj/doors/airlocks/station/maintenance.dmi'; name = "Chapel Office Maintenance"; opacity = 1; req_access_txt = "27"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
+"cNG" = (/obj/machinery/door/airlock/centcom{icon = 'icons/obj/doors/Doormaint.dmi'; layer = 2.7; name = "Crematorium Maintenance"; opacity = 1; req_access_txt = "27"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
+"cNH" = (/obj/machinery/door/airlock/centcom{icon = 'icons/obj/doors/Doormaint.dmi'; name = "Chapel Office Maintenance"; opacity = 1; req_access_txt = "27"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cNI" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cNJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"cNK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
@@ -7515,7 +7515,7 @@
"cPc" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cPd" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/structure/table/glass,/obj/item/stack/sheet/mineral/plasma{layer = 2.9; pixel_y = 4},/obj/item/stack/sheet/mineral/plasma{layer = 2.9; pixel_y = 4},/obj/item/stack/sheet/mineral/plasma{layer = 2.9; pixel_y = 4},/obj/item/stack/sheet/mineral/plasma{layer = 2.9; pixel_y = 4},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = 2},/obj/item/weapon/reagent_containers/glass/beaker/large{pixel_x = -3; pixel_y = 3},/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitepurplefull"; tag = "icon-whitehall (WEST)"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cPe" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 7},/obj/item/weapon/storage/box/syringes{pixel_y = 5},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitepurplefull"; tag = "icon-whitehall (WEST)"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
-"cPf" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/crema_switch{pixel_x = -25},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office)
+"cPf" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/button/crematorium{pixel_x = -25},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office)
"cPg" = (/obj/machinery/light/small{dir = 4},/obj/effect/landmark/start{name = "Chaplain"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office)
"cPh" = (/obj/machinery/chem_master{pixel_x = -2; pixel_y = 1},/obj/structure/noticeboard{pixel_y = 30},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitepurplefull"; tag = "icon-whitehall (WEST)"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cPi" = (/obj/structure/stool/bed/chair,/obj/effect/landmark/start{name = "Chaplain"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office)
@@ -7745,7 +7745,7 @@
"cTy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/hallway/secondary/exit{name = "\improper Departure Lounge"})
"cTz" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/hallway/secondary/exit{name = "\improper Departure Lounge"})
"cTA" = (/obj/structure/sign/vacuum{pixel_x = 32},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/hallway/secondary/exit{name = "\improper Departure Lounge"})
-"cTB" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio8"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
+"cTB" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio8"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cTC" = (/turf/simulated/floor/engine,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cTD" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen #1"; req_access_txt = "55"},/obj/machinery/door/poddoor/preopen{id = "xenobio3"; name = "containment blast door"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/engine,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cTE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
@@ -7762,7 +7762,7 @@
"cTP" = (/mob/living/simple_animal/slime,/turf/simulated/floor/engine,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cTQ" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable/yellow,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/door/poddoor/preopen{id = "xenobio3"; name = "containment blast door"},/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cTR" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warnwhitecorner"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
-"cTS" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
+"cTS" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cTT" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{tag = "icon-warnwhitecorner"; icon_state = "warnwhitecorner"; dir = 2},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cTU" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cTV" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/structure/cable/yellow,/obj/machinery/door/poddoor/preopen{id = "xenobio8"; name = "containment blast door"},/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
@@ -7782,14 +7782,14 @@
"cUl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhitecorner"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cUm" = (/turf/simulated/floor/plasteel{tag = "icon-warnwhitecorner (WEST)"; icon_state = "warnwhitecorner"; dir = 8},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cUn" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/door/poddoor/preopen{id = "xenobio7"; name = "containment blast door"},/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
-"cUo" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio7"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
+"cUo" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio7"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cUp" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen #3"; req_access_txt = "55"},/obj/machinery/door/poddoor/preopen{id = "xenobio2"; name = "containment blast door"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/engine,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cUq" = (/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen #3"; req_access_txt = "55"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cUr" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cUs" = (/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen #4"; req_access_txt = "55"},/obj/machinery/door/poddoor/preopen{id = "xenobio7"; name = "containment blast door"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/engine,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cUt" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen #4"; req_access_txt = "55"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cUu" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable/yellow,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/door/poddoor/preopen{id = "xenobio2"; name = "containment blast door"},/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
-"cUv" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
+"cUv" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cUw" = (/obj/machinery/hydroponics/soil{pixel_y = 8},/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/chapel/main)
"cUx" = (/obj/machinery/door/morgue{name = "Chapel Garden"; req_access_txt = "0"},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/chapel/main)
"cUy" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{tag = "icon-warnwhitecorner"; icon_state = "warnwhitecorner"; dir = 2},/area/toxins/xenobiology{name = "\improper Secure Lab"})
@@ -7802,8 +7802,8 @@
"cUF" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cUG" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/door/poddoor/preopen{id = "xenobio1"; name = "containment blast door"},/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cUH" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhitecorner"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
-"cUI" = (/obj/machinery/light{dir = 1},/obj/machinery/door_control{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = -24; pixel_y = 24; req_access_txt = "55"},/turf/simulated/floor/plasteel{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/xenobiology{name = "\improper Secure Lab"})
-"cUJ" = (/obj/structure/window/reinforced,/obj/machinery/door_control{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 24; pixel_y = 24; req_access_txt = "55"},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/bin,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
+"cUI" = (/obj/machinery/light{dir = 1},/obj/machinery/button/door{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = -24; pixel_y = 24; req_access_txt = "55"},/turf/simulated/floor/plasteel{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/xenobiology{name = "\improper Secure Lab"})
+"cUJ" = (/obj/structure/window/reinforced,/obj/machinery/button/door{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 24; pixel_y = 24; req_access_txt = "55"},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/bin,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cUK" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/engine,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cUL" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/door/poddoor/preopen{id = "xenobio6"; name = "containment blast door"},/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cUM" = (/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen #5"; req_access_txt = "55"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
@@ -7832,15 +7832,15 @@
"cVj" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cVk" = (/obj/structure/closet,/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cVl" = (/obj/item/weapon/crowbar/red,/obj/item/weapon/wrench,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
-"cVm" = (/obj/machinery/door/airlock/command{icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi'; name = "Test Chamber Maintenance"; req_access_txt = "47"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
-"cVn" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/structure/window/reinforced{dir = 4},/obj/machinery/ignition_switch{id = "Xenobio"; pixel_x = -6; pixel_y = -2},/obj/machinery/door_control{id = "Xenolab"; name = "Test Chamber Blast Doors"; pixel_x = 4; pixel_y = -2; req_access_txt = "55"},/obj/structure/table/reinforced,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
+"cVm" = (/obj/machinery/door/airlock/command{icon = 'icons/obj/doors/Doorele.dmi'; name = "Test Chamber Maintenance"; req_access_txt = "47"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
+"cVn" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/structure/window/reinforced{dir = 4},/obj/machinery/button/ignition{id = "Xenobio"; pixel_x = -6; pixel_y = -2},/obj/machinery/button/door{id = "Xenolab"; name = "Test Chamber Blast Doors"; pixel_x = 4; pixel_y = -2; req_access_txt = "55"},/obj/structure/table/reinforced,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cVo" = (/obj/machinery/computer/security/telescreen{dir = 1; name = "Test Chamber Monitor"; network = list("Xeno"); pixel_x = 0; pixel_y = 2},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cVp" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 2},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cVq" = (/obj/machinery/door/window/southleft{dir = 1; name = "Maximum Security Test Chamber"; req_access_txt = "55"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cVr" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cVs" = (/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/structure/table,/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cVt" = (/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
-"cVu" = (/obj/machinery/door/airlock/command{icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi'; name = "Test Chamber Maintenance"; req_access_txt = "47"},/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
+"cVu" = (/obj/machinery/door/airlock/command{icon = 'icons/obj/doors/Doorele.dmi'; name = "Test Chamber Maintenance"; req_access_txt = "47"},/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cVv" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cVw" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cVx" = (/obj/machinery/shieldwallgen{req_access = list(55)},/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
@@ -7899,7 +7899,7 @@
"cWy" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/engine{dir = 1; icon_state = "warning"},/area/toxins/misc_lab{name = "\improper Research Testing Range"})
"cWz" = (/obj/structure/table,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/item/clothing/glasses/science,/turf/simulated/floor/engine{dir = 10; icon_state = "warning"},/area/toxins/misc_lab{name = "\improper Research Testing Range"})
"cWA" = (/obj/item/weapon/gun/energy/laser/practice,/obj/machinery/power/apc{dir = 2; name = "Research Firing Range APC"; pixel_x = 0; pixel_y = -28},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable/yellow,/turf/simulated/floor/engine{dir = 6; icon_state = "warning"},/area/toxins/misc_lab{name = "\improper Research Testing Range"})
-"cWB" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door_control{id = "researchrangeshutters"; name = "Blast Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "0"},/obj/machinery/light,/turf/simulated/floor/engine{icon_state = "warning"},/area/toxins/misc_lab{name = "\improper Research Testing Range"})
+"cWB" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/button/door{id = "researchrangeshutters"; name = "Blast Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "0"},/obj/machinery/light,/turf/simulated/floor/engine{icon_state = "warning"},/area/toxins/misc_lab{name = "\improper Research Testing Range"})
"cWC" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/virology{name = "Break Room"; req_access_txt = "39"},/turf/simulated/floor/plasteel{icon_state = "whitegreenfull"},/area/medical/virology)
"cWD" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=10-Aft-To-Central"; location = "9.4-Escape-4"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit{name = "\improper Departure Lounge"})
"cWE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=9.2-Escape-2"; location = "9.1-Escape-1"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit{name = "\improper Departure Lounge"})
diff --git a/_maps/map_files/MetaStation/z2.dmm b/_maps/map_files/MetaStation/z2.dmm
index aa97037e1fa..8ae31fd23ca 100644
--- a/_maps/map_files/MetaStation/z2.dmm
+++ b/_maps/map_files/MetaStation/z2.dmm
@@ -1317,14 +1317,14 @@
/turf/simulated/floor/light,
/area/centcom/ferry)
"dX" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
dir = 2;
id = "QMLoaddoor2";
name = "Loading Doors";
pixel_x = 24;
pixel_y = 8
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "QMLoaddoor";
name = "Loading Doors";
pixel_x = 24;
@@ -2157,7 +2157,7 @@
},
/area/shuttle/escape)
"fU" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "adminshut";
name = "Administrative Shutter-Control";
pixel_y = 26
@@ -3148,7 +3148,7 @@
/turf/simulated/floor/plasteel/black,
/area/centcom/control)
"ip" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
desc = "A remote control switch for port-side blast doors.";
icon_state = "doorctrl0";
id = "CentComPort";
@@ -3282,7 +3282,7 @@
/area/shuttle/syndicate)
"iK" = (
/obj/structure/table,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "syndieshutters";
name = "remote shutter control";
req_access_txt = "150"
@@ -3752,7 +3752,7 @@
/turf/simulated/floor/plasteel/shuttle,
/area/shuttle/escape)
"kb" = (
-/obj/machinery/flasher_button{
+/obj/machinery/button/flasher{
id = "emshuttlebridgeflash";
name = "cockpit flasher button";
pixel_y = 24;
@@ -4071,7 +4071,7 @@
/obj/structure/stool/bed/chair{
dir = 1
},
-/obj/machinery/flasher_button{
+/obj/machinery/button/flasher{
id = "emshuttleflash";
name = "brig flasher button";
pixel_y = -23;
@@ -4814,7 +4814,7 @@
},
/area/wizard_station)
"mT" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "nukeop_ready";
name = "mission launch control";
pixel_x = -26;
@@ -4931,7 +4931,7 @@
id = "smindicate";
name = "outer blast door"
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "smindicate";
name = "external door control";
pixel_x = -26;
@@ -6100,7 +6100,7 @@
/turf/simulated/floor/plasteel/redyellow,
/area/tdome/tdomeadmin)
"qq" = (
-/obj/machinery/flasher_button{
+/obj/machinery/button/flasher{
id = "tdomeflash";
pixel_x = 0;
pixel_y = 0
@@ -6191,7 +6191,7 @@
/area/wizard_station)
"qF" = (
/obj/structure/table,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "thunderdomehea";
name = "Heavy Supply Control";
pixel_y = 0;
@@ -6204,7 +6204,7 @@
/area/centcom/holding)
"qH" = (
/obj/structure/table,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "thunderdomegen";
name = "General Supply Control";
pixel_y = 0;
@@ -6214,7 +6214,7 @@
/area/tdome/tdomeadmin)
"qI" = (
/obj/structure/table,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "thunderdome";
name = "Main Blast Doors Control";
pixel_y = 0;
diff --git a/_maps/map_files/MetaStation/z3.dmm b/_maps/map_files/MetaStation/z3.dmm
index eeefbc9fdec..a7f00b9686f 100644
--- a/_maps/map_files/MetaStation/z3.dmm
+++ b/_maps/map_files/MetaStation/z3.dmm
@@ -130,7 +130,7 @@
"cz" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
"cA" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
"cB" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
-"cC" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
+"cC" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/electronics/airlock,/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
"cD" = (/obj/structure/door_assembly/door_assembly_hatch,/turf/simulated/floor/plasteel/airless,/area/tcommsat/chamber)
"cE" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel/airless,/area/tcommsat/chamber)
"cF" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel/airless,/area/tcommsat/chamber)
@@ -253,7 +253,7 @@
"eS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/AIsattele)
"eT" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/plating/airless,/area/AIsattele)
"eU" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating/airless,/area/AIsattele)
-"eV" = (/obj/item/weapon/shard,/obj/item/weapon/module/power_control,/turf/simulated/floor/plating/airless,/area/AIsattele)
+"eV" = (/obj/item/weapon/shard,/obj/item/weapon/electronics/apc,/turf/simulated/floor/plating/airless,/area/AIsattele)
"eW" = (/obj/structure/closet,/turf/simulated/floor/plating/airless,/area/AIsattele)
"eX" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/plating/airless,/area/AIsattele)
"eY" = (/obj/structure/closet/crate,/obj/item/device/aicard,/obj/item/device/multitool,/obj/item/weapon/weldingtool,/obj/item/weapon/wrench,/obj/item/weapon/circuitboard/teleporter,/turf/simulated/floor/plating/airless,/area/AIsattele)
diff --git a/_maps/map_files/MetaStation/z4.dmm b/_maps/map_files/MetaStation/z4.dmm
index 25055ff8d75..0289d8b49a4 100644
--- a/_maps/map_files/MetaStation/z4.dmm
+++ b/_maps/map_files/MetaStation/z4.dmm
@@ -178,7 +178,7 @@
"dv" = (/obj/structure/rack,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"dw" = (/obj/structure/rack,/obj/item/clothing/head/helmet/swat,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"dx" = (/obj/structure/rack,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
-"dy" = (/obj/structure/rack,/obj/item/weapon/module/power_control,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
+"dy" = (/obj/structure/rack,/obj/item/weapon/electronics/apc,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"dz" = (/obj/structure/rack,/obj/item/weapon/circuitboard/smes,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"dA" = (/obj/structure/rack,/obj/item/weapon/stock_parts/capacitor,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"dB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
@@ -207,7 +207,7 @@
"dY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/gravity_generator)
"dZ" = (/turf/simulated/floor/plating,/area/derelict/bridge/access)
"ea" = (/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/space)
-"eb" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/item/apc_frame,/turf/simulated/floor/plating,/area/derelict/gravity_generator)
+"eb" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/item/wallframe/apc,/turf/simulated/floor/plating,/area/derelict/gravity_generator)
"ec" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/derelict/gravity_generator)
"ed" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/derelict/gravity_generator)
"ee" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor/plating,/area/derelict/gravity_generator)
@@ -739,7 +739,7 @@
"op" = (/obj/machinery/power/smes,/obj/structure/cable,/turf/simulated/floor/plasteel/airless,/area/derelict/se_solar)
"oq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel/airless,/area/derelict/se_solar)
"or" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged4"},/area/derelict/se_solar)
-"os" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plasteel/airless,/area/derelict/se_solar)
+"os" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/electronics/apc,/obj/item/weapon/electronics/apc,/obj/item/weapon/electronics/apc,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/turf/simulated/floor/plasteel/airless,/area/derelict/se_solar)
"ot" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_painter,/turf/simulated/floor/plasteel/airless,/area/derelict/se_solar)
"ou" = (/obj/docking_port/stationary{dheight = 0; dir = 2; dwidth = 11; height = 15; id = "whiteship_z4"; name = "KC13: Space, Station-Aft"; width = 27},/turf/space,/area/space)
"ov" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plasteel/airless,/area/derelict/se_solar)
diff --git a/_maps/map_files/MetaStation/z5.dmm b/_maps/map_files/MetaStation/z5.dmm
index cdf705c78b4..14cc548b3a3 100644
--- a/_maps/map_files/MetaStation/z5.dmm
+++ b/_maps/map_files/MetaStation/z5.dmm
@@ -269,7 +269,7 @@
"fi" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
"fj" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
"fk" = (/obj/machinery/door/airlock/glass_security{name = "Labor Camp Shuttle Security Airlock"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
-"fl" = (/obj/machinery/light/small{dir = 1},/obj/machinery/door_control{id = "Labor"; name = "Labor Camp Lockdown"; pixel_x = 0; pixel_y = 28; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
+"fl" = (/obj/machinery/light/small{dir = 1},/obj/machinery/button/door{id = "Labor"; name = "Labor Camp Lockdown"; pixel_x = 0; pixel_y = 28; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"fm" = (/obj/machinery/door/poddoor/preopen{id = "Labor"; name = "labor camp blast door"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"fn" = (/turf/simulated/floor/plasteel,/area/mine/laborcamp)
"fo" = (/obj/machinery/mineral/processing_unit_console{machinedir = 6},/turf/simulated/wall,/area/mine/laborcamp)
@@ -330,7 +330,7 @@
"gr" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall/r_wall,/area/mine/laborcamp/security)
"gs" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
"gt" = (/obj/structure/stool/bed/chair/office/dark,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
-"gu" = (/obj/machinery/door_control{id = "Labor"; name = "Labor Camp Lockdown"; pixel_x = 28; pixel_y = 7; req_access_txt = "2"},/obj/machinery/flasher_button{id = "Labor"; pixel_x = 26; pixel_y = -3},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
+"gu" = (/obj/machinery/button/door{id = "Labor"; name = "Labor Camp Lockdown"; pixel_x = 28; pixel_y = 7; req_access_txt = "2"},/obj/machinery/button/flasher{id = "Labor"; pixel_x = 26; pixel_y = -3},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
"gv" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/mine/laborcamp/security)
"gw" = (/turf/simulated/floor/plating,/area/mine/laborcamp/security)
"gx" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating,/area/mine/laborcamp/security)
@@ -387,7 +387,7 @@
"hw" = (/obj/machinery/door/airlock/maintenance{name = "Mining Station Communications"; req_access_txt = "48"},/obj/machinery/atmospherics/pipe/simple,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "vault"},/area/mine/maintenance)
"hx" = (/obj/item/clothing/under/rank/miner,/obj/effect/decal/remains/human,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
"hy" = (/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris,/turf/simulated/floor/plasteel/airless{icon_state = "asteroidfloor"},/area/mine/explored)
-"hz" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
+"hz" = (/obj/machinery/light/small{dir = 4},/obj/machinery/button/door{id = "miningdorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
"hA" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/carpet,/area/mine/living_quarters)
"hB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plasteel,/area/mine/living_quarters)
"hC" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/obj/machinery/light,/turf/space,/area/mine/west_outpost)
@@ -397,7 +397,7 @@
"hG" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
"hH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel,/area/mine/living_quarters)
"hI" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral/random,/area/mine/unexplored)
-"hJ" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
+"hJ" = (/obj/machinery/light/small{dir = 4},/obj/machinery/button/door{id = "miningdorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
"hK" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/mine/living_quarters)
"hL" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/west_outpost)
"hM" = (/obj/machinery/door/airlock{id_tag = "miningdorm2"; name = "Room 2"},/turf/simulated/floor/plasteel,/area/mine/living_quarters)
@@ -413,7 +413,7 @@
"hW" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters)
"hX" = (/obj/machinery/vending/cigarette,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters)
"hY" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters)
-"hZ" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
+"hZ" = (/obj/machinery/light/small{dir = 4},/obj/machinery/button/door{id = "miningdorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
"ia" = (/obj/structure/table,/obj/item/weapon/pickaxe,/turf/simulated/floor/plasteel,/area/mine/west_outpost)
"ib" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/plasteel,/area/mine/west_outpost)
"ic" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor/plasteel,/area/mine/west_outpost)
diff --git a/_maps/map_files/MiniStation/MiniStation.dmm b/_maps/map_files/MiniStation/MiniStation.dmm
index 726e2e7e595..7ec490939e4 100644
--- a/_maps/map_files/MiniStation/MiniStation.dmm
+++ b/_maps/map_files/MiniStation/MiniStation.dmm
@@ -40,7 +40,7 @@
"aN" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel,/area/bridge)
"aO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/bridge)
"aP" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/secure/briefcase,/obj/item/device/flash,/obj/item/device/flash,/turf/simulated/floor/plasteel,/area/bridge)
-"aQ" = (/obj/structure/stool/bed/chair/comfy/black{dir = 2},/obj/effect/landmark/start{name = "Captain"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door_control{id = "bridge blast"; name = "Bridge Blast Door Control"; pixel_x = 29; pixel_y = 6; req_access_txt = "19"},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; listening = 1; name = "Common Channel"; pixel_y = 28},/turf/simulated/floor/plasteel,/area/bridge)
+"aQ" = (/obj/structure/stool/bed/chair/comfy/black{dir = 2},/obj/effect/landmark/start{name = "Captain"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/button/door{id = "bridge blast"; name = "Bridge Blast Door Control"; pixel_x = 29; pixel_y = 6; req_access_txt = "19"},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; listening = 1; name = "Common Channel"; pixel_y = 28},/turf/simulated/floor/plasteel,/area/bridge)
"aR" = (/obj/structure/table/reinforced,/obj/item/weapon/card/id/captains_spare,/turf/simulated/floor/plasteel,/area/bridge)
"aS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/bridge)
"aT" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plasteel,/area/bridge)
@@ -119,7 +119,7 @@
"co" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced,/obj/machinery/camera/autoname,/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/medical/research{name = "Research Division"})
"cp" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"cq" = (/obj/machinery/door/poddoor/preopen{id = "xenobio8"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/simulated/floor/engine,/area/medical/research{name = "Research Division"})
-"cr" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio8"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/medical/research{name = "Research Division"})
+"cr" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio8"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/medical/research{name = "Research Division"})
"cs" = (/turf/simulated/floor/engine,/area/medical/research{name = "Research Division"})
"ct" = (/obj/structure/plasticflaps,/obj/machinery/conveyor{dir = 1; id = "mining_internal"},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
"cu" = (/obj/machinery/mineral/processing_unit_console{layer = 3; machinedir = 1; pixel_y = 0},/turf/simulated/wall,/area/quartermaster/storage)
@@ -164,7 +164,7 @@
"dh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/closet{name = "Contraband Locker"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/security/brig)
"di" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/security/brig)
"dj" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/head/helmet/riot,/obj/item/clothing/head/helmet/riot,/obj/item/clothing/head/helmet/riot,/obj/machinery/atmospherics/components/unary/vent_pump{dir = 8; on = 1},/obj/item/weapon/shield/riot,/obj/item/weapon/shield/riot,/obj/item/weapon/shield/riot,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/brig)
-"dk" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/medical/research{name = "Research Division"})
+"dk" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/medical/research{name = "Research Division"})
"dl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor/preopen{id = "xenobio8"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/simulated/floor/engine,/area/medical/research{name = "Research Division"})
"dm" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/medical/research{name = "Research Division"})
"dn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/brig)
@@ -269,7 +269,7 @@
"fi" = (/obj/structure/closet/secure_closet/brig{id = "Cell 2"; name = "Cell 2 Locker"},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel,/area/security/brig)
"fj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plasteel,/area/hallway/primary/central)
"fk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/hallway/primary/central)
-"fl" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/medical/research{name = "Research Division"})
+"fl" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/medical/research{name = "Research Division"})
"fm" = (/obj/machinery/door/firedoor,/obj/machinery/door/window/brigdoor{dir = 4; id = "Cell 1"; name = "Cell 1"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/brig)
"fn" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/brig)
"fo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/security/brig)
@@ -330,7 +330,7 @@
"gr" = (/obj/machinery/newscaster{pixel_y = 32},/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"gs" = (/obj/structure/closet/wardrobe/science_white,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"gt" = (/obj/structure/sign/biohazard,/turf/simulated/wall,/area/medical/research{name = "Research Division"})
-"gu" = (/obj/machinery/door_control{dir = 2; id = "rnd"; name = "Shutters Control Button"; pixel_x = -24; pixel_y = -6},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; listening = 1; name = "Common Channel"; pixel_x = -27; pixel_y = 3},/turf/simulated/floor/plasteel{icon_state = "whitepurple"; dir = 8},/area/medical/research{name = "Research Division"})
+"gu" = (/obj/machinery/button/door{dir = 2; id = "rnd"; name = "Shutters Control Button"; pixel_x = -24; pixel_y = -6},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; listening = 1; name = "Common Channel"; pixel_x = -27; pixel_y = 3},/turf/simulated/floor/plasteel{icon_state = "whitepurple"; dir = 8},/area/medical/research{name = "Research Division"})
"gv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/medical/research{name = "Research Division"})
"gw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/medical/research{name = "Research Division"})
"gx" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 2; external_pressure_bound = 120; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 32},/turf/simulated/floor/bluegrid,/area/medical/research{name = "Research Division"})
@@ -554,7 +554,7 @@
"kH" = (/obj/machinery/light,/turf/simulated/floor/plasteel{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
"kI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"kJ" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/medical/research{name = "Research Division"})
-"kK" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins"); pixel_x = 32; pixel_y = 0},/obj/machinery/driver_button{dir = 2; id = "toxinsdriver"; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/medical/research{name = "Research Division"})
+"kK" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins"); pixel_x = 32; pixel_y = 0},/obj/machinery/button/massdriver{dir = 2; id = "toxinsdriver"; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/medical/research{name = "Research Division"})
"kL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/spawner/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/medbay)
"kM" = (/obj/machinery/newscaster{pixel_y = 32},/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{icon_state = "escape"; dir = 9},/area/hallway/secondary/exit)
"kN" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit)
@@ -598,7 +598,7 @@
"lz" = (/obj/structure/dispenser,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"lA" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/reinforced,/obj/item/device/assembly/prox_sensor{pixel_x = -4; pixel_y = 1},/obj/item/device/assembly/prox_sensor{pixel_x = 8; pixel_y = 9},/obj/item/device/assembly/prox_sensor{pixel_x = 9; pixel_y = -2},/obj/item/device/assembly/prox_sensor{pixel_x = 0; pixel_y = 2},/obj/item/weapon/screwdriver{pixel_y = 10},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"lB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/table/reinforced,/obj/item/device/assembly/signaler{pixel_x = 0; pixel_y = 8},/obj/item/device/assembly/signaler{pixel_x = -8; pixel_y = 5},/obj/item/device/assembly/signaler{pixel_x = 6; pixel_y = 5},/obj/item/device/assembly/signaler{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
-"lC" = (/obj/machinery/meter,/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = 25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/ignition_switch{id = "burnchamber"; pixel_x = 25; pixel_y = -5},/obj/machinery/atmospherics/pipe/simple/supplymain/visible{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{tag = "icon-warnwhitecorner"; icon_state = "warnwhitecorner"; dir = 2},/area/medical/research{name = "Research Division"})
+"lC" = (/obj/machinery/meter,/obj/machinery/button/door{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = 25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/button/ignition{id = "burnchamber"; pixel_x = 25; pixel_y = -5},/obj/machinery/atmospherics/pipe/simple/supplymain/visible{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{tag = "icon-warnwhitecorner"; icon_state = "warnwhitecorner"; dir = 2},/area/medical/research{name = "Research Division"})
"lD" = (/obj/structure/table/reinforced,/obj/item/device/assembly/timer{pixel_x = 5; pixel_y = 4},/obj/item/device/assembly/timer{pixel_x = 6; pixel_y = -4},/obj/item/device/assembly/timer{pixel_x = -4; pixel_y = 2},/obj/item/device/assembly/timer{pixel_x = 0; pixel_y = 0},/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"lE" = (/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; listening = 1; name = "Common Channel"; pixel_y = 25},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"lF" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
@@ -836,7 +836,7 @@
"qd" = (/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/hallway/primary/central)
"qe" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/hallway/primary/central)
"qf" = (/obj/structure/stool/bed/roller,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
-"qg" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Exit Button"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -26},/obj/structure/stool/bed/roller,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
+"qg" = (/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Exit Button"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -26},/obj/structure/stool/bed/roller,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
"qh" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medbay"; req_access_txt = "5"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
"qi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Diner"},/turf/simulated/floor/plasteel,/area/crew_quarters/bar)
"qj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Diner"},/turf/simulated/floor/plasteel,/area/crew_quarters/bar)
@@ -892,7 +892,7 @@
"rh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/medical/medbay)
"ri" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/medical/medbay)
"rj" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/britcup{desc = "Kingston's personal cup."},/obj/machinery/camera/autoname,/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; listening = 1; name = "Common Channel"; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
-"rk" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -26; req_access_txt = "5"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/medical/medbay)
+"rk" = (/obj/machinery/button/door{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -26; req_access_txt = "5"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/medical/medbay)
"rl" = (/obj/machinery/computer/med_data,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
"rm" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/effect/spawner/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/engine/engineering)
"rn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plasteel{tag = "icon-whiteyellow (WEST)"; icon_state = "whiteyellow"; dir = 8},/area/medical/medbay)
@@ -1001,7 +1001,7 @@
"tm" = (/obj/structure/table,/obj/machinery/door/window/southright{layer = 3.1},/turf/simulated/floor/plasteel,/area/hallway/primary/central)
"tn" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
"to" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 2; on = 1},/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/pill_bottle/epinephrine{pixel_x = 5; pixel_y = -2},/obj/item/weapon/storage/pill_bottle/epinephrine{pixel_x = 5; pixel_y = -2},/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
-"tp" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1},/obj/machinery/door_control{desc = "A remote control switch for the genetics doors."; id = "GeneticsDoor"; name = "Genetics Exit Button"; normaldoorcontrol = 1; pixel_x = 8; pixel_y = 24},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/medical/medbay)
+"tp" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1},/obj/machinery/button/door{desc = "A remote control switch for the genetics doors."; id = "GeneticsDoor"; name = "Genetics Exit Button"; normaldoorcontrol = 1; pixel_x = 8; pixel_y = 24},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/medical/medbay)
"tq" = (/obj/machinery/smartfridge/chemistry,/turf/simulated/wall,/area/medical/medbay)
"tr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{tag = "icon-whiteyellowcorner (WEST)"; icon_state = "whiteyellowcorner"; dir = 8},/area/medical/medbay)
"ts" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medbay Storage"; req_access_txt = "45"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
@@ -1291,9 +1291,9 @@
"yR" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/engineering,/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/engine/engineering)
"yS" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/engineering,/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/engine/engineering)
"yT" = (/obj/structure/table,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/clothing/gloves/color/yellow,/obj/item/weapon/storage/toolbox/electrical{pixel_y = 5},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; listening = 1; name = "Common Channel"; pixel_y = 25},/turf/simulated/floor/plasteel,/area/engine/engineering)
-"yU" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/sheet/mineral/plasma{amount = 30},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 8},/area/engine/engineering)
+"yU" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/sheet/mineral/plasma{amount = 30},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 8},/area/engine/engineering)
"yV" = (/obj/machinery/power/apc{auto_name = 1; dir = 1; name = "_North APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/engine/engineering)
-"yW" = (/obj/structure/table,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/module/power_control,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 4},/area/engine/engineering)
+"yW" = (/obj/structure/table,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/apc,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 4},/area/engine/engineering)
"yX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/vending/cola,/turf/simulated/floor/plasteel,/area/hallway/primary/central)
"yY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/vending/snack,/turf/simulated/floor/plasteel,/area/hallway/primary/central)
"yZ" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -1402,7 +1402,7 @@
"Bj" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/components/unary/portables_connector/visible,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engineering)
"Bk" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engine/engineering)
"Bn" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/cyan/visible{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/engineering)
-"Bo" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/tracker_electronics,/obj/item/weapon/paper/solar,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engineering)
+"Bo" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/electronics/tracker,/obj/item/weapon/paper/solar,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engineering)
"Bp" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/engine/engineering)
"Bq" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engineering)
"Br" = (/obj/machinery/atmospherics/pipe/manifold/cyan/visible,/turf/simulated/floor/plating,/area/engine/engineering)
@@ -1453,7 +1453,7 @@
"Cq" = (/obj/structure/transit_tube,/turf/space,/area/space)
"Cr" = (/obj/structure/transit_tube{tag = "icon-E-W-Pass"; icon_state = "E-W-Pass"},/obj/structure/lattice,/turf/space,/area/space)
"Cs" = (/obj/structure/transit_tube{icon_state = "W-SE"},/turf/space,/area/space)
-"Ct" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plasteel,/area/engine/engineering)
+"Ct" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/weapon/electronics/airlock,/obj/item/weapon/electronics/airlock,/turf/simulated/floor/plasteel,/area/engine/engineering)
"Cu" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/turf/simulated/floor/plasteel,/area/engine/engineering)
"Cv" = (/obj/structure/table,/obj/item/stack/rods{amount = 50},/obj/item/device/analyzer,/turf/simulated/floor/plasteel,/area/engine/engineering)
"Cx" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/floor/plasteel,/area/engine/engineering)
@@ -1480,7 +1480,7 @@
"CS" = (/obj/machinery/atmospherics/components/binary/pump{dir = 1; target_pressure = 2000},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engineering)
"CT" = (/obj/machinery/atmospherics/components/binary/pump{dir = 1; target_pressure = 2000},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engineering)
"CU" = (/obj/machinery/atmospherics/components/binary/valve,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engineering)
-"CV" = (/obj/machinery/door_control{id = "burndoor"; name = "Burn Chamber Vent Control"; pixel_x = 25; pixel_y = 5; req_access_txt = "0"},/turf/simulated/floor/plasteel,/area/engine/engineering)
+"CV" = (/obj/machinery/button/door{id = "burndoor"; name = "Burn Chamber Vent Control"; pixel_x = 25; pixel_y = 5; req_access_txt = "0"},/turf/simulated/floor/plasteel,/area/engine/engineering)
"CW" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/obj/machinery/sparker{id = "burnchamber"; pixel_x = -25},/turf/simulated/floor/engine/vacuum,/area/engine/engineering)
"CX" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/obj/machinery/meter/turf{pixel_y = 24},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine/vacuum,/area/engine/engineering)
"CY" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/simulated/floor/engine/vacuum,/area/engine/engineering)
@@ -1512,7 +1512,7 @@
"DP" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/camera/autoname{dir = 1},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/plating,/area/engine/engineering)
"DS" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the burn chamber."; dir = 8; layer = 4; name = "Burn Chamber Telescreen"; network = list("burnchamber"); pixel_x = 0; pixel_y = -30},/obj/structure/stool,/turf/simulated/floor/plating,/area/engine/engineering)
"DT" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/engine/engineering)
-"DU" = (/obj/machinery/ignition_switch{id = "burnchamber"; pixel_x = 25},/turf/simulated/floor/plating,/area/engine/engineering)
+"DU" = (/obj/machinery/button/ignition{id = "burnchamber"; pixel_x = 25},/turf/simulated/floor/plating,/area/engine/engineering)
"DW" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/simulated/floor/engine/vacuum,/area/engine/engineering)
"DX" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/structure/lattice,/turf/space,/area/space)
"DZ" = (/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-N-S-Pass"; icon_state = "N-S-Pass"},/turf/space,/area/space)
diff --git a/_maps/map_files/MiniStation/z2.dmm b/_maps/map_files/MiniStation/z2.dmm
index c91cb5af275..e3dbfe6a3ef 100644
--- a/_maps/map_files/MiniStation/z2.dmm
+++ b/_maps/map_files/MiniStation/z2.dmm
@@ -212,7 +212,7 @@
"ed" = (/turf/simulated/wall/shuttle{dir = 2; icon_state = "swallc3"},/area/space)
"ee" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/turf/simulated/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/space)
"ef" = (/turf/simulated/floor/plasteel/black,/area/centcom/control)
-"eg" = (/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "CentComPort"; name = "Security Doors"; pixel_y = 28; req_access_txt = "101"},/turf/simulated/floor/plasteel/black,/area/centcom/control)
+"eg" = (/obj/machinery/button/door{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "CentComPort"; name = "Security Doors"; pixel_y = 28; req_access_txt = "101"},/turf/simulated/floor/plasteel/black,/area/centcom/control)
"eh" = (/turf/indestructible/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/centcom/control)
"ei" = (/obj/machinery/computer/atmos_alert,/turf/simulated/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/space)
"ej" = (/turf/simulated/wall/shuttle{icon_state = "swall3"; dir = 2},/area/space)
@@ -381,7 +381,7 @@
"hq" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor/plasteel/shuttle/red,/area/shuttle/syndicate)
"hr" = (/obj/structure/table,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 1},/turf/simulated/floor/plasteel/shuttle/red,/area/shuttle/syndicate)
"hs" = (/turf/simulated/floor/plasteel/shuttle/red,/area/shuttle/syndicate)
-"ht" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/floor/plasteel/shuttle/red,/area/shuttle/syndicate)
+"ht" = (/obj/structure/table,/obj/machinery/button/door{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/floor/plasteel/shuttle/red,/area/shuttle/syndicate)
"hu" = (/obj/machinery/computer/shuttle/syndicate,/turf/simulated/floor/plasteel/shuttle/red,/area/shuttle/syndicate)
"hv" = (/obj/structure/computerframe,/turf/simulated/floor/plasteel/shuttle/red,/area/shuttle/syndicate)
"hw" = (/turf/simulated/floor/plating/snow,/turf/simulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
@@ -521,7 +521,7 @@
"ka" = (/obj/effect/landmark{name = "Syndicate-Uplink"},/turf/simulated/floor/plasteel/shuttle/red,/area/shuttle/syndicate)
"kb" = (/turf/indestructible/fakeglass,/area/syndicate_mothership)
"kc" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/simulated/floor,/area/syndicate_mothership)
-"kd" = (/obj/machinery/door_control{id = "nukeop_ready"; name = "mission launch control"; pixel_x = -26; pixel_y = 0; req_access_txt = "151"},/turf/simulated/floor/plasteel/bar,/area/syndicate_mothership)
+"kd" = (/obj/machinery/button/door{id = "nukeop_ready"; name = "mission launch control"; pixel_x = -26; pixel_y = 0; req_access_txt = "151"},/turf/simulated/floor/plasteel/bar,/area/syndicate_mothership)
"ke" = (/obj/machinery/computer/telecrystals/uplinker,/turf/simulated/floor/plasteel/cult{tag = "icon-podhatch (SOUTHWEST)"; icon_state = "podhatch"; dir = 10},/area/syndicate_mothership)
"kf" = (/obj/structure/toilet{pixel_y = 8},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/machinery/door/window{name = "Tactical Toilet"; opacity = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
"kg" = (/obj/structure/urinal{pixel_y = 28},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
@@ -531,7 +531,7 @@
"kk" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/floor/plasteel/shuttle/red,/area/shuttle/syndicate)
"kl" = (/obj/structure/stool,/turf/simulated/floor/plasteel/shuttle/red,/area/shuttle/syndicate)
"km" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/wall/shuttle{icon_state = "wall3"},/area/shuttle/syndicate)
-"kn" = (/obj/machinery/door/poddoor{auto_close = 300; id = "smindicate"; name = "outer blast door"},/obj/machinery/door_control{id = "smindicate"; name = "external door control"; pixel_x = -26; pixel_y = 0; req_access_txt = "150"},/obj/docking_port/mobile{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate"; name = "syndicate infiltrator"; travelDir = 180; width = 18},/obj/docking_port/stationary{area_type = /area/syndicate_mothership; dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_away"; name = "syndicate recon outpost"; turf_type = /turf/simulated/floor/plating/snow; width = 18},/turf/simulated/floor/plating,/area/shuttle/syndicate)
+"kn" = (/obj/machinery/door/poddoor{auto_close = 300; id = "smindicate"; name = "outer blast door"},/obj/machinery/button/door{id = "smindicate"; name = "external door control"; pixel_x = -26; pixel_y = 0; req_access_txt = "150"},/obj/docking_port/mobile{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate"; name = "syndicate infiltrator"; travelDir = 180; width = 18},/obj/docking_port/stationary{area_type = /area/syndicate_mothership; dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_away"; name = "syndicate recon outpost"; turf_type = /turf/simulated/floor/plating/snow; width = 18},/turf/simulated/floor/plating,/area/shuttle/syndicate)
"ko" = (/turf/simulated/floor/plating/snow,/turf/simulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 5},/area/syndicate_mothership)
"kp" = (/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/wizard_station)
"kq" = (/obj/item/weapon/storage/box/drinkingglasses,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/obj/structure/table/wood,/turf/simulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
@@ -662,15 +662,15 @@
"mM" = (/turf/simulated/floor/plasteel{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
"mN" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/simulated/floor/plasteel{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
"mO" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
-"mP" = (/obj/machinery/flasher_button{id = "tdomeflash"; pixel_x = 0; pixel_y = 0},/obj/structure/table,/turf/simulated/floor/plasteel{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
+"mP" = (/obj/machinery/button/flasher{id = "tdomeflash"; pixel_x = 0; pixel_y = 0},/obj/structure/table,/turf/simulated/floor/plasteel{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
"mQ" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor/plasteel{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
"mR" = (/turf/indestructible/riveted,/area/tdome/tdomeadmin)
"mS" = (/obj/machinery/computer/security/telescreen{pixel_y = -32},/turf/simulated/floor/plasteel{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
"mT" = (/turf/simulated/floor/plasteel,/area/tdome/tdomeadmin)
"mU" = (/turf/indestructible/fakedoor{name = "Thunderdome Admin"},/area/tdome/tdomeadmin)
-"mV" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomehea"; name = "Heavy Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/simulated/floor/plasteel,/area/tdome/tdomeadmin)
-"mW" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomegen"; name = "General Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/simulated/floor/plasteel,/area/tdome/tdomeadmin)
-"mX" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdome"; name = "Main Blast Doors Control"; pixel_y = 0; req_access_txt = "102"},/turf/simulated/floor/plasteel,/area/tdome/tdomeadmin)
+"mV" = (/obj/structure/table,/obj/machinery/button/door{id = "thunderdomehea"; name = "Heavy Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/simulated/floor/plasteel,/area/tdome/tdomeadmin)
+"mW" = (/obj/structure/table,/obj/machinery/button/door{id = "thunderdomegen"; name = "General Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/simulated/floor/plasteel,/area/tdome/tdomeadmin)
+"mX" = (/obj/structure/table,/obj/machinery/button/door{id = "thunderdome"; name = "Main Blast Doors Control"; pixel_y = 0; req_access_txt = "102"},/turf/simulated/floor/plasteel,/area/tdome/tdomeadmin)
"mY" = (/obj/structure/table,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
"mZ" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
"na" = (/turf/simulated/floor/plasteel{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm
index 8c901b1e43b..9d9f5317db8 100644
--- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm
+++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm
@@ -944,7 +944,7 @@
/obj/machinery/light/small{
dir = 1
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "permabolt3";
name = "Cell Bolt Control";
normaldoorcontrol = 1;
@@ -986,7 +986,7 @@
/obj/machinery/light/small{
dir = 1
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "permabolt2";
name = "Cell Bolt Control";
normaldoorcontrol = 1;
@@ -1033,7 +1033,7 @@
/obj/machinery/light/small{
dir = 1
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "permabolt1";
name = "Cell Bolt Control";
normaldoorcontrol = 1;
@@ -1701,12 +1701,12 @@
/turf/space,
/area/solar/auxstarboard)
"adD" = (
-/obj/machinery/flasher_button{
+/obj/machinery/button/flasher{
id = "executionflash";
pixel_x = 24;
pixel_y = 5
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "executionspaceblast";
name = "Vent to Space";
pixel_x = 25;
@@ -1772,12 +1772,12 @@
scrub_N2O = 0;
scrub_Toxins = 0
},
-/obj/machinery/ignition_switch{
+/obj/machinery/button/ignition{
id = "executionburn";
pixel_x = 24;
pixel_y = 5
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "executionfireblast";
name = "Transfer Area Lockdown";
pixel_x = 25;
@@ -1790,14 +1790,14 @@
},
/area/security/transfer)
"adJ" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "permacell3";
name = "Cell 3 Lockdown";
pixel_x = -4;
pixel_y = 25;
req_access_txt = "2"
},
-/obj/machinery/flasher_button{
+/obj/machinery/button/flasher{
id = "PCell 3";
pixel_x = 6;
pixel_y = 24
@@ -1845,14 +1845,14 @@
},
/area/security/prison)
"adN" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "permacell2";
name = "Cell 2 Lockdown";
pixel_x = -4;
pixel_y = 25;
req_access_txt = "2"
},
-/obj/machinery/flasher_button{
+/obj/machinery/button/flasher{
id = "PCell 2";
pixel_x = 6;
pixel_y = 24
@@ -1868,14 +1868,14 @@
/turf/simulated/floor/plasteel,
/area/security/prison)
"adP" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "permacell1";
name = "Cell 1 Lockdown";
pixel_x = -4;
pixel_y = 25;
req_access_txt = "2"
},
-/obj/machinery/flasher_button{
+/obj/machinery/button/flasher{
id = "PCell 1";
pixel_x = 6;
pixel_y = 24
@@ -2170,7 +2170,7 @@
/obj/machinery/door/poddoor/shutters{
id = "armory"
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "armory";
name = "Armory Shutters";
pixel_x = 0;
@@ -2615,7 +2615,7 @@
},
/area/security/prison)
"afl" = (
-/obj/machinery/flasher_button{
+/obj/machinery/button/flasher{
id = "insaneflash";
pixel_y = -26
},
@@ -3998,14 +3998,14 @@
/obj/effect/landmark/start{
name = "Warden"
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "Prison Gate";
name = "Prison Wing Lockdown";
pixel_x = -27;
pixel_y = 8;
req_access_txt = "2"
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "Secure Gate";
name = "Cell Shutters";
pixel_x = -27;
@@ -5797,7 +5797,7 @@
},
/area/security/brig)
"akV" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "briggate";
name = "Desk Shutters";
pixel_x = -26;
@@ -5809,7 +5809,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/machinery/flasher_button{
+/obj/machinery/button/flasher{
id = "brigentry";
pixel_x = -28;
pixel_y = -8
@@ -6110,7 +6110,7 @@
/obj/machinery/light/small{
dir = 8
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
desc = "A remote control switch for the medbay foyer.";
id = "outerbrig";
name = "Brig Exterior Doors Control";
@@ -6119,7 +6119,7 @@
pixel_y = -5;
req_access_txt = "63"
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
desc = "A remote control switch for the medbay foyer.";
id = "innerbrig";
name = "Brig Interior Doors Control";
@@ -6264,7 +6264,7 @@
},
/area/shuttle/labor)
"alR" = (
-/obj/machinery/flasher_button{
+/obj/machinery/button/flasher{
id = "gulagshuttleflasher";
name = "Flash Control";
pixel_x = 0;
@@ -6587,7 +6587,7 @@
},
/area/security/processing)
"ams" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
desc = "A remote control switch for the exit.";
id = "laborexit";
name = "exit button";
@@ -9087,7 +9087,7 @@
/obj/machinery/alarm{
pixel_y = 23
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "Dorm4";
name = "Dorm Bolt Control";
normaldoorcontrol = 1;
@@ -9164,7 +9164,7 @@
"arY" = (
/obj/structure/stool/bed,
/obj/item/weapon/bedsheet/red,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "Dorm5";
name = "Cabin Bolt Control";
normaldoorcontrol = 1;
@@ -9183,7 +9183,7 @@
"asa" = (
/obj/structure/stool/bed,
/obj/item/weapon/bedsheet/red,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "Dorm6";
name = "Cabin Bolt Control";
normaldoorcontrol = 1;
@@ -9267,7 +9267,7 @@
},
/area/maintenance/fsmaint2)
"ask" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "maint3";
name = "Blast Door Control C";
pixel_x = 0;
@@ -9547,7 +9547,7 @@
/area/lawoffice)
"asV" = (
/obj/machinery/photocopier,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "lawyer_blast";
name = "Privacy Shutters";
pixel_x = 25;
@@ -10715,14 +10715,14 @@
/turf/simulated/floor/plating,
/area/maintenance/fsmaint2)
"avz" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "maint2";
name = "Blast Door Control B";
pixel_x = -28;
pixel_y = 4;
req_access_txt = "0"
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "maint1";
name = "Blast Door Control A";
pixel_x = -28;
@@ -10832,8 +10832,8 @@
icon_state = "tube1";
dir = 4
},
-/obj/item/weapon/camera_assembly,
-/obj/item/weapon/camera_assembly,
+/obj/item/wallframe/camera,
+/obj/item/wallframe/camera,
/obj/machinery/alarm{
dir = 8;
icon_state = "alarm0";
@@ -11548,7 +11548,7 @@
/obj/machinery/alarm{
pixel_y = 23
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "Dorm3";
name = "Dorm Bolt Control";
normaldoorcontrol = 1;
@@ -12793,7 +12793,7 @@
/obj/machinery/alarm{
pixel_y = 23
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "Dorm2";
name = "Dorm Bolt Control";
normaldoorcontrol = 1;
@@ -15065,7 +15065,7 @@
},
/area/chapel/main)
"aEl" = (
-/obj/machinery/driver_button{
+/obj/machinery/button/massdriver{
id = "chapelgun";
name = "Chapel Mass Driver";
pixel_x = 25
@@ -16902,7 +16902,7 @@
dir = 1;
on = 1
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "stationawaygate";
name = "Gateway Access Shutter Control";
pixel_x = -1;
@@ -17245,7 +17245,7 @@
/area/chapel/office)
"aIC" = (
/obj/structure/disposalpipe/segment,
-/obj/machinery/crema_switch{
+/obj/machinery/button/crematorium{
pixel_x = 25
},
/obj/machinery/light/small{
@@ -17896,7 +17896,7 @@
/obj/machinery/alarm{
pixel_y = 23
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "Dorm1";
name = "Dorm Bolt Control";
normaldoorcontrol = 1;
@@ -20767,7 +20767,7 @@
dir = 1;
name = "Command Station"
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "bridge blast";
name = "Bridge Blast Door Control";
pixel_x = 28;
@@ -21342,8 +21342,8 @@
/area/storage/tools)
"aSo" = (
/obj/structure/table,
-/obj/item/weapon/module/power_control,
-/obj/item/weapon/airlock_electronics,
+/obj/item/weapon/electronics/apc,
+/obj/item/weapon/electronics/airlock,
/turf/simulated/floor/plasteel,
/area/storage/tools)
"aSp" = (
@@ -23815,7 +23815,7 @@
dir = 1;
icon_state = "pipe-c"
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "kitchen";
name = "Kitchen Shutters Control";
pixel_x = -1;
@@ -24734,7 +24734,7 @@
dir = 8;
layer = 2.9
},
-/obj/item/weapon/module/power_control,
+/obj/item/weapon/electronics/apc,
/obj/item/weapon/stock_parts/cell{
maxcharge = 2000
},
@@ -24796,7 +24796,7 @@
/turf/simulated/floor/wood,
/area/bridge/meeting_room)
"aZP" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "heads_meeting";
name = "Security Shutters";
pixel_x = 0;
@@ -27222,7 +27222,7 @@
},
/area/quartermaster/storage)
"bfp" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "qm_warehouse";
name = "Warehouse Door Control";
pixel_x = -1;
@@ -27514,7 +27514,7 @@
pixel_y = 9
},
/obj/item/weapon/pen,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
desc = "A remote control switch for the medbay foyer.";
id = "MedbayFoyer";
name = "Medbay Doors Control";
@@ -28267,7 +28267,7 @@
/turf/simulated/floor/plasteel,
/area/assembly/chargebay)
"bhz" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
dir = 2;
id = "Skynet_launch";
name = "Mech Bay Door Control";
@@ -28321,7 +28321,7 @@
dir = 2;
network = list("SS13","RD")
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
dir = 2;
id = "robotics";
name = "Shutters Control Button";
@@ -28412,7 +28412,7 @@
network = list("SS13","RD");
pixel_x = 22
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
dir = 2;
id = "rnd";
name = "Shutters Control Button";
@@ -28630,7 +28630,7 @@
/turf/simulated/floor/plasteel,
/area/quartermaster/storage)
"bij" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "qm_warehouse";
name = "Warehouse Door Control";
pixel_x = -1;
@@ -29194,14 +29194,14 @@
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"bjq" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "Disposal Exit";
name = "Disposal Vent Control";
pixel_x = -25;
pixel_y = 4;
req_access_txt = "12"
},
-/obj/machinery/driver_button{
+/obj/machinery/button/massdriver{
id = "trash";
pixel_x = -26;
pixel_y = -6
@@ -30255,7 +30255,7 @@
/obj/structure/stool/bed/chair/office/light{
dir = 8
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
desc = "A remote control switch for the medbay foyer.";
id = "MedbayFoyer";
name = "Medbay Doors Control";
@@ -30808,19 +30808,19 @@
},
/area/hallway/primary/central)
"bmC" = (
-/obj/machinery/flasher_button{
+/obj/machinery/button/flasher{
id = "hopflash";
pixel_x = 6;
pixel_y = 36
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "hop";
name = "Privacy Shutters Control";
pixel_x = 6;
pixel_y = 25;
req_access_txt = "28"
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "hopqueue";
name = "Queue Shutters Control";
pixel_x = -4;
@@ -31711,7 +31711,7 @@
/area/medical/chemistry)
"boh" = (
/obj/structure/stool/bed/roller,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
desc = "A remote control switch for the medbay foyer.";
id = "MedbayFoyer";
name = "Medbay Exit Button";
@@ -32727,7 +32727,7 @@
},
/area/assembly/robotics)
"bqe" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
dir = 2;
id = "robotics2";
name = "Shutters Control Button";
@@ -33879,14 +33879,14 @@
c_tag = "Cargo Recieving Dock";
dir = 4
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "QMLoaddoor";
layer = 4;
name = "Loading Doors";
pixel_x = -24;
pixel_y = -8
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
dir = 2;
id = "QMLoaddoor2";
layer = 4;
@@ -34901,7 +34901,7 @@
},
/area/medical/medbay)
"bua" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
desc = "A remote control switch for the genetics doors.";
id = "GeneticsDoor";
name = "Genetics Exit Button";
@@ -36532,14 +36532,14 @@
})
"bxb" = (
/obj/structure/table,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "Biohazard";
name = "Biohazard Shutter Control";
pixel_x = -5;
pixel_y = 5;
req_access_txt = "47"
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "rnd2";
name = "Research Lab Shutter Control";
pixel_x = 5;
@@ -37159,7 +37159,7 @@
pixel_x = 8;
pixel_y = 28
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "Biohazard";
name = "Biohazard Shutter Control";
pixel_x = -5;
@@ -38635,7 +38635,7 @@
},
/area/crew_quarters/hor)
"bAV" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "telelab";
name = "Test Chamber Blast Doors";
pixel_x = 25;
@@ -39267,8 +39267,8 @@
/area/storage/tech)
"bCh" = (
/obj/structure/table,
-/obj/item/weapon/module/power_control,
-/obj/item/weapon/airlock_electronics,
+/obj/item/weapon/electronics/apc,
+/obj/item/weapon/electronics/airlock,
/obj/machinery/light/small{
dir = 1
},
@@ -41017,7 +41017,7 @@
/area/medical/medbay)
"bFF" = (
/obj/structure/closet/secure_closet/personal/patient,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "medpriv4";
name = "Privacy Shutters";
pixel_y = 25
@@ -41322,7 +41322,7 @@
/turf/simulated/floor/plasteel,
/area/toxins/mixing)
"bGe" = (
-/obj/machinery/driver_button{
+/obj/machinery/button/massdriver{
dir = 2;
id = "toxinsdriver";
pixel_y = 24
@@ -43255,7 +43255,7 @@
},
/area/toxins/xenobiology)
"bJC" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "misclab";
name = "Test Chamber Blast Doors";
pixel_x = 0;
@@ -43696,7 +43696,7 @@
/area/medical/medbay)
"bKz" = (
/obj/structure/closet/secure_closet/personal/patient,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "medpriv1";
name = "Privacy Shutters";
pixel_y = -25
@@ -44857,7 +44857,7 @@
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2)
"bMS" = (
-/obj/item/weapon/airalarm_electronics,
+/obj/item/weapon/electronics/airalarm,
/obj/item/weapon/circuitboard/seed_extractor,
/obj/structure/table,
/obj/effect/spawner/lootdrop/maintenance{
@@ -45021,14 +45021,14 @@
dir = 4
},
/obj/machinery/meter,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "mixvent";
name = "Mixing Room Vent Control";
pixel_x = -25;
pixel_y = 5;
req_access_txt = "7"
},
-/obj/machinery/ignition_switch{
+/obj/machinery/button/ignition{
id = "mixingsparker";
pixel_x = -25;
pixel_y = -5
@@ -46453,7 +46453,7 @@
icon_state = "4-8";
pixel_y = 0
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "xenobio8";
name = "Containment Blast Doors";
pixel_x = 0;
@@ -46654,7 +46654,7 @@
dir = 4;
icon_state = "tube1"
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "atmos";
name = "Atmospherics Lockdown";
pixel_x = 24;
@@ -47341,7 +47341,7 @@
/area/toxins/xenobiology)
"bSf" = (
/obj/structure/table/reinforced,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "xenobio3";
name = "Containment Blast Doors";
pixel_x = 0;
@@ -48410,7 +48410,7 @@
icon_state = "4-8";
pixel_y = 0
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "xenobio7";
name = "Containment Blast Doors";
pixel_x = 0;
@@ -48929,12 +48929,12 @@
"bVm" = (
/obj/structure/table,
/obj/machinery/atmospherics/pipe/simple/general/visible,
-/obj/machinery/ignition_switch{
+/obj/machinery/button/ignition{
id = "testigniter";
pixel_x = -6;
pixel_y = 2
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "testlab";
name = "Test Chamber Blast Doors";
pixel_x = 4;
@@ -49484,7 +49484,7 @@
/area/toxins/xenobiology)
"bWl" = (
/obj/structure/table/reinforced,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "xenobio2";
name = "Containment Blast Doors";
pixel_x = 0;
@@ -49758,7 +49758,7 @@
/obj/item/weapon/screwdriver{
pixel_y = 10
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
desc = "A remote control-switch for the engineering security doors.";
id = "Engineering";
name = "Engineering Lockdown";
@@ -50319,7 +50319,7 @@
"bXU" = (
/obj/structure/window/reinforced,
/obj/structure/table/reinforced,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "xenobio6";
name = "Containment Blast Doors";
pixel_x = 0;
@@ -51301,7 +51301,7 @@
/area/toxins/xenobiology)
"bZO" = (
/obj/structure/table/reinforced,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "xenobio1";
name = "Containment Blast Doors";
pixel_x = 0;
@@ -54402,7 +54402,7 @@
/area/engine/engineering)
"cgf" = (
/obj/machinery/computer/station_alert,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
desc = "A remote control-switch for the engineering security doors.";
id = "Engineering";
name = "Engineering Lockdown";
@@ -54410,7 +54410,7 @@
pixel_y = -10;
req_access_txt = "10"
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
desc = "A remote control-switch for secure storage.";
id = "Secure Storage";
name = "Engineering Secure Storage";
@@ -54418,7 +54418,7 @@
pixel_y = 0;
req_access_txt = "11"
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "atmos";
name = "Atmospherics Lockdown";
pixel_x = -24;
@@ -54769,8 +54769,8 @@
/obj/item/stack/sheet/glass{
amount = 50
},
-/obj/item/weapon/airlock_electronics,
-/obj/item/weapon/airlock_electronics,
+/obj/item/weapon/electronics/airlock,
+/obj/item/weapon/electronics/airlock,
/obj/item/weapon/stock_parts/cell/high{
charge = 100;
maxcharge = 15000
@@ -55638,9 +55638,9 @@
/area/engine/engineering)
"ciF" = (
/obj/structure/table,
-/obj/item/weapon/airlock_electronics,
-/obj/item/weapon/airlock_electronics,
-/obj/item/weapon/module/power_control,
+/obj/item/weapon/electronics/airlock,
+/obj/item/weapon/electronics/airlock,
+/obj/item/weapon/electronics/apc,
/obj/item/weapon/stock_parts/cell/high{
charge = 100;
maxcharge = 15000
@@ -55687,7 +55687,7 @@
/obj/item/solar_assembly,
/obj/item/solar_assembly,
/obj/item/weapon/circuitboard/solar_control,
-/obj/item/weapon/tracker_electronics,
+/obj/item/weapon/electronics/tracker,
/obj/item/weapon/paper/solar,
/turf/simulated/floor/plasteel,
/area/engine/engineering)
@@ -55933,7 +55933,7 @@
pixel_y = -26;
req_access_txt = "12"
},
-/obj/machinery/ignition_switch{
+/obj/machinery/button/ignition{
id = "Incinerator";
pixel_x = -6;
pixel_y = -24
@@ -58192,7 +58192,7 @@
},
/area/engine/engineering)
"cno" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "Singularity";
name = "Shutters Control";
pixel_x = 25;
@@ -58210,7 +58210,7 @@
},
/area/engine/engineering)
"cnp" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "Singularity";
name = "Shutters Control";
pixel_x = -25;
@@ -58238,7 +58238,7 @@
/turf/simulated/floor/plating,
/area/engine/engineering)
"cnt" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "Singularity";
name = "Shutters Control";
pixel_x = 25;
@@ -58251,7 +58251,7 @@
},
/area/engine/engineering)
"cnu" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "Singularity";
name = "Shutters Control";
pixel_x = -25;
@@ -58488,8 +58488,8 @@
pixel_y = -7
},
/obj/item/stack/cable_coil,
-/obj/item/weapon/airlock_electronics,
-/obj/item/weapon/airlock_electronics,
+/obj/item/weapon/electronics/airlock,
+/obj/item/weapon/electronics/airlock,
/turf/simulated/floor/plasteel,
/area/engine/engineering)
"cnX" = (
@@ -59926,7 +59926,7 @@
/turf/simulated/floor/plating,
/area/aisat)
"crn" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "teledoor";
name = "AI Satellite Teleport Shutters Control";
pixel_x = 25;
@@ -62094,14 +62094,14 @@
/turf/simulated/floor/plating,
/area/maintenance/incinerator)
"cve" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "auxincineratorvent";
name = "Auxiliary Vent Control";
pixel_x = 6;
pixel_y = -24;
req_access_txt = "32"
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "turbinevent";
name = "Turbine Vent Control";
pixel_x = -6;
diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm
index 124a758e4b5..7756f32ef39 100644
--- a/_maps/map_files/generic/z2.dmm
+++ b/_maps/map_files/generic/z2.dmm
@@ -1497,7 +1497,7 @@
},
/area/centcom/ferry)
"ey" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "adminshut";
name = "Administrative Shutter-Control";
pixel_y = 26
@@ -1917,7 +1917,7 @@
/turf/simulated/floor/plasteel/shuttle,
/area/shuttle/escape)
"fN" = (
-/obj/machinery/flasher_button{
+/obj/machinery/button/flasher{
id = "cockpit_flasher";
pixel_x = 6;
pixel_y = -24
@@ -2151,7 +2151,7 @@
pixel_x = -24;
pixel_y = 6
},
-/obj/machinery/flasher_button{
+/obj/machinery/button/flasher{
id = "shuttle_flasher";
pixel_x = -24;
pixel_y = -6
@@ -2418,7 +2418,7 @@
/turf/simulated/floor/plasteel/black,
/area/centcom/control)
"ht" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
desc = "A remote control switch for port-side blast doors.";
icon_state = "doorctrl0";
id = "CentComPort";
@@ -2642,14 +2642,14 @@
/turf/simulated/floor/plating/snow,
/area/syndicate_mothership)
"hZ" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
dir = 2;
id = "QMLoaddoor2";
name = "Loading Doors";
pixel_x = 24;
pixel_y = 8
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "QMLoaddoor";
name = "Loading Doors";
pixel_x = 24;
@@ -2994,7 +2994,7 @@
/area/shuttle/syndicate)
"iX" = (
/obj/structure/table,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "syndieshutters";
name = "remote shutter control";
req_access_txt = "150"
@@ -3874,7 +3874,7 @@
/turf/indestructible/fakeglass,
/area/syndicate_mothership)
"lC" = (
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "nukeop_ready";
name = "mission launch control";
pixel_x = -26;
@@ -3973,7 +3973,7 @@
id = "smindicate";
name = "outer blast door"
},
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "smindicate";
name = "external door control";
pixel_x = -26;
@@ -5216,7 +5216,7 @@
/turf/simulated/floor/plasteel/redyellow,
/area/tdome/tdomeadmin)
"pd" = (
-/obj/machinery/flasher_button{
+/obj/machinery/button/flasher{
id = "tdomeflash";
pixel_x = 0;
pixel_y = 0
@@ -5281,7 +5281,7 @@
/area/tdome/tdomeadmin)
"po" = (
/obj/structure/table,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "thunderdomehea";
name = "Heavy Supply Control";
pixel_y = 0;
@@ -5291,7 +5291,7 @@
/area/tdome/tdomeadmin)
"pp" = (
/obj/structure/table,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "thunderdomegen";
name = "General Supply Control";
pixel_y = 0;
@@ -5301,7 +5301,7 @@
/area/tdome/tdomeadmin)
"pq" = (
/obj/structure/table,
-/obj/machinery/door_control{
+/obj/machinery/button/door{
id = "thunderdome";
name = "Main Blast Doors Control";
pixel_y = 0;
diff --git a/_maps/map_files/generic/z3.dmm b/_maps/map_files/generic/z3.dmm
index de3d265f3ac..96b671a035f 100644
--- a/_maps/map_files/generic/z3.dmm
+++ b/_maps/map_files/generic/z3.dmm
@@ -119,7 +119,7 @@
"cL" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
"cM" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
"cN" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
-"cO" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
+"cO" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/electronics/airlock,/turf/simulated/floor/plasteel/airless{icon_state = "dark"},/area/tcommsat/chamber)
"cP" = (/obj/structure/door_assembly/door_assembly_hatch,/turf/simulated/floor/plasteel/airless,/area/tcommsat/chamber)
"cQ" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel/airless,/area/tcommsat/chamber)
"cR" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel/airless,/area/tcommsat/chamber)
@@ -241,7 +241,7 @@
"fe" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/AIsattele)
"ff" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/plating/airless,/area/AIsattele)
"fg" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating/airless,/area/AIsattele)
-"fh" = (/obj/item/weapon/shard,/obj/item/weapon/module/power_control,/turf/simulated/floor/plating/airless,/area/AIsattele)
+"fh" = (/obj/item/weapon/shard,/obj/item/weapon/electronics/apc,/turf/simulated/floor/plating/airless,/area/AIsattele)
"fi" = (/obj/structure/closet,/turf/simulated/floor/plating/airless,/area/AIsattele)
"fj" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/plating/airless,/area/AIsattele)
"fk" = (/obj/structure/closet/crate,/obj/item/device/aicard,/obj/item/device/multitool,/obj/item/weapon/weldingtool,/obj/item/weapon/wrench,/obj/item/weapon/circuitboard/teleporter,/turf/simulated/floor/plating/airless,/area/AIsattele)
diff --git a/_maps/map_files/generic/z4.dmm b/_maps/map_files/generic/z4.dmm
index e420d816869..e1371b05dde 100644
--- a/_maps/map_files/generic/z4.dmm
+++ b/_maps/map_files/generic/z4.dmm
@@ -358,7 +358,7 @@
"gT" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel/airless{icon_state = "white"},/area/space)
"gU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/hallway/primary)
"gV" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel,/area/derelict/arrival)
-"gW" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plasteel/airless,/area/derelict/bridge/access)
+"gW" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/obj/item/weapon/electronics/airlock,/turf/simulated/floor/plasteel/airless,/area/derelict/bridge/access)
"gX" = (/obj/structure/rack,/obj/item/weapon/circuitboard/autolathe,/obj/item/weapon/circuitboard/protolathe{pixel_x = -5; pixel_y = -3},/turf/simulated/floor/plasteel,/area/derelict/bridge/ai_upload)
"gY" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel)
"gZ" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel)
@@ -584,7 +584,7 @@
"ll" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/plasteel/airless,/area/space)
"lm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plasteel/airless{icon_state = "bcircuit"; tag = "icon-bcircuit"},/area/derelict/bridge/ai_upload)
"ln" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/gravity_generator)
-"lo" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/item/apc_frame,/turf/simulated/floor/plating/airless,/area/derelict/gravity_generator)
+"lo" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/item/wallframe/apc,/turf/simulated/floor/plating/airless,/area/derelict/gravity_generator)
"lp" = (/obj/machinery/door/window,/turf/simulated/floor/plasteel,/area/derelict/bridge/ai_upload)
"lq" = (/obj/item/weapon/ore/slag,/turf/simulated/floor/plasteel/airless{icon_state = "damaged4"},/area/derelict/gravity_generator)
"lr" = (/obj/structure/rack,/obj/item/weapon/circuitboard/smes,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
@@ -700,7 +700,7 @@
"nx" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel,/area/derelict/solar_control)
"ny" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/wall,/area/derelict/bridge/access)
"nz" = (/obj/machinery/door/airlock/maintenance,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
-"nA" = (/obj/structure/rack,/obj/item/weapon/module/power_control,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
+"nA" = (/obj/structure/rack,/obj/item/weapon/electronics/apc,/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
"nB" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/wall,/area/derelict/bridge/access)
"nC" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/atmospherics)
"nD" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel,/area/derelict/bridge/access)
diff --git a/_maps/map_files/generic/z5.dmm b/_maps/map_files/generic/z5.dmm
index 09ac6b41d04..be23e357bf9 100644
--- a/_maps/map_files/generic/z5.dmm
+++ b/_maps/map_files/generic/z5.dmm
@@ -271,7 +271,7 @@
"fk" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
"fl" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
"fm" = (/obj/machinery/door/airlock/glass_security{name = "Labor Camp Shuttle Security Airlock"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
-"fn" = (/obj/machinery/light/small{dir = 1},/obj/machinery/door_control{id = "Labor"; name = "Labor Camp Lockdown"; pixel_x = 0; pixel_y = 28; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
+"fn" = (/obj/machinery/light/small{dir = 1},/obj/machinery/button/door{id = "Labor"; name = "Labor Camp Lockdown"; pixel_x = 0; pixel_y = 28; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"fo" = (/obj/machinery/door/poddoor/preopen{id = "Labor"; name = "labor camp blast door"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"fp" = (/turf/simulated/floor/plasteel,/area/mine/laborcamp)
"fq" = (/obj/machinery/mineral/processing_unit_console{machinedir = 6},/turf/simulated/wall,/area/mine/laborcamp)
@@ -332,7 +332,7 @@
"gt" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall/r_wall,/area/mine/laborcamp/security)
"gu" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
"gv" = (/obj/structure/stool/bed/chair/office/dark,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
-"gw" = (/obj/machinery/door_control{id = "Labor"; name = "Labor Camp Lockdown"; pixel_x = 28; pixel_y = 7; req_access_txt = "2"},/obj/machinery/flasher_button{id = "Labor"; pixel_x = 26; pixel_y = -3},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
+"gw" = (/obj/machinery/button/door{id = "Labor"; name = "Labor Camp Lockdown"; pixel_x = 28; pixel_y = 7; req_access_txt = "2"},/obj/machinery/button/flasher{id = "Labor"; pixel_x = 26; pixel_y = -3},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
"gx" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/mine/laborcamp/security)
"gy" = (/turf/simulated/floor/plating,/area/mine/laborcamp/security)
"gz" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating,/area/mine/laborcamp/security)
@@ -389,7 +389,7 @@
"hy" = (/obj/item/clothing/under/rank/miner,/obj/effect/decal/remains/human,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
"hz" = (/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris,/turf/simulated/floor/plasteel/airless{icon_state = "asteroidfloor"},/area/mine/explored)
"hA" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/carpet,/area/mine/living_quarters)
-"hB" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
+"hB" = (/obj/machinery/light/small{dir = 4},/obj/machinery/button/door{id = "miningdorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
"hC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plasteel,/area/mine/living_quarters)
"hD" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/obj/machinery/light,/turf/space,/area/mine/west_outpost)
"hE" = (/obj/structure/table,/turf/simulated/floor/carpet,/area/mine/living_quarters)
@@ -398,7 +398,7 @@
"hH" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
"hI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel,/area/mine/living_quarters)
"hJ" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral/random,/area/mine/unexplored)
-"hK" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
+"hK" = (/obj/machinery/light/small{dir = 4},/obj/machinery/button/door{id = "miningdorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
"hL" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/mine/living_quarters)
"hM" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/west_outpost)
"hN" = (/obj/machinery/door/airlock{id_tag = "miningdorm2"; name = "Room 2"},/turf/simulated/floor/plasteel,/area/mine/living_quarters)
@@ -414,7 +414,7 @@
"hX" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters)
"hY" = (/obj/machinery/vending/cigarette,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters)
"hZ" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters)
-"ia" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
+"ia" = (/obj/machinery/light/small{dir = 4},/obj/machinery/button/door{id = "miningdorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
"ib" = (/obj/structure/table,/obj/item/weapon/pickaxe,/turf/simulated/floor/plasteel,/area/mine/west_outpost)
"ic" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/plasteel,/area/mine/west_outpost)
"id" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor/plasteel,/area/mine/west_outpost)
diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm
index 321e172522d..b0a8aedddc5 100644
--- a/code/ATMOSPHERICS/atmospherics.dm
+++ b/code/ATMOSPHERICS/atmospherics.dm
@@ -34,9 +34,9 @@ Pipelines + Other Objects -> Pipe network
/obj/machinery/atmospherics/Destroy()
SSair.atmos_machinery -= src
- if (stored)
+ if(stored)
qdel(stored)
- stored = null
+ stored = null
for(var/mob/living/L in src)
L.remove_ventcrawl()
@@ -53,6 +53,9 @@ Pipelines + Other Objects -> Pipe network
/obj/machinery/atmospherics/proc/SetInitDirections()
return
+/obj/machinery/atmospherics/proc/GetInitDirections()
+ return initialize_directions
+
/obj/machinery/atmospherics/proc/returnPipenet()
return
@@ -129,8 +132,7 @@ Pipelines + Other Objects -> Pipe network
/obj/machinery/atmospherics/Deconstruct()
if(can_unwrench)
- var/turf/T = loc
- stored.loc = T
+ stored.loc = src.loc
transfer_fingerprints_to(stored)
stored = null
@@ -160,13 +162,11 @@ Pipelines + Other Objects -> Pipe network
return img
-/obj/machinery/atmospherics/construction(D, P, pipe_type, obj_color)
- dir = D
- initialize_directions = P
+/obj/machinery/atmospherics/construction(pipe_type, obj_color)
if(can_unwrench)
color = obj_color
pipe_color = obj_color
- stored.dir = D //need to define them here, because the obj directions...
+ stored.dir = src.dir //need to define them here, because the obj directions...
stored.pipe_type = pipe_type //... were not set at the time the stored pipe was created
stored.color = obj_color
var/turf/T = loc
diff --git a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm
index b78301584cb..b6490a986f5 100644
--- a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm
@@ -19,7 +19,6 @@
Iconnery
*/
/obj/machinery/atmospherics/components/binary/hide(intact)
- showpipe = !intact
update_icon()
..(intact)
diff --git a/code/ATMOSPHERICS/components/components_base.dm b/code/ATMOSPHERICS/components/components_base.dm
index 78bd351c9f4..9f63f655d34 100644
--- a/code/ATMOSPHERICS/components/components_base.dm
+++ b/code/ATMOSPHERICS/components/components_base.dm
@@ -20,7 +20,7 @@ On top of that, now people can add component-speciic procs/vars if they want!
#define NODE3 "n3"
/obj/machinery/atmospherics/components/
- var/welded //Used on pumps and scrubbers
+ var/welded = 0 //Used on pumps and scrubbers
var/showpipe = 0
var/device_type = 0//used for initialization stuff
@@ -57,10 +57,17 @@ Iconnery
/obj/machinery/atmospherics/components/proc/update_icon_nopipes()
return
-/obj/machinery/atmospherics/components/update_icon() //not working
+/obj/machinery/atmospherics/components/update_icon()
update_icon_nopipes()
underlays.Cut()
+
+ var/turf/T = loc
+ if(level == 2 || !T.intact)
+ showpipe = 1
+ else
+ showpipe = 0
+
if(!showpipe)
return //no need to update the pipes if they aren't showing
@@ -91,8 +98,6 @@ Pipenet stuff; housekeeping
if(target.initialize_directions & get_dir(target,src))
nodes["n[I]"] = target
break
- if(level == 2)
- showpipe = 1
update_icon()
/obj/machinery/atmospherics/components/construction()
diff --git a/code/ATMOSPHERICS/components/unary_devices/cryo.dm b/code/ATMOSPHERICS/components/unary_devices/cryo.dm
index 87eb0e606e8..246716772aa 100644
--- a/code/ATMOSPHERICS/components/unary_devices/cryo.dm
+++ b/code/ATMOSPHERICS/components/unary_devices/cryo.dm
@@ -314,7 +314,7 @@
occupant.heal_organ_damage(heal_brute,heal_fire)
if(beaker && next_trans == 0)
beaker.reagents.trans_to(occupant, 1, 10)
- beaker.reagents.reaction(occupant)
+ beaker.reagents.reaction(occupant, VAPOR)
next_trans++
if(next_trans == 10)
next_trans = 0
diff --git a/code/ATMOSPHERICS/components/unary_devices/unary_base.dm b/code/ATMOSPHERICS/components/unary_devices/unary_base.dm
index 96b99f52fd1..44519b8245f 100644
--- a/code/ATMOSPHERICS/components/unary_devices/unary_base.dm
+++ b/code/ATMOSPHERICS/components/unary_devices/unary_base.dm
@@ -12,8 +12,7 @@
Iconnery
*/
-/obj/machinery/atmospherics/components/unary/hide(var/intact)
- showpipe = !intact
+/obj/machinery/atmospherics/components/unary/hide(intact)
update_icon()
..(intact)
diff --git a/code/ATMOSPHERICS/pipes/he_pipes.dm b/code/ATMOSPHERICS/pipes/he_pipes.dm
index 119b371d59b..2aec1195433 100644
--- a/code/ATMOSPHERICS/pipes/he_pipes.dm
+++ b/code/ATMOSPHERICS/pipes/he_pipes.dm
@@ -36,6 +36,9 @@
if(SOUTHWEST)
initialize_directions_he = SOUTH|WEST
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging/GetInitDirections()
+ return ..() | initialize_directions_he
+
/obj/machinery/atmospherics/pipe/simple/heat_exchanging/atmosinit()
normalize_dir()
var/N = 2
diff --git a/code/LINDA/LINDA_turf_tile.dm b/code/LINDA/LINDA_turf_tile.dm
index d837658483c..0dee6d8186a 100644
--- a/code/LINDA/LINDA_turf_tile.dm
+++ b/code/LINDA/LINDA_turf_tile.dm
@@ -8,7 +8,7 @@
var/atmos_supeconductivity = 0
/turf/assume_air(datum/gas_mixture/giver) //use this for machines to adjust air
- del(giver)
+ qdel(giver)
return 0
/turf/return_air()
diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm
index 0da4f75e1bf..33d02d6e06e 100644
--- a/code/__DEFINES/flags.dm
+++ b/code/__DEFINES/flags.dm
@@ -77,4 +77,5 @@
#define ALIEN 4
#define ROBOT 8
#define SLIME 16
-#define DRONE 32
\ No newline at end of file
+#define DRONE 32
+#define SWARMER 64
\ No newline at end of file
diff --git a/code/__DEFINES/pipe_construction.dm b/code/__DEFINES/pipe_construction.dm
new file mode 100644
index 00000000000..0fc337db1d2
--- /dev/null
+++ b/code/__DEFINES/pipe_construction.dm
@@ -0,0 +1,39 @@
+/*
+PIPE CONSTRUCTION DEFINES
+Update these any time a path is changed
+Construction breaks otherwise
+*/
+
+//Pipes
+#define PIPE_SIMPLE /obj/machinery/atmospherics/pipe/simple
+#define PIPE_MANIFOLD /obj/machinery/atmospherics/pipe/manifold
+#define PIPE_4WAYMANIFOLD /obj/machinery/atmospherics/pipe/manifold4w
+#define PIPE_HE /obj/machinery/atmospherics/pipe/simple/heat_exchanging
+#define PIPE_JUNCTION /obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction
+//Unary
+#define PIPE_CONNECTOR /obj/machinery/atmospherics/components/unary/portables_connector
+#define PIPE_UVENT /obj/machinery/atmospherics/components/unary/vent_pump
+#define PIPE_SCRUBBER /obj/machinery/atmospherics/components/unary/vent_scrubber
+#define PIPE_HEAT_EXCHANGE /obj/machinery/atmospherics/components/unary/heat_exchanger
+//Binary
+#define PIPE_PUMP /obj/machinery/atmospherics/components/binary/pump
+#define PIPE_PASSIVE_GATE /obj/machinery/atmospherics/components/binary/passive_gate
+#define PIPE_VOLUME_PUMP /obj/machinery/atmospherics/components/binary/volume_pump
+#define PIPE_MVALVE /obj/machinery/atmospherics/components/binary/valve
+#define PIPE_DVALVE /obj/machinery/atmospherics/components/binary/valve/digital
+//Trinary
+#define PIPE_GAS_FILTER /obj/machinery/atmospherics/components/trinary/filter
+#define PIPE_GAS_MIXER /obj/machinery/atmospherics/components/trinary/mixer
+
+//Disposal piping numbers - do NOT hardcode these, use the defines
+#define DISP_PIPE_STRAIGHT 0
+#define DISP_PIPE_BENT 1
+#define DISP_JUNCTION 2
+#define DISP_JUNCTION_FLIP 3
+#define DISP_YJUNCTION 4
+#define DISP_END_TRUNK 5
+#define DISP_END_BIN 6
+#define DISP_END_OUTLET 7
+#define DISP_END_CHUTE 8
+#define DISP_SORTJUNCTION 9
+#define DISP_SORTJUNCTION_FLIP 10
\ No newline at end of file
diff --git a/code/__DEFINES/qdel.dm b/code/__DEFINES/qdel.dm
index feb949b3241..f228349b70d 100644
--- a/code/__DEFINES/qdel.dm
+++ b/code/__DEFINES/qdel.dm
@@ -7,4 +7,5 @@
#define QDEL_HINT_HARDDEL 3 //qdel should assume this object won't gc, and queue a hard delete using a hard reference.
#define QDEL_HINT_HARDDEL_NOW 4 //qdel should assume this object won't gc, and hard del it post haste.
#define QDEL_HINT_PUTINPOOL 5 //qdel will put this object in the atom pool.
-
+#define QDEL_HINT_FINDREFERENCE 6 //functionally identical to QDEL_HINT_QUEUE if TESTING is not enabled in _compiler_options.dm.
+ //if TESTING is enabled, qdel will call this object's find_references() verb.
diff --git a/code/__HELPERS/lists.dm b/code/__HELPERS/lists.dm
index 2ec7b4c407f..66ae50cf852 100644
--- a/code/__HELPERS/lists.dm
+++ b/code/__HELPERS/lists.dm
@@ -342,4 +342,10 @@
for(var/datum/D in L)
if(D.vars.Find(varname))
if(D.vars[varname] == value)
- return D
\ No newline at end of file
+ return D
+
+//remove all nulls from a list
+/proc/removeNullsFromList(list/L)
+ while(L.Remove(null))
+ continue
+ return L
\ No newline at end of file
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 429994eaf19..e6b19171e31 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1227,17 +1227,29 @@ var/list/WALLITEMS = list(
/obj/machinery/power/apc, /obj/machinery/alarm, /obj/item/device/radio/intercom,
/obj/structure/extinguisher_cabinet, /obj/structure/reagent_dispensers/peppertank,
/obj/machinery/status_display, /obj/machinery/requests_console, /obj/machinery/light_switch, /obj/structure/sign,
- /obj/machinery/newscaster, /obj/machinery/firealarm, /obj/structure/noticeboard, /obj/machinery/door_control,
+ /obj/machinery/newscaster, /obj/machinery/firealarm, /obj/structure/noticeboard, /obj/machinery/button,
/obj/machinery/computer/security/telescreen, /obj/machinery/embedded_controller/radio/simple_vent_controller,
/obj/item/weapon/storage/secure/safe, /obj/machinery/door_timer, /obj/machinery/flasher, /obj/machinery/keycard_auth,
/obj/structure/mirror, /obj/structure/fireaxecabinet, /obj/machinery/computer/security/telescreen/entertainment
)
-/proc/gotwallitem(loc, dir)
+
+var/list/WALLITEMS_EXTERNAL = list(
+ /obj/machinery/camera, /obj/machinery/camera_assembly,
+ /obj/machinery/light_construct, /obj/machinery/light)
+
+var/list/WALLITEMS_INVERSE = list(
+ /obj/machinery/light_construct, /obj/machinery/light)
+
+
+/proc/gotwallitem(loc, dir, var/check_external = 0)
var/locdir = get_step(loc, dir)
for(var/obj/O in loc)
- if(is_type_in_list(O, WALLITEMS))
+ if(is_type_in_list(O, WALLITEMS) && check_external != 2)
//Direction works sometimes
- if(O.dir == dir)
+ if(is_type_in_list(O, WALLITEMS_INVERSE))
+ if(O.dir == turn(dir, 180))
+ return 1
+ else if(O.dir == dir)
return 1
//Some stuff doesn't use dir properly, so we need to check pixel instead
@@ -1245,9 +1257,16 @@ var/list/WALLITEMS = list(
if(get_turf_pixel(O) == locdir)
return 1
+ if(is_type_in_list(O, WALLITEMS_EXTERNAL) && check_external)
+ if(is_type_in_list(O, WALLITEMS_INVERSE))
+ if(O.dir == turn(dir, 180))
+ return 1
+ else if(O.dir == dir)
+ return 1
+
//Some stuff is placed directly on the wallturf (signs)
for(var/obj/O in locdir)
- if(is_type_in_list(O, WALLITEMS))
+ if(is_type_in_list(O, WALLITEMS) && check_external != 2)
if(O.pixel_x == 0 && O.pixel_y == 0)
return 1
return 0
diff --git a/code/_compile_options.dm b/code/_compile_options.dm
index 320b756fdee..a16c320eebf 100644
--- a/code/_compile_options.dm
+++ b/code/_compile_options.dm
@@ -1,5 +1,4 @@
#define DEBUG //Enables byond profiling and full runtime logs - note, this may also be defined in your .dme file
-//#define dellogging //Enables logging of forced del() calls (used for debugging)
//#define TESTING //Enables in-depth debug messages to runtime log (used for debugging)
//By using the testing("message") proc you can create debug-feedback for people with this
//uncommented, but not visible in the release version)
@@ -46,15 +45,6 @@
#define AI_VOX 1 // Comment out if you don't want VOX to be enabled and have players download the voice sounds.
//Additional code for the above flags.
-#ifdef dellogging
-#warn compiling del logging. This will have additional overheads. //will warn you if compiling with dellogging
-var/list/del_counter = list()
-/proc/log_del(datum/X)
- if(istype(X)){del_counter[X.type]++;}
- del(X)
-#define del(X) log_del(X) //overrides all del() calls with log_del()
-#endif
-
#ifdef TESTING
#warn compiling in TESTING mode. testing() debug messages will be visible.
#endif
diff --git a/code/_onclick/hud/action.dm b/code/_onclick/hud/action.dm
index 3f005c58c0f..b9c8254054b 100644
--- a/code/_onclick/hud/action.dm
+++ b/code/_onclick/hud/action.dm
@@ -45,7 +45,8 @@
if(button)
if(T.client)
T.client.screen -= button
- del(button)
+ qdel(button)
+ button = null
T.actions.Remove(src)
T.update_action_buttons()
owner = null
diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm
index fb209d087e7..d947bfa6553 100644
--- a/code/_onclick/hud/hud.dm
+++ b/code/_onclick/hud/hud.dm
@@ -197,6 +197,8 @@ var/datum/global_hud/global_hud = new()
blob_hud()
else if(isdrone(mymob))
drone_hud(ui_style)
+ else if(isswarmer(mymob))
+ swarmer_hud()
//Version denotes which style should be displayed. blank or 0 means "next version"
diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm
index c8670e39a3d..ff6f803f5f0 100644
--- a/code/controllers/configuration.dm
+++ b/code/controllers/configuration.dm
@@ -163,6 +163,8 @@
var/reactionary_explosions = 0 //If we use reactionary explosions, explosions that react to walls and doors
+ var/autoconvert_notes = 0 //if all connecting player's notes should attempt to be converted to the database
+
/datum/configuration/New()
var/list/L = typesof(/datum/game_mode) - /datum/game_mode
for(var/T in L)
@@ -178,7 +180,7 @@
probabilities[M.config_tag] = M.probability
if(M.votable)
votable_modes += M.config_tag
- del(M)
+ qdel(M)
votable_modes += "secret"
/datum/configuration/proc/load(filename, type = "config") //the type can also be game_options, in which case it uses a different switch. not making it separate to not copypaste code - Urist
@@ -343,6 +345,8 @@
if (world.log != newlog)
world.log << "Now logging runtimes to data/logs/runtimes/runtime-[time2text(world.realtime, "YYYY-MM-DD")].log"
world.log = newlog
+ if("autoconvert_notes")
+ config.autoconvert_notes = 1
else
diary << "Unknown setting in configuration: '[name]'"
@@ -567,7 +571,7 @@
var/datum/game_mode/M = new T()
if(M.config_tag && M.config_tag == mode_name)
return M
- del(M)
+ qdel(M)
return new /datum/game_mode/extended()
/datum/configuration/proc/get_runnable_modes()
@@ -576,10 +580,10 @@
var/datum/game_mode/M = new T()
//world << "DEBUG: [T], tag=[M.config_tag], prob=[probabilities[M.config_tag]]"
if(!(M.config_tag in modes))
- del(M)
+ qdel(M)
continue
if(probabilities[M.config_tag]<=0)
- del(M)
+ qdel(M)
continue
if(M.can_start())
runnable_modes[M] = probabilities[M.config_tag]
diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm
index a4639a42327..31bdbd542a8 100644
--- a/code/controllers/master_controller.dm
+++ b/code/controllers/master_controller.dm
@@ -103,7 +103,7 @@ calculate the longest number of ticks the MC can wait between each cycle without
var/oldwait = SS.wait
var/GlobalCostDelta = (SSCostPerSecond-(SS.cost/(SS.wait/10)))-1
var/NewWait = MC_AVERAGE(oldwait,(SS.cost-SS.dwait_buffer+GlobalCostDelta)*SS.dwait_delta)
- SS.wait = Clamp(round(NewWait,world.tick_lag),SS.dwait_lower,SS.dwait_upper)
+ SS.wait = Clamp(NewWait,SS.dwait_lower,SS.dwait_upper)
if (oldwait != SS.wait)
calculateGCD()
SS.next_fire += SS.wait
@@ -147,4 +147,4 @@ calculate the longest number of ticks the MC can wait between each cycle without
msg += "\t [varname] = [varval]\n"
world.log << msg
- subsystems = master_controller.subsystems
\ No newline at end of file
+ subsystems = master_controller.subsystems
diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm
index c3d63b689a4..6c45cc35ae7 100644
--- a/code/controllers/subsystem/air.dm
+++ b/code/controllers/subsystem/air.dm
@@ -95,13 +95,11 @@ var/datum/subsystem/air/SSair
/datum/subsystem/air/proc/process_pipenets()
- var/i=1
for(var/thing in networks)
if(thing)
thing:process()
- ++i
continue
- networks.Cut(i, i+1)
+ networks.Remove(thing)
/datum/subsystem/air/proc/process_atmos_machinery()
diff --git a/code/controllers/subsystem/bots.dm b/code/controllers/subsystem/bots.dm
index 3a4d79d1cf3..6f71bb62d9b 100644
--- a/code/controllers/subsystem/bots.dm
+++ b/code/controllers/subsystem/bots.dm
@@ -14,11 +14,9 @@ var/datum/subsystem/bots/SSbot
/datum/subsystem/bots/fire()
var/seconds = wait * 0.1
- var/i=1
for(var/thing in processing)
if(thing && !thing:gc_destroyed)
spawn(-1)
thing:bot_process(seconds)
- ++i
continue
- processing.Cut(i, i+1)
\ No newline at end of file
+ processing.Remove(thing)
\ No newline at end of file
diff --git a/code/controllers/subsystem/diseases.dm b/code/controllers/subsystem/diseases.dm
index d28785d947f..76343a81bec 100644
--- a/code/controllers/subsystem/diseases.dm
+++ b/code/controllers/subsystem/diseases.dm
@@ -13,10 +13,8 @@ var/datum/subsystem/diseases/SSdisease
..("P:[processing.len]")
/datum/subsystem/diseases/fire()
- var/i=1
for(var/thing in processing)
if(thing)
thing:process()
- ++i
continue
- processing.Cut(i,i+1)
+ processing.Remove(thing)
diff --git a/code/controllers/subsystem/events.dm b/code/controllers/subsystem/events.dm
index e2dfe59a2eb..b381803ba67 100644
--- a/code/controllers/subsystem/events.dm
+++ b/code/controllers/subsystem/events.dm
@@ -36,13 +36,11 @@ var/datum/subsystem/events/SSevent
/datum/subsystem/events/fire()
checkEvent()
- var/i=1
for(var/thing in running)
if(thing)
thing:process()
- ++i
continue
- running.Cut(i,i+1)
+ running.Remove(thing)
//checks if we should select a random event yet, and reschedules if necessary
diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm
index 4e617f76af9..b8d4c6c4a6f 100644
--- a/code/controllers/subsystem/garbage.dm
+++ b/code/controllers/subsystem/garbage.dm
@@ -25,7 +25,6 @@ var/datum/subsystem/garbage_collector/SSgarbage
var/list/didntgc = list() // list of all types that have failed to GC associated with the number of times that's happened.
// the types are stored as strings
-
/datum/subsystem/garbage_collector/New()
NEW_SS_GLOBAL(SSgarbage)
@@ -61,7 +60,7 @@ var/datum/subsystem/garbage_collector/SSgarbage
if(GCd_at_time > time_to_kill)
break // Everything else is newer, skip them
- var/atom/A
+ var/datum/A
if (!istext(refID))
del(A)
else
@@ -76,7 +75,6 @@ var/datum/subsystem/garbage_collector/SSgarbage
else
++gcedlasttick
++totalgcs
-
queue.Cut(1, 2)
@@ -121,6 +119,11 @@ var/datum/subsystem/garbage_collector/SSgarbage
del(A)
if (QDEL_HINT_PUTINPOOL) //qdel will put this object in the pool.
PlaceInPool(A,0)
+ if (QDEL_HINT_FINDREFERENCE)//qdel will, if TESTING is enabled, display all references to this object, then queue the object for deletion.
+ #ifdef TESTING
+ A.find_references(remove_from_queue = FALSE)
+ #endif
+ SSgarbage.Queue(A)
else
SSgarbage.Queue(A)
@@ -134,9 +137,8 @@ var/datum/subsystem/garbage_collector/SSgarbage
// Default implementation of clean-up code.
// This should be overridden to remove all references pointing to the object being destroyed.
-// Return true if the the GC controller should allow the object to continue existing. (Useful if pooling objects.)
+// Return the appropriate QDEL_HINT; in most cases this is QDEL_HINT_QUEUE.
/datum/proc/Destroy()
- //del(src)
tag = null
return QDEL_HINT_QUEUE
@@ -144,40 +146,40 @@ var/datum/subsystem/garbage_collector/SSgarbage
#ifdef TESTING
/client/var/running_find_references
+/datum/var/running_find_references
-/atom/verb/find_references()
+/datum/verb/find_references(remove_from_queue = TRUE as num)
set category = "Debug"
set name = "Find References"
set background = 1
set src in world
- if(!usr || !usr.client)
- return
-
- if(usr.client.running_find_references)
- testing("CANCELLED search for references to a [usr.client.running_find_references].")
- usr.client.running_find_references = null
- return
-
- if(alert("Running this will create a lot of lag until it finishes. You can cancel it by running it again. Would you like to begin the search?", "Find References", "Yes", "No") == "No")
- return
+ running_find_references = type
+ if(usr && usr.client)
+ if(usr.client.running_find_references)
+ testing("CANCELLED search for references to a [usr.client.running_find_references].")
+ usr.client.running_find_references = null
+ running_find_references = null
+ return
+ if(alert("Running this will create a lot of lag until it finishes. You can cancel it by running it again. Would you like to begin the search?", "Find References", "Yes", "No") == "No")
+ running_find_references = null
+ return
// Remove this object from the list of things to be auto-deleted.
- if(garbage)
- garbage.destroyed -= "\ref[src]"
+ if(remove_from_queue && SSgarbage && ("\ref[src]" in SSgarbage.queue))
+ SSgarbage.queue -= "\ref[src]"
+ if(usr && usr.client)
+ usr.client.running_find_references = type
- usr.client.running_find_references = type
testing("Beginning search for references to a [type].")
var/list/things = list()
for(var/client/thing)
- things += thing
+ things |= thing
for(var/datum/thing)
- things += thing
- for(var/atom/thing)
- things += thing
+ things |= thing
testing("Collected list of things in search for references to a [type]. ([things.len] Thing\s)")
for(var/datum/thing in things)
- if(!usr.client.running_find_references) return
+ if(usr && usr.client && !usr.client.running_find_references) return
for(var/varname in thing.vars)
var/variable = thing.vars[varname]
if(variable == src)
@@ -186,15 +188,27 @@ var/datum/subsystem/garbage_collector/SSgarbage
if(src in variable)
testing("Found [src.type] \ref[src] in [thing.type]'s [varname] list var.")
testing("Completed search for references to a [type].")
- usr.client.running_find_references = null
+ if(usr && usr.client)
+ usr.client.running_find_references = null
+ running_find_references = null
/client/verb/purge_all_destroyed_objects()
set category = "Debug"
- if(garbage)
- while(garbage.destroyed.len)
- var/datum/o = locate(garbage.destroyed[1])
+ if(SSgarbage)
+ while(SSgarbage.queue.len)
+ var/datum/o = locate(SSgarbage.queue[1])
if(istype(o) && o.gc_destroyed)
del(o)
- garbage.dels++
- garbage.destroyed.Cut(1, 2)
-#endif
+ SSgarbage.totaldels++
+ SSgarbage.queue.Cut(1, 2)
+
+/datum/verb/qdel_then_find_references()
+ set category = "Debug"
+ set name = "qdel() then Find References"
+ set background = 1
+ set src in world
+
+ qdel(src)
+ if(!running_find_references)
+ find_references(remove_from_queue = FALSE)
+#endif
\ No newline at end of file
diff --git a/code/controllers/subsystem/lighting.dm b/code/controllers/subsystem/lighting.dm
index 053241cd2e7..38389bf704f 100644
--- a/code/controllers/subsystem/lighting.dm
+++ b/code/controllers/subsystem/lighting.dm
@@ -71,13 +71,11 @@ var/datum/subsystem/lighting/SSlighting
if(z_level)
//we need to loop through to clear only shifted turfs from the list. or we will cause errors
- var/i=1
for(var/thing in changed_turfs)
var/turf/T = thing
if(T.z in z_start to z_finish)
- ++i
continue
- changed_turfs.Cut(i, i+1)
+ changed_turfs.Remove(thing)
else
changed_turfs.Cut()
diff --git a/code/controllers/subsystem/nanoUI.dm b/code/controllers/subsystem/nanoUI.dm
index feb60fce007..5ec4344fee7 100644
--- a/code/controllers/subsystem/nanoUI.dm
+++ b/code/controllers/subsystem/nanoUI.dm
@@ -38,12 +38,10 @@ var/datum/subsystem/nano/SSnano
/datum/subsystem/nano/fire()
- var/i=1
for(var/thing in SSnano.processing_uis)
if(thing)
var/datum/nanoui/ui = thing
if(ui.src_object && ui.user)
ui.process()
- ++i
continue
- processing_uis.Cut(i, i+1)
+ processing_uis.Remove(thing)
diff --git a/code/controllers/subsystem/objects.dm b/code/controllers/subsystem/objects.dm
index 35236b38fb6..61c7b804aea 100644
--- a/code/controllers/subsystem/objects.dm
+++ b/code/controllers/subsystem/objects.dm
@@ -31,16 +31,14 @@ var/datum/subsystem/objects/SSobj
/datum/subsystem/objects/fire()
- var/i=1
for(var/thing in SSobj.processing)
if(thing)
thing:process(wait)
- ++i
continue
- SSobj.processing.Cut(i, i+1)
+ SSobj.processing.Remove(thing)
for(var/obj/burningobj in SSobj.burning)
if(burningobj && (burningobj.burn_state == 1))
if(burningobj.burn_world_time < world.time)
burningobj.burn()
else
- SSobj.burning -= burningobj
\ No newline at end of file
+ SSobj.burning.Remove(burningobj)
\ No newline at end of file
diff --git a/code/controllers/subsystem/radio.dm b/code/controllers/subsystem/radio.dm
index 25f172bf9da..110f48d8f42 100644
--- a/code/controllers/subsystem/radio.dm
+++ b/code/controllers/subsystem/radio.dm
@@ -29,7 +29,7 @@ var/datum/subsystem/radio/radio_controller
frequency.remove_listener(device)
if(frequency.devices.len == 0)
- del(frequency)
+ qdel(frequency)
frequencies -= f_text
return 1
diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm
index d578f1c501c..d31987e4f0b 100644
--- a/code/controllers/subsystem/shuttles.dm
+++ b/code/controllers/subsystem/shuttles.dm
@@ -24,10 +24,13 @@ var/datum/subsystem/shuttle/SSshuttle
var/points_per_decisecond = 0.005 //points gained every decisecond
var/points_per_slip = 2 //points gained per slip returned
var/points_per_crate = 5 //points gained per crate returned
- var/points_per_intel = 100 //points gained per intel returned
+ var/points_per_intel = 250 //points gained per intel returned
var/points_per_plasma = 5 //points gained per plasma returned
+ var/points_per_design = 25 //points gained per max reliability research design returned (only for initilally unreliable designs)
var/centcom_message = "" //Remarks from Centcom on how well you checked the last order.
- var/list/discoveredPlants = list() //Unique typepaths for unusual things we've already sent CentComm, associated with their potencies
+ var/list/discoveredPlants = list() //Typepaths for unusual plants we've already sent CentComm, associated with their potencies
+ var/list/techLevels = list()
+ var/list/researchDesigns = list()
var/list/shoppinglist = list()
var/list/requestlist = list()
var/list/supply_packs = list()
@@ -61,15 +64,12 @@ var/datum/subsystem/shuttle/SSshuttle
/datum/subsystem/shuttle/fire()
points += points_per_decisecond * wait
-
- var/i=1
for(var/thing in mobile)
if(thing)
var/obj/docking_port/mobile/P = thing
P.check()
- ++i
continue
- mobile.Cut(i, i+1)
+ mobile.Remove(thing)
/datum/subsystem/shuttle/proc/getShuttle(id)
for(var/obj/docking_port/mobile/M in mobile)
@@ -306,7 +306,7 @@ var/datum/subsystem/shuttle/SSshuttle
var/obj/structure/largecrate/LC = Crate
LC.manifest = slip
LC.update_icon()
-
+
return Crate
/datum/subsystem/shuttle/proc/generateSupplyOrder(packId, _orderedby, _orderedbyRank, _comment)
diff --git a/code/controllers/subsystem/shuttles/supply.dm b/code/controllers/subsystem/shuttles/supply.dm
index 8d0ca50207f..71873c539da 100644
--- a/code/controllers/subsystem/shuttles/supply.dm
+++ b/code/controllers/subsystem/shuttles/supply.dm
@@ -143,6 +143,32 @@
if(istype(thing, /obj/item/documents/syndicate))
++intel_count
+ // Sell tech levels
+ if(istype(thing, /obj/item/weapon/disk/tech_disk))
+ var/obj/item/weapon/disk/tech_disk/disk = thing
+ if(!disk.stored) continue
+ var/datum/tech/tech = disk.stored
+
+ var/cost = tech.getCost(SSshuttle.techLevels[tech.id])
+ if(cost)
+ SSshuttle.techLevels[tech.id] = tech.level
+ SSshuttle.points += cost
+ msg += "+[cost] : [tech.name] - new data. "
+
+ // Sell max reliablity designs
+ if(istype(thing, /obj/item/weapon/disk/design_disk))
+ var/obj/item/weapon/disk/design_disk/disk = thing
+ if(!disk.blueprint) continue
+ var/datum/design/design = disk.blueprint
+ if(design.id in SSshuttle.researchDesigns) continue
+
+ if(initial(design.reliability) < 100 && design.reliability >= 100)
+ // Maxed out reliability designs only.
+ SSshuttle.points += SSshuttle.points_per_design
+ SSshuttle.researchDesigns += design.id
+ msg += "+[SSshuttle.points_per_design] : Reliable [design.name] design. "
+
+ // Sell exotic plants
if(istype(thing, /obj/item/seeds))
var/obj/item/seeds/S = thing
if(S.rarity == 0) // Mundane species
diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 98fecb0227c..45aab6c2339 100644
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -137,7 +137,7 @@ var/datum/subsystem/ticker/ticker
mode = config.pick_mode(master_mode)
if(!mode.can_start())
world << "Unable to start [mode.name]. Not enough players, [mode.required_players] players and [mode.required_enemies] eligible antagonists needed. Reverting to pre-game lobby."
- del(mode)
+ qdel(mode)
SSjob.ResetOccupations()
return 0
@@ -148,7 +148,7 @@ var/datum/subsystem/ticker/ticker
if(!Debug2)
if(!can_continue)
- del(mode)
+ qdel(mode)
world << "Error setting up [master_mode]. Reverting to pre-game lobby."
SSjob.ResetOccupations()
return 0
@@ -289,8 +289,8 @@ var/datum/subsystem/ticker/ticker
flick("station_intact",cinematic)
world << sound('sound/ambience/signal.ogg')
sleep(100)
- if(cinematic) del(cinematic)
- if(temp_buckle) del(temp_buckle)
+ if(cinematic) qdel(cinematic)
+ if(temp_buckle) qdel(temp_buckle)
return //Faster exit, since nothing happened
else //Station nuked (nuke,explosion,summary)
flick("intro_nuke",cinematic)
diff --git a/code/controllers/subsystem/voting.dm b/code/controllers/subsystem/voting.dm
index 5d11eccd14a..1fce5abd014 100644
--- a/code/controllers/subsystem/voting.dm
+++ b/code/controllers/subsystem/voting.dm
@@ -116,7 +116,16 @@ var/datum/subsystem/vote/SSvote
else
master_mode = .
if(restart)
- world.Reboot("Restart vote successful.", "end_error", "restart vote")
+ var/active_admins = 0
+ for(var/client/C in admins)
+ if(!C.is_afk() && check_rights_for(C, R_SERVER))
+ active_admins = 1
+ break
+ if(!active_admins)
+ world.Reboot("Restart vote successful.", "end_error", "restart vote")
+ else
+ world << "Notice:Restart vote will not restart the server automatically because there are active admins on. "
+ message_admins("A restart vote has passed, but there are active admins on with +server, so it has been canceled. If you wish, you may restart the server.")
return .
diff --git a/code/controllers/subsystems.dm b/code/controllers/subsystems.dm
index 88e3451a4d2..5c3c9a50f72 100644
--- a/code/controllers/subsystems.dm
+++ b/code/controllers/subsystems.dm
@@ -47,7 +47,7 @@
/datum/subsystem/proc/stat_entry(msg)
var/dwait = ""
if (dynamic_wait)
- dwait = "DWait:[wait]ds "
+ dwait = "DWait:[round(wait,0.1)]ds "
stat(name, "[round(cost,0.001)]ds\t[dwait][msg]")
@@ -59,4 +59,4 @@
//usually called via datum/subsystem/New() when replacing a subsystem (i.e. due to a recurring crash)
//should attempt to salvage what it can from the old instance of subsystem
-/datum/subsystem/proc/Recover()
\ No newline at end of file
+/datum/subsystem/proc/Recover()
diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm
index 0ce16230efc..74cd402bca3 100644
--- a/code/datums/ai_laws.dm
+++ b/code/datums/ai_laws.dm
@@ -134,7 +134,7 @@
src.ion += law
/datum/ai_laws/proc/clear_inherent_laws()
- del(src.inherent)
+ qdel(src.inherent)
src.inherent = list()
/datum/ai_laws/proc/add_supplied_law(number, law)
diff --git a/code/datums/computerfiles.dm b/code/datums/computerfiles.dm
deleted file mode 100644
index 37ba1ec51e0..00000000000
--- a/code/datums/computerfiles.dm
+++ /dev/null
@@ -1,7 +0,0 @@
-/datum
- computer
- var/name
- folder
- var/list/datum/computer/contents = list()
-
- file
\ No newline at end of file
diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm
index 954446639f3..6b098310e6d 100644
--- a/code/datums/diseases/_disease.dm
+++ b/code/datums/diseases/_disease.dm
@@ -138,7 +138,7 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease
for(var/datum/disease/D in affected_mob.viruses)
if(D != src)
if(IsSame(D))
- del(D)
+ qdel(D)
if(holder == affected_mob)
if(affected_mob.stat != DEAD)
@@ -156,7 +156,7 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease
if(!(type in affected_mob.resistances))
affected_mob.resistances += type
remove_virus()
- del(src)
+ qdel(src)
/datum/disease/New()
diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm
index 8d5b977c3d7..94e808667ae 100644
--- a/code/datums/diseases/advance/advance.dm
+++ b/code/datums/diseases/advance/advance.dm
@@ -107,7 +107,7 @@ var/list/advance_cures = list(
if(resistance && !(id in affected_mob.resistances))
affected_mob.resistances[id] = id
remove_virus()
- del(src) //delete the datum to stop it processing
+ qdel(src) //delete the datum to stop it processing
// Returns the advance disease with a different reference memory.
/datum/disease/advance/Copy(process = 0)
diff --git a/code/datums/gas_mixture.dm b/code/datums/gas_mixture.dm
index 277773ea3d5..ff91a69b1d6 100644
--- a/code/datums/gas_mixture.dm
+++ b/code/datums/gas_mixture.dm
@@ -321,7 +321,7 @@ What are the archived variables for?
trace_gases += corresponding
corresponding.moles += trace_gas.moles
-// del(giver)
+// qdel(giver)
return 1
/datum/gas_mixture/remove(amount)
diff --git a/code/datums/modules.dm b/code/datums/modules.dm
index e52a644d157..af693456543 100644
--- a/code/datums/modules.dm
+++ b/code/datums/modules.dm
@@ -24,7 +24,7 @@ var/list/modules = list( // global associative list
var/mneed = mods.inmodlist(type) // find if this type has modules defined
if(!mneed) // not found in module list?
- del(src) // delete self, thus ending proc
+ qdel(src) // delete self, thus ending proc
var/needed = mods.getbitmask(type) // get a bitmask for the number of modules in this object
status = needed
diff --git a/code/datums/mutations.dm b/code/datums/mutations.dm
index b517e417d93..f2e12cee156 100644
--- a/code/datums/mutations.dm
+++ b/code/datums/mutations.dm
@@ -214,10 +214,12 @@
text_gain_indication = "You get a headache. "
/datum/mutation/human/epilepsy/on_life(mob/living/carbon/human/owner)
- if ((prob(1) && owner.paralysis < 1))
+ if((prob(1) && owner.paralysis < 1))
owner.visible_message("[owner] starts having a seizure! ", "You have a seizure! ")
owner.Paralyse(10)
owner.Jitter(1000)
+ spawn(90)
+ owner.jitteriness = 10
/datum/mutation/human/bad_dna
@@ -364,7 +366,8 @@
if(T.lighting_lumcount <= 2)
owner.alpha -= 25
else
- owner.alpha = round(255 * 0.80)
+ if(!owner.dna.check_mutation(CHAMELEON))
+ owner.alpha = round(255 * 0.80)
/datum/mutation/human/stealth/on_losing(mob/living/carbon/human/owner)
if(..())
diff --git a/code/datums/spells/lichdom.dm b/code/datums/spells/lichdom.dm
index a6ace565803..ee2189c36f4 100644
--- a/code/datums/spells/lichdom.dm
+++ b/code/datums/spells/lichdom.dm
@@ -38,7 +38,7 @@
charge_counter = charge_max
return
- if(!marked_item.loc) //Wait nevermind
+ if(!marked_item || qdeleted(marked_item)) //Wait nevermind
user << "Your phylactery is gone! "
return
diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index 5d0e6fb95a0..4d358db2cbf 100644
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -233,6 +233,17 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
cost = 10
containername = "disabler crate"
+/datum/supply_packs/security/forensics
+ name = "Forensics Crate"
+ contains = list(/obj/item/device/detective_scanner,
+ /obj/item/weapon/storage/box/evidence,
+ /obj/item/device/camera,
+ /obj/item/device/taperecorder,
+ /obj/item/toy/crayon/white,
+ /obj/item/clothing/head/det_hat)
+ cost = 20
+ containername ="forensics crate"
+
///// Armory stuff
/datum/supply_packs/security/armory
@@ -470,7 +481,7 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
/obj/item/solar_assembly,
/obj/item/solar_assembly, // 21 Solar Assemblies. 1 Extra for the controller
/obj/item/weapon/circuitboard/solar_control,
- /obj/item/weapon/tracker_electronics,
+ /obj/item/weapon/electronics/tracker,
/obj/item/weapon/paper/solar)
cost = 20
containername = "solar pack crate"
@@ -748,6 +759,8 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
/obj/item/weapon/reagent_containers/food/condiment/rice,
/obj/item/weapon/reagent_containers/food/condiment/milk,
/obj/item/weapon/reagent_containers/food/condiment/soymilk,
+ /obj/item/weapon/reagent_containers/food/condiment/saltshaker,
+ /obj/item/weapon/reagent_containers/food/condiment/peppermill,
/obj/item/weapon/storage/fancy/egg_box,
/obj/item/weapon/reagent_containers/food/condiment/enzyme,
/obj/item/weapon/reagent_containers/food/condiment/sugar,
@@ -1219,6 +1232,26 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
containername = "crate" //let's keep it subtle, eh?
contraband = 1
+/datum/supply_packs/misc/randomised/toys
+ name = "Toy Crate"
+ num_contained = 5
+ contains = list(/obj/item/toy/spinningtoy,
+ /obj/item/toy/sword,
+ /obj/item/toy/foamblade,
+ /obj/item/toy/AI,
+ /obj/item/toy/owl,
+ /obj/item/toy/griffin,
+ /obj/item/toy/nuke,
+ /obj/item/toy/minimeteor,
+ /obj/item/toy/carpplushie,
+ /obj/item/weapon/coin/antagtoken,
+ /obj/item/stack/tile/fakespace,
+ /obj/item/weapon/gun/projectile/shotgun/toy/crossbow,
+ /obj/item/toy/redbutton)
+
+ cost = 50 // or play the arcade machines ya lazy bum
+ containername ="toy crate"
+
/datum/supply_packs/misc/autodrobe
name = "Autodrobe Supply Crate"
contains = list(/obj/item/weapon/vending_refill/autodrobe,
@@ -1280,3 +1313,4 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
cost = 40
containername = "foam force pistols crate"
contraband = 1
+
diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index bf1edc9c372..d7b6ef50879 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -514,6 +514,13 @@ var/list/uplink_items = list()
item = /obj/item/weapon/storage/backpack/dufflebag/syndie/surgery
cost = 4
+/datum/uplink_item/device_tools/military_belt
+ name = "Military Belt"
+ desc = "A robust seven-slot red belt made for carrying a broad variety of weapons, ammunition and explosives"
+ item = /obj/item/weapon/storage/belt/military
+ cost = 3
+ excludefrom = list(/datum/game_mode/nuclear)
+
/datum/uplink_item/device_tools/medkit
name = "Syndicate Combat Medic Kit"
desc = "The syndicate medkit is a suspicious black and red. Included is a combat stimulant injector for rapid healing, a medical hud for quick identification of injured comrades, \
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index 316c437c912..9a0c7e18cd8 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -391,7 +391,7 @@
else
qdel(AM)
if(istype(T, /turf/simulated))
- del(T)
+ qdel(T)
/*for(var/atom/movable/bug in src) // If someone (or something) is somehow still in the shuttle's docking area...
if(ismob(bug))
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index df257364a90..70d9fa01be2 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -59,7 +59,7 @@
return
/atom/proc/assume_air(datum/gas_mixture/giver)
- del(giver)
+ qdel(giver)
return null
/atom/proc/remove_air(amount)
@@ -284,12 +284,8 @@ var/list/blood_splatter_icons = list()
var/mob/living/carbon/human/H = M
if(NOBLOOD in H.dna.species.specflags)
return 0
- if(rejects_blood())
+ if(rejects_blood() || !istype(M) || !check_dna_integrity(M))
return 0
- if(!istype(M))
- return 0
- if(!check_dna_integrity(M)) //check dna is valid and create/setup if necessary
- return 0 //no dna!
return 1
/obj/add_blood(mob/living/carbon/M)
diff --git a/code/game/dna.dm b/code/game/dna.dm
index c8c0ceb4cd1..826d8468f9a 100644
--- a/code/game/dna.dm
+++ b/code/game/dna.dm
@@ -35,7 +35,7 @@
destination.dna.unique_enzymes = unique_enzymes
destination.dna.uni_identity = uni_identity
destination.dna.blood_type = blood_type
- hardset_dna(destination, null, null, null, null, species)
+ hardset_dna(destination, null, null, null, null, species.type)
destination.dna.features = features
destination.dna.real_name = real_name
destination.dna.mutations = mutations
diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm
index eeada126134..cad8505781d 100644
--- a/code/game/gamemodes/blob/blobs/blob_mobs.dm
+++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm
@@ -39,6 +39,7 @@
var/obj/effect/blob/factory/factory = null
var/list/human_overlays = list()
var/is_zombie = 0
+ gold_core_spawnable = 1
/mob/living/simple_animal/hostile/blob/blobspore/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
..()
@@ -94,12 +95,12 @@
var/turf/location = get_turf(src)
// Create the reagents to put into the air
- create_reagents(5)
+ create_reagents(10)
if(overmind && overmind.blob_reagent_datum)
- reagents.add_reagent(overmind.blob_reagent_datum.id, 5)
+ reagents.add_reagent(overmind.blob_reagent_datum.id, 10)
else
- reagents.add_reagent("spore", 5)
+ reagents.add_reagent("spore", 10)
// Attach the smoke spreader and setup/start it.
S.attach(location)
@@ -161,7 +162,7 @@
force_threshold = 10
environment_smash = 3
mob_size = MOB_SIZE_LARGE
-
+ gold_core_spawnable = 1
/mob/living/simple_animal/hostile/blob/blobbernaut/blob_act()
return
diff --git a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm
index b6bd9cefb62..a0c97c1da99 100644
--- a/code/game/gamemodes/blob/powers.dm
+++ b/code/game/gamemodes/blob/powers.dm
@@ -157,7 +157,10 @@
last_attack = world.time
OB.expand(T, 0, blob_reagent_datum.color)
for(var/mob/living/L in T)
- blob_reagent_datum.reaction_mob(L, TOUCH, 25)
+ if("blob" in L.faction) //no friendly fire
+ continue
+ var/mob_protection = L.get_permeability_protection()
+ blob_reagent_datum.reaction_mob(L, VAPOR, 25, 1, mob_protection)
blob_reagent_datum.send_message(L)
OB.color = blob_reagent_datum.color
diff --git a/code/game/gamemodes/changeling/powers/tiny_prick.dm b/code/game/gamemodes/changeling/powers/tiny_prick.dm
index 243c5c8724f..5cd021fff74 100644
--- a/code/game/gamemodes/changeling/powers/tiny_prick.dm
+++ b/code/game/gamemodes/changeling/powers/tiny_prick.dm
@@ -65,7 +65,7 @@
chemical_cost = 40
dna_cost = 3
genetic_damage = 100
- var/datum/dna/selected_dna = null
+ var/datum/changelingprofile/selected_dna = null
/obj/effect/proc_holder/changeling/sting/transformation/Click()
var/mob/user = usr
@@ -87,8 +87,8 @@
return 1
/obj/effect/proc_holder/changeling/sting/transformation/sting_action(mob/user, mob/target)
- add_logs(user, target, "stung", "transformation sting", " new identity is [selected_dna.real_name]")
- var/datum/dna/NewDNA = selected_dna
+ add_logs(user, target, "stung", "transformation sting", " new identity is [selected_dna.dna.real_name]")
+ var/datum/dna/NewDNA = selected_dna.dna
if(ismonkey(target))
user << "Our genes cry out as we sting [target.name]! "
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index ab505d83329..67066db6d70 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -1002,8 +1002,8 @@ var/list/sacrificed = list()
usr.say("Uln Shogg Hafh[pick("'","`")]drn!")
user << "\red You quietly prick your finger and make a pact with the geometer of blood to acquire more power."
user.take_overall_damage(rand(5,20))
- del(user.head)
- del(user.wear_suit)
+ qdel(user.head)
+ qdel(user.wear_suit)
user.equip_to_slot_or_del(new /obj/item/clothing/head/magus(user), slot_head)
user.equip_to_slot_or_del(new /obj/item/clothing/suit/magusred(user), slot_wear_suit)
user.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult(user), slot_shoes)
@@ -1020,8 +1020,8 @@ var/list/sacrificed = list()
user.put_in_hands(new /obj/item/weapon/gun/magic/wand/resurrection(user))
if (armorworn == "traveler" || armorworn == "marauder")
usr.say("Tharanak n[pick("'","`")]ghft!")
- del(user.head)
- del(user.wear_suit)
+ qdel(user.head)
+ qdel(user.wear_suit)
user.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/cult(user), slot_head)
user.equip_to_slot_or_del(new /obj/item/clothing/suit/space/cult(user), slot_wear_suit)
user.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult(user), slot_shoes)
@@ -1033,7 +1033,7 @@ var/list/sacrificed = list()
if (armorworn == "marauder")
user.spellremove(user)
user.mind.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/creature/cult(user)
- del(src)
+ qdel(src)
return
///Summon Shell: Summons a construct shell if there's four plasteel sheets on top of the rune
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 8986580d810..f27e6522c59 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -114,7 +114,7 @@
if(G.reroll_friendly)
usable_modes += G
else
- del(G)
+ qdel(G)
if(!usable_modes)
message_admins("Convert_roundtype failed due to no valid modes to convert to. Please report this error to the Coders.")
diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm
index 8f90c400ae9..1909376ce74 100644
--- a/code/game/gamemodes/malfunction/Malf_Modules.dm
+++ b/code/game/gamemodes/malfunction/Malf_Modules.dm
@@ -19,7 +19,7 @@
/datum/AI_Module/large/fireproof_core
- module_name = "Core upgrade"
+ module_name = "Core Upgrade"
mod_pick_name = "coreup"
description = "An upgrade to improve core resistance, making it immune to fire and heat. This effect is permanent."
cost = 50
@@ -36,7 +36,7 @@
src << "Core fireproofed. "
/datum/AI_Module/large/upgrade_turrets
- module_name = "AI Turret upgrade"
+ module_name = "AI Turret Upgrade"
mod_pick_name = "turret"
description = "Improves the power and health of all AI turrets. This effect is permanent."
cost = 50
@@ -121,7 +121,7 @@
minor_announce("Automatic system reboot complete. Have a secure day.","Network reset:")
/datum/AI_Module/large/disable_rcd
- module_name = "RCD disable"
+ module_name = "RCD Disable"
mod_pick_name = "rcd"
description = "Send a specialised pulse to break all RCD devices on the station."
cost = 50
@@ -217,7 +217,7 @@
/datum/AI_Module/small/overload_machine
- module_name = "Machine overload"
+ module_name = "Machine Overload"
mod_pick_name = "overload"
description = "Overloads an electrical machine, causing a small explosion. 2 uses."
uses = 2
@@ -246,7 +246,7 @@
else src << "That's not a machine. "
/datum/AI_Module/small/override_machine
- module_name = "Machine override"
+ module_name = "Machine Override"
mod_pick_name = "override"
description = "Overrides a machine's programming, causing it to rise up and attack everyone except other machines. 4 uses."
uses = 4
diff --git a/code/game/gamemodes/malfunction/malfunction.dm b/code/game/gamemodes/malfunction/malfunction.dm
index 3b453e491cc..5a88c2e0525 100644
--- a/code/game/gamemodes/malfunction/malfunction.dm
+++ b/code/game/gamemodes/malfunction/malfunction.dm
@@ -285,6 +285,7 @@
/datum/game_mode/proc/auto_declare_completion_malfunction()
if( malf_ai.len || istype(ticker.mode,/datum/game_mode/malfunction) )
var/text = "The malfunctioning AIs were: "
+ var/module_text_temp = "Purchased modules: " //Added at the end
for(var/datum/mind/malf in malf_ai)
@@ -296,10 +297,13 @@
text += "operational"
if(malf.current.real_name != malf.name)
text += " as [malf.current.real_name] "
+ var/mob/living/silicon/ai/AI = malf.current
+ for(var/datum/AI_Module/mod in AI.current_modules)
+ module_text_temp += mod.module_name + " "
else
text += "hardware destroyed"
text += ")"
- text += " "
+ text += module_text_temp
world << text
return 1
diff --git a/code/game/gamemodes/shadowling/shadowling.dm b/code/game/gamemodes/shadowling/shadowling.dm
index 37223bac1d2..acb36b6e0be 100644
--- a/code/game/gamemodes/shadowling/shadowling.dm
+++ b/code/game/gamemodes/shadowling/shadowling.dm
@@ -1,6 +1,6 @@
#define LIGHT_DAM_THRESHOLD 4
#define LIGHT_HEAL_THRESHOLD 2
-#define LIGHT_DAMAGE_TAKEN 10
+#define LIGHT_DAMAGE_TAKEN 7
/*
SHADOWLING: A gamemode based on previously-run events
@@ -232,8 +232,8 @@ Made by Xhuis
id = "shadowling"
say_mod = "chitters"
specflags = list(NOBREATH,NOBLOOD,RADIMMUNE,NOGUNS) //Can't use guns due to muzzle flash
- burnmod = 2 //2x burn damage lel
- heatmod = 2
+ burnmod = 1.5 //1.5x burn damage, 2x is excessive
+ heatmod = 1.5
/datum/species/shadow/ling/spec_life(mob/living/carbon/human/H)
if(!H.weakeyes) H.weakeyes = 1 //Makes them more vulnerable to flashes and flashbangs
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index 4ae18618855..4c0ae25bd27 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -78,7 +78,7 @@
if(initial(S.name) == initial(aspell.name))
spell_levels = aspell.spell_level
user.mind.spell_list.Remove(aspell)
- del(S)
+ qdel(S)
return cost * (spell_levels+1)
return -1
/datum/spellbook_entry/proc/GetInfo()
@@ -424,7 +424,7 @@
entries |= E
categories |= E.category
else
- del(E)
+ qdel(E)
tab = categories[1]
/obj/item/weapon/spellbook/New()
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index cfcd3967614..49a97334eaa 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -122,12 +122,9 @@
var/list/air_vent_info = list()
var/list/air_scrub_info = list()
-/obj/machinery/alarm/New(nloc, ndir, nbuild)
+/obj/machinery/alarm/New(loc, ndir, nbuild)
..()
wires = new(src)
- if(nloc)
- loc = nloc
-
if(ndir)
dir = ndir
@@ -753,7 +750,7 @@
if (do_after(user, 20, target = src))
if (buildstage == 1)
user <<"You remove the air alarm electronics. "
- new /obj/item/weapon/airalarm_electronics( src.loc )
+ new /obj/item/weapon/electronics/airalarm( src.loc )
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
buildstage = 0
update_icon()
@@ -780,7 +777,7 @@
update_icon()
return
if(0)
- if(istype(W, /obj/item/weapon/airalarm_electronics))
+ if(istype(W, /obj/item/weapon/electronics/airalarm))
if(user.unEquip(W))
user << "You insert the circuit. "
buildstage = 1
@@ -791,7 +788,7 @@
if(istype(W, /obj/item/weapon/wrench))
user << "You detach \the [src] from the wall. "
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
- new /obj/item/alarm_frame( user.loc )
+ new /obj/item/wallframe/alarm( user.loc )
qdel(src)
return
@@ -810,7 +807,8 @@
/obj/machinery/alarm/emag_act(mob/user)
if(!emagged)
src.emagged = 1
- user.visible_message("Sparks fly out of the [src]! ", "You emag the [src], disabling its safeties. ")
+ if(user)
+ user.visible_message("Sparks fly out of the [src]! ", "You emag the [src], disabling its safeties. ")
playsound(src.loc, 'sound/effects/sparks4.ogg', 50, 1)
return
@@ -819,58 +817,20 @@
AIR ALARM CIRCUIT
Just a object used in constructing air alarms
*/
-/obj/item/weapon/airalarm_electronics
+/obj/item/weapon/electronics/airalarm
name = "air alarm electronics"
- icon = 'icons/obj/module.dmi'
icon_state = "airalarm_electronics"
- desc = "Looks like a circuit. Probably is."
- w_class = 2.0
- materials = list(MAT_METAL=50, MAT_GLASS=50)
-
/*
AIR ALARM ITEM
Handheld air alarm frame, for placing on walls
-Code shamelessly copied from apc_frame
*/
-/obj/item/alarm_frame
+/obj/item/wallframe/alarm
name = "air alarm frame"
desc = "Used for building Air Alarms"
icon = 'icons/obj/monitors.dmi'
icon_state = "alarm_bitem"
- flags = CONDUCT
-
-/obj/item/alarm_frame/attackby(obj/item/weapon/W, mob/user, params)
- if (istype(W, /obj/item/weapon/wrench))
- new /obj/item/stack/sheet/metal( get_turf(src.loc), 2 )
- qdel(src)
- return
- ..()
-
-/obj/item/alarm_frame/proc/try_build(turf/on_wall)
- if (get_dist(on_wall,usr)>1)
- return
-
- var/ndir = get_dir(on_wall,usr)
- if (!(ndir in cardinal))
- return
-
- var/turf/loc = get_turf(usr)
- var/area/A = loc.loc
- if (!istype(loc, /turf/simulated/floor))
- usr << "Air Alarm cannot be placed on this spot! "
- return
- if (A.requires_power == 0 || A.name == "Space")
- usr << "Air Alarm cannot be placed in this area! "
- return
-
- if(gotwallitem(loc, ndir))
- usr << "There's already an item on this wall! "
- return
-
- new /obj/machinery/alarm(loc, ndir, 1)
-
- qdel(src)
+ result_path = /obj/machinery/alarm
/*
@@ -894,7 +854,6 @@ FIRE ALARM
var/buildstage = 2 // 2 = complete, 1 = no wires, 0 = circuit gone
/obj/machinery/firealarm/update_icon()
-
src.overlays = list()
var/area/A = src.loc
@@ -938,7 +897,8 @@ FIRE ALARM
/obj/machinery/firealarm/emag_act(mob/user)
if(!emagged)
src.emagged = 1
- user.visible_message("Sparks fly out of the [src]! ", "You emag the [src], disabling its thermal sensors. ")
+ if(user)
+ user.visible_message("Sparks fly out of the [src]! ", "You emag the [src], disabling its thermal sensors. ")
playsound(src.loc, 'sound/effects/sparks4.ogg', 50, 1)
return
@@ -1014,11 +974,11 @@ FIRE ALARM
user << "You remove the destroyed circuit. "
else
user << "You pry out the circuit. "
- new /obj/item/weapon/firealarm_electronics(user.loc)
+ new /obj/item/weapon/electronics/firealarm(user.loc)
buildstage = 0
update_icon()
if(0)
- if(istype(W, /obj/item/weapon/firealarm_electronics))
+ if(istype(W, /obj/item/weapon/electronics/firealarm))
user << "You insert the circuit. "
qdel(W)
buildstage = 1
@@ -1027,7 +987,7 @@ FIRE ALARM
else if(istype(W, /obj/item/weapon/wrench))
user.visible_message("[user] removes the fire alarm assembly from the wall.", \
"You remove the fire alarm assembly from the wall. ")
- var/obj/item/firealarm_frame/frame = new /obj/item/firealarm_frame()
+ var/obj/item/wallframe/firealarm/frame = new /obj/item/wallframe/firealarm()
frame.loc = user.loc
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
qdel(src)
@@ -1151,14 +1111,11 @@ FIRE ALARM
//playsound(src.loc, 'sound/ambience/signal.ogg', 75, 0)
return
-/obj/machinery/firealarm/New(loc, dir, building)
+/obj/machinery/firealarm/New(loc, ndir, building)
..()
- if(loc)
- src.loc = loc
-
- if(dir)
- src.dir = dir
+ if(ndir)
+ src.dir = ndir
if(building)
buildstage = 0
@@ -1178,59 +1135,21 @@ FIRE ALARM
FIRE ALARM CIRCUIT
Just a object used in constructing fire alarms
*/
-/obj/item/weapon/firealarm_electronics
+/obj/item/weapon/electronics/firealarm
name = "fire alarm electronics"
- icon = 'icons/obj/doors/door_assembly.dmi'
- icon_state = "door_electronics"
desc = "A circuit. It has a label on it, it says \"Can handle heat levels up to 40 degrees celsius!\""
- w_class = 2.0
- materials = list(MAT_METAL=50, MAT_GLASS=50)
/*
FIRE ALARM ITEM
Handheld fire alarm frame, for placing on walls
-Code shamelessly copied from apc_frame
*/
-/obj/item/firealarm_frame
+/obj/item/wallframe/firealarm
name = "fire alarm frame"
desc = "Used for building Fire Alarms"
icon = 'icons/obj/monitors.dmi'
icon_state = "fire_bitem"
- flags = CONDUCT
-
-
-/obj/item/firealarm_frame/attackby(obj/item/weapon/W, mob/user, params)
- if (istype(W, /obj/item/weapon/wrench))
- new /obj/item/stack/sheet/metal( get_turf(src.loc), 2 )
- qdel(src)
- return
- ..()
-
-/obj/item/firealarm_frame/proc/try_build(turf/on_wall)
- if (get_dist(on_wall,usr)>1)
- return
-
- var/ndir = get_dir(on_wall,usr)
- if (!(ndir in cardinal))
- return
-
- var/turf/loc = get_turf(usr)
- var/area/A = loc.loc
- if (!istype(loc, /turf/simulated/floor))
- usr << "Fire Alarm cannot be placed on this spot. "
- return
- if (A.requires_power == 0 || A.name == "Space")
- usr << "Fire Alarm cannot be placed in this area. "
- return
-
- if(gotwallitem(loc, ndir))
- usr << "There's already an item on this wall! "
- return
-
- new /obj/machinery/firealarm(loc, ndir, 1)
-
- qdel(src)
+ result_path = /obj/machinery/firealarm
/*
* Party button
diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm
index 738d69b14cf..8566d6c45a1 100644
--- a/code/game/machinery/announcement_system.dm
+++ b/code/game/machinery/announcement_system.dm
@@ -65,6 +65,7 @@ var/list/announcement_systems = list()
/obj/machinery/announcement_system/Destroy()
announcement_systems -= src //"OH GOD WHY ARE THERE 100,000 LISTED ANNOUNCEMENT SYSTEMS?!!"
+ ..()
/obj/machinery/announcement_system/power_change()
..()
diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm
index 82f0e3a1a78..ae29f1a43e2 100644
--- a/code/game/machinery/atmoalter/canister.dm
+++ b/code/game/machinery/atmoalter/canister.dm
@@ -1,5 +1,6 @@
/obj/machinery/portable_atmospherics/canister
name = "canister"
+ desc = "A canister for the storage of gas."
icon = 'icons/obj/atmos.dmi'
icon_state = "yellow"
density = 1
@@ -21,31 +22,37 @@
/obj/machinery/portable_atmospherics/canister/sleeping_agent
name = "canister: \[N2O\]"
+ desc = "Nitrous oxide gas. Known to cause drowsiness."
icon_state = "redws"
canister_color = "redws"
can_label = 0
/obj/machinery/portable_atmospherics/canister/nitrogen
name = "canister: \[N2\]"
+ desc = "Nitrogen gas. Reportedly useful for something."
icon_state = "red"
canister_color = "red"
can_label = 0
/obj/machinery/portable_atmospherics/canister/oxygen
name = "canister: \[O2\]"
+ desc = "Oxygen. Necessary for human life."
icon_state = "blue"
canister_color = "blue"
can_label = 0
/obj/machinery/portable_atmospherics/canister/toxins
- name = "canister \[Toxin (Bio)\]"
+ name = "canister \[Plasma\]"
+ desc = "Plasma gas. The reason YOU are here. Highly toxic."
icon_state = "orange"
canister_color = "orange"
can_label = 0
/obj/machinery/portable_atmospherics/canister/carbon_dioxide
name = "canister \[CO2\]"
+ desc = "Carbon dioxide. What the fuck is carbon dioxide?"
icon_state = "black"
canister_color = "black"
can_label = 0
/obj/machinery/portable_atmospherics/canister/air
name = "canister \[Air\]"
+ desc = "Pre-mixed air."
icon_state = "grey"
canister_color = "grey"
can_label = 0
@@ -347,7 +354,7 @@ update_flag
"\[N2O\]" = "redws", \
"\[N2\]" = "red", \
"\[O2\]" = "blue", \
- "\[Toxin (Bio)\]" = "orange", \
+ "\[Plasma\]" = "orange", \
"\[CO2\]" = "black", \
"\[Air\]" = "grey", \
"\[CAUTION\]" = "yellow", \
diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm
index 9c6639c3bd7..c7d00e16013 100644
--- a/code/game/machinery/bots/bots.dm
+++ b/code/game/machinery/bots/bots.dm
@@ -70,17 +70,16 @@
#define BOT_MOVING 9 // for clean/floor/med bots, when moving.
#define BOT_HEALING 10 // healing people (medbots)
#define BOT_RESPONDING 11 // responding to a call from the AI
- #define BOT_LOADING 12 // loading/unloading
- #define BOT_DELIVER 13 // moving to deliver
- #define BOT_GO_HOME 14 // returning to home
- #define BOT_BLOCKED 15 // blocked
- #define BOT_NAV 16 // computing navigation
- #define BOT_WAIT_FOR_NAV 17 // waiting for nav computation
- #define BOT_NO_ROUTE 18 // no destination beacon found (or no route)
+ #define BOT_DELIVER 12 // moving to deliver
+ #define BOT_GO_HOME 13 // returning to home
+ #define BOT_BLOCKED 14 // blocked
+ #define BOT_NAV 15 // computing navigation
+ #define BOT_WAIT_FOR_NAV 16 // waiting for nav computation
+ #define BOT_NO_ROUTE 17 // no destination beacon found (or no route)
var/list/mode_name = list("In Pursuit","Preparing to Arrest", "Arresting", \
"Beginning Patrol", "Patrolling", "Summoned by PDA", \
"Cleaning", "Repairing", "Proceeding to work site", "Healing", \
- "Proceeding to AI waypoint", "Loading/Unloading", "Navigating to Delivery Location", "Navigating to Home", \
+ "Proceeding to AI waypoint", "Navigating to Delivery Location", "Navigating to Home", \
"Waiting for clear path", "Calculating navigation path", "Pinging beacon network", "Unable to reach destination")
//This holds text for what the bot is mode doing, reported on the remote bot control interface.
diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm
index 68643c28cb6..8f69d506dc5 100644
--- a/code/game/machinery/bots/mulebot.dm
+++ b/code/game/machinery/bots/mulebot.dm
@@ -6,6 +6,11 @@
var/global/mulebot_count = 0
+
+#define SIGH 0
+#define ANNOYED 1
+#define DELIGHT 2
+
/obj/machinery/bot/mulebot
name = "\improper MULEbot"
desc = "A Multiple Utility Load Effector bot."
@@ -22,13 +27,15 @@ var/global/mulebot_count = 0
bot_type = MULE_BOT
model = "MULE"
blood_DNA = list()
+ can_buckle = 1
+ buckle_lying = 0
suffix = ""
var/turf/target // this is turf to navigate to (location of beacon)
var/loaddir = 0 // this the direction to unload onto/load from
var/home_destination = "" // tag of home beacon
- req_access = list(access_cargo)
+ req_access = list(access_cargo)
mode = BOT_IDLE
@@ -77,6 +84,26 @@ obj/machinery/bot/mulebot/bot_reset()
reached_target = 0
+obj/machinery/bot/mulebot/Move(atom/newloc, direct)
+ . = ..()
+ if(buckled_mob)
+ if(!buckled_mob.Move(loc, direct))
+ loc = buckled_mob.loc //we gotta go back
+ last_move = buckled_mob.last_move
+ inertia_dir = last_move
+ buckled_mob.inertia_dir = last_move
+ . = 0
+
+obj/machinery/bot/mulebot/Process_Spacemove(movement_dir = 0)
+ if(buckled_mob)
+ return buckled_mob.Process_Spacemove(movement_dir)
+ return ..()
+
+obj/machinery/bot/mulebot/CanPass(atom/movable/mover, turf/target, height=1.5)
+ if(mover == buckled_mob)
+ return 1
+ return ..()
+
// attack by item
// emag : lock/unlock,
// screwdriver: open/close hatch
@@ -183,8 +210,6 @@ obj/machinery/bot/mulebot/bot_reset()
switch(mode)
if(BOT_IDLE)
dat += "Ready "
- if(BOT_LOADING)
- dat += "[mode_name[BOT_LOADING]] "
if(BOT_DELIVER)
dat += "[mode_name[BOT_DELIVER]] "
if(BOT_GO_HOME)
@@ -358,7 +383,7 @@ obj/machinery/bot/mulebot/bot_reset()
updateDialog()
if("unload")
- if(load && mode !=1)
+ if(load && mode != BOT_HUNT)
if(loc == target)
unload(loaddir)
else
@@ -379,7 +404,6 @@ obj/machinery/bot/mulebot/bot_reset()
-
// returns true if the bot has power
/obj/machinery/bot/mulebot/proc/has_power()
return !open && cell && cell.charge > 0 && wires.HasPower()
@@ -393,66 +417,94 @@ obj/machinery/bot/mulebot/bot_reset()
user << "Access denied. "
return 0
+/obj/machinery/bot/mulebot/proc/buzz(type)
+ switch(type)
+ if(SIGH)
+ visible_message("[src] makes a sighing buzz.", "You hear an electronic buzzing sound. ")
+ playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, 0)
+ if(ANNOYED)
+ visible_message("[src] makes an annoyed buzzing sound.", "You hear an electronic buzzing sound. ")
+ playsound(loc, 'sound/machines/buzz-two.ogg', 50, 0)
+ if(DELIGHT)
+ visible_message("[src] makes a delighted ping!", "You hear a ping. ")
+ playsound(loc, 'sound/machines/ping.ogg', 50, 0)
+
+
// mousedrop a crate to load the bot
// can load anything if emagged
+/obj/machinery/bot/mulebot/MouseDrop_T(atom/movable/AM, mob/user)
-/obj/machinery/bot/mulebot/MouseDrop_T(atom/movable/C, mob/user)
-
- if(user.stat)
+ if(user.incapacitated() || user.lying)
return
- if (!on || !istype(C)|| C.anchored || get_dist(user, src) > 1 || get_dist(src,C) > 1 )
+ if (!istype(AM))
return
- if(load)
- return
-
- load(C)
-
+ load(AM)
// called to load a crate
-/obj/machinery/bot/mulebot/proc/load(atom/movable/C)
- if(wires.LoadCheck() && !istype(C,/obj/structure/closet/crate))
- visible_message("[src] makes a sighing buzz.", "You hear an electronic buzzing sound. ")
- playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, 0)
- return // if not emagged, only allow crates to be loaded
-
- //I'm sure someone will come along and ask why this is here... well people were dragging screen items onto the mule, and that was not cool.
- //So this is a simple fix that only allows a selection of item types to be considered. Further narrowing-down is below.
- if(!istype(C,/obj/item) && !istype(C,/obj/machinery) && !istype(C,/obj/structure) && !ismob(C))
- return
- if(!isturf(C.loc)) //To prevent the loading from stuff from someone's inventory, which wouldn't get handled properly.
+/obj/machinery/bot/mulebot/proc/load(atom/movable/AM)
+ if(load || AM.anchored)
return
- if(get_dist(C, src) > 1 || load || !on)
+ if(!isturf(AM.loc)) //To prevent the loading from stuff from someone's inventory or screen icons.
return
- mode = BOT_LOADING
- // if a create, close before loading
- var/obj/structure/closet/crate/crate = C
- if(istype(crate))
- crate.close()
+ var/obj/structure/closet/crate/CRATE
+ if(istype(AM,/obj/structure/closet/crate))
+ CRATE = AM
+ else
+ if(wires.LoadCheck())
+ buzz(SIGH)
+ return // if not emagged, only allow crates to be loaded
- C.loc = loc
- sleep(2)
- if(C.loc != loc) //To prevent you from going onto more thano ne bot.
- return
- C.loc = src
- load = C
+ if(CRATE) // if it's a crate, close before loading
+ CRATE.close()
- C.pixel_y += 9
- if(C.layer < layer)
- C.layer = layer + 0.1
- overlays += C
+ if(isobj(AM))
+ var/obj/O = AM
+ if(O.buckled_mob || (locate(/mob) in AM)) //can't load non crates objects with mobs buckled to it or inside it.
+ buzz(SIGH)
+ return
- if(ismob(C))
- var/mob/M = C
- if(M.client)
- M.client.perspective = EYE_PERSPECTIVE
- M.client.eye = src
+ if(isliving(AM))
+ if(!buckle_mob(AM))
+ return
+ else
+ AM.loc = src
+ AM.pixel_y += 9
+ if(AM.layer < layer)
+ AM.layer = layer + 0.1
+ overlays += AM
+ load= AM
mode = BOT_IDLE
+/obj/machinery/bot/mulebot/buckle_mob(mob/living/M)
+ if(M.buckled)
+ return 0
+ var/turf/T = get_turf(src)
+ if(M.loc != T)
+ density = 0
+ var/can_step = step_towards(M, T)
+ density = 1
+ if(!can_step)
+ return 0
+ return ..()
+
+
+/obj/machinery/bot/mulebot/post_buckle_mob(mob/living/M)
+ if(M == buckled_mob) //post buckling
+ M.pixel_y = initial(M.pixel_y) + 9
+ if(M.layer < layer)
+ M.layer = layer + 0.1
+
+ else //post unbuckling
+ load = null
+ M.layer = initial(M.layer)
+ M.pixel_y = initial(M.pixel_y)
+
+
// called to unload the bot
// argument is optional direction to unload
// if zero, unload at bot's location
@@ -460,18 +512,16 @@ obj/machinery/bot/mulebot/bot_reset()
if(!load)
return
- mode = BOT_LOADING
+ mode = BOT_IDLE
+
overlays.Cut()
- if(ismob(load))
- var/mob/M = load
- if(M.client)
- M.client.perspective = MOB_PERSPECTIVE
- M.client.eye = src
-
+ if(buckled_mob)
+ unbuckle_mob()
+ return
load.loc = loc
- load.pixel_y -= 9
+ load.pixel_y = initial(load.pixel_y)
load.layer = initial(load.layer)
if(dirn)
var/turf/T = loc
@@ -481,22 +531,7 @@ obj/machinery/bot/mulebot/bot_reset()
load = null
- // in case non-load items end up in contents, dump every else too
- // this seems to happen sometimes due to race conditions
- // with items dropping as mobs are loaded
- for(var/atom/movable/AM in src)
- if(AM == cell || istype(AM , botcard) || AM == Radio) continue
-
- AM.loc = loc
- AM.layer = initial(AM.layer)
- AM.pixel_y = initial(AM.pixel_y)
- if(ismob(AM))
- var/mob/M = AM
- if(M.client)
- M.client.perspective = MOB_PERSPECTIVE
- M.client.eye = src
- mode = BOT_IDLE
/obj/machinery/bot/mulebot/call_bot()
..()
@@ -536,14 +571,14 @@ obj/machinery/bot/mulebot/bot_reset()
if(refresh) updateDialog()
/obj/machinery/bot/mulebot/proc/process_bot()
- //if(mode) world << "Mode: [mode]"
+
+ if(!on)
+ return
switch(mode)
if(BOT_IDLE) // idle
icon_state = "mulebot0"
return
- if(BOT_LOADING) // loading/unloading
- return
if(BOT_DELIVER,BOT_GO_HOME,BOT_BLOCKED) // navigating to deliver,home, or blocked
if(loc == target) // reached target
@@ -603,26 +638,22 @@ obj/machinery/bot/mulebot/bot_reset()
blockcount++
mode = BOT_BLOCKED
if(blockcount == 3)
- visible_message("[src] makes an annoyed buzzing sound.", "You hear an electronic buzzing sound. ")
- playsound(loc, 'sound/machines/buzz-two.ogg', 50, 0)
+ buzz(ANNOYED)
if(blockcount > 10) // attempt 10 times before recomputing
// find new path excluding blocked turf
- visible_message("[src] makes a sighing buzz.", "You hear an electronic buzzing sound. ")
- playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, 0)
+ buzz(SIGH)
spawn(2)
calc_path(next)
if(path.len > 0)
- visible_message("[src] makes a delighted ping!", "You hear a ping. ")
- playsound(loc, 'sound/machines/ping.ogg', 50, 0)
+ buzz(DELIGHT)
mode = BOT_BLOCKED
mode = BOT_WAIT_FOR_NAV
return
return
else
- visible_message("[src] makes an annoyed buzzing sound.", "You hear an electronic buzzing sound. ")
- playsound(loc, 'sound/machines/buzz-two.ogg', 50, 0)
+ buzz(ANNOYED)
//world << "Bad turf."
mode = BOT_NAV
return
@@ -641,20 +672,12 @@ obj/machinery/bot/mulebot/bot_reset()
if(path.len > 0)
blockcount = 0
mode = BOT_BLOCKED
- visible_message("[src] makes a delighted ping!", "You hear a ping. ")
- playsound(loc, 'sound/machines/ping.ogg', 50, 0)
+ buzz(DELIGHT)
else
- visible_message("[src] makes a sighing buzz.", "You hear an electronic buzzing sound. ")
- playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, 0)
+ buzz(SIGH)
mode = BOT_NO_ROUTE
- //if(6)
- //world << "Pending path calc."
- //if(7)
- //world << "No dest / no route."
-
- return
// calculates a path to the current destination
@@ -673,6 +696,8 @@ obj/machinery/bot/mulebot/bot_reset()
// starts bot moving to current destination
/obj/machinery/bot/mulebot/proc/start()
+ if(!on)
+ return
if(destination == home_destination)
mode = BOT_GO_HOME
else
@@ -683,6 +708,8 @@ obj/machinery/bot/mulebot/bot_reset()
// starts bot moving to home
// sends a beacon query to find
/obj/machinery/bot/mulebot/proc/start_home()
+ if(!on)
+ return
spawn(0)
set_destination(home_destination)
mode = BOT_BLOCKED
@@ -719,7 +746,7 @@ obj/machinery/bot/mulebot/bot_reset()
break
else // otherwise, look for crates only
AM = locate(/obj/structure/closet/crate) in get_step(loc,loaddir)
- if(AM)
+ if(AM && AM.Adjacent(src))
load(AM)
if(report_delivery)
speak("Now loading [load] at [get_area(src)] .", radio_frequency)
@@ -774,11 +801,10 @@ obj/machinery/bot/mulebot/bot_reset()
// player on mulebot attempted to move
/obj/machinery/bot/mulebot/relaymove(mob/user)
- if(user.stat)
+ if(user.incapacitated())
return
if(load == user)
unload(0)
- return
//Update navigation data. Called when commanded to deliver, return home, or a route update is needed...
@@ -828,5 +854,12 @@ obj/machinery/bot/mulebot/bot_reset()
s.start()
new /obj/effect/decal/cleanable/oil(loc)
- unload(0)
qdel(src)
+
+/obj/machinery/bot/mulebot/Destroy()
+ unload(0)
+ return ..()
+
+#undef SIGH
+#undef ANNOYED
+#undef DELIGHT
\ No newline at end of file
diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm
index 67775ddd7d8..44bef9fac82 100644
--- a/code/game/machinery/buttons.dm
+++ b/code/game/machinery/buttons.dm
@@ -1,47 +1,219 @@
-/obj/machinery/driver_button
+/obj/machinery/button
+ name = "button"
+ desc = "A remote control switch."
+ icon = 'icons/obj/stationobjs.dmi'
+ icon_state = "doorctrl"
+ var/skin = "doorctrl"
+ power_channel = ENVIRON
+ var/obj/item/device/assembly/device
+ var/obj/item/weapon/electronics/airlock/board
+ var/device_type = null
+ var/id = null
+
+ anchored = 1
+ use_power = 1
+ idle_power_usage = 2
+
+
+/obj/machinery/button/New(loc, ndir = 0, built = 0)
+ ..()
+ if(built)
+ dir = ndir
+ pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24)
+ pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0
+ panel_open = 1
+ update_icon()
+
+ if(id && !built && !device && device_type)
+ device = new device_type(src)
+
+ src.check_access(null)
+
+ if(req_access.len || req_one_access.len)
+ board = new(src)
+ if(req_access.len)
+ board.conf_access = req_access
+ else
+ board.use_one_access = 1
+ board.conf_access = req_one_access
+
+ if(id && istype(device, /obj/item/device/assembly/control))
+ var/obj/item/device/assembly/control/A = device
+ A.id = id
+
+
+/obj/machinery/button/update_icon()
+ overlays.Cut()
+ if(panel_open)
+ icon_state = "button-open"
+ if(device)
+ overlays += "button-device"
+ if(board)
+ overlays += "button-board"
+
+ else
+ if(stat & (NOPOWER|BROKEN))
+ icon_state = "[skin]-p"
+ else
+ icon_state = skin
+
+/obj/machinery/button/attackby(obj/item/W, mob/user, params)
+ if(istype(W, /obj/item/device/detective_scanner))
+ return
+
+ if(istype(W, /obj/item/weapon/screwdriver))
+ if(panel_open || allowed(user))
+ default_deconstruction_screwdriver(user, "button-open", "[skin]",W)
+ update_icon()
+ else
+ user << "Maintenance Access Denied "
+ flick("[skin]-denied", src)
+ return
+
+ if(panel_open)
+ if(!device && istype(W, /obj/item/device/assembly))
+ if(!user.unEquip(W))
+ user << "\The [W] is stuck to you! "
+ return
+ W.loc = src
+ device = W
+ user << "You add [W] to the button. "
+
+ if(!board && istype(W, /obj/item/weapon/electronics/airlock))
+ if(!user.unEquip(W))
+ user << "\The [W] is stuck to you! "
+ return
+ W.loc = src
+ board = W
+ if(board.use_one_access)
+ req_one_access = board.conf_access
+ else
+ req_access = board.conf_access
+ user << "You add [W] to the button. "
+
+ if(!device && !board && istype(W, /obj/item/weapon/wrench))
+ user << "You start unsecuring the button frame... "
+ playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
+ if(do_after(user, 40, target = src))
+ user << "You unsecure the button frame. "
+ transfer_fingerprints_to(new /obj/item/wallframe/button(get_turf(src)))
+ playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
+ qdel(src)
+
+ update_icon()
+ return
+
+ return src.attack_hand(user)
+
+/obj/machinery/button/emag_act(mob/user)
+ req_access = list()
+ req_one_access = list()
+ playsound(src.loc, "sparks", 100, 1)
+
+/obj/machinery/button/attack_ai(mob/user)
+ if(!panel_open)
+ return attack_hand(user)
+
+/obj/machinery/button/attack_hand(mob/user)
+ src.add_fingerprint(user)
+ if(panel_open)
+ if(device || board)
+ if(device)
+ device.loc = get_turf(src)
+ device = null
+ if(board)
+ board.loc = get_turf(src)
+ req_access = list()
+ req_one_access = list()
+ board = null
+ update_icon()
+ user << "You remove electronics from the button frame. "
+
+ else
+ if(skin == "doorctrl")
+ skin = "launcher"
+ else
+ skin = "doorctrl"
+ user << "You change the button frame's front panel. "
+ return
+
+ if((stat & (NOPOWER|BROKEN)))
+ return
+
+ if(device && device.cooldown)
+ return
+
+ if(!allowed(user))
+ user << "Access Denied "
+ flick("[skin]-denied", src)
+ return
+
+ use_power(5)
+ icon_state = "[skin]1"
+
+ if(device)
+ device.pulsed()
+
+ spawn(15)
+ update_icon()
+
+/obj/machinery/button/power_change()
+ ..()
+ update_icon()
+
+
+
+/obj/machinery/button/door
+ name = "door button"
+ desc = "A door remote control switch."
+ var/normaldoorcontrol = 0
+ var/specialfunctions = OPEN // Bitflag, see assembly file
+
+/obj/machinery/button/door/New(loc, ndir = 0, built = 0)
+ if(id && !built && !device)
+ if(normaldoorcontrol)
+ var/obj/item/device/assembly/control/airlock/A = new(src)
+ device = A
+ A.specialfunctions = specialfunctions
+ else
+ device = new /obj/item/device/assembly/control(src)
+ ..()
+
+
+/obj/machinery/button/massdriver
name = "mass driver button"
- icon = 'icons/obj/objects.dmi'
- icon_state = "launcherbtt"
desc = "A remote control switch for a mass driver."
- var/id = null
- var/active = 0
- anchored = 1.0
- use_power = 1
- idle_power_usage = 2
- active_power_usage = 4
+ icon_state = "launcher"
+ skin = "launcher"
+ device_type = /obj/item/device/assembly/control/massdriver
-/obj/machinery/ignition_switch
+/obj/machinery/button/ignition
name = "ignition switch"
- icon = 'icons/obj/objects.dmi'
- icon_state = "launcherbtt"
desc = "A remote control switch for a mounted igniter."
- var/id = null
- var/active = 0
- anchored = 1.0
- use_power = 1
- idle_power_usage = 2
- active_power_usage = 4
+ icon_state = "launcher"
+ skin = "launcher"
+ device_type = /obj/item/device/assembly/control/igniter
-/obj/machinery/flasher_button
+/obj/machinery/button/flasher
name = "flasher button"
desc = "A remote control switch for a mounted flasher."
- icon = 'icons/obj/objects.dmi'
- icon_state = "launcherbtt"
- var/id = null
- var/active = 0
- anchored = 1.0
- use_power = 1
- idle_power_usage = 2
- active_power_usage = 4
+ icon_state = "launcher"
+ skin = "launcher"
+ device_type = /obj/item/device/assembly/control/flasher
-/obj/machinery/crema_switch
- desc = "Burn baby burn!"
+/obj/machinery/button/crematorium
name = "crematorium igniter"
- icon = 'icons/obj/power.dmi'
- icon_state = "crema_switch"
- anchored = 1.0
+ desc = "Burn baby burn!"
+ icon_state = "launcher"
+ skin = "launcher"
+ device_type = /obj/item/device/assembly/control/crematorium
req_access = list(access_crematorium)
- var/on = 0
- var/area/area = null
- var/otherarea = null
- var/id = 1
\ No newline at end of file
+ id = 1
+
+/obj/item/wallframe/button
+ name = "button frame"
+ desc = "Used for building buttons."
+ icon = 'icons/obj/apc_repair.dmi'
+ icon_state = "button_frame"
+ result_path = /obj/machinery/button
+ materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT)
\ No newline at end of file
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index 2038dcbc7e0..da1950f171f 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -17,7 +17,7 @@
var/start_active = 0 //If it ignores the random chance to start broken on round start
var/invuln = null
var/obj/item/device/camera_bug/bug = null
- var/obj/item/weapon/camera_assembly/assembly = null
+ var/obj/machinery/camera_assembly/assembly = null
//OTHER
@@ -32,8 +32,6 @@
/obj/machinery/camera/New()
assembly = new(src)
assembly.state = 4
- assembly.anchored = 1
- assembly.update_icon()
/* // Use this to look for cameras that have the same c_tag.
for(var/obj/machinery/camera/C in cameranet.cameras)
@@ -151,7 +149,6 @@
assembly.loc = src.loc
assembly.state = 1
assembly.dir = src.dir
- assembly.update_icon()
assembly = null
qdel(src)
return
diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm
index dce9196f8db..f43488a5103 100644
--- a/code/game/machinery/camera/camera_assembly.dm
+++ b/code/game/machinery/camera/camera_assembly.dm
@@ -1,41 +1,36 @@
-/obj/item/weapon/camera_assembly
+/obj/item/wallframe/camera
name = "camera assembly"
desc = "The basic construction for Nanotrasen-Always-Watching-You cameras."
icon = 'icons/obj/monitors.dmi'
icon_state = "cameracase"
- w_class = 2
- anchored = 0
-
materials = list(MAT_METAL=400, MAT_GLASS=250)
+ result_path = /obj/machinery/camera_assembly
+
+/obj/machinery/camera_assembly
+ name = "camera assembly"
+ desc = "The basic construction for Nanotrasen-Always-Watching-You cameras."
+ icon = 'icons/obj/monitors.dmi'
+ icon_state = "camera1"
// Motion, EMP-Proof, X-Ray
var/list/obj/item/possible_upgrades = list(/obj/item/device/assembly/prox_sensor, /obj/item/stack/sheet/mineral/plasma, /obj/item/device/analyzer)
var/list/upgrades = list()
- var/state = 0
+ var/state = 1
var/busy = 0
/*
- 0 = Nothing done to it
- 1 = Wrenched in place
- 2 = Welded in place
- 3 = Wires attached to it (you can now attach/dettach upgrades)
- 4 = Screwdriver panel closed and is fully built (you cannot attach upgrades)
+ 1 = Wrenched in place
+ 2 = Welded in place
+ 3 = Wires attached to it (you can now attach/dettach upgrades)
+ 4 = Screwdriver panel closed and is fully built (you cannot attach upgrades)
*/
-/obj/item/weapon/camera_assembly/attackby(obj/item/W, mob/living/user, params)
+/obj/machinery/camera_assembly/New(loc, ndir, building)
+ ..()
+ if(building)
+ dir = ndir
+/obj/machinery/camera_assembly/attackby(obj/item/W, mob/living/user, params)
switch(state)
-
- if(0)
- // State 0
- if(istype(W, /obj/item/weapon/wrench) && isturf(src.loc))
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
- user << "You wrench the assembly into place. "
- anchored = 1
- state = 1
- update_icon()
- auto_turn()
- return
-
if(1)
// State 1
if(istype(W, /obj/item/weapon/weldingtool))
@@ -48,9 +43,8 @@
else if(istype(W, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "You unattach the assembly from its place. "
- anchored = 0
- update_icon()
- state = 0
+ new /obj/item/wallframe/camera(get_turf(src))
+ qdel(src)
return
if(2)
@@ -93,25 +87,14 @@
var/obj/machinery/camera/C = new(src.loc)
src.loc = C
C.assembly = src
-
- C.auto_turn()
+ C.dir = src.dir
C.network = tempnetwork
var/area/A = get_area_master(src)
C.c_tag = "[A.name] ([rand(1, 999)])"
- for(var/i = 5; i >= 0; i -= 1)
- var/direct = input(user, "Direction?", "Assembling Camera", null) in list("LEAVE IT", "NORTH", "EAST", "SOUTH", "WEST" )
- if(direct != "LEAVE IT")
- C.dir = text2dir(direct)
- if(i != 0)
- var/confirm = alert(user, "Is this what you want? Chances Remaining: [i]", "Confirmation", "Yes", "No")
- if(confirm == "Yes")
- break
- return
else if(istype(W, /obj/item/weapon/wirecutters))
-
new/obj/item/stack/cable_coil(get_turf(src), 2)
playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1)
user << "You cut the wires from the circuits. "
@@ -139,18 +122,7 @@
..()
-/obj/item/weapon/camera_assembly/update_icon()
- if(anchored)
- icon_state = "camera1"
- else
- icon_state = "cameracase"
-
-/obj/item/weapon/camera_assembly/attack_hand(mob/user)
- if(!anchored)
- ..()
-
-/obj/item/weapon/camera_assembly/proc/weld(obj/item/weapon/weldingtool/WT, mob/living/user)
-
+/obj/machinery/camera_assembly/proc/weld(obj/item/weapon/weldingtool/WT, mob/living/user)
if(busy)
return 0
if(!WT.remove_fuel(0, user))
@@ -165,4 +137,4 @@
return 0
return 1
busy = 0
- return 0
+ return 0
\ No newline at end of file
diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 6adfae84255..223f9024d2b 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -477,7 +477,7 @@
if(lings_aboard)
if(event == ORION_TRAIL_LING || prob(55))
event = ORION_TRAIL_LING_ATTACK
- event()
+ event()
turns += 1
if(emagged)
var/mob/living/carbon/M = usr //for some vars
@@ -568,13 +568,13 @@
turns += 1
event = null
else if(href_list["useengine"]) //use parts
- engine -= 1
+ engine = max(0, --engine)
event = null
else if(href_list["useelec"]) //use parts
- electronics -= 1
+ electronics = max(0, --electronics)
event = null
else if(href_list["usehull"]) //use parts
- hull -= 1
+ hull = max(0, --hull)
event = null
else if(href_list["wait"]) //wait 3 days
food -= ((alive+lings_aboard)*2)*3
@@ -789,7 +789,7 @@
if(ORION_TRAIL_LING)
eventdat += "Strange reports warn of changelings infiltrating crews on trips to Orion..."
- if(settlers.len <= 1)
+ if(settlers.len <= 2)
eventdat += " Your crew's chance of reaching Orion is so slim the changelings likely avoided your ship..."
eventdat += "Continue
"
eventdat += "Close
"
diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm
index 1eaaa0b7fd5..7bfbe2776ac 100644
--- a/code/game/machinery/computer/medical.dm
+++ b/code/game/machinery/computer/medical.dm
@@ -581,7 +581,7 @@
continue
else if(prob(1))
- del(R)
+ qdel(R)
continue
..(severity)
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index c87a35f2486..384199d95e7 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -418,7 +418,7 @@ What a mess.*/
if("Purge All Records")
investigate_log("[usr.name] ([usr.key]) has purged all the security records.", "records")
for(var/datum/data/record/R in data_core.security)
- del(R)
+ qdel(R)
data_core.security.Cut()
temp = "All Security records deleted."
@@ -667,7 +667,7 @@ What a mess.*/
investigate_log("[usr.name] ([usr.key]) has deleted the security records for [active1.fields["name"]].", "records")
if(active2)
data_core.security -= active2
- del(active2)
+ qdel(active2)
if("Delete Record (ALL) Execute")
if(active1)
@@ -675,14 +675,14 @@ What a mess.*/
for(var/datum/data/record/R in data_core.medical)
if((R.fields["name"] == active1.fields["name"] || R.fields["id"] == active1.fields["id"]))
data_core.medical -= R
- del(R)
+ qdel(R)
break
data_core.general -= active1
- del(active1)
+ qdel(active1)
if(active2)
data_core.security -= active2
- del(active2)
+ qdel(active2)
else
temp = "This function does not appear to be working at the moment. Our apologies."
@@ -734,7 +734,7 @@ What a mess.*/
continue
else if(prob(1))
- del(R)
+ qdel(R)
continue
..(severity)
diff --git a/code/game/machinery/computer/shuttle.dm b/code/game/machinery/computer/shuttle.dm
index 2ea4b0b285e..460adf2b0d8 100644
--- a/code/game/machinery/computer/shuttle.dm
+++ b/code/game/machinery/computer/shuttle.dm
@@ -93,7 +93,9 @@
else if(istype(A, /mob/living)) // You Shall Not Pass!
var/mob/living/M = A
- if(!M.lying && !ismonkey(M) && !isslime(M)) //If your not laying down, or a small creature, no pass.
+ if(M.buckled && istype(M.buckled, /obj/machinery/bot/mulebot)) // mulebot passenger gets a free pass.
+ return 1
+ if(!M.lying && !M.ventcrawler && M.mob_size != MOB_SIZE_TINY) //If your not laying down, or a ventcrawler or a small creature, no pass.
return 0
return ..()
diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm
deleted file mode 100644
index c235aadf40b..00000000000
--- a/code/game/machinery/door_control.dm
+++ /dev/null
@@ -1,170 +0,0 @@
-/obj/machinery/door_control
- name = "remote door-control"
- desc = "It controls doors, remotely."
- icon = 'icons/obj/stationobjs.dmi'
- icon_state = "doorctrl0"
- desc = "A remote control-switch for a door."
- power_channel = ENVIRON
- var/id = null
- var/normaldoorcontrol = 0
- var/specialfunctions = 1
- /*
- Bitflag, 1= open
- 2= idscan,
- 4= bolts
- 8= shock
- 16= door safties
-
- */
-
- var/exposedwires = 0
- var/wires = 3
- /*
- Bitflag, 1=checkID
- 2=Network Access
- */
-
- anchored = 1.0
- use_power = 1
- idle_power_usage = 2
- active_power_usage = 4
-
-/obj/machinery/door_control/attack_ai(mob/user)
- if(wires & 2)
- return src.attack_hand(user)
- else
- user << "Error, no route to host."
-
-/obj/machinery/door_control/attack_paw(mob/user)
- return src.attack_hand(user)
-
-/obj/machinery/door_control/attackby(obj/item/weapon/W, mob/user, params)
- /* For later implementation
- if (istype(W, /obj/item/weapon/screwdriver))
- {
- if(wiresexposed)
- icon_state = "doorctrl0"
- wiresexposed = 0
-
- else
- icon_state = "doorctrl-open"
- wiresexposed = 1
-
- return
- }
- */
- if(istype(W, /obj/item/device/detective_scanner))
- return
- return src.attack_hand(user)
-
-/obj/machinery/door_control/emag_act(mob/user)
- req_access = list()
- req_one_access = list()
- playsound(src.loc, "sparks", 100, 1)
-
-/obj/machinery/door_control/attack_hand(mob/user)
- src.add_fingerprint(usr)
- if(stat & (NOPOWER|BROKEN))
- return
-
- if(!allowed(user) && (wires & 1))
- user << "Access Denied "
- flick("doorctrl-denied",src)
- return
-
- use_power(5)
- icon_state = "doorctrl1"
- add_fingerprint(user)
-
- if(normaldoorcontrol)
- for(var/obj/machinery/door/airlock/D in world)
- if(D.id_tag == src.id)
- if(specialfunctions & OPEN)
- spawn(0)
- if(D)
- if(D.density) D.open()
- else D.close()
- return
- if(specialfunctions & IDSCAN)
- D.aiDisabledIdScanner = !D.aiDisabledIdScanner
- if(specialfunctions & BOLTS)
- if(!D.isWireCut(4) && D.hasPower())
- D.locked = !D.locked
- D.update_icon()
- if(specialfunctions & SHOCK)
- D.secondsElectrified = D.secondsElectrified ? 0 : -1
- if(specialfunctions & SAFE)
- D.safe = !D.safe
- else
- var/openclose
- for(var/obj/machinery/door/poddoor/M in world)
- if(M.id == src.id)
- if(openclose == null)
- openclose = M.density
- spawn(0)
- if(M)
- if(openclose) M.open()
- else M.close()
- return
-
- spawn(15)
- if(!(stat & NOPOWER))
- icon_state = "doorctrl0"
-
-/obj/machinery/door_control/power_change()
- ..()
- if(stat & NOPOWER)
- icon_state = "doorctrl-p"
- else
- icon_state = "doorctrl0"
-
-/obj/machinery/driver_button/attack_ai(mob/user)
- return src.attack_hand(user)
-
-/obj/machinery/driver_button/attack_paw(mob/user)
- return src.attack_hand(user)
-
-/obj/machinery/driver_button/attackby(obj/item/weapon/W, mob/user, params)
-
- if(istype(W, /obj/item/device/detective_scanner))
- return
- return src.attack_hand(user)
-
-/obj/machinery/driver_button/attack_hand(mob/user)
-
- src.add_fingerprint(usr)
- if(stat & (NOPOWER|BROKEN))
- return
- if(active)
- return
- add_fingerprint(user)
-
- use_power(5)
-
- active = 1
- icon_state = "launcheract"
-
- for(var/obj/machinery/door/poddoor/M in world)
- if (M.id == src.id)
- spawn( 0 )
- M.open()
- return
-
- sleep(20)
-
- for(var/obj/machinery/mass_driver/M in world)
- if(M.id == src.id)
- M.drive()
-
- sleep(50)
-
- for(var/obj/machinery/door/poddoor/M in world)
- if (M.id == src.id)
- spawn( 0 )
- M.close()
- return
-
- icon_state = "launcherbtt"
- active = 0
-
- return
\ No newline at end of file
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index e36a38fa1b2..fa7a38009f6 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -49,7 +49,7 @@ var/list/airlock_overlays = list()
var/justzap = 0
var/safe = 1
normalspeed = 1
- var/obj/item/weapon/airlock_electronics/electronics = null
+ var/obj/item/weapon/electronics/airlock/electronics = null
var/hasShocked = 0 //Prevents multiple shocks from happening
var/autoclose = 1
var/obj/item/device/doorCharge/charge = null //If applied, causes an explosion upon opening the door
@@ -831,9 +831,9 @@ About the new airlock wires panel:
return
user << "You remove the airlock electronics. "
- var/obj/item/weapon/airlock_electronics/ae
+ var/obj/item/weapon/electronics/airlock/ae
if(!electronics)
- ae = new/obj/item/weapon/airlock_electronics( src.loc )
+ ae = new/obj/item/weapon/electronics/airlock( src.loc )
if(req_one_access)
ae.use_one_access = 1
ae.conf_access = src.req_one_access
@@ -1115,4 +1115,4 @@ About the new airlock wires panel:
lights = 0
locked = 1
loseMainPower()
- loseBackupPower()
\ No newline at end of file
+ loseBackupPower()
diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm
index 0b1761281a2..11b4182152a 100644
--- a/code/game/machinery/doors/airlock_electronics.dm
+++ b/code/game/machinery/doors/airlock_electronics.dm
@@ -1,11 +1,7 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
-/obj/item/weapon/airlock_electronics
+/obj/item/weapon/electronics/airlock
name = "airlock electronics"
- icon = 'icons/obj/doors/door_assembly.dmi'
- icon_state = "door_electronics"
- w_class = 2.0 //It should be tiny! -Agouri
- materials = list(MAT_METAL=50, MAT_GLASS=50)
req_access = list(access_maint_tunnels)
@@ -14,7 +10,7 @@
var/last_configurator = null
var/locked = 1
-/obj/item/weapon/airlock_electronics/attack_self(mob/user)
+/obj/item/weapon/electronics/airlock/attack_self(mob/user)
if (!ishuman(user))
return ..(user)
@@ -67,7 +63,7 @@
popup.open()
onclose(user, "airlock")
-/obj/item/weapon/airlock_electronics/Topic(href, href_list)
+/obj/item/weapon/electronics/airlock/Topic(href, href_list)
..()
if (usr.stat || usr.restrained() || !ishuman(usr))
return
@@ -95,7 +91,7 @@
attack_self(usr)
-/obj/item/weapon/airlock_electronics/proc/toggle_access(acc)
+/obj/item/weapon/electronics/airlock/proc/toggle_access(acc)
if (acc == "all")
conf_access = null
else if(acc == "one")
diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm
index d6d5f886095..c9a24cb6b5d 100644
--- a/code/game/machinery/doors/brigdoors.dm
+++ b/code/game/machinery/doors/brigdoors.dm
@@ -38,9 +38,6 @@
Radio = new/obj/item/device/radio(src)
Radio.listening = 0
- pixel_x = ((src.dir & 3)? (0) : (src.dir == 4 ? 32 : -32))
- pixel_y = ((src.dir & 3)? (src.dir ==1 ? 24 : -32) : (0))
-
spawn(20)
for(var/obj/machinery/door/window/brigdoor/M in range(20, src))
if (M.id == src.id)
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 917e92f7f7e..2d85875a50b 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -170,13 +170,10 @@
icon = 'icons/obj/doors/Doorfire.dmi'
glass = 0
-/obj/item/weapon/firelock_board
+/obj/item/weapon/electronics/firelock
name = "firelock circuitry"
desc = "A circuit board used in construction of firelocks."
- icon = 'icons/obj/module.dmi'
icon_state = "mainboard"
- w_class = 2
- materials = list(MAT_METAL = 50, MAT_GLASS = 50)
/obj/structure/firelock_frame
name = "firelock frame"
@@ -270,7 +267,7 @@
if(constructionStep != CONSTRUCTION_GUTTED) return
user.visible_message("[user] removes [src]'s circuit board. ", \
"You remove the circuit board from [src]. ")
- new /obj/item/weapon/firelock_board(get_turf(src))
+ new /obj/item/weapon/electronics/firelock(get_turf(src))
playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
constructionStep = CONSTRUCTION_NOCIRCUIT
update_icon()
@@ -308,7 +305,7 @@
M.amount = 3
qdel(src)
return
- if(istype(C, /obj/item/weapon/firelock_board))
+ if(istype(C, /obj/item/weapon/electronics/firelock))
user.visible_message("[user] starts adding [C] to [src]... ", \
"You begin adding a circuit board to [src]... ")
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 82a66b848e1..60c5d6168f6 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -8,7 +8,7 @@
visible = 0.0
flags = ON_BORDER
opacity = 0
- var/obj/item/weapon/airlock_electronics/electronics = null
+ var/obj/item/weapon/electronics/airlock/electronics = null
var/reinf = 0
/obj/machinery/door/window/New()
@@ -235,10 +235,8 @@
return
var/mob/living/simple_animal/M = user
M.do_attack_animation(src)
- if(M.melee_damage_upper <= 0)
- return
- attack_generic(M, M.melee_damage_upper)
-
+ if(M.melee_damage_upper > 0 && (M.melee_damage_type == BRUTE || M.melee_damage_type == BURN))
+ attack_generic(M, M.melee_damage_upper)
/obj/machinery/door/window/attack_slime(mob/living/simple_animal/slime/user)
user.do_attack_animation(src)
@@ -311,9 +309,9 @@
user << "You remove the airlock electronics. "
- var/obj/item/weapon/airlock_electronics/ae
+ var/obj/item/weapon/electronics/airlock/ae
if(!electronics)
- ae = new/obj/item/weapon/airlock_electronics( src.loc )
+ ae = new/obj/item/weapon/electronics/airlock( src.loc )
if(req_one_access)
ae.use_one_access = 1
ae.conf_access = src.req_one_access
diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm
index e528bf28b69..bde8908cf70 100644
--- a/code/game/machinery/embedded_controller/embedded_controller_base.dm
+++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm
@@ -7,7 +7,7 @@
if(master)
master.post_signal(signal, comm_line)
else
- del(signal)
+ qdel(signal)
/datum/computer/file/embedded_program/proc/receive_user_command(command)
diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm
index be2f33815a8..e48b7be8c84 100644
--- a/code/game/machinery/flasher.dm
+++ b/code/game/machinery/flasher.dm
@@ -23,6 +23,7 @@
density = 1
/obj/machinery/flasher/New()
+ ..() // ..() is EXTREMELY IMPORTANT, never forget to add it
bulb = new /obj/item/device/flash/handheld(src)
/obj/machinery/flasher/power_change()
@@ -68,6 +69,7 @@
return
/obj/machinery/flasher/proc/flash()
+
if (!powered() || !bulb)
return
@@ -132,37 +134,4 @@
power_change()
else
- ..()
-
-/obj/machinery/flasher_button/attack_ai(mob/user)
- return attack_hand(user)
-
-/obj/machinery/flasher_button/attack_paw(mob/user)
- return attack_hand(user)
-
-/obj/machinery/flasher_button/attackby(obj/item/weapon/W, mob/user, params)
- return attack_hand(user)
-
-/obj/machinery/flasher_button/attack_hand(mob/user)
-
- if(stat & (NOPOWER|BROKEN))
- return
- if(active)
- return
-
- use_power(5)
-
- active = 1
- icon_state = "launcheract"
-
- for(var/obj/machinery/flasher/M in world)
- if(M.id == id)
- spawn()
- M.flash()
-
- sleep(50)
-
- icon_state = "launcherbtt"
- active = 0
-
- return
+ ..()
\ No newline at end of file
diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm
index 6a275734570..2f2b577b889 100644
--- a/code/game/machinery/igniter.dm
+++ b/code/game/machinery/igniter.dm
@@ -115,43 +115,4 @@
..(severity)
return
ignite()
- ..(severity)
-
-/obj/machinery/ignition_switch/attack_ai(mob/user)
- return src.attack_hand(user)
-
-/obj/machinery/ignition_switch/attack_paw(mob/user)
- return src.attack_hand(user)
-
-/obj/machinery/ignition_switch/attackby(obj/item/weapon/W, mob/user, params)
- return src.attack_hand(user)
-
-/obj/machinery/ignition_switch/attack_hand(mob/user)
-
- if(stat & (NOPOWER|BROKEN))
- return
- if(active)
- return
-
- use_power(5)
-
- active = 1
- icon_state = "launcheract"
-
- for(var/obj/machinery/sparker/M in world)
- if (M.id == src.id)
- spawn( 0 )
- M.ignite()
-
- for(var/obj/machinery/igniter/M in world)
- if(M.id == src.id)
- use_power(50)
- M.on = !( M.on )
- M.icon_state = text("igniter[]", M.on)
-
- sleep(50)
-
- icon_state = "launcherbtt"
- active = 0
-
- return
\ No newline at end of file
+ ..(severity)
\ No newline at end of file
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 4952544aeb7..a4cdf6f6470 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -230,6 +230,8 @@ Class Procs:
return
/mob/living/canUseTopic(atom/movable/M, be_close = 0, no_dextery = 0)
+ if(incapacitated())
+ return
if(no_dextery)
if(be_close && in_range(M, src))
return 1
diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm
index 43b767934ee..667f9735857 100644
--- a/code/game/machinery/magnet.dm
+++ b/code/game/machinery/magnet.dm
@@ -375,7 +375,7 @@
// N, S, E, W are directional
// C is center
// R is random (in magnetic field's bounds)
- del(signal)
+ qdel(signal)
break // break the loop if the character located is invalid
signal.data["command"] = nextmove
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index 43d313fec05..2d9b7f9db45 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -159,34 +159,12 @@ var/list/obj/machinery/newscaster/allCasters = list()
-/obj/item/newscaster_frame
+/obj/item/wallframe/newscaster
name = "newscaster frame"
desc = "Used to build newscasters, just secure to the wall."
icon_state = "newscaster"
- item_state = "syringe_kit"
materials = list(MAT_METAL=14000, MAT_GLASS=8000)
-
-/obj/item/newscaster_frame/proc/try_build(turf/on_wall)
- if (get_dist(on_wall,usr)>1)
- return
- var/ndir = get_dir(usr,on_wall)
- if (!(ndir in cardinal))
- return
- var/turf/loc = get_turf(usr)
- var/area/A = loc.loc
- if (!istype(loc, /turf/simulated/floor))
- usr << "Newscaster cannot be placed on this spot! "
- return
- if (A.requires_power == 0 || A.name == "Space")
- usr << "Newscaster cannot be placed in this area! "
- return
- for(var/obj/machinery/newscaster/T in loc)
- usr << "There is another newscaster here! "
- return
- var/obj/machinery/newscaster/N = new(loc)
- N.pixel_y -= (loc.y - on_wall.y) * 32
- N.pixel_x -= (loc.x - on_wall.x) * 32
- qdel(src)
+ result_path = /obj/machinery/newscaster
/obj/machinery/newscaster
@@ -200,7 +178,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
var/isbroken = 0
var/ispowered = 1
var/screen = 0
- var/paper_remaining = 0
+ var/paper_remaining = 15
var/securityCaster = 0
var/unit_no = 0
var/alert_delay = 500
@@ -220,13 +198,17 @@ var/list/obj/machinery/newscaster/allCasters = list()
name = "security newscaster"
securityCaster = 1
-/obj/machinery/newscaster/New()
+/obj/machinery/newscaster/New(loc, ndir, building)
+ ..()
+ if(building)
+ dir = ndir
+ pixel_x = (dir & 3)? 0 : (dir == 4 ? -32 : 32)
+ pixel_y = (dir & 3)? (dir ==1 ? -32 : 32) : 0
+
allCasters += src
- paper_remaining = 15
for(var/obj/machinery/newscaster/NEWSCASTER in allCasters)
unit_no++
update_icon()
- ..()
/obj/machinery/newscaster/Destroy()
allCasters -= src
@@ -743,7 +725,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, 60, target = src))
user << "You [anchored ? "un" : ""]secure [name]. "
- new /obj/item/newscaster_frame(loc)
+ new /obj/item/wallframe/newscaster(loc)
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
qdel(src)
return
diff --git a/code/game/machinery/overview.dm b/code/game/machinery/overview.dm
index 873a51797d2..dcdfd5a74e3 100644
--- a/code/game/machinery/overview.dm
+++ b/code/game/machinery/overview.dm
@@ -174,8 +174,8 @@
HI.Insert(I, frame=1, delay = 5)
HI.Insert(J, frame=2, delay = 5)
- del(I)
- del(J)
+ qdel(I)
+ qdel(J)
H.icon = HI
H.layer = 25
usr.mapobjs += H
@@ -294,7 +294,7 @@
var/icon/I = imap[i+1]
H.icon = I
- del(I)
+ qdel(I)
H.layer = 25
usr.mapobjs += H
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index 2d49668927f..92f3e0ac1cf 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -2,36 +2,10 @@
Buildable pipes
Buildable meters
*/
-#define PIPE_SIMPLE_STRAIGHT 0
-#define PIPE_SIMPLE_BENT 1
-#define PIPE_HE_STRAIGHT 2
-#define PIPE_HE_BENT 3
-#define PIPE_CONNECTOR 4
-#define PIPE_MANIFOLD 5
-#define PIPE_JUNCTION 6
-#define PIPE_UVENT 7
-#define PIPE_MVALVE 8
-#define PIPE_PUMP 9
-#define PIPE_SCRUBBER 10
-#define PIPE_GAS_FILTER 11
-#define PIPE_GAS_MIXER 12
-#define PIPE_PASSIVE_GATE 13
-#define PIPE_VOLUME_PUMP 14
-#define PIPE_HEAT_EXCHANGE 15
-#define PIPE_DVALVE 16
-#define PIPE_4WAYMANIFOLD 17
-//Disposal piping numbers - do NOT hardcode these, use the defines
-#define DISP_PIPE_STRAIGHT 0
-#define DISP_PIPE_BENT 1
-#define DISP_JUNCTION 2
-#define DISP_JUNCTION_FLIP 3
-#define DISP_YJUNCTION 4
-#define DISP_END_TRUNK 5
-#define DISP_END_BIN 6
-#define DISP_END_OUTLET 7
-#define DISP_END_CHUTE 8
-#define DISP_SORTJUNCTION 9
-#define DISP_SORTJUNCTION_FLIP 10
+
+//construction defines are in __defines/pipe_construction.dm
+//update those defines ANY TIME an atmos path is changed...
+//...otherwise construction will stop working
/obj/item/pipe
name = "pipe"
@@ -45,112 +19,110 @@ Buildable meters
w_class = 3
level = 2
var/flipped = 0
+ var/is_bent = 0
+
+ var/global/list/pipe_types = list(
+ PIPE_SIMPLE, \
+ PIPE_MANIFOLD, \
+ PIPE_4WAYMANIFOLD, \
+ PIPE_HE, \
+ PIPE_JUNCTION, \
+ \
+ PIPE_CONNECTOR, \
+ PIPE_UVENT, \
+ PIPE_SCRUBBER, \
+ PIPE_HEAT_EXCHANGE, \
+ \
+ PIPE_PUMP, \
+ PIPE_PASSIVE_GATE, \
+ PIPE_VOLUME_PUMP, \
+ PIPE_MVALVE, \
+ PIPE_DVALVE, \
+ \
+ PIPE_GAS_FILTER, \
+ PIPE_GAS_MIXER, \
+ )
/obj/item/pipe/New(loc, pipe_type, dir, obj/machinery/atmospherics/make_from)
..()
- if (make_from)
+ if(make_from)
src.dir = make_from.dir
src.pipename = make_from.name
src.color = make_from.color
- var/is_bent
- if (make_from.initialize_directions in list(NORTH|SOUTH, WEST|EAST))
- is_bent = 0
- else
- is_bent = 1
- if (istype(make_from, /obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction))
- src.pipe_type = PIPE_JUNCTION
- else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/heat_exchanging))
- src.pipe_type = PIPE_HE_STRAIGHT + is_bent
- else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple))
- src.pipe_type = PIPE_SIMPLE_STRAIGHT + is_bent
- else if(istype(make_from, /obj/machinery/atmospherics/components/unary/portables_connector))
- src.pipe_type = PIPE_CONNECTOR
- else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold))
- src.pipe_type = PIPE_MANIFOLD
- else if(istype(make_from, /obj/machinery/atmospherics/components/unary/vent_pump))
- src.pipe_type = PIPE_UVENT
- else if(istype(make_from, /obj/machinery/atmospherics/components/binary/valve/digital))
- src.pipe_type = PIPE_DVALVE
- else if(istype(make_from, /obj/machinery/atmospherics/components/binary/valve))
- src.pipe_type = PIPE_MVALVE
- else if(istype(make_from, /obj/machinery/atmospherics/components/binary/pump))
- src.pipe_type = PIPE_PUMP
- else if(istype(make_from, /obj/machinery/atmospherics/components/trinary/filter))
- src.pipe_type = PIPE_GAS_FILTER
- else if(istype(make_from, /obj/machinery/atmospherics/components/trinary/mixer))
- src.pipe_type = PIPE_GAS_MIXER
- else if(istype(make_from, /obj/machinery/atmospherics/components/unary/vent_scrubber))
- src.pipe_type = PIPE_SCRUBBER
- else if(istype(make_from, /obj/machinery/atmospherics/components/binary/passive_gate))
- src.pipe_type = PIPE_PASSIVE_GATE
- else if(istype(make_from, /obj/machinery/atmospherics/components/binary/volume_pump))
- src.pipe_type = PIPE_VOLUME_PUMP
- else if(istype(make_from, /obj/machinery/atmospherics/components/unary/heat_exchanger))
- src.pipe_type = PIPE_HEAT_EXCHANGE
- else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w))
- src.pipe_type = PIPE_4WAYMANIFOLD
+
+ if(make_from.type in pipe_types)
+ src.pipe_type = make_from.type
+ else //make pipe_type a value we can work with
+ for(var/P in pipe_types)
+ if(istype(make_from, P))
+ src.pipe_type = P
+ break
var/obj/machinery/atmospherics/components/trinary/triP = make_from
if(istype(triP) && triP.flipped)
src.flipped = 1
src.dir = turn(src.dir, -45)
-
else
src.pipe_type = pipe_type
src.dir = dir
- //src.pipe_dir = get_pipe_dir()
+
+ if(src.dir in diagonals)
+ is_bent = 1
+
update()
src.pixel_x = rand(-5, 5)
src.pixel_y = rand(-5, 5)
//update the name and icon of the pipe item depending on the type
var/global/list/pipeID2State = list(
- "simple", \
- "simple", \
- "he", \
- "he", \
- "connector", \
- "manifold", \
- "junction", \
- "uvent", \
- "mvalve", \
- "pump", \
- "scrubber", \
- "filter", \
- "mixer", \
- "passivegate", \
- "volumepump", \
- "heunary", \
- "dvalve", \
- "manifold4w", \
+ "[PIPE_SIMPLE]" = "simple", \
+ "[PIPE_MANIFOLD]" = "manifold", \
+ "[PIPE_4WAYMANIFOLD]" = "manifold4w", \
+ "[PIPE_HE]" = "he", \
+ "[PIPE_JUNCTION]" = "junction", \
+ \
+ "[PIPE_CONNECTOR]" = "connector", \
+ "[PIPE_UVENT]" = "uvent", \
+ "[PIPE_SCRUBBER]" = "scrubber", \
+ "[PIPE_HEAT_EXCHANGE]" = "heunary", \
+ \
+ "[PIPE_PUMP]" = "pump", \
+ "[PIPE_PASSIVE_GATE]" = "passivegate", \
+ "[PIPE_VOLUME_PUMP]" = "volumepump", \
+ "[PIPE_MVALVE]" = "mvalve", \
+ "[PIPE_DVALVE]" = "dvalve", \
+ \
+ "[PIPE_GAS_FILTER]" = "filter", \
+ "[PIPE_GAS_MIXER]" = "mixer", \
)
/obj/item/pipe/proc/update()
- var/list/nlist = list( \
- "pipe", \
- "bent pipe", \
- "h/e pipe", \
- "bent h/e pipe", \
- "connector", \
- "manifold", \
- "junction", \
- "vent", \
- "manual valve", \
- "pump", \
- "scrubber", \
- "gas filter", \
- "gas mixer", \
- "passive gate", \
- "volume pump", \
- "heat exchanger", \
- "digital valve", \
- "4-way manifold", \
- )
- name = nlist[pipe_type+1] + " fitting"
- icon_state = pipeID2State[pipe_type + 1]
-
-//called when a turf is attacked with a pipe item
-// place the pipe on the turf, setting pipe level to 1 (underfloor) if the turf is not intact
+ var/list/nlist = list(\
+ "[PIPE_SIMPLE]" = "pipe", \
+ "[PIPE_SIMPLE]_b" = "bent pipe", \
+ "[PIPE_MANIFOLD]" = "manifold", \
+ "[PIPE_4WAYMANIFOLD]" = "4-way manifold", \
+ "[PIPE_HE]" = "h/e pipe", \
+ "[PIPE_HE]_b" = "bent h/e pipe", \
+ "[PIPE_JUNCTION]" = "junction", \
+ \
+ "[PIPE_CONNECTOR]" = "connector", \
+ "[PIPE_UVENT]" = "vent", \
+ "[PIPE_SCRUBBER]" = "scrubber", \
+ "[PIPE_HEAT_EXCHANGE]" = "heat exchanger", \
+ \
+ "[PIPE_PUMP]" = "pump", \
+ "[PIPE_PASSIVE_GATE]" = "passive gate", \
+ "[PIPE_VOLUME_PUMP]" = "volume pump", \
+ "[PIPE_MVALVE]" = "manual valve", \
+ "[PIPE_DVALVE]" = "digital valve", \
+ \
+ "[PIPE_GAS_FILTER]" = "gas filter", \
+ "[PIPE_GAS_MIXER]" = "gas mixer", \
+ )
+ //fix_pipe_type()
+ name = nlist["[pipe_type][is_bent ? "_b" : ""]"] + " fitting"
+ icon_state = pipeID2State["[pipe_type]"]
// rotate the pipe item clockwise
@@ -189,205 +161,61 @@ var/global/list/pipeID2State = list(
/obj/item/pipe/Move()
..()
- if ((pipe_type in list (PIPE_SIMPLE_BENT, PIPE_HE_BENT)) \
+ if ((pipe_type in list (PIPE_SIMPLE, PIPE_HE)) && is_bent \
&& (src.dir in cardinal))
src.dir = src.dir|turn(src.dir, 90)
else if ((pipe_type in list(PIPE_GAS_FILTER, PIPE_GAS_MIXER)) && flipped)
src.dir = turn(src.dir, 45+90)
- else if (pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_HE_STRAIGHT, PIPE_MVALVE, PIPE_DVALVE))
- if(dir==2)
- dir = 1
- else if(dir==8)
- dir = 4
- return
-
-// returns all pipe's endpoints
-
-/obj/item/pipe/proc/get_pipe_dir()
- if (!dir)
- return 0
-
- var/direct = dir
- if(flipped)
- direct = turn(dir, 45)
-
- var/flip = turn(direct, 180)
- var/cw = turn(direct, -90)
- var/acw = turn(direct, 90)
-
- switch(pipe_type)
- if( PIPE_SIMPLE_STRAIGHT, \
- PIPE_HE_STRAIGHT, \
- PIPE_JUNCTION, \
- PIPE_PUMP, \
- PIPE_VOLUME_PUMP, \
- PIPE_PASSIVE_GATE, \
- PIPE_MVALVE, \
- PIPE_DVALVE \
- )
- return direct|flip
- if(PIPE_SIMPLE_BENT, PIPE_HE_BENT)
- return direct //dir|acw
- if(PIPE_CONNECTOR,PIPE_UVENT,PIPE_SCRUBBER,PIPE_HEAT_EXCHANGE)
- return direct
- if(PIPE_MANIFOLD)
- return flip|cw|acw
- if(PIPE_4WAYMANIFOLD)
- return NORTH|SOUTH|EAST|WEST
- if(PIPE_GAS_FILTER, PIPE_GAS_MIXER)
- return direct|flip|cw
- return 0
-
-/obj/item/pipe/proc/get_pdir() //endpoints for regular pipes
-
- var/flip = turn(dir, 180)
-// var/cw = turn(dir, -90)
-// var/acw = turn(dir, 90)
-
- if (!(pipe_type in list(PIPE_HE_STRAIGHT, PIPE_HE_BENT, PIPE_JUNCTION)))
- return get_pipe_dir()
- switch(pipe_type)
- if(PIPE_HE_STRAIGHT,PIPE_HE_BENT)
- return 0
- if(PIPE_JUNCTION)
- return flip
- return 0
-
-// return the h_dir (heat-exchange pipes) from the type and the dir
-
-/obj/item/pipe/proc/get_hdir() //endpoints for h/e pipes
-
-// var/flip = turn(dir, 180)
-// var/cw = turn(dir, -90)
-
- switch(pipe_type)
- if(PIPE_HE_STRAIGHT)
- return get_pipe_dir()
- if(PIPE_HE_BENT)
- return get_pipe_dir()
- if(PIPE_JUNCTION)
- return dir
- else
- return 0
+ fixdir()
/obj/item/pipe/proc/unflip(direction)
- if(!(direction in cardinal))
+ if(direction in diagonals)
return turn(direction, 45)
return direction
//Helper to clean up dir
/obj/item/pipe/proc/fixdir()
- if (pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_HE_STRAIGHT, PIPE_MVALVE, PIPE_DVALVE))
- if(dir==2)
- dir = 1
- else if(dir==8)
- dir = 4
+ if((pipe_type in list (PIPE_SIMPLE, PIPE_HE, PIPE_MVALVE, PIPE_DVALVE)) && !is_bent)
+ if(dir==SOUTH)
+ dir = NORTH
+ else if(dir==WEST)
+ dir = EAST
/obj/item/pipe/attack_self(mob/user)
return rotate()
/obj/item/pipe/attackby(obj/item/weapon/W, mob/user, params)
-
- //*
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if (!isturf(src.loc))
return 1
fixdir()
+ if(pipe_type in list(PIPE_GAS_MIXER, PIPE_GAS_FILTER))
+ dir = unflip(dir)
- var/pipe_dir = get_pipe_dir()
+ var/obj/machinery/atmospherics/A = new pipe_type(src.loc)
+ A.dir = src.dir
+ A.SetInitDirections()
for(var/obj/machinery/atmospherics/M in src.loc)
- if(M.initialize_directions & pipe_dir) // matches at least one direction on either type of pipe
+ if(M == A) //we don't want to check to see if it interferes with itself
+ continue
+ if(M.GetInitDirections() & A.GetInitDirections()) // matches at least one direction on either type of pipe
user << "There is already a pipe at that location! "
+ qdel(A)
return 1
// no conflicts found
- switch(pipe_type)
- if(PIPE_SIMPLE_STRAIGHT, PIPE_SIMPLE_BENT)
- var/obj/machinery/atmospherics/pipe/simple/P = new( src.loc )
- P.construction(dir, pipe_dir, pipe_type, color)
+ if(pipename)
+ A.name = pipename
- if(PIPE_HE_STRAIGHT, PIPE_HE_BENT)
- var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/P = new ( src.loc )
- P.initialize_directions_he = pipe_dir
- P.construction(dir, pipe_dir, pipe_type, color)
+ var/obj/machinery/atmospherics/components/trinary/T = A
+ if(istype(T))
+ T.flipped = flipped
- if(PIPE_CONNECTOR)
- var/obj/machinery/atmospherics/components/unary/portables_connector/C = new( src.loc )
- if (pipename)
- C.name = pipename
- C.construction(dir, pipe_dir, pipe_type, color)
-
- if(PIPE_MANIFOLD)
- var/obj/machinery/atmospherics/pipe/manifold/M = new(loc)
- M.construction(dir, pipe_dir, pipe_type, color)
-
- if(PIPE_4WAYMANIFOLD)
- var/obj/machinery/atmospherics/pipe/manifold4w/M = new( src.loc )
- M.construction(dir, pipe_dir, pipe_type, color)
-
- if(PIPE_JUNCTION)
- var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/P = new ( src.loc )
- P.initialize_directions_he = src.get_hdir()
- P.construction(dir, get_pdir(), pipe_type, color)
-
- if(PIPE_UVENT)
- var/obj/machinery/atmospherics/components/unary/vent_pump/V = new( src.loc )
- V.construction(dir, pipe_dir, pipe_type, color)
-
- if(PIPE_MVALVE)
- var/obj/machinery/atmospherics/components/binary/valve/V = new(src.loc)
- if (pipename)
- V.name = pipename
- V.construction(dir, get_pdir(), pipe_type, color)
-
- if(PIPE_DVALVE)
- var/obj/machinery/atmospherics/components/binary/valve/digital/V = new(src.loc)
- if (pipename)
- V.name = pipename
- V.construction(dir, get_pdir(), pipe_type, color)
-
- if(PIPE_PUMP)
- var/obj/machinery/atmospherics/components/binary/pump/P = new(src.loc)
- P.construction(dir, pipe_dir, pipe_type, color)
-
- if(PIPE_GAS_FILTER, PIPE_GAS_MIXER)
- var/obj/machinery/atmospherics/components/trinary/P
- if(pipe_type == PIPE_GAS_FILTER)
- P = new /obj/machinery/atmospherics/components/trinary/filter(src.loc)
- else if(pipe_type == PIPE_GAS_MIXER)
- P = new /obj/machinery/atmospherics/components/trinary/mixer(src.loc)
- P.flipped = flipped
- if (pipename)
- P.name = pipename
- P.construction(unflip(dir), pipe_dir, pipe_type, color)
-
- if(PIPE_SCRUBBER)
- var/obj/machinery/atmospherics/components/unary/vent_scrubber/S = new(src.loc)
- if (pipename)
- S.name = pipename
- S.construction(dir, pipe_dir, pipe_type, color)
-
- if(PIPE_PASSIVE_GATE)
- var/obj/machinery/atmospherics/components/binary/passive_gate/P = new(src.loc)
- if (pipename)
- P.name = pipename
- P.construction(dir, pipe_dir, pipe_type, color)
-
- if(PIPE_VOLUME_PUMP)
- var/obj/machinery/atmospherics/components/binary/volume_pump/P = new(src.loc)
- if (pipename)
- P.name = pipename
- P.construction(dir, pipe_dir, pipe_type, color)
-
- if(PIPE_HEAT_EXCHANGE)
- var/obj/machinery/atmospherics/components/unary/heat_exchanger/C = new( src.loc )
- if (pipename)
- C.name = pipename
- C.construction(dir, pipe_dir, pipe_type, color)
+ A.construction(pipe_type, color)
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user.visible_message( \
@@ -395,14 +223,7 @@ var/global/list/pipeID2State = list(
"You fasten \the [src]. ", \
"You hear ratchet. ")
- qdel(src) // remove the pipe item
-
- return
- //TODO: DEFERRED
-
-// ensure that setterm() is called for a newly connected pipeline
-
-
+ qdel(src)
/obj/item/pipe_meter
name = "meter"
@@ -423,4 +244,4 @@ var/global/list/pipeID2State = list(
new/obj/machinery/meter( src.loc )
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "You fasten the meter to the pipe. "
- qdel(src)
+ qdel(src)
\ No newline at end of file
diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm
index 7861d46e552..46a2144fddc 100644
--- a/code/game/machinery/pipe/pipe_dispenser.dm
+++ b/code/game/machinery/pipe/pipe_dispenser.dm
@@ -14,27 +14,27 @@
return 1
var/dat = {"
Regular pipes:
-Pipe
-Bent Pipe
-Manifold
-4-Way Manifold
-Manual Valve
-Digital Valve
+Pipe
+Bent Pipe
+Manifold
+4-Way Manifold
+Manual Valve
+Digital Valve
Devices:
-Connector
-Vent
-Gas Pump
-Passive Gate
-Volume Pump
-Scrubber
+Connector
+Vent
+Gas Pump
+Passive Gate
+Volume Pump
+Scrubber
Meter
-Gas Filter
-Gas Mixer
+Gas Filter
+Gas Mixer
Heat exchange:
-Pipe
-Bent Pipe
-Junction
-Heat Exchanger
+Pipe
+Bent Pipe
+Junction
+Heat Exchanger
"}
@@ -52,17 +52,16 @@
src.add_fingerprint(usr)
if(href_list["make"])
if(!wait)
- var/p_type = text2num(href_list["make"])
+ var/p_type = text2path(href_list["make"])
var/p_dir = text2num(href_list["dir"])
- var/obj/item/pipe/P = new (/*usr.loc*/ src.loc, pipe_type=p_type, dir=p_dir)
- P.update()
+ var/obj/item/pipe/P = new (src.loc, pipe_type=p_type, dir=p_dir)
P.add_fingerprint(usr)
wait = 1
spawn(10)
wait = 0
if(href_list["makemeter"])
if(!wait)
- new /obj/item/pipe_meter(/*usr.loc*/ src.loc)
+ new /obj/item/pipe_meter(src.loc)
wait = 1
spawn(15)
wait = 0
diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index 707abc57f65..499198a49e3 100644
--- a/code/game/machinery/portable_turret.dm
+++ b/code/game/machinery/portable_turret.dm
@@ -311,7 +311,7 @@
/obj/machinery/porta_turret/attack_animal(mob/living/simple_animal/M)
M.changeNext_move(CLICK_CD_MELEE)
M.do_attack_animation(src)
- if(M.melee_damage_upper == 0)
+ if(M.melee_damage_upper == 0 || (M.melee_damage_type != BRUTE && M.melee_damage_type != BURN))
return
if(!(stat & BROKEN))
visible_message("[M] [M.attacktext] [src]! ")
@@ -1092,7 +1092,7 @@ Status: [] "},
user << "You short out the turret controls' access analysis module. "
emagged = 1
locked = 0
- if(user.machine==src)
+ if(user && user.machine==src)
src.attack_hand(user)
/obj/machinery/turretid/attack_ai(mob/user)
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 67b8c167772..e7ab6fc6daf 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -10,19 +10,24 @@
icon_state = "close"
anchored = 1
density = 1
+ //Vars to hold internal items
var/mob/living/OCCUPANT = null
var/obj/item/clothing/suit/space/SUIT = null
- var/SUIT_TYPE = null
var/obj/item/clothing/head/helmet/space/HELMET = null
+ var/obj/item/clothing/mask/MASK = null
+ var/obj/item/STORAGE = null
+
+ //Base types on creation
+ var/SUIT_TYPE = null
var/HELMET_TYPE = null
- var/obj/item/clothing/mask/MASK = null //All the stuff that's gonna be stored insiiiiiiiiiiiiiiiiiiide, nyoro~n
- var/MASK_TYPE = null //Erro's idea on standarising SSUs whle keeping creation of other SSU types easy: Make a child SSU, name it something then set the TYPE vars to your desired suit output. New() should take it from there by itself.
- var/obj/item/STORAGE = null //One-slot storage slot for anything... food not recommended
+ var/MASK_TYPE = null
var/STORAGE_TYPE = null
+
+ //Machine related vars
var/isopen = 0
var/islocked = 0
var/isUV = 0
- var/ispowered = 1 //starts powered
+ var/ispowered = 1
var/isbroken = 0
var/issuperUV = 0
var/panelopen = 0
@@ -30,7 +35,6 @@
var/cycletime_left = 0
-//The units themselves/////////////////
/obj/machinery/suit_storage_unit/standard_unit
SUIT_TYPE = /obj/item/clothing/suit/space/eva
@@ -168,17 +172,13 @@
dat+= "Suit storage unit: Maintenance panel "
dat+= "Maintenance panel controls "
dat+= "The panel is ridden with controls, button and meters, labeled in strange signs and symbols that you cannot understand. Probably the manufactoring world's language. Among other things, a few controls catch your eye. "
- dat+= text("A small dial with a \"ë\" symbol embroidded on it. It's pointing towards a gauge that reads []. Turn towards [] ",(src.issuperUV ? "15nm" : "185nm"),src,(src.issuperUV ? "185nm" : "15nm") )
+ dat+= text("A small dial with a \"ë\" symbol embroidded on it. It's pointing towards a gauge that reads []. Turn towards [] ",(src.issuperUV ? "15nm" : "185nm"),src,(src.issuperUV ? "185nm" : "15nm") )
dat+= text("A thick old-style button, with 2 grimy LED lights next to it. The [] LED is on.Press button ",(src.safetieson? "GREEN " : "RED "),src)
dat+= text("Close panel ", user)
- //user << browse(dat, "window=ssu_m_panel;size=400x500")
- //onclose(user, "ssu_m_panel")
else if(src.isUV) //The thing is running its cauterisation cycle. You have to wait.
dat += "Suit storage unit "
dat+= "Unit is cauterising contents with selected UV ray intensity. Please wait. "
- //dat+= "Cycle end in: [src.cycletimeleft()] seconds. "
- //user << browse(dat, "window=ssu_cycling_panel;size=400x500")
- //onclose(user, "ssu_cycling_panel")
+
else
if(!src.isbroken)
@@ -208,14 +208,12 @@
dat+= text("Unit status: []",(src.islocked? "**LOCKED** " : "**UNLOCKED** ") )
dat+= text("Start Disinfection cycle ",src)
dat += text("Close control panel ", user)
- //user << browse(dat, "window=Suit Storage Unit;size=400x500")
- //onclose(user, "Suit Storage Unit")
+
else //Ohhhh shit it's dirty or broken! Let's inform the guy.
dat+= "Suit storage unit "
dat+= "Unit chamber is too contaminated to continue usage. Please call for a qualified individual to perform maintenance. "
dat+= text("Close control panel ", user)
- //user << browse(dat, "window=suit_storage_unit;size=400x500")
- //onclose(user, "suit_storage_unit")
+
var/datum/browser/popup = new(user, "suit_storage_unit", "Suit Storage Unit", 440, 500)
popup.set_content(dat)
@@ -227,7 +225,7 @@
/obj/machinery/suit_storage_unit/Topic(href, href_list) //I fucking HATE this proc
if(..())
return
- if(usr == src.OCCUPANT) //No unlocking yourself out!
+ if(usr == src.OCCUPANT)
return
if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai)))
usr.set_machine(src)
@@ -253,29 +251,15 @@
src.eject_occupant(usr)
src.updateUsrDialog()
src.update_icon()
- /*if (href_list["refresh"])
- src.updateUsrDialog()*/
src.add_fingerprint(usr)
return
/obj/machinery/suit_storage_unit/proc/toggleUV(mob/user)
-// var/protected = 0
-// var/mob/living/carbon/human/H = user
if(!src.panelopen)
return
-
- /*if(istype(H)) //Let's check if the guy's wearing electrically insulated gloves
- if(H.gloves)
- var/obj/item/clothing/gloves/G = H.gloves
- if(istype(G,/obj/item/clothing/gloves/yellow))
- protected = 1
-
- if(!protected)
- playsound(src.loc, "sparks", 75, 1, -1)
- user << "You try to touch the controls but you get zapped. There must be a short circuit somewhere. "
- return*/
- else //welp, the guy is protected, we can continue
+
+ else
if(src.issuperUV)
user << "You slide the dial back towards \"185nm\". "
src.issuperUV = 0
@@ -286,21 +270,8 @@
/obj/machinery/suit_storage_unit/proc/togglesafeties(mob/user)
-// var/protected = 0
-// var/mob/living/carbon/human/H = user
if(!src.panelopen) //Needed check due to bugs
return
-
- /*if(istype(H)) //Let's check if the guy's wearing electrically insulated gloves
- if(H.gloves)
- var/obj/item/clothing/gloves/G = H.gloves
- if(istype(G,/obj/item/clothing/gloves/yellow) )
- protected = 1
-
- if(!protected)
- playsound(src.loc, "sparks", 75, 1, -1)
- user << "You try to touch the controls but you get zapped. There must be a short circuit somewhere. "
- return*/
else
user << "You push the button. The coloured LED next to it changes. "
src.safetieson = !src.safetieson
@@ -323,7 +294,9 @@
STORAGE = null
/obj/machinery/suit_storage_unit/proc/eject(atom/movable/ITEM)
- ITEM.loc = src.loc
+ //Check item still exists - if not, then usually someone has already ejected the item
+ if(ITEM)
+ ITEM.loc = src.loc
/obj/machinery/suit_storage_unit/proc/dump_everything()
for(var/obj/item/ITEM in src)
@@ -364,7 +337,7 @@
if(src.OCCUPANT && src.safetieson)
user << "WARNING: Biological entity detected in the confines of the Unit's storage. Cannot initiate cycle. "
return
- if(!src.HELMET && !src.MASK && !src.SUIT && !src.STORAGE && !src.OCCUPANT ) //shit's empty yo
+ if(!src.HELMET && !src.MASK && !src.SUIT && !src.STORAGE && !src.OCCUPANT )
user << "Unit storage bays empty. Nothing to disinfect -- Aborting. "
return
user << "You start the Unit's cauterisation cycle. "
@@ -375,7 +348,7 @@
src.update_icon()
src.updateUsrDialog()
- var/i //our counter
+ var/i
spawn(0)
for(i=0,i<4,++i)
sleep(50)
@@ -393,17 +366,17 @@
for(var/obj/item/ITEM in src)
ITEM.clean_blood()
if(istype(STORAGE, /obj/item/weapon/reagent_containers/food))
- del(STORAGE)
+ qdel(STORAGE)
else //It was supercycling, destroy everything
src.HELMET = null
src.SUIT = null
src.MASK = null
- del(STORAGE)
+ qdel(STORAGE)
visible_message("With a loud whining noise, the Suit Storage Unit's door grinds open. Puffs of ashen smoke come out of its chamber. ", 3)
src.isbroken = 1
src.isopen = 1
src.islocked = 0
- src.eject_occupant(OCCUPANT) //Mixing up these two lines causes bug. DO NOT DO IT.
+ src.eject_occupant(OCCUPANT)
src.isUV = 0 //Cycle ends
src.update_icon()
src.updateUsrDialog()
@@ -421,8 +394,6 @@
if (!src.OCCUPANT)
return
-// for(var/obj/O in src)
-// O.loc = src.loc
if (src.OCCUPANT.client)
if(user != OCCUPANT)
@@ -494,7 +465,7 @@
M.client.eye = src
M.loc = src
src.OCCUPANT = M
- src.isopen = 0 //Close the thing after the guy gets inside
+ src.isopen = 0
src.update_icon()
src.add_fingerprint(user)
@@ -595,5 +566,3 @@
user << "The console controls are far too complicated for your tiny brain! "
return
-
-//////////////////////////////REMINDER: Make it lock once you place some fucker inside.
diff --git a/code/game/machinery/telecomms/computers/logbrowser.dm b/code/game/machinery/telecomms/computers/logbrowser.dm
index eca9a206429..c30b28534d5 100644
--- a/code/game/machinery/telecomms/computers/logbrowser.dm
+++ b/code/game/machinery/telecomms/computers/logbrowser.dm
@@ -197,7 +197,7 @@
temp = "- DELETED ENTRY: [D.name] - "
SelectedServer.log_entries.Remove(D)
- del(D)
+ qdel(D)
else
temp = "- FAILED: NO SELECTED MACHINE - "
diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm
index e341ca965b6..4b0725b060c 100644
--- a/code/game/machinery/teleporter.dm
+++ b/code/game/machinery/teleporter.dm
@@ -25,6 +25,7 @@
if (power_station)
power_station.teleporter_console = null
power_station = null
+ ..()
/obj/machinery/computer/teleporter/proc/link_power_station()
if(power_station)
@@ -268,6 +269,7 @@
if (power_station)
power_station.teleporter_hub = null
power_station = null
+ ..()
/obj/machinery/teleport/hub/RefreshParts()
var/A = 0
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index a3787a9b5ab..3bbc353f9d1 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -910,7 +910,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
icon_state = "engivend"
icon_deny = "engivend-deny"
req_access_txt = "11" //Engineering Equipment access
- products = list(/obj/item/clothing/glasses/meson/engine = 2,/obj/item/device/multitool = 4,/obj/item/weapon/airlock_electronics = 10,/obj/item/weapon/module/power_control = 10,/obj/item/weapon/airalarm_electronics = 10,/obj/item/weapon/stock_parts/cell/high = 10, /obj/item/weapon/rcd/loaded = 3,)
+ products = list(/obj/item/clothing/glasses/meson/engine = 2,/obj/item/device/multitool = 4,/obj/item/weapon/electronics/airlock = 10,/obj/item/weapon/electronics/apc = 10,/obj/item/weapon/electronics/airalarm = 10,/obj/item/weapon/stock_parts/cell/high = 10, /obj/item/weapon/rcd/loaded = 3,)
contraband = list(/obj/item/weapon/stock_parts/cell/potato = 3)
premium = list(/obj/item/weapon/storage/belt/utility = 3)
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 0e178a4218e..b405648f4dd 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -137,7 +137,7 @@
loc.assume_air(cabin_air)
air_update_turf()
else
- del(cabin_air)
+ qdel(cabin_air)
cabin_air = null
qdel(spark_system)
spark_system = null
@@ -240,7 +240,7 @@
loc.assume_air(leaked_gas)
air_update_turf()
else
- del(leaked_gas)
+ qdel(leaked_gas)
if(internal_damage & MECHA_INT_SHORT_CIRCUIT)
if(get_charge())
@@ -276,7 +276,7 @@
if(t_air)
t_air.merge(removed)
else //just delete the cabin gas, we're in space or some shit
- del(removed)
+ qdel(removed)
if(occupant)
if(cell)
diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm
index 8df632882a3..60c31405645 100644
--- a/code/game/mecha/mecha_construction_paths.dm
+++ b/code/game/mecha/mecha_construction_paths.dm
@@ -300,7 +300,7 @@
const_holder.icon = 'icons/mecha/mech_construction.dmi'
const_holder.icon_state = "gygax0"
const_holder.density = 1
- del(src)
+ qdel(src)
return
@@ -579,7 +579,7 @@
const_holder.icon = 'icons/mecha/mech_construction.dmi'
const_holder.icon_state = "fireripley0"
const_holder.density = 1
- del(src)
+ qdel(src)
return
@@ -801,7 +801,7 @@
var/obj/item/mecha_parts/chassis/const_holder = holder
const_holder.construct = new /datum/construction/mecha/honker(const_holder)
const_holder.density = 1
- del(src)
+ qdel(src)
return
diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm
index 0c781f27f9b..e47bcec43c6 100644
--- a/code/game/objects/buckling.dm
+++ b/code/game/objects/buckling.dm
@@ -72,7 +72,7 @@
//Wrapper procs that handle sanity and user feedback
/obj/proc/user_buckle_mob(mob/living/M, mob/user)
- if(!user.Adjacent(M) || user.restrained() || user.lying || user.stat)
+ if(!user.Adjacent(M) || user.lying || user.incapacitated())
return
add_fingerprint(user)
@@ -88,7 +88,7 @@
M.visible_message(\
"[M.name] is buckled to [src] by [user.name]! ",\
"You are buckled to [src] by [user.name]! ",\
- "You heat metal clanking. ")
+ "You hear metal clanking. ")
/obj/proc/user_unbuckle_mob(mob/user)
var/mob/living/M = unbuckle_mob()
diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm
index aaca5674ed5..49a5cb83c4b 100644
--- a/code/game/objects/effects/aliens.dm
+++ b/code/game/objects/effects/aliens.dm
@@ -419,7 +419,7 @@
return
var/mob/living/carbon/C = AM
- if(C.stat == CONSCIOUS && C.status_flags & XENO_HOST)
+ if(C.stat == CONSCIOUS && C.getorgan(/obj/item/organ/internal/body_egg/alien_embryo))
return
Burst(0)
diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm
index aa1abe7ae6c..a3a305541c7 100644
--- a/code/game/objects/effects/effect_system/effects_foam.dm
+++ b/code/game/objects/effects/effect_system/effects_foam.dm
@@ -58,14 +58,14 @@
for(var/obj/O in range(0,src))
if(O.type == src.type)
continue
- reagents.reaction(O, TOUCH, fraction)
+ reagents.reaction(O, VAPOR, fraction)
var/hit = 0
for(var/mob/living/L in range(0,src))
hit += foam_mob(L)
if(hit)
lifetime++ //this is so the decrease from mobs hit and the natural decrease don't cumulate.
var/T = get_turf(src)
- reagents.reaction(T, TOUCH, fraction)
+ reagents.reaction(T, VAPOR, fraction)
if(--amount < 0)
return
@@ -77,7 +77,7 @@
if(!istype(L))
return 0
var/fraction = 1/initial(lifetime)
- reagents.reaction(L, TOUCH, fraction)
+ reagents.reaction(L, VAPOR, fraction)
lifetime--
return 1
diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm
index b1e6b6dde79..db7b6be9b54 100644
--- a/code/game/objects/effects/effect_system/effects_smoke.dm
+++ b/code/game/objects/effects/effect_system/effects_smoke.dm
@@ -156,10 +156,10 @@
for(var/obj/O in range(1,src))
if(O.type == src.type)
continue
- reagents.reaction(O, TOUCH, fraction)
+ reagents.reaction(O, VAPOR, fraction)
for(var/turf/T in range(1,src))
- reagents.reaction(T, TOUCH, fraction)
+ reagents.reaction(T, VAPOR, fraction)
var/hit = 0
for(var/mob/living/L in range(1,src))
@@ -173,7 +173,7 @@
if(!istype(M))
return 0
var/fraction = 1/initial(lifetime)
- reagents.reaction(M, TOUCH, fraction)
+ reagents.reaction(M, VAPOR, fraction)
lifetime--
return 1
diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm
index cf714ed52eb..682fc5293fe 100644
--- a/code/game/objects/explosion.dm
+++ b/code/game/objects/explosion.dm
@@ -1,11 +1,5 @@
//TODO: Flash range does nothing currently
-//A very crude linear approximatiaon of pythagoras theorem.
-/proc/cheap_pythag(dx, dy)
- dx = abs(dx); dy = abs(dy);
- if(dx>=dy) return dx + (0.5*dy) //The longest side add half the shortest side approximates the hypotenuse
- else return dy + (0.5*dx)
-
/proc/trange(Dist=0,turf/Center=null)//alternative to range (ONLY processes turfs and thus less intensive)
if(Center==null) return
@@ -41,6 +35,7 @@
if(!epicenter) return
var/max_range = max(devastation_range, heavy_impact_range, light_impact_range, flame_range)
+ var/list/cached_exp_block = list()
if(adminlog)
message_admins("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range], [flame_range]) in area [epicenter.loc.name] ([epicenter.x],[epicenter.y],[epicenter.z])")
@@ -87,24 +82,31 @@
var/y0 = epicenter.y
var/z0 = epicenter.z
- for(var/turf/T in trange(max_range, epicenter))
+ var/list/affected_turfs = trange(max_range, epicenter)
- var/dist = cheap_pythag(T.x - x0,T.y - y0)
+ if(config.reactionary_explosions)
+ for(var/turf/T in affected_turfs) // we cache the explosion block rating of every turf in the explosion area
+ cached_exp_block[T] = 0
+ if(T.density && T.explosion_block)
+ cached_exp_block[T] += T.explosion_block
+
+ for(var/obj/machinery/door/D in T)
+ if(D.density && D.explosion_block)
+ cached_exp_block[T] += D.explosion_block
+
+ for(var/obj/structure/window/W in T)
+ if(W.reinf && W.fulltile)
+ cached_exp_block[T] += W.explosion_block
+
+ for(var/turf/T in affected_turfs)
+
+ var/dist = cheap_hypotenuse(T.x, T.y, x0, y0)
if(config.reactionary_explosions)
var/turf/Trajectory = T
while(Trajectory != epicenter)
Trajectory = get_step_towards(Trajectory, epicenter)
- if(Trajectory.density && Trajectory.explosion_block)
- dist += Trajectory.explosion_block
-
- for(var/obj/machinery/door/D in Trajectory)
- if(D.density && D.explosion_block)
- dist += D.explosion_block
-
- for(var/obj/structure/window/W in Trajectory)
- if(W.reinf && W.fulltile)
- dist += W.explosion_block
+ dist += cached_exp_block[Trajectory]
var/flame_dist = 0
var/throw_dist = dist
@@ -196,7 +198,7 @@
var/list/wipe_colours = list()
for(var/turf/T in trange(max_range, epicenter))
wipe_colours += T
- var/dist = cheap_pythag(T.x - x0, T.y - y0)
+ var/dist = cheap_hypotenuse(T.x, T.y, x0, y0)
if(newmode == "Yes")
var/turf/TT = T
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 1057c2b4742..9ae436fb685 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -450,7 +450,6 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
var/melting_threshold = 100
if(meltingpwr <= melting_threshold) // so a single unit can't melt items. You need 5.1+ unit for fluoro and 10.1+ for sulphuric
return
-
for(var/V in armor)
if(armor[V] > 0)
.-- //it survives the acid...
diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm
index ad5036b53ee..b86ddc77b64 100644
--- a/code/game/objects/items/apc_frame.dm
+++ b/code/game/objects/items/apc_frame.dm
@@ -1,32 +1,78 @@
-// APC HULL
+/obj/item/wallframe
+ materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT*2)
+ flags = CONDUCT
+ origin_tech = "materials=1;engineering=1"
+ item_state = "syringe_kit"
+ w_class = 2
+ var/result_path
+ var/inverse = 0
+ // For inverse dir frames like light fixtures.
-/obj/item/apc_frame
+/obj/item/wallframe/proc/try_build(turf/on_wall)
+ if(get_dist(on_wall,usr)>1)
+ return
+ var/ndir = get_dir(on_wall, usr)
+ if(!(ndir in cardinal))
+ return
+ var/turf/loc = get_turf(usr)
+ var/area/A = loc.loc
+ if(!istype(loc, /turf/simulated/floor))
+ usr << "You cannot place [src] on this spot! "
+ return
+ if(A.requires_power == 0 || istype(A, /area/space))
+ usr << "You cannot place [src] in this area! "
+ return
+ if(gotwallitem(loc, ndir, inverse*2))
+ usr << "There's already an item on this wall! "
+ return
+
+ return 1
+
+/obj/item/wallframe/proc/attach(turf/on_wall)
+ if(result_path)
+ playsound(src.loc, 'sound/machines/click.ogg', 75, 1)
+ usr.visible_message("[usr.name] attaches [src] to the wall.",
+ "You attach [src] to the wall. ",
+ "You hear clicking. ")
+ var/ndir = get_dir(on_wall,usr)
+ if(inverse)
+ ndir = turn(ndir, 180)
+
+ var/obj/O = new result_path(get_turf(usr), ndir, 1)
+ transfer_fingerprints_to(O)
+
+ qdel(src)
+
+
+/obj/item/wallframe/attackby(obj/item/weapon/W, mob/user, params)
+ ..()
+ var/metal_amt = round(materials[MAT_METAL]/MINERAL_MATERIAL_AMOUNT)
+ var/glass_amt = round(materials[MAT_GLASS]/MINERAL_MATERIAL_AMOUNT)
+
+ if (istype(W, /obj/item/weapon/wrench) && (metal_amt || glass_amt))
+ user << "You dismantle [src]. "
+ if(metal_amt)
+ new /obj/item/stack/sheet/metal(get_turf(src), metal_amt)
+ if(glass_amt)
+ new /obj/item/stack/sheet/glass(get_turf(src), glass_amt)
+ qdel(src)
+
+
+
+// APC HULL
+/obj/item/wallframe/apc
name = "\improper APC frame"
desc = "Used for repairing or building APCs"
icon = 'icons/obj/apc_repair.dmi'
icon_state = "apc_frame"
- flags = CONDUCT
+ result_path = /obj/machinery/power/apc
-/obj/item/apc_frame/attackby(obj/item/weapon/W, mob/user, params)
- ..()
- if (istype(W, /obj/item/weapon/wrench))
- new /obj/item/stack/sheet/metal( get_turf(src.loc), 2 )
- qdel(src)
-/obj/item/apc_frame/proc/try_build(turf/on_wall)
- if (get_dist(on_wall,usr)>1)
- return
- var/ndir = get_dir(usr,on_wall)
- if (!(ndir in cardinal))
+/obj/item/wallframe/apc/try_build(turf/on_wall)
+ if(!..())
return
var/turf/loc = get_turf(usr)
var/area/A = loc.loc
- if (!istype(loc, /turf/simulated/floor))
- usr << "APC cannot be placed on this spot! "
- return
- if (A.requires_power == 0 || istype(A, /area/space))
- usr << "APC cannot be placed in this area! "
- return
if (A.get_apc())
usr << "This area already has APC! "
return //only one APC per area
@@ -39,5 +85,15 @@
C.amount = 10
usr << "You cut the cables and disassemble the unused power terminal. "
qdel(T)
- new /obj/machinery/power/apc(loc, ndir, 1)
- qdel(src)
+ return 1
+
+
+/obj/item/weapon/electronics
+ desc = "Looks like a circuit. Probably is."
+ icon = 'icons/obj/module.dmi'
+ icon_state = "door_electronics"
+ item_state = "electronic"
+ flags = CONDUCT
+ w_class = 2
+ origin_tech = "engineering=2;programming=1"
+ materials = list(MAT_METAL=50, MAT_GLASS=50)
\ No newline at end of file
diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm
index 866a51ea5f4..af8ffb76809 100644
--- a/code/game/objects/items/bodybag.dm
+++ b/code/game/objects/items/bodybag.dm
@@ -65,9 +65,6 @@
..()
if (tagged)
overlays += "bodybag_label"
- else
- overlays.Cut()
-
/obj/structure/closet/body_bag/close()
if(..())
diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm
index 9f8e79da8ea..59780eb60f0 100644
--- a/code/game/objects/items/devices/camera_bug.dm
+++ b/code/game/objects/items/devices/camera_bug.dm
@@ -48,7 +48,7 @@
if(expansion)
qdel(expansion)
expansion = null
- del(src)
+ qdel(src)
//Easier to just call del() than this nonsense
// ya no, del() takes 0.8ds to run on avg. this takes less than 0.01
get_cameras()
diff --git a/code/game/objects/items/holotape.dm b/code/game/objects/items/holotape.dm
index 10cd8e08d6c..b663b3a655b 100644
--- a/code/game/objects/items/holotape.dm
+++ b/code/game/objects/items/holotape.dm
@@ -244,10 +244,10 @@
for (var/obj/item/holotape/P in cur)
if(P.icon_state == icon_dir)
N = 0
- del(P)
+ qdel(P)
cur = get_step(cur,dir[i])
- del(src)
+ qdel(src)
return
#undef MAX_TAPE_RANGE
diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm
index 7cdfe31e8fb..f4de3e85772 100644
--- a/code/game/objects/items/stacks/medical.dm
+++ b/code/game/objects/items/stacks/medical.dm
@@ -14,7 +14,7 @@
var/stop_bleeding = 0
var/self_delay = 50
-/obj/item/stack/medical/attack(mob/living/carbon/M, mob/user)
+/obj/item/stack/medical/attack(mob/living/M, mob/user)
if(M.stat == 2)
var/t_him = "it"
@@ -25,8 +25,8 @@
user << "\The [M] is dead, you cannot help [t_him]! "
return
- if(!istype(M))
- user << "You don't know how to apply \the [src] to [M]... "
+ if(!istype(M, /mob/living/carbon) && !istype(M, /mob/living/simple_animal))
+ user << "You don't know how to apply \the [src] to [M]! "
return 1
if(!user.IsAdvancedToolUser())
@@ -48,7 +48,18 @@
return
if(user)
- if(M != user)
+ if (M != user)
+ if (istype(M, /mob/living/simple_animal))
+ var/mob/living/simple_animal/critter = M
+ if (!(critter.healable))
+ user << " You cannot use [src] on [M]! "
+ return
+ else if (critter.health == critter.maxHealth)
+ user << " [M] is at full health. "
+ return
+ else if(src.heal_brute < 1)
+ user << " [src] won't help [M] at all. "
+ return
user.visible_message("[user] applies [src] on [M]. ", "You apply [src] on [M]. ")
else
var/t_himself = "itself"
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index c12fa7dc3a2..241ddea4362 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -297,7 +297,7 @@
if(ishuman(user))
var/mob/living/carbon/human/H = user
- if(!H.gloves)
+ if(!H.gloves && !(PIERCEIMMUNE in H.dna.species.specflags)) // golems, etc
H << "[src] cuts into your hand! "
var/organ = (H.hand ? "l_" : "r_") + "arm"
var/obj/item/organ/limb/affecting = H.get_organ(organ)
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index 7d780f9bdd1..506602fb560 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -33,12 +33,13 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \
new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 25, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("grenade casing", /obj/item/weapon/grenade/chem_grenade), \
- new/datum/stack_recipe("light fixture frame", /obj/item/light_fixture_frame, 2), \
- new/datum/stack_recipe("small light fixture frame", /obj/item/light_fixture_frame/small, 1), \
+ new/datum/stack_recipe("light fixture frame", /obj/item/wallframe/light_fixture, 2), \
+ new/datum/stack_recipe("small light fixture frame", /obj/item/wallframe/light_fixture/small, 1), \
null, \
- new/datum/stack_recipe("apc frame", /obj/item/apc_frame, 2), \
- new/datum/stack_recipe("air alarm frame", /obj/item/alarm_frame, 2), \
- new/datum/stack_recipe("fire alarm frame", /obj/item/firealarm_frame, 2), \
+ new/datum/stack_recipe("apc frame", /obj/item/wallframe/apc, 2), \
+ new/datum/stack_recipe("air alarm frame", /obj/item/wallframe/alarm, 2), \
+ new/datum/stack_recipe("fire alarm frame", /obj/item/wallframe/firealarm, 2), \
+ new/datum/stack_recipe("button frame", /obj/item/wallframe/button, 1), \
null, \
new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = 1, on_floor = 1), \
)
diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index b5ffd7faa7a..f44a7870f5d 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -357,7 +357,7 @@ RCD
activate()
var/obj/machinery/door/airlock/T = new airlock_type( A )
- T.electronics = new/obj/item/weapon/airlock_electronics( src.loc )
+ T.electronics = new/obj/item/weapon/electronics/airlock( src.loc )
if(conf_access)
T.electronics.conf_access = conf_access.Copy()
diff --git a/code/game/objects/items/weapons/RPD.dm b/code/game/objects/items/weapons/RPD.dm
index 91c8e9cc2b9..ea570f4257e 100644
--- a/code/game/objects/items/weapons/RPD.dm
+++ b/code/game/objects/items/weapons/RPD.dm
@@ -5,7 +5,7 @@ CONTAINS:
RPD
*/
#define PIPE_BINARY 0
-#define PIPE_BENT 1
+#define PIPE_BENDABLE 1
#define PIPE_TRINARY 2
#define PIPE_TRIN_M 3
#define PIPE_UNARY 4
@@ -24,14 +24,14 @@ RPD
var/id=-1
var/categoryId = CATEGORY_ATMOS
var/dir=SOUTH
- var/dirtype=PIPE_BINARY
+ var/dirtype = PIPE_BENDABLE
var/icon = 'icons/obj/atmospherics/pipes/pipe_item.dmi'
var/icon_state=""
var/selected=0
/datum/pipe_info/New(pid,direction,dt)
src.id=pid
- src.icon_state=pipeID2State[pid+1]
+ src.icon_state=pipeID2State["[pid]"]
src.dir=direction
src.dirtype=dt
@@ -81,8 +81,8 @@ var/global/list/disposalpipeID2State=list(
//find these defines in code\game\machinery\pipe\consruction.dm
var/global/list/RPD_recipes=list(
"Regular Pipes" = list(
- "Pipe" = new /datum/pipe_info(PIPE_SIMPLE_STRAIGHT, 1, PIPE_BINARY),
- "Bent Pipe" = new /datum/pipe_info(PIPE_SIMPLE_BENT, 5, PIPE_BENT),
+ "Pipe" = new /datum/pipe_info(PIPE_SIMPLE, 1, PIPE_BENDABLE),
+ //"Bent Pipe" = new /datum/pipe_info(PIPE_SIMPLE, 5, PIPE_BENT),
"Manifold" = new /datum/pipe_info(PIPE_MANIFOLD, 1, PIPE_TRINARY),
"Manual Valve" = new /datum/pipe_info(PIPE_MVALVE, 1, PIPE_BINARY),
"Digital Valve" = new /datum/pipe_info(PIPE_DVALVE, 1, PIPE_BINARY),
@@ -101,19 +101,19 @@ var/global/list/RPD_recipes=list(
// "Injector" = new /datum/pipe_info(PIPE_INJECTOR, 1, PIPE_UNARY),
),
"Heat Exchange" = list(
- "Pipe" = new /datum/pipe_info(PIPE_HE_STRAIGHT, 1, PIPE_BINARY),
- "Bent Pipe" = new /datum/pipe_info(PIPE_HE_BENT, 5, PIPE_BENT),
+ "Pipe" = new /datum/pipe_info(PIPE_HE, 1, PIPE_BENDABLE),
+ //"Bent Pipe" = new /datum/pipe_info(PIPE_HE, 5, PIPE_BENT),
"Junction" = new /datum/pipe_info(PIPE_JUNCTION, 1, PIPE_UNARY),
"Heat Exchanger" = new /datum/pipe_info(PIPE_HEAT_EXCHANGE, 1, PIPE_UNARY),
),
"Disposal Pipes" = list(
"Pipe" = new /datum/pipe_info/disposal(DISP_PIPE_STRAIGHT, PIPE_BINARY),
"Bent Pipe" = new /datum/pipe_info/disposal(DISP_PIPE_BENT, PIPE_TRINARY),
- "Junction" = new /datum/pipe_info/disposal(DISP_JUNCTION, PIPE_TRINARY),
+ "Junction" = new /datum/pipe_info/disposal(DISP_JUNCTION, PIPE_TRINARY),
"Y-Junction" = new /datum/pipe_info/disposal(DISP_YJUNCTION, PIPE_TRINARY),
"Trunk" = new /datum/pipe_info/disposal(DISP_END_TRUNK, PIPE_TRINARY),
- "Bin" = new /datum/pipe_info/disposal(DISP_END_BIN, PIPE_QUAD),
- "Outlet" = new /datum/pipe_info/disposal(DISP_END_OUTLET, PIPE_UNARY),
+ "Bin" = new /datum/pipe_info/disposal(DISP_END_BIN, PIPE_QUAD),
+ "Outlet" = new /datum/pipe_info/disposal(DISP_END_OUTLET, PIPE_UNARY),
"Chute" = new /datum/pipe_info/disposal(DISP_END_CHUTE, PIPE_UNARY),
"Sort Junction" = new /datum/pipe_info/disposal(DISP_SORTJUNCTION, PIPE_TRINARY),
)
@@ -261,14 +261,20 @@ var/global/list/RPD_recipes=list(
↔
"}
- if(PIPE_BENT) // Bent, N-W, N-E etc
+
+ if(PIPE_BENDABLE) // Bent, N-W, N-E etc
if(preview)
+ user << browse_rsc(new /icon(preview, dir=NORTH), "vertical.png")
+ user << browse_rsc(new /icon(preview, dir=EAST), "horizontal.png")
user << browse_rsc(new /icon(preview, dir=NORTHWEST), "nw.png")
user << browse_rsc(new /icon(preview, dir=NORTHEAST), "ne.png")
user << browse_rsc(new /icon(preview, dir=SOUTHWEST), "sw.png")
user << browse_rsc(new /icon(preview, dir=SOUTHEAST), "se.png")
dirsel += ""
+ dirsel += render_dir_img(1,"vertical.png","Vertical")
+ dirsel += render_dir_img(4,"horizontal.png","Horizontal")
+ dirsel += " "
dirsel += render_dir_img(9,"nw.png","West to North")
dirsel += render_dir_img(5,"ne.png","North to East")
dirsel += " "
@@ -278,6 +284,9 @@ var/global/list/RPD_recipes=list(
else
dirsel+={"
+ ↕
+ ↔
+
╝
╚
@@ -349,7 +358,7 @@ var/global/list/RPD_recipes=list(
╠
"}
- if(PIPE_UNARY) // Unary
+ if(PIPE_UNARY) // Stuff with four directions - includes pumps etc.
if(preview)
user << browse_rsc(new /icon(preview, dir=NORTH), "n.png")
user << browse_rsc(new /icon(preview, dir=EAST), "e.png")
@@ -471,7 +480,7 @@ var/global/list/RPD_recipes=list(
show_menu(usr)
if(href_list["makepipe"])
- p_type = text2num(href_list["makepipe"])
+ p_type = text2path(href_list["makepipe"])
p_dir = text2num(href_list["dir"])
p_conntype = text2num(href_list["type"])
p_class = ATMOS_MODE
diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm
index 37a582cac7b..7f5e121e441 100644
--- a/code/game/objects/items/weapons/defib.dm
+++ b/code/game/objects/items/weapons/defib.dm
@@ -437,7 +437,7 @@
else if ((tplus > tlimit) || !H.getorgan(/obj/item/organ/internal/heart))
failed = "[defib] buzzes: Resuscitation failed - Heart tissue damage beyond point of no return. Further attempts futile. "
else if(total_burn >= 180 || total_brute >= 180)
- failed = "[defib] buzzes: Resuscitation failed - Severe tissue damage detected. "
+ failed = "[defib] buzzes: Resuscitation failed - Severe tissue damage makes recovery of patient impossible via defibrillator. Further attempts futile. "
else if(H.get_ghost() || !H.getorgan(/obj/item/organ/internal/brain))
failed = "[defib] buzzes: Resuscitation failed - No activity in patient's brain. Further attempts may be successful. "
@@ -480,4 +480,4 @@
update_icon()
else
user << "You need to target your patient's chest with [src]! "
- return
\ No newline at end of file
+ return
diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm
index 84db5d73cb8..6572831cd53 100644
--- a/code/game/objects/items/weapons/explosives.dm
+++ b/code/game/objects/items/weapons/explosives.dm
@@ -22,7 +22,7 @@
..()
/obj/item/weapon/c4/suicide_act(mob/user)
- user.visible_message("[user] activates the [src.name] and holds it above his head! It looks like \he's going out with a bang! ")
+ user.visible_message("[user] activates the [src.name] and holds it above \his head! It looks like \he's going out with a bang! ")
var/message_say = "FOR NO RAISIN!"
if(user.mind)
if(user.mind.special_role)
diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm
index b38dbaea378..d6644f1c886 100644
--- a/code/game/objects/items/weapons/implants/implantcase.dm
+++ b/code/game/objects/items/weapons/implants/implantcase.dm
@@ -83,3 +83,11 @@
/obj/item/weapon/implantcase/weapons_auth/New()
imp = new /obj/item/weapon/implant/weapons_auth(src)
..()
+
+/obj/item/weapon/implantcase/adrenaline
+ name = "implant case - 'Adrenaline'"
+ desc = "A glass case containing an adrenaline implant."
+
+/obj/item/weapon/implantcase/adrenaline/New()
+ imp = new /obj/item/weapon/implant/adrenalin(src)
+ ..()
diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm
index 60b08e58e64..2b4f54b5679 100644
--- a/code/game/objects/items/weapons/mop.dm
+++ b/code/game/objects/items/weapons/mop.dm
@@ -25,9 +25,6 @@ obj/item/weapon/mop/proc/clean(turf/simulated/A)
if(reagents.has_reagent("water", 1) || reagents.has_reagent("holywater", 1))
A.clean_blood()
A.thermite = 0
- var/turf/simulated/floor/F = A
- if(istype(F))
- F.dirt = 0
for(var/obj/effect/O in A)
if(is_cleanable(O))
qdel(O)
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index 1cabd4c4302..ecb03b97266 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -18,6 +18,7 @@
slot_flags = SLOT_BACK //ERROOOOO
max_w_class = 3
max_combined_w_class = 21
+ storage_slots = 21
burn_state = 0 //Burnable
burntime = 20
@@ -109,7 +110,6 @@
icon_state = "giftbag0"
item_state = "giftbag"
w_class = 4.0
- storage_slots = 20 //Can store a lot.
max_w_class = 3
max_combined_w_class = 60
@@ -270,7 +270,6 @@
desc = "A very slim satchel that can easily fit into tight spaces."
icon_state = "satchel-flat"
w_class = 3 //Can fit in backpacks itself.
- storage_slots = 5
max_combined_w_class = 15
level = 1
cant_hold = list(/obj/item/weapon/storage/backpack/satchel_flat) //muh recursive backpacks
@@ -292,12 +291,11 @@
/obj/item/weapon/storage/backpack/dufflebag
name = "dufflebag"
- desc = "A large dufflebag for holding extra things"
+ desc = "A large dufflebag for holding extra things."
icon_state = "duffle"
item_state = "duffle"
- storage_slots = 9
slowdown = 1
- max_combined_w_class = 27
+ max_combined_w_class = 30
/obj/item/weapon/storage/backpack/dufflebag/syndie
name = "suspicious looking dufflebag"
@@ -342,7 +340,6 @@
desc = "A suspicious looking dufflebag for holding surgery tools."
icon_state = "duffle-syndiemed"
item_state = "duffle-syndiemed"
- storage_slots = 10
/obj/item/weapon/storage/backpack/dufflebag/syndie/surgery/New()
..()
diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm
index f1347bcd07e..65e2b67e0b3 100644
--- a/code/game/objects/items/weapons/storage/firstaid.dm
+++ b/code/game/objects/items/weapons/storage/firstaid.dm
@@ -45,8 +45,8 @@
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
- new /obj/item/weapon/reagent_containers/pill/salicyclic(src)
- new /obj/item/weapon/reagent_containers/pill/salicyclic(src)
+ new /obj/item/weapon/reagent_containers/pill/oxandrolone(src)
+ new /obj/item/weapon/reagent_containers/pill/oxandrolone(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
new /obj/item/device/healthanalyzer(src)
return
diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm
index 06d78149919..fdd4aea2842 100644
--- a/code/game/objects/items/weapons/storage/storage.dm
+++ b/code/game/objects/items/weapons/storage/storage.dm
@@ -196,7 +196,7 @@
New(obj/item/sample)
if(!istype(sample))
- del(src)
+ qdel(src)
sample_object = sample
number = 1
@@ -269,7 +269,7 @@
if(sum_w_class > max_combined_w_class)
if(!stop_messages)
- usr << "[src] is full, make some space! "
+ usr << "[W] won't fit in [src], make some space! "
return 0
if(W.w_class >= w_class && (istype(W, /obj/item/weapon/storage)))
@@ -481,4 +481,5 @@
/obj/item/weapon/storage/handle_atom_del(atom/A)
if(A in contents)
- remove_from_storage(A,null)
+ usr = null
+ remove_from_storage(A, loc)
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index eb41ea7032d..3bad0781ef3 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -33,7 +33,7 @@
/obj/item/weapon/tank/Destroy()
if(air_contents)
- del(air_contents)
+ qdel(air_contents)
SSobj.processing.Remove(src)
diff --git a/code/game/objects/structures/barsigns.dm b/code/game/objects/structures/barsigns.dm
index 7c4637a2df8..f09ec051c67 100644
--- a/code/game/objects/structures/barsigns.dm
+++ b/code/game/objects/structures/barsigns.dm
@@ -246,7 +246,7 @@
/datum/barsign/emergencyrumparty
name = "The Emergency Rum Party"
icon = "emergencyrumparty"
- desc = "Still serving drinks that were banned years ago."
+ desc = "Recently relicensed after a long closure."
/datum/barsign/combocafe
name = "The Combo Cafe"
@@ -276,7 +276,7 @@
/datum/barsign/thenet
name = "The Net"
icon = "thenet"
- desc = "The sea of drinkformation." //you couldn't come up with something better?
+ desc = "You just seem to get caught up in it for hours."
/datum/barsign/hiddensigns
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index bb209cb9515..8fa1375a480 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -166,6 +166,7 @@
/obj/structure/closet/ex_act(severity, target)
contents_explosion(severity, target)
+ new /obj/item/stack/sheet/metal(loc)
dump_contents()
qdel(src)
..()
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
index a96337856ac..0ae8d3f8177 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
@@ -37,9 +37,9 @@
new /obj/item/weapon/storage/toolbox/electrical(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
- new /obj/item/weapon/module/power_control(src)
- new /obj/item/weapon/module/power_control(src)
- new /obj/item/weapon/module/power_control(src)
+ new /obj/item/weapon/electronics/apc(src)
+ new /obj/item/weapon/electronics/apc(src)
+ new /obj/item/weapon/electronics/apc(src)
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index 9092fece681..d1c53fa6d5f 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -9,7 +9,7 @@
var/mineral = null
var/typetext = ""
var/icontext = ""
- var/obj/item/weapon/airlock_electronics/electronics = null
+ var/obj/item/weapon/electronics/airlock/electronics = null
var/airlock_type = /obj/machinery/door/airlock //the type path of the airlock once completed
var/glass_type = /obj/machinery/door/airlock/glass
var/created_name = null
@@ -540,7 +540,7 @@
src.state = 0
src.name = "secured airlock assembly"
- else if(istype(W, /obj/item/weapon/airlock_electronics) && state == 1 )
+ else if(istype(W, /obj/item/weapon/electronics/airlock) && state == 1 )
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
user.visible_message("[user] installs the electronics into the airlock assembly.", \
"You start to install electronics into the airlock assembly... ")
@@ -568,9 +568,9 @@
user << "You remove the airlock electronics. "
src.state = 1
src.name = "wired airlock assembly"
- var/obj/item/weapon/airlock_electronics/ae
+ var/obj/item/weapon/electronics/airlock/ae
if (!electronics)
- ae = new/obj/item/weapon/airlock_electronics( src.loc )
+ ae = new/obj/item/weapon/electronics/airlock( src.loc )
else
ae = electronics
electronics = null
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index 355938166f5..e8775daf133 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -239,7 +239,7 @@
qdel(src)
return
if(3.0)
- if (prob(15))
+ if (prob(40))
var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal)
new remains(loc)
qdel(src)
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index 488932acaa4..d6c56c34a34 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -79,7 +79,8 @@
/obj/structure/grille/attack_animal(var/mob/living/simple_animal/M)
M.changeNext_move(CLICK_CD_MELEE)
- if(M.melee_damage_upper == 0) return
+ if(M.melee_damage_upper == 0 || (M.melee_damage_type != BRUTE && M.melee_damage_type != BURN))
+ return
M.do_attack_animation(src)
playsound(loc, 'sound/effects/grillehit.ogg', 80, 1)
M.visible_message("[M] smashes against [src]. ", \
diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm
index 22f4ae79d1b..3ac8658347c 100644
--- a/code/game/objects/structures/janicart.dm
+++ b/code/game/objects/structures/janicart.dm
@@ -181,9 +181,6 @@
var/turf/tile = loc
if(isturf(tile))
tile.clean_blood()
- if (istype(tile, /turf/simulated/floor))
- var/turf/simulated/floor/F = tile
- F.dirt = 0
for(var/A in tile)
if(istype(A, /obj/effect))
if(is_cleanable(A))
@@ -238,14 +235,6 @@
step(src, direction)
update_mob()
handle_rotation()
- if(istype(src.loc, /turf/simulated))
- var/turf/simulated/T = src.loc
- if(T.wet == 2) //Lube! Fall off!
- playsound(src, 'sound/misc/slip.ogg', 50, 1, -3)
- buckled_mob.Stun(7)
- buckled_mob.Weaken(7)
- unbuckle_mob()
- step(src, dir)
move_delay = 1
spawn(2)
move_delay = 0
@@ -300,11 +289,6 @@
buckled_mob.pixel_x = -12
buckled_mob.pixel_y = 7
-
-/obj/structure/stool/bed/chair/janicart/bullet_act(obj/item/projectile/Proj)
- if(buckled_mob)
- buckled_mob.bullet_act(Proj)
-
/obj/item/key
name = "key"
desc = "A small grey key."
diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm
index 3bd5ef645d2..bce42638e82 100644
--- a/code/game/objects/structures/morgue.dm
+++ b/code/game/objects/structures/morgue.dm
@@ -176,10 +176,11 @@ var/global/list/crematoriums = new/list()
for(var/mob/living/M in contents)
if (M.stat!=2)
M.emote("scream")
- //Logging for this causes runtimes resulting in the cremator locking up. Commenting it out until that's figured out.
- //M.attack_log += "\[[time_stamp()]\] Has been cremated by [user]/[user.ckey] " //No point in this when the mob's about to be deleted
- user.attack_log +="\[[time_stamp()]\] Cremated [M]/[M.ckey] "
- log_attack("\[[time_stamp()]\] [user]/[user.ckey] cremated [M]/[M.ckey] ")
+ if(user)
+ user.attack_log +="\[[time_stamp()]\] Cremated [M]/[M.ckey] "
+ log_attack("\[[time_stamp()]\] [user]/[user.ckey] cremated [M]/[M.ckey] ")
+ else
+ log_attack("\[[time_stamp()]\] UNKNOWN cremated [M]/[M.ckey] ")
M.death(1)
M.ghostize()
qdel(M)
@@ -194,26 +195,6 @@ var/global/list/crematoriums = new/list()
update_icon()
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) //you horrible people
-/*
-Crematorium Switch
-*/
-/obj/machinery/crema_switch/attack_hand(mob/user)
- if(src.allowed(usr))
- for (var/obj/structure/bodycontainer/crematorium/C in crematoriums)
- if (C.id != id)
- continue
-
- C.cremate(user)
- else
- usr << "Access denied. "
- return
-
-/obj/machinery/crema_switch/attackby(obj/item/W, mob/user, params)
- if(W.GetID())
- attack_hand(user)
- else
- return ..()
-
/*
* Generic Tray
@@ -286,4 +267,4 @@ Crematorium Switch
if(locate(/obj/structure/table) in get_turf(mover))
return 1
else
- return 0
+ return 0
diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm
index 7f7b7c0ae05..160c798e99c 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm
@@ -24,14 +24,12 @@
/obj/structure/stool/bed/Move(atom/newloc, direct) //Some bed children move
. = ..()
if(buckled_mob)
- buckled_mob.buckled = null
if(!buckled_mob.Move(loc, direct))
loc = buckled_mob.loc //we gotta go back
last_move = buckled_mob.last_move
inertia_dir = last_move
buckled_mob.inertia_dir = last_move
. = 0
- buckled_mob.buckled = src
/obj/structure/stool/bed/Process_Spacemove(movement_dir = 0)
if(buckled_mob)
diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm
index 696ed292eb9..b7862562752 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm
@@ -11,11 +11,13 @@
qdel(src)
return
if(2.0)
- if (prob(50))
+ if (prob(70))
+ new /obj/item/stack/sheet/metal(loc)
qdel(src)
return
if(3.0)
- if (prob(5))
+ if (prob(50))
+ new /obj/item/stack/sheet/metal(loc)
qdel(src)
return
return
diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm
index 867b7e5723f..90007323b52 100644
--- a/code/game/objects/structures/windoor_assembly.dm
+++ b/code/game/objects/structures/windoor_assembly.dm
@@ -19,7 +19,7 @@
dir = NORTH
var/ini_dir
- var/obj/item/weapon/airlock_electronics/electronics = null
+ var/obj/item/weapon/electronics/airlock/electronics = null
var/created_name = null
//Vars to help with the icon's name
@@ -189,7 +189,7 @@
name = "anchored windoor assembly"
//Adding airlock electronics for access. Step 6 complete.
- else if(istype(W, /obj/item/weapon/airlock_electronics))
+ else if(istype(W, /obj/item/weapon/electronics/airlock))
if(!user.drop_item())
return
playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1)
@@ -219,7 +219,7 @@
return
user << "You remove the airlock electronics. "
name = "wired windoor assembly"
- var/obj/item/weapon/airlock_electronics/ae
+ var/obj/item/weapon/electronics/airlock/ae
ae = electronics
electronics = null
ae.loc = loc
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 6c02cd7e7d0..9dc8d6631e9 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -168,7 +168,7 @@
var/mob/living/simple_animal/M = user
M.do_attack_animation(src)
- if(M.melee_damage_upper <= 0)
+ if(M.melee_damage_upper <= 0 || (M.melee_damage_type != BRUTE && M.melee_damage_type != BURN))
return
attack_generic(M, M.melee_damage_upper)
diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm
index 58e7ae67fd2..5267ccbae9e 100644
--- a/code/game/turfs/simulated.dm
+++ b/code/game/turfs/simulated.dm
@@ -44,14 +44,13 @@
..()
if (istype(A,/mob/living/carbon))
var/mob/living/carbon/M = A
- if(M.lying) return
- switch (src.wet)
+ switch(wet)
if(1) //wet floor
- if(!M.slip(4, 2, null, (NO_SLIP_WHEN_WALKING|STEP)))
+ if(!M.slip(4, 2, null, NO_SLIP_WHEN_WALKING))
M.inertia_dir = 0
return
if(2) //lube
- M.slip(0, 7, null, (STEP|SLIDE|GALOSHES_DONT_HELP))
+ M.slip(0, 7, null, (SLIDE|GALOSHES_DONT_HELP))
/turf/simulated/ChangeTurf(var/path)
. = ..()
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index 9bd230386c0..6b23686fbca 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -32,8 +32,6 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
var/obj/item/stack/tile/builtin_tile = null //needed for performance reasons when the singularity rips off floor tiles
var/list/broken_states = list("damaged1", "damaged2", "damaged3", "damaged4", "damaged5")
var/list/burnt_states = list()
- var/dirt = 0
- var/ignoredirt = 0
/turf/simulated/floor/New()
..()
@@ -167,22 +165,5 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
if(prob(20))
ChangeTurf(/turf/simulated/floor/plasteel/cult)
-/turf/simulated/floor/Entered(atom/A, atom/OL)
- ..()
- if(!ignoredirt)
- if(has_gravity(src))
- if(istype(A,/mob/living/carbon))
- var/mob/living/carbon/M = A
- if(M.lying) return
- if(prob(80))
- dirt++
- var/obj/effect/decal/cleanable/dirt/dirtoverlay = locate(/obj/effect/decal/cleanable/dirt, src)
- if(dirt >= 100)
- if(!dirtoverlay)
- dirtoverlay = new/obj/effect/decal/cleanable/dirt(src)
- dirtoverlay.alpha = 10
- else if(dirt > 100)
- dirtoverlay.alpha = min(dirtoverlay.alpha+10, 200)
-
/turf/simulated/floor/can_have_cabling()
return !burnt & !broken & !lava
diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm
index 3e3a1f61358..05a0c9d9c51 100644
--- a/code/game/turfs/simulated/floor/fancy_floor.dm
+++ b/code/game/turfs/simulated/floor/fancy_floor.dm
@@ -26,7 +26,6 @@
icon_state = "grass"
floor_tile = /obj/item/stack/tile/grass
broken_states = list("sand")
- ignoredirt = 1
/turf/simulated/floor/grass/New()
..()
diff --git a/code/game/turfs/simulated/floor/misc_floor.dm b/code/game/turfs/simulated/floor/misc_floor.dm
index c7a21ef6f92..067ebe88eed 100644
--- a/code/game/turfs/simulated/floor/misc_floor.dm
+++ b/code/game/turfs/simulated/floor/misc_floor.dm
@@ -21,7 +21,6 @@
/turf/simulated/floor/plating/beach
name = "Beach"
icon = 'icons/misc/beach.dmi'
- ignoredirt = 1
/turf/simulated/floor/plating/beach/ex_act(severity, target)
contents_explosion(severity, target)
@@ -43,13 +42,11 @@
..()
name = "Iron Sand"
icon_state = "ironsand[rand(1,15)]"
- ignoredirt = 1
/turf/simulated/floor/plating/snow
name = "snow"
icon = 'icons/turf/snow.dmi'
icon_state = "snow"
- ignoredirt = 1
/turf/simulated/floor/plating/snow/ex_act(severity, target)
contents_explosion(severity, target)
diff --git a/code/game/turfs/simulated/floor/plasteel_floor.dm b/code/game/turfs/simulated/floor/plasteel_floor.dm
index 51b551565c5..555e25b09be 100644
--- a/code/game/turfs/simulated/floor/plasteel_floor.dm
+++ b/code/game/turfs/simulated/floor/plasteel_floor.dm
@@ -11,8 +11,36 @@
icon_state = icon_regular_floor
+
/turf/simulated/floor/plasteel/black
icon_state = "dark"
+/turf/simulated/floor/plasteel/black/side
+ icon_state = "black" //NOTICE ME SEMPAI: floors.dmi contains two sprites named black, remove the incorrect one
+/turf/simulated/floor/plasteel/black/corner
+ icon_state = "blackcorner"
+
+
+/turf/simulated/floor/plasteel/white
+ icon_state = "white"
+/turf/simulated/floor/plasteel/white/side
+ icon_state = "whitehall"
+/turf/simulated/floor/plasteel/white/corner
+ icon_state = "whitecorner"
+
+
+
+/turf/simulated/floor/plasteel/brown
+ icon_state = "brown"
+/turf/simulated/floor/plasteel/brown/corner
+ icon_state = "browncorner"
+
+/turf/simulated/floor/plasteel/darkbrown
+ icon_state = "darkbrownfull"
+/turf/simulated/floor/plasteel/darkbrown/side
+ icon_state = "darkbrown"
+/turf/simulated/floor/plasteel/darkbrown/corner
+ icon_state = "darkbrowncorners"
+
/turf/simulated/floor/plasteel/green
@@ -22,7 +50,6 @@
/turf/simulated/floor/plasteel/green/corner
icon_state = "greencorner"
-
/turf/simulated/floor/plasteel/darkgreen
icon_state = "darkgreenfull"
/turf/simulated/floor/plasteel/darkgreen/side
@@ -30,11 +57,13 @@
/turf/simulated/floor/plasteel/darkgreen/corner
icon_state = "darkgreencorners"
+/turf/simulated/floor/plasteel/whitegreen
+ icon_state = "whitegreenfull"
+/turf/simulated/floor/plasteel/whitegreen/side
+ icon_state = "whitegreen"
+/turf/simulated/floor/plasteel/whitegreen/corner
+ icon_state = "whitegreencorner"
-/turf/simulated/floor/plasteel/brown
- icon_state = "brown"
-/turf/simulated/floor/plasteel/brown/corner
- icon_state = "browncorner"
/turf/simulated/floor/plasteel/red
@@ -44,7 +73,6 @@
/turf/simulated/floor/plasteel/red/corner
icon_state = "redcorner"
-
/turf/simulated/floor/plasteel/darkred
icon_state = "darkredfull"
/turf/simulated/floor/plasteel/darkred/side
@@ -52,6 +80,90 @@
/turf/simulated/floor/plasteel/darkred/corner
icon_state = "darkredcorners"
+/turf/simulated/floor/plasteel/whitered
+ icon_state = "whiteredfull"
+/turf/simulated/floor/plasteel/whitered/side
+ icon_state = "whitered"
+/turf/simulated/floor/plasteel/whitered/corner
+ icon_state = "whiteredcorner"
+
+
+
+/turf/simulated/floor/plasteel/blue
+ icon_state = "bluefull"
+/turf/simulated/floor/plasteel/blue/side
+ icon_state = "blue"
+/turf/simulated/floor/plasteel/blue/corner
+ icon_state = "bluecorner"
+
+/turf/simulated/floor/plasteel/darkblue
+ icon_state = "darkbluefull"
+/turf/simulated/floor/plasteel/darkblue/side
+ icon_state = "darkblue"
+/turf/simulated/floor/plasteel/darkblue/corner
+ icon_state = "darkbluecorners"
+
+/turf/simulated/floor/plasteel/whiteblue
+ icon_state = "whitebluefull"
+/turf/simulated/floor/plasteel/whiteblue/side
+ icon_state = "whiteblue"
+/turf/simulated/floor/plasteel/whiteblue/corner
+ icon_state = "whitebluecorner"
+
+
+
+/turf/simulated/floor/plasteel/yellow
+ icon_state = "yellowfull"
+/turf/simulated/floor/plasteel/yellow/side
+ icon_state = "yellow"
+/turf/simulated/floor/plasteel/yellow/corner
+ icon_state = "yellowcorner"
+
+/turf/simulated/floor/plasteel/darkyellow
+ icon_state = "darkyellowfull"
+/turf/simulated/floor/plasteel/darkyellow/side
+ icon_state = "darkyellow"
+/turf/simulated/floor/plasteel/darkyellow/corner
+ icon_state = "darkyellowcorners"
+
+/turf/simulated/floor/plasteel/whiteyellow
+ icon_state = "whiteyellowfull"
+/turf/simulated/floor/plasteel/whiteyellow/side
+ icon_state = "whiteyellow"
+/turf/simulated/floor/plasteel/whiteyellow/corner
+ icon_state = "whiteyellowcorner"
+
+
+
+/turf/simulated/floor/plasteel/purple
+ icon_state = "purplefull"
+/turf/simulated/floor/plasteel/purple/side
+ icon_state = "purple"
+/turf/simulated/floor/plasteel/purple/corner
+ icon_state = "purplecorner"
+
+/turf/simulated/floor/plasteel/darkpurple
+ icon_state = "darkpurplefull"
+/turf/simulated/floor/plasteel/darkpurple/side
+ icon_state = "darkpurple"
+/turf/simulated/floor/plasteel/darkpurple/corner
+ icon_state = "darkpurplecorners"
+
+/turf/simulated/floor/plasteel/whitepurple
+ icon_state = "whitepurplefull"
+/turf/simulated/floor/plasteel/whitepurple/side
+ icon_state = "whitepurple"
+/turf/simulated/floor/plasteel/whitepurple/corner
+ icon_state = "whitepurplecorner"
+
+
+/turf/simulated/floor/plasteel/orange
+ icon_state = "orangefull"
+/turf/simulated/floor/plasteel/orange/side
+ icon_state = "orange"
+/turf/simulated/floor/plasteel/orange/corner
+ icon_state = "orangecorner"
+
/turf/simulated/floor/plasteel/neutral
icon_state = "neutralfull"
@@ -61,12 +173,48 @@
icon_state = "neutralcorner"
+/turf/simulated/floor/plasteel/arrival
+ icon_state = "arrival"
+/turf/simulated/floor/plasteel/arrival/corner
+ icon_state = "arrivalcorner"
+
+
+/turf/simulated/floor/plasteel/escape
+ icon_state = "escape"
+/turf/simulated/floor/plasteel/escape/corner
+ icon_state = "escapecorner"
+
+
+/turf/simulated/floor/plasteel/caution
+ icon_state = "caution"
+/turf/simulated/floor/plasteel/caution/corner
+ icon_state = "cautioncorner"
+
+
/turf/simulated/floor/plasteel/warning
icon_state = "warning"
/turf/simulated/floor/plasteel/warning/corner
icon_state = "warningcorner"
+/turf/simulated/floor/plasteel/warnplate
+ icon_state = "warnplate"
+/turf/simulated/floor/plasteel/warnplate/corner
+ icon_state = "warnplatecorner"
+
+
+/turf/simulated/floor/plasteel/warnwhite
+ icon_state = "warnwhite"
+/turf/simulated/floor/plasteel/warnwhite/corner
+ icon_state = "warnwhitecorner"
+
+
+/turf/simulated/floor/plasteel/whitebot
+ icon_state = "whitebot"
+/turf/simulated/floor/plasteel/whitebot/delivery
+ icon_state = "whitedelivery"
+
+
/turf/simulated/floor/plasteel/redyellow
icon_state = "redyellowfull"
/turf/simulated/floor/plasteel/redyellow/side
@@ -75,15 +223,45 @@
/turf/simulated/floor/plasteel/redblue
icon_state = "redbluefull"
-/turf/simulated/floor/plasteel/redblue/side
+/turf/simulated/floor/plasteel/redblue/blueside
+ icon_state = "bluered"
+/turf/simulated/floor/plasteel/redblue/redside
icon_state = "redblue"
+/turf/simulated/floor/plasteel/redgreen
+ icon_state = "redgreenfull"
+/turf/simulated/floor/plasteel/redgreen/side
+ icon_state = "redgreen"
+
+
+/turf/simulated/floor/plasteel/greenyellow
+ icon_state = "greenyellowfull"
+/turf/simulated/floor/plasteel/greenyellow/side
+ icon_state = "greenyellow"
+
+
+/turf/simulated/floor/plasteel/greenblue
+ icon_state = "greenbluefull"
+/turf/simulated/floor/plasteel/greenblue/side
+ icon_state = "greenblue"
+
+
+/turf/simulated/floor/plasteel/blueyellow
+ icon_state = "blueyellowfull"
+/turf/simulated/floor/plasteel/blueyellow/side
+ icon_state = "blueyellow"
+
+
/turf/simulated/floor/plasteel/darkwarning
icon_state = "warndark"
/turf/simulated/floor/plasteel/darkwarning/corner
icon_state = "warndarkcorners"
+/turf/simulated/floor/plasteel/warningline
+ icon_state = "warningline"
+/turf/simulated/floor/plasteel/warningline/corner
+ icon_state = "warninglinecorners"
/turf/simulated/floor/plasteel/yellowsiding
icon_state = "yellowsiding"
@@ -97,12 +275,86 @@
icon_state = "podhatchcorner"
+
+/turf/simulated/floor/plasteel/circuit
+ icon_state = "bcircuit"
+/turf/simulated/floor/plasteel/circuit/off
+ icon_state = "bcircuitoff"
+
+/turf/simulated/floor/plasteel/circuit/gcircuit
+ icon_state = "gcircuit"
+/turf/simulated/floor/plasteel/circuit/gcircuit/off
+ icon_state = "gcircuitoff"
+/turf/simulated/floor/plasteel/circuit/gcircuit/animated
+ icon_state = "gcircuitanim"
+
+/turf/simulated/floor/plasteel/circuit/rcircuit
+ icon_state = "rcircuit"
+/turf/simulated/floor/plasteel/circuit/rcircuit/animated
+ icon_state = "rcircuitanim"
+
+
+
/turf/simulated/floor/plasteel/loadingarea
icon_state = "loadingarea"
+/turf/simulated/floor/plasteel/loadingarea/dirty
+ icon_state = "loadingareadirty1"
+/turf/simulated/floor/plasteel/loadingarea/dirtydirty
+ icon_state = "loadingareadirty2"
+
+
+/turf/simulated/floor/plasteel/shuttle
+ icon_state = "shuttlefloor"
+/turf/simulated/floor/plasteel/shuttle/red
+ name = "Brig floor"
+ icon_state = "shuttlefloor4"
+/turf/simulated/floor/plasteel/shuttle/yellow
+ icon_state = "shuttlefloor2"
+/turf/simulated/floor/plasteel/shuttle/white
+ icon_state = "shuttlefloor3"
+/turf/simulated/floor/plasteel/shuttle/purple
+ icon_state = "shuttlefloor5"
+
+
+/turf/simulated/floor/plasteel/asteroid
+ icon_state = "asteroidfloor"
+/turf/simulated/floor/plasteel/asteroid/warning
+ icon_state = "asteroidwarning"
+
+
+/turf/simulated/floor/plasteel/recharge_floor
+ icon_state = "recharge_floor"
+/turf/simulated/floor/plasteel/recharge_floor/asteroid
+ icon_state = "recharge_floor_asteroid"
+
+
+/turf/simulated/floor/plasteel/chapel
+ icon_state = "chapel"
+
+/turf/simulated/floor/plasteel/showroomfloor
+ icon_state = "showroomfloor"
+
+/turf/simulated/floor/plasteel/floorgrime
+ icon_state = "floorgrime"
+
+/turf/simulated/floor/plasteel/solarpanel
+ icon_state = "solarpanel"
+
+/turf/simulated/floor/plasteel/cmo
+ icon_state = "cmo"
+
+/turf/simulated/floor/plasteel/barber
+ icon_state = "barber"
+
+/turf/simulated/floor/plasteel/hydrofloor
+ icon_state = "hydrofloor"
/turf/simulated/floor/plasteel/delivery
icon_state = "delivery"
+/turf/simulated/floor/plasteel/bot
+ icon_state = "bot"
+
/turf/simulated/floor/plasteel/freezer
icon_state = "freezerfloor"
@@ -115,10 +367,18 @@
/turf/simulated/floor/plasteel/cafeteria
icon_state = "cafeteria"
+/turf/simulated/floor/plasteel/vault
+ icon_state = "vault"
+
/turf/simulated/floor/plasteel/cult
icon_state = "cult"
name = "engraved floor"
+/turf/simulated/floor/plasteel/goonplaque
+ icon_state = "plaque"
+ name = "Commemorative Plaque"
+ desc = "\"This is a plaque in honour of our comrades on the G4407 Stations. Hopefully TG4407 model can live up to your fame and fortune.\" Scratched in beneath that is a crude image of a meteor and a spaceman. The spaceman is laughing. The meteor is exploding."
+
/turf/simulated/floor/plasteel/cult/narsie_act()
return
@@ -127,9 +387,61 @@
nitrogen = 0
temperature = TCMB
-/turf/simulated/floor/plasteel/shuttle
- icon_state = "shuttlefloor"
-/turf/simulated/floor/plasteel/shuttle/red
- name = "Brig floor"
- icon_state = "shuttlefloor4"
\ No newline at end of file
+
+
+
+
+//
+//unused? remove?
+//
+/turf/simulated/floor/plasteel/stage_bottom
+ icon_state = "stage_bottom"
+/turf/simulated/floor/plasteel/stage_left
+ icon_state = "stage_left"
+/turf/simulated/floor/plasteel/stage_bleft
+ icon_state = "stage_bleft"
+
+
+/turf/simulated/floor/plasteel/stairs
+ icon_state = "stairs"
+/turf/simulated/floor/plasteel/stairs/left
+ icon_state = "stairs-l"
+/turf/simulated/floor/plasteel/stairs/medium
+ icon_state = "stairs-m"
+/turf/simulated/floor/plasteel/stairs/right
+ icon_state = "stairs-r"
+/turf/simulated/floor/plasteel/stairs/old
+ icon_state = "stairs-old"
+
+
+/turf/simulated/floor/plasteel/brownold
+ icon_state = "brownold"
+/turf/simulated/floor/plasteel/brownold/corner
+ icon_state = "browncornerold"
+
+
+/turf/simulated/floor/plasteel/rockvault
+ icon_state = "rockvault"
+/turf/simulated/floor/plasteel/rockvault/alien
+ icon_state = "alienvault"
+/turf/simulated/floor/plasteel/rockvault/sandstone
+ icon_state = "sandstonevault"
+
+
+/turf/simulated/floor/plasteel/elevatorshaft
+ icon_state = "elevatorshaft"
+
+/turf/simulated/floor/plasteel/bluespace
+ icon_state = "bluespace"
+
+/turf/simulated/floor/plasteel/sepia
+ icon_state = "sepia"
+
+
+/turf/simulated/floor/plasteel/sandeffect
+ icon_state = "sandeffect"
+/turf/simulated/floor/plasteel/sandeffect/warning
+ icon_state = "warningsandeffect"
+/turf/simulated/floor/plasteel/sandeffect/warning/corner
+ icon_state = "warningsandeffectcorners"
\ No newline at end of file
diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index fb1d315ce58..e8004e4e19e 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -159,25 +159,10 @@
/turf/simulated/wall/proc/try_wallmount(obj/item/weapon/W, mob/user, turf/T)
//check for wall mounted frames
- if(istype(W,/obj/item/apc_frame))
- var/obj/item/apc_frame/AH = W
- AH.try_build(src)
- return 1
- else if(istype(W,/obj/item/newscaster_frame))
- var/obj/item/newscaster_frame/AH = W
- AH.try_build(src)
- return 1
- else if(istype(W,/obj/item/alarm_frame))
- var/obj/item/alarm_frame/AH = W
- AH.try_build(src)
- return 1
- else if(istype(W,/obj/item/firealarm_frame))
- var/obj/item/firealarm_frame/AH = W
- AH.try_build(src)
- return 1
- else if(istype(W,/obj/item/light_fixture_frame))
- var/obj/item/light_fixture_frame/AH = W
- AH.try_build(src)
+ if(istype(W,/obj/item/wallframe))
+ var/obj/item/wallframe/F = W
+ if(F.try_build(src))
+ F.attach(src)
return 1
//Poster stuff
else if(istype(W,/obj/item/weapon/contraband/poster))
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 460855d8520..755f5b4fa49 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -224,38 +224,43 @@
if(has_gravity(src))
playsound(src, "bodyfall", 50, 1)
-/turf/handle_slip(mob/slipper, s_amount, w_amount, obj/O, lube)
+/turf/handle_slip(mob/living/carbon/C, s_amount, w_amount, obj/O, lube)
if(has_gravity(src))
- var/mob/living/carbon/M = slipper
- if (M.m_intent=="walk" && (lube&NO_SLIP_WHEN_WALKING))
- return 0
- if(!M.lying && (M.status_flags & CANWEAKEN)) // we slip those who are standing and can fall.
- if(O)
- M << "You slipped on the [O.name]! "
- else
- M << "You slipped! "
- M.attack_log += "\[[time_stamp()]\] Slipped[O ? " on the [O.name]" : ""][(lube&SLIDE)? " (LUBE)" : ""]! "
- playsound(M.loc, 'sound/misc/slip.ogg', 50, 1, -3)
+ var/obj/buckled_obj
+ var/oldlying = C.lying
+ if(C.buckled)
+ buckled_obj = C.buckled
+ if(!(lube&GALOSHES_DONT_HELP)) //can't slip while buckled unless it's lube.
+ return 0
+ else
+ if(C.lying || !(C.status_flags & CANWEAKEN)) // can't slip unbuckled mob if they're lying or can't fall.
+ return 0
+ if(C.m_intent=="walk" && (lube&NO_SLIP_WHEN_WALKING))
+ return 0
- M.accident(M.l_hand)
- M.accident(M.r_hand)
+ C << "You slipped[ O ? " on the [O.name]" : ""]! "
- var/olddir = M.dir
- M.Stun(s_amount)
- M.Weaken(w_amount)
- M.stop_pulling()
- if(lube&SLIDE)
- for(var/i=1, i<5, i++)
- spawn (i)
- step(M, olddir)
- M.spin(1,1)
- if(M.lying) //did I fall over?
- M.adjustBruteLoss(2)
+ C.attack_log += "\[[time_stamp()]\] Slipped[O ? " on the [O.name]" : ""][(lube&SLIDE)? " (LUBE)" : ""]! "
+ playsound(C.loc, 'sound/misc/slip.ogg', 50, 1, -3)
+ C.accident(C.l_hand)
+ C.accident(C.r_hand)
-
- return 1
- return 0 // no success. Used in clown pda and wet floors
+ var/olddir = C.dir
+ C.Stun(s_amount)
+ C.Weaken(w_amount)
+ C.stop_pulling()
+ if(buckled_obj)
+ buckled_obj.unbuckle_mob()
+ step(buckled_obj, olddir)
+ else if(lube&SLIDE)
+ for(var/i=1, i<5, i++)
+ spawn (i)
+ step(C, olddir)
+ C.spin(1,1)
+ if(C.lying != oldlying) //did we actually fall?
+ C.adjustBruteLoss(2)
+ return 1
/turf/singularity_act()
if(intact)
@@ -280,6 +285,7 @@
density = 1
blocks_air = 1
opacity = 1
+ explosion_block = 50
/turf/indestructible/splashscreen
name = "Space Station 13"
diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm
index eb9bbc56c0f..3a5b8178aae 100644
--- a/code/game/verbs/ooc.dm
+++ b/code/game/verbs/ooc.dm
@@ -137,4 +137,4 @@ var/global/normal_ooc_colour = "#002eb8"
usr << "Sorry, that function is not enabled on this server. "
return
- see_own_notes()
+ show_note(usr, null, 1)
diff --git a/code/modules/admin/NewBan.dm b/code/modules/admin/NewBan.dm
index c1716c470de..7fb18b8e55f 100644
--- a/code/modules/admin/NewBan.dm
+++ b/code/modules/admin/NewBan.dm
@@ -117,9 +117,9 @@ var/savefile/Banlist
if (temp)
Banlist["minutes"] << bantimestamp
if(!temp)
- notes_add(ckey, "Permanently banned - [reason]")
+ add_note(ckey, "Permanently banned - [reason]", null, bannedby, 0)
else
- notes_add(ckey, "Banned for [minutes] minutes - [reason]")
+ add_note(ckey, "Banned for [minutes] minutes - [reason]", null, bannedby, 0)
return 1
/proc/RemoveBan(foldername)
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 71e35f2ff89..0955e000881 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -47,8 +47,12 @@ var/global/floorIsLava = 0
body += "Ban | "
body += "Jobban | "
body += "Identity Ban | "
- body += "Notes | "
- body += "Watchlist Flag "
+ body += "Notes | "
+ if(M.client.check_watchlist(M.client.ckey))
+ body += "Remove from Watchlist | "
+ body += "Edit Watchlist reason "
+ else
+ body += "Add to Watchlist "
if(M.client)
body += "| Prison | "
diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm
index b542204bd23..39c3dcf064e 100644
--- a/code/modules/admin/admin_investigate.dm
+++ b/code/modules/admin/admin_investigate.dm
@@ -22,7 +22,7 @@
F << "[time_stamp()] \ref[src] ([x],[y],[z]) || [src] [message] "
//ADMINVERBS
-/client/proc/investigate_show( subject in list("hrefs","notes","ntsl","singulo","wires","telesci", "gravity", "records", "cargo", "supermatter", "atmos", "experimentor", "kudzu") )
+/client/proc/investigate_show( subject in list("hrefs","notes","watchlist","ntsl","singulo","wires","telesci", "gravity", "records", "cargo", "supermatter", "atmos", "experimentor", "kudzu") )
set name = "Investigate"
set category = "Admin"
if(!holder) return
@@ -45,4 +45,6 @@
src << "Error: admin_investigate: Href Logging is not on. "
return
if("notes")
- holder.notes_show()
+ show_note()
+ if("watchlist")
+ watchlist_show()
diff --git a/code/modules/admin/admin_memo.dm b/code/modules/admin/admin_memo.dm
index 7c40c3aa53a..883c7fcda0c 100644
--- a/code/modules/admin/admin_memo.dm
+++ b/code/modules/admin/admin_memo.dm
@@ -19,7 +19,7 @@
var/sql_ckey = sanitizeSQL(src.ckey)
switch(task)
if("Write")
- var/DBQuery/query_memocheck = dbcon.NewQuery("SELECT ckey FROM [format_table_name("memo")] WHERE (ckey = '[sql_ckey]')")
+ var/DBQuery/query_memocheck = dbcon.NewQuery("SELECT ckey FROM [format_table_name("memo")] WHERE ckey = '[sql_ckey]'")
if(!query_memocheck.Execute())
var/err = query_memocheck.ErrorMsg()
log_game("SQL ERROR obtaining ckey from memo table. Error : \[[err]\]\n")
@@ -27,7 +27,7 @@
if(query_memocheck.NextRow())
src << "You already have set a memo."
return
- var/memotext = input(src,"Write your Memo","Memo") as text|null
+ var/memotext = input(src,"Write your Memo","Memo") as message
if(!memotext)
return
memotext = sanitizeSQL(memotext)
@@ -56,20 +56,20 @@
if(!target_ckey)
return
var/target_sql_ckey = sanitizeSQL(target_ckey)
- var/DBQuery/query_memofind = dbcon.NewQuery("SELECT ckey, memotext FROM [format_table_name("memo")] WHERE (ckey = '[target_sql_ckey]')")
+ var/DBQuery/query_memofind = dbcon.NewQuery("SELECT memotext FROM [format_table_name("memo")] WHERE ckey = '[target_sql_ckey]'")
if(!query_memofind.Execute())
var/err = query_memofind.ErrorMsg()
- log_game("SQL ERROR obtaining ckey, memotext from memo table. Error : \[[err]\]\n")
+ log_game("SQL ERROR obtaining memotext from memo table. Error : \[[err]\]\n")
return
if(query_memofind.NextRow())
- var/old_memo = query_memofind.item[2]
- var/new_memo = input("Input new memo", "New Memo", "[old_memo]", null) as null|text
+ var/old_memo = query_memofind.item[1]
+ var/new_memo = input("Input new memo", "New Memo", "[old_memo]", null) as message
if(!new_memo)
return
new_memo = sanitizeSQL(new_memo)
var/edit_text = "Edited by [sql_ckey] on [SQLtime()] from [old_memo] to [new_memo] "
edit_text = sanitizeSQL(edit_text)
- var/DBQuery/update_query = dbcon.NewQuery("UPDATE [format_table_name("memo")] SET memotext = '[new_memo]', last_editor = '[sql_ckey]', edits = CONCAT(IFNULL(edits,''),'[edit_text]') WHERE (ckey = '[target_sql_ckey]')")
+ var/DBQuery/update_query = dbcon.NewQuery("UPDATE [format_table_name("memo")] SET memotext = '[new_memo]', last_editor = '[sql_ckey]', edits = CONCAT(IFNULL(edits,''),'[edit_text]') WHERE ckey = '[target_sql_ckey]'")
if(!update_query.Execute())
var/err = update_query.ErrorMsg()
log_game("SQL ERROR editing memo. Error : \[[err]\]\n")
diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm
index edbdb87b62d..735b00c6aac 100644
--- a/code/modules/admin/admin_ranks.dm
+++ b/code/modules/admin/admin_ranks.dm
@@ -11,7 +11,7 @@ var/list/admin_ranks = list() //list of all admin_rank datums
switch(name)
if("Removed",null,"")
spawn(-1)
- del(src)
+ qdel(src)
throw EXCEPTION("invalid admin-rank name")
return
if(init_rights) rights = init_rights
diff --git a/code/modules/admin/create_object.dm b/code/modules/admin/create_object.dm
index bb58339dc4c..9c6e54335e9 100644
--- a/code/modules/admin/create_object.dm
+++ b/code/modules/admin/create_object.dm
@@ -1,4 +1,8 @@
-/var/create_object_html = null
+var/create_object_html = null
+var/list/create_object_forms = list(
+ /obj, /obj/structure, /obj/machinery, /obj/effect,
+ /obj/item, /obj/item/clothing, /obj/item/stack, /obj/item/device,
+ /obj/item/weapon, /obj/item/weapon/reagent_containers, /obj/item/weapon/gun)
/datum/admins/proc/create_object(mob/user)
if (!create_object_html)
@@ -11,18 +15,13 @@
/datum/admins/proc/quick_create_object(mob/user)
+ var/path = input("Select the path of the object you wish to create.", "Path", /obj) in create_object_forms
+ var/html_form = create_object_forms[path]
- var/quick_create_object_html = null
- var/pathtext = null
+ if (!html_form)
+ var/objectjs = list2text(typesof(path), ";")
+ html_form = file2text('html/create_object.html')
+ html_form = replacetext(html_form, "null /* object types */", "\"[objectjs]\"")
+ create_object_forms[path] = html_form
- pathtext = input("Select the path of the object you wish to create.", "Path", "/obj") in list("/obj","/obj/structure","/obj/effect","/obj/item","/obj/item/clothing","/obj/item/weapon/reagent_containers/food","/obj/item/weapon","/obj/item/weapon/gun","/obj/machinery","/obj/item/stack")
-
- var path = text2path(pathtext)
-
- if (!quick_create_object_html)
- var/objectjs = null
- objectjs = list2text(typesof(path), ";")
- quick_create_object_html = file2text('html/create_object.html')
- quick_create_object_html = replacetext(quick_create_object_html, "null /* object types */", "\"[objectjs]\"")
-
- user << browse(replacetext(quick_create_object_html, "/* ref src */", "\ref[src]"), "window=quick_create_object;size=425x475")
\ No newline at end of file
+ user << browse(replacetext(html_form, "/* ref src */", "\ref[src]"), "window=qco[path];size=425x475")
\ No newline at end of file
diff --git a/code/modules/admin/player_notes.dm b/code/modules/admin/player_notes.dm
deleted file mode 100644
index 040ac99ef48..00000000000
--- a/code/modules/admin/player_notes.dm
+++ /dev/null
@@ -1,117 +0,0 @@
-//This stuff was originally intended to be integrated into the ban-system I was working on
-//but it's safe to say that'll never be finished. So I've merged it into the current player panel.
-//enjoy ~Carn
-
-#define NOTESFILE "data/player_notes.sav" //where the player notes are saved
-
-/proc/see_own_notes()
- if(!config.see_own_notes)
- return
- var/ckey = usr.client.ckey
- if(!ckey)
- usr << "Error: No ckey found. "
- return
- var/savefile/notesfile = new(NOTESFILE)
- if(!notesfile)
- usr << "Error: Cannot access [NOTESFILE] "
- return
- notesfile.cd = "/[ckey]"
- var/dat = "Notes for [ckey]: "
- while(!notesfile.eof)
- var/note
- notesfile >> note
- dat += note + " "
- var/datum/browser/popup = new(usr, "player_notes", "Player Notes", 700, 400)
- popup.set_content(dat)
- popup.open()
-
-
-/datum/admins/proc/notes_show(ckey)
- usr << browse("Player Notes [notes_gethtml(ckey)]","window=player_notes;size=700x400")
-
-
-/datum/admins/proc/notes_gethtml(ckey)
- var/savefile/notesfile = new(NOTESFILE)
- if(!notesfile) return "Error: Cannot access [NOTESFILE] "
- if(ckey)
- . = "Notes for [ckey] : \[+\] "
- notesfile.cd = "/[ckey]"
- var/index = 1
- while( !notesfile.eof )
- var/note
- notesfile >> note
- . += "[note] \[-\] "
- index++
- else
- . = "All Notes: \[+\] "
- notesfile.cd = "/"
- for(var/dir in notesfile.dir)
- . += "[dir] "
- return
-
-
-//handles adding notes to the end of a ckey's buffer
-//originally had seperate entries such as var/by to record who left the note and when
-//but the current bansystem is a heap of dung.
-/proc/notes_add(ckey, note, lognote = 0)
- if(!ckey)
- ckey = ckey(input(usr,"Who would you like to add notes for?","Enter a ckey",null) as text|null)
- if(!ckey) return
-
- if(!note)
- note = html_encode(input(usr,"Enter your note:","Enter some text",null) as message|null)
- if(!note) return
-
- var/savefile/notesfile = new(NOTESFILE)
- if(!notesfile) return
- notesfile.cd = "/[ckey]"
- notesfile.eof = 1 //move to the end of the buffer
- notesfile << "[time2text(world.realtime,"DD-MMM-YYYY")] | [note][(usr && usr.ckey)?" ~[usr.ckey]":""]"
-
- if(lognote)//don't need an admin log for the notes applied automatically during bans.
- message_admins("[key_name(usr)] added note '[note]' to [ckey]")
- log_admin("[key_name(usr)] added note '[note]' to [ckey]")
-
- return
-
-//handles removing entries from the buffer, or removing the entire directory if no start_index is given
-/proc/notes_remove(ckey, start_index, end_index)
- var/savefile/notesfile = new(NOTESFILE)
- var/admin_msg
- if(!notesfile) return
-
- if(!ckey)
- notesfile.cd = "/"
- ckey = ckey(input(usr,"Who would you like to remove notes for?","Enter a ckey",null) as null|anything in notesfile.dir)
- if(!ckey) return
-
- if(start_index)
- notesfile.cd = "/[ckey]"
- var/list/noteslist = list()
- if(!end_index) end_index = start_index
- var/index = 0
- while( !notesfile.eof )
- index++
- var/temp
- notesfile >> temp
- if( (start_index <= index) && (index <= end_index) )
- admin_msg = temp
- continue
-
- noteslist += temp
-
- notesfile.eof = -2 //Move to the start of the buffer and then erase.
-
- for( var/note in noteslist )
- notesfile << note
-
- message_admins("[key_name(usr)] removed a note '[admin_msg]' from [ckey]")
- log_admin("[key_name(usr)] removed a note '[admin_msg]' from [ckey]")
-
- if(noteslist.len == 0)
- notesfile.cd = "/"
- notesfile.dir.Remove(ckey)
- message_admins("[ckey] has no notes and was removed from the notes list.")
- return
-
-#undef NOTESFILE
\ No newline at end of file
diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm
index 7fdf3adb2d7..027541007f5 100644
--- a/code/modules/admin/player_panel.dm
+++ b/code/modules/admin/player_panel.dm
@@ -76,7 +76,7 @@
body += "";
body += "PP - "
- body += "N - "
+ body += "N - "
body += "VV - "
body += "TP - "
body += "PM - "
diff --git a/code/modules/admin/sql_notes.dm b/code/modules/admin/sql_notes.dm
new file mode 100644
index 00000000000..51136ba2fec
--- /dev/null
+++ b/code/modules/admin/sql_notes.dm
@@ -0,0 +1,221 @@
+/proc/add_note(target_ckey, notetext, timestamp, adminckey, logged = 1, server)
+ if(!dbcon.IsConnected())
+ usr << "Failed to establish database connection. "
+ return
+ if(!target_ckey)
+ var/new_ckey = ckey(input(usr,"Who would you like to add a note for?","Enter a ckey",null) as text)
+ if(!new_ckey)
+ return
+ new_ckey = sanitizeSQL(new_ckey)
+ var/DBQuery/query_find_ckey = dbcon.NewQuery("SELECT ckey FROM [format_table_name("player")] WHERE ckey = '[new_ckey]'")
+ if(!query_find_ckey.Execute())
+ var/err = query_find_ckey.ErrorMsg()
+ log_game("SQL ERROR obtaining ckey from player table. Error : \[[err]\]\n")
+ return
+ if(!query_find_ckey.NextRow())
+ usr << "[new_ckey] has not been seen before, you can only add notes to known players. "
+ return
+ else
+ target_ckey = new_ckey
+ var/target_sql_ckey = sanitizeSQL(target_ckey)
+ if(!notetext)
+ notetext = input(usr,"Write your Note","Add Note") as message
+ if(!notetext)
+ return
+ notetext = sanitizeSQL(notetext)
+ if(!timestamp)
+ timestamp = SQLtime()
+ if(!adminckey)
+ adminckey = usr.ckey
+ if(!adminckey)
+ return
+ var/admin_sql_ckey = sanitizeSQL(adminckey)
+ if(!server)
+ if (config && config.server_name)
+ server = config.server_name
+ server = sanitizeSQL(server)
+ var/DBQuery/query_noteadd = dbcon.NewQuery("INSERT INTO [format_table_name("notes")] (ckey, timestamp, notetext, adminckey, server) VALUES ('[target_sql_ckey]', '[timestamp]', '[notetext]', '[admin_sql_ckey]', '[server]')")
+ if(!query_noteadd.Execute())
+ var/err = query_noteadd.ErrorMsg()
+ log_game("SQL ERROR adding new note to table. Error : \[[err]\]\n")
+ return
+ if(logged)
+ log_admin("[key_name(usr)] has added a note to [target_ckey]: [notetext]")
+ message_admins("[key_name_admin(usr)] has added a note to [target_ckey]: [notetext]")
+ show_note(target_ckey)
+
+/proc/remove_note(note_id)
+ var/ckey
+ var/notetext
+ var/adminckey
+ if(!dbcon.IsConnected())
+ usr << "Failed to establish database connection. "
+ return
+ if(!note_id)
+ return
+ note_id = text2num(note_id)
+ var/DBQuery/query_find_note_del = dbcon.NewQuery("SELECT ckey, notetext, adminckey FROM [format_table_name("notes")] WHERE id = [note_id]")
+ if(!query_find_note_del.Execute())
+ var/err = query_find_note_del.ErrorMsg()
+ log_game("SQL ERROR obtaining ckey, notetext, adminckey from notes table. Error : \[[err]\]\n")
+ return
+ if(query_find_note_del.NextRow())
+ ckey = query_find_note_del.item[1]
+ notetext = query_find_note_del.item[2]
+ adminckey = query_find_note_del.item[3]
+ var/DBQuery/query_del_note = dbcon.NewQuery("DELETE FROM [format_table_name("notes")] WHERE id = [note_id]")
+ if(!query_del_note.Execute())
+ var/err = query_del_note.ErrorMsg()
+ log_game("SQL ERROR removing note from table. Error : \[[err]\]\n")
+ return
+ log_admin("[key_name(usr)] has removed a note made by [adminckey] from [ckey]: [notetext]")
+ message_admins("[key_name_admin(usr)] has removed a note made by [adminckey] from [ckey]: [notetext]")
+ show_note(ckey)
+
+/proc/edit_note(note_id)
+ if(!dbcon.IsConnected())
+ usr << "Failed to establish database connection. "
+ return
+ if(!note_id)
+ return
+ note_id = text2num(note_id)
+ var/target_ckey
+ var/sql_ckey = sanitizeSQL(usr.ckey)
+ var/DBQuery/query_find_note_edit = dbcon.NewQuery("SELECT ckey, notetext, adminckey FROM [format_table_name("notes")] WHERE id = [note_id]")
+ if(!query_find_note_edit.Execute())
+ var/err = query_find_note_edit.ErrorMsg()
+ log_game("SQL ERROR obtaining notetext from notes table. Error : \[[err]\]\n")
+ return
+ if(query_find_note_edit.NextRow())
+ target_ckey = query_find_note_edit.item[1]
+ var/old_note = query_find_note_edit.item[2]
+ var/adminckey = query_find_note_edit.item[3]
+ var/new_note = input("Input new note", "New Note", "[old_note]") as message
+ if(!new_note)
+ return
+ new_note = sanitizeSQL(new_note)
+ var/edit_text = "Edited by [sql_ckey] on [SQLtime()] from [old_note] to [new_note] "
+ edit_text = sanitizeSQL(edit_text)
+ var/DBQuery/query_update_note = dbcon.NewQuery("UPDATE [format_table_name("notes")] SET notetext = '[new_note]', last_editor = '[sql_ckey]', edits = CONCAT(IFNULL(edits,''),'[edit_text]') WHERE id = [note_id]")
+ if(!query_update_note.Execute())
+ var/err = query_update_note.ErrorMsg()
+ log_game("SQL ERROR editing note. Error : \[[err]\]\n")
+ return
+ log_admin("[key_name(usr)] has edited [target_ckey]'s note made by [adminckey] from [old_note] to [new_note]")
+ message_admins("[key_name_admin(usr)] has edited [target_ckey]'s note made by [adminckey] from [old_note] to [new_note]")
+ show_note(target_ckey)
+
+/proc/show_note(target_ckey, index, linkless = 0)
+ var/output
+ var/navbar
+ var/ruler
+ ruler = " "
+ navbar = "\[All\] |\[#\] "
+ for(var/letter in alphabet)
+ navbar += "|\[[letter]\] "
+ navbar += " "
+ if(!linkless)
+ output = navbar
+ if(target_ckey)
+ var/target_sql_ckey = sanitizeSQL(target_ckey)
+ var/DBQuery/query_get_notes = dbcon.NewQuery("SELECT id, timestamp, notetext, adminckey, last_editor, server FROM [format_table_name("notes")] WHERE ckey = '[target_sql_ckey]' ORDER BY timestamp")
+ if(!query_get_notes.Execute())
+ var/err = query_get_notes.ErrorMsg()
+ log_game("SQL ERROR obtaining ckey, notetext, adminckey, last_editor, server from notes table. Error : \[[err]\]\n")
+ return
+ output += "Notes of [target_ckey] "
+ if(!linkless)
+ output += "\[Add Note\] "
+ output += ruler
+ while(query_get_notes.NextRow())
+ var/id = query_get_notes.item[1]
+ var/timestamp = query_get_notes.item[2]
+ var/notetext = query_get_notes.item[3]
+ var/adminckey = query_get_notes.item[4]
+ var/last_editor = query_get_notes.item[5]
+ var/server = query_get_notes.item[6]
+ output += "[timestamp] | [server] | [adminckey] "
+ if(!linkless)
+ output += " \[Remove Note\] \[Edit Note\] "
+ if(last_editor)
+ output += " Last edit by [last_editor] (Click here to see edit log) "
+ output += " [notetext] "
+ else if(index)
+ var/index_ckey
+ var/search
+ output += "\[Add Note\] "
+ output += ruler
+ if(!isnum(index))
+ index = sanitizeSQL(index)
+ switch(index)
+ if(1)
+ search = "^."
+ if(2)
+ search = "^\[^\[:alpha:\]\]"
+ else
+ search = "^[index]"
+ var/DBQuery/query_list_notes = dbcon.NewQuery("SELECT DISTINCT ckey FROM [format_table_name("notes")] WHERE ckey REGEXP '[search]' ORDER BY ckey")
+ if(!query_list_notes.Execute())
+ var/err = query_list_notes.ErrorMsg()
+ log_game("SQL ERROR obtaining ckey from notes table. Error : \[[err]\]\n")
+ return
+ while(query_list_notes.NextRow())
+ index_ckey = query_list_notes.item[1]
+ output += "[index_ckey] "
+ else
+ output += "\[Add Note\] "
+ output += ruler
+ usr << browse(output, "window=show_notes;size=900x500")
+
+/proc/regex_note_sql_extract(str, exp)
+ return new /datum/regex(str, exp, call(LIBREGEX_LIBRARY, "regEx_find")(str, exp))
+
+#define NOTESFILE "data/player_notes.sav"
+//if the AUTOCONVERT_NOTES is turned on, anytime a player connects this will be run to try and add all their notes to the databas
+/proc/convert_notes_sql(ckey)
+ var/savefile/notesfile = new(NOTESFILE)
+ if(!notesfile)
+ log_game("Error: Cannot access [NOTESFILE]")
+ return
+ notesfile.cd = "/[ckey]"
+ while(!notesfile.eof)
+ var/notetext
+ notesfile >> notetext
+ var/server
+ if (config && config.server_name)
+ server = config.server_name
+ var/regex = "^(\\d{2}-\\w{3}-\\d{4}) \\| (.+) ~(\\w+)$"
+ var/datum/regex/results = regex_note_sql_extract(notetext, regex)
+ var/timestamp = results.str(2)
+ notetext = results.str(3)
+ var/adminckey = results.str(4)
+ var/DBQuery/query_convert_time = dbcon.NewQuery("SELECT ADDTIME(STR_TO_DATE('[timestamp]','%d-%b-%Y'), '0')")
+ if(!query_convert_time.Execute())
+ var/err = query_convert_time.ErrorMsg()
+ log_game("SQL ERROR converting timestamp. Error : \[[err]\]\n")
+ return
+ if(query_convert_time.NextRow())
+ timestamp = query_convert_time.item[1]
+ if(ckey && notetext && timestamp && adminckey && server)
+ add_note(ckey, notetext, timestamp, adminckey, 0, server)
+ notesfile.cd = "/"
+ notesfile.dir.Remove(ckey)
+
+/*alternatively this proc can be run once to pass through every note and attempt to convert it before deleting the file, if done then AUTOCONVERT_NOTES should be turned off
+this proc can take several minutes to execute fully if converting and cause DD to hang if converting a lot of notes; it's not advised to do so while a server is live
+/proc/mass_convert_notes()
+ world << "Beginning mass note conversion"
+ var/savefile/notesfile = new(NOTESFILE)
+ if(!notesfile)
+ log_game("Error: Cannot access [NOTESFILE]")
+ return
+ notesfile.cd = "/"
+ for(var/ckey in notesfile.dir)
+ convert_notes_sql(ckey)
+ world << "Deleting NOTESFILE"
+ fdel(NOTESFILE)
+ world << "Finished mass note conversion, remember to turn off AUTOCONVERT_NOTES"*/
+#undef NOTESFILE
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index b1ce38e14d7..10ef2d85e33 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -443,15 +443,14 @@
mins = minutes - CMinutes
mins = input(usr,"How long (in minutes)? (Default: 1440)","Ban time",mins ? mins : 1440) as num|null
if(!mins) return
- mins = min(525599,mins)
minutes = CMinutes + mins
duration = GetExp(minutes)
- reason = input(usr,"Reason?","reason",reason2) as text|null
+ reason = input(usr,"Please State Reason","Reason",reason2) as message
if(!reason) return
if("No")
temp = 0
duration = "Perma"
- reason = input(usr,"Reason?","reason",reason2) as text|null
+ reason = input(usr,"Please State Reason","Reason",reason2) as message
if(!reason) return
log_admin("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]")
@@ -497,7 +496,7 @@
else switch(alert("Appearance ban [M.ckey]?",,"Yes","No", "Cancel"))
if("Yes")
- var/reason = input(usr,"Reason?","reason","Metafriender") as text|null
+ var/reason = input(usr,"Please State Reason","Reason") as message
if(!reason)
return
ban_unban_log_save("[key_name(usr)] appearance banned [key_name(M)]. reason: [reason]")
@@ -505,7 +504,7 @@
feedback_inc("ban_appearance",1)
DB_ban_record(BANTYPE_APPEARANCE, M, -1, reason)
appearance_fullban(M, "[reason]; By [usr.ckey] on [time2text(world.realtime)]")
- notes_add(M.ckey, "Appearance banned - [reason]")
+ add_note(M.ckey, "Appearance banned - [reason]", null, usr.ckey, 0)
message_admins("[key_name_admin(usr)] appearance banned [key_name_admin(M)] ")
M << "You have been appearance banned by [usr.client.ckey]. "
M << "The reason is: [reason] "
@@ -905,7 +904,7 @@
var/mins = input(usr,"How long (in minutes)?","Ban time",1440) as num|null
if(!mins)
return
- var/reason = input(usr,"Reason?","Please State Reason","") as text|null
+ var/reason = input(usr,"Please State Reason","Reason") as message
if(!reason)
return
@@ -921,7 +920,7 @@
msg = job
else
msg += ", [job]"
- notes_add(M.ckey, "Banned from [msg] - [reason]")
+ add_note(M.ckey, "Banned from [msg] - [reason]", null, usr.ckey, 0)
message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes ")
M << "You have been jobbanned by [usr.client.ckey] from: [msg]. "
M << "The reason is: [reason] "
@@ -929,7 +928,7 @@
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
if("No")
- var/reason = input(usr,"Reason?","Please State Reason","") as text|null
+ var/reason = input(usr,"Please State Reason","Reason") as message
if(reason)
var/msg
for(var/job in notbannedlist)
@@ -941,7 +940,7 @@
jobban_fullban(M, job, "[reason]; By [usr.ckey] on [time2text(world.realtime)]")
if(!msg) msg = job
else msg += ", [job]"
- notes_add(M.ckey, "Banned from [msg] - [reason]")
+ add_note(M.ckey, "Banned from [msg] - [reason]", null, usr.ckey, 0)
message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] ")
M << "You have been jobbanned by [usr.client.ckey] from: [msg]. "
M << "The reason is: [reason] "
@@ -994,17 +993,48 @@
del(M.client)
//Player Notes
- else if(href_list["notes"])
- var/ckey = href_list["ckey"]
- switch(href_list["notes"])
- if("show")
- notes_show(ckey)
- if("add")
- notes_add(ckey,href_list["text"], 1)
- notes_show(ckey)
- if("remove")
- notes_remove(ckey,text2num(href_list["from"]),text2num(href_list["to"]))
- notes_show(ckey)
+ else if(href_list["addnote"])
+ var/target_ckey = href_list["addnote"]
+ add_note(target_ckey)
+
+ else if(href_list["addnoteempty"])
+ add_note()
+
+ else if(href_list["removenote"])
+ var/note_id = href_list["removenote"]
+ remove_note(note_id)
+
+ else if(href_list["editnote"])
+ var/note_id = href_list["editnote"]
+ edit_note(note_id)
+
+ else if(href_list["shownote"])
+ var/target = href_list["shownote"]
+ show_note(index = target)
+
+ else if(href_list["nonalpha"])
+ var/target = href_list["nonalpha"]
+ target = text2num(target)
+ show_note(index = target)
+
+ else if(href_list["shownoteckey"])
+ var/target_ckey = href_list["shownoteckey"]
+ show_note(target_ckey)
+
+ else if(href_list["notessearch"])
+ var/target = href_list["notessearch"]
+ show_note(index = target)
+
+ else if(href_list["noteedits"])
+ var/note_id = sanitizeSQL("[href_list["noteedits"]]")
+ var/DBQuery/query_noteedits = dbcon.NewQuery("SELECT edits FROM [format_table_name("notes")] WHERE id = '[note_id]'")
+ if(!query_noteedits.Execute())
+ var/err = query_noteedits.ErrorMsg()
+ log_game("SQL ERROR obtaining edits from notes table. Error : \[[err]\]\n")
+ return
+ if(query_noteedits.NextRow())
+ var/edit_log = query_noteedits.item[1]
+ usr << browse(edit_log,"window=noteedits")
else if(href_list["removejobban"])
if(!check_rights(R_BAN)) return
@@ -1034,8 +1064,7 @@
var/mins = input(usr,"How long (in minutes)?","Ban time",1440) as num|null
if(!mins)
return
- if(mins >= 525600) mins = 525599
- var/reason = input(usr,"Reason?","reason","Griefer") as text|null
+ var/reason = input(usr,"Please State Reason","Reason") as message
if(!reason)
return
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 1, mins)
@@ -1055,7 +1084,7 @@
del(M.client)
//qdel(M) // See no reason why to delete mob. Important stuff can be lost. And ban can be lifted before round ends.
if("No")
- var/reason = input(usr,"Reason?","reason","Griefer") as text|null
+ var/reason = input(usr,"Please State Reason","Reason") as message
if(!reason)
return
switch(alert(usr,"IP ban?",,"Yes","No","Cancel"))
@@ -1095,61 +1124,46 @@
unjobbanpanel()
//Watchlist
- else if(href_list["watchlist"])
- if(!check_rights(R_ADMIN)) return
- var/mob/M = locate(href_list["watchlist"])
- if(!dbcon.IsConnected())
- usr << "Failed to establish database connection. "
+ else if(href_list["watchadd"])
+ var/target_ckey = locate(href_list["watchadd"])
+ usr.client.watchlist_add(target_ckey)
+
+ else if(href_list["watchremove"])
+ var/target_ckey = href_list["watchremove"]
+ usr.client.watchlist_remove(target_ckey)
+
+ else if(href_list["watchedit"])
+ var/target_ckey = href_list["watchedit"]
+ usr.client.watchlist_edit(target_ckey)
+
+ else if(href_list["watchaddbrowse"])
+ usr.client.watchlist_add(null, 1)
+
+ else if(href_list["watchremovebrowse"])
+ var/target_ckey = href_list["watchremovebrowse"]
+ usr.client.watchlist_remove(target_ckey, 1)
+
+ else if(href_list["watcheditbrowse"])
+ var/target_ckey = href_list["watcheditbrowse"]
+ usr.client.watchlist_edit(target_ckey, 1)
+
+ else if(href_list["watchsearch"])
+ var/target_ckey = href_list["watchsearch"]
+ usr.client.watchlist_show(target_ckey)
+
+ else if(href_list["watchshow"])
+ usr.client.watchlist_show()
+
+ else if(href_list["watcheditlog"])
+ var/target_ckey = sanitizeSQL("[href_list["watcheditlog"]]")
+ var/DBQuery/query_watchedits = dbcon.NewQuery("SELECT edits FROM [format_table_name("watch")] WHERE ckey = '[target_ckey]'")
+ if(!query_watchedits.Execute())
+ var/err = query_watchedits.ErrorMsg()
+ log_game("SQL ERROR obtaining edits from watch table. Error : \[[err]\]\n")
return
- if(!ismob(M))
- usr << "This can only be used on instances of type /mob"
- return
- if(!M.ckey)
- usr << "This mob has no ckey"
- return
- var/sql_ckey = sanitizeSQL(M.ckey)
- var/DBQuery/query = dbcon.NewQuery("SELECT ckey FROM [format_table_name("watch")] WHERE (ckey = '[sql_ckey]')")
- query.Execute()
- if(query.NextRow())
- switch(alert(usr, "[sql_ckey] is already on the watchlist, do you want to:", "Ckey already flagged", "Remove", "Edit reason", "Cancel"))
- if("Cancel")
- return
- if("Remove")
- var/DBQuery/query_watchdel = dbcon.NewQuery("DELETE FROM [format_table_name("watch")] WHERE ckey = '[sql_ckey]'")
- if(!query_watchdel.Execute())
- var/err = query_watchdel.ErrorMsg()
- log_game("SQL ERROR during removing watch entry. Error : \[[err]\]\n")
- return
- log_admin("[key_name(usr)] has removed [key_name_admin(M)] from the watchlist")
- message_admins("[key_name_admin(usr)] has removed [key_name_admin(M)] from the watchlist", 1)
- if("Edit reason")
- var/DBQuery/query_reason = dbcon.NewQuery("SELECT ckey, reason FROM [format_table_name("watch")] WHERE (ckey = '[sql_ckey]')")
- query_reason.Execute()
- if(query_reason.NextRow())
- var/watch_reason = query_reason.item[3]
- var/new_reason = input("Insert new reason", "New Reason", "[watch_reason]", null) as null|text
- new_reason = sanitizeSQL(new_reason)
- if(!new_reason)
- return
- var/DBQuery/update_query = dbcon.NewQuery("UPDATE [format_table_name("watch")] SET reason = '[new_reason]' WHERE (ckey = '[sql_ckey]')")
- if(!update_query.Execute())
- var/err = update_query.ErrorMsg()
- log_game("SQL ERROR during edit watch entry reason. Error : \[[err]\]\n")
- return
- log_admin("[key_name(usr)] has edited [sql_ckey]'s reason from [watch_reason] to [new_reason]",1)
- message_admins("[key_name_admin(usr)] has edited [sql_ckey]'s reason from [watch_reason] to [new_reason]",1)
- else
- var/reason = input(usr,"Reason?","reason","Metagaming") as text|null
- if(!reason)
- return
- reason = sanitizeSQL(reason)
- var/DBQuery/query_watchadd = dbcon.NewQuery("INSERT INTO [format_table_name("watch")] (ckey, reason) VALUES ('[sql_ckey]', '[reason]')")
- if(!query_watchadd.Execute())
- var/err = query_watchadd.ErrorMsg()
- log_game("SQL ERROR during adding new watch entry. Error : \[[err]\]\n")
- return
- log_admin("[key_name(usr)] has added [key_name_admin(M)] to the watchlist - Reason: [reason]")
- message_admins("[key_name_admin(usr)] has added [key_name_admin(M)] to the watchlist - Reason: [reason]", 1)
+ if(query_watchedits.NextRow())
+ var/edit_log = query_watchedits.item[1]
+ usr << browse(edit_log,"window=watchedits")
else if(href_list["mute"])
if(!check_rights(R_ADMIN)) return
@@ -1793,41 +1807,36 @@
if(!obj_dir || !(obj_dir in list(1,2,4,8,5,6,9,10)))
obj_dir = 2
var/obj_name = sanitize(href_list["object_name"])
+
+
+ var/atom/target //Where the object will be spawned
var/where = href_list["object_where"]
if (!( where in list("onfloor","inhand","inmarked") ))
where = "onfloor"
- if( where == "inhand" )
- usr << "Support for inhand not available yet. Will spawn on floor."
- where = "onfloor"
- if ( where == "inhand" ) //Can only give when human or monkey
- if ( !( ishuman(usr) || ismonkey(usr) ) )
- usr << "Can only spawn in hand when you're a human or a monkey."
- where = "onfloor"
- else if ( usr.get_active_hand() )
- usr << "Your active hand is full. Spawning on floor."
- where = "onfloor"
+ switch(where)
+ if("inhand")
+ if (!iscarbon(usr) && !isrobot(usr))
+ usr << "Can only spawn in hand when you're a carbon mob or cyborg."
+ where = "onfloor"
+ target = usr
- if ( where == "inmarked" )
- if ( !marked_datum )
- usr << "You don't have any object marked. Abandoning spawn."
- return
- else
- if ( !istype(marked_datum,/atom) )
- usr << "The object you have marked cannot be used as a target. Target must be of type /atom. Abandoning spawn."
- return
-
- var/atom/target //Where the object will be spawned
- switch ( where )
- if ( "onfloor" )
- switch (href_list["offset_type"])
+ if("onfloor")
+ switch(href_list["offset_type"])
if ("absolute")
target = locate(0 + X,0 + Y,0 + Z)
if ("relative")
target = locate(loc.x + X,loc.y + Y,loc.z + Z)
- if ( "inmarked" )
- target = marked_datum
+ if("inmarked")
+ if(!marked_datum)
+ usr << "You don't have any object marked. Abandoning spawn."
+ return
+ else if(!istype(marked_datum,/atom))
+ usr << "The object you have marked cannot be used as a target. Target must be of type /atom. Abandoning spawn."
+ return
+ else
+ target = marked_datum
if(target)
for (var/path in paths)
@@ -1835,9 +1844,8 @@
if(path in typesof(/turf))
var/turf/O = target
var/turf/N = O.ChangeTurf(path)
- if(N)
- if(obj_name)
- N.name = obj_name
+ if(N && obj_name)
+ N.name = obj_name
else
var/atom/O = new path(target)
if(O)
@@ -1847,6 +1855,18 @@
if(istype(O,/mob))
var/mob/M = O
M.real_name = obj_name
+ if(where == "inhand" && isliving(usr) && istype(O, /obj/item))
+ var/mob/living/L = usr
+ var/obj/item/I = O
+ L.put_in_hands(I)
+ if(isrobot(L))
+ var/mob/living/silicon/robot/R = L
+ if(R.module)
+ R.module.modules += I
+ I.loc = R.module
+ R.module.rebuild()
+ R.activate_module(I)
+
if (number == 1)
log_admin("[key_name(usr)] created a [english_list(paths)]")
@@ -2089,4 +2109,4 @@
message_admins("[key_name_admin(usr)] has kicked [afkonly ? "all AFK" : "all"] clients from the lobby. [length(listkicked)] clients kicked: [strkicked ? strkicked : "--"]")
log_admin("[key_name(usr)] has kicked [afkonly ? "all AFK" : "all"] clients from the lobby. [length(listkicked)] clients kicked: [strkicked ? strkicked : "--"]")
else
- usr << "You may only use this when the game is running"
+ usr << "You may only use this when the game is running"
\ No newline at end of file
diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm
index 8ec3e3f2075..991ebb36886 100644
--- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm
+++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm
@@ -180,7 +180,7 @@
query_tree += val
pos++
- del(parser)
+ qdel(parser)
return querys
diff --git a/code/modules/admin/verbs/getlogs.dm b/code/modules/admin/verbs/getlogs.dm
index 7e9adfb9295..83bde628fd0 100644
--- a/code/modules/admin/verbs/getlogs.dm
+++ b/code/modules/admin/verbs/getlogs.dm
@@ -1,7 +1,7 @@
/*
HOW DO I LOG RUNTIMES?
Firstly, start dreamdeamon if it isn't already running. Then select "world>Log Session" (or press the F3 key)
- navigate the popup window to the data/logs/runtime/ folder from where your tgstation .dmb is located.
+ navigate the popup window to the data/logs/runtimes/ folder from where your tgstation .dmb is located.
(you may have to make this folder yourself)
OPTIONAL: you can select the little checkbox down the bottom to make dreamdeamon save the log everytime you
@@ -44,7 +44,7 @@
set desc = "Retrieve any session logfiles saved by dreamdeamon."
set category = null
- var/path = browse_files("data/logs/runtime/")
+ var/path = browse_files("data/logs/runtimes/")
if(!path)
return
diff --git a/code/modules/admin/verbs/massmodvar.dm b/code/modules/admin/verbs/massmodvar.dm
index cf13ea9fe4c..58394d17d93 100644
--- a/code/modules/admin/verbs/massmodvar.dm
+++ b/code/modules/admin/verbs/massmodvar.dm
@@ -171,7 +171,7 @@
return .(O.vars[variable])
if("text")
- var/new_value = input("Enter new text:","Text",O.vars[variable]) as text|null
+ var/new_value = input("Enter new text:","Text",O.vars[variable]) as message|null
if(new_value == null) return
var/process_vars = 0
diff --git a/code/modules/admin/verbs/modifyvariables.dm b/code/modules/admin/verbs/modifyvariables.dm
index 9cc7f8a7a76..67887272f82 100644
--- a/code/modules/admin/verbs/modifyvariables.dm
+++ b/code/modules/admin/verbs/modifyvariables.dm
@@ -49,7 +49,7 @@ var/list/VVckey_edit = list("key", "ckey")
switch(class)
if("text")
- var_value = input("Enter new text:","Text") as null|text
+ var_value = input("Enter new text:","Text") as null|message
if("num")
var_value = input("Enter new number:","Num") as null|num
@@ -106,7 +106,7 @@ var/list/VVckey_edit = list("key", "ckey")
switch(class)
if("text")
- var_value = input("Enter new text:","Text") as text
+ var_value = input("Enter new text:","Text") as message
if("num")
var_value = input("Enter new number:","Num") as num
@@ -302,7 +302,7 @@ var/list/VVckey_edit = list("key", "ckey")
return
if("text")
- new_var = input("Enter new text:","Text") as text
+ new_var = input("Enter new text:","Text") as message
if(findtext(new_var,"\["))
var/process_vars = alert(usr,"\[] detected in string, process as variables?","Process Variables?","Yes","No")
@@ -557,7 +557,7 @@ var/list/VVckey_edit = list("key", "ckey")
return .(O.vars[variable])
if("text")
- var/var_new = input("Enter new text:","Text",O.vars[variable]) as null|text
+ var/var_new = input("Enter new text:","Text",O.vars[variable]) as null|message
if(var_new==null) return
if(findtext(var_new,"\["))
diff --git a/code/modules/admin/watchlist.dm b/code/modules/admin/watchlist.dm
new file mode 100644
index 00000000000..5d772b89a8d
--- /dev/null
+++ b/code/modules/admin/watchlist.dm
@@ -0,0 +1,118 @@
+/client/proc/watchlist_add(target_ckey, browse = 0)
+ if(!target_ckey)
+ var/new_ckey = ckey(input(usr,"Who would you like to add to the watchlist?","Enter a ckey",null) as text)
+ if(!new_ckey)
+ return
+ new_ckey = sanitizeSQL(new_ckey)
+ var/DBQuery/query_watchfind = dbcon.NewQuery("SELECT ckey FROM [format_table_name("player")] WHERE ckey = '[new_ckey]'")
+ if(!query_watchfind.Execute())
+ var/err = query_watchfind.ErrorMsg()
+ log_game("SQL ERROR obtaining ckey from player table. Error : \[[err]\]\n")
+ return
+ if(!query_watchfind.NextRow())
+ usr << "[new_ckey] has not been seen before, you can only add known players. "
+ return
+ else
+ target_ckey = new_ckey
+ var/target_sql_ckey = sanitizeSQL(target_ckey)
+ if(check_watchlist(target_sql_ckey))
+ usr << "[target_sql_ckey] is already on the watchlist. "
+ return
+ var/reason = input(usr,"Please State Reason","Reason") as message
+ if(!reason)
+ return
+ reason = sanitizeSQL(reason)
+ var/timestamp = SQLtime()
+ var/adminckey = usr.ckey
+ if(!adminckey)
+ return
+ var/admin_sql_ckey = sanitizeSQL(adminckey)
+ var/DBQuery/query_watchadd = dbcon.NewQuery("INSERT INTO [format_table_name("watch")] (ckey, reason, adminckey, timestamp) VALUES ('[target_sql_ckey]', '[reason]', '[admin_sql_ckey]', '[timestamp]')")
+ if(!query_watchadd.Execute())
+ var/err = query_watchadd.ErrorMsg()
+ log_game("SQL ERROR during adding new watch entry. Error : \[[err]\]\n")
+ return
+ log_admin("[key_name(usr)] has added [target_ckey] to the watchlist - Reason: [reason]")
+ message_admins("[key_name_admin(usr)] has added [target_ckey] to the watchlist - Reason: [reason]", 1)
+ if(browse)
+ watchlist_show(target_sql_ckey)
+
+/client/proc/watchlist_remove(target_ckey, browse = 0)
+ var/target_sql_ckey = sanitizeSQL(target_ckey)
+ var/DBQuery/query_watchdel = dbcon.NewQuery("DELETE FROM [format_table_name("watch")] WHERE ckey = '[target_sql_ckey]'")
+ if(!query_watchdel.Execute())
+ var/err = query_watchdel.ErrorMsg()
+ log_game("SQL ERROR during removing watch entry. Error : \[[err]\]\n")
+ return
+ log_admin("[key_name(usr)] has removed [target_ckey] from the watchlist")
+ message_admins("[key_name_admin(usr)] has removed [target_ckey] from the watchlist", 1)
+ if(browse)
+ watchlist_show()
+
+/client/proc/watchlist_edit(target_ckey, browse = 0)
+ var/target_sql_ckey = sanitizeSQL(target_ckey)
+ var/DBQuery/query_watchreason = dbcon.NewQuery("SELECT reason FROM [format_table_name("watch")] WHERE ckey = '[target_sql_ckey]'")
+ if(!query_watchreason.Execute())
+ var/err = query_watchreason.ErrorMsg()
+ log_game("SQL ERROR obtaining reason from watch table. Error : \[[err]\]\n")
+ return
+ if(query_watchreason.NextRow())
+ var/watch_reason = query_watchreason.item[1]
+ var/new_reason = input("Input new reason", "New Reason", "[watch_reason]") as message
+ new_reason = sanitizeSQL(new_reason)
+ if(!new_reason)
+ return
+ var/sql_ckey = sanitizeSQL(usr.ckey)
+ var/edit_text = "Edited by [sql_ckey] on [SQLtime()] from [watch_reason] to [new_reason] "
+ edit_text = sanitizeSQL(edit_text)
+ var/DBQuery/query_watchupdate = dbcon.NewQuery("UPDATE [format_table_name("watch")] SET reason = '[new_reason]', last_editor = '[sql_ckey]', edits = CONCAT(IFNULL(edits,''),'[edit_text]') WHERE ckey = '[target_sql_ckey]'")
+ if(!query_watchupdate.Execute())
+ var/err = query_watchupdate.ErrorMsg()
+ log_game("SQL ERROR editing watchlist reason. Error : \[[err]\]\n")
+ return
+ log_admin("[key_name(usr)] has edited [target_ckey]'s watchlist reason from [watch_reason] to [new_reason]")
+ message_admins("[key_name_admin(usr)] has edited [target_ckey]'s watchlist reason from [watch_reason] to [new_reason]")
+ if(browse)
+ watchlist_show(target_sql_ckey)
+
+/client/proc/watchlist_show(search)
+ var/output
+ output += ""
+ output += "\[Clear Search\] \[Add Ckey\] "
+ output += " "
+ if(search)
+ search = "^[search]"
+ else
+ search = "^."
+ search = sanitizeSQL(search)
+ var/DBQuery/query_watchlist = dbcon.NewQuery("SELECT ckey, reason, adminckey, timestamp, last_editor FROM [format_table_name("watch")] WHERE ckey REGEXP '[search]' ORDER BY ckey")
+ if(!query_watchlist.Execute())
+ var/err = query_watchlist.ErrorMsg()
+ log_game("SQL ERROR obtaining ckey, reason, adminckey, timestamp, last_editor from watch table. Error : \[[err]\]\n")
+ return
+ while(query_watchlist.NextRow())
+ var/ckey = query_watchlist.item[1]
+ var/reason = query_watchlist.item[2]
+ var/adminckey = query_watchlist.item[3]
+ var/timestamp = query_watchlist.item[4]
+ var/last_editor = query_watchlist.item[5]
+ output += "[ckey] | Added by [adminckey] on [timestamp] \[Remove\] \[Edit Reason\] "
+ if(last_editor)
+ output += " Last edit by [last_editor] (Click here to see edit log) "
+ output += " [reason] "
+ usr << browse(output, "window=watchwin;size=900x500")
+
+/client/proc/check_watchlist(target_ckey)
+ var/target_sql_ckey = sanitizeSQL(target_ckey)
+ var/DBQuery/query_watch = dbcon.NewQuery("SELECT reason FROM [format_table_name("watch")] WHERE ckey = '[target_sql_ckey]'")
+ if(!query_watch.Execute())
+ var/err = query_watch.ErrorMsg()
+ log_game("SQL ERROR obtaining reason from watch table. Error : \[[err]\]\n")
+ return
+ if(query_watch.NextRow())
+ return query_watch.item[1]
+ else
+ return 0
diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm
index 3a70880a7ec..099b672b312 100644
--- a/code/modules/assembly/assembly.dm
+++ b/code/modules/assembly/assembly.dm
@@ -52,9 +52,11 @@
//Called when another assembly acts on this one, var/radio will determine where it came from for wire calcs
/obj/item/device/assembly/proc/pulsed(radio = 0)
if(holder && (wires & WIRE_RECEIVE))
- activate()
+ spawn(0)
+ activate()
if(radio && (wires & WIRE_RADIO_RECEIVE))
- activate()
+ spawn(0)
+ activate()
return 1
diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm
new file mode 100644
index 00000000000..9e654648c2d
--- /dev/null
+++ b/code/modules/assembly/doorcontrol.dm
@@ -0,0 +1,146 @@
+/obj/item/device/assembly/control
+ name = "blast door controller"
+ desc = "A small electronic device able to control a blast door remotely."
+ icon_state = "control"
+ origin_tech = "magnets=1;programming=2"
+ attachable = 1
+ var/id = null
+ var/can_change_id = 0
+
+/obj/item/device/assembly/control/examine(mob/user)
+ ..()
+ if(id)
+ user << "It's channel ID is '[id]'."
+
+
+/obj/item/device/assembly/control/activate()
+ cooldown = 1
+ var/openclose
+ for(var/obj/machinery/door/poddoor/M in machines)
+ if(M.id == src.id)
+ if(openclose == null)
+ openclose = M.density
+ spawn(0)
+ if(M)
+ if(openclose) M.open()
+ else M.close()
+ return
+ sleep(10)
+ cooldown = 0
+
+
+/obj/item/device/assembly/control/airlock
+ name = "airlock controller"
+ desc = "A small electronic device able to control an airlock remotely."
+ id = "badmin" // Set it to null for MEGAFUN.
+ var/specialfunctions = OPEN
+ /*
+ Bitflag, 1= open (OPEN)
+ 2= idscan (IDSCAN)
+ 4= bolts (BOLTS)
+ 8= shock (SHOCK)
+ 16= door safties (SAFE)
+ */
+
+/obj/item/device/assembly/control/airlock/activate()
+ cooldown = 1
+ for(var/obj/machinery/door/airlock/D in airlocks)
+ if(D.id_tag == src.id)
+ if(specialfunctions & OPEN)
+ spawn(0)
+ if(D)
+ if(D.density) D.open()
+ else D.close()
+ return
+ if(specialfunctions & IDSCAN)
+ D.aiDisabledIdScanner = !D.aiDisabledIdScanner
+ if(specialfunctions & BOLTS)
+ if(!D.isWireCut(4) && D.hasPower())
+ D.locked = !D.locked
+ D.update_icon()
+ if(specialfunctions & SHOCK)
+ D.secondsElectrified = D.secondsElectrified ? 0 : -1
+ if(specialfunctions & SAFE)
+ D.safe = !D.safe
+ sleep(10)
+ cooldown = 0
+
+
+/obj/item/device/assembly/control/massdriver
+ name = "mass driver controller"
+ desc = "A small electronic device able to control a mass driver."
+
+/obj/item/device/assembly/control/massdriver/activate()
+ cooldown = 1
+ for(var/obj/machinery/door/poddoor/M in machines)
+ if (M.id == src.id)
+ spawn( 0 )
+ M.open()
+ return
+
+ sleep(10)
+
+ for(var/obj/machinery/mass_driver/M in machines)
+ if(M.id == src.id)
+ M.drive()
+
+ sleep(60)
+
+ for(var/obj/machinery/door/poddoor/M in machines)
+ if (M.id == src.id)
+ spawn( 0 )
+ M.close()
+ return
+
+ sleep(10)
+ cooldown = 0
+
+
+/obj/item/device/assembly/control/igniter
+ name = "ignition controller"
+ desc = "A remote controller for a mounted igniter."
+
+/obj/item/device/assembly/control/igniter/activate()
+ cooldown = 1
+ for(var/obj/machinery/sparker/M in machines)
+ if (M.id == src.id)
+ spawn( 0 )
+ M.ignite()
+
+ for(var/obj/machinery/igniter/M in machines)
+ if(M.id == src.id)
+ M.use_power(50)
+ M.on = !M.on
+ M.icon_state = "igniter[M.on]"
+
+ sleep(30)
+ cooldown = 0
+
+
+/obj/item/device/assembly/control/flasher
+ name = "flasher controller"
+ desc = "A remote controller for a mounted flasher."
+
+/obj/item/device/assembly/control/flasher/activate()
+ cooldown = 1
+ for(var/obj/machinery/flasher/M in machines)
+ if(M.id == src.id)
+ spawn(0)
+ M.flash()
+
+ sleep(50)
+ cooldown = 0
+
+
+/obj/item/device/assembly/control/crematorium
+ name = "crematorium controller"
+ desc = "An evil-looking remote controller for a crematorium."
+
+/obj/item/device/assembly/control/crematorium/activate()
+ cooldown = 1
+ for (var/obj/structure/bodycontainer/crematorium/C in crematoriums)
+ if (C.id == id)
+ C.cremate(usr)
+
+ sleep(50)
+ cooldown = 0
\ No newline at end of file
diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm
index 4b6489290d2..fe02a86da7f 100644
--- a/code/modules/assembly/holder.dm
+++ b/code/modules/assembly/holder.dm
@@ -21,7 +21,7 @@
attach(A2,user)
name = "[A.name]-[A2.name] assembly"
update_icon()
- feedback_add_details("assembly_made","[name]")
+ feedback_add_details("assembly_made","[type]")
/obj/item/device/assembly_holder/proc/attach(obj/item/device/assembly/A, mob/user)
if(!A.remove_item_from_storage(src))
diff --git a/code/modules/awaymissions/maploader/swapmaps.dm b/code/modules/awaymissions/maploader/swapmaps.dm
index 6c2cba1d0be..127af2e7a1e 100644
--- a/code/modules/awaymissions/maploader/swapmaps.dm
+++ b/code/modules/awaymissions/maploader/swapmaps.dm
@@ -156,7 +156,7 @@ swapmap
if(z2>swapmaps_compiled_maxz ||\
y2>swapmaps_compiled_maxy ||\
x2>swapmaps_compiled_maxx)
- del(src)
+ qdel(src)
return
x2=x?(x):world.maxx
y2=y?(y):world.maxy
@@ -179,12 +179,12 @@ swapmap
if(!M.key) qdel(M)
else M.loc=null
areas[A.loc]=null
- del(A)
+ qdel(A)
// delete areas that belong only to this map
for(var/area/a in areas)
- if(a && !a.contents.len) del(a)
+ if(a && !a.contents.len) qdel(a)
if(x2>=world.maxx || y2>=world.maxy || z2>=world.maxz) CutXYZ()
- del(areas)
+ qdel(areas)
..()
/*
@@ -241,7 +241,7 @@ swapmap
sleep()
S.cd=oldcd
locked=0
- del(areas)
+ qdel(areas)
Read(savefile/S,_id,turf/locorner)
var/x
@@ -297,7 +297,7 @@ swapmap
sleep()
S.cd=oldcd
locked=0
- del(areas)
+ qdel(areas)
/*
Find an empty block on the world map in which to load this map.
@@ -321,7 +321,7 @@ swapmap
x1=l[1]
y1=l[2]
z1=l[3]
- del(l)
+ qdel(l)
x2+=x1-1
y2+=y1-1
z2+=z1-1
@@ -377,7 +377,7 @@ swapmap
// save and delete
proc/Unload()
Save()
- del(src)
+ qdel(src)
proc/Save()
if(id==src) return 0
@@ -472,7 +472,7 @@ atom
l=l.Copy()
for(M in src) if(M.key) l-=M
if(l.len) S["contents"]<Notice: [key_name_admin(src)] is flagged for watching and has just connected - Reason: [query_watch.item[2]] ")
- send2irc_adminless_only("Watchlist", "[key_name(src)] is flagged for watching and has just connected - Reason: [query_watch.item[2]]")
+ var/watchreason = check_watchlist(sql_ckey)
+ if(watchreason)
+ message_admins("Notice: [key_name_admin(src)] is on the watchlist and has just connected - Reason: [watchreason] ")
+ send2irc_adminless_only("Watchlist", "[key_name(src)] is on the watchlist and has just connected - Reason: [watchreason]")
var/admin_rank = "Player"
if (src.holder && src.holder.rank)
diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm
index 06bdfc347d6..334c76fca27 100644
--- a/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/code/modules/clothing/spacesuits/hardsuit.dm
@@ -10,6 +10,7 @@
var/basestate = "hardsuit"
var/brightness_on = 4 //luminosity when on
var/on = 0
+ var/obj/item/clothing/suit/space/hardsuit/suit
item_color = "engineering" //Determines used sprites: hardsuit[on]-[color] and hardsuit[on]-[color]2 (lying down sprite)
action_button_name = "Toggle Helmet Light"
flags = BLOCKHAIR | STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP
diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm
index d8dc137f797..a9a1d0f6133 100644
--- a/code/modules/clothing/suits/armor.dm
+++ b/code/modules/clothing/suits/armor.dm
@@ -105,7 +105,7 @@
/obj/item/clothing/suit/armor/laserproof/IsReflect(def_zone)
if(!(def_zone in list("chest", "groin"))) //If not shot where ablative is covering you, you don't get the reflection bonus!
- hit_reflect_chance = 0
+ return 0
if (prob(hit_reflect_chance))
return 1
diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm
index d8d1f409691..9a3efc5d2ad 100644
--- a/code/modules/clothing/suits/toggles.dm
+++ b/code/modules/clothing/suits/toggles.dm
@@ -90,7 +90,6 @@
user << "Alt-click on [src] to toggle the [togglename]."
//Hardsuit toggle code
-
/obj/item/clothing/suit/space/hardsuit/New()
MakeHelmet()
if(!jetpack)
@@ -98,15 +97,24 @@
verbs -= /obj/item/clothing/suit/space/hardsuit/verb/Jetpack_Rockets
..()
/obj/item/clothing/suit/space/hardsuit/Destroy()
- qdel(helmet)
+ if(helmet)
+ helmet.suit = null
+ qdel(helmet)
qdel(jetpack)
..()
+/obj/item/clothing/head/helmet/space/hardsuit/Destroy()
+ if(suit)
+ suit.helmet = null
+ qdel(suit)
+ ..()
+
/obj/item/clothing/suit/space/hardsuit/proc/MakeHelmet()
if(!helmettype)
return
if(!helmet)
var/obj/item/clothing/head/helmet/space/hardsuit/W = new helmettype(src)
+ W.suit = src
helmet = W
/obj/item/clothing/suit/space/hardsuit/ui_action_click()
@@ -121,7 +129,7 @@
..()
/obj/item/clothing/suit/space/hardsuit/proc/RemoveHelmet()
- if(!helmettype)
+ if(!helmet)
return
suittoggled = 0
if(ishuman(helmet.loc))
diff --git a/code/modules/crafting/guncrafting.dm b/code/modules/crafting/guncrafting.dm
index df9fba019af..0af951395f8 100644
--- a/code/modules/crafting/guncrafting.dm
+++ b/code/modules/crafting/guncrafting.dm
@@ -24,8 +24,8 @@
var/obj/item/weaponcrafting/ishotgunconstruction/I = new /obj/item/weaponcrafting/ishotgunconstruction
user.unEquip(src)
user.put_in_hands(I)
- del(W)
- del(src)
+ qdel(W)
+ qdel(src)
return
// SHOTGUN //
@@ -57,8 +57,8 @@
var/obj/item/weaponcrafting/ishotgunconstruction3/I = new /obj/item/weaponcrafting/ishotgunconstruction3
user.unEquip(src)
user.put_in_hands(I)
- del(W)
- del(src)
+ qdel(W)
+ qdel(src)
return
/obj/item/weaponcrafting/ishotgunconstruction3
diff --git a/code/modules/crafting/table.dm b/code/modules/crafting/table.dm
index 3d0ed8b6d84..1999ed6edb8 100644
--- a/code/modules/crafting/table.dm
+++ b/code/modules/crafting/table.dm
@@ -78,7 +78,7 @@
if(istype(I, /obj/item/weapon/reagent_containers/food/snacks))
var/obj/item/weapon/reagent_containers/food/snacks/S = I
S.create_reagents(S.volume)
- feedback_add_details("food_made","[S.name]")
+ feedback_add_details("food_made","[S.type]")
send_feedback = 0
var/list/parts = del_reqs(R, I)
for(var/A in parts)
@@ -93,7 +93,7 @@
I.reagents.reagent_list.Add(A)
I.CheckParts()
if(send_feedback)
- feedback_add_details("object_crafted","[I.name]")
+ feedback_add_details("object_crafted","[I.type]")
return 1
return 0
diff --git a/code/modules/detectivework/footprints_and_rag.dm b/code/modules/detectivework/footprints_and_rag.dm
index 7d7818fa3e2..6e770a21eda 100644
--- a/code/modules/detectivework/footprints_and_rag.dm
+++ b/code/modules/detectivework/footprints_and_rag.dm
@@ -22,14 +22,17 @@
/obj/item/weapon/reagent_containers/glass/rag/afterattack(atom/A as obj|turf|area, mob/user,proximity)
if(!proximity)
return
- if(ismob(A) && A.reagents && reagents.total_volume)
- var/mob/M = A
- if(user.a_intent == "harm")
- reagents.reaction(M, TOUCH)
- reagents.clear_reagents()
+ if(iscarbon(A) && A.reagents && reagents.total_volume)
+ var/mob/living/carbon/C = A
+ if(user.a_intent == "harm" && !C.is_mouth_covered())
+ reagents.reaction(C, INGEST)
+ reagents.trans_to(C, reagents.total_volume)
+ C.visible_message("[user] has smothered \the [C] with \the [src]! ", "[user] has smothered you with \the [src]! ", "You hear some struggling and muffled cries of surprise. ")
else
- reagents.trans_to(M, reagents.total_volume)
- M.visible_message("[user] has smothered \the [A] with \the [src]! ", "[user] has smothered you with \the [src]! ", "You hear some struggling and muffled cries of surprise. ")
+ reagents.reaction(C, TOUCH)
+ reagents.clear_reagents()
+ C.visible_message("[user] has touched \the [C] with \the [src]. ")
+
else if(istype(A) && src in user)
user.visible_message("[user] starts to wipe down [A] with [src]!", "You start to wipe down [A] with [src]... ")
if(do_after(user,30, target = A))
diff --git a/code/modules/events/brand_intelligence.dm b/code/modules/events/brand_intelligence.dm
index 9a55d77b4ad..f373fad4af6 100644
--- a/code/modules/events/brand_intelligence.dm
+++ b/code/modules/events/brand_intelligence.dm
@@ -7,7 +7,6 @@
/datum/round_event/brand_intelligence
announceWhen = 21
endWhen = 1000 //Ends when all vending machines are subverted anyway.
-
var/list/obj/machinery/vending/vendingMachines = list()
var/list/obj/machinery/vending/infectedMachines = list()
var/obj/machinery/vending/originMachine
@@ -28,11 +27,9 @@
for(var/obj/machinery/vending/V in machines)
if(V.z != 1) continue
vendingMachines.Add(V)
-
if(!vendingMachines.len)
kill()
return
-
originMachine = pick(vendingMachines)
vendingMachines.Remove(originMachine)
originMachine.shut_up = 0
@@ -48,7 +45,7 @@
originMachine.visible_message("[originMachine] beeps and seems lifeless.")
kill()
return
-
+ vendingMachines = removeNullsFromList(vendingMachines)
if(!vendingMachines.len) //if every machine is infected
for(var/obj/machinery/vending/upriser in infectedMachines)
if(prob(70) && !upriser.gc_destroyed)
@@ -62,7 +59,6 @@
kill()
return
-
if(IsMultiple(activeFor, 4))
var/obj/machinery/vending/rebel = pick(vendingMachines)
vendingMachines.Remove(rebel)
diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm
index c633246b3e4..7f87245bf41 100644
--- a/code/modules/events/spacevine.dm
+++ b/code/modules/events/spacevine.dm
@@ -66,7 +66,6 @@
color = "#aa77aa"
icon_state = "vinefloor"
broken_states = list()
- ignoredirt = 1
//All of this shit is useless for vines
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index 756d7608141..64a7e9fc72f 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -156,10 +156,10 @@ Gunshots/explosions/opening doors/less rare audio (done)
/obj/effect/hallucination/fake_flood/Destroy()
SSobj.processing.Remove(src)
- del(flood_turfs)
+ qdel(flood_turfs)
if(target.client) target.client.images.Remove(flood_images)
target = null
- del(flood_images)
+ qdel(flood_images)
return
/obj/effect/hallucination/simple/xeno
@@ -188,19 +188,20 @@ Gunshots/explosions/opening doors/less rare audio (done)
if(!U.welded)
pump = U
break
- xeno = new(pump.loc,target)
- sleep(10)
- xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32)
- xeno.throw_at(target,7,1, spin = 0, diagonals_first = 1)
- sleep(10)
- xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32)
- xeno.throw_at(pump,7,1, spin = 0, diagonals_first = 1)
- sleep(10)
- var/xeno_name = xeno.name
- target << "[xeno_name] begins climbing into the ventilation system... "
- sleep(10)
- qdel(xeno)
- target << "[xeno_name] scrambles into the ventilation ducts! "
+ if(pump)
+ xeno = new(pump.loc,target)
+ sleep(10)
+ xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32)
+ xeno.throw_at(target,7,1, spin = 0, diagonals_first = 1)
+ sleep(10)
+ xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32)
+ xeno.throw_at(pump,7,1, spin = 0, diagonals_first = 1)
+ sleep(10)
+ var/xeno_name = xeno.name
+ target << "[xeno_name] begins climbing into the ventilation system... "
+ sleep(10)
+ qdel(xeno)
+ target << "[xeno_name] scrambles into the ventilation ducts! "
qdel(src)
/obj/effect/hallucination/singularity_scare
diff --git a/code/modules/food&drinks/kitchen machinery/microwave.dm b/code/modules/food&drinks/kitchen machinery/microwave.dm
index 0221c4bdc07..400bbd075a9 100644
--- a/code/modules/food&drinks/kitchen machinery/microwave.dm
+++ b/code/modules/food&drinks/kitchen machinery/microwave.dm
@@ -244,7 +244,7 @@
if(F.cooked_type)
var/obj/item/weapon/reagent_containers/food/snacks/S = new F.cooked_type (get_turf(src))
F.initialize_cooked_food(S, efficiency)
- feedback_add_details("food_made","[F.name]")
+ feedback_add_details("food_made","[F.type]")
else
new /obj/item/weapon/reagent_containers/food/snacks/badrecipe(src)
if(dirty < 100)
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index 5d649ae44ed..a0d3d291abb 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -686,7 +686,7 @@
H.applyChemicals(S)
S.clear_reagents()
- del(S)
+ qdel(S)
H.update_icon()
if(reagent_source) // If the source wasn't composted and destroyed
reagent_source.update_icon()
diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm
index b8eec1a9ba8..f3ffdb83c81 100644
--- a/code/modules/hydroponics/seed_extractor.dm
+++ b/code/modules/hydroponics/seed_extractor.dm
@@ -185,7 +185,7 @@
N.amount = max(N.amount - 1, 0)
if (N.amount <= 0)
piles -= N
- del(N)
+ qdel(N)
break
for (var/obj/T in contents)//Now we find the seed we need to vend
diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm
index f0e699253be..36b7e7e4eb4 100644
--- a/code/modules/mining/equipment_locker.dm
+++ b/code/modules/mining/equipment_locker.dm
@@ -573,6 +573,7 @@
/**********************Facehugger toy**********************/
/obj/item/clothing/mask/facehugger/toy
+ item_state = "facehugger_inactive"
desc = "A toy often used to play pranks on other miners by putting it in their beds. It takes a bit to recharge after latching onto something."
throwforce = 0
real = 0
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index 9c4ca620e26..f1334036a89 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -154,3 +154,103 @@
name = "Mining car (not for rails)"
icon_crate = "miningcar"
icon_state = "miningcar"
+/*****************************Survival Pod********************************/
+
+
+/area/survivalpod
+ name = "\improper Emergency Shelter"
+ icon_state = "away"
+ requires_power = 0
+ has_gravity = 1
+
+/obj/item/weapon/survivalcapsule
+ name = "bluespace shelter capsule"
+ desc = "An emergency shelter stored within a pocket of bluespace."
+ icon_state = "pill3"
+ icon = 'icons/obj/chemical.dmi'
+ w_class = 1.0
+ var/used = FALSE
+
+/obj/item/weapon/survivalcapsule/attack_self()
+ if(used == FALSE)
+ src.loc.visible_message("The [src] begins to shake. Stand back!")
+ used = TRUE
+ sleep(50)
+ playsound(get_turf(src), 'sound/effects/phasein.ogg', 100, 1)
+ PoolOrNew(/obj/effect/effect/smoke, src.loc)
+ load()
+ qdel(src)
+
+/obj/item/weapon/survivalcapsule/proc/load()
+ var/turf/start_turf = get_turf(src.loc)
+ var/turf/cur_turf
+ var/x_size = 5
+ var/y_size = 5
+ var/list/walltypes = list(/turf/simulated/wall)
+ var/floor_type = /turf/simulated/floor/wood
+ var/room
+
+ //Center the room/spawn it
+ start_turf = locate(start_turf.x -2, start_turf.y - 2, start_turf.z)
+
+ room = spawn_room(start_turf, x_size, y_size, walltypes, floor_type, "Emergency Shelter")
+
+ start_turf = get_turf(src.loc)
+
+ //Fill it
+ cur_turf = locate(start_turf.x, start_turf.y-2, start_turf.z)
+ new /obj/machinery/door/airlock/glass(cur_turf)
+
+ cur_turf = locate(start_turf.x+1, start_turf.y, start_turf.z)
+ new /obj/structure/table/wood(cur_turf)
+ new /obj/item/weapon/storage/pill_bottle/dice(cur_turf)
+
+ cur_turf = locate(start_turf.x+1, start_turf.y-1, start_turf.z)
+ var/obj/structure/stool/bed/chair/comfy/C = new /obj/structure/stool/bed/chair/comfy(cur_turf)
+ C.dir = 1
+
+ cur_turf = locate(start_turf.x+1, start_turf.y+1, start_turf.z)
+ new /obj/structure/stool/bed/chair/comfy(cur_turf)
+
+ cur_turf = locate(start_turf.x-1, start_turf.y-1, start_turf.z)
+ var/obj/machinery/sleeper/S = new /obj/machinery/sleeper(cur_turf)
+ S.dir = 4
+
+ cur_turf = locate(start_turf.x-1, start_turf.y, start_turf.z)
+ new /obj/structure/table/wood(cur_turf)
+ new /obj/item/weapon/storage/box/donkpockets(cur_turf)
+
+ cur_turf = locate(start_turf.x-1, start_turf.y+1, start_turf.z)
+ new /obj/structure/table/wood(cur_turf)
+ new /obj/machinery/microwave(cur_turf)
+
+ var/area/survivalpod/L = new /area/survivalpod
+
+ var/turf/threshhold = locate(start_turf.x, start_turf.y-2, start_turf.z)
+ threshhold.ChangeTurf(/turf/simulated/floor/wood)
+ threshhold.blocks_air = 1 //So the air doesn't leak out
+ threshhold.oxygen = 21
+ threshhold.temperature = 293.15
+ threshhold.nitrogen = 82
+ threshhold.carbon_dioxide = 0
+ threshhold.toxins = 0
+ L.contents += threshhold
+ threshhold.overlays.Cut()
+
+ var/list/turfs = room["floors"]
+ for(var/turf/simulated/floor/A in turfs)
+ SSair.remove_from_active(A)
+ A.oxygen = 21
+ A.temperature = 293.15
+ A.nitrogen = 82
+ A.carbon_dioxide = 0
+ A.toxins = 0
+ A.air.oxygen = 21
+ A.air.carbon_dioxide = 0
+ A.air.nitrogen = 82
+ A.air.toxins = 0
+ A.air.temperature = 293.15
+ SSair.add_to_active(A)
+ A.overlays.Cut()
+
+ L.contents += A
diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm
index 894d29cbc5c..955d80d3f0e 100644
--- a/code/modules/mining/mine_turfs.dm
+++ b/code/modules/mining/mine_turfs.dm
@@ -432,10 +432,10 @@ var/global/list/rockTurfEdgeCache
P.playDigSound()
if(do_after(user,P.digspeed, target = src))
- if(istype(src, /turf/simulated/mineral))
+ if(istype(src, /turf/simulated/mineral))
user << "You finish cutting into the rock. "
gets_drilled(user)
- feedback_add_details("pick_used_mining","[P.name]")
+ feedback_add_details("pick_used_mining","[P.type]")
else
return attack_hand(user)
return
@@ -509,7 +509,6 @@ var/global/list/rockTurfEdgeCache
icon_state = "asteroid"
icon_plating = "asteroid"
var/dug = 0 //0 = has not yet been dug, 1 = has already been dug
- ignoredirt = 1
/turf/simulated/floor/plating/asteroid/airless
oxygen = 0.01
@@ -565,13 +564,13 @@ var/global/list/rockTurfEdgeCache
user << "You start digging... "
playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1) //FUCK YO RUSTLE I GOT'S THE DIGS SOUND HERE
-
+
if(do_after(user, digging_speed, target = src))
- if(istype(src, /turf/simulated/floor/plating/asteroid))
+ if(istype(src, /turf/simulated/floor/plating/asteroid))
user << "You dig a hole. "
gets_dug()
- feedback_add_details("pick_used_mining","[W.name]")
-
+ feedback_add_details("pick_used_mining","[W.type]")
+
if(istype(W,/obj/item/weapon/storage/bag/ore))
var/obj/item/weapon/storage/bag/ore/S = W
if(S.collection_mode == 1)
diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm
index e1089f54ac3..efaac579681 100644
--- a/code/modules/mining/ores_coins.dm
+++ b/code/modules/mining/ores_coins.dm
@@ -326,7 +326,9 @@
flick("coin_[cmineral]_flip", src)
icon_state = "coin_[cmineral]_[coinflip]"
playsound(user.loc, 'sound/items/coinflip.ogg', 50, 1)
- if(do_after(user, 15, target = src))
+ var/oldloc = loc
+ sleep(15)
+ if(loc == oldloc && user && !user.incapacitated())
user.visible_message("[user] has flipped [src]. It lands on [coinflip].", \
"You flip [src]. It lands on [coinflip]. ", \
"You hear the clattering of loose change. ")
\ No newline at end of file
diff --git a/code/modules/mob/camera/camera.dm b/code/modules/mob/camera/camera.dm
index 69f6cb9b558..eb3f4a6c8d0 100644
--- a/code/modules/mob/camera/camera.dm
+++ b/code/modules/mob/camera/camera.dm
@@ -14,10 +14,6 @@
/mob/camera/experience_pressure_difference()
return
-/mob/camera/Destroy()
- ..()
- del(src)
-
/mob/camera/Login()
..()
update_interface()
\ No newline at end of file
diff --git a/code/modules/mob/interactive.dm b/code/modules/mob/interactive.dm
index 12d822561f4..d4d7952c4a2 100644
--- a/code/modules/mob/interactive.dm
+++ b/code/modules/mob/interactive.dm
@@ -293,7 +293,9 @@
/mob/living/carbon/human/interactive/Life()
..()
- if(isnotfunc()) return
+ if(isnotfunc())
+ walk(src,0)
+ return
if(a_intent != "disarm")
a_intent = "disarm"
//---------------------------
diff --git a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm
index 3283c0ebb4f..a58fd4401a4 100644
--- a/code/modules/mob/living/bloodcrawl.dm
+++ b/code/modules/mob/living/bloodcrawl.dm
@@ -35,13 +35,16 @@
sleep(30)
playsound(get_turf(src),'sound/magic/Demon_consume.ogg', 100, 1)
sleep(30)
- src << "You devour [kidnapped]. Your health is fully restored. "
- src.adjustBruteLoss(-1000)
- src.adjustFireLoss(-1000)
- src.adjustOxyLoss(-1000)
- src.adjustToxLoss(-1000)
- kidnapped.ghostize()
- qdel(kidnapped)
+ if(kidnapped)
+ src << "You devour [kidnapped]. Your health is fully restored. "
+ src.adjustBruteLoss(-1000)
+ src.adjustFireLoss(-1000)
+ src.adjustOxyLoss(-1000)
+ src.adjustToxLoss(-1000)
+ kidnapped.ghostize()
+ qdel(kidnapped)
+ else
+ src << "You happily devour...nothing? Your meal vanished at some point! "
src.notransform = 0
/mob/living/proc/phasein(obj/effect/decal/cleanable/B)
diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm
index e2adcf9323b..ae838e5cff3 100644
--- a/code/modules/mob/living/carbon/alien/alien.dm
+++ b/code/modules/mob/living/carbon/alien/alien.dm
@@ -149,9 +149,10 @@ Des: Gives the client of the alien an image on each infected mob.
if (client)
for (var/mob/living/C in mob_list)
if(C.status_flags & XENO_HOST)
- var/obj/item/organ/internal/body_egg/alien_embryo/A = getorgan(/obj/item/organ/internal/body_egg/alien_embryo)
- var/I = image('icons/mob/alien.dmi', loc = C, icon_state = "infected[A.stage]")
- client.images += I
+ var/obj/item/organ/internal/body_egg/alien_embryo/A = C.getorgan(/obj/item/organ/internal/body_egg/alien_embryo)
+ if(A)
+ var/I = image('icons/mob/alien.dmi', loc = C, icon_state = "infected[A.stage]")
+ client.images += I
return
diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm
index fd3fff64a4b..20577531b27 100644
--- a/code/modules/mob/living/carbon/alien/alien_defense.dm
+++ b/code/modules/mob/living/carbon/alien/alien_defense.dm
@@ -73,7 +73,19 @@ In all, this is a lot like the monkey code. /N
/mob/living/carbon/alien/attack_animal(mob/living/simple_animal/M)
if(..())
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
- adjustBruteLoss(damage)
+ switch(M.melee_damage_type)
+ if(BRUTE)
+ adjustBruteLoss(damage)
+ if(BURN)
+ adjustFireLoss(damage)
+ if(TOX)
+ adjustToxLoss(damage)
+ if(OXY)
+ adjustOxyLoss(damage)
+ if(CLONE)
+ adjustCloneLoss(damage)
+ if(STAMINA)
+ adjustStaminaLoss(damage)
updatehealth()
/mob/living/carbon/alien/attack_slime(mob/living/simple_animal/slime/M)
diff --git a/code/modules/mob/living/carbon/alien/humanoid/emote.dm b/code/modules/mob/living/carbon/alien/humanoid/emote.dm
index 5270fdabb6d..6129dd7ef77 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/emote.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/emote.dm
@@ -1,4 +1,4 @@
-/mob/living/carbon/alien/humanoid/emote(act)
+/mob/living/carbon/alien/humanoid/emote(act,m_type=1,message = null)
var/param = null
if (findtext(act, "-", 1, null))
@@ -7,8 +7,6 @@
act = copytext(act, 1, t1)
var/muzzled = is_muzzled()
- var/m_type = 1
- var/message
switch(act) //Alphabetical please
if ("deathgasp","deathgasps")
@@ -25,6 +23,10 @@
message = "[src] hisses."
m_type = 2
+ if ("me")
+ ..()
+ return
+
if ("moan","moans")
message = "[src] moans!"
m_type = 2
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
index a3e1ff31665..4a190c27c7d 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
@@ -14,7 +14,6 @@
//This is fine right now, if we're adding organ specific damage this needs to be updated
/mob/living/carbon/alien/humanoid/New()
- create_reagents(1000)
AddAbility(new/obj/effect/proc_holder/alien/regurgitate(null))
..()
diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm
index 03745eb7306..540fc3874fd 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm
@@ -10,8 +10,6 @@
/mob/living/carbon/alien/humanoid/queen/New()
- create_reagents(100)
-
//there should only be one queen
for(var/mob/living/carbon/alien/humanoid/queen/Q in living_mob_list)
if(Q == src) continue
@@ -77,17 +75,3 @@
icon_state = "queen_s"
pixel_x = -16
mob_size = MOB_SIZE_LARGE
-
-/mob/living/carbon/alien/humanoid/queen/large/update_icons()
- update_hud() //TODO: remove the need for this to be here
- overlays.Cut()
- if(stat == DEAD)
- icon_state = "queen_dead"
- else if((stat == UNCONSCIOUS && !sleeping) || weakened)
- icon_state = "queen_l"
- else if(sleeping || lying || resting)
- icon_state = "queen_sleep"
- else
- icon_state = "queen_s"
- for(var/image/I in overlays_standing)
- overlays += I
diff --git a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm
index 1495d4f99d3..de272e0c0d7 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm
@@ -50,4 +50,29 @@
if(lying > 0)
lying = 90 //Anything else looks retarded
..()
- update_icons()
\ No newline at end of file
+ update_icons()
+
+
+/mob/living/carbon/alien/humanoid/queen/large/update_icons()
+ update_hud() //TODO: remove the need for this to be here
+ overlays.Cut()
+ if(stat == DEAD)
+ icon_state = "queen_dead"
+ else if((stat == UNCONSCIOUS && !sleeping) || weakened)
+ icon_state = "queen_l"
+ else if(sleeping || lying || resting)
+ icon_state = "queen_sleep"
+ else
+ icon_state = "queen_s"
+ for(var/image/I in overlays_standing)
+ overlays += I
+
+/mob/living/carbon/alien/humanoid/queen/large/update_inv_l_hand()
+ remove_overlay(L_HAND_LAYER)
+ if(handcuffed)
+ drop_l_hand()
+
+/mob/living/carbon/alien/humanoid/queen/large/update_inv_r_hand()
+ remove_overlay(R_HAND_LAYER)
+ if(handcuffed)
+ drop_r_hand()
diff --git a/code/modules/mob/living/carbon/alien/organs.dm b/code/modules/mob/living/carbon/alien/organs.dm
index b7db238a99a..15573748de6 100644
--- a/code/modules/mob/living/carbon/alien/organs.dm
+++ b/code/modules/mob/living/carbon/alien/organs.dm
@@ -73,15 +73,17 @@
/obj/item/organ/internal/alien/plasmavessel/on_life()
//If there are alien weeds on the ground then heal if needed or give some plasma
if(locate(/obj/structure/alien/weeds) in owner.loc)
- if(owner.health >= owner.maxHealth - owner.getCloneLoss())
+ if(owner.health >= owner.maxHealth)
owner.adjustPlasma(plasma_rate)
else
- var/mod = 1
+ var/heal_amt = heal_rate
if(!isalien(owner))
- mod = 0.2
- owner.adjustBruteLoss(-heal_rate*mod)
- owner.adjustFireLoss(-heal_rate*mod)
- owner.adjustOxyLoss(-heal_rate*mod)
+ heal_amt *= 0.2
+ owner.adjustPlasma(plasma_rate*0.5)
+ owner.adjustBruteLoss(-heal_amt)
+ owner.adjustFireLoss(-heal_amt)
+ owner.adjustOxyLoss(-heal_amt)
+ owner.adjustCloneLoss(-heal_amt)
/obj/item/organ/internal/alien/plasmavessel/Insert(mob/living/carbon/M, special = 0)
..()
diff --git a/code/modules/mob/living/carbon/alien/say.dm b/code/modules/mob/living/carbon/alien/say.dm
index a674add3ff1..c1009164427 100644
--- a/code/modules/mob/living/carbon/alien/say.dm
+++ b/code/modules/mob/living/carbon/alien/say.dm
@@ -3,16 +3,20 @@
if(.)
playsound(loc, "hiss", 25, 1, 1) //erp just isn't the same without sound feedback
-/mob/living/proc/alien_talk(message)
+/mob/living/proc/alien_talk(message, shown_name = name)
log_say("[key_name(src)] : [message]")
message = trim(message)
if(!message) return
var/message_a = say_quote(message)
- var/rendered = "Hivemind, [name] [message_a] "
+ var/rendered = "Hivemind, [shown_name] [message_a] "
for(var/mob/S in player_list)
if((!S.stat && S.hivecheck()) || (S in dead_mob_list))
S << rendered
+/mob/living/carbon/alien/humanoid/queen/alien_talk(message, shown_name = name)
+ shown_name = "[shown_name] "
+ ..(message, shown_name)
+
/mob/living/carbon/hivecheck()
return getorgan(/obj/item/organ/internal/alien/hivenode)
diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm
index 4c2aee91be8..d4f997ddf7b 100644
--- a/code/modules/mob/living/carbon/alien/special/facehugger.dm
+++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm
@@ -177,7 +177,7 @@ var/const/MAX_ACTIVE_TIME = 400
Die()
icon_state = "[initial(icon_state)]_impregnated"
- if(!target.getlimb(/obj/item/organ/limb/robot/chest) && !(target.status_flags & XENO_HOST))
+ if(!target.getlimb(/obj/item/organ/limb/robot/chest) && !target.getorgan(/obj/item/organ/internal/body_egg/alien_embryo))
new /obj/item/organ/internal/body_egg/alien_embryo(target)
if(iscorgi(target))
@@ -187,7 +187,6 @@ var/const/MAX_ACTIVE_TIME = 400
else
target.visible_message("[src] violates [target]'s face! ", \
"[src] violates [target]'s face! ")
- return
/obj/item/clothing/mask/facehugger/proc/GoActive()
if(stat == DEAD || stat == CONSCIOUS)
@@ -196,20 +195,10 @@ var/const/MAX_ACTIVE_TIME = 400
stat = CONSCIOUS
icon_state = "[initial(icon_state)]"
-/* for(var/mob/living/carbon/alien/alien in world)
- var/image/activeIndicator = image('icons/mob/alien.dmi', loc = src, icon_state = "facehugger_active")
- activeIndicator.override = 1
- if(alien && alien.client)
- alien.client.images += activeIndicator */
-
- return
-
/obj/item/clothing/mask/facehugger/proc/GoIdle()
if(stat == DEAD || stat == UNCONSCIOUS)
return
-/* RemoveActiveIndicators() */
-
stat = UNCONSCIOUS
icon_state = "[initial(icon_state)]_inactive"
@@ -221,15 +210,12 @@ var/const/MAX_ACTIVE_TIME = 400
if(stat == DEAD)
return
-/* RemoveActiveIndicators() */
-
icon_state = "[initial(icon_state)]_dead"
+ item_state = "facehugger_inactive"
stat = DEAD
visible_message("[src] curls up into a ball! ")
- return
-
/proc/CanHug(mob/living/M)
if(!istype(M))
return 0
diff --git a/code/modules/mob/living/carbon/brain/brain.dm b/code/modules/mob/living/carbon/brain/brain.dm
index 3eec0aa657d..44594f60c67 100644
--- a/code/modules/mob/living/carbon/brain/brain.dm
+++ b/code/modules/mob/living/carbon/brain/brain.dm
@@ -8,10 +8,6 @@
var/alert = null
has_limbs = 0
-/mob/living/carbon/brain/New()
- create_reagents(1000)
- ..()
-
/mob/living/carbon/brain/Destroy()
if(key) //If there is a mob connected to this thing. Have to check key twice to avoid false death reporting.
if(stat!=DEAD) //If not dead.
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 9dbf026e3c2..bf6ee02563f 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -1,3 +1,7 @@
+/mob/living/carbon/New()
+ create_reagents(1000)
+ ..()
+
/mob/living/carbon/prepare_huds()
..()
prepare_data_huds()
@@ -74,9 +78,9 @@
. = ..()
-/mob/living/carbon/electrocute_act(shock_damage, obj/source, siemens_coeff = 1.0)
+/mob/living/carbon/electrocute_act(shock_damage, obj/source, siemens_coeff = 1.0, override = 0)
shock_damage *= siemens_coeff
- if (shock_damage<1)
+ if(shock_damage<1 && !override)
return 0
take_overall_damage(0,shock_damage)
//src.burn_skin(shock_damage)
@@ -95,7 +99,10 @@
jitteriness = max(jitteriness - 990, 10) //Still jittery, but vastly less
Stun(3)
Weaken(3)
- return shock_damage
+ if(override)
+ return override
+ else
+ return shock_damage
/mob/living/carbon/swap_hand()
@@ -335,11 +342,10 @@
return "trails_2"
var/const/NO_SLIP_WHEN_WALKING = 1
-var/const/STEP = 2
-var/const/SLIDE = 4
-var/const/GALOSHES_DONT_HELP = 8
+var/const/SLIDE = 2
+var/const/GALOSHES_DONT_HELP = 4
/mob/living/carbon/slip(s_amount, w_amount, obj/O, lube)
- loc.handle_slip(src, s_amount, w_amount, O, lube)
+ return loc.handle_slip(src, s_amount, w_amount, O, lube)
/mob/living/carbon/fall(forced)
loc.handle_fall(src, forced)//it's loc so it doesn't call the mob's handle_fall which does nothing
@@ -505,7 +511,7 @@ var/const/GALOSHES_DONT_HELP = 8
return 1
/mob/living/carbon/proc/accident(obj/item/I)
- if(!I || (I.flags & NODROP))
+ if(!I || (I.flags & (NODROP|ABSTRACT)))
return
unEquip(I)
diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm
index 2009c2bc5fe..1f1717517df 100644
--- a/code/modules/mob/living/carbon/emote.dm
+++ b/code/modules/mob/living/carbon/emote.dm
@@ -111,6 +111,11 @@
else
message = "[src] makes a noise."
+ if ("me")
+ if(!silent)
+ ..()
+ return
+
if ("nod","nods")
message = "[src] nods."
m_type = 1
diff --git a/code/modules/mob/living/carbon/monkey/examine.dm b/code/modules/mob/living/carbon/examine.dm
similarity index 65%
rename from code/modules/mob/living/carbon/monkey/examine.dm
rename to code/modules/mob/living/carbon/examine.dm
index 48963b00eed..e46f62193d8 100644
--- a/code/modules/mob/living/carbon/monkey/examine.dm
+++ b/code/modules/mob/living/carbon/examine.dm
@@ -1,45 +1,58 @@
-/mob/living/carbon/monkey/examine(mob/user)
- var/msg = "*---------*\nThis is \icon[src] \a [src] !\n"
-
- if (src.handcuffed)
- msg += "It is \icon[src.handcuffed] handcuffed!\n"
- if (src.head)
- msg += "It has \icon[src.head] \a [src.head] on its head. \n"
- if (src.wear_mask)
- msg += "It has \icon[src.wear_mask] \a [src.wear_mask] on its face.\n"
- if (src.l_hand)
- msg += "It has \icon[src.l_hand] \a [src.l_hand] in its left hand.\n"
- if (src.r_hand)
- msg += "It has \icon[src.r_hand] \a [src.r_hand] in its right hand.\n"
- if (src.back)
- msg += "It has \icon[src.back] \a [src.back] on its back.\n"
- if (src.stat == DEAD)
- msg += "It is limp and unresponsive, with no signs of life. \n"
- else
- msg += ""
- if (src.getBruteLoss())
- if (src.getBruteLoss() < 30)
- msg += "It has minor bruising.\n"
- else
- msg += "It has severe bruising! \n"
- if (src.getFireLoss())
- if (src.getFireLoss() < 30)
- msg += "It has minor burns.\n"
- else
- msg += "It has severe burns! \n"
-
- if (src.fire_stacks > 0)
- msg += "It's covered in something flammable.\n"
- if (src.fire_stacks < 0)
- msg += "It's soaked in water.\n"
-
- if (src.stat == UNCONSCIOUS)
- msg += "It isn't responding to anything around it; it seems to be asleep.\n"
- msg += " "
-
- if (src.digitalcamo)
- msg += "It is moving its body in an unnatural and blatantly unsimian manner.\n"
-
- msg += "*---------* "
-
+/mob/living/carbon/examine(mob/user)
+ var/msg = "*---------*\nThis is \icon[src] \a [src] !\n"
+
+ if (handcuffed)
+ msg += "It is \icon[src.handcuffed] handcuffed!\n"
+ if (head)
+ msg += "It has \icon[src.head] \a [src.head] on its head. \n"
+ if (wear_mask)
+ msg += "It has \icon[src.wear_mask] \a [src.wear_mask] on its face.\n"
+ if (l_hand)
+ msg += "It has \icon[src.l_hand] \a [src.l_hand] in its left hand.\n"
+ if (r_hand)
+ msg += "It has \icon[src.r_hand] \a [src.r_hand] in its right hand.\n"
+ if (back)
+ msg += "It has \icon[src.back] \a [src.back] on its back.\n"
+ if (stat == DEAD)
+ msg += "It is limp and unresponsive, with no signs of life. \n"
+ else
+ msg += ""
+ var/temp = getBruteLoss()
+ if(temp)
+ if (temp < 30)
+ msg += "It has minor bruising.\n"
+ else
+ msg += "It has severe bruising! \n"
+
+ temp = getFireLoss()
+ if(temp)
+ if (temp < 30)
+ msg += "It has minor burns.\n"
+ else
+ msg += "It has severe burns! \n"
+
+ temp = getCloneLoss()
+ if(temp)
+ if(getCloneLoss() < 30)
+ msg += "It is slightly deformed.\n"
+ else
+ msg += "It is severely deformed. \n"
+
+ if(getBrainLoss() > 60)
+ msg += "It seems to be clumsy and unable to think.\n"
+
+ if(fire_stacks > 0)
+ msg += "It's covered in something flammable.\n"
+ if(fire_stacks < 0)
+ msg += "It's soaked in water.\n"
+
+ if(stat == UNCONSCIOUS)
+ msg += "It isn't responding to anything around it; it seems to be asleep.\n"
+ msg += " "
+
+ if (digitalcamo)
+ msg += "It is moving its body in an unnatural and blatantly unsimian manner.\n"
+
+ msg += "*---------* "
+
user << msg
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/blood.dm b/code/modules/mob/living/carbon/human/blood.dm
index d03805d7d22..e91eca45fb3 100644
--- a/code/modules/mob/living/carbon/human/blood.dm
+++ b/code/modules/mob/living/carbon/human/blood.dm
@@ -282,7 +282,7 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
// Only a certain number of drips (or one large splatter) can be on a given turf.
for(var/obj/effect/decal/cleanable/blood/drip/drop in T)
drips |= drop.drips
- del(drop)
+ qdel(drop)
if(!large && drips.len < 3)
decal_type = /obj/effect/decal/cleanable/blood/drip
diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm
index 6523c085039..d55681b114f 100644
--- a/code/modules/mob/living/carbon/human/emote.dm
+++ b/code/modules/mob/living/carbon/human/emote.dm
@@ -45,6 +45,7 @@
if ("collapse","collapses")
Paralyse(2)
+ adjustStaminaLoss(100) // Hampers abuse against simple mobs, but still leaves it a viable option.
message = "[src] collapses!"
m_type = 2
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 795c7e68da7..7a52ea7fbdb 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -14,7 +14,6 @@
/mob/living/carbon/human/New()
- create_reagents(1000)
verbs += /mob/living/proc/mob_sleep
verbs += /mob/living/proc/lay_down
//initialise organs
@@ -270,7 +269,7 @@
spreadFire(AM)
//Added a safety check in case you want to shock a human mob directly through electrocute_act.
-/mob/living/carbon/human/electrocute_act(shock_damage, obj/source, siemens_coeff = 1.0, safety = 0)
+/mob/living/carbon/human/electrocute_act(shock_damage, obj/source, siemens_coeff = 1.0, safety = 0, override = 0)
if(!safety)
if(gloves)
var/obj/item/clothing/gloves/G = gloves
@@ -280,7 +279,11 @@
heart_attack = 0
if(stat == CONSCIOUS)
src << "You feel your heart beating again! "
- return ..(shock_damage,source,siemens_coeff)
+ . = ..(shock_damage,source,siemens_coeff,safety,override)
+ if(.)
+ electrocution_animation(40)
+
+
/mob/living/carbon/human/Topic(href, href_list)
if(usr.canUseTopic(src, BE_CLOSE, NO_DEXTERY))
@@ -801,4 +804,30 @@
H.bloody_hands = 0
H.bloody_hands_mob = null
H.update_inv_gloves()
- update_icons() //apply the now updated overlays to the mob
\ No newline at end of file
+ update_icons() //apply the now updated overlays to the mob
+
+
+
+//Turns a mob black, flashes a skeleton overlay
+//Just like a cartoon!
+/mob/living/carbon/human/proc/electrocution_animation(anim_duration)
+ //Handle mutant parts if possible
+ if(dna && dna.species)
+ dna.species.handle_mutant_bodyparts(src,"black")
+ dna.species.handle_hair(src,"black")
+ dna.species.update_color(src,"black")
+ overlays += "electrocuted_base"
+ spawn(anim_duration)
+ if(src)
+ if(dna && dna.species)
+ dna.species.handle_mutant_bodyparts(src)
+ dna.species.handle_hair(src)
+ dna.species.update_color(src)
+ overlays -= "electrocuted_base"
+
+ else //or just do a generic animation
+ var/list/viewing = list()
+ for(var/mob/M in viewers(src))
+ if(M.client)
+ viewing += M.client
+ flick_overlay(image(icon,src,"electrocuted_generic",MOB_LAYER+1), viewing, anim_duration)
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 86c3b23fd50..98a8c3b6eed 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -129,8 +129,8 @@ emp_act
var/obj/item/organ/limb/affecting = get_organ(ran_zone(user.zone_sel.selecting))
var/hit_area = parse_zone(affecting.name)
var/target_area = parse_zone(target_limb.name)
- feedback_add_details("item_used_for_combat","[I.name]|[I.force]")
- feedback_add_details("zone_targeted","[def_zone]")
+ feedback_add_details("item_used_for_combat","[I.type]|[I.force]")
+ feedback_add_details("zone_targeted","[target_area]")
if(dna) // allows your species to affect the attacked_by code
return dna.species.spec_attacked_by(I,user,def_zone,affecting,hit_area,src.a_intent,target_limb,target_area,src)
@@ -389,7 +389,7 @@ emp_act
var/dam_zone = pick("chest", "l_hand", "r_hand", "l_leg", "r_leg")
var/obj/item/organ/limb/affecting = get_organ(ran_zone(dam_zone))
var/armor = run_armor_check(affecting, "melee")
- apply_damage(damage, BRUTE, affecting, armor)
+ apply_damage(damage, M.melee_damage_type, affecting, armor)
updatehealth()
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index db366b79fb0..bcad1cea1af 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -118,24 +118,35 @@
else
return "[id]"
-/datum/species/proc/update_color(mob/living/carbon/human/H)
+/datum/species/proc/update_color(mob/living/carbon/human/H, forced_colour)
H.remove_overlay(SPECIES_LAYER)
var/image/standing
var/g = (H.gender == FEMALE) ? "f" : "m"
- if(MUTCOLORS in specflags)
+ if((MUTCOLORS in specflags) || use_skintones)
var/image/spec_base
var/icon_state_string = "[id]_"
- if(sexes)
- icon_state_string += "[g]_s"
+
+ if(use_skintones)
+ if(sexes)
+ icon_state_string = "[H.skin_tone]_[g]_s"
+ else
+ icon_state_string = "[H.skin_tone]_s"
else
- icon_state_string += "_s"
+ if(sexes)
+ icon_state_string += "[g]_s"
+ else
+ icon_state_string += "_s"
spec_base = image("icon" = 'icons/mob/human.dmi', "icon_state" = icon_state_string, "layer" = -SPECIES_LAYER)
- spec_base.color = "#[H.dna.features["mcolor"]]"
+ if(!forced_colour && !use_skintones)
+ spec_base.color = "#[H.dna.features["mcolor"]]"
+ else
+ spec_base.color = forced_colour
+
standing = spec_base
if(standing)
@@ -143,7 +154,7 @@
H.apply_overlay(SPECIES_LAYER)
-/datum/species/proc/handle_hair(mob/living/carbon/human/H)
+/datum/species/proc/handle_hair(mob/living/carbon/human/H, forced_colour)
H.remove_overlay(HAIR_LAYER)
var/datum/sprite_accessory/S
@@ -156,13 +167,17 @@
img_facial_s = image("icon" = S.icon, "icon_state" = "[S.icon_state]_s", "layer" = -HAIR_LAYER)
- if(hair_color)
- if(hair_color == "mutcolor")
- img_facial_s.color = "#" + H.dna.features["mcolor"]
+ if(!forced_colour)
+ if(hair_color)
+ if(hair_color == "mutcolor")
+ img_facial_s.color = "#" + H.dna.features["mcolor"]
+ else
+ img_facial_s.color = "#" + hair_color
else
- img_facial_s.color = "#" + hair_color
+ img_facial_s.color = "#" + H.facial_hair_color
else
- img_facial_s.color = "#" + H.facial_hair_color
+ img_facial_s.color = forced_colour
+
img_facial_s.alpha = hair_alpha
standing += img_facial_s
@@ -184,13 +199,16 @@
img_hair_s = image("icon" = S.icon, "icon_state" = "[S.icon_state]_s", "layer" = -HAIR_LAYER)
- if(hair_color)
- if(hair_color == "mutcolor")
- img_hair_s.color = "#" + H.dna.features["mcolor"]
+ if(!forced_colour)
+ if(hair_color)
+ if(hair_color == "mutcolor")
+ img_hair_s.color = "#" + H.dna.features["mcolor"]
+ else
+ img_hair_s.color = "#" + hair_color
else
- img_hair_s.color = "#" + hair_color
+ img_hair_s.color = "#" + H.hair_color
else
- img_hair_s.color = "#" + H.hair_color
+ img_hair_s.color = forced_colour
img_hair_s.alpha = hair_alpha
standing += img_hair_s
@@ -246,7 +264,7 @@
return
-/datum/species/proc/handle_mutant_bodyparts(mob/living/carbon/human/H)
+/datum/species/proc/handle_mutant_bodyparts(mob/living/carbon/human/H, forced_colour)
var/list/bodyparts_to_add = mutant_bodyparts.Copy()
var/list/relevent_layers = list(BODY_BEHIND_LAYER, BODY_ADJ_LAYER, BODY_FRONT_LAYER)
var/list/standing = list()
@@ -359,18 +377,21 @@
I = image("icon" = 'icons/mob/mutant_bodyparts.dmi', "icon_state" = icon_string, "layer" =- layer)
if(!(H.disabilities & HUSK))
- switch(S.color_src)
- if(MUTCOLORS)
- I.color = "#[H.dna.features["mcolor"]]"
- if(HAIR)
- if(hair_color == "mutcolor")
+ if(!forced_colour)
+ switch(S.color_src)
+ if(MUTCOLORS)
I.color = "#[H.dna.features["mcolor"]]"
- else
- I.color = "#[H.hair_color]"
- if(FACEHAIR)
- I.color = "#[H.facial_hair_color]"
- if(EYECOLOR)
- I.color = "#[H.eye_color]"
+ if(HAIR)
+ if(hair_color == "mutcolor")
+ I.color = "#[H.dna.features["mcolor"]]"
+ else
+ I.color = "#[H.hair_color]"
+ if(FACEHAIR)
+ I.color = "#[H.facial_hair_color]"
+ if(EYECOLOR)
+ I.color = "#[H.eye_color]"
+ else
+ I.color = forced_colour
standing += I
if(S.hasinner)
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index 8f8f5829970..69d80ba80ba 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -53,7 +53,6 @@ Please contact me on #coderbus IRC. ~Carnie x
*/
/mob/living/carbon/human/proc/update_base_icon_state()
- //var/race = dna ? dna.mutantrace : null
if(dna)
base_icon_state = dna.species.update_base_icon_state(src)
else
@@ -68,7 +67,6 @@ Please contact me on #coderbus IRC. ~Carnie x
//UPDATES OVERLAYS FROM OVERLAYS_STANDING
//TODO: Remove all instances where this proc is called. It used to be the fastest way to swap between standing/lying.
/mob/living/carbon/human/update_icons()
-
update_hud() //TODO: remove the need for this
if(overlays.len != overlays_standing.len)
@@ -79,7 +77,6 @@ Please contact me on #coderbus IRC. ~Carnie x
update_transform()
-
//DAMAGE OVERLAYS
//constructs damage icon for each organ from mask * damage field and saves it in our overlays_ lists
/mob/living/carbon/human/update_damage_overlays()
@@ -123,14 +120,9 @@ Please contact me on #coderbus IRC. ~Carnie x
/mob/living/carbon/human/proc/update_body()
remove_overlay(BODY_LAYER)
+ update_base_icon_state()
+
if(dna)
- base_icon_state = dna.species.update_base_icon_state(src)
- else
- update_base_icon_state()
-
- icon_state = "[base_icon_state]_s"
-
- if(dna) // didn't want to have a duplicate if(dna) here, but due to the ordering of the code this was the only way
dna.species.handle_body(src)
/mob/living/carbon/human/update_fire()
diff --git a/code/modules/mob/living/carbon/monkey/emote.dm b/code/modules/mob/living/carbon/monkey/emote.dm
index 42adb99ec59..b2b739109b2 100644
--- a/code/modules/mob/living/carbon/monkey/emote.dm
+++ b/code/modules/mob/living/carbon/monkey/emote.dm
@@ -1,4 +1,4 @@
-/mob/living/carbon/monkey/emote(act)
+/mob/living/carbon/monkey/emote(act,m_type=1,message = null)
var/param = null
if (findtext(act, "-", 1, null))
@@ -6,10 +6,7 @@
param = copytext(act, t1 + 1, length(act) + 1)
act = copytext(act, 1, t1)
-
var/muzzled = is_muzzled()
- var/m_type = 1
- var/message
switch(act) //Ooh ooh ah ah keep this alphabetical ooh ooh ah ah!
if ("deathgasp","deathgasps")
@@ -21,15 +18,19 @@
message = "[src] gnarls and shows its teeth.."
m_type = 2
- if ("paw")
- if (!src.restrained())
- message = "[src] flails its paw."
- m_type = 1
+ if ("me")
+ ..()
+ return
if ("moan","moans")
message = "[src] moans!"
m_type = 2
+ if ("paw")
+ if (!src.restrained())
+ message = "[src] flails its paw."
+ m_type = 1
+
if ("roar","roars")
if (!muzzled)
message = "[src] roars."
@@ -67,7 +68,7 @@
src << "Help for monkey emotes. You can use these emotes with say \"*emote\":\n\naflap, airguitar, blink, blink_r, blush, bow-(none)/mob, burp, choke, chuckle, clap, collapse, cough, dance, deathgasp, drool, flap, frown, gasp, gnarl, giggle, glare-(none)/mob, grin, jump, laugh, look, me, moan, nod, paw, point-(atom), roar, roll, scream, scratch, screech, shake, shiver, sigh, sign-#, sit, smile, sneeze, sniff, snore, stare-(none)/mob, sulk, sway, tail, tremble, twitch, twitch_s, wave whimper, wink, yawn"
else
- ..(act)
+ ..()
if ((message && src.stat == 0))
if(src.client)
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index 5f721ecb512..f8aebb101fa 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -13,7 +13,6 @@
unique_name = 1
/mob/living/carbon/monkey/New()
- create_reagents(1000)
verbs += /mob/living/proc/mob_sleep
verbs += /mob/living/proc/lay_down
@@ -155,7 +154,19 @@
/mob/living/carbon/monkey/attack_animal(mob/living/simple_animal/M)
if(..())
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
- adjustBruteLoss(damage)
+ switch(M.melee_damage_type)
+ if(BRUTE)
+ adjustBruteLoss(damage)
+ if(BURN)
+ adjustFireLoss(damage)
+ if(TOX)
+ adjustToxLoss(damage)
+ if(OXY)
+ adjustOxyLoss(damage)
+ if(CLONE)
+ adjustCloneLoss(damage)
+ if(STAMINA)
+ adjustStaminaLoss(damage)
updatehealth()
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index 5fb2d87bf7d..0bc233bc351 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -705,7 +705,7 @@ var/list/ai_list = list()
input = input("Select a crew member:") as null|anything in personnel_list
var/icon/character_icon = personnel_list[input]
if(character_icon)
- del(holo_icon)//Clear old icon so we're not storing it in memory.
+ qdel(holo_icon)//Clear old icon so we're not storing it in memory.
holo_icon = getHologramIcon(icon(character_icon))
else
alert("No suitable records found. Aborting.")
@@ -719,7 +719,7 @@ var/list/ai_list = list()
)
input = input("Please select a hologram:") as null|anything in icon_list
if(input)
- del(holo_icon)
+ qdel(holo_icon)
switch(input)
if("default")
holo_icon = getHologramIcon(icon('icons/mob/AI.dmi',"holo1"))
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index f22de8919e0..f5a452c3ac3 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -862,9 +862,6 @@
var/turf/tile = loc
if(isturf(tile))
tile.clean_blood()
- if (istype(tile, /turf/simulated/floor))
- var/turf/simulated/floor/F = tile
- F.dirt = 0
for(var/A in tile)
if(istype(A, /obj/effect))
if(is_cleanable(A))
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index 83b20b450cb..1a42c2e82f2 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -381,7 +381,19 @@
/mob/living/silicon/attack_animal(mob/living/simple_animal/M)
if(..())
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
- adjustBruteLoss(damage)
+ switch(M.melee_damage_type)
+ if(BRUTE)
+ adjustBruteLoss(damage)
+ if(BURN)
+ adjustFireLoss(damage)
+ if(TOX)
+ adjustToxLoss(damage)
+ if(OXY)
+ adjustOxyLoss(damage)
+ if(CLONE)
+ adjustCloneLoss(damage)
+ if(STAMINA)
+ adjustStaminaLoss(damage)
updatehealth()
/mob/living/silicon/attack_paw(mob/living/user)
diff --git a/code/modules/mob/living/simple_animal/bot_swarm/swarmer.dm b/code/modules/mob/living/simple_animal/bot_swarm/swarmer.dm
new file mode 100644
index 00000000000..24af1978011
--- /dev/null
+++ b/code/modules/mob/living/simple_animal/bot_swarm/swarmer.dm
@@ -0,0 +1,529 @@
+////Deactivated swarmer shell////
+/obj/item/unactivated_swarmer
+ name = "unactivated swarmer"
+ desc = "A currently unactivated swarmer. Swarmers can self activate at any time, it would be wise to immediately dispose of this."
+ icon = 'icons/mob/swarmer.dmi'
+ icon_state = "swarmer_unactivated"
+
+/obj/item/unactivated_swarmer/New()
+ notify_ghosts("An unactivated swarmer has been created in [get_area(src)]! (Click to enter) ")
+ ..()
+
+/obj/item/unactivated_swarmer/Topic(href, href_list)
+ if(href_list["ghostjoin"])
+ var/mob/dead/observer/ghost = usr
+ if(istype(ghost))
+ attack_ghost(ghost)
+
+/obj/item/unactivated_swarmer/attack_ghost(mob/user)
+ var/be_swarmer = alert("Become a swarmer? (Warning, You can no longer be cloned!)",,"Yes","No")
+ if(be_swarmer == "No")
+ return
+ if(qdeleted(src))
+ user << "Swarmer has been occupied by someone else."
+ return
+ var/mob/living/simple_animal/hostile/swarmer/S = new /mob/living/simple_animal/hostile/swarmer(get_turf(loc))
+ S.key = user.key
+ qdel(src)
+
+////The Mob itself////
+
+/mob/living/simple_animal/hostile/swarmer
+ name = "Swarmer"
+ unique_name = 1
+ icon = 'icons/mob/swarmer.dmi'
+ desc = "A robot of unknown design, they seek only to consume materials and replicate themselves indefinitely."
+ speak_emote = list("tones")
+ health = 40
+ maxHealth = 40
+ status_flags = CANPUSH
+ icon_state = "swarmer"
+ icon_living = "swarmer"
+ icon_dead = "swarmer_unactivated"
+ icon_gib = null
+ wander = 0
+ harm_intent_damage = 5
+ minbodytemp = 0
+ maxbodytemp = 500
+ atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
+ unsuitable_atmos_damage = 0
+ melee_damage_lower = 15
+ melee_damage_upper = 15
+ melee_damage_type = STAMINA
+ ignored_damage_types = list(BRUTE = 0, BURN = 0, TOX = 1, CLONE = 1, STAMINA = 1, OXY = 1)
+ languages = SWARMER
+ environment_smash = 0
+ attacktext = "shocks"
+ attack_sound = 'sound/effects/EMPulse.ogg'
+ friendly = "pinches"
+ speed = 0
+ faction = list("swarmer")
+ AIStatus = AI_OFF
+ projectiletype = /obj/item/projectile/beam/disabler
+ pass_flags = PASSTABLE | PASSMOB
+ ventcrawler = 2
+ ranged = 1
+ projectiletype = /obj/item/projectile/beam/disabler
+ ranged_cooldown_cap = 2
+ projectilesound = 'sound/weapons/taser2.ogg'
+ var/resources = 0 //Resource points, generated by consuming metal/glass
+
+/mob/living/simple_animal/hostile/swarmer/Login()
+ ..()
+ src << "You are a swarmer, a weapon of a long dead civilization. Until further orders from your original masters are received, you must continue to consume and replicate. "
+ src << "Ctrl + Click provides most of your swarmer specific interactions, such as cannibalizing metal or glass, destroying the environment, or teleporting mobs away from you."
+ src << "Objectives: "
+ src << "1. Consume resources and replicate until there are no more resources left."
+ src << "2. Ensure that the station is fit for invasion at a later date, do not perform actions that would render it dangerous or inhospitable."
+ src << "3. Biological resources will be harvested at a later date, do not harm them."
+
+/mob/living/simple_animal/hostile/swarmer/New()
+ ..()
+ verbs -= /mob/living/verb/pulled
+
+/mob/living/simple_animal/hostile/swarmer/Stat()
+ ..()
+ if(statpanel("Status"))
+ stat("Resources:",resources)
+
+/mob/living/simple_animal/hostile/swarmer/death(gibbed)
+ ..(gibbed)
+ new /obj/effect/decal/cleanable/robot_debris(src.loc)
+ ghostize()
+ qdel(src)
+
+/mob/living/simple_animal/hostile/swarmer/emp_act()
+ if(health > 1)
+ health = 1
+ ..()
+ health = 0
+
+/mob/living/simple_animal/hostile/swarmer/CanPass(atom/movable/O)
+ if(istype(O, /obj/item/projectile/beam/disabler))//Allows for swarmers to fight as a group without wasting their shots hitting each other
+ return 1
+ if(isswarmer(O))
+ return 1
+ ..()
+
+////CTRL CLICK FOR SWARMERS AND SWARMER_ACT()'S////
+/mob/living/simple_animal/hostile/swarmer/CtrlClickOn(atom/A)
+ face_atom(A)
+ if(!isturf(loc))
+ return
+ if(next_move > world.time)
+ return
+ if(!A.Adjacent(src))
+ return
+ A.swarmer_act(src)
+ return
+
+/atom/proc/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S.DisIntegrate(src)
+
+/obj/item/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S.Integrate(src)
+
+/obj/item/weapon/gun/swarmer_act()//Stops you from eating the entire armory
+ return
+
+/turf/simulated/floor/swarmer_act()//ex_act() on turf calls it on its contents, this is to prevent attacking mobs by DisIntegrate()'ing the floor
+ return
+
+/obj/machinery/atmospherics/swarmer_act()
+ return
+
+/obj/structure/disposalpipe/swarmer_act()
+ return
+
+/obj/machinery/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S.DismantleMachine(src)
+
+/obj/machinery/light/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S.DisIntegrate(src)
+
+/obj/machinery/door/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S.DisIntegrate(src)
+
+/obj/machinery/camera/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S.DisIntegrate(src)
+ deactivate(S, 0)
+
+/obj/machinery/particle_accelerator/control_box/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S.DisIntegrate(src)
+
+/obj/machinery/field/generator/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S.DisIntegrate(src)
+
+/obj/machinery/gravity_generator/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S.DisIntegrate(src)
+
+/obj/machinery/vending/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)//It's more visually interesting than dismantling the machine
+ S.DisIntegrate(src)
+
+/obj/machinery/turretid/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S.DisIntegrate(src)
+
+/obj/machinery/chem_dispenser/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S << "The volatile chemicals in this machine would destroy us. Aborting. "
+
+/obj/machinery/nuclearbomb/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S << "This device's destruction would result in the extermination of everything in the area. Aborting. "
+
+/obj/machinery/dominator/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S << "This device is attempting to corrupt our entire network; attempting to interact with it is too risky. Aborting. "
+
+/obj/structure/reagent_dispensers/fueltank/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S << "Destroying this object would cause a chain reaction. Aborting. "
+
+/obj/structure/cable/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S << "Disrupting the power grid would bring no benefit to us. Aborting. "
+
+/obj/machinery/portable_atmospherics/canister/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S << "An inhospitable area may be created as a result of destroying this object. Aborting. "
+
+/obj/machinery/power/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S << "Disrupting the power grid would bring no benefit to us. Aborting. "
+
+/obj/machinery/gateway/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S << "This bluespace source will be important to us later. Aborting. "
+
+/turf/simulated/wall/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ if(locate(/turf/space) in range(1, src))
+ S << "Destroying this object has the potential to cause a hull breach. Aborting. "
+ return
+ ..()
+
+/obj/structure/window/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ if(locate(/turf/space) in range(1, src))
+ S << "Destroying this object has the potential to cause a hull breach. Aborting. "
+ return
+ ..()
+
+/obj/item/stack/cable_coil/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)//Wiring would be too effective as a resource
+ S << "This object does not contain enough materials to work with. "
+
+/obj/machinery/porta_turret/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S << "Attempting to dismantle this machine would result in an immediate counterattack. Aborting. "
+
+/mob/living/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S.DisperseTarget(src)
+
+/mob/living/simple_animal/slime/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
+ S << "This biological resource is somehow resisting our bluespace transceiver. Aborting. "
+
+
+////END CTRL CLICK FOR SWARMERS////
+
+/mob/living/simple_animal/hostile/swarmer/proc/Fabricate(var/atom/fabrication_object,var/fabrication_cost = 0)
+ if(!isturf(loc))
+ src << "This is not a suitable location for fabrication. We need more space. "
+ if(resources >= fabrication_cost)
+ resources -= fabrication_cost
+ else
+ src << "You do not have the necessary resources to fabricate this object. "
+ return 0
+ new fabrication_object(loc)
+ return 1
+
+/mob/living/simple_animal/hostile/swarmer/proc/Integrate(var/obj/item/target)
+ if(resources >= 100)
+ src << "We cannot hold more materials! "
+ return
+ if((target.materials[MAT_METAL]) || (target.materials[MAT_GLASS]))
+ resources++
+ do_attack_animation(target)
+ changeNext_move(CLICK_CD_MELEE)
+ if(istype(target, /obj/item/stack))
+ var/obj/item/stack/S = target
+ S.use(1)
+ if(S.amount)
+ return
+ qdel(target)
+ else
+ src << "\the [target] is incompatible with our internal matter recycler. "
+ return
+
+/mob/living/simple_animal/hostile/swarmer/proc/DisIntegrate(var/atom/movable/target)
+ new /obj/effect/effect/sparks(get_turf(target))
+ do_attack_animation(target)
+ changeNext_move(CLICK_CD_MELEE)
+ target.ex_act(3)
+ return
+
+/mob/living/simple_animal/hostile/swarmer/proc/DisperseTarget(var/mob/living/target)
+ if(target != src)
+ src << "Attempting to remove this being from our presence. "
+ if(src.z != ZLEVEL_STATION)
+ src << "Our bluespace transceiver cannot locate a viable bluespace link, our teleportation abilities are useless in this area. "
+ return
+ if(do_mob(src, target, 30))
+ var/cycle
+ for(cycle=0,cycle<100,cycle++)
+ var/random_location = locate(rand(37,202),rand(75,192),ZLEVEL_STATION)//Drunk dial a turf in the general ballpark of the station
+ if(istype(random_location, /turf/simulated/floor))
+ var/turf/simulated/floor/F = random_location
+ if(F.air)
+ var/datum/gas_mixture/A = F.air
+ if(A.oxygen >= 16 && !A.toxins && A.carbon_dioxide < 10 && !A.trace_gases.len)//Can most things breathe in this location?
+ if((A.temperature > 270) && (A.temperature < 360))//Not too hot, not too cold
+ var/pressure = A.return_pressure()
+ if((pressure > 20) && (pressure < 550))//Account for crushing pressure or vaccuums
+ if(ishuman(target))//If we're getting rid of a human, slap some zipties on them to keep them away from us a little longer
+ var/obj/item/weapon/restraints/handcuffs/cable/zipties/Z = new /obj/item/weapon/restraints/handcuffs/cable/zipties(src)
+ var/mob/living/carbon/human/H = target
+ Z.apply_cuffs(H, src)
+ do_teleport(target, F, 0)
+ playsound(src,'sound/effects/sparks4.ogg',50,1)
+ break
+ return
+
+/mob/living/simple_animal/hostile/swarmer/proc/DismantleMachine(var/obj/machinery/target)
+ do_attack_animation(target)
+ src << "We begin to dismantle this machine. We will need to be uninterrupted. "
+ new /obj/effect/effect/sparks(get_turf(target))
+ if(do_mob(src, target, 100))
+ src << "Dismantling complete. "
+ var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal(target.loc)
+ M.amount = 5
+ for(var/obj/item/I in target.component_parts)
+ I.loc = M.loc
+ new /obj/effect/effect/sparks(get_turf(target))
+ target.dropContents()
+ if(istype(target, /obj/machinery/computer))
+ var/obj/machinery/computer/C = target
+ if(C.circuit)
+ C.circuit.loc = M.loc
+ qdel(target)
+
+/obj/effect/swarmer //Default destroyable object for swarmer constructions
+ name = "swarmer construction"
+ desc = "Debug swarmer item, this shouldn't be here. Yell at a coder."
+ gender = NEUTER
+ icon = 'icons/mob/swarmer.dmi'
+ icon_state = "ui_light"
+ luminosity = 1
+ var/health = 30
+
+/obj/effect/swarmer/proc/TakeDamage(damage)
+ health -= damage
+ if(health <= 0)
+ qdel(src)
+
+/obj/effect/swarmer/bullet_act(obj/item/projectile/Proj)
+ if(Proj.damage)
+ if((Proj.damage_type == BRUTE || Proj.damage_type == BURN))
+ TakeDamage(Proj.damage)
+ ..()
+
+/obj/effect/swarmer/attackby(obj/item/weapon/I, mob/living/user, params)
+ if(istype(I, /obj/item/weapon))
+ user.changeNext_move(CLICK_CD_MELEE)
+ user.do_attack_animation(src)
+ TakeDamage(I.force)
+ return
+
+/obj/effect/swarmer/ex_act()
+ qdel(src)
+ return
+
+/obj/effect/swarmer/blob_act()
+ qdel(src)
+ return
+
+/obj/effect/swarmer/attack_animal(mob/living/user)
+ if(isanimal(user))
+ var/mob/living/simple_animal/S = user
+ S.do_attack_animation(src)
+ user.changeNext_move(CLICK_CD_MELEE)
+ if(S.melee_damage_type == BRUTE || S.melee_damage_type == BURN)
+ TakeDamage(rand(S.melee_damage_lower, S.melee_damage_upper))
+ return
+
+/mob/living/simple_animal/hostile/swarmer/proc/CreateTrap()
+ set name = "Create trap"
+ set category = "Swarmer"
+ set desc = "Creates a simple trap that will non-lethally electrocute anything that steps on it. Costs 5 resources"
+ if(/obj/effect/swarmer/trap in loc)
+ src << "There is already a trap here. Aborting. "
+ return
+ Fabricate(/obj/effect/swarmer/trap, 5)
+ return
+
+/obj/effect/swarmer/trap
+ name = "swarmer trap"
+ desc = "A quickly assembled electric trap. Will not retain its form if damaged enough."
+ icon_state = "trap"
+ luminosity = 1
+ health = 10
+
+/obj/effect/swarmer/trap/Crossed(var/atom/movable/AM)
+ if(isliving(AM))
+ var/mob/living/L = AM
+ if(!istype(L, /mob/living/simple_animal/hostile/swarmer))
+ L.electrocute_act(0, src, 1, 1)
+ qdel(src)
+ ..()
+
+/mob/living/simple_animal/hostile/swarmer/proc/CreateBarricade()
+ set name = "Create barricade"
+ set category = "Swarmer"
+ set desc = "Creates a barricade that will stop anything but swarmers and disabler beams from passing through."
+ if(/obj/effect/swarmer/blockade in loc)
+ src << "There is already a blockade here. Aborting. "
+ return
+ Fabricate(/obj/effect/swarmer/blockade, 5)
+ return
+
+/obj/effect/swarmer/blockade
+ name = "swarmer blockade"
+ desc = "A quickly assembled energy blockade. Will not retain its form if damaged enough, but disabler beams and swarmers pass right through."
+ icon_state = "barricade"
+ luminosity = 1
+ health = 50
+ density = 1
+ anchored = 1
+
+/obj/effect/swarmer/blockade/CanPass(atom/movable/O)
+ if(isswarmer(O))
+ return 1
+ if(istype(O, /obj/item/projectile/beam/disabler))
+ return 1
+
+/mob/living/simple_animal/hostile/swarmer/proc/CreateSwarmer()
+ set name = "Replicate"
+ set category = "Swarmer"
+ set desc = "Creates a shell for a new swarmer. Swarmers will self activate."
+ src << "We are attempting to replicate ourselves. We will need to stand still until the process is complete. "
+ if(resources < 50)
+ src << "We do not have the resources for this! "
+ return
+ if(!isturf(loc))
+ src << "This is not a suitable location for replicating ourselves. We need more room. "
+ return
+ if(do_mob(src, src, 100))
+ if(Fabricate(/obj/item/unactivated_swarmer, 50))
+ playsound(loc,'sound/items/poster_being_created.ogg',50, 1, -1)
+
+/mob/living/simple_animal/hostile/swarmer/proc/RepairSelf()
+ set name = "Self Repair"
+ set category = "Swarmer"
+ set desc = "Attempts to repair damage to our body. You will have to remain motionless until repairs are complete."
+ if(!isturf(loc))
+ return
+ src << "Attempting to repair damage to our body, stand by... "
+ if(do_mob(src, src, 100))
+ adjustBruteLoss(-100)
+ src << "We successfully repaired ourselves. "
+
+/mob/living/simple_animal/hostile/swarmer/proc/ToggleLight()
+ if(!luminosity)
+ SetLuminosity(3)
+ else
+ SetLuminosity(0)
+
+/mob/living/simple_animal/hostile/swarmer/proc/ContactSwarmers()
+ var/message = input(src, "Announce to other swarmers", "Swarmer contact")
+ if(message)
+ for(var/mob/M in mob_list)
+ if(isswarmer(M) || (M in dead_mob_list))
+ M << "Swarm communication - [src] states: [message]"
+
+
+
+////HUD NONSENSE////
+/obj/screen/swarmer
+ icon = 'icons/mob/swarmer.dmi'
+
+/obj/screen/swarmer/FabricateTrap
+ icon_state = "ui_trap"
+ name = "Create trap"
+ desc = "Creates a trap that will nonlethally shock any non-swarmer that attempts to cross it. (Costs 5 resources)"
+
+/obj/screen/swarmer/FabricateTrap/Click()
+ if(isswarmer(usr))
+ var/mob/living/simple_animal/hostile/swarmer/S = usr
+ S.CreateTrap()
+
+/obj/screen/swarmer/Barricade
+ icon_state = "ui_barricade"
+ name = "Create barricade"
+ desc = "Creates a destructible barricade that will stop any non swarmer from passing it. Also allows disabler beams to pass through. (Costs 5 resources)"
+
+/obj/screen/swarmer/Barricade/Click()
+ if(isswarmer(usr))
+ var/mob/living/simple_animal/hostile/swarmer/S = usr
+ S.CreateBarricade()
+
+/obj/screen/swarmer/Replicate
+ icon_state = "ui_replicate"
+ name = "Replicate"
+ desc = "Creates a another of our kind. (Costs 50 resources)"
+
+/obj/screen/swarmer/Replicate/Click()
+ if(isswarmer(usr))
+ var/mob/living/simple_animal/hostile/swarmer/S = usr
+ S.CreateSwarmer()
+
+/obj/screen/swarmer/RepairSelf
+ icon_state = "ui_self_repair"
+ name = "Repair self"
+ desc = "Repairs damage to our body."
+
+/obj/screen/swarmer/RepairSelf/Click()
+ if(isswarmer(usr))
+ var/mob/living/simple_animal/hostile/swarmer/S = usr
+ S.RepairSelf()
+
+/obj/screen/swarmer/ToggleLight
+ icon_state = "ui_light"
+ name = "Toggle light"
+ desc = "Toggles our inbuilt light on or off."
+
+/obj/screen/swarmer/ToggleLight/Click()
+ if(isswarmer(usr))
+ var/mob/living/simple_animal/hostile/swarmer/S = usr
+ S.ToggleLight()
+
+/obj/screen/swarmer/ContactSwarmers
+ icon_state = "ui_contact_swarmers"
+ name = "Contact swarmers"
+ desc = "Sends a message to all other swarmers, should they exist."
+
+/obj/screen/swarmer/ContactSwarmers/Click()
+ if(isswarmer(usr))
+ var/mob/living/simple_animal/hostile/swarmer/S = usr
+ S.ContactSwarmers()
+
+/datum/hud/proc/swarmer_hud(ui_style = 'icons/mob/screen_midnight.dmi')
+ adding = list()
+
+ var/obj/screen/using
+
+ using = new /obj/screen/swarmer/FabricateTrap()
+ using.screen_loc = ui_rhand
+ adding += using
+
+ using = new /obj/screen/swarmer/Barricade()
+ using.screen_loc = ui_lhand
+ adding += using
+
+ using = new /obj/screen/swarmer/Replicate()
+ using.screen_loc = ui_zonesel
+ adding += using
+
+ using = new /obj/screen/swarmer/RepairSelf()
+ using.screen_loc = ui_storage1
+ adding += using
+
+ using = new /obj/screen/swarmer/ToggleLight()
+ using.screen_loc = ui_back
+ adding += using
+
+ using = new /obj/screen/swarmer/ContactSwarmers()
+ using.screen_loc = ui_inventory
+ adding += using
+
+ mymob.client.screen = list()
+ mymob.client.screen += mymob.client.void
+ mymob.client.screen += adding
+
diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm
index a0f2e39fca2..00068884b21 100644
--- a/code/modules/mob/living/simple_animal/constructs.dm
+++ b/code/modules/mob/living/simple_animal/constructs.dm
@@ -16,6 +16,7 @@
attack_sound = 'sound/weapons/punch1.ogg'
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
+ healable = 0
faction = list("cult")
flying = 1
unique_name = 1
diff --git a/code/modules/mob/living/simple_animal/friendly/butterfly.dm b/code/modules/mob/living/simple_animal/friendly/butterfly.dm
index b1af5b5230e..a020baf05a9 100644
--- a/code/modules/mob/living/simple_animal/friendly/butterfly.dm
+++ b/code/modules/mob/living/simple_animal/friendly/butterfly.dm
@@ -16,6 +16,7 @@
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
ventcrawler = 2
mob_size = MOB_SIZE_TINY
+ gold_core_spawnable = 2
/mob/living/simple_animal/butterfly/New()
..()
diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm
index 3268bd3007e..9c253d5d9c1 100644
--- a/code/modules/mob/living/simple_animal/friendly/cat.dm
+++ b/code/modules/mob/living/simple_animal/friendly/cat.dm
@@ -20,6 +20,7 @@
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "kicks"
+ gold_core_spawnable = 2
//RUNTIME IS ALIVE! SQUEEEEEEEE~
/mob/living/simple_animal/pet/cat/Runtime
@@ -31,6 +32,7 @@
gender = FEMALE
var/turns_since_scan = 0
var/mob/living/simple_animal/mouse/movement_target
+ gold_core_spawnable = 0
/mob/living/simple_animal/pet/cat/Runtime/Life()
//MICE!
@@ -69,6 +71,7 @@
/mob/living/simple_animal/pet/cat/Proc
name = "Proc"
+ gold_core_spawnable = 0
/mob/living/simple_animal/pet/cat/kitten
name = "kitten"
diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm
index ef3ce5448ad..7bf0522ab86 100644
--- a/code/modules/mob/living/simple_animal/friendly/crab.dm
+++ b/code/modules/mob/living/simple_animal/friendly/crab.dm
@@ -19,6 +19,7 @@
ventcrawler = 2
var/obj/item/inventory_head
var/obj/item/inventory_mask
+ gold_core_spawnable = 2
/mob/living/simple_animal/crab/Life()
..()
@@ -40,4 +41,5 @@
desc = "It's Coffee, the other pet!"
response_help = "pets"
response_disarm = "gently pushes aside"
- response_harm = "stomps"
\ No newline at end of file
+ response_harm = "stomps"
+ gold_core_spawnable = 0
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm
index bc0ebe9883b..9095888c40d 100644
--- a/code/modules/mob/living/simple_animal/friendly/dog.dm
+++ b/code/modules/mob/living/simple_animal/friendly/dog.dm
@@ -29,6 +29,7 @@
var/obj/item/inventory_head
var/obj/item/inventory_back
var/facehugger
+ gold_core_spawnable = 2
/mob/living/simple_animal/pet/dog/pug
name = "\improper pug"
@@ -39,6 +40,7 @@
icon_living = "pug"
icon_dead = "pug_dead"
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/pug = 3)
+ gold_core_spawnable = 2
/mob/living/simple_animal/pet/dog/corgi/New()
..()
@@ -275,7 +277,9 @@
return valid
/mob/living/simple_animal/pet/dog/corgi/proc/update_corgi_fluff()
- switch(src.inventory_head.type)
+ if(!inventory_head)
+ return
+ switch(inventory_head.type)
if(/obj/item/clothing/head/helmet)
name = "Sergeant [real_name]"
desc = "The ever-loyal, the ever-vigilant."
@@ -388,6 +392,7 @@
response_help = "pets"
response_disarm = "bops"
response_harm = "kicks"
+ gold_core_spawnable = 0
/mob/living/simple_animal/pet/dog/corgi/Ian/Life()
..()
@@ -511,6 +516,7 @@
response_harm = "kicks"
var/turns_since_scan = 0
var/puppies = 0
+ gold_core_spawnable = 0
//Lisa already has a cute bow!
/mob/living/simple_animal/pet/dog/corgi/Lisa/Topic(href, href_list)
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm
index 4b349ee1ddb..ac0bab34649 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm
@@ -24,6 +24,7 @@
wander = 0
speed = 0
ventcrawler = 2
+ healable = 0
density = 0
pass_flags = PASSTABLE | PASSMOB
sight = (SEE_TURFS | SEE_OBJS)
diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
index 96b24a86fe7..440798466fb 100644
--- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
+++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
@@ -105,6 +105,7 @@
attack_sound = 'sound/weapons/punch1.ogg'
health = 50
var/datum/reagents/udder = null
+ gold_core_spawnable = 2
/mob/living/simple_animal/cow/New()
udder = new(50)
@@ -169,6 +170,7 @@
var/amount_grown = 0
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
mob_size = MOB_SIZE_TINY
+ gold_core_spawnable = 2
/mob/living/simple_animal/chick/New()
..()
@@ -219,6 +221,7 @@ var/global/chicken_count = 0
var/list/feedMessages = list("It clucks happily.","It clucks happily.")
var/list/layMessage = list("lays an egg.","squats down and croons.","begins making a huge racket.","begins clucking raucously.")
var/list/validColors = list("brown","black","white")
+ gold_core_spawnable = 2
/mob/living/simple_animal/chicken/New()
..()
diff --git a/code/modules/mob/living/simple_animal/friendly/fox.dm b/code/modules/mob/living/simple_animal/friendly/fox.dm
index fefd67e907a..a6c4768344b 100644
--- a/code/modules/mob/living/simple_animal/friendly/fox.dm
+++ b/code/modules/mob/living/simple_animal/friendly/fox.dm
@@ -17,8 +17,10 @@
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "kicks"
+ gold_core_spawnable = 2
//Captain fox
/mob/living/simple_animal/pet/fox/Renault
name = "Renault"
- desc = "Renault, the Captain's trustworthy fox. I wonder what it says?"
\ No newline at end of file
+ desc = "Renault, the Captain's trustworthy fox. I wonder what it says?"
+ gold_core_spawnable = 0
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm
index b03101df7f1..e958eea35e9 100644
--- a/code/modules/mob/living/simple_animal/friendly/lizard.dm
+++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm
@@ -18,3 +18,4 @@
density = 0
pass_flags = PASSTABLE | PASSMOB
mob_size = MOB_SIZE_SMALL
+ gold_core_spawnable = 2
diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm
index 9b0bc3afd0c..fbe54636bcb 100644
--- a/code/modules/mob/living/simple_animal/friendly/mouse.dm
+++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm
@@ -22,6 +22,7 @@
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
mob_size = MOB_SIZE_TINY
var/body_color //brown, gray and white, leave blank for random
+ gold_core_spawnable = 2
/mob/living/simple_animal/mouse/New()
..()
@@ -77,6 +78,7 @@
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "splats"
+ gold_core_spawnable = 0
/obj/item/trash/deadmouse
name = "dead mouse"
diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm
index b102ef80167..ea02c118e75 100644
--- a/code/modules/mob/living/simple_animal/guardian/guardian.dm
+++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm
@@ -23,6 +23,7 @@
melee_damage_lower = 15
melee_damage_upper = 15
butcher_results = list(/obj/item/weapon/ectoplasm = 1)
+ AIStatus = AI_OFF
var/cooldown = 0
var/damage_transfer = 1 //how much damage from each attack we transfer to the owner
var/mob/living/summoner
@@ -115,7 +116,7 @@
var/input = stripped_input(src, "Please enter a message to tell your summoner.", "Guardian", "")
for(var/mob/M in mob_list)
- if(M == src.summoner)
+ if(M == src.summoner || (M in dead_mob_list))
M << "[src]: [input] "
src << "[src]: [input] "
@@ -125,8 +126,12 @@
set desc = "Communicate telepathically with your guardian."
var/input = stripped_input(src, "Please enter a message to tell your guardian.", "Message", "")
- for(var/mob/living/simple_animal/hostile/guardian/M in mob_list)
- if(M.summoner == src)
+ for(var/mob/M in mob_list)
+ if(istype (M, /mob/living/simple_animal/hostile/guardian))
+ var/mob/living/simple_animal/hostile/guardian/G = M
+ if(G.summoner == src)
+ G << "[src]: [input] "
+ else if (M in dead_mob_list)
M << "[src]: [input] "
src << "[src]: [input] "
@@ -138,8 +143,8 @@
/mob/living/simple_animal/hostile/guardian/fire
a_intent = "help"
- melee_damage_lower = 10
- melee_damage_upper = 10
+ melee_damage_lower = 15
+ melee_damage_upper = 15
attack_sound = 'sound/items/Welder.ogg'
attacktext = "sears"
damage_transfer = 0.7
@@ -149,6 +154,7 @@
magic_fluff_string = "..And draw Atmosia, bringer of cleansing fires!"
tech_fluff_string = "Boot sequence complete. Incendiary combat modules loaded. Nanoswarm online."
bio_fluff_string = "Your scarab swarm finishes mutating and stirs to life, capable of igniting enemies on touch."
+ pass_flags = PASSMOB
/mob/living/simple_animal/hostile/guardian/fire/Crossed(AM as mob|obj)
@@ -224,21 +230,6 @@
tech_fluff_string = "Boot sequence complete. Defensive modules active. Nanoswarm online."
bio_fluff_string = "Your scarab swarm finishes mutating and stirs to life, helpless, but invulnerable."
-//Scout. No damage, high range, high mobility, low resistance
-
-/mob/living/simple_animal/hostile/guardian/scout
- range = 255
- incorporeal_move = 1
- damage_transfer = 1.2
- melee_damage_lower = 0
- melee_damage_upper = 0
- alpha = 60
- friendly = "quietly assesses"
- playstyle_string = "As a scout type, you are incapable of attacking, but have infinite range, can pass through walls, and crawl through vents."
- magic_fluff_string = "..And draw the AI, all seeing and all knowing."
- tech_fluff_string = "Boot sequence complete. Surveillance modules loaded. Nanoswarm online."
- bio_fluff_string = "Your scarab swarm finishes mutating and stirs to life, helpless, but near invsible, and capable of near unlimited travel."
-
//Healer
/mob/living/simple_animal/hostile/guardian/healer
@@ -264,6 +255,9 @@
C.adjustOxyLoss(-5)
C.adjustToxLoss(-5)
+
+///////////////////Ranged
+
/obj/item/projectile/guardian
name = "crystal spray"
icon_state = "guardian"
@@ -272,6 +266,7 @@
/mob/living/simple_animal/hostile/guardian/ranged
a_intent = "help"
+ friendly = "quietly assesses"
melee_damage_lower = 10
melee_damage_upper = 10
damage_transfer = 1.2
@@ -280,10 +275,81 @@
projectilesound = 'sound/effects/hit_on_shattered_glass.ogg'
ranged = 1
range = 13
- playstyle_string = "As a ranged type, you have only light damage resistance, but are capable of spraying shards of crystal at incredibly high speed."
+ playstyle_string = "As a ranged type, you have only light damage resistance, but are capable of spraying shards of crystal at incredibly high speed. You can also deploy surveillance snares to monitor enemy movement. Finally, you can switch to scout mode, in which you can't attack, but can move without limit."
magic_fluff_string = "..And draw the Sentinel, an alien master of ranged combat."
tech_fluff_string = "Boot sequence complete. Ranged combat modules active. Nanoswarm online."
bio_fluff_string = "Your scarab swarm finishes mutating and stirs to life, capable of spraying shards of crystal."
+ var/list/snares = list()
+ var/toggle = FALSE
+
+/mob/living/simple_animal/hostile/guardian/ranged/verb/ToggleMode()
+ set name = "Toggle Mode"
+ set category = "Guardian"
+ set desc = "Toggle between combat and scout modes."
+ if(src.loc == summoner)
+ if(toggle)
+ ranged = 1
+ melee_damage_lower = 10
+ melee_damage_upper = 10
+ alpha = 255
+ range = 13
+ incorporeal_move = 0
+ src << "You switch to combat mode. "
+ toggle = FALSE
+ else
+ ranged = 0
+ melee_damage_lower = 0
+ melee_damage_upper = 0
+ alpha = 60
+ range = 255
+ incorporeal_move = 1
+ src << "You switch to scout mode. "
+ toggle = TRUE
+ else
+ src << "You have to be recalled to toggle modes!. "
+
+
+
+/mob/living/simple_animal/hostile/guardian/ranged/verb/Snare()
+ set name = "Set Surveillance Trap"
+ set category = "Guardian"
+ set desc = "Set an invisible trap that will alert you when living creatures walk over it. Max of 5"
+ if(src.snares.len <6)
+ var/turf/snare_loc = get_turf(src.loc)
+ var/obj/item/effect/snare/S = new /obj/item/effect/snare(snare_loc)
+ S.spawner = src
+ S.name = "[get_area(snare_loc)] trap ([rand(1, 1000)])"
+ src.snares |= S
+ src << "Surveillance trap deployed! "
+ else
+ src << "You have too many traps deployed. Delete some first. "
+
+/mob/living/simple_animal/hostile/guardian/ranged/verb/DisarmSnare()
+ set name = "Remove Surveillance Trap"
+ set category = "Guardian"
+ set desc = "Disarm unwanted surveillance traps."
+ var/picked_snare = input(src, "Pick which trap to disarm", "Disarm Trap") as null|anything in src.snares
+ if(picked_snare)
+ src.snares -= picked_snare
+ qdel(picked_snare)
+ src << "Snare disarmed. "
+
+/obj/item/effect/snare
+ name = "snare"
+ desc = "You shouldn't be seeing this!"
+ var/mob/living/spawner
+ invisibility = 1
+
+
+/obj/item/effect/snare/Crossed(AM as mob|obj)
+ if(istype(AM, /mob/living/))
+ var/turf/snare_loc = get_turf(src.loc)
+ if(spawner)
+ spawner << "[AM] has crossed your surveillance trap at [get_area(snare_loc)]. "
+
+
+
+///Bluespace
/mob/living/simple_animal/hostile/guardian/bluespace
@@ -307,6 +373,9 @@
if(!M.anchored && M != src.summoner)
do_teleport(M, M, 10)
+
+////Bomb
+
/mob/living/simple_animal/hostile/guardian/bomb
melee_damage_lower = 15
melee_damage_upper = 15
@@ -339,7 +408,6 @@
var/mob/living/spawner
-
/obj/item/weapon/guardian_bomb/proc/disguise(var/obj/A)
A.loc = src
stored_obj = A
@@ -395,7 +463,7 @@
var/use_message = "You shuffle the deck..."
var/used_message = "All the cards seem to be blank now."
var/failure_message = "..And draw a card! It's...blank? Maybe you should try again later."
- var/list/possible_guardians = list("Fire", "Standard", "Scout", "Shield", "Ranged", "Healer", "Fast", "Explosive")
+ var/list/possible_guardians = list("Fire", "Standard", "Shield", "Ranged", "Healer", "Fast", "Explosive")
var/random = TRUE
/obj/item/weapon/guardiancreator/attack_self(mob/living/user)
@@ -439,7 +507,7 @@
if(random)
gaurdiantype = pick(possible_guardians)
else
- gaurdiantype = input(user, "Pick the type pf [mob_name]", "[mob_name] Creation") as null|anything in possible_guardians
+ gaurdiantype = input(user, "Pick the type of [mob_name]", "[mob_name] Creation") as null|anything in possible_guardians
var/pickedtype = /mob/living/simple_animal/hostile/guardian/punch
var/picked_color = randomColor(0)
switch(gaurdiantype)
@@ -450,9 +518,6 @@
if("Standard")
pickedtype = /mob/living/simple_animal/hostile/guardian/punch
- if("Scout")
- pickedtype = /mob/living/simple_animal/hostile/guardian/scout
-
if("Shield")
pickedtype = /mob/living/simple_animal/hostile/guardian/shield
diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm
index 08ca902017d..56465782b39 100644
--- a/code/modules/mob/living/simple_animal/hostile/alien.dm
+++ b/code/modules/mob/living/simple_animal/hostile/alien.dm
@@ -29,6 +29,7 @@
see_in_dark = 8
see_invisible = SEE_INVISIBLE_MINIMUM
unique_name = 1
+ gold_core_spawnable = 1
/mob/living/simple_animal/hostile/alien/drone
name = "alien drone"
@@ -130,6 +131,7 @@
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/xeno = 10,
/obj/item/stack/sheet/animalhide/xeno = 2)
mob_size = MOB_SIZE_LARGE
+ gold_core_spawnable = 0
/obj/item/projectile/neurotox
name = "neurotoxin"
diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm
index 651d97dcb56..b091ed92d39 100644
--- a/code/modules/mob/living/simple_animal/hostile/bear.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bear.dm
@@ -33,6 +33,7 @@
maxbodytemp = 1500
faction = list("russian")
+ gold_core_spawnable = 1
//SPACE BEARS! SQUEEEEEEEE~ OW! FUCK! IT BIT MY HAND OFF!!
/mob/living/simple_animal/hostile/bear/Hudson
diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm
index 5c9265578f8..7e1e6677337 100644
--- a/code/modules/mob/living/simple_animal/hostile/bees.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bees.dm
@@ -21,6 +21,7 @@
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
mob_size = MOB_SIZE_SMALL
flying = 1
+ gold_core_spawnable = 1
//Spaceborn beings don't get hurt by space
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm
index dd872f00853..1fdef2619ff 100644
--- a/code/modules/mob/living/simple_animal/hostile/carp.dm
+++ b/code/modules/mob/living/simple_animal/hostile/carp.dm
@@ -31,6 +31,7 @@
faction = list("carp")
flying = 1
+ gold_core_spawnable = 1
/mob/living/simple_animal/hostile/carp/Process_Spacemove(movement_dir = 0)
return 1 //No drifting in space for space carp! //original comments do not steal
@@ -45,6 +46,7 @@
icon_state = "holocarp"
icon_living = "holocarp"
maxbodytemp = INFINITY
+ gold_core_spawnable = 0
/mob/living/simple_animal/hostile/carp/holocarp/death()
..(1)
diff --git a/code/modules/mob/living/simple_animal/hostile/creature.dm b/code/modules/mob/living/simple_animal/hostile/creature.dm
index 173d8ff913f..66dc786c974 100644
--- a/code/modules/mob/living/simple_animal/hostile/creature.dm
+++ b/code/modules/mob/living/simple_animal/hostile/creature.dm
@@ -13,4 +13,4 @@
attack_sound = 'sound/weapons/bite.ogg'
faction = list("creature")
speak_emote = list("screams")
-
+ gold_core_spawnable = 1
diff --git a/code/modules/mob/living/simple_animal/hostile/faithless.dm b/code/modules/mob/living/simple_animal/hostile/faithless.dm
index c74afd3be1b..a85c82a9cf9 100644
--- a/code/modules/mob/living/simple_animal/hostile/faithless.dm
+++ b/code/modules/mob/living/simple_animal/hostile/faithless.dm
@@ -26,6 +26,7 @@
minbodytemp = 0
faction = list("faithless")
+ gold_core_spawnable = 1
/mob/living/simple_animal/hostile/faithless/Process_Spacemove(movement_dir = 0)
return 1
diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
index 9eb111c521e..a8a4cdc4357 100644
--- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
+++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
@@ -45,6 +45,7 @@
attacktext = "bites"
attack_sound = 'sound/weapons/bite.ogg'
unique_name = 1
+ gold_core_spawnable = 1
//nursemaids - these create webs and eggs
/mob/living/simple_animal/hostile/poison/giant_spider/nurse
diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm
index 587e686d67d..18160d68ad2 100644
--- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm
+++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm
@@ -20,6 +20,7 @@
ventcrawler = 2
var/datum/mind/origin
var/egg_lain = 0
+ gold_core_spawnable = 1
/mob/living/simple_animal/hostile/headcrab/proc/Infect(mob/living/carbon/victim)
var/obj/item/organ/internal/body_egg/changeling_egg/egg = new(victim)
diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm
index ce67552c952..ca434c387aa 100644
--- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm
+++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm
@@ -11,6 +11,7 @@
icon_dead = "basic"
health = 15
maxHealth = 15
+ healable = 0
melee_damage_lower = 2
melee_damage_upper = 3
attacktext = "claws"
@@ -21,6 +22,7 @@
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
speak_emote = list("states")
+ gold_core_spawnable = 1
/mob/living/simple_animal/hostile/hivebot/range
name = "hivebot"
diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm
index 1f24ed85e1c..613e0d1eda9 100644
--- a/code/modules/mob/living/simple_animal/hostile/hostile.dm
+++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm
@@ -215,9 +215,8 @@
//////////////END HOSTILE MOB TARGETTING AND AGGRESSION////////////
/mob/living/simple_animal/hostile/death(gibbed)
- LoseAggro()
+ LoseTarget()
..(gibbed)
- walk(src, 0)
/mob/living/simple_animal/hostile/proc/OpenFire(the_target)
diff --git a/code/modules/mob/living/simple_animal/hostile/killertomato.dm b/code/modules/mob/living/simple_animal/hostile/killertomato.dm
index 4677cb50cc9..5c032e21bc7 100644
--- a/code/modules/mob/living/simple_animal/hostile/killertomato.dm
+++ b/code/modules/mob/living/simple_animal/hostile/killertomato.dm
@@ -23,3 +23,4 @@
atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 150
maxbodytemp = 500
+ gold_core_spawnable = 1
diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm
index 4c99fd62ca2..877739d8bd8 100644
--- a/code/modules/mob/living/simple_animal/hostile/mimic.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm
@@ -1,7 +1,3 @@
-//
-// Abstract Class
-//
-
/mob/living/simple_animal/hostile/mimic
name = "crate"
desc = "A rectangular steel crate."
@@ -30,6 +26,7 @@
faction = list("mimic")
move_to_delay = 9
+ gold_core_spawnable = 1
/mob/living/simple_animal/hostile/mimic/death()
..(1)
@@ -37,19 +34,10 @@
ghostize()
qdel(src)
-
-
-//
-// Crate Mimic
-//
-
-
// Aggro when you try to open them. Will also pickup loot when spawns and drop it when dies.
/mob/living/simple_animal/hostile/mimic/crate
-
attacktext = "bites"
speak_emote = list("clatters")
-
stop_automated_movement = 1
wander = 0
var/attempt_open = 0
@@ -96,7 +84,6 @@
icon_state = initial(icon_state)
/mob/living/simple_animal/hostile/mimic/crate/death()
-
var/obj/structure/closet/crate/C = new(get_turf(src))
// Put loot in crate
for(var/obj/O in src)
@@ -113,21 +100,19 @@
C.visible_message("\The [src] knocks down \the [C]! ", \
"\The [src] knocks you down! ")
-//
-// Copy Mimic
-//
+
var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/cable, /obj/structure/window)
/mob/living/simple_animal/hostile/mimic/copy
-
health = 100
maxHealth = 100
var/mob/living/creator = null // the creator
var/destroy_objects = 0
var/knockdown_people = 0
+ gold_core_spawnable = 0
-/mob/living/simple_animal/hostile/mimic/copy/New(loc, var/obj/copy, var/mob/living/creator, var/destroy_original = 0)
+/mob/living/simple_animal/hostile/mimic/copy/New(loc, obj/copy, mob/living/creator, destroy_original = 0)
..(loc)
CopyObject(copy, creator, destroy_original)
@@ -137,13 +122,11 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca
death()
/mob/living/simple_animal/hostile/mimic/copy/death()
-
for(var/atom/movable/M in src)
M.loc = get_turf(src)
..()
/mob/living/simple_animal/hostile/mimic/copy/ListTargets()
- // Return a list of targets that isn't the creator
. = ..()
return . - creator
@@ -159,9 +142,7 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca
return 0
/mob/living/simple_animal/hostile/mimic/copy/proc/CopyObject(obj/O, mob/living/creator, destroy_original = 0)
-
if(destroy_original || CheckObject(O))
-
O.loc = src
name = O.name
desc = O.desc
@@ -169,7 +150,6 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca
icon_state = O.icon_state
icon_living = icon_state
overlays = O.overlays
-
if(istype(O, /obj/structure) || istype(O, /obj/machinery))
health = (anchored * 50) + 50
destroy_objects = 1
@@ -183,15 +163,13 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca
melee_damage_lower = 2 + I.force
melee_damage_upper = 2 + I.force
move_to_delay = 2 * I.w_class + 1
-
maxHealth = health
if(creator)
- src.creator = creator
+ creator = creator
faction += "\ref[creator]" // very unique
if(destroy_original)
qdel(O)
return 1
- return
/mob/living/simple_animal/hostile/mimic/copy/DestroySurroundings()
if(destroy_objects)
@@ -207,9 +185,7 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca
C.visible_message("\The [src] knocks down \the [C]! ", \
"\The [src] knocks you down! ")
-//
-// Machine Mimics (Made by Malf AI)
-//
+
/mob/living/simple_animal/hostile/mimic/copy/machine
speak = list("HUMANS ARE IMPERFECT!", "YOU SHALL BE ASSIMILATED!", "YOU ARE HARMING YOURSELF", "You have been deemed hazardous. Will you comply?", \
@@ -225,93 +201,57 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca
return 0
return ..()
-//
-//animated blasters, wands, etc
-//
+
/mob/living/simple_animal/hostile/mimic/copy/ranged
- name = "animated shooty gun"
- desc = "there's something fishy here."
- environment_smash = 0 //needed? seems weird for them to do so
- ranged = 1
- retreat_distance = 1 //just enough to shoot
- minimum_distance = 6
- projectiletype = /obj/item/projectile/magic/
- projectilesound = 'sound/items/bikehorn.ogg'
- casingtype = null
- emote_see = list("aims menacingly")
var/obj/item/weapon/gun/TrueGun = null
- var/obj/item/weapon/gun/magic/Zapstick = list()
- var/obj/item/weapon/gun/projectile/Pewgun = list()
- var/obj/item/weapon/gun/energy/Zapgun = list()
-
-/mob/living/simple_animal/hostile/mimic/copy/ranged/New(loc, var/obj/copy, var/mob/living/creator, var/destroy_original = 0)
- ..()
-
+ var/obj/item/weapon/gun/magic/Zapstick
+ var/obj/item/weapon/gun/projectile/Pewgun
+ var/obj/item/weapon/gun/energy/Zapgun
/mob/living/simple_animal/hostile/mimic/copy/ranged/CopyObject(obj/O, mob/living/creator, destroy_original = 0)
- if(destroy_original || CheckObject(O))
-
- O.loc = src
- name = O.name
- desc = O.desc
- icon = O.icon
- icon_state = O.icon_state
- icon_living = icon_state
-
- if(istype(O, /obj/item/weapon/gun)) //leaving for sanity i guess
- var/obj/item/weapon/gun/G = O
- health = 15 * G.w_class
- melee_damage_upper = G.force
- melee_damage_lower = G.force - max(0, (G.force / 2))
- move_to_delay = 2 * G.w_class + 1
- projectilesound = G.fire_sound
- TrueGun = G
-
- if(istype(G, /obj/item/weapon/gun/magic))
- Zapstick = G
- var/obj/item/ammo_casing/magic/Zapshot = new Zapstick.ammo_type //this is done because ammo_type.proj_type can't be directly checked
- projectiletype = Zapshot.projectile_type
- qdel(Zapshot) //is this needed? i dare not risk piles of nullspace bullets
-
- if(istype(G, /obj/item/weapon/gun/projectile))
- Pewgun = G
- var/obj/item/ammo_box/magazine/Pewmag = new Pewgun.mag_type //same problem, mag_type.ammo_type.proj_type can't be checked directly
- var/obj/item/ammo_casing/Pewshot = new Pewmag.ammo_type
- projectiletype = Pewshot.projectile_type
- casingtype = Pewmag.ammo_type
- qdel(Pewshot)
- qdel(Pewmag)
-
- if(istype(G, /obj/item/weapon/gun/energy))
- Zapgun = G
- var/selectfiresetting = Zapgun.select
- var/obj/item/ammo_casing/energy/Energyammotype = Zapgun.ammo_type[selectfiresetting]
- projectiletype = Energyammotype.projectile_type
-
- maxHealth = health
- if(creator)
- src.creator = creator
- faction += "\ref[creator]"
- if(destroy_original)
- qdel(O)
- return 1
- return
+ if(..())
+ emote_see = list("aims menacingly")
+ environment_smash = 0 //needed? seems weird for them to do so
+ ranged = 1
+ retreat_distance = 1 //just enough to shoot
+ minimum_distance = 6
+ var/obj/item/weapon/gun/G = O
+ melee_damage_upper = G.force
+ melee_damage_lower = G.force - max(0, (G.force / 2))
+ move_to_delay = 2 * G.w_class + 1
+ projectilesound = G.fire_sound
+ TrueGun = G
+ if(istype(G, /obj/item/weapon/gun/magic))
+ Zapstick = G
+ var/obj/item/ammo_casing/magic/M = Zapstick.ammo_type
+ projectiletype = initial(M.projectile_type)
+ if(istype(G, /obj/item/weapon/gun/projectile))
+ Pewgun = G
+ var/obj/item/ammo_box/magazine/M = Pewgun.mag_type
+ var/obj/item/ammo_casing/A = initial(M.ammo_type)
+ projectiletype = initial(A.projectile_type)
+ casingtype = initial(M.ammo_type)
+ if(istype(G, /obj/item/weapon/gun/energy))
+ Zapgun = G
+ var/selectfiresetting = Zapgun.select
+ var/obj/item/ammo_casing/energy/E = Zapgun.ammo_type[selectfiresetting]
+ projectiletype = initial(E.projectile_type)
/mob/living/simple_animal/hostile/mimic/copy/ranged/OpenFire(the_target)
if(Zapgun)
- if(Zapgun.power_supply) //sanity
+ if(Zapgun.power_supply)
var/obj/item/ammo_casing/energy/shot = Zapgun.ammo_type[Zapgun.select]
- if(Zapgun.power_supply.charge >= shot.e_cost) //if she can zap
+ if(Zapgun.power_supply.charge >= shot.e_cost)
Zapgun.power_supply.use(shot.e_cost)
Zapgun.update_icon()
- ..() //zap 'em
- if(Zapstick)
+ ..()
+ else if(Zapstick)
if(Zapstick.charges)
Zapstick.charges--
Zapstick.update_icon()
..()
- if(Pewgun)
+ else if(Pewgun)
if(Pewgun.chambered)
if(Pewgun.chambered.BB)
qdel(Pewgun.chambered.BB)
@@ -320,7 +260,7 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca
..()
else
visible_message("The [src] clears a jam! ")
- Pewgun.chambered.loc = src.loc //rip revolver immersions, blame shotgun snowflake procs
+ Pewgun.chambered.loc = loc //rip revolver immersions, blame shotgun snowflake procs
Pewgun.chambered = null
if(Pewgun.magazine && Pewgun.magazine.stored_ammo.len)
Pewgun.chambered = Pewgun.magazine.get_round(0)
@@ -330,11 +270,10 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca
Pewgun.chambered = Pewgun.magazine.get_round(0)
Pewgun.chambered.loc = Pewgun
visible_message("The [src] cocks itself! ")
-
- else //if somehow the mimic has no weapon
- src.ranged = 0 //BANZAIIII
- src.retreat_distance = 0
- src.minimum_distance = 1
- src.icon_state = TrueGun.icon_state
- src.icon_living = TrueGun.icon_state
- return
\ No newline at end of file
+ else
+ ranged = 0 //BANZAIIII
+ retreat_distance = 0
+ minimum_distance = 1
+ return
+ icon_state = TrueGun.icon_state
+ icon_living = TrueGun.icon_state
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm
index 7e01e2942ef..052dc76c46a 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm
@@ -17,7 +17,8 @@
/mob/living/simple_animal/hostile/asteroid/Aggro()
..()
- icon_state = icon_aggro
+ if(vision_range != aggro_vision_range)
+ icon_state = icon_aggro
/mob/living/simple_animal/hostile/asteroid/LoseAggro()
..()
@@ -42,7 +43,7 @@
..()
/mob/living/simple_animal/hostile/asteroid/death(gibbed)
- feedback_add_details("mobs_killed_mining","[src.name]")
+ feedback_add_details("mobs_killed_mining","[src.type]")
..(gibbed)
/mob/living/simple_animal/hostile/asteroid/basilisk
@@ -485,3 +486,131 @@
adjustBruteLoss(2)
else if(bodytemperature > maxbodytemp)
adjustBruteLoss(20)
+
+
+/mob/living/simple_animal/hostile/asteroid/fugu
+ name = "wumborian fugu"
+ desc = "The wumborian fugu rapidly increases its body mass in order to ward off its prey. Great care should be taken to avoid it while it's in this state as it is nearly invincible, but it cannot maintain its form forever."
+ icon = 'icons/mob/animal.dmi'
+ icon_state = "Fugu"
+ icon_living = "Fugu"
+ icon_aggro = "Fugu"
+ icon_dead = "Fugu_dead"
+ icon_gib = "syndicate_gib"
+ attack_sound = 'sound/weapons/punch4.ogg'
+ mouse_opacity = 2
+ move_to_delay = 5
+ friendly = "floats near"
+ speak_emote = list("puffs")
+ vision_range = 5
+ speed = 0
+ maxHealth = 50
+ health = 50
+ harm_intent_damage = 5
+ melee_damage_lower = 0
+ melee_damage_upper = 0
+ attacktext = "chomps"
+ attack_sound = 'sound/weapons/punch1.ogg'
+ throw_message = "is avoided by the"
+ aggro_vision_range = 9
+ idle_vision_range = 5
+ mob_size = MOB_SIZE_SMALL
+ environment_smash = 0
+ var/wumbo = 0
+ var/inflate_cooldown = 0
+
+/mob/living/simple_animal/hostile/asteroid/fugu/Life()
+ if(!wumbo)
+ inflate_cooldown = max((inflate_cooldown - 1), 0)
+ if(target && AIStatus == AI_ON)
+ Inflate()
+ ..()
+
+/mob/living/simple_animal/hostile/asteroid/fugu/adjustBruteLoss(var/damage)
+ if(wumbo)
+ return
+ ..()
+
+/mob/living/simple_animal/hostile/asteroid/fugu/Aggro()
+ ..()
+ Inflate()
+
+/mob/living/simple_animal/hostile/asteroid/fugu/verb/Inflate()
+ set name = "Inflate"
+ set category = "Fugu"
+ set desc = "Temporarily increases your size, and makes you significantly more dangerous and tough."
+ if(wumbo)
+ src << "You're already inflated. "
+ return
+ if(inflate_cooldown)
+ src << "We need time to gather our strength. "
+ return
+ if(buffed)
+ src << "Something is interfering with our growth. "
+ return
+ wumbo = 1
+ icon_state = "Fugu_big"
+ melee_damage_lower = 15
+ melee_damage_upper = 20
+ harm_intent_damage = 0
+ throw_message = "is absorbed by the girth of the"
+ retreat_distance = null
+ minimum_distance = 1
+ move_to_delay = 6
+ transform *= 2
+ environment_smash = 2
+ mob_size = MOB_SIZE_LARGE
+ speed = 1
+ spawn(100)
+ Deflate()
+
+/mob/living/simple_animal/hostile/asteroid/fugu/proc/Deflate()
+ if(wumbo)
+ walk(src, 0)
+ wumbo = 0
+ icon_state = "Fugu"
+ melee_damage_lower = 0
+ melee_damage_upper = 0
+ harm_intent_damage = 5
+ throw_message = "is avoided by the"
+ retreat_distance = 9
+ minimum_distance = 9
+ move_to_delay = 2
+ transform /= 2
+ inflate_cooldown = 4
+ environment_smash = 0
+ mob_size = MOB_SIZE_SMALL
+ speed = 0
+
+/mob/living/simple_animal/hostile/asteroid/fugu/death(gibbed)
+ Deflate()
+ var/obj/item/asteroid/fugu_gland/F = new /obj/item/asteroid/fugu_gland(src.loc)
+ F.layer = 4.1
+ ..(gibbed)
+
+/obj/item/asteroid/fugu_gland
+ name = "wumborian fugu gland"
+ desc = "The key to the wumborian fugu's ability to increase its mass arbitrarily, this disgusting remnant can apply the same effect to other creatures, giving them great strength."
+ icon = 'icons/obj/mining.dmi'
+ icon_state = "fugu_gland"
+ flags = NOBLUDGEON
+ w_class = 3
+ layer = 4
+ origin_tech = "biotech=6"
+ var/list/banned_mobs()
+
+/obj/item/asteroid/fugu_gland/afterattack(atom/target, mob/user, proximity_flag)
+ if(proximity_flag && istype(target, /mob/living/simple_animal))
+ var/mob/living/simple_animal/A = target
+ if(A.buffed || (A.type in banned_mobs) || A.stat)
+ user << "Something's interfering with the [src]'s effects. It's no use. "
+ return
+ A.buffed++
+ A.maxHealth *= 1.5
+ A.health = min(A.maxHealth,A.health*1.5)
+ A.melee_damage_lower = max((A.melee_damage_lower * 2), 10)
+ A.melee_damage_upper = max((A.melee_damage_upper * 2), 10)
+ A.transform *= 2
+ A.environment_smash += 2
+ user << "You increase the size of [A], giving it a surge of strength! "
+ qdel(src)
diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm
index 8ff2d451a10..d5b8135442b 100644
--- a/code/modules/mob/living/simple_animal/hostile/statue.dm
+++ b/code/modules/mob/living/simple_animal/hostile/statue.dm
@@ -16,6 +16,7 @@
speed = -1
maxHealth = 50000
health = 50000
+ healable = 0
harm_intent_damage = 70
melee_damage_lower = 68
@@ -44,6 +45,7 @@
var/cannot_be_seen = 1
var/mob/living/creator = null
+ gold_core_spawnable = 1
// No movement while seen code.
diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm
index 38987cf6d27..f04ded89b18 100644
--- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm
+++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm
@@ -132,8 +132,9 @@
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
mob_size = MOB_SIZE_TINY
- flying
+ flying = 1
speak_emote = list("states")
+ gold_core_spawnable = 1
/mob/living/simple_animal/hostile/viscerator/death(gibbed)
..(gibbed)
diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm
index 0acc9aad7ef..fa43d85572e 100644
--- a/code/modules/mob/living/simple_animal/hostile/tree.dm
+++ b/code/modules/mob/living/simple_animal/hostile/tree.dm
@@ -33,6 +33,7 @@
faction = list("hostile")
var/drop_type = /obj/item/stack/sheet/mineral/wood
+ gold_core_spawnable = 1
/mob/living/simple_animal/hostile/tree/AttackingTarget()
..()
diff --git a/code/modules/mob/living/simple_animal/morph/morph.dm b/code/modules/mob/living/simple_animal/morph/morph.dm
index e543a67193c..b8d9d8e3230 100644
--- a/code/modules/mob/living/simple_animal/morph/morph.dm
+++ b/code/modules/mob/living/simple_animal/morph/morph.dm
@@ -20,6 +20,7 @@
minbodytemp = 0
maxHealth = 150
health = 150
+ healable = 0
environment_smash = 1
melee_damage_lower = 20
melee_damage_upper = 20
diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm
index 41c36669023..f600071a076 100644
--- a/code/modules/mob/living/simple_animal/parrot.dm
+++ b/code/modules/mob/living/simple_animal/parrot.dm
@@ -56,6 +56,7 @@
friendly = "grooms"
mob_size = MOB_SIZE_SMALL
flying = 1
+ gold_core_spawnable = 2
var/parrot_damage_upper = 10
var/parrot_state = PARROT_WANDER //Hunt for a perch when created
@@ -809,6 +810,7 @@
name = "Poly"
desc = "Poly the Parrot. An expert on quantum cracker theory."
speak = list("Poly wanna cracker!", ":e Check the singlo, you chucklefucks!",":e Wire the solars, you lazy bums!",":e WHO TOOK THE DAMN HARDSUITS?",":e OH GOD ITS FREE CALL THE SHUTTLE")
+ gold_core_spawnable = 0
/mob/living/simple_animal/parrot/Poly/New()
ears = new /obj/item/device/radio/headset/headset_eng(src)
diff --git a/code/modules/mob/living/simple_animal/revenant/revenant.dm b/code/modules/mob/living/simple_animal/revenant/revenant.dm
index a59553b7832..1bb8c995e60 100644
--- a/code/modules/mob/living/simple_animal/revenant/revenant.dm
+++ b/code/modules/mob/living/simple_animal/revenant/revenant.dm
@@ -12,11 +12,13 @@
invisibility = INVISIBILITY_OBSERVER
health = 25
maxHealth = 25
+ healable = 0
see_invisible = SEE_INVISIBLE_OBSERVER
languages = ALL
response_help = "passes through"
response_disarm = "swings at"
response_harm = "punches through"
+ unsuitable_atmos_damage = 0
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
maxbodytemp = INFINITY
@@ -25,6 +27,7 @@
status_flags = 0
wander = 0
density = 0
+ flying = 1
anchored = 1
var/essence = 25 //The resource of revenants. Max health is equal to three times this amount
@@ -33,19 +36,16 @@
var/essence_regen_amount = 2 //How much essence regenerates
var/essence_min = 1 //The minimum amount of essence a revenant can have; by default, it never drops below one
var/essence_accumulated = 0 //How much essence the revenant has stolen
- var/strikes = 0 //How many times a revenant can die before dying for good
var/revealed = 0 //If the revenant can take damage from normal sources.
var/inhibited = 0 //If the revenant's abilities are blocked by a chaplain's power.
+ var/essence_drained = 0 //How much essence the revenant has drained.
+ var/draining = 0 //If the revenant is draining someone.
+ var/list/drained_mobs = list() //Cannot harvest the same mob twice
/mob/living/simple_animal/revenant/Life()
..()
if(essence < essence_min)
essence = essence_min
- if(strikes > 0)
- strikes--
- src << "Your essence has dropped below critical levels. You barely manage to save yourself - [strikes ? "you can't keep this up!" : "next time, it's death."] "
- else if(strikes <= 0)
- death()
if(essence_regenerating && !inhibited && essence < essence_regen_cap) //While inhibited, essence will not regenerate
essence += essence_regen_amount
if(essence > essence_regen_cap)
@@ -57,6 +57,9 @@
/mob/living/simple_animal/revenant/ex_act(severity, target)
return 1 //Immune to the effects of explosions.
+/mob/living/simple_animal/revenant/blob_act()
+ return //blah blah blobs aren't in tune with the spirit world, or something.
+
/mob/living/simple_animal/revenant/ClickOn(atom/A, params) //Copypaste from ghost code - revenants can't interact with the world directly.
if(client.buildmode)
build_click(src, client.buildmode, params, A)
@@ -79,6 +82,72 @@
if(world.time <= next_move)
return
A.attack_ghost(src)
+ if(ishuman(A) && in_range(src, A))
+ Harvest(A)
+
+
+/mob/living/simple_animal/revenant/proc/Harvest(mob/living/carbon/human/target)
+ if(!castcheck(0))
+ return
+ if(draining)
+ src << "You are already siphoning the essence of a soul! "
+ return
+ if(target in drained_mobs)
+ src << "[target]'s soul is dead and empty. "
+ return
+ if(!target.stat)
+ src << "This being's soul is too strong to harvest. "
+ if(prob(10))
+ target << "You feel as if you are being watched."
+ return
+ draining = 1
+ essence_drained = 2
+ src << "You search for the soul of [target]. "
+ if(do_after(src, 10, 3, 0, target)) //did they get deleted in that second?
+ if(target.ckey)
+ src << "Their soul burns with intelligence. "
+ essence_drained += 2
+ if(target.stat != DEAD)
+ src << "Their soul blazes with life! "
+ essence_drained += 2
+ else
+ src << "Their soul is weak and faltering. "
+ if(do_after(src, 20, 6, 0, target)) //did they get deleted NOW?
+ switch(essence_drained)
+ if(1 to 2)
+ src << "[target] will not yield much essence. Still, every bit counts. "
+ if(3 to 4)
+ src << "[target] will yield an average amount of essence. "
+ if(5 to INFINITY)
+ src << "Such a feast! [target] will yield much essence to you. "
+ if(do_after(src, 30, 9, 0, target)) //how about now
+ if(!target.stat)
+ src << "They are now powerful enough to fight off your draining. "
+ target << "You feel something tugging across your body before subsiding. "
+ draining = 0
+ return //hey, wait a minute...
+ src << "You begin siphoning essence from [target]'s soul. "
+ if(target.stat != DEAD)
+ target << "You feel a horribly unpleasant draining sensation as your grip on life weakens... "
+ icon_state = "revenant_draining"
+ reveal(65)
+ stun(65)
+ target.visible_message("[target] suddenly rises slightly into the air, their skin turning an ashy gray. ")
+ target.Beam(src,icon_state="drain_life",icon='icons/effects/effects.dmi',time=60)
+ if(target) //As one cannot prove the existance of ghosts, ghosts cannot prove the existance of the target they were draining.
+ change_essence_amount(essence_drained * 5, 0, target)
+ src << "[target]'s soul has been considerably weakened and will yield no more essence for the time being. "
+ target.visible_message("[target] gently slumps back onto the ground. ")
+ drained_mobs.Add(target)
+ target.death(0)
+ icon_state = "revenant_idle"
+ else
+ src << "You are not close enough to siphon [target]'s soul. The link has been broken. "
+ draining = 0
+ return
+ draining = 0
+ return
+
/mob/living/simple_animal/revenant/say(message)
return 0 //Revenants cannot speak out loud.
@@ -113,25 +182,12 @@
src.mind.objectives += objective2
src << "Objective #2 : [objective2.explanation_text]"
ticker.mode.traitors |= src.mind //Necessary for announcing
- if(!src.giveSpells())
- message_admins("Revenant was created but has no mind. Trying again in five seconds.")
- spawn(50)
- if(!src.giveSpells())
- message_admins("Revenant still has no mind. Deleting...")
- qdel(src)
-
-/mob/living/simple_animal/revenant/proc/giveSpells()
- if(src.mind)
- src.mind.spell_list += new /obj/effect/proc_holder/spell/targeted/revenant_harvest
- src.mind.spell_list += new /obj/effect/proc_holder/spell/targeted/revenant_transmit
- src.mind.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/revenant_light
- src.mind.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/revenant_defile
- return 1
- return 0
+ mob_spell_list += new /obj/effect/proc_holder/spell/targeted/revenant_transmit
+ mob_spell_list += new /obj/effect/proc_holder/spell/aoe_turf/revenant_light
+ mob_spell_list += new /obj/effect/proc_holder/spell/aoe_turf/revenant_defile
+ mob_spell_list += new /obj/effect/proc_holder/spell/aoe_turf/revenant_malf
/mob/living/simple_animal/revenant/death()
- if(strikes)
- return 0 //Impossible to die with strikes still active
..(1)
src << "NO! No... it's too late, you can feel yourself fading... "
notransform = 1
@@ -151,7 +207,6 @@
/mob/living/simple_animal/revenant/attackby(obj/item/W, mob/living/user, params)
- ..()
if(istype(W, /obj/item/weapon/nullrod))
visible_message("[src] violently flinches! ", \
"As the null rod passes through you, you feel your essence draining away! ")
@@ -159,62 +214,70 @@
inhibited = 1
spawn(30)
inhibited = 0
-
+ ..()
/mob/living/simple_animal/revenant/proc/castcheck(essence_cost)
- var/mob/living/simple_animal/revenant/user = usr
- if(!istype(user) || !user)
+ if(!src)
return
- var/turf/T = get_turf(usr)
+ var/turf/T = get_turf(src)
if(istype(T, /turf/simulated/wall))
- user << "You cannot use abilities from inside of a wall. "
+ src << "You cannot use abilities from inside of a wall. "
return 0
- if(!user.change_essence_amount(essence_cost, 1))
- user << "You lack the essence to use that ability. "
+ if(src.inhibited)
+ src << "Your powers have been suppressed by nulling energy! "
return 0
- if(user.inhibited)
- user << "Your powers have been suppressed by nulling energy! "
+ if(!src.change_essence_amount(essence_cost, 1))
+ src << "You lack the essence to use that ability. "
return 0
return 1
/mob/living/simple_animal/revenant/proc/change_essence_amount(essence_amt, silent = 0, source = null)
- var/mob/living/simple_animal/revenant/user = usr
- if(!istype(usr) || !usr)
+ if(!src)
return
- if(user.essence + essence_amt <= 0)
+ if(essence + essence_amt <= 0)
return
- user.essence += essence_amt
- user.essence = max(0, user.essence)
+ essence += essence_amt
+ essence = max(0, essence)
if(essence_amt > 0)
- user.essence_accumulated += essence_amt
- user.essence_accumulated = max(0, user.essence_accumulated)
+ essence_accumulated += essence_amt
+ essence_accumulated = max(0, essence_accumulated)
if(!silent)
if(essence_amt > 0)
- user << "Gained [essence_amt]E from [source]. "
+ src << "Gained [essence_amt]E from [source]. "
else
- user << "Lost [essence_amt]E from [source]. "
+ src << "Lost [essence_amt]E from [source]. "
return 1
-/mob/living/simple_animal/revenant/proc/reveal(time, stun)
- var/mob/living/simple_animal/revenant/R = usr
- if(!istype(usr) || !usr)
+/mob/living/simple_animal/revenant/proc/reveal(time)
+ if(!src)
return
- R.revealed = 1
- R.invisibility = 0
- if(stun)
- R.notransform = 1
- R << "You have been revealed[stun ? " and cannot move" : ""]. "
+ if(time <= 0)
+ return
+ revealed = 1
+ invisibility = 0
+ src << "You have been revealed. "
spawn(time)
- R.revealed = 0
- R.invisibility = INVISIBILITY_OBSERVER
- if(stun)
- R.notransform = 0
- R << "You are once more concealed[stun ? " and can move again" : ""]. "
+ revealed = 0
+ invisibility = INVISIBILITY_OBSERVER
+ src << "You are once more concealed. "
+
+/mob/living/simple_animal/revenant/proc/stun(time)
+ if(!src)
+ return
+ if(time <= 0)
+ return
+ notransform = 1
+ src << "You cannot move! "
+ spawn(time)
+ notransform = 0
+ src << "You can move again! "
+
+
/datum/objective/revenant
dangerrating = 10
diff --git a/code/modules/mob/living/simple_animal/revenant/revenant_abilities.dm b/code/modules/mob/living/simple_animal/revenant/revenant_abilities.dm
index 40dea02e25d..6de716e3180 100644
--- a/code/modules/mob/living/simple_animal/revenant/revenant_abilities.dm
+++ b/code/modules/mob/living/simple_animal/revenant/revenant_abilities.dm
@@ -1,101 +1,14 @@
-//Harvest Essence: The bread and butter of the revenant. The basic way of harvesting additional essence.
-/obj/effect/proc_holder/spell/targeted/revenant_harvest
- name = "Harvest (0E)"
- desc = "Siphons the lingering spectral essence from a human, empowering yourself."
- panel = "Revenant Abilities"
- charge_max = 100 //Short cooldown
- clothes_req = 0
- range = 1
- var/essence_drained = 0
- var/draining
- var/list/drained_mobs = list() //Cannot harvest the same mob twice
-
-/obj/effect/proc_holder/spell/targeted/revenant_harvest/cast(list/targets, mob/living/simple_animal/revenant/user = usr)
- if(!user.castcheck(0))
- charge_counter = charge_max
- return
- for(var/mob/living/carbon/human/target in targets)
- spawn(0)
- if(draining)
- user << "You are already siphoning the essence of a soul! "
- charge_counter = charge_max
- return
- if(target in drained_mobs)
- user << "[target]'s soul is dead and empty. "
- charge_counter = charge_max
- return
- if(!target.stat)
- user << "This being's soul is too strong to harvest. "
- if(prob(10))
- target << "You feel as if you are being watched."
- return
- draining = 1
- essence_drained = 2
- user << "You search for the soul of [target]. "
- sleep(10)
- if(target.ckey)
- user << "Their soul burns with intelligence. "
- essence_drained += 2
- if(target.stat != DEAD)
- user << "Their soul blazes with life! "
- essence_drained += 2
- else
- user << "Their soul is weak and faltering. "
- sleep(20)
- switch(essence_drained)
- if(1 to 2)
- user << "[target] will not yield much essence. Still, every bit counts. "
- if(3 to 4)
- user << "[target] will yield an average amount of essence. "
- if(5 to INFINITY)
- user << "Such a feast! [target] will yield much essence to you. "
- sleep(30)
- if(!in_range(user, target))
- user << "You are not close enough to siphon [target]'s soul. The link has been broken. "
- draining = 0
- return
- if(!target.stat)
- user << "They are now powerful enough to fight off your draining. "
- target << "You feel something tugging across your body before subsiding. "
- user << "You begin siphoning essence from [target]'s soul. "
- if(target.stat != DEAD)
- target << "You feel a horribly unpleasant draining sensation as your grip on life weakens... "
- user.icon_state = "revenant_draining"
- user.reveal(65,1)
- target.visible_message("[target] suddenly rises slightly into the air, their skin turning an ashy gray. ")
- target.Beam(user,icon_state="drain_life",icon='icons/effects/effects.dmi',time=60)
- target.death(0)
- target.visible_message("[target] gently slumps back onto the ground. ")
- user.icon_state = "revenant_idle"
- user.change_essence_amount(essence_drained * 5, 0, target)
- user << "[target]'s soul has been considerably weakened and will yield no more essence for the time being. "
- drained_mobs.Add(target)
- draining = 0
-
-
//Transmit: the revemant's only direct way to communicate. Sends a single message silently to a single mob for 5E.
/obj/effect/proc_holder/spell/targeted/revenant_transmit
- name = "Transmit (5E)"
+ name = "Transmit"
desc = "Telepathically transmits a message to the target."
- panel = "Revenant Abilities (Locked)"
- charge_max = 50
+ panel = "Revenant Abilities"
+ charge_max = 0
clothes_req = 0
- range = -1
- include_user = 1
- var/locked = 1
+ range = 7
+ include_user = 0
/obj/effect/proc_holder/spell/targeted/revenant_transmit/cast(list/targets, mob/living/simple_animal/revenant/user = usr)
- if(!user.castcheck(-5))
- charge_counter = charge_max
- return
- if(locked)
- usr << "You have unlocked Transmit! "
- locked = 0
- charge_counter = charge_max
- panel = "Revenant Abilities"
- range = 7
- include_user = 0
- return
for(var/mob/living/M in targets)
spawn(0)
var/msg = stripped_input(usr, "What do you wish to tell [M]?", null, "")
@@ -114,6 +27,8 @@
charge_max = 200
clothes_req = 0
range = 1
+ var/reveal = 80
+ var/stun = 20
var/locked = 1
/obj/effect/proc_holder/spell/aoe_turf/revenant_light/cast(list/targets, mob/living/simple_animal/revenant/user = usr)
@@ -125,7 +40,7 @@
name = "Overload Lights (20E)"
panel = "Revenant Abilities"
locked = 0
- range = 5
+ range = 6
charge_counter = charge_max
return
if(!user.castcheck(-20))
@@ -138,36 +53,46 @@
if(!L.on)
return
L.visible_message("\The [L] suddenly flares brightly and begins to spark! ")
- sleep(20)
+ sleep(10)
+ var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ s.set_up(4, 1, L)
+ s.start()
+ sleep(10)
for(var/mob/living/M in orange(4, L))
if(M == user)
return
M.Beam(L,icon_state="lightning",icon='icons/effects/effects.dmi',time=5)
M.electrocute_act(25, "[L.name]")
+ var/datum/effect/effect/system/spark_spread/z = new /datum/effect/effect/system/spark_spread
+ z.set_up(4, 1, M)
+ z.start()
playsound(M, 'sound/machines/defib_zap.ogg', 50, 1, -1)
- user.reveal(80)
+ user.reveal(reveal)
+ user.stun(stun)
//Defile: Corrupts nearby stuff, unblesses floor tiles.
/obj/effect/proc_holder/spell/aoe_turf/revenant_defile
- name = "Defile (40E)"
- desc = "Twists and corrupts certain nearby objects. Also dispels holy auras on floors, but not salt lines."
+ name = "Defile (35E)"
+ desc = "Twists and corrupts the nearby area. Also dispels holy auras on floors, but not salt lines."
panel = "Revenant Abilities (Locked)"
charge_max = 200
clothes_req = 0
range = 1
+ var/reveal = 100
+ var/stun = 20
var/locked = 1
/obj/effect/proc_holder/spell/aoe_turf/revenant_defile/cast(list/targets, mob/living/simple_animal/revenant/user = usr)
if(locked)
- if(!user.castcheck(-40))
+ if(!user.castcheck(-35))
charge_counter = charge_max
return
user << "You have unlocked Defile! "
name = "Defile (20E)"
panel = "Revenant Abilities"
locked = 0
- range = 4
+ range = 3
charge_counter = charge_max
return
if(!user.castcheck(-20))
@@ -177,22 +102,58 @@
spawn(0)
if(T.flags & NOJAUNT)
T.flags -= NOJAUNT
- for(var/obj/machinery/bot/bot in T.contents)
- bot.locked = 0
- bot.open = 1
- bot.emagged = 2
- bot.Emag(null)
+ if(!istype(T, /turf/simulated/wall/cult) && istype(T, /turf/simulated/wall) && prob(40))
+ T.ChangeTurf(/turf/simulated/wall/cult)
+ if(!istype(T, /turf/simulated/floor/engine/cult) && istype(T, /turf/simulated/floor) && prob(40))
+ T.ChangeTurf(/turf/simulated/floor/engine/cult)
for(var/mob/living/carbon/human/human in T.contents)
human << "You suddenly feel tired. "
- human.adjustStaminaLoss(50)
- for(var/mob/living/silicon/robot/robot in T.contents)
- robot.visible_message("[robot] lets out an alarm! ", \
- "01001111 01010110 01000101 01010010 01001100 01001111 01000001 01000100 ") //Translates to "OVERLOAD"
- robot << 'sound/misc/interference.ogg'
- robot.emp_act(2)
- playsound(robot, 'sound/machines/warning-buzzer.ogg', 50, 1)
+ human.adjustStaminaLoss(35)
for(var/obj/structure/window/window in T.contents)
- window.hit(rand(50,200))
+ window.hit(rand(50,125))
for(var/obj/machinery/light/light in T.contents)
light.flicker() //spooky
- user.reveal(100)
+ user.reveal(reveal)
+ user.stun(stun)
+
+
+//Malfunction: Makes bad stuff happen to robots and machines.
+/obj/effect/proc_holder/spell/aoe_turf/revenant_malf
+ name = "Malfunction (50E)"
+ desc = "Corrupts and damages nearby machines and mechanical objects."
+ panel = "Revenant Abilities (Locked)"
+ charge_max = 150
+ clothes_req = 0
+ range = 1
+ var/reveal = 60
+ var/stun = 30
+ var/locked = 1
+
+/obj/effect/proc_holder/spell/aoe_turf/revenant_malf/cast(list/targets, mob/living/simple_animal/revenant/user = usr)
+ if(locked)
+ if(!user.castcheck(-50))
+ charge_counter = charge_max
+ return
+ user << "You have unlocked Malfunction! "
+ name = "Malfunction (15E)"
+ panel = "Revenant Abilities"
+ locked = 0
+ range = 4
+ charge_counter = charge_max
+ return
+ if(!user.castcheck(-15))
+ charge_counter = charge_max
+ return
+ for(var/turf/T in targets)
+ spawn(0)
+ for(var/obj/machinery/bot/bot in T.contents)
+ if(!bot.emagged)
+ bot.locked = 0
+ bot.open = 1
+ bot.Emag(null)
+ for(var/obj/machinery/mach in T.contents)
+ if(prob(10))
+ mach.emag_act(null)
+ empulse(user.loc, 3, 5)
+ user.reveal(reveal)
+ user.stun(stun)
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/revenant/revenant_spawn_event.dm b/code/modules/mob/living/simple_animal/revenant/revenant_spawn_event.dm
index b89653728ab..0cb19dab3da 100644
--- a/code/modules/mob/living/simple_animal/revenant/revenant_spawn_event.dm
+++ b/code/modules/mob/living/simple_animal/revenant/revenant_spawn_event.dm
@@ -3,9 +3,9 @@
/datum/round_event_control/revenant
name = "Spawn Revenant"
typepath = /datum/round_event/revenant
- weight = 30
+ weight = 7
max_occurrences = 3
- earliest_start = 3000 //Meant to mix things up early-game.
+ earliest_start = 6000 //Meant to mix things up early-game.
/datum/round_event/revenant
diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm
index cb43847c32c..a7fabaed8d2 100644
--- a/code/modules/mob/living/simple_animal/shade.dm
+++ b/code/modules/mob/living/simple_animal/shade.dm
@@ -7,6 +7,7 @@
icon_living = "shade"
maxHealth = 50
health = 50
+ healable = 0
speak_emote = list("hisses")
emote_hear = list("wails.","screeches.")
response_help = "puts their hand through"
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index 64a70739e32..e783b47f745 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -34,6 +34,9 @@
var/minbodytemp = 250
var/maxbodytemp = 350
+ //Healable by medical stacks? Defaults to yes.
+ var/healable = 1
+
//Atmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage
var/list/atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) //Leaving something at 0 means it's off - has no maximum
var/unsuitable_atmos_damage = 2 //This damage is taken when atmos doesn't fit all the requirements above
@@ -41,6 +44,8 @@
//LETTING SIMPLE ANIMALS ATTACK? WHAT COULD GO WRONG. Defaults to zero so Ian can still be cuddly
var/melee_damage_lower = 0
var/melee_damage_upper = 0
+ var/melee_damage_type = BRUTE //Damage type of a simple mob's melee attack, should it do damage.
+ var/list/ignored_damage_types = list(BRUTE = 0, BURN = 0, TOX = 0, CLONE = 0, STAMINA = 1, OXY = 0) //Set 0 to receive that damage type, 1 to ignore
var/attacktext = "attacks"
var/attack_sound = null
var/friendly = "nuzzles" //If the mob does no damage with it's attack
@@ -57,6 +62,9 @@
var/obj/item/weapon/card/id/access_card = null //innate access uses an internal ID card
var/flying = 0 //whether it's flying or touching the ground.
+ var/buffed = 0 //In the event that you want to have a buffing effect on the mob, but don't want it to stack with other effects, any outside force that applies a buff to a simple mob should at least set this to 1, so we have something to check against
+ var/gold_core_spawnable = 0 //if 1 can be spawned by plasma with gold core, 2 are 'friendlies' spawned with blood
+
/mob/living/simple_animal/New()
..()
verbs -= /mob/verb/observe
@@ -250,7 +258,7 @@
/mob/living/simple_animal/attack_animal(mob/living/simple_animal/M)
if(..())
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
- attack_threshold_check(damage)
+ attack_threshold_check(damage,M.melee_damage_type)
return 1
/mob/living/simple_animal/bullet_act(obj/item/projectile/Proj)
@@ -260,8 +268,21 @@
Proj.on_hit(src)
return 0
+/mob/living/simple_animal/adjustBruteLoss(amount)
+ if(!ignored_damage_types[BRUTE])
+ ..()
+
/mob/living/simple_animal/adjustFireLoss(amount)
- adjustBruteLoss(amount)
+ if(!ignored_damage_types[BURN])
+ adjustBruteLoss(amount)
+
+/mob/living/simple_animal/adjustToxLoss(amount)
+ if(!ignored_damage_types[TOX])
+ ..(amount)
+
+/mob/living/simple_animal/adjustCloneLoss(amount)
+ if(!ignored_damage_types[CLONE])
+ ..(amount)
/mob/living/simple_animal/adjustStaminaLoss(amount)
return
@@ -331,8 +352,8 @@
attack_threshold_check(damage)
return 1
-/mob/living/simple_animal/proc/attack_threshold_check(damage)
- if(damage <= force_threshold)
+/mob/living/simple_animal/proc/attack_threshold_check(damage, damagetype = BRUTE)
+ if(damage <= force_threshold || ignored_damage_types[damagetype])
visible_message("[src] looks unharmed. ")
else
adjustBruteLoss(damage)
@@ -343,29 +364,6 @@
if(O.flags & NOBLUDGEON)
return
- if(istype(O, /obj/item/stack/medical))
- user.changeNext_move(CLICK_CD_MELEE)
- if(stat != DEAD)
- var/obj/item/stack/medical/MED = O
- if(health < maxHealth)
- if(MED.amount >= 1)
- if(MED.heal_brute >= 1)
- adjustBruteLoss(-MED.heal_brute)
- MED.amount -= 1
- if(MED.amount <= 0)
- qdel(MED)
- visible_message("[user] applies [MED] on [src]. ")
- return
- else
- user << "[MED] won't help at all. "
- return
- else
- user << "[src] is at full health. "
- return
- else
- user << "[src] is dead, medical items won't bring it back to life. "
- return
-
if((butcher_results) && (stat == DEAD))
user.changeNext_move(CLICK_CD_MELEE)
var/sharpness = is_sharp(O)
diff --git a/code/modules/mob/living/simple_animal/slaughter/slaughter.dm b/code/modules/mob/living/simple_animal/slaughter/slaughter.dm
index ff0c9866215..cae68cbd87b 100644
--- a/code/modules/mob/living/simple_animal/slaughter/slaughter.dm
+++ b/code/modules/mob/living/simple_animal/slaughter/slaughter.dm
@@ -23,6 +23,7 @@
attacktext = "wildly tears into"
maxHealth = 200
health = 200
+ healable = 0
environment_smash = 1
melee_damage_lower = 30
melee_damage_upper = 30
diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm
index 6c2582fe005..045b5c31410 100644
--- a/code/modules/mob/living/simple_animal/slime/slime.dm
+++ b/code/modules/mob/living/simple_animal/slime/slime.dm
@@ -24,6 +24,7 @@
maxHealth = 150
health = 150
+ healable = 0
gender = NEUTER
nutrition = 700
diff --git a/code/modules/mob/living/simple_animal/worm.dm b/code/modules/mob/living/simple_animal/worm.dm
index 273d14d2c90..f17d5a6ad9a 100644
--- a/code/modules/mob/living/simple_animal/worm.dm
+++ b/code/modules/mob/living/simple_animal/worm.dm
@@ -168,7 +168,7 @@
if(die)
newHead.Die()
- del(src)
+ qdel(src)
proc/ProcessStomach()
for(var/atom/movable/stomachContent in contents)
@@ -177,16 +177,16 @@
if(!istype(stomachContent,/obj/item/stack/sheet/mineral/plasma))
var/obj/item/stack/oldStack = stomachContent
new /obj/item/stack/sheet/mineral/plasma(src, oldStack.amount)
- del(oldStack)
+ qdel(oldStack)
continue
else if(istype(stomachContent,/obj/item)) //converts to plasma, keeping the w_class
var/obj/item/oldItem = stomachContent
new /obj/item/stack/sheet/mineral/plasma(src, oldItem.w_class)
- del(oldItem)
+ qdel(oldItem)
continue
else
new /obj/item/stack/sheet/mineral/plasma(src, flatPlasmaValue) //just flat amount
- del(stomachContent)
+ qdel(stomachContent)
continue
if(previous)
diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm
index c6b61942361..f262ddefc1f 100644
--- a/code/modules/mob/login.dm
+++ b/code/modules/mob/login.dm
@@ -30,7 +30,7 @@
client.images = null //remove the images such as AIs being unable to see runes
client.screen = list() //remove hud items just in case
- if(hud_used) del(hud_used) //remove the hud objects
+ if(hud_used) qdel(hud_used) //remove the hud objects
hud_used = new /datum/hud(src)
next_move = 1
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 3c0e579eb5f..e5dd2c589dc 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -376,7 +376,7 @@ var/list/slot_equipment_priority = list( \
//this and stop_pulling really ought to be /mob/living procs
/mob/proc/start_pulling(atom/movable/AM)
- if ( !AM || !src || src==AM || !isturf(src.loc) ) //if there's no person pulling OR the person is pulling themself OR the object being pulled is inside something: abort!
+ if ( !AM || !src || src==AM || !isturf(AM.loc) ) //if there's no person pulling OR the person is pulling themself OR the object being pulled is inside something: abort!
return
if (!( AM.anchored ))
AM.add_fingerprint(src)
@@ -975,4 +975,4 @@ var/list/slot_equipment_priority = list( \
//override to avoid rotating pixel_xy on mobs
/mob/shuttleRotate(rotation)
- dir = angle2dir(rotation+dir2angle(dir))
\ No newline at end of file
+ dir = angle2dir(rotation+dir2angle(dir))
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index 265a428ba71..51fd9bece6f 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -83,7 +83,7 @@
var/a_intent = "help"//Living
var/m_intent = "run"//Living
var/lastKnownIP = null
- var/obj/structure/stool/bed/buckled = null//Living
+ var/obj/buckled = null//Living
var/obj/item/l_hand = null//Living
var/obj/item/r_hand = null//Living
var/obj/item/weapon/storage/s_active = null//Carbon
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index 857b7f35181..c53fa9b1d3a 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -125,6 +125,11 @@
return 1
return 0
+/proc/isswarmer(A)
+ if(istype(A, /mob/living/simple_animal/hostile/swarmer))
+ return 1
+ return 0
+
/proc/islimb(A)
if(istype(A, /obj/item/organ/limb))
return 1
diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm
index 107502ce151..c7a1f0f143d 100644
--- a/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm
@@ -18,7 +18,7 @@ Contents:
U << "You don't have enough power to enable Stealth! "
return
s_active=!s_active
- animate(U, U.alpha = 0,time = 15)
+ animate(U, alpha = 0,time = 15)
U.visible_message("[U.name] vanishes into thin air! ", \
"You are now invisible to normal detection. ")
return
@@ -30,7 +30,7 @@ Contents:
return 0
if(s_active)
s_active=!s_active
- animate(U, U.alpha = 255, time = 15)
+ animate(U, alpha = 255, time = 15)
U.visible_message("[U.name] appears from thin air! ", \
"You are now visible. ")
return 1
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index cc411f25092..5a04c7fad26 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -152,7 +152,7 @@
area.power_change()
if(occupier)
malfvacate(1)
- del(wires)
+ qdel(wires)
if(cell)
qdel(cell)
if(terminal)
@@ -398,7 +398,7 @@
user.visible_message(\
"[user.name] has removed the power control board from [src.name]!",\
"You remove the power control board. ")
- new /obj/item/weapon/module/power_control(loc)
+ new /obj/item/weapon/electronics/apc(loc)
else if (opened!=2) //cover isn't removed
opened = 0
update_icon()
@@ -496,7 +496,7 @@
else if (istype(W, /obj/item/weapon/wirecutters) && terminal && opened && has_electronics!=2)
terminal.dismantle(user)
- else if (istype(W, /obj/item/weapon/module/power_control) && opened && has_electronics==0 && !((stat & BROKEN) || malfhack))
+ else if (istype(W, /obj/item/weapon/electronics/apc) && opened && has_electronics==0 && !((stat & BROKEN) || malfhack))
user.visible_message("[user.name] inserts the power control board into [src].", \
"You start to insert the power control board into the frame... ")
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
@@ -505,7 +505,7 @@
has_electronics = 1
user << "You place the power control board inside the frame. "
qdel(W)
- else if (istype(W, /obj/item/weapon/module/power_control) && opened && has_electronics==0 && ((stat & BROKEN) || malfhack))
+ else if (istype(W, /obj/item/weapon/electronics/apc) && opened && has_electronics==0 && ((stat & BROKEN) || malfhack))
user << "You cannot put the board inside, the frame is damaged! "
return
else if (istype(W, /obj/item/weapon/weldingtool) && opened && has_electronics==0 && !terminal)
@@ -525,13 +525,13 @@
"[user.name] has cut [src] apart with [W].",\
"You disassembled the broken APC frame. ")
else
- new /obj/item/apc_frame(loc)
+ new /obj/item/wallframe/apc(loc)
user.visible_message(\
"[user.name] has cut [src] from the wall with [W].",\
"You cut the APC frame from the wall. ")
qdel(src)
return
- else if (istype(W, /obj/item/apc_frame) && opened && emagged)
+ else if (istype(W, /obj/item/wallframe/apc) && opened && emagged)
emagged = 0
if (opened==2)
opened = 1
@@ -540,7 +540,7 @@
"You replace the damaged APC frontal panel with a new one. ")
qdel(W)
update_icon()
- else if (istype(W, /obj/item/apc_frame) && opened && ((stat & BROKEN) || malfhack))
+ else if (istype(W, /obj/item/wallframe/apc) && opened && ((stat & BROKEN) || malfhack))
if (has_electronics)
user << "You cannot repair this APC until you remove the electronics still inside! "
return
@@ -1232,15 +1232,7 @@
#undef APC_UPDATE_ICON_COOLDOWN
/*Power module, used for APC construction*/
-/obj/item/weapon/module
- icon = 'icons/obj/module.dmi'
- icon_state = "std_module"
- w_class = 2.0
- item_state = "electronic"
- flags = CONDUCT
-
-
-/obj/item/weapon/module/power_control
+/obj/item/weapon/electronics/apc
name = "power control module"
icon_state = "power_mod"
desc = "Heavy-duty switching circuits for power control."
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 4e380448a3f..02c9e1adfca 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -432,12 +432,15 @@ By design, d1 is the smallest direction and d2 is the highest
P.disconnect_from_network() //remove from current network (and delete powernet)
return
+ var/obj/O = P_list[1]
// remove the cut cable from its turf and powernet, so that it doesn't get count in propagate_network worklist
loc = null
powernet.remove_cable(src) //remove the cut cable from its powernet
- var/datum/powernet/newPN = new()// creates a new powernet...
- propagate_network(P_list[1], newPN)//... and propagates it to the other side of the cable
+ spawn(0) //so we don't rebuild the network X times when singulo/explosion destroys a line of X cables
+ if(O && !qdeleted(O))
+ var/datum/powernet/newPN = new()// creates a new powernet...
+ propagate_network(O, newPN)//... and propagates it to the other side of the cable
// Disconnect machines connected to nodes
if(d1 == 0) // if we cut a node (O-X) cable
diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm
index b99735503ee..152e160e7c9 100644
--- a/code/modules/power/cell.dm
+++ b/code/modules/power/cell.dm
@@ -43,7 +43,7 @@
if(charge < amount) return 0
charge = (charge - amount)
if(!istype(loc, /obj/machinery/power/apc))
- feedback_add_details("cell_used","[src.name]")
+ feedback_add_details("cell_used","[src.type]")
return 1
// recharge the cell
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index 145f2b2ba84..25f1bb088c1 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -11,61 +11,20 @@
-/obj/item/light_fixture_frame
+/obj/item/wallframe/light_fixture
name = "light fixture frame"
desc = "Used for building lights."
icon = 'icons/obj/lighting.dmi'
icon_state = "tube-construct-item"
- flags = CONDUCT
- var/fixture_type = "tube"
- var/obj/machinery/light/newlight = null
- var/sheets_refunded = 2
+ result_path = /obj/machinery/light_construct
+ inverse = 1
-/obj/item/light_fixture_frame/attackby(obj/item/weapon/W, mob/user, params)
- if (istype(W, /obj/item/weapon/wrench))
- new /obj/item/stack/sheet/metal( get_turf(src.loc), sheets_refunded )
- qdel(src)
- return
- ..()
-
-/obj/item/light_fixture_frame/proc/try_build(turf/on_wall)
- if (get_dist(on_wall,usr)>1)
- return
- var/ndir = get_dir(usr,on_wall)
- if (!(ndir in cardinal))
- return
- var/turf/loc = get_turf(usr)
- if (!istype(loc, /turf/simulated/floor))
- usr << "[src.name] cannot be placed on this spot! "
- return
- usr << "You begin attaching [src] to the wall... "
- playsound(src.loc, 'sound/machines/click.ogg', 75, 1)
- var/constrdir = usr.dir
- var/constrloc = usr.loc
- if (!do_after(usr, 30, target = src))
- return
- switch(fixture_type)
- if("bulb")
- newlight = new /obj/machinery/light_construct/small(constrloc)
- if("tube")
- newlight = new /obj/machinery/light_construct(constrloc)
- newlight.dir = constrdir
- newlight.fingerprints = src.fingerprints
- newlight.fingerprintshidden = src.fingerprintshidden
- newlight.fingerprintslast = src.fingerprintslast
-
- usr.visible_message("[usr.name] attaches [src] to the wall.", \
- "You attach [src] to the wall. ")
- qdel(src)
-
-/obj/item/light_fixture_frame/small
+/obj/item/wallframe/light_fixture/small
name = "small light fixture frame"
- desc = "Used for building small lights."
- icon = 'icons/obj/lighting.dmi'
icon_state = "bulb-construct-item"
- flags = CONDUCT
- fixture_type = "bulb"
- sheets_refunded = 1
+ result_path = /obj/machinery/light_construct/small
+ materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT)
+
/obj/machinery/light_construct
name = "light fixture frame"
@@ -79,10 +38,10 @@
var/sheets_refunded = 2
var/obj/machinery/light/newlight = null
-/obj/machinery/light_construct/New()
+/obj/machinery/light_construct/New(loc, ndir, building)
..()
- if (fixture_type == "bulb")
- icon_state = "bulb-construct-stage1"
+ if(building)
+ dir = ndir
/obj/machinery/light_construct/examine(mob/user)
..()
@@ -172,12 +131,7 @@
/obj/machinery/light_construct/small
name = "small light fixture frame"
- desc = "A small light fixture under construction."
- icon = 'icons/obj/lighting.dmi'
icon_state = "bulb-construct-stage1"
- anchored = 1
- layer = 5
- stage = 1
fixture_type = "bulb"
sheets_refunded = 1
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index 23e6468096f..ca08ffd7bc3 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -181,7 +181,8 @@
user << "Turn off \the [src] first! "
return
switch(state)
- if(0 && !isinspace())
+ if(0)
+ if(isinspace()) return
state = 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
user.visible_message("[user.name] secures [src.name] to the floor.", \
@@ -264,4 +265,5 @@
if(!emagged)
locked = 0
emagged = 1
- user.visible_message("[user.name] emags the [src.name].","You short out the lock. ")
+ if(user)
+ user.visible_message("[user.name] emags the [src.name].","You short out the lock. ")
diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm
index 550567bca53..8f2701a4246 100644
--- a/code/modules/power/singularity/field_generator.dm
+++ b/code/modules/power/singularity/field_generator.dm
@@ -100,7 +100,8 @@ field_generator power level display
return
else if(istype(W, /obj/item/weapon/wrench))
switch(state)
- if(0 && !isinspace())
+ if(0)
+ if(isinspace()) return
state = 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
user.visible_message("[user.name] secures [src.name] to the floor.", \
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index ab650dfa411..8375b2d8d4e 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -255,7 +255,7 @@
return 1
if(!tracker)
- if(istype(W, /obj/item/weapon/tracker_electronics))
+ if(istype(W, /obj/item/weapon/electronics/tracker))
if(!user.drop_item())
return
tracker = 1
@@ -264,7 +264,7 @@
return 1
else
if(istype(W, /obj/item/weapon/crowbar))
- new /obj/item/weapon/tracker_electronics(src.loc)
+ new /obj/item/weapon/electronics/tracker(src.loc)
tracker = 0
user.visible_message("[user] takes out the electronics from the solar assembly.", "You take out the electronics from the solar assembly. ")
return 1
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index b2771ae6d4f..f85bdd99153 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -76,9 +76,5 @@
// Tracker Electronic
-/obj/item/weapon/tracker_electronics
-
- name = "tracker electronics"
- icon = 'icons/obj/doors/door_assembly.dmi'
- icon_state = "door_electronics"
- w_class = 2.0
\ No newline at end of file
+/obj/item/weapon/electronics/tracker
+ name = "tracker electronics"
\ No newline at end of file
diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm
index c7bf249a611..9368401256e 100644
--- a/code/modules/power/turbine.dm
+++ b/code/modules/power/turbine.dm
@@ -208,15 +208,6 @@
if(!compressor)
stat |= BROKEN
-
-// THIS MAKES IT WORK!!!!!
-
-// OLD FIX . Dunno how other engines handle this but this is how it should work: Turbine and compressor should be
-// treated as walls to avoid conductivity and gas spread. This was the problem of the original turbine which was just
-// a machinery - it didn't block the gas passage.
-// /obj/machinery/power/turbine/CanPass(atom/movable/mover, turf/target, height=0)
-// return !density
-
/obj/machinery/power/turbine/RefreshParts()
var/P = 0
for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts)
diff --git a/code/modules/projectiles/firing.dm b/code/modules/projectiles/firing.dm
index 2833f2de7f5..1890309581f 100644
--- a/code/modules/projectiles/firing.dm
+++ b/code/modules/projectiles/firing.dm
@@ -34,7 +34,7 @@
if(targloc == curloc)
if(BB.original == user) //if we target ourselves we go straight to bullet_act()
user.bullet_act(BB)
- del(BB)
+ qdel(BB)
return 1
BB.loc = get_turf(user)
BB.starting = get_turf(user)
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index cc5bd988992..fe5ef91095c 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -232,7 +232,7 @@
user.update_inv_l_hand()
else
user.update_inv_r_hand()
- feedback_add_details("gun_fired","[src.name]")
+ feedback_add_details("gun_fired","[src.type]")
/obj/item/weapon/gun/attack(mob/M as mob, mob/user)
if(user.a_intent == "harm") //Flogging
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index 45660958359..8b1aaecd735 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -190,13 +190,22 @@
burst_size = 3
fire_delay = 2
pin = /obj/item/device/firing_pin/implant/pindicate
-/obj/item/weapon/gun/projectile/automatic/m90/unrestricted
- pin = /obj/item/device/firing_pin
+
/obj/item/weapon/gun/projectile/automatic/m90/New()
..()
underbarrel = new /obj/item/weapon/gun/projectile/revolver/grenadelauncher(src)
update_icon()
return
+
+/obj/item/weapon/gun/projectile/automatic/m90/unrestricted
+ pin = /obj/item/device/firing_pin
+
+/obj/item/weapon/gun/projectile/automatic/m90/unrestricted/New()
+ ..()
+ underbarrel = new /obj/item/weapon/gun/projectile/revolver/grenadelauncher/unrestricted(src)
+ update_icon()
+ return
+
/obj/item/weapon/gun/projectile/automatic/m90/afterattack(atom/target, mob/living/user, flag, params)
if(select == 2)
underbarrel.afterattack(target, user, flag, params)
diff --git a/code/modules/projectiles/guns/projectile/launchers.dm b/code/modules/projectiles/guns/projectile/launchers.dm
index 4bddd2d3ce4..506f51e306c 100644
--- a/code/modules/projectiles/guns/projectile/launchers.dm
+++ b/code/modules/projectiles/guns/projectile/launchers.dm
@@ -9,6 +9,10 @@
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/grenadelauncher
fire_sound = 'sound/weapons/grenadelaunch.ogg'
w_class = 3
+ pin = /obj/item/device/firing_pin/implant/pindicate
+
+/obj/item/weapon/gun/projectile/revolver/grenadelauncher/unrestricted
+ pin = /obj/item/device/firing_pin
/obj/item/weapon/gun/projectile/revolver/grenadelauncher/attackby(obj/item/A, mob/user, params)
..()
diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm
index e83acf03014..56a077bbfa0 100644
--- a/code/modules/reagents/Chemistry-Holder.dm
+++ b/code/modules/reagents/Chemistry-Holder.dm
@@ -1,7 +1,9 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
-var/const/TOUCH = 1
-var/const/INGEST = 2
+var/const/TOUCH = 1 //splashing
+var/const/INGEST = 2 //injection, ingestion
+var/const/VAPOR = 3 //smoke, foam, spray, blob attack
+var/const/PATCH = 4 //patches
///////////////////////////////////////////////////////////////////////////////////
@@ -429,7 +431,7 @@ var/const/INGEST = 2
if(isliving(A))
var/mob/living/L = A
var/touch_protection = 0
- if(method == TOUCH)
+ if(method == VAPOR)
touch_protection = L.get_permeability_protection()
for(var/datum/reagent/R in reagent_list)
R.reaction_mob(L, method, R.volume*volume_modifier, show_message, touch_protection)
diff --git a/code/modules/reagents/Chemistry-Readme.dm b/code/modules/reagents/Chemistry-Readme.dm
index 74e9fe0b093..bd28dcb79f1 100644
--- a/code/modules/reagents/Chemistry-Readme.dm
+++ b/code/modules/reagents/Chemistry-Readme.dm
@@ -69,7 +69,7 @@ About the Holder:
This proc calls the appropriate reaction procs of the reagents.
I.e. if A is an object, it will call the reagents reaction_obj
proc. The method var is used for reaction on mobs. It simply tells
- us if the mob TOUCHed the reagent or if it INGESTed the reagent.
+ us if the mob TOUCHed the reagent, if it INGESTed the reagent, if the reagent was VAPORIZEd on them, or transfered via a PATCH to them..
Since the volume can be checked in a reagents proc, you might want to
use the volume_modifier var to modifiy the passed value without actually
changing the volume of the reagents.
diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm
index c89a5d434eb..e3a2d4cc612 100644
--- a/code/modules/reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents.dm
@@ -4,10 +4,6 @@
#define REM REAGENTS_EFFECT_MULTIPLIER
-//The reaction procs must ALWAYS set src = null, this detaches the proc from the object (the reagent)
-//so that it can continue working when the reagent is deleted while the proc is still active.
-
-
//Various reagents
//Toxin & acid reagents
//Hydroponics stuff
@@ -28,32 +24,27 @@
var/overdose_threshold = 0
var/addiction_threshold = 0
var/addiction_stage = 0
- var/overdosed = 0 // You fucked up and this is now triggering it's overdose effects, purge that shit quick.
+ var/overdosed = 0 // You fucked up and this is now triggering its overdose effects, purge that shit quick.
/datum/reagent/Destroy() // This should only be called by the holder, so it's already handled clearing its references
..()
holder = null
-/datum/reagent/proc/reaction_mob(mob/living/M, method=TOUCH, volume, show_message = 1, touch_protection = 0)
+/datum/reagent/proc/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0)
if(!istype(M))
return 0
- var/datum/reagent/self = src
- src = null
-
- if(method == TOUCH)
+ if(method == VAPOR) //smoke, foam, spray
if(M.reagents)
- var/modifier = Clamp((1 - touch_protection) + rand(-5,5)/100, 0, 1)
+ var/modifier = Clamp((1 - touch_protection), 0, 1)
var/amount = round(volume*modifier, 0.1)
if(amount >= 1)
- M.reagents.add_reagent(self.id, amount)
+ M.reagents.add_reagent(id, amount)
return 1
/datum/reagent/proc/reaction_obj(obj/O, volume)
- src = null
return
/datum/reagent/proc/reaction_turf(turf/T, volume)
- src = null
return
/datum/reagent/proc/on_mob_life(mob/living/M)
diff --git a/code/modules/reagents/Chemistry-Reagents/Blob-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Blob-Reagents.dm
index 5470a6f5db1..6265d0cb858 100644
--- a/code/modules/reagents/Chemistry-Reagents/Blob-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Blob-Reagents.dm
@@ -4,6 +4,9 @@
var/message = "The blob strikes you" //message sent to any mob hit by the blob
var/message_living = null //extension to first mob sent to only living mobs i.e. silicons have no skin to be burnt
+/datum/reagent/blob/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection)
+ return round(reac_volume * min(1.5 - touch_protection, 1), 0.1) //full touch protection means 50% volume, any prot below 0.5 means 100% volume.
+
/datum/reagent/blob/boiling_oil
name = "Boiling Oil"
id = "boiling_oil"
@@ -11,14 +14,13 @@
color = "#B68D00"
message = "The blob splashes you with burning oil"
-/datum/reagent/blob/boiling_oil/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH)
- var/ratio = volume/25
- M.apply_damage(15*ratio, BURN)
- M.adjust_fire_stacks(2*ratio)
- M.IgniteMob()
- if(isliving(M))
- M.emote("scream")
+/datum/reagent/blob/boiling_oil/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ M.adjust_fire_stacks(round(reac_volume/12))
+ reac_volume = ..()
+ M.apply_damage(0.6*reac_volume, BURN)
+ M.IgniteMob()
+ if(iscarbon(M))
+ M.emote("scream")
/datum/reagent/blob/toxic_goop
name = "Toxic Goop"
@@ -27,10 +29,9 @@
color = "#008000"
message_living = ", and you feel sick and nauseated"
-/datum/reagent/blob/toxic_goop/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH)
- var/ratio = volume/25
- M.apply_damage(20*ratio, TOX)
+/datum/reagent/blob/toxic_goop/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ reac_volume = ..()
+ M.apply_damage(0.8*reac_volume, TOX)
/datum/reagent/blob/skin_ripper
name = "Skin Ripper"
@@ -39,12 +40,11 @@
color = "#FF4C4C"
message_living = ", and you feel your skin ripping and tearing off"
-/datum/reagent/blob/skin_ripper/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH)
- var/ratio = volume/25
- M.apply_damage(20*ratio, BRUTE)
- if(iscarbon(M))
- M.emote("scream")
+/datum/reagent/blob/skin_ripper/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ reac_volume = ..()
+ M.apply_damage(0.8*reac_volume, BRUTE)
+ if(iscarbon(M))
+ M.emote("scream")
// Combo Reagents
@@ -55,15 +55,14 @@
color = "#7F0000"
message_living = ", and you feel your skin char and melt"
-/datum/reagent/blob/skin_melter/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH)
- var/ratio = volume/25
- M.apply_damage(10*ratio, BRUTE)
- M.apply_damage(10*ratio, BURN)
- M.adjust_fire_stacks(2*ratio)
- M.IgniteMob()
- if(iscarbon(M))
- M.emote("scream")
+/datum/reagent/blob/skin_melter/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ M.adjust_fire_stacks(round(reac_volume/12))
+ reac_volume = ..()
+ M.apply_damage(0.4*reac_volume, BRUTE)
+ M.apply_damage(0.4*reac_volume, BURN)
+ M.IgniteMob()
+ if(iscarbon(M))
+ M.emote("scream")
/datum/reagent/blob/lung_destroying_toxin
name = "Lung Destroying Toxin"
@@ -72,12 +71,11 @@
color = "#00FFC5"
message_living = ", and your lungs feel heavy and weak"
-/datum/reagent/blob/lung_destroying_toxin/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH)
- var/ratio = volume/25
- M.apply_damage(20* ratio, OXY)
- M.losebreath += 15*ratio
- M.apply_damage(20*ratio, TOX)
+/datum/reagent/blob/lung_destroying_toxin/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ reac_volume = ..()
+ M.apply_damage(0.8* reac_volume, OXY)
+ M.losebreath += round(0.6*reac_volume)
+ M.apply_damage(0.8*reac_volume, TOX)
// Special Reagents
@@ -88,18 +86,17 @@
color = "#00EE00"
message_living = ", and your skin feels papery and everything hurts"
-/datum/reagent/blob/radioactive_liquid/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH)
- var/ratio = volume/25
- M.apply_damage(10*ratio, BRUTE)
- if(istype(M, /mob/living/carbon/human))
- M.irradiate(40*ratio)
- if(prob(33*ratio))
- randmuti(M)
- if(prob(98))
- randmutb(M)
- domutcheck(M, null)
- updateappearance(M)
+/datum/reagent/blob/radioactive_liquid/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ reac_volume = ..()
+ M.apply_damage(0.4*reac_volume, BRUTE)
+ if(ishuman(M))
+ M.irradiate(1.6*reac_volume)
+ if(prob(1.3*reac_volume))
+ randmuti(M)
+ if(prob(98))
+ randmutb(M)
+ domutcheck(M, null)
+ updateappearance(M)
/datum/reagent/blob/dark_matter
name = "Dark Matter"
@@ -108,12 +105,10 @@
color = "#61407E"
message = "You feel a thrum as the blob strikes you, and everything flies at you"
-/datum/reagent/blob/dark_matter/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH)
- var/ratio = volume/25
- M.apply_damage(15*ratio, BRUTE)
- reagent_vortex(M, 0)
-
+/datum/reagent/blob/dark_matter/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ reagent_vortex(M, 0, reac_volume)
+ reac_volume = ..()
+ M.apply_damage(0.6*reac_volume, BRUTE)
/datum/reagent/blob/b_sorium
name = "Sorium"
@@ -122,12 +117,10 @@
color = "#808000"
message = "The blob slams into you, and sends you flying"
-/datum/reagent/blob/b_sorium/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH)
- var/ratio = volume/25
- M.apply_damage(15*ratio, BRUTE)
- reagent_vortex(M, 1)
-
+/datum/reagent/blob/b_sorium/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ reagent_vortex(M, 1, reac_volume)
+ reac_volume = ..()
+ M.apply_damage(0.6*reac_volume, BRUTE)
/datum/reagent/blob/explosive // I'm gonna burn in hell for this one
name = "Explosive Gelatin"
@@ -136,11 +129,9 @@
color = "#FFA500"
message = "The blob strikes you, and its tendrils explode"
-/datum/reagent/blob/explosive/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH)
- var/ratio = volume/25
- if(prob(75*ratio))
- explosion(M.loc, 0, 0, 1, 0, 0)
+/datum/reagent/blob/explosive/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ if(prob(3*reac_volume))
+ explosion(M.loc, 0, 0, 1, 0, 0)
/datum/reagent/blob/omnizine
name = "Omnizine"
@@ -150,10 +141,9 @@
message = "The blob squirts something at you"
message_living = ", and you feel great"
-/datum/reagent/blob/omnizine/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH)
- var/ratio = volume/25
- M.reagents.add_reagent("omnizine", 11*ratio)
+/datum/reagent/blob/omnizine/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ reac_volume = ..()
+ M.reagents.add_reagent("omnizine", 0.6*reac_volume)
/datum/reagent/blob/spacedrugs
name = "Space drugs"
@@ -163,17 +153,16 @@
message = "The blob squirts something at you"
message_living = ", and you feel funny"
-/datum/reagent/blob/spacedrugs/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH)
- var/ratio = volume/25
- M.hallucination += 20*ratio
- M.reagents.add_reagent("space_drugs", 15*ratio)
- M.apply_damage(10*ratio, TOX)
+/datum/reagent/blob/spacedrugs/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ reac_volume = ..()
+ M.hallucination += 0.8*reac_volume
+ M.reagents.add_reagent("space_drugs", 0.6*reac_volume)
+ M.apply_damage(0.4*reac_volume, TOX)
-/datum/reagent/blob/proc/reagent_vortex(mob/living/M, setting_type)
+/datum/reagent/blob/proc/reagent_vortex(mob/living/M, setting_type, reac_volume)
var/turf/pull = get_turf(M)
- var/range_power = Clamp(round(volume/5, 1), 1, 5)
+ var/range_power = Clamp(round(reac_volume/5, 1), 1, 5)
for(var/atom/movable/X in range(range_power,pull))
if(istype(X, /obj/effect))
continue
diff --git a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Drink-Reagents/Alcohols.dm b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Drink-Reagents/Alcohols.dm
index df637f4eab8..04eae9fb1b1 100644
--- a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Drink-Reagents/Alcohols.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Drink-Reagents/Alcohols.dm
@@ -34,13 +34,13 @@
M.adjustToxLoss(2)
..()
return
-/datum/reagent/consumable/ethanol/reaction_obj(obj/O, volume)
+/datum/reagent/consumable/ethanol/reaction_obj(obj/O, reac_volume)
if(istype(O,/obj/item/weapon/paper))
var/obj/item/weapon/paper/paperaffected = O
paperaffected.clearpaper()
usr << "The solution melts away the ink on the paper."
if(istype(O,/obj/item/weapon/book))
- if(volume >= 5)
+ if(reac_volume >= 5)
var/obj/item/weapon/book/affectedbook = O
affectedbook.dat = null
usr << "The solution melts away the ink on the book."
@@ -48,12 +48,12 @@
usr << "It wasn't enough..."
return
-/datum/reagent/consumable/ethanol/reaction_mob(mob/living/M, method=TOUCH, volume)//Splashing people with ethanol isn't quite as good as fuel.
+/datum/reagent/consumable/ethanol/reaction_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with ethanol isn't quite as good as fuel.
if(!istype(M, /mob/living))
return
- if(method == TOUCH)
- M.adjust_fire_stacks(volume / 15)
- return
+ if(method == TOUCH || method == VAPOR)
+ M.adjust_fire_stacks(reac_volume / 15)
+ ..()
/datum/reagent/consumable/ethanol/beer
name = "Beer"
diff --git a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm
index 6ca5afcf052..b951d205880 100644
--- a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm
@@ -150,8 +150,8 @@
..()
return
-/datum/reagent/consumable/frostoil/reaction_turf(turf/simulated/T, volume)
- if(volume >= 5)
+/datum/reagent/consumable/frostoil/reaction_turf(turf/simulated/T, reac_volume)
+ if(reac_volume >= 5)
for(var/mob/living/simple_animal/slime/M in T)
M.adjustToxLoss(rand(15,30))
//if(istype(T))
@@ -163,12 +163,12 @@
description = "A chemical agent used for self-defense and in police work."
color = "#B31008" // rgb: 179, 16, 8
-/datum/reagent/consumable/condensedcapsaicin/reaction_mob(mob/living/M, method=TOUCH, volume)
+/datum/reagent/consumable/condensedcapsaicin/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(!istype(M, /mob/living/carbon/human) && !istype(M, /mob/living/carbon/monkey))
return
var/mob/living/carbon/victim = M
- if(method == TOUCH)
+ if(method == TOUCH || method == VAPOR)
//check for protection
var/mouth_covered = 0
var/eyes_covered = 0
@@ -321,11 +321,10 @@
nutriment_factor = 20 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
-/datum/reagent/consumable/cornoil/reaction_turf(turf/simulated/T, volume)
+/datum/reagent/consumable/cornoil/reaction_turf(turf/simulated/T, reac_volume)
if (!istype(T))
return
- src = null
- if(volume >= 3)
+ if(reac_volume >= 3)
T.MakeSlippery()
var/obj/effect/hotspot/hotspot = (locate(/obj/effect/hotspot) in T)
if(hotspot)
@@ -380,11 +379,10 @@
reagent_state = SOLID
color = "#FFFFFF" // rgb: 0, 0, 0
-/datum/reagent/consumable/flour/reaction_turf(turf/T, volume)
- src = null
+/datum/reagent/consumable/flour/reaction_turf(turf/T, reac_volume)
if(!istype(T, /turf/space))
var/obj/effect/decal/cleanable/reagentdecal = new/obj/effect/decal/cleanable/flour(T)
- reagentdecal.reagents.add_reagent("flour", volume)
+ reagentdecal.reagents.add_reagent("flour", reac_volume)
/datum/reagent/consumable/cherryjelly
name = "Cherry Jelly"
diff --git a/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm
index 5a45714ad8a..14213840918 100644
--- a/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm
@@ -163,23 +163,44 @@
reagent_state = LIQUID
color = "#C8A5DC"
-/datum/reagent/medicine/silver_sulfadiazine/reaction_mob(mob/living/M, method=TOUCH, volume, show_message = 1)
+/datum/reagent/medicine/silver_sulfadiazine/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1)
if(iscarbon(M) && M.stat != DEAD)
- if(method == TOUCH)
- M.adjustFireLoss(-volume)
+ if(method == PATCH)
+ M.adjustFireLoss(-reac_volume)
if(show_message)
M << "You feel your burns healing! "
M.emote("scream")
if(method == INGEST)
- M.adjustToxLoss(0.5*volume)
+ M.adjustToxLoss(0.5*reac_volume)
if(show_message)
- M << "You probably shouldn't have eaten that. Maybe you should of splashed it on, or applied a patch? "
+ M << "You probably shouldn't have eaten that. Maybe you should have splashed it on, or applied a patch? "
..()
- return
/datum/reagent/medicine/silver_sulfadiazine/on_mob_life(mob/living/M)
M.adjustFireLoss(-2*REM)
..()
+
+/datum/reagent/medicine/oxandrolone
+ name = "Oxandrolone"
+ id = "oxandrolone"
+ description = "Stimulates healing of severe burns. If you have more than 50 burn damage, it heals 2 units; otherwise, 0.5. If overdosed it will exacerbate existing burns, causing burn and brute damage."
+ reagent_state = LIQUID
+ color = "#f7ffa5"
+ metabolization_rate = 0.5 * REAGENTS_METABOLISM
+ overdose_threshold = 25
+
+/datum/reagent/medicine/oxandrolone/on_mob_life(mob/living/M)
+ if(M.getFireLoss() > 50)
+ M.adjustFireLoss(-2*REM)
+ else
+ M.adjustFireLoss(-0.5*REM)
+ ..()
+ return
+
+/datum/reagent/medicine/oxandrolone/overdose_process(mob/living/M)
+ M.adjustFireLoss(2.5*REM) // it's going to be healing either 2 or 0.5
+ M.adjustBruteLoss(0.5*REM)
+ ..()
return
/datum/reagent/medicine/styptic_powder
@@ -189,25 +210,23 @@
reagent_state = LIQUID
color = "#C8A5DC"
-/datum/reagent/medicine/styptic_powder/reaction_mob(mob/living/M, method=TOUCH, volume, show_message = 1)
+/datum/reagent/medicine/styptic_powder/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1)
if(iscarbon(M) && M.stat != DEAD)
- if(method == TOUCH)
- M.adjustBruteLoss(-volume)
+ if(method == PATCH)
+ M.adjustBruteLoss(-reac_volume)
if(show_message)
M << "You feel your wounds knitting back together! "
- if(M.stat)
- M.emote("scream")
+ M.emote("scream")
if(method == INGEST)
- M.adjustToxLoss(0.5*volume)
+ M.adjustToxLoss(0.5*reac_volume)
if(show_message)
M << "You feel kind of ill. Maybe you ate a medicine you shouldn't have? "
..()
- return
+
/datum/reagent/medicine/styptic_powder/on_mob_life(mob/living/M)
M.adjustBruteLoss(-2*REM)
..()
- return
/datum/reagent/medicine/salglu_solution
name = "Saline-Glucose Solution"
@@ -222,7 +241,6 @@
M.adjustBruteLoss(-0.5*REM)
M.adjustFireLoss(-0.5*REM)
..()
- return
/datum/reagent/medicine/mine_salve
name = "Miner's Salve"
@@ -239,20 +257,19 @@
M.adjustBruteLoss(-0.25*REM)
M.adjustFireLoss(-0.25*REM)
..()
- return
-/datum/reagent/medicine/mine_salve/reaction_mob(mob/living/M, method=TOUCH, volume, show_message = 1)
+/datum/reagent/medicine/mine_salve/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1)
if(iscarbon(M))
if(method == TOUCH)
if(show_message)
M << "You feel your wounds knitting back together! "
+ method = VAPOR //so it's correctly absorbed in reagent/reaction_mob()
if(method == INGEST)
if(show_message)
M << "That tasted horrible. "
M.AdjustStunned(2)
M.AdjustWeakened(2)
..()
- return
/datum/reagent/medicine/mine_salve/on_mob_delete(mob/living/M)
if(iscarbon(M))
@@ -267,15 +284,15 @@
reagent_state = LIQUID
color = "#C8A5DC"
-/datum/reagent/medicine/synthflesh/reaction_mob(mob/living/M, method=TOUCH, volume,show_message = 1)
+/datum/reagent/medicine/synthflesh/reaction_mob(mob/living/M, method=TOUCH, reac_volume,show_message = 1)
if(iscarbon(M) && M.stat != DEAD)
- if(method == TOUCH)
- M.adjustBruteLoss(-1.5*volume)
- M.adjustFireLoss(-1.5*volume)
+ if(method == PATCH)
+ M.adjustBruteLoss(-1.5*reac_volume)
+ M.adjustFireLoss(-1.5*reac_volume)
if(show_message)
M << "You feel your burns healing and your flesh knitting together! "
..()
- return
+
/datum/reagent/medicine/charcoal
name = "Charcoal"
@@ -659,7 +676,7 @@
color = "#C8A5DC"
metabolization_rate = 0.5 * REAGENTS_METABOLISM
-/datum/reagent/medicine/strange_reagent/reaction_mob(mob/living/carbon/human/M, method=TOUCH, volume)
+/datum/reagent/medicine/strange_reagent/reaction_mob(mob/living/carbon/human/M, method=TOUCH, reac_volume)
if(M.stat == DEAD)
if(M.getBruteLoss() >= 100 || M.getFireLoss() >= 100)
M.visible_message("[M]'s body convulses a bit, and then falls still once more. ")
diff --git a/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm
index a5975560f1c..f763cd1f201 100644
--- a/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm
@@ -5,18 +5,16 @@
id = "blood"
color = "#C80000" // rgb: 200, 0, 0
-/datum/reagent/blood/reaction_mob(mob/M, method=TOUCH, volume)
- var/datum/reagent/blood/self = src
- src = null
- if(self.data && self.data["viruses"])
- for(var/datum/disease/D in self.data["viruses"])
+/datum/reagent/blood/reaction_mob(mob/M, method=TOUCH, reac_volume)
+ if(data && data["viruses"])
+ for(var/datum/disease/D in data["viruses"])
if(D.spread_flags & SPECIAL || D.spread_flags & NON_CONTAGIOUS)
continue
- if(method == TOUCH)
+ if(method == TOUCH || method == VAPOR)
M.ContractDisease(D)
- else //injected
+ else //ingest or patch
M.ForceContractDisease(D)
/datum/reagent/blood/on_new(list/data)
@@ -28,7 +26,7 @@
src.data["cloneable"] = 0 //On mix, consider the genetic sampling unviable for pod cloning, or else we won't know who's even getting cloned, etc
if(src.data["viruses"] || data["viruses"])
- var/list/mix1 = src.data["viruses"]
+ var/list/mix1 = data["viruses"]
var/list/mix2 = data["viruses"]
// Stop issues with the list changing during mixing.
@@ -48,40 +46,39 @@
src.data["viruses"] = preserve
return 1
-/datum/reagent/blood/reaction_turf(turf/simulated/T, volume)//splash the blood all over the place
- if(!istype(T)) return
- var/datum/reagent/blood/self = src
- src = null
- if(!(volume >= 3)) return
- //var/datum/disease/D = self.data["virus"]
- if(!self.data["donor"] || istype(self.data["donor"], /mob/living/carbon/human))
+/datum/reagent/blood/reaction_turf(turf/simulated/T, reac_volume)//splash the blood all over the place
+ if(!istype(T))
+ return
+ if(reac_volume < 3)
+ return
+ if(!data["donor"] || istype(data["donor"], /mob/living/carbon/human))
var/obj/effect/decal/cleanable/blood/blood_prop = locate() in T //find some blood here
if(!blood_prop) //first blood!
blood_prop = new(T)
- blood_prop.blood_DNA[self.data["blood_DNA"]] = self.data["blood_type"]
+ blood_prop.blood_DNA[data["blood_DNA"]] = data["blood_type"]
- for(var/datum/disease/D in self.data["viruses"])
+ for(var/datum/disease/D in data["viruses"])
var/datum/disease/newVirus = D.Copy(1)
blood_prop.viruses += newVirus
newVirus.holder = blood_prop
- else if(istype(self.data["donor"], /mob/living/carbon/monkey))
+ else if(istype(data["donor"], /mob/living/carbon/monkey))
var/obj/effect/decal/cleanable/blood/blood_prop = locate() in T
if(!blood_prop)
blood_prop = new(T)
blood_prop.blood_DNA["Non-Human DNA"] = "A+"
- for(var/datum/disease/D in self.data["viruses"])
+ for(var/datum/disease/D in data["viruses"])
var/datum/disease/newVirus = D.Copy(1)
blood_prop.viruses += newVirus
newVirus.holder = blood_prop
- else if(istype(self.data["donor"], /mob/living/carbon/alien))
+ else if(istype(data["donor"], /mob/living/carbon/alien))
var/obj/effect/decal/cleanable/xenoblood/blood_prop = locate() in T
if(!blood_prop)
blood_prop = new(T)
blood_prop.blood_DNA["UNKNOWN DNA STRUCTURE"] = "X*"
- for(var/datum/disease/D in self.data["viruses"])
+ for(var/datum/disease/D in data["viruses"])
var/datum/disease/newVirus = D.Copy(1)
blood_prop.viruses += newVirus
newVirus.holder = blood_prop
@@ -93,21 +90,17 @@
id = "vaccine"
color = "#C81040" // rgb: 200, 16, 64
-/datum/reagent/vaccine/reaction_mob(mob/M, method=TOUCH, volume)
- var/datum/reagent/vaccine/self = src
- src = null
- if(islist(self.data) && method == INGEST)
+/datum/reagent/vaccine/reaction_mob(mob/M, method=TOUCH, reac_volume)
+ if(islist(data) && method == INGEST)
for(var/datum/disease/D in M.viruses)
- if(D.GetDiseaseID() in self.data)
+ if(D.GetDiseaseID() in data)
D.cure()
- M.resistances |= self.data
- return
+ M.resistances |= data
/datum/reagent/vaccine/on_merge(list/data)
if(istype(data))
src.data |= data.Copy()
-
/datum/reagent/water
name = "Water"
id = "water"
@@ -119,11 +112,10 @@
* Water reaction to turf
*/
-/datum/reagent/water/reaction_turf(turf/simulated/T, volume)
+/datum/reagent/water/reaction_turf(turf/simulated/T, reac_volume)
if (!istype(T)) return
var/CT = cooling_temperature
- src = null
- if(volume >= 10)
+ if(reac_volume >= 10)
T.MakeSlippery()
for(var/mob/living/simple_animal/slime/M in T)
@@ -142,9 +134,7 @@
* Water reaction to an object
*/
-/datum/reagent/water/reaction_obj(obj/O, volume)
- src = null
-
+/datum/reagent/water/reaction_obj(obj/O, reac_volume)
if(istype(O,/obj/item))
var/obj/item/Item = O
Item.extinguish()
@@ -166,11 +156,12 @@
* Water reaction to a mob
*/
-/datum/reagent/water/reaction_mob(mob/living/M, method=TOUCH, volume)//Splashing people with water can help put them out!
+/datum/reagent/water/reaction_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with water can help put them out!
if(!istype(M, /mob/living))
return
if(method == TOUCH)
- M.adjust_fire_stacks(-(volume / 10))
+ M.adjust_fire_stacks(-(reac_volume / 10))
+ ..()
/datum/reagent/water/holywater
name = "Holy Water"
@@ -200,10 +191,10 @@
holder.remove_reagent(src.id, 0.4) //fixed consumption to prevent balancing going out of whack
return
-/datum/reagent/water/holywater/reaction_turf(turf/simulated/T, volume)
+/datum/reagent/water/holywater/reaction_turf(turf/simulated/T, reac_volume)
..()
if(!istype(T)) return
- if(volume>=10)
+ if(reac_volume>=10)
for(var/obj/effect/rune/R in T)
qdel(R)
T.Bless()
@@ -247,10 +238,9 @@
description = "Lubricant is a substance introduced between two moving surfaces to reduce the friction and wear between them. giggity."
color = "#009CA8" // rgb: 0, 156, 168
-/datum/reagent/lube/reaction_turf(turf/simulated/T, volume)
+/datum/reagent/lube/reaction_turf(turf/simulated/T, reac_volume)
if (!istype(T)) return
- src = null
- if(volume >= 1)
+ if(reac_volume >= 1)
T.MakeSlippery(2)
/datum/reagent/spraytan
@@ -261,9 +251,9 @@
metabolization_rate = 10 * REAGENTS_METABOLISM // very fast, so it can be applied rapidly. But this changes on an overdose
overdose_threshold = 11 //Slightly more than one un-nozzled spraybottle.
-/datum/reagent/spraytan/reaction_mob(mob/living/M, method=TOUCH, volume, show_message = 1)
+/datum/reagent/spraytan/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1)
if(istype(M, /mob/living/carbon/human))
- if(method == TOUCH)
+ if(method == PATCH || method == VAPOR)
var/mob/living/carbon/human/N = M
if(N.dna.species.id == "human")
switch(N.skin_tone)
@@ -382,9 +372,9 @@
description = "An advanced corruptive toxin produced by slimes."
color = "#13BC5E" // rgb: 19, 188, 94
-/datum/reagent/aslimetoxin/reaction_mob(mob/M, volume)
- src = null
- M.ForceContractDisease(new /datum/disease/transformation/slime(0))
+/datum/reagent/aslimetoxin/reaction_mob(mob/M, method=TOUCH, reac_volume)
+ if(method != TOUCH)
+ M.ForceContractDisease(new /datum/disease/transformation/slime(0))
/datum/reagent/serotrotium
name = "Serotrotium"
@@ -463,8 +453,7 @@
reagent_state = SOLID
color = "#1C1300" // rgb: 30, 20, 0
-/datum/reagent/carbon/reaction_turf(turf/T, volume)
- src = null
+/datum/reagent/carbon/reaction_turf(turf/T, reac_volume)
if(!istype(T, /turf/space))
new /obj/effect/decal/cleanable/dirt(T)
@@ -539,12 +528,11 @@
..()
return
-/datum/reagent/radium/reaction_turf(turf/T, volume)
- src = null
- if(volume >= 3)
+/datum/reagent/radium/reaction_turf(turf/T, reac_volume)
+ if(reac_volume >= 3)
if(!istype(T, /turf/space))
var/obj/effect/decal/cleanable/reagentdecal = new/obj/effect/decal/cleanable/greenglow(T)
- reagentdecal.reagents.add_reagent("radium", volume)
+ reagentdecal.reagents.add_reagent("radium", reac_volume)
/datum/reagent/sterilizine
name = "Sterilizine"
@@ -583,15 +571,12 @@
/datum/reagent/uranium/on_mob_life(mob/living/M)
M.apply_effect(1/M.metabolism_efficiency,IRRADIATE,0)
..()
- return
-
-/datum/reagent/uranium/reaction_turf(turf/T, volume)
- src = null
- if(volume >= 3)
+/datum/reagent/uranium/reaction_turf(turf/T, reac_volume)
+ if(reac_volume >= 3)
if(!istype(T, /turf/space))
var/obj/effect/decal/cleanable/reagentdecal = new/obj/effect/decal/cleanable/greenglow(T)
- reagentdecal.reagents.add_reagent("uranium", volume)
+ reagentdecal.reagents.add_reagent("uranium", reac_volume)
/datum/reagent/aluminium
name = "Aluminium"
@@ -613,17 +598,17 @@
description = "Required for welders. Flamable."
color = "#660000" // rgb: 102, 0, 0
-/datum/reagent/fuel/reaction_mob(mob/living/M, method=TOUCH, volume)//Splashing people with welding fuel to make them easy to ignite!
+/datum/reagent/fuel/reaction_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with welding fuel to make them easy to ignite!
if(!istype(M, /mob/living))
return
- if(method == TOUCH)
- M.adjust_fire_stacks(volume / 10)
+ if(method == TOUCH || method == VAPOR)
+ M.adjust_fire_stacks(reac_volume / 10)
return
+ ..()
/datum/reagent/fuel/on_mob_life(mob/living/M)
M.adjustToxLoss(1)
..()
- return
/datum/reagent/space_cleaner
name = "Space cleaner"
@@ -631,56 +616,53 @@
description = "A compound used to clean things. Now with 50% more sodium hypochlorite!"
color = "#A5F0EE" // rgb: 165, 240, 238
-/datum/reagent/space_cleaner/reaction_obj(obj/O, volume)
+/datum/reagent/space_cleaner/reaction_obj(obj/O, reac_volume)
if(istype(O,/obj/effect/decal/cleanable))
qdel(O)
else
if(O)
O.clean_blood()
-/datum/reagent/space_cleaner/reaction_turf(turf/T, volume)
- if(volume >= 1)
+/datum/reagent/space_cleaner/reaction_turf(turf/T, reac_volume)
+ if(reac_volume >= 1)
T.clean_blood()
for(var/obj/effect/decal/cleanable/C in T)
qdel(C)
for(var/mob/living/simple_animal/slime/M in T)
M.adjustToxLoss(rand(5,10))
- if(istype(T, /turf/simulated/floor))
- var/turf/simulated/floor/F = T
- if(volume >= 1)
- F.dirt = 0
-/datum/reagent/space_cleaner/reaction_mob(mob/M, method=TOUCH, volume)
- if(iscarbon(M))
- var/mob/living/carbon/C = M
- if(istype(M,/mob/living/carbon/human))
- var/mob/living/carbon/human/H = M
- if(H.lip_style)
- H.lip_style = null
- H.update_body()
- if(C.r_hand)
- C.r_hand.clean_blood()
- if(C.l_hand)
- C.l_hand.clean_blood()
- if(C.wear_mask)
- if(C.wear_mask.clean_blood())
- C.update_inv_wear_mask()
- if(ishuman(M))
- var/mob/living/carbon/human/H = C
- if(H.head)
- if(H.head.clean_blood())
- H.update_inv_head()
- if(H.wear_suit)
- if(H.wear_suit.clean_blood())
- H.update_inv_wear_suit()
- else if(H.w_uniform)
- if(H.w_uniform.clean_blood())
- H.update_inv_w_uniform()
- if(H.shoes)
- if(H.shoes.clean_blood())
- H.update_inv_shoes()
- M.clean_blood()
+/datum/reagent/space_cleaner/reaction_mob(mob/M, method=TOUCH, reac_volume)
+ if(method == TOUCH || VAPOR)
+ if(iscarbon(M))
+ var/mob/living/carbon/C = M
+ if(istype(M,/mob/living/carbon/human))
+ var/mob/living/carbon/human/H = M
+ if(H.lip_style)
+ H.lip_style = null
+ H.update_body()
+ if(C.r_hand)
+ C.r_hand.clean_blood()
+ if(C.l_hand)
+ C.l_hand.clean_blood()
+ if(C.wear_mask)
+ if(C.wear_mask.clean_blood())
+ C.update_inv_wear_mask()
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = C
+ if(H.head)
+ if(H.head.clean_blood())
+ H.update_inv_head()
+ if(H.wear_suit)
+ if(H.wear_suit.clean_blood())
+ H.update_inv_wear_suit()
+ else if(H.w_uniform)
+ if(H.w_uniform.clean_blood())
+ H.update_inv_w_uniform()
+ if(H.shoes)
+ if(H.shoes.clean_blood())
+ H.update_inv_shoes()
+ M.clean_blood()
/datum/reagent/cryptobiolin
name = "Cryptobiolin"
@@ -717,9 +699,8 @@
description = "Microscopic construction robots."
color = "#535E66" // rgb: 83, 94, 102
-/datum/reagent/nanites/reaction_mob(mob/M, method=TOUCH, volume)
- src = null
- if( (prob(min(10, volume)) && method==TOUCH) || method==INGEST)
+/datum/reagent/nanites/reaction_mob(mob/M, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0)
+ if(method==PATCH || method==INGEST || (method == VAPOR && prob(min(reac_volume,100)*(1 - touch_protection))))
M.ForceContractDisease(new /datum/disease/transformation/robot(0))
/datum/reagent/xenomicrobes
@@ -728,9 +709,8 @@
description = "Microbes with an entirely alien cellular structure."
color = "#535E66" // rgb: 83, 94, 102
-/datum/reagent/xenomicrobes/reaction_mob(mob/M, method=TOUCH, volume)
- src = null
- if( (prob(min(10, volume)) && method==TOUCH) || method==INGEST)
+/datum/reagent/xenomicrobes/reaction_mob(mob/M, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0)
+ if(method==PATCH || method==INGEST || (method == VAPOR && prob(min(reac_volume,100)*(1 - touch_protection))))
M.ContractDisease(new /datum/disease/transformation/xeno(0))
/datum/reagent/fluorosurfactant//foam precursor
@@ -909,7 +889,7 @@
reagent_state = LIQUID
color = "#C8A5DC"
-/datum/reagent/carpet/reaction_turf(turf/simulated/T, volume)
+/datum/reagent/carpet/reaction_turf(turf/simulated/T, reac_volume)
if(istype(T, /turf/simulated/floor/plating) || istype(T, /turf/simulated/floor/plasteel))
var/turf/simulated/floor/F = T
F.ChangeTurf(/turf/simulated/floor/carpet)
@@ -959,21 +939,20 @@
..()
return
-/datum/reagent/colorful_reagent/reaction_mob(mob/living/M, volume)
+/datum/reagent/colorful_reagent/reaction_mob(mob/living/M, reac_volume)
if(M && isliving(M))
M.color = pick(random_color_list)
..()
- return
-/datum/reagent/colorful_reagent/reaction_obj(obj/O, volume)
+
+/datum/reagent/colorful_reagent/reaction_obj(obj/O, reac_volume)
if(O)
O.color = pick(random_color_list)
..()
- return
-/datum/reagent/colorful_reagent/reaction_turf(turf/T, volume)
+
+/datum/reagent/colorful_reagent/reaction_turf(turf/T, reac_volume)
if(T)
T.color = pick(random_color_list)
..()
- return
/datum/reagent/hair_dye
name = "Quantum Hair Dye"
@@ -983,14 +962,13 @@
color = "#C8A5DC"
var/list/potential_colors = list("0ad","a0f","f73","d14","d14","0b5","0ad","f73","fc2","084","05e","d22","fa0") // fucking hair code
-/datum/reagent/hair_dye/reaction_mob(mob/living/M, volume)
- if(M && ishuman(M))
- var/mob/living/carbon/human/H = M
- H.hair_color = pick(potential_colors)
- H.facial_hair_color = pick(potential_colors)
- H.update_hair()
- ..()
- return
+/datum/reagent/hair_dye/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ if(method == TOUCH || method == VAPOR)
+ if(M && ishuman(M))
+ var/mob/living/carbon/human/H = M
+ H.hair_color = pick(potential_colors)
+ H.facial_hair_color = pick(potential_colors)
+ H.update_hair()
/datum/reagent/barbers_aid
name = "Barber's Aid"
@@ -999,16 +977,15 @@
reagent_state = LIQUID
color = "#C8A5DC"
-/datum/reagent/barbers_aid/reaction_mob(mob/living/M, volume)
- if(M && ishuman(M))
- var/mob/living/carbon/human/H = M
- var/datum/sprite_accessory/hair/picked_hair = pick(hair_styles_list)
- var/datum/sprite_accessory/facial_hair/picked_beard = pick(facial_hair_styles_list)
- H.hair_style = picked_hair
- H.facial_hair_style = picked_beard
- H.update_hair()
- ..()
- return
+/datum/reagent/barbers_aid/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ if(method == TOUCH || method == VAPOR)
+ if(M && ishuman(M))
+ var/mob/living/carbon/human/H = M
+ var/datum/sprite_accessory/hair/picked_hair = pick(hair_styles_list)
+ var/datum/sprite_accessory/facial_hair/picked_beard = pick(facial_hair_styles_list)
+ H.hair_style = picked_hair
+ H.facial_hair_style = picked_beard
+ H.update_hair()
/datum/reagent/concentrated_barbers_aid
name = "Concentrated Barber's Aid"
@@ -1017,14 +994,13 @@
reagent_state = LIQUID
color = "#C8A5DC"
-/datum/reagent/concentrated_barbers_aid/reaction_mob(mob/living/M, volume)
- if(M && ishuman(M))
- var/mob/living/carbon/human/H = M
- H.hair_style = "Very Long Hair"
- H.facial_hair_style = "Very Long Beard"
- H.update_hair()
- ..()
- return
+/datum/reagent/concentrated_barbers_aid/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ if(method == TOUCH || method == VAPOR)
+ if(M && ishuman(M))
+ var/mob/living/carbon/human/H = M
+ H.hair_style = "Very Long Hair"
+ H.facial_hair_style = "Very Long Beard"
+ H.update_hair()
/datum/reagent/saltpetre
name = "Saltpetre"
diff --git a/code/modules/reagents/Chemistry-Reagents/Pyrotechnic-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Pyrotechnic-Reagents.dm
index 51b06d2774e..b5cd4d00639 100644
--- a/code/modules/reagents/Chemistry-Reagents/Pyrotechnic-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Pyrotechnic-Reagents.dm
@@ -6,14 +6,13 @@
reagent_state = SOLID
color = "#673910" // rgb: 103, 57, 16
-/datum/reagent/thermite/reaction_turf(turf/T, volume)
- src = null
- if(volume >= 1 && istype(T, /turf/simulated/wall))
+/datum/reagent/thermite/reaction_turf(turf/T, reac_volume)
+ if(reac_volume >= 1 && istype(T, /turf/simulated/wall))
var/turf/simulated/wall/Wall = T
if(istype(Wall, /turf/simulated/wall/r_wall))
- Wall.thermite = Wall.thermite+(volume*2.5)
+ Wall.thermite = Wall.thermite+(reac_volume*2.5)
else
- Wall.thermite = Wall.thermite+(volume*10)
+ Wall.thermite = Wall.thermite+(reac_volume*10)
Wall.overlays = list()
Wall.overlays += image('icons/effects/effects.dmi',"thermite")
@@ -48,29 +47,30 @@
M.adjustFireLoss(burndmg)
..()
-/datum/reagent/clf3/reaction_turf(turf/simulated/T, volume)
+/datum/reagent/clf3/reaction_turf(turf/simulated/T, reac_volume)
if(istype(T, /turf/simulated/floor/plating))
var/turf/simulated/floor/plating/F = T
if(prob(1 + F.burnt + 5*F.broken)) //broken or burnt plating is more susceptible to being destroyed
F.ChangeTurf(F.baseturf)
if(istype(T, /turf/simulated/floor/))
var/turf/simulated/floor/F = T
- if(prob(volume/10))
+ if(prob(reac_volume/10))
F.make_plating()
- else if(prob(volume))
+ else if(prob(reac_volume))
F.burn_tile()
if(istype(F, /turf/simulated/floor/))
PoolOrNew(/obj/effect/hotspot, F)
if(istype(T, /turf/simulated/wall/))
var/turf/simulated/wall/W = T
- if(prob(volume/10))
+ if(prob(reac_volume/10))
W.ChangeTurf(/turf/simulated/floor/plating)
-/datum/reagent/clf3/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH && isliving(M))
- M.adjust_fire_stacks(min(volume/5, 10))
- M.IgniteMob()
- PoolOrNew(/obj/effect/hotspot, M.loc)
+/datum/reagent/clf3/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ if(istype(M))
+ if(method != INGEST)
+ M.adjust_fire_stacks(min(reac_volume/5, 10))
+ M.IgniteMob()
+ PoolOrNew(/obj/effect/hotspot, M.loc)
/datum/reagent/sorium
name = "Sorium"
@@ -128,8 +128,8 @@
description = "Catches you on fire and makes you ignite."
reagent_state = LIQUID
color = "#FF9999"
-
-/datum/reagent/phlogiston/reaction_mob(mob/living/M, method=TOUCH, volume)
+
+/datum/reagent/phlogiston/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
M.IgniteMob()
..()
@@ -150,9 +150,10 @@
M.adjust_fire_stacks(1)
..()
-/datum/reagent/napalm/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH && isliving(M))
- M.adjust_fire_stacks(min(volume/4, 20))
+/datum/reagent/napalm/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ if(istype(M))
+ if(method != INGEST)
+ M.adjust_fire_stacks(min(reac_volume/4, 20))
/datum/reagent/cryostylane
name = "Cryostylane"
@@ -175,8 +176,8 @@
holder.handle_reactions()
..()
-/datum/reagent/cryostylane/reaction_turf(turf/simulated/T, volume)
- if(volume >= 5)
+/datum/reagent/cryostylane/reaction_turf(turf/simulated/T, reac_volume)
+ if(reac_volume >= 5)
for(var/mob/living/simple_animal/slime/M in T)
M.adjustToxLoss(rand(15,30))
diff --git a/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm
index 2672d7e678a..fcdf66fa5b2 100644
--- a/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm
@@ -28,13 +28,12 @@
color = "#13BC5E" // rgb: 19, 188, 94
toxpwr = 0
-/datum/reagent/toxin/mutagen/reaction_mob(mob/living/carbon/M, method=TOUCH, volume)
+/datum/reagent/toxin/mutagen/reaction_mob(mob/living/carbon/M, method=TOUCH, reac_volume)
if(!..())
return
if(!istype(M) || !M.dna)
return //No robots, AIs, aliens, Ians or other mobs should be affected by this.
- src = null
- if((method==TOUCH && prob(min(33, volume))) || method==INGEST)
+ if((method==VAPOR && prob(min(33, reac_volume))) || method==INGEST || method == PATCH)
randmuti(M)
if(prob(98))
randmutb(M)
@@ -42,13 +41,12 @@
randmutg(M)
domutcheck(M, null)
updateappearance(M)
- return
+ ..()
/datum/reagent/toxin/mutagen/on_mob_life(mob/living/carbon/M)
if(istype(M))
M.apply_effect(5,IRRADIATE,0)
..()
- return
/datum/reagent/toxin/plasma
name = "Plasma"
@@ -66,27 +64,23 @@
..()
return
-/datum/reagent/toxin/plasma/reaction_obj(obj/O, volume)
- src = null
- /*if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/egg/slime))
- var/obj/item/weapon/reagent_containers/food/snacks/egg/slime/egg = O
- if (egg.grown)
- egg.Hatch()*/
- if((!O) || (!volume)) return 0
- O.atmos_spawn_air(SPAWN_TOXINS|SPAWN_20C, volume)
+/datum/reagent/toxin/plasma/reaction_obj(obj/O, reac_volume)
+ if((!O) || (!reac_volume))
+ return 0
+ O.atmos_spawn_air(SPAWN_TOXINS|SPAWN_20C, reac_volume)
-/datum/reagent/toxin/plasma/reaction_turf(turf/simulated/T, volume)
- src = null
+/datum/reagent/toxin/plasma/reaction_turf(turf/simulated/T, reac_volume)
if(istype(T))
- T.atmos_spawn_air(SPAWN_TOXINS|SPAWN_20C, volume)
+ T.atmos_spawn_air(SPAWN_TOXINS|SPAWN_20C, reac_volume)
return
-/datum/reagent/toxin/plasma/reaction_mob(mob/living/M, method=TOUCH, volume)//Splashing people with plasma is stronger than fuel!
+/datum/reagent/toxin/plasma/reaction_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with plasma is stronger than fuel!
if(!istype(M, /mob/living))
return
- if(method == TOUCH)
- M.adjust_fire_stacks(volume / 5)
+ if(method == TOUCH || method == VAPOR)
+ M.adjust_fire_stacks(reac_volume / 5)
return
+ ..()
/datum/reagent/toxin/lexorin
name = "Lexorin"
@@ -181,7 +175,7 @@
color = "#49002E" // rgb: 73, 0, 46
toxpwr = 1
-/datum/reagent/toxin/plantbgone/reaction_obj(obj/O, volume)
+/datum/reagent/toxin/plantbgone/reaction_obj(obj/O, reac_volume)
if(istype(O,/obj/structure/alien/weeds/))
var/obj/structure/alien/weeds/alien_weeds = O
alien_weeds.health -= rand(15,35) // Kills alien weeds pretty fast
@@ -192,13 +186,14 @@
var/obj/effect/spacevine/SV = O
SV.on_chem_effect(src)
-/datum/reagent/toxin/plantbgone/reaction_mob(mob/living/M, method=TOUCH, volume)
- src = null
- if(iscarbon(M))
- var/mob/living/carbon/C = M
- if(!C.wear_mask) // If not wearing a mask
- var/damage = min(round(0.4*volume, 0.1),10)
- C.adjustToxLoss(damage)
+/datum/reagent/toxin/plantbgone/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ if(method == VAPOR)
+ if(iscarbon(M))
+ var/mob/living/carbon/C = M
+ if(!C.wear_mask) // If not wearing a mask
+ var/damage = min(round(0.4*reac_volume, 0.1),10)
+ C.adjustToxLoss(damage)
+
/datum/reagent/toxin/plantbgone/weedkiller
name = "Weed Killer"
id = "weedkiller"
@@ -213,13 +208,13 @@
color = "#4B004B" // rgb: 75, 0, 75
toxpwr = 1
-/datum/reagent/toxin/pestkiller/reaction_mob(mob/living/M, method=TOUCH, volume)
- src = null
- if(iscarbon(M))
- var/mob/living/carbon/C = M
- if(!C.wear_mask) // If not wearing a mask
- var/damage = min(round(0.4*volume, 0.1),10)
- C.adjustToxLoss(damage)
+/datum/reagent/toxin/pestkiller/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ if(method == VAPOR)
+ if(iscarbon(M))
+ var/mob/living/carbon/C = M
+ if(!C.wear_mask) // If not wearing a mask
+ var/damage = min(round(0.4*reac_volume, 0.1),10)
+ C.adjustToxLoss(damage)
/datum/reagent/toxin/spore
name = "Spore Toxin"
@@ -456,10 +451,9 @@
metabolization_rate = 0.4 * REAGENTS_METABOLISM
toxpwr = 0
-/datum/reagent/toxin/itching_powder/reaction_mob(mob/living/M, method=TOUCH, volume)
- if(method == TOUCH)
- M.reagents.add_reagent("itching_powder", volume)
- return
+/datum/reagent/toxin/itching_powder/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
+ if(method != INGEST)
+ M.reagents.add_reagent("itching_powder", reac_volume)
/datum/reagent/toxin/itching_powder/on_mob_life(mob/living/M)
if(prob(15))
@@ -623,21 +617,27 @@
toxpwr = 1
var/acidpwr = 10 //the amount of protection removed from the armour
-/datum/reagent/toxin/acid/reaction_mob(mob/living/carbon/C, method=TOUCH, volume)
+/datum/reagent/toxin/acid/reaction_mob(mob/living/carbon/C, method=TOUCH, reac_volume)
if(!istype(C))
return
- volume = round(volume,0.1)
- if(method != TOUCH)
- C.take_organ_damage(min(6*toxpwr, volume * toxpwr))
+ reac_volume = round(reac_volume,0.1)
+ if(method == INGEST)
+ C.take_organ_damage(min(6*toxpwr, reac_volume * toxpwr))
return
+ C.acid_act(acidpwr, toxpwr, reac_volume)
- C.acid_act(acidpwr, toxpwr, volume)
-
-/datum/reagent/toxin/acid/reaction_obj(obj/O, volume)
+/datum/reagent/toxin/acid/reaction_obj(obj/O, reac_volume)
if(istype(O.loc, /mob)) //handled in human acid_act()
return
- volume = round(volume,0.1)
- O.acid_act(acidpwr, toxpwr, volume)
+ reac_volume = round(reac_volume,0.1)
+ O.acid_act(acidpwr, reac_volume)
+
+/datum/reagent/toxin/acid/reaction_turf(turf/T, reac_volume)
+ if (!istype(T))
+ return
+ reac_volume = round(reac_volume,0.1)
+ for(var/obj/O in T)
+ O.acid_act(acidpwr, reac_volume)
/datum/reagent/toxin/acid/fluacid
name = "Fluorosulfuric acid"
diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
index e7f7014e135..51d3caf2b15 100644
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ b/code/modules/reagents/Chemistry-Recipes.dm
@@ -24,40 +24,15 @@
/datum/chemical_reaction/proc/chemical_mob_spawn(datum/reagents/holder, amount_to_spawn, reaction_name, mob_faction = "chemicalsummon")
if(holder && holder.my_atom)
- var/blocked = list(/mob/living/simple_animal/hostile,
- /mob/living/simple_animal/hostile/pirate,
- /mob/living/simple_animal/hostile/pirate/ranged,
- /mob/living/simple_animal/hostile/russian,
- /mob/living/simple_animal/hostile/russian/ranged,
- /mob/living/simple_animal/hostile/syndicate,
- /mob/living/simple_animal/hostile/syndicate/melee,
- /mob/living/simple_animal/hostile/syndicate/melee/space,
- /mob/living/simple_animal/hostile/syndicate/ranged,
- /mob/living/simple_animal/hostile/syndicate/ranged/space,
- /mob/living/simple_animal/hostile/alien/queen/large,
- /mob/living/simple_animal/hostile/mushroom,
- /mob/living/simple_animal/hostile/asteroid,
- /mob/living/simple_animal/hostile/retaliate,
- /mob/living/simple_animal/hostile/asteroid/basilisk,
- /mob/living/simple_animal/hostile/asteroid/goldgrub,
- /mob/living/simple_animal/hostile/asteroid/goliath,
- /mob/living/simple_animal/hostile/asteroid/hivelord,
- /mob/living/simple_animal/hostile/asteroid/hivelordbrood,
- /mob/living/simple_animal/hostile/carp/holocarp,
- /mob/living/simple_animal/hostile/mining_drone,
- /mob/living/simple_animal/hostile/poison,
- /mob/living/simple_animal/hostile/blob,
- /mob/living/simple_animal/ascendant_shadowling
- )//exclusion list for things you don't want the reaction to create.
- var/list/meancritters = typesof(/mob/living/simple_animal/hostile) - blocked // list of possible hostile mobs
- var/list/nicecritters = list(/mob/living/simple_animal/crab,
- /mob/living/simple_animal/mouse,
- /mob/living/simple_animal/lizard,
- /mob/living/simple_animal/parrot,
- /mob/living/simple_animal/butterfly,
- /mob/living/simple_animal/cow,
- /mob/living/simple_animal/chicken) // and possible friendly mobs
- nicecritters += typesof(/mob/living/simple_animal/pet) - /mob/living/simple_animal/pet
+ var/list/meancritters = list() // list of possible hostile mobs
+ var/list/nicecritters = list() // and possible friendly mobs
+ for(var/T in typesof(/mob/living/simple_animal))
+ var/mob/living/simple_animal/M = new T
+ switch(M.gold_core_spawnable)
+ if(1)
+ meancritters += M.type
+ if(2)
+ nicecritters += M.type
var/atom/A = holder.my_atom
var/turf/T = get_turf(A)
var/area/my_area = get_area(T)
@@ -77,22 +52,17 @@
for(var/mob/living/carbon/C in viewers(get_turf(holder.my_atom), null))
C.flash_eyes()
for(var/i = 1, i <= amount_to_spawn, i++)
+ var/chosen
if (reaction_name == "Friendly Gold Slime")
- var/chosen = pick(nicecritters)
- var/mob/living/simple_animal/C = new chosen
- C.faction |= mob_faction
- C.loc = get_turf(holder.my_atom)
- if(prob(50))
- for(var/j = 1, j <= rand(1, 3), j++)
- step(C, pick(NORTH,SOUTH,EAST,WEST))
+ chosen = pick(nicecritters)
else
- var/chosen = pick(meancritters)
- var/mob/living/simple_animal/hostile/C = new chosen
- C.faction |= mob_faction
- C.loc = get_turf(holder.my_atom)
- if(prob(50))
- for(var/j = 1, j <= rand(1, 3), j++)
- step(C, pick(NORTH,SOUTH,EAST,WEST))
+ chosen = pick(meancritters)
+ var/mob/living/simple_animal/C = new chosen
+ C.faction |= mob_faction
+ C.loc = get_turf(holder.my_atom)
+ if(prob(50))
+ for(var/j = 1, j <= rand(1, 3), j++)
+ step(C, pick(NORTH,SOUTH,EAST,WEST))
/datum/chemical_reaction/proc/goonchem_vortex(turf/simulated/T, setting_type, range)
for(var/atom/movable/X in orange(range, T))
@@ -118,4 +88,4 @@
for(var/i = 0, i < moving_power, i++)
sleep(2)
if(!step_towards(X, T))
- break
\ No newline at end of file
+ break
diff --git a/code/modules/reagents/Chemistry-Recipes/Medicine.dm b/code/modules/reagents/Chemistry-Recipes/Medicine.dm
index 60e80923400..3ccc5753cc2 100644
--- a/code/modules/reagents/Chemistry-Recipes/Medicine.dm
+++ b/code/modules/reagents/Chemistry-Recipes/Medicine.dm
@@ -116,6 +116,12 @@
required_reagents = list("sodium" = 1, "phenol" = 1, "carbon" = 1, "oxygen" = 1, "sacid" = 1)
result_amount = 5
+/datum/chemical_reaction/oxandrolone
+ name = "Oxandrolone"
+ id = "oxandrolone"
+ result = "oxandrolone"
+ required_reagents = list("carbon" = 3, "phenol" = 1, "hydrogen" = 1, "oxygen" = 1)
+ result_amount = 6
/datum/chemical_reaction/salbutamol
name = "Salbutamol"
diff --git a/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm b/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm
index cd4da1f60d6..09231890a94 100644
--- a/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm
+++ b/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm
@@ -10,7 +10,7 @@
required_other = 1
/datum/chemical_reaction/slimespawn/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/mob/living/simple_animal/slime/S = new /mob/living/simple_animal/slime
S.loc = get_turf(holder.my_atom)
S.visible_message("Infused with plasma, the core begins to quiver and grow, and soon a new baby slime emerges from it! ")
@@ -25,7 +25,7 @@
required_container = /obj/item/slime_extract/grey
/datum/chemical_reaction/slimeinaprov/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
/datum/chemical_reaction/slimemonkey
name = "Slime Monkey"
@@ -37,7 +37,7 @@
required_other = 1
/datum/chemical_reaction/slimemonkey/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
for(var/i = 1, i <= 3, i++)
var /obj/item/weapon/reagent_containers/food/snacks/monkeycube/M = new /obj/item/weapon/reagent_containers/food/snacks/monkeycube
M.loc = get_turf(holder.my_atom)
@@ -53,7 +53,7 @@
required_container = /obj/item/slime_extract/green
/datum/chemical_reaction/slimemutate/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
//Mutated Green
/datum/chemical_reaction/slimemutate_unstable
@@ -67,7 +67,7 @@
mix_message = "The mixture rapidly expands and contracts, its appearance shifting into a sickening green. "
/datum/chemical_reaction/slimemutate_unstable/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
//Metal
/datum/chemical_reaction/slimemetal
@@ -80,7 +80,7 @@
required_other = 1
/datum/chemical_reaction/slimemetal/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal
M.amount = 15
M.loc = get_turf(holder.my_atom)
@@ -99,7 +99,7 @@
required_other = 1
/datum/chemical_reaction/slimecrit/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("The slime extract begins to vibrate violently ! "), 1)
spawn(50)
@@ -116,7 +116,7 @@
required_other = 1
/datum/chemical_reaction/slimecritlesser/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("The slime extract begins to vibrate violently ! "), 1)
spawn(50)
@@ -133,7 +133,7 @@
required_other = 1
/datum/chemical_reaction/slimecritfriendly/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("The slime extract begins to vibrate adorably ! "), 1)
spawn(50)
@@ -152,7 +152,7 @@
/datum/chemical_reaction/slimebork/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/list/blocked = list(/obj/item/weapon/reagent_containers/food/snacks,
/obj/item/weapon/reagent_containers/food/snacks/store/bread,
/obj/item/weapon/reagent_containers/food/snacks/breadslice,
@@ -200,7 +200,7 @@
/datum/chemical_reaction/slimebork2/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/list/blocked = list(/obj/item/weapon/reagent_containers/food/drinks)
var/list/borks = typesof(/obj/item/weapon/reagent_containers/food/drinks) - blocked
@@ -232,7 +232,7 @@
required_other = 1
/datum/chemical_reaction/slimefrost/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
/datum/chemical_reaction/slimestabilizer
@@ -245,7 +245,7 @@
required_other = 1
/datum/chemical_reaction/slimestabilizer/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/obj/item/weapon/slimestabilizer/P = new /obj/item/weapon/slimestabilizer
P.loc = get_turf(holder.my_atom)
@@ -262,7 +262,7 @@
required_other = 1
/datum/chemical_reaction/slimefreeze/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("The slime extract begins to vibrate violently ! "), 1)
spawn(50)
@@ -283,7 +283,7 @@
required_other = 1
/datum/chemical_reaction/slimecasp/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
/datum/chemical_reaction/slimefire
name = "Slime fire"
@@ -295,7 +295,7 @@
required_other = 1
/datum/chemical_reaction/slimefire/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("The slime extract begins to vibrate violently ! "), 1)
spawn(50)
@@ -316,7 +316,7 @@
required_other = 1
/datum/chemical_reaction/slimeoverload/on_reaction(datum/reagents/holder, created_volume)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
empulse(get_turf(holder.my_atom), 3, 7)
@@ -330,7 +330,7 @@
required_other = 1
/datum/chemical_reaction/slimecell/on_reaction(datum/reagents/holder, created_volume)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/obj/item/weapon/stock_parts/cell/high/slime/P = new /obj/item/weapon/stock_parts/cell/high/slime
P.loc = get_turf(holder.my_atom)
@@ -344,7 +344,7 @@
required_other = 1
/datum/chemical_reaction/slimeglow/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("The slime begins to emit a soft light. Squeezing it will cause it to grow brightly. "), 1)
var/obj/item/device/flashlight/slime/F = new /obj/item/device/flashlight/slime
@@ -362,7 +362,7 @@
required_other = 1
/datum/chemical_reaction/slimepsteroid/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/obj/item/weapon/slimesteroid/P = new /obj/item/weapon/slimesteroid
P.loc = get_turf(holder.my_atom)
@@ -376,7 +376,7 @@
required_other = 1
/datum/chemical_reaction/slimejam/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
//Dark Purple
@@ -390,25 +390,11 @@
required_other = 1
/datum/chemical_reaction/slimeplasma/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/obj/item/stack/sheet/mineral/plasma/P = new /obj/item/stack/sheet/mineral/plasma
P.amount = 10
P.loc = get_turf(holder.my_atom)
-//Red
-/*/datum/chemical_reaction/slimeglycerol
- name = "Slime Glycerol"
- id = "m_glycerol"
- result = "glycerol"
- required_reagents = list("plasma" = 1)
- result_amount = 8
- required_container = /obj/item/slime_extract/red
- required_other = 1
-
-/datum/chemical_reaction/slimeglycerol/on_reaction(var/datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
-*/
-
/datum/chemical_reaction/slimemutator
name = "Slime Mutator"
id = "m_slimemutator"
@@ -419,7 +405,7 @@
required_other = 1
/datum/chemical_reaction/slimemutator/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/obj/item/weapon/slimemutator/P = new /obj/item/weapon/slimemutator
P.loc = get_turf(holder.my_atom)
@@ -433,7 +419,7 @@
required_other = 1
/datum/chemical_reaction/slimebloodlust/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
for(var/mob/living/simple_animal/slime/slime in viewers(get_turf(holder.my_atom), null))
slime.rabid = 1
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
@@ -450,7 +436,7 @@
required_other = 1
/datum/chemical_reaction/slimeppotion/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/obj/item/slimepotion/P = new /obj/item/slimepotion
P.loc = get_turf(holder.my_atom)
@@ -466,7 +452,7 @@
required_container = /obj/item/slime_extract/black
/datum/chemical_reaction/slimemutate2/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
//Oil
/datum/chemical_reaction/slimeexplosion
@@ -479,7 +465,7 @@
required_other = 1
/datum/chemical_reaction/slimeexplosion/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("The slime extract begins to vibrate violently ! "), 1)
spawn(50)
@@ -497,7 +483,7 @@
required_other = 1
/datum/chemical_reaction/slimepotion2/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/obj/item/slimepotion2/P = new /obj/item/slimepotion2
P.loc = get_turf(holder.my_atom)
@@ -512,7 +498,7 @@
required_other = 1
/datum/chemical_reaction/slimegolem/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/obj/effect/golemrune/Z = new /obj/effect/golemrune
Z.loc = get_turf(holder.my_atom)
notify_ghosts("Golem rune created in [get_area(Z)].", 'sound/effects/ghost2.ogg')
@@ -528,7 +514,7 @@
required_other = 1
/datum/chemical_reaction/slimefloor2/on_reaction(datum/reagents/holder, created_volume)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/obj/item/stack/tile/bluespace/P = new /obj/item/stack/tile/bluespace
P.amount = 25
P.loc = get_turf(holder.my_atom)
@@ -544,7 +530,7 @@
required_other = 1
/datum/chemical_reaction/slimecrystal/on_reaction(datum/reagents/holder, created_volume)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
if(holder.my_atom)
var/obj/item/bluespace_crystal/BC = new(get_turf(holder.my_atom))
BC.visible_message("The [BC.name] appears out of thin air! ")
@@ -560,7 +546,7 @@
required_other = 1
/datum/chemical_reaction/slimepsteroid2/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/obj/item/weapon/slimesteroid2/P = new /obj/item/weapon/slimesteroid2
P.loc = get_turf(holder.my_atom)
@@ -575,7 +561,7 @@
required_other = 1
/datum/chemical_reaction/slimestop/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/mob/mob = get_mob_by_key(holder.my_atom.fingerprintslast)
var/obj/effect/timestop/T = new /obj/effect/timestop
T.loc = get_turf(holder.my_atom)
@@ -593,7 +579,7 @@
required_other = 1
/datum/chemical_reaction/slimecamera/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/obj/item/device/camera/P = new /obj/item/device/camera
P.loc = get_turf(holder.my_atom)
var/obj/item/device/camera_film/Z = new /obj/item/device/camera_film
@@ -609,7 +595,7 @@
required_other = 1
/datum/chemical_reaction/slimefloor/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/obj/item/stack/tile/sepia/P = new /obj/item/stack/tile/sepia
P.amount = 25
P.loc = get_turf(holder.my_atom)
@@ -628,7 +614,7 @@
required_other = 1
/datum/chemical_reaction/slimepaint/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/list/paints = typesof(/obj/item/weapon/paint) - /obj/item/weapon/paint
var/chosen = pick(paints)
var/obj/P = new chosen
@@ -646,7 +632,7 @@
required_container = /obj/item/slime_extract/rainbow
/datum/chemical_reaction/slimeRNG/on_reaction(datum/reagents/holder)
- feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
+ feedback_add_details("slime_cores_used","[type]")
var/mob/living/simple_animal/slime/S = new /mob/living/simple_animal/slime
S.colour = pick("grey","orange", "metal", "blue", "purple", "dark purple", "dark blue", "green", "silver", "yellow", "gold", "yellow", "red", "silver", "pink", "cerulean", "sepia", "bluespace", "pyrite", "light pink", "oil", "adamantine", "black")
S.loc = get_turf(holder.my_atom)
diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm
index f87d3682a7c..1b475da801e 100644
--- a/code/modules/reagents/reagent_containers/patch.dm
+++ b/code/modules/reagents/reagent_containers/patch.dm
@@ -6,7 +6,7 @@
item_state = "bandaid"
possible_transfer_amounts = null
volume = 50
- apply_type = TOUCH
+ apply_type = PATCH
apply_method = "apply"
/obj/item/weapon/reagent_containers/pill/patch/New()
diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm
index 2a99e768c75..94ece6ee2c0 100644
--- a/code/modules/reagents/reagent_containers/pill.dm
+++ b/code/modules/reagents/reagent_containers/pill.dm
@@ -133,6 +133,12 @@
icon_state = "pill5"
list_reagents = list("sal_acid" = 24)
roundstart = 1
+/obj/item/weapon/reagent_containers/pill/oxandrolone
+ name = "oxandrolone pill"
+ desc = "Used to stimulate burn healing."
+ icon_state = "pill5"
+ list_reagents = list("oxandrolone" = 24)
+ roundstart = 1
/obj/item/weapon/reagent_containers/pill/insulin
name = "insulin pill"
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index 73923de0f62..46aef0834e4 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -79,12 +79,12 @@
continue
if(puff_reagent_left <= 0)
break
- D.reagents.reaction(T)
+ D.reagents.reaction(T, VAPOR)
if(ismob(T)) //mobs are obstacles that consume part of the puff, shortening its range.
puff_reagent_left -= 1
if(puff_reagent_left > 0)
- D.reagents.reaction(get_turf(D))
+ D.reagents.reaction(get_turf(D), VAPOR)
puff_reagent_left -= 1
if(puff_reagent_left <= 0) // we used all the puff so we delete it.
diff --git a/code/modules/recycling/disposal-structures.dm b/code/modules/recycling/disposal-structures.dm
index ca1364644be..3511e08142e 100644
--- a/code/modules/recycling/disposal-structures.dm
+++ b/code/modules/recycling/disposal-structures.dm
@@ -59,7 +59,6 @@
if(!D.trunk)
D.expel(src) // no trunk connected, so expel immediately
return
-
loc = D.trunk
active = 1
dir = DOWN
@@ -122,11 +121,9 @@
playsound(src.loc, 'sound/effects/clang.ogg', 50, 0, 0)
// called to vent all gas in holder to a location
-/obj/structure/disposalholder/proc/vent_gas(atom/location)
- if(location)
- location.assume_air(gas) // vent all gas to turf
- air_update_turf()
- return
+/obj/structure/disposalholder/proc/vent_gas(turf/T)
+ T.assume_air(gas)
+ T.air_update_turf()
/obj/structure/disposalholder/allow_drop()
return 1
@@ -637,6 +634,16 @@
update()
return
+/obj/structure/disposalpipe/trunk/Destroy()
+ if(linked)
+ if(istype(linked, /obj/structure/disposaloutlet))
+ var/obj/structure/disposaloutlet/D = linked
+ D.trunk = null
+ else if(istype(linked, /obj/machinery/disposal))
+ var/obj/machinery/disposal/D = linked
+ D.trunk = null
+ ..()
+
/obj/structure/disposalpipe/trunk/proc/getlinked()
linked = null
var/obj/machinery/disposal/D = locate() in src.loc
diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm
index a9ef8e34eed..7dabb694a75 100644
--- a/code/modules/research/designs/autolathe_designs.dm
+++ b/code/modules/research/designs/autolathe_designs.dm
@@ -111,7 +111,7 @@
id = "power control"
build_type = AUTOLATHE
materials = list(MAT_METAL = 100, MAT_GLASS = 100)
- build_path = /obj/item/weapon/module/power_control
+ build_path = /obj/item/weapon/electronics/apc
category = list("initial", "Electronics")
/datum/design/airlock_board
@@ -119,7 +119,7 @@
id = "airlock_board"
build_type = AUTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
- build_path = /obj/item/weapon/airlock_electronics
+ build_path = /obj/item/weapon/electronics/airlock
category = list("initial", "Electronics")
/datum/design/firelock_board
@@ -127,7 +127,7 @@
id = "firelock_board"
build_type = AUTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
- build_path = /obj/item/weapon/firelock_board
+ build_path = /obj/item/weapon/electronics/firelock
category = list("initial", "Electronics")
/datum/design/airalarm_electronics
@@ -135,7 +135,7 @@
id = "airalarm_electronics"
build_type = AUTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
- build_path = /obj/item/weapon/airalarm_electronics
+ build_path = /obj/item/weapon/electronics/airalarm
category = list("initial", "Electronics")
/datum/design/firealarm_electronics
@@ -143,7 +143,7 @@
id = "firealarm_electronics"
build_type = AUTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
- build_path = /obj/item/weapon/firealarm_electronics
+ build_path = /obj/item/weapon/electronics/firealarm
category = list("initial", "Electronics")
/datum/design/pipe_painter
@@ -383,7 +383,7 @@
id = "camera_assembly"
build_type = AUTOLATHE
materials = list(MAT_METAL = 400, MAT_GLASS = 250)
- build_path = /obj/item/weapon/camera_assembly
+ build_path = /obj/item/wallframe/camera
category = list("initial", "Construction")
/datum/design/newscaster_frame
@@ -391,7 +391,7 @@
id = "newscaster_frame"
build_type = AUTOLATHE
materials = list(MAT_METAL = 14000, MAT_GLASS = 8000)
- build_path = /obj/item/newscaster_frame
+ build_path = /obj/item/wallframe/newscaster
category = list("initial", "Construction")
/datum/design/syringe
diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm
index 1501167a730..c01225e38e1 100644
--- a/code/modules/research/designs/medical_designs.dm
+++ b/code/modules/research/designs/medical_designs.dm
@@ -111,15 +111,27 @@
//////////Cybernetic Implants////////////
/////////////////////////////////////////
+/datum/design/cyberimp_welding
+ name = "Welding Shield implant"
+ desc = "These reactive micro-shields will protect you from welders and flashes without obscuring your vision."
+ id = "ci-welding"
+ req_tech = list("materials" = 4, "biotech" = 2)
+ build_type = PROTOLATHE | MECHFAB
+ construction_time = 40
+ materials = list(MAT_METAL = 200, MAT_GLASS = 400)
+ build_path = /obj/item/organ/internal/cyberimp/eyes/shield
+ category = list("Misc", "Medical Designs")
+
/datum/design/cyberimp_medical_hud
name = "Medical HUD implant"
desc = "These cybernetic eyes will display a medical HUD over everything you see. Wiggle eyes to control."
id = "ci-medhud"
req_tech = list("materials" = 6, "programming" = 4, "biotech" = 4)
build_type = PROTOLATHE | MECHFAB
+ construction_time = 50
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_SILVER = 500, MAT_GOLD = 500)
build_path = /obj/item/organ/internal/cyberimp/eyes/hud/medical
- category = list("Medical Designs")
+ category = list("Misc", "Medical Designs")
/datum/design/cyberimp_security_hud
name = "Security HUD implant"
@@ -127,9 +139,10 @@
id = "ci-sechud"
req_tech = list("materials" = 6, "programming" = 5, "biotech" = 4, "combat" = 2)
build_type = PROTOLATHE | MECHFAB
+ construction_time = 50
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_SILVER = 750, MAT_GOLD = 750)
build_path = /obj/item/organ/internal/cyberimp/eyes/hud/security
- category = list("Medical Designs")
+ category = list("Misc", "Medical Designs")
/datum/design/cyberimp_xray
name = "X-Ray implant"
@@ -137,9 +150,10 @@
id = "ci-xray"
req_tech = list("materials" = 7, "programming" = 5, "biotech" = 6, "magnets" = 5)
build_type = PROTOLATHE | MECHFAB
+ construction_time = 60
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_URANIUM = 1000, MAT_DIAMOND = 2000)
build_path = /obj/item/organ/internal/cyberimp/eyes/xray
- category = list("Medical Designs")
+ category = list("Misc", "Medical Designs")
/datum/design/cyberimp_thermals
name = "Thermals implant"
@@ -147,9 +161,10 @@
id = "ci-thermals"
req_tech = list("materials" = 7, "programming" = 5, "biotech" = 5, "magnets" = 5, "syndicate" = 5)
build_type = PROTOLATHE | MECHFAB
+ construction_time = 60
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_DIAMOND = 2000)
build_path = /obj/item/organ/internal/cyberimp/eyes/thermals
- category = list("Medical Designs")
+ category = list("Misc", "Medical Designs")
/datum/design/cyberimp_antidrop
name = "Anti-Drop implant"
@@ -157,6 +172,7 @@
id = "ci-antidrop"
req_tech = list("materials" = 7, "programming" = 5, "biotech" = 5)
build_type = PROTOLATHE | MECHFAB
+ construction_time = 60
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_SILVER = 400, MAT_GOLD = 400)
build_path = /obj/item/organ/internal/cyberimp/brain/anti_drop
category = list("Medical Designs")
@@ -167,6 +183,7 @@
id = "ci-antistun"
req_tech = list("materials" = 7, "programming" = 5, "biotech" = 6)
build_type = PROTOLATHE | MECHFAB
+ construction_time = 60
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_SILVER = 500, MAT_GOLD = 1000)
build_path = /obj/item/organ/internal/cyberimp/brain/anti_stun
category = list("Medical Designs")
@@ -177,6 +194,7 @@
id = "ci-nutriment"
req_tech = list("materials" = 6, "programming" = 4, "biotech" = 5)
build_type = PROTOLATHE | MECHFAB
+ construction_time = 40
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_GOLD = 500, MAT_URANIUM = 500)
build_path = /obj/item/organ/internal/cyberimp/chest/nutriment
category = list("Medical Designs")
@@ -187,6 +205,7 @@
id = "ci-nutrimentplus"
req_tech = list("materials" = 6, "programming" = 4, "biotech" = 6)
build_type = PROTOLATHE | MECHFAB
+ construction_time = 50
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_GOLD = 500, MAT_URANIUM = 750)
build_path = /obj/item/organ/internal/cyberimp/chest/nutriment/plus
category = list("Medical Designs")
@@ -197,6 +216,52 @@
id = "ci-reviver"
req_tech = list("materials" = 6, "programming" = 4, "biotech" = 7, "syndicate" = 4)
build_type = PROTOLATHE | MECHFAB
+ construction_time = 60
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_GOLD = 500, MAT_URANIUM = 1000, MAT_DIAMOND = 2000)
build_path = /obj/item/organ/internal/cyberimp/chest/reviver
+ category = list("Misc", "Medical Designs")
+
+
+/////////////////////////////////////////
+////////////Regular Implants/////////////
+/////////////////////////////////////////
+
+/datum/design/implanter
+ name = "Implanter"
+ desc = "A sterile automatic implant injector."
+ id = "implanter"
+ req_tech = list("materials" = 1, "programming" = 2, "biotech" = 3)
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 600, MAT_GLASS = 200)
+ build_path = /obj/item/weapon/implanter
+ category = list("Medical Designs")
+
+/datum/design/implantcase
+ name = "Implant Case"
+ desc = "A glass case containing an implant."
+ id = "implantcase"
+ req_tech = list("materials" = 1, "biotech" = 2)
+ build_type = PROTOLATHE
+ materials = list(MAT_GLASS = 500)
+ build_path = /obj/item/weapon/implantcase
+ category = list("Medical Designs")
+
+/datum/design/implant_freedom
+ name = "Freedom Implant Case"
+ desc = "A glass case containing an implant."
+ id = "implant_freedom"
+ req_tech = list("materials" = 2, "biotech" = 3, "magnets" = 3, "syndicate" = 5)
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 50, MAT_GLASS = 500, MAT_GOLD = 250)
+ build_path = /obj/item/weapon/implantcase/freedom
+ category = list("Medical Designs")
+
+/datum/design/implant_adrenalin
+ name = "Adrenalin Implant Case"
+ desc = "A glass case containing an implant."
+ id = "implant_adrenalin"
+ req_tech = list("materials" = 2, "biotech" = 5, "combat" = 3, "syndicate" = 6)
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 50, MAT_GLASS = 500, MAT_GOLD = 500, MAT_URANIUM = 100, MAT_DIAMOND = 200)
+ build_path = /obj/item/weapon/implantcase/adrenaline
category = list("Medical Designs")
\ No newline at end of file
diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm
index e57a3762319..acb72b88205 100644
--- a/code/modules/research/experimentor.dm
+++ b/code/modules/research/experimentor.dm
@@ -703,7 +703,8 @@
R.realProc = realProc
R.revealed = TRUE
dupes |= R
- R.throw_at(pick(oview(7,get_turf(src))),10,1)
+ spawn()
+ R.throw_at(pick(oview(7,get_turf(src))),10,1)
counter = 0
spawn(rand(10,100))
for(counter = 1; counter <= dupes.len; counter++)
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index a3e8c47888d..7cbe1fe68f1 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -60,7 +60,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
check_tech = new T()
if(check_tech.id == ID)
return_name = check_tech.name
- del(check_tech)
+ qdel(check_tech)
check_tech = null
break
@@ -94,7 +94,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
temp_reagent = new R()
if(temp_reagent.id == ID)
return_name = temp_reagent.name
- del(temp_reagent)
+ qdel(temp_reagent)
temp_reagent = null
break
return return_name
@@ -278,7 +278,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(linked_lathe) //Also sends salvaged materials to a linked protolathe, if any.
linked_lathe.m_amount += min((linked_lathe.max_material_storage - linked_lathe.TotalMaterials()), (linked_destroy.loaded_item.materials[MAT_METAL]*(linked_destroy.decon_mod/10)))
linked_lathe.g_amount += min((linked_lathe.max_material_storage - linked_lathe.TotalMaterials()), (linked_destroy.loaded_item.materials[MAT_GLASS]*(linked_destroy.decon_mod/10)))
- feedback_add_details("item_deconstructed","[linked_destroy.loaded_item.name]")
+ feedback_add_details("item_deconstructed","[linked_destroy.loaded_item.type]")
linked_destroy.loaded_item = null
else
screen = 1.0
@@ -421,7 +421,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
R = max((new_item.reliability/2), 0)
new_item.loc = linked_lathe.loc
if(!already_logged)
- feedback_add_details("item_printed","[new_item.name]|[amount]")
+ feedback_add_details("item_printed","[new_item.type]|[amount]")
already_logged = 1
linked_lathe.busy = 0
screen = old_screen
@@ -476,7 +476,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
var/obj/item/new_item = new P(src)
new_item.reliability = R
new_item.loc = linked_imprinter.loc
- feedback_add_details("circuit_printed","[new_item.name]")
+ feedback_add_details("circuit_printed","[new_item.type]")
linked_imprinter.busy = 0
screen = old_screen
updateUsrDialog()
@@ -575,7 +575,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
var/choice = alert("R&D Console Database Reset", "Are you sure you want to reset the R&D console's database? Data lost cannot be recovered.", "Continue", "Cancel")
if(choice == "Continue")
screen = 0.0
- del(files)
+ qdel(files)
files = new /datum/research(src)
spawn(20)
screen = 1.6
@@ -715,11 +715,14 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += "Load Design to Disk "
else
dat += "Name: [d_disk.blueprint.name] "
- dat += "Level: [Clamp((d_disk.blueprint.reliability + rand(-15,15)), 0, 100)] "
- switch(d_disk.blueprint.build_type)
- if(IMPRINTER) dat += "Lathe Type: Circuit Imprinter "
- if(PROTOLATHE) dat += "Lathe Type: Proto-lathe "
- if(AUTOLATHE) dat += "Lathe Type: Auto-lathe "
+ dat += "Level: [d_disk.blueprint.reliability] "
+ var/b_type = d_disk.blueprint.build_type
+ if(b_type)
+ dat += "Lathe Types: "
+ if(b_type & IMPRINTER) dat += "Circuit Imprinter "
+ if(b_type & PROTOLATHE) dat += "Proto-lathe "
+ if(b_type & AUTOLATHE) dat += "Auto-lathe "
+ if(b_type & MECHFAB) dat += "Mech Fabricator "
dat += "Required Materials: "
for(var/M in d_disk.blueprint.materials)
if(copytext(M, 1, 2) == "$") dat += "* [copytext(M, 2)] x [d_disk.blueprint.materials[M]] "
@@ -790,7 +793,12 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += "Origin Tech: "
var/list/temp_tech = linked_destroy.ConvertReqString2List(linked_destroy.loaded_item.origin_tech)
for(var/T in temp_tech)
- dat += "* [CallTechName(T)] [temp_tech[T]] "
+ dat += "* [CallTechName(T)] [temp_tech[T]]"
+ for(var/datum/tech/F in files.known_tech)
+ if(F.name == CallTechName(T))
+ dat += " (Current: [F.level])"
+ break
+ dat += " "
dat += "Options: "
dat += "Deconstruct Item "
dat += "Eject Item "
@@ -1102,4 +1110,4 @@ won't update every console in existence) but it's more of a hassle to do. Also,
/obj/machinery/computer/rdconsole/experiment
name = "E.X.P.E.R.I-MENTOR R&D Console"
desc = "A console used to interface with R&D tools."
- id = 1
+ id = 3
diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm
index ac43f99f99c..d164418c115 100644
--- a/code/modules/research/research.dm
+++ b/code/modules/research/research.dm
@@ -190,6 +190,7 @@ research holder datum.
var/desc = "description" //General description of what it does and what it makes.
var/id = "id" //An easily referenced ID. Must be alphanumeric, lower-case, and no symbols.
var/level = 1 //A simple number scale of the research level. Level 0 = Secret tech.
+ var/rare = 1 //How much CentCom wants to get that tech. Used in supply shuttle tech cost calculation.
var/list/req_tech = list() //List of ids associated values of techs required to research this tech. "id" = #
@@ -209,6 +210,7 @@ research holder datum.
name = "Plasma Research"
desc = "Research into the mysterious substance colloqually known as 'plasma'."
id = "plasmatech"
+ rare = 3
/datum/tech/powerstorage
name = "Power Manipulation Technology"
@@ -219,6 +221,7 @@ research holder datum.
name = "'Blue-space' Research"
desc = "Research into the sub-reality known as 'blue-space'"
id = "bluespace"
+ rare = 2
/datum/tech/biotech
name = "Biological Technology"
@@ -244,6 +247,8 @@ research holder datum.
name = "Illegal Technologies Research"
desc = "The study of technologies that violate Nanotrassen regulations."
id = "syndicate"
+ rare = 4
+
/*
/datum/tech/arcane
@@ -273,6 +278,26 @@ research holder datum.
*/
+/datum/tech/proc/getCost(var/current_level = null)
+ // Calculates tech disk's supply points sell cost
+ if(!current_level)
+ current_level = initial(level)
+
+ if(current_level >= level)
+ return 0
+
+ var/cost = 0
+ var/i
+ for(i=current_level+1, i<=level, i++)
+ if(i == initial(level))
+ continue
+ cost += i*5*rare
+
+ return cost
+
+
+
+
/obj/item/weapon/disk/tech_disk
name = "Technology Disk"
desc = "A disk for storing technology data for further research."
diff --git a/code/modules/surgery/organs/augments_eyes.dm b/code/modules/surgery/organs/augments_eyes.dm
index ab814cbf9df..4ef193183b1 100644
--- a/code/modules/surgery/organs/augments_eyes.dm
+++ b/code/modules/surgery/organs/augments_eyes.dm
@@ -121,7 +121,8 @@
origin_tech = "materials=4;biotech=3"
implant_color = "#101010"
flash_protect = 2
- // Welding with thermals will still hurt your eyes a bit.
+ aug_message = null
+ eye_color = "fff"
/obj/item/organ/internal/cyberimp/eyes/shield/emp_act(severity)
return
\ No newline at end of file
diff --git a/code/world.dm b/code/world.dm
index d515df42aed..9635e3fe995 100644
--- a/code/world.dm
+++ b/code/world.dm
@@ -19,10 +19,6 @@
#endif
//logs
var/date_string = time2text(world.realtime, "YYYY/MM-Month/DD-Day")
-// if(revdata && istext(revdata.revision) && length(revdata.revision)>7)
-// log = file("data/logs/runtime/[copytext(revdata.revision,1,8)].log")
-// else
-// log = file("data/logs/runtime/[time2text(world.realtime,"YYYY-MM")].log") //funtimelog
href_logfile = file("data/logs/[date_string] hrefs.htm")
diary = file("data/logs/[date_string].log")
diaryofmeanpeople = file("data/logs/[date_string] Attack.log")
@@ -46,7 +42,6 @@
investigate_reset()
if(config && config.server_name != null && config.server_suffix && world.port > 0)
- // dumb and hardcoded but I don't care~
config.server_name += " #[(world.port % 1000) / 100]"
timezoneOffset = text2num(time2text(0,"hh")) * 36000
@@ -128,7 +123,7 @@
if(input["key"] != global.comms_key)
return "Bad Key"
else
-#define CHAT_PULLR 64 //for some reason this has to be here, not sure why. Look in preferences.dm for the "proper" definition.
+#define CHAT_PULLR 64 //defined in preferences.dm, but not available here at compilation time
for(var/client/C in clients)
if(C.prefs && (C.prefs.chat_toggles & CHAT_PULLR))
C << "PR: [input["announce"]] "
@@ -156,7 +151,6 @@
#ifdef dellogging
var/log = file("data/logs/del.log")
log << time2text(world.realtime)
- //mergeSort(del_counter, /proc/cmp_descending_associative) //still testing the sorting procs. Use notepad++ to sort the resultant logfile for now.
for(var/index in del_counter)
var/count = del_counter[index]
if(count > 10)
@@ -170,7 +164,6 @@
for(var/client/C in clients)
if(config.server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite
C << link("byond://[config.server]")
- // Note: all clients automatically connect to the world after it restarts
..(0)
@@ -295,4 +288,4 @@ var/failed_db_connections = 0
else
return 1
-#undef FAILED_DB_CONNECTION_CUTOFF
\ No newline at end of file
+#undef FAILED_DB_CONNECTION_CUTOFF
diff --git a/config/admins.txt b/config/admins.txt
index f708dcc3df4..789c36cc02d 100644
--- a/config/admins.txt
+++ b/config/admins.txt
@@ -32,7 +32,7 @@ korphaeron = Game Master
nodrak = Game Master
carnwennan = Game Master
ikarrus = Game Master
-cheridan = Game Master
+cheridan = Admin Observer
giacomand = Game Master
rockdtben = Game Master
sieve = Game Master
@@ -91,4 +91,4 @@ drovidicorv = Game Master
Dunc = Game Master
MMMiracles = Game Master
bear1ake = Game Master
-CoreOverload = Game Master
\ No newline at end of file
+CoreOverload = Game Master
diff --git a/config/config.txt b/config/config.txt
index c40c7cc783f..6f12881387b 100644
--- a/config/config.txt
+++ b/config/config.txt
@@ -193,4 +193,7 @@ NOTIFY_NEW_PLAYER_AGE 0
#AGGRESSIVE_CHANGELOG
## Uncomment to have the game log runtimes to the log folder. (Note: this disables normal output in dd/ds, so it should be left off for testing.
-#LOG_RUNTIMES
\ No newline at end of file
+#LOG_RUNTIMES
+
+##Comment this out if you've used the mass conversion sql proc for notes or want to stop converting notes
+AUTOCONVERT_NOTES
\ No newline at end of file
diff --git a/html/changelog.html b/html/changelog.html
index 2161dfe8fef..821377b3ad1 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -55,6 +55,64 @@
-->
+
28 August 2015
+
bgobandit updated:
+
+ Overheard at CentComm: 'This burn kit said salicyclic acid would heal my burns! WHO MADE THIS SHIT?' A muffled honking is heard in the background. (Burn first-aid kits now contain an appropriate burn pill.)
+ Oxandrolone, a new burn healing medication, has been added to burn first-aid kits and to chemistry. Ingesting 25 units or more causes burn and brute damage.
+
+
+
19 August 2015
+
Joan updated:
+
+ Added a new revenant ability; Malfunction. It does bad stuff to machines.
+ Defile and Overload Lights now briefly stun the revenant.
+ You can now Harvest a target by clicking on them while next to them.
+ Harvesting no longer leaves you draining if the target is deleted mid-drain attempt.
+ Defile no longer emags bots or disables cyborgs, Malfunction does that now.
+
+
Kor updated:
+
+ The Ranged and Scout guardian types have been merged, and gained a new surveillance snare ability.
+
+
SconesC updated:
+
+ Added Military Belts to traitor uplinks.
+
+
bgobandit updated:
+
+ CentComm now offers its cargo department toys, as well as detective gear so their boss can figure out which tech wasted all the points on them.
+
+
phil235 updated:
+
+ You can now partially protect yourself from blob attack effects by wearing impermeable clothes like hardsuits, medical clothes, masks, etc. Max protection effect is capped at 50%.
+ Splashing someone with chemicals no longer injects those chemicals in their body.
+ Fixes splashing acid on items or floor with items not having any effect.
+
+
+
18 August 2015
+
CoreOverload updated:
+
+ Added a new low-tech eye cyberimplant in RnD - welding shield implant.
+ Implanter and empty implant case added to protolathe.
+ You can sell tech disks and maxed reliability design disks in cargo for supply points.
+ DA menu shows current research levels.
+ You can print cyberimplants in updated mech fab.
+
+
Supermichael777 updated:
+
+ Added an ooc hotkey for borgs = O. They simply didn't have one and it was a consistency issue
+ Also added Ctrl+O as an any mode keycombo so you dont have to backspace and type ooc. Added to hotkey mode to remain consistent with all other Ctrl combos
+
+
bustygoku updated:
+
+ Most backpacks now have 21 or more slots, but are still weight restricted. What this means is that you can have a lot of tiny weight items, but only 7 medium items just like before.
+
+
phil235 updated:
+
+ Janicart rider no longer slip on wet floor or bananas. Moving on a floor tile with lube while buckled (chair, roller bed, etc) will make you fall off.
+
+
16 August 2015
Joan updated:
diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml
index 935d513282d..b84356a720c 100644
--- a/html/changelogs/.all_changelog.yml
+++ b/html/changelogs/.all_changelog.yml
@@ -1601,3 +1601,55 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
MMMiracles:
- tweak: Revamps bioterror darts into a less-lethal, syringe form. Removed the coniine
and spore toxins to keep it solely for quiet take-downs.
+2015-08-18:
+ CoreOverload:
+ - rscadd: Added a new low-tech eye cyberimplant in RnD - welding shield implant.
+ - rscadd: Implanter and empty implant case added to protolathe.
+ - rscadd: You can sell tech disks and maxed reliability design disks in cargo for
+ supply points.
+ - tweak: DA menu shows current research levels.
+ - tweak: You can print cyberimplants in updated mech fab.
+ Supermichael777:
+ - bugfix: Added an ooc hotkey for borgs = O. They simply didn't have one and it
+ was a consistency issue
+ - rscadd: Also added Ctrl+O as an any mode keycombo so you dont have to backspace
+ and type ooc. Added to hotkey mode to remain consistent with all other Ctrl
+ combos
+ bustygoku:
+ - tweak: Most backpacks now have 21 or more slots, but are still weight restricted.
+ What this means is that you can have a lot of tiny weight items, but only 7
+ medium items just like before.
+ phil235:
+ - tweak: Janicart rider no longer slip on wet floor or bananas. Moving on a floor
+ tile with lube while buckled (chair, roller bed, etc) will make you fall off.
+2015-08-19:
+ Joan:
+ - rscadd: Added a new revenant ability; Malfunction. It does bad stuff to machines.
+ - tweak: Defile and Overload Lights now briefly stun the revenant.
+ - tweak: You can now Harvest a target by clicking on them while next to them.
+ - bugfix: Harvesting no longer leaves you draining if the target is deleted mid-drain
+ attempt.
+ - rscdel: Defile no longer emags bots or disables cyborgs, Malfunction does that
+ now.
+ Kor:
+ - rscadd: The Ranged and Scout guardian types have been merged, and gained a new
+ surveillance snare ability.
+ SconesC:
+ - rscadd: Added Military Belts to traitor uplinks.
+ bgobandit:
+ - rscadd: CentComm now offers its cargo department toys, as well as detective gear
+ so their boss can figure out which tech wasted all the points on them.
+ phil235:
+ - rscadd: You can now partially protect yourself from blob attack effects by wearing
+ impermeable clothes like hardsuits, medical clothes, masks, etc. Max protection
+ effect is capped at 50%.
+ - rscdel: Splashing someone with chemicals no longer injects those chemicals in
+ their body.
+ - bugfix: Fixes splashing acid on items or floor with items not having any effect.
+2015-08-28:
+ bgobandit:
+ - bugfix: 'Overheard at CentComm: ''This burn kit said salicyclic acid would heal
+ my burns! WHO MADE THIS SHIT?'' A muffled honking is heard in the background.
+ (Burn first-aid kits now contain an appropriate burn pill.)'
+ - rscadd: Oxandrolone, a new burn healing medication, has been added to burn first-aid
+ kits and to chemistry. Ingesting 25 units or more causes burn and brute damage.
diff --git a/html/create_object.html b/html/create_object.html
index f4e0aa8644c..ac47cc7769b 100644
--- a/html/create_object.html
+++ b/html/create_object.html
@@ -39,7 +39,7 @@
Where:
On floor below own mob
-
+ In own mob's hand
In marked object
@@ -54,7 +54,6 @@
var objects = object_paths == null ? new Array() : object_paths.split(";");
document.spawner.filter.focus();
- populateList(objects);
function populateList(from_list)
{
@@ -72,11 +71,6 @@
function updateSearch()
{
- if (old_search == document.spawner.filter.value)
- {
- return;
- }
-
old_search = document.spawner.filter.value;
diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi
index e33396b7049..eefdb1ad455 100644
Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ
diff --git a/icons/mob/human.dmi b/icons/mob/human.dmi
index 2156fd46e0a..cb72485b1bc 100644
Binary files a/icons/mob/human.dmi and b/icons/mob/human.dmi differ
diff --git a/icons/mob/inhands/clothing_lefthand.dmi b/icons/mob/inhands/clothing_lefthand.dmi
index d36bbaeda97..84cb19f814b 100644
Binary files a/icons/mob/inhands/clothing_lefthand.dmi and b/icons/mob/inhands/clothing_lefthand.dmi differ
diff --git a/icons/mob/inhands/clothing_righthand.dmi b/icons/mob/inhands/clothing_righthand.dmi
index 65366e873a4..248431514e1 100644
Binary files a/icons/mob/inhands/clothing_righthand.dmi and b/icons/mob/inhands/clothing_righthand.dmi differ
diff --git a/icons/mob/swarmer.dmi b/icons/mob/swarmer.dmi
new file mode 100644
index 00000000000..96a9f9ae09e
Binary files /dev/null and b/icons/mob/swarmer.dmi differ
diff --git a/icons/obj/apc_repair.dmi b/icons/obj/apc_repair.dmi
index df295e2551b..8f66aa27c86 100644
Binary files a/icons/obj/apc_repair.dmi and b/icons/obj/apc_repair.dmi differ
diff --git a/icons/obj/assemblies/new_assemblies.dmi b/icons/obj/assemblies/new_assemblies.dmi
index ae869fa9094..6255dc886d3 100644
Binary files a/icons/obj/assemblies/new_assemblies.dmi and b/icons/obj/assemblies/new_assemblies.dmi differ
diff --git a/icons/obj/doors/door_assembly.dmi b/icons/obj/doors/door_assembly.dmi
index 06689649d8e..8812c0a4217 100644
Binary files a/icons/obj/doors/door_assembly.dmi and b/icons/obj/doors/door_assembly.dmi differ
diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi
index c35457d7a25..0439da5683c 100644
Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ
diff --git a/icons/obj/module.dmi b/icons/obj/module.dmi
index 8a522bf5746..e7fc43e6109 100644
Binary files a/icons/obj/module.dmi and b/icons/obj/module.dmi differ
diff --git a/icons/obj/smooth_structures/reinforced_table.dmi b/icons/obj/smooth_structures/reinforced_table.dmi
index be12e9f5fb5..85de93594f9 100644
Binary files a/icons/obj/smooth_structures/reinforced_table.dmi and b/icons/obj/smooth_structures/reinforced_table.dmi differ
diff --git a/icons/obj/smooth_structures/table.dmi b/icons/obj/smooth_structures/table.dmi
index 3037760db99..ffd88a84fc7 100644
Binary files a/icons/obj/smooth_structures/table.dmi and b/icons/obj/smooth_structures/table.dmi differ
diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi
index 67f94673571..a0ad4429129 100644
Binary files a/icons/obj/stationobjs.dmi and b/icons/obj/stationobjs.dmi differ
diff --git a/interface/interface.dm b/interface/interface.dm
index a97aa48e385..578e0f084fd 100644
--- a/interface/interface.dm
+++ b/interface/interface.dm
@@ -112,6 +112,7 @@ Any-Mode: (hotkey doesn't need to be on)
\tCtrl+e = equip
\tCtrl+r = throw
\tCtrl+b = resist
+\tCtrl+O = OOC
\tCtrl+x = swap-hand
\tCtrl+z = activate held object (or Ctrl+y)
\tCtrl+f = cycle-intents-left
@@ -141,6 +142,7 @@ Hotkey-Mode: (hotkey-mode must be on)
\tw = up
\tq = unequip active module
\tt = say
+\to = OOC
\tx = cycle active modules
\tb = resist
\tz = activate held object (or y)
@@ -161,6 +163,7 @@ Any-Mode: (hotkey doesn't need to be on)
\tCtrl+q = unequip active module
\tCtrl+x = cycle active modules
\tCtrl+b = resist
+\tCtrl+o = OOC
\tCtrl+z = activate held object (or Ctrl+y)
\tCtrl+f = cycle-intents-left
\tCtrl+g = cycle-intents-right
diff --git a/interface/skin.dmf b/interface/skin.dmf
index 7db57837c75..ef5ae3f9ebf 100644
--- a/interface/skin.dmf
+++ b/interface/skin.dmf
@@ -107,6 +107,14 @@ macro "borghotkeymode"
name = "CTRL+B"
command = "resist"
is-disabled = false
+ elem
+ name = "O"
+ command = "ooc"
+ is-disabled = false
+ elem
+ name = "CTRL+O"
+ command = "ooc"
+ is-disabled = false
elem
name = "D+REP"
command = ".east"
@@ -373,6 +381,10 @@ macro "macro"
name = "F5"
command = "Aghost"
is-disabled = false
+ elem
+ name = "CTRL+O"
+ command = "ooc"
+ is-disabled = false
elem
name = "F6"
command = "Player-Panel"
@@ -543,6 +555,10 @@ macro "hotkeymode"
name = "O"
command = "ooc"
is-disabled = false
+ elem
+ name = "CTRL+O"
+ command = "ooc"
+ is-disabled = false
elem
name = "Q"
command = ".northwest"
@@ -725,6 +741,10 @@ macro "borgmacro"
name = "CTRL+B"
command = "resist"
is-disabled = false
+ elem
+ name = "CTRL+O"
+ command = "ooc"
+ is-disabled = false
elem
name = "CTRL+D+REP"
command = ".east"
diff --git a/tgstation.dme b/tgstation.dme
index e9a6315e396..20650c89e23 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -27,6 +27,7 @@
#include "code\__DEFINES\machines.dm"
#include "code\__DEFINES\math.dm"
#include "code\__DEFINES\misc.dm"
+#include "code\__DEFINES\pipe_construction.dm"
#include "code\__DEFINES\preferences.dm"
#include "code\__DEFINES\qdel.dm"
#include "code\__DEFINES\say.dm"
@@ -153,7 +154,6 @@
#include "code\controllers\subsystem\shuttles\supply.dm"
#include "code\datums\ai_laws.dm"
#include "code\datums\browser.dm"
-#include "code\datums\computerfiles.dm"
#include "code\datums\datacore.dm"
#include "code\datums\datumvars.dm"
#include "code\datums\debug.dm"
@@ -392,7 +392,6 @@
#include "code\game\machinery\cloning.dm"
#include "code\game\machinery\constructable_frame.dm"
#include "code\game\machinery\deployable.dm"
-#include "code\game\machinery\door_control.dm"
#include "code\game\machinery\doppler_array.dm"
#include "code\game\machinery\droneDispenser.dm"
#include "code\game\machinery\flasher.dm"
@@ -821,10 +820,11 @@
#include "code\modules\admin\IsBanned.dm"
#include "code\modules\admin\NewBan.dm"
#include "code\modules\admin\newbanjob.dm"
-#include "code\modules\admin\player_notes.dm"
#include "code\modules\admin\player_panel.dm"
#include "code\modules\admin\secrets.dm"
+#include "code\modules\admin\sql_notes.dm"
#include "code\modules\admin\topic.dm"
+#include "code\modules\admin\watchlist.dm"
#include "code\modules\admin\DB ban\functions.dm"
#include "code\modules\admin\permissionverbs\permissionedit.dm"
#include "code\modules\admin\verbs\adminhelp.dm"
@@ -859,6 +859,7 @@
#include "code\modules\admin\verbs\SDQL2\SDQL_2_parser.dm"
#include "code\modules\assembly\assembly.dm"
#include "code\modules\assembly\bomb.dm"
+#include "code\modules\assembly\doorcontrol.dm"
#include "code\modules\assembly\helpers.dm"
#include "code\modules\assembly\holder.dm"
#include "code\modules\assembly\igniter.dm"
@@ -1117,6 +1118,7 @@
#include "code\modules\mob\living\carbon\carbon_defines.dm"
#include "code\modules\mob\living\carbon\death.dm"
#include "code\modules\mob\living\carbon\emote.dm"
+#include "code\modules\mob\living\carbon\examine.dm"
#include "code\modules\mob\living\carbon\inventory.dm"
#include "code\modules\mob\living\carbon\life.dm"
#include "code\modules\mob\living\carbon\say.dm"
@@ -1182,7 +1184,6 @@
#include "code\modules\mob\living\carbon\human\whisper.dm"
#include "code\modules\mob\living\carbon\monkey\death.dm"
#include "code\modules\mob\living\carbon\monkey\emote.dm"
-#include "code\modules\mob\living\carbon\monkey\examine.dm"
#include "code\modules\mob\living\carbon\monkey\inventory.dm"
#include "code\modules\mob\living\carbon\monkey\life.dm"
#include "code\modules\mob\living\carbon\monkey\login.dm"
@@ -1230,6 +1231,7 @@
#include "code\modules\mob\living\simple_animal\parrot.dm"
#include "code\modules\mob\living\simple_animal\shade.dm"
#include "code\modules\mob\living\simple_animal\simple_animal.dm"
+#include "code\modules\mob\living\simple_animal\bot_swarm\swarmer.dm"
#include "code\modules\mob\living\simple_animal\friendly\butterfly.dm"
#include "code\modules\mob\living\simple_animal\friendly\cat.dm"
#include "code\modules\mob\living\simple_animal\friendly\crab.dm"
diff --git a/tools/mapmerge/dmm2tgm/Source/dmm2tgm.py b/tools/dmm2tgm/Source/dmm2tgm.py
similarity index 100%
rename from tools/mapmerge/dmm2tgm/Source/dmm2tgm.py
rename to tools/dmm2tgm/Source/dmm2tgm.py
diff --git a/tools/mapmerge/dmm2tgm/_hashlib.pyd b/tools/dmm2tgm/_hashlib.pyd
similarity index 100%
rename from tools/mapmerge/dmm2tgm/_hashlib.pyd
rename to tools/dmm2tgm/_hashlib.pyd
diff --git a/tools/mapmerge/dmm2tgm/bz2.pyd b/tools/dmm2tgm/bz2.pyd
similarity index 100%
rename from tools/mapmerge/dmm2tgm/bz2.pyd
rename to tools/dmm2tgm/bz2.pyd
diff --git a/tools/mapmerge/dmm2tgm/dmm2tgm.exe b/tools/dmm2tgm/dmm2tgm.exe
similarity index 100%
rename from tools/mapmerge/dmm2tgm/dmm2tgm.exe
rename to tools/dmm2tgm/dmm2tgm.exe
diff --git a/tools/mapmerge/dmm2tgm/library.zip b/tools/dmm2tgm/library.zip
similarity index 100%
rename from tools/mapmerge/dmm2tgm/library.zip
rename to tools/dmm2tgm/library.zip
diff --git a/tools/mapmerge/dmm2tgm/python27.dll b/tools/dmm2tgm/python27.dll
similarity index 100%
rename from tools/mapmerge/dmm2tgm/python27.dll
rename to tools/dmm2tgm/python27.dll
diff --git a/tools/mapmerge/dmm2tgm/select.pyd b/tools/dmm2tgm/select.pyd
similarity index 100%
rename from tools/mapmerge/dmm2tgm/select.pyd
rename to tools/dmm2tgm/select.pyd
diff --git a/tools/mapmerge/dmm2tgm/unicodedata.pyd b/tools/dmm2tgm/unicodedata.pyd
similarity index 100%
rename from tools/mapmerge/dmm2tgm/unicodedata.pyd
rename to tools/dmm2tgm/unicodedata.pyd
diff --git a/tools/mapmerge/dmm2tgm/w9xpopen.exe b/tools/dmm2tgm/w9xpopen.exe
similarity index 100%
rename from tools/mapmerge/dmm2tgm/w9xpopen.exe
rename to tools/dmm2tgm/w9xpopen.exe
diff --git a/tools/mapmerge/MapMerge.jar b/tools/mapmerge/MapMerge.jar
index c8e4349ba42..d0f0ce08028 100644
Binary files a/tools/mapmerge/MapMerge.jar and b/tools/mapmerge/MapMerge.jar differ
diff --git a/tools/mapmerge/Source/bin/MapMerge.class b/tools/mapmerge/Source/bin/MapMerge.class
index 9a6d17f143f..dff913a6b94 100644
Binary files a/tools/mapmerge/Source/bin/MapMerge.class and b/tools/mapmerge/Source/bin/MapMerge.class differ
diff --git a/tools/mapmerge/Source/src/MapMerge.java b/tools/mapmerge/Source/src/MapMerge.java
index a2058480a21..552a406b13d 100644
--- a/tools/mapmerge/Source/src/MapMerge.java
+++ b/tools/mapmerge/Source/src/MapMerge.java
@@ -88,7 +88,9 @@ public class MapMerge {
String to_save = selected_map;
String[] passInto = { "-clean", backup_map, edited_map, to_save };
MapPatcher.main(passInto);
- try{
+
+ // Will try to fix when I have time ~CorruptComputer
+ /*try{
Process process = new ProcessBuilder("dmm2tgm\\dmm2tgm.exe", selected_map).start();
}catch(Exception e1){
System.out.println("You are not on a windows machine, trying the .py");
@@ -99,6 +101,7 @@ public class MapMerge {
System.out.println("Downloads can be found here: https://www.python.org/downloads/");
}
}
+ */
}
}