diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 00000000000..d90dd34b993
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,4 @@
+[*]
+insert_final_newline = false
+indent_style = tab
+indent_size = 4
diff --git a/.gitignore b/.gitignore
index a044f7f60cc..f0dec2981e2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -163,7 +163,8 @@ $RECYCLE.BIN/
.LSOverride
# Icon must end with two \r
-Icon
+Icon
+
# Thumbnails
._*
@@ -184,3 +185,10 @@ Temporary Items
.apdisk
*.before
+
+#Sublime
+*.sublime-project
+*.sublime-workspace
+
+#Visual studio stuff
+*.vscode/*
diff --git a/.travis.yml b/.travis.yml
index 8273b1e69ab..cc507814c92 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,16 +7,12 @@ env:
- BYOND_MINOR="1346"
- NODE_VERSION="4"
- BUILD_TOOLS=false
- - DM_MAPFILE=""
+ - BUILD_TESTING=false
+ - DM_MAPFILE="loadallmaps"
matrix:
- BUILD_TOOLS=true
- - DM_MAPFILE="tgstation2"
- - DM_MAPFILE="metastation"
- - DM_MAPFILE="birdstation"
- - DM_MAPFILE="pubbystation"
- - DM_MAPFILE="templates"
- - DM_MAPFILE="omegastation"
- - DM_MAPFILE="deltastation"
+ - BUILD_TESTING=true
+ - BUILD_TESTING=false
cache:
directories:
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 9b5c18fdc2f..c24b494ce45 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -138,12 +138,15 @@ First, read the comments in this byond thread, starting here:http://www.byond.co
There are two key points here:
-1) Defining a list in the type definition incurs a hidden proc call - init, if you must define a list at startup, do so in New() and avoid the overhead of a second call (init() and then new())
+1) Defining a list in the type definition incurs a hidden proc call - init, if you must define a list at startup, do so in New()/Initialize and avoid the overhead of a second call (init() and then new())
2)Offsets list creation overhead to the point where the list is actually required (which for many objects, may be never at all).
Remember, this tradeoff makes sense in many cases but not all, you should think carefully about your implementation before deciding if this is an appropriate thing to do
+###Prefer `Initialize` over `New` for atoms
+Our game controller is pretty good at handling long operations and lag. But, it can't control what happens when the map is loaded, which calls `New` for all atoms on the map. If you're creating a new atom, use the `Initialize` proc to do what you would normally do in `New`, and only use `New` if you need to pass arguments other than `loc` on construction. This cuts down on the number of proc calls needed when the world is loaded. See here for details on `Initialize`: https://github.com/tgstation/tgstation/blob/master/code/game/atoms.dm#L438
+
###No magic numbers or strings
Make these #defines with a name that more clearly states what it's for.
diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md
index f5cf538133d..f5fa86a76d9 100644
--- a/ISSUE_TEMPLATE.md
+++ b/ISSUE_TEMPLATE.md
@@ -1,3 +1,3 @@
-[Note]: # (State what the issue is from a "whats wrong" prospective. Issue reports should clearly allow maintainers to understand whats wrong and how to test/reproduce if that is not obvious. Avoid ambiguity. Start your issue report below both of these lines (or remove them))
+[Note]: # (Please enter the commit hash and active testmerge numbers from the "Show Server Revision" verb if you can. If you believe the issue to be caused by a testmerge, please report it in its relative PR thread. State what the issue is from a "whats wrong" prospective. Issue reports should clearly allow maintainers to understand whats wrong and how to test/reproduce if that is not obvious. Avoid ambiguity. Start your issue report below both of these lines (or remove them))
[Admins]: # (If you are reporting a bug that occured AFTER you used varedit/admin buttons to alter an object out of normal operating conditions, please verify that you can re-create the bug without the varedit usage/admin buttons before reporting the issue.)
diff --git a/README.md b/README.md
index f58e9ddd2c9..1db44ec0568 100644
--- a/README.md
+++ b/README.md
@@ -90,13 +90,13 @@ the new version.
* [tgstation2 (default)](http://tgstation13.org/wiki/Boxstation)
* [MetaStation](https://tgstation13.org/wiki/MetaStation)
-* [MiniStation](http://tgstation13.org/wiki/MiniStation)
-* [AsteroidStation](https://tgstation13.org/wiki/AsteroidStation)
* [BirdStation](https://tgstation13.org/wiki/BirdStation)
-* [DreamStation](https://tgstation13.org/wiki/Dreamstation)
-* [EfficiencyStation](https://tgstation13.org/wiki/Efficiency_Station)
+* [DeltaStation](https://tgstation13.org/wiki/DeltaStation)
+* [OmegaStation](https://tgstation13.org/wiki/OmegaStation)
+* [PubbyStation](https://tgstation13.org/wiki/PubbyStation)
-All maps have their own code file that is in the base of the _maps directory. Instead of loading the map directly we instead use a code file to include the map and then include any other code changes that are needed for it; for example MiniStation changes the uplink items for the map. Follow this guideline when adding your own map, to your fork, for easy compatibility.
+
+All maps have their own code file that is in the base of the _maps directory. Instead of loading the map directly we instead use a code file to include the map and then include any other code changes that are needed for it. Follow this guideline when adding your own map, to your fork, for easy compatibility.
If you want to load a different map, just open the corresponding map's code file in Dream Maker, make sure all of the other map code files are unticked in the file tree, in the left side of the screen, and then make sure the map code file you want is ticked.
diff --git a/SQL/database_changelog.txt b/SQL/database_changelog.txt
index 9754c511d0f..bf765a0806d 100644
--- a/SQL/database_changelog.txt
+++ b/SQL/database_changelog.txt
@@ -1,3 +1,38 @@
+30 January 2017, by Lzimann
+
+Modified table 'death', adding the columns 'mapname' and 'server'.
+
+ALTER TABLE `death` ADD COLUMN `mapname` TEXT NOT NULL AFTER `coord`, ADD COLUMN `server` TEXT NOT NULL AFTER `mapname`
+
+Remember to add a prefix to the table name if you use them
+
+----------------------------------------------------
+
+25 January 2017, by Jordie0608
+
+Created table 'messages' to supersede the 'notes', 'memos', and 'watchlist' tables; they must be collated into this new table
+
+To create this new table run the following command:
+
+CREATE TABLE `feedback`.`messages` (`id` INT(11) NOT NULL AUTO_INCREMENT , `type` VARCHAR(32) NOT NULL , `targetckey` VARCHAR(32) NOT NULL , `adminckey` VARCHAR(32) NOT NULL , `text` TEXT NOT NULL , `timestamp` DATETIME NOT NULL , `server` VARCHAR(32) NULL , `secret` TINYINT(1) NULL DEFAULT 1 , `lasteditor` VARCHAR(32) NULL , `edits` TEXT NULL , PRIMARY KEY (`id`) )
+
+To copy the contents of the 'notes', 'memos', and 'watchlist' tables to this new table run the following commands:
+
+INSERT INTO `feedback`.`messages`
+(`id`,`type`,`targetckey`,`adminckey`,`text`,`timestamp`,`server`,`secret`,`lasteditor`,`edits`) SELECT `id`, "note", `ckey`, `adminckey`, `notetext`, `timestamp`, `server`, `secret`, `last_editor`, `edits` FROM `feedback`.`notes`
+
+INSERT INTO `feedback`.`messages`
+(`type`,`targetckey`,`adminckey`,`text`,`timestamp`,`lasteditor`,`edits`) SELECT "memo", `ckey`, `ckey`, `memotext`, `timestamp`, `last_editor`, `edits` FROM `feedback`.`memo`
+
+INSERT INTO `feedback`.`messages`
+(`type`,`targetckey`,`adminckey`,`text`,`timestamp`,`lasteditor`,`edits`) SELECT "watchlist entry", `ckey`, `adminckey`, `reason`, `timestamp`, `last_editor`, `edits` FROM `feedback`.`watch`
+
+It's not necessary to delete the 'notes', 'memos', and 'watchlist' tables but they will no longer be used.
+
+Remember to add a prefix to the table names if you use them
+
+----------------------------------------------------
+
1 September 2016, by Jordie0608
Modified table 'notes', adding column 'secret'.
diff --git a/SQL/tgstation_schema.sql b/SQL/tgstation_schema.sql
index d476d5202b9..e751b130890 100644
--- a/SQL/tgstation_schema.sql
+++ b/SQL/tgstation_schema.sql
@@ -135,6 +135,8 @@ CREATE TABLE `death` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`pod` text NOT NULL COMMENT 'Place of death',
`coord` text NOT NULL COMMENT 'X, Y, Z POD',
+ `mapname` text NOT NULL,
+ `server` text NOT NULL,
`tod` datetime NOT NULL COMMENT 'Time of death',
`job` text NOT NULL,
`special` text NOT NULL,
@@ -147,6 +149,7 @@ CREATE TABLE `death` (
`brainloss` int(11) NOT NULL,
`fireloss` int(11) NOT NULL,
`oxyloss` int(11) NOT NULL,
+
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -311,69 +314,38 @@ CREATE TABLE `poll_vote` (
/*!40101 SET character_set_client = @saved_cs_client */;
--
--- Table structure for table `watch`
+-- Table structure for table `ipintel`
--
-DROP TABLE IF EXISTS `watch`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `watch` (
- `ckey` varchar(32) NOT NULL,
- `reason` text NOT NULL,
- `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 */;
-
---
--- Table structure for table `memo`
---
-
-DROP TABLE IF EXISTS `memo`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `memo` (
- `ckey` varchar(32) NOT NULL,
- `memotext` text NOT NULL,
- `timestamp` datetime NOT NULL,
- `last_editor` varchar(32),
- `edits` text,
- PRIMARY KEY (`ckey`)
-) 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,
- `secret` tinyint(1) NOT NULL DEFAULT '1',
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
DROP TABLE IF EXISTS `ipintel`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `ipintel` (
+CREATE TABLE `ipintel` (
`ip` INT UNSIGNED NOT NULL ,
`date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL ,
`intel` REAL NOT NULL DEFAULT '0',
PRIMARY KEY ( `ip` )
) ENGINE = INNODB;
/*!40101 SET character_set_client = @saved_cs_client */;
--- Dump completed on 2013-03-24 18:02:35
+
+--
+-- Table structure for table `messages`
+--
+
+DROP TABLE IF EXISTS `messages`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `messages` (
+ `id` int(11) NOT NULL AUTO_INCREMENT ,
+ `type` varchar(32) NOT NULL ,
+ `targetckey` varchar(32) NOT NULL ,
+ `adminckey` varchar(32) NOT NULL ,
+ `text` text NOT NULL ,
+ `timestamp` datetime NOT NULL ,
+ `server` varchar(32) NULL ,
+ `secret` tinyint(1) NULL DEFAULT 1 ,
+ `lasteditor` varchar(32) NULL ,
+ `edits` text NULL ,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
diff --git a/SQL/tgstation_schema_prefixed.sql b/SQL/tgstation_schema_prefixed.sql
index f605339ee3d..63d32eed08e 100644
--- a/SQL/tgstation_schema_prefixed.sql
+++ b/SQL/tgstation_schema_prefixed.sql
@@ -135,6 +135,8 @@ CREATE TABLE `SS13_death` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`pod` text NOT NULL COMMENT 'Place of death',
`coord` text NOT NULL COMMENT 'X, Y, Z POD',
+ `mapname` text NOT NULL,
+ `server` text NOT NULL,
`tod` datetime NOT NULL COMMENT 'Time of death',
`job` text NOT NULL,
`special` text NOT NULL,
@@ -306,69 +308,38 @@ CREATE TABLE `SS13_poll_vote` (
/*!40101 SET character_set_client = @saved_cs_client */;
--
--- Table structure for table `SS13_watch`
+-- Table structure for table `SS13_ipintel`
--
-DROP TABLE IF EXISTS `SS13_watch`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `SS13_watch` (
- `ckey` varchar(32) NOT NULL,
- `reason` text NOT NULL,
- `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 */;
-
---
--- Table structure for table `SS13_memo`
---
-
-DROP TABLE IF EXISTS `SS13_memo`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `SS13_memo` (
- `ckey` varchar(32) NOT NULL,
- `memotext` text NOT NULL,
- `timestamp` datetime NOT NULL,
- `last_editor` varchar(32),
- `edits` text,
- PRIMARY KEY (`ckey`)
-) 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,
- `secret` tinyint(1) NOT NULL DEFAULT '1',
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
DROP TABLE IF EXISTS `SS13_ipintel`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `SS13_ipintel` (
+CREATE TABLE `SS13_ipintel` (
`ip` INT UNSIGNED NOT NULL ,
`date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL ,
`intel` REAL NOT NULL DEFAULT '0',
PRIMARY KEY ( `ip` )
) ENGINE = INNODB;
/*!40101 SET character_set_client = @saved_cs_client */;
--- Dump completed on 2013-03-24 18:02:35
+
+--
+-- Table structure for table `SS13_messages`
+--
+
+DROP TABLE IF EXISTS `SS13_messages`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `SS13_messages` (
+ `id` int(11) NOT NULL AUTO_INCREMENT ,
+ `type` varchar(32) NOT NULL ,
+ `targetckey` varchar(32) NOT NULL ,
+ `adminckey` varchar(32) NOT NULL ,
+ `text` text NOT NULL ,
+ `timestamp` datetime NOT NULL ,
+ `server` varchar(32) NULL ,
+ `secret` tinyint(1) NULL DEFAULT 1 ,
+ `lasteditor` varchar(32) NULL ,
+ `edits` text NULL ,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm b/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
index adfeee4af1a..381e9b96fb3 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/template_noop,
/area/template_noop)
@@ -158,11 +158,13 @@
/turf/open/floor/plating/beach/sand,
/area/ruin/powered)
"aB" = (
-/turf/open/floor/plasteel/asteroid/warning{
+/turf/open/floor/plasteel/asteroid{
baseturf = /turf/open/floor/plating/beach/sand;
- dir = 1;
tag = "icon-asteroidwarning (NORTH)"
},
+/obj/effect/turf_decal/stripes/asteroid/line{
+ dir = 1
+ },
/area/ruin/powered)
"aC" = (
/turf/open/floor/wood,
@@ -208,11 +210,13 @@
/obj/item/weapon/tank/internals/emergency_oxygen,
/obj/item/trash/candy,
/obj/item/toy/talking/owl,
-/turf/open/floor/plasteel/asteroid/warning{
+/turf/open/floor/plasteel/asteroid{
baseturf = /turf/open/floor/plating/beach/sand;
- dir = 1;
tag = "icon-asteroidwarning (NORTH)"
},
+/obj/effect/turf_decal/stripes/asteroid/line{
+ dir = 1
+ },
/area/ruin/powered)
"aK" = (
/turf/open/floor/plasteel/asteroid{
@@ -277,11 +281,13 @@
/area/ruin/powered)
"aW" = (
/obj/structure/chair/stool,
-/turf/open/floor/plasteel/asteroid/warning{
+/turf/open/floor/plasteel/asteroid{
baseturf = /turf/open/floor/plating/beach/sand;
- dir = 1;
tag = "icon-asteroidwarning (NORTH)"
},
+/obj/effect/turf_decal/stripes/asteroid/line{
+ dir = 1
+ },
/area/ruin/powered)
"aX" = (
/obj/structure/closet/secure_closet/freezer/meat,
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm b/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm
index b1d50dfb7f9..3c67c89821b 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/template_noop,
/area/template_noop)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm
index 346a0b87e14..57f290e3c9c 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/template_noop,
/area/template_noop)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm
index dccf2a0dd23..a97350244ef 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/closed/mineral/volcanic/lava_land_surface,
/area/lavaland/surface/outdoors)
@@ -281,14 +281,8 @@
/obj/structure/ore_box,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"R" = (
-/mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck,
-/turf/open/floor/engine/cult{
- baseturf = /turf/open/floor/plating/lava/smooth
- },
-/area/ruin/unpowered)
-"Q" = (
-/mob/living/simple_animal/hostile/asteroid/gutlunch/guthen,
+"O" = (
+/obj/item/weapon/reagent_containers/glass/bowl,
/turf/open/floor/engine/cult{
baseturf = /turf/open/floor/plating/lava/smooth
},
@@ -299,8 +293,14 @@
baseturf = /turf/open/floor/plating/lava/smooth
},
/area/ruin/unpowered)
-"O" = (
-/obj/item/weapon/reagent_containers/glass/bowl,
+"Q" = (
+/mob/living/simple_animal/hostile/asteroid/gutlunch/guthen,
+/turf/open/floor/engine/cult{
+ baseturf = /turf/open/floor/plating/lava/smooth
+ },
+/area/ruin/unpowered)
+"R" = (
+/mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck,
/turf/open/floor/engine/cult{
baseturf = /turf/open/floor/plating/lava/smooth
},
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm
index 90002410624..14cdf355149 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/template_noop,
/area/template_noop)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_cube.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_cube.dmm
index 59d066dacf2..cb91f25ca59 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_cube.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_cube.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/closed/mineral/volcanic/lava_land_surface,
/area/lavaland/surface/outdoors)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm
index 762e3df9dbe..975791205be 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
/area/template_noop)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_envy.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_envy.dmm
index ce611c6df76..7d5b9ad9c66 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_envy.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_envy.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_fountain_hall.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_fountain_hall.dmm
index 918b0e894b7..a0a82982d5f 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_fountain_hall.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_fountain_hall.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
/area/template_noop)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm
index 1475bc151b1..9de95170a9f 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/closed/mineral/volcanic/lava_land_surface,
/area/lavaland/surface/outdoors)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm
index d33bf338cb1..167aa9ef1be 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
/area/template_noop)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm
index 61cc76da4f9..d63971dafbd 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
index b3c58795ca0..977ea0775ae 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/closed/mineral/volcanic/lava_land_surface,
/area/lavaland/surface/outdoors)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm
index 94b17ee096b..cad120c3f25 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/closed/indestructible/riveted/hierophant,
/area/ruin/unpowered/hierophant)
@@ -16,6 +16,9 @@
/mob/living/simple_animal/hostile/megafauna/hierophant,
/turf/open/indestructible/hierophant/two,
/area/ruin/unpowered/hierophant)
+"e" = (
+/turf/open/indestructible/hierophant/two,
+/area/ruin/unpowered/hierophant)
"f" = (
/obj/effect/light_emitter{
set_cap = 3;
@@ -23,9 +26,6 @@
},
/turf/open/indestructible/hierophant/two,
/area/ruin/unpowered/hierophant)
-"e" = (
-/turf/open/indestructible/hierophant/two,
-/area/ruin/unpowered/hierophant)
(1,1,1) = {"
a
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm
index 275c7686d43..369309c118a 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
/area/template_noop)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_pride.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_pride.dmm
index 1e5537bbef8..9a86d48b66d 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_pride.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_pride.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_prisoner_crash.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_prisoner_crash.dmm
index 4ecc7613d19..c529c4a3054 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_prisoner_crash.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_prisoner_crash.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/closed/mineral/volcanic/lava_land_surface,
/area/lavaland/surface/outdoors)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm
index 810310c61fd..65d7aac80fd 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/closed/mineral/volcanic/lava_land_surface,
/area/lavaland/surface/outdoors)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm
index b973f306795..946df58602a 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/closed/indestructible/riveted{
baseturf = /turf/open/floor/plating/lava/smooth
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm
index 5d7751cb668..aa2769c9b69 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
/area/template_noop)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_swarmer_crash.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_swarmer_crash.dmm
index d9bc32055a6..69c101f4ebf 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_swarmer_crash.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_swarmer_crash.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
/area/template_noop)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm
index a3a5f906577..2ab7d6bf234 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/closed/mineral/volcanic/lava_land_surface,
/area/lavaland/surface/outdoors)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_ww_vault.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_ww_vault.dmm
index 7bdcf98212e..85943df963e 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_ww_vault.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_ww_vault.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
/area/template_noop)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm
index 82ca15d842b..32c417fb652 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
/area/template_noop)
diff --git a/_maps/RandomRuins/SpaceRuins/DJstation.dmm b/_maps/RandomRuins/SpaceRuins/DJstation.dmm
index 13fba2f83b1..caacb02feb6 100644
--- a/_maps/RandomRuins/SpaceRuins/DJstation.dmm
+++ b/_maps/RandomRuins/SpaceRuins/DJstation.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm b/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm
index 72b5b51738f..137dd2b0be9 100644
--- a/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm
+++ b/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm
@@ -1,73 +1,73 @@
"aa" = (/turf/open/space,/area/space)
"ab" = (/obj/structure/lattice,/turf/open/space,/area/space)
"ac" = (/obj/structure/grille,/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
-"ad" = (/obj/machinery/power/tracker,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/open/floor/plasteel/airless,/area/solar/derelict_starboard)
-"ae" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/space,/area/solar/derelict_starboard)
+"ad" = (/obj/machinery/power/tracker,/obj/structure/cable{icon_state = "0-2";d2 = 2},/turf/open/floor/plasteel/airless,/area/solar/derelict_starboard)
+"ae" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/space,/area/solar/derelict_starboard)
"af" = (/turf/open/floor/plating/airless,/turf/open/floor/plating/airless{icon_state = "platingdmg2"},/area/solar/derelict_starboard)
-"ag" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/open/floor/plasteel/airless{icon_state = "damaged5"},/area/solar/derelict_starboard)
-"ah" = (/obj/machinery/power/solar{id = "derelictsolar"; name = "Derelict Solar Array"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/open/floor/plasteel/airless,/area/solar/derelict_starboard)
+"ag" = (/obj/structure/cable{icon_state = "0-2";d2 = 2},/turf/open/floor/plasteel/airless{icon_state = "damaged5"},/area/solar/derelict_starboard)
+"ah" = (/obj/machinery/power/solar{id = "derelictsolar";name = "Derelict Solar Array"},/obj/structure/cable{icon_state = "0-2";d2 = 2},/turf/open/floor/plasteel/airless,/area/solar/derelict_starboard)
"ai" = (/obj/structure/lattice/catwalk,/turf/open/space,/area/solar/derelict_starboard)
-"aj" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/space,/area/solar/derelict_starboard)
-"ak" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/space,/area/solar/derelict_starboard)
-"al" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/space,/area/solar/derelict_starboard)
-"am" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/space,/area/solar/derelict_starboard)
-"an" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/space,/area/solar/derelict_starboard)
-"ao" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/space,/area/solar/derelict_starboard)
-"ap" = (/obj/machinery/power/solar{id = "derelictsolar"; name = "Derelict Solar Array"},/obj/structure/cable,/turf/open/floor/plasteel/airless,/area/solar/derelict_starboard)
+"aj" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/space,/area/solar/derelict_starboard)
+"ak" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/space,/area/solar/derelict_starboard)
+"al" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/space,/area/solar/derelict_starboard)
+"am" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/space,/area/solar/derelict_starboard)
+"an" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/space,/area/solar/derelict_starboard)
+"ao" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/space,/area/solar/derelict_starboard)
+"ap" = (/obj/machinery/power/solar{id = "derelictsolar";name = "Derelict Solar Array"},/obj/structure/cable,/turf/open/floor/plasteel/airless,/area/solar/derelict_starboard)
"aq" = (/obj/structure/lattice/catwalk,/obj/structure/cable,/turf/open/space,/area/solar/derelict_starboard)
-"ar" = (/obj/structure/lattice/catwalk,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/open/space,/area/solar/derelict_starboard)
+"ar" = (/obj/structure/lattice/catwalk,/obj/structure/cable{icon_state = "0-2";d2 = 2},/turf/open/space,/area/solar/derelict_starboard)
"as" = (/turf/closed/wall,/area/derelict/solar_control)
"at" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating,/area/derelict/solar_control)
-"au" = (/obj/machinery/door/airlock/external{name = "External Engineering"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/plating,/area/derelict/solar_control)
-"av" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plating,/area/derelict/solar_control)
-"aw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plating,/area/derelict/solar_control)
+"au" = (/obj/machinery/door/airlock/external{name = "External Engineering"},/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/floor/plating,/area/derelict/solar_control)
+"av" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plating,/area/derelict/solar_control)
+"aw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plating,/area/derelict/solar_control)
"ax" = (/turf/closed/wall/r_wall,/area/derelict/bridge/ai_upload)
"ay" = (/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
"az" = (/turf/open/floor/plasteel,/area/derelict/solar_control)
"aA" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel,/area/derelict/solar_control)
-"aB" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plasteel,/area/derelict/solar_control)
-"aC" = (/obj/machinery/power/smes,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/open/floor/plasteel,/area/derelict/solar_control)
-"aD" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar_control{id = "derelictsolar"; name = "Primary Solar Control"; track = 0},/obj/structure/cable,/turf/open/floor/plasteel,/area/derelict/solar_control)
+"aB" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"aC" = (/obj/machinery/power/smes,/obj/structure/cable{d2 = 8;icon_state = "0-8"},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"aD" = (/obj/structure/cable{icon_state = "0-2";d2 = 2},/obj/machinery/power/solar_control{id = "derelictsolar";name = "Primary Solar Control";track = 0},/obj/structure/cable,/turf/open/floor/plasteel,/area/derelict/solar_control)
"aE" = (/obj/structure/grille,/turf/open/floor/plating/airless,/area/space)
"aF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/open/floor/plating,/area/derelict/solar_control)
-"aG" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/solar_control)
-"aH" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plasteel,/area/derelict/solar_control)
-"aI" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/open/floor/plasteel,/area/derelict/solar_control)
-"aJ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"aG" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"aH" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"aI" = (/obj/machinery/power/terminal{icon_state = "term";dir = 1},/obj/structure/cable{icon_state = "0-4";d2 = 4},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"aJ" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel,/area/derelict/solar_control)
"aK" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
"aL" = (/obj/machinery/door/airlock/external{name = "Air Bridge Access"},/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
"aM" = (/obj/machinery/door/airlock/external{name = "Air Bridge Access"},/turf/open/floor/plating,/area/derelict/solar_control)
-"aN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"aN" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/solar_control)
"aO" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/open/floor/plasteel,/area/derelict/solar_control)
"aP" = (/obj/structure/window/reinforced,/turf/open/floor/plasteel,/area/derelict/solar_control)
"aQ" = (/obj/machinery/door/window,/turf/open/floor/plasteel,/area/derelict/solar_control)
"aR" = (/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
"aS" = (/turf/closed/wall/r_wall,/area/derelict/solar_control)
-"aT" = (/obj/machinery/power/apc{dir = 8; environ = 0; equipment = 0; lighting = 0; locked = 0; name = "Starboard Solar APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/open/floor/plasteel,/area/derelict/solar_control)
-"aU" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"aT" = (/obj/machinery/power/apc{dir = 8;environ = 0;equipment = 0;lighting = 0;locked = 0;name = "Starboard Solar APC";pixel_x = -24;pixel_y = 0},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4";d2 = 4},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"aU" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plasteel,/area/derelict/solar_control)
"aV" = (/obj/machinery/door/airlock/external{name = "External Engineering"},/turf/open/floor/plating,/area/derelict/solar_control)
"aW" = (/obj/machinery/door/airlock/highsecurity,/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
"aX" = (/obj/structure/frame/computer,/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
"aY" = (/turf/closed/wall/r_wall,/area/ruin/unpowered/no_grav)
-"aZ" = (/obj/machinery/computer/monitor,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/open/floor/plasteel,/area/derelict/solar_control)
-"ba" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/turf/open/floor/plasteel,/area/derelict/solar_control)
-"bb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"aZ" = (/obj/machinery/computer/monitor,/obj/structure/cable{icon_state = "0-4";d2 = 4},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"ba" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/machinery/light/small,/turf/open/floor/plasteel,/area/derelict/solar_control)
+"bb" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/solar_control)
"bc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating,/area/derelict/solar_control)
"bd" = (/obj/structure/grille/broken,/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
"be" = (/obj/machinery/light/small,/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
"bf" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/porta_turret_cover,/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
"bg" = (/obj/machinery/porta_turret_cover,/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
-"bh" = (/obj/machinery/door/airlock/engineering{name = "Starboard Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"bh" = (/obj/machinery/door/airlock/engineering{name = "Starboard Solar Access";req_access_txt = "10"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/solar_control)
"bi" = (/obj/structure/grille,/turf/open/space,/area/ruin/unpowered/no_grav)
"bj" = (/obj/structure/grille,/turf/open/floor/plating/airless,/area/derelict/bridge/ai_upload)
"bk" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel,/area/derelict/solar_control)
"bl" = (/turf/closed/wall,/area/derelict/bridge/ai_upload)
-"bm" = (/obj/machinery/door/window,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"bm" = (/obj/machinery/door/window,/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/solar_control)
"bn" = (/obj/machinery/computer/atmos_alert,/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
"bo" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
-"bp" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
+"bp" = (/obj/machinery/door/window{base_state = "right";dir = 4;icon_state = "right"},/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
"bq" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel,/area/derelict/solar_control)
-"br" = (/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"br" = (/obj/item/stack/cable_coil/cut{amount = 2;dir = 2;icon_state = "coil_red2"},/turf/open/floor/plasteel,/area/derelict/solar_control)
"bs" = (/turf/open/floor/plasteel{icon_state = "damaged1"},/area/derelict/solar_control)
"bt" = (/obj/machinery/door/window,/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
"bu" = (/turf/open/floor/plasteel{icon_state = "damaged5"},/area/derelict/solar_control)
@@ -76,16 +76,16 @@
"bx" = (/obj/structure/rack,/obj/item/weapon/circuitboard/machine/microwave,/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
"by" = (/obj/structure/rack,/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
"bz" = (/turf/open/floor/plasteel/airless,/area/derelict/bridge/ai_upload)
-"bA" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"bA" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance{lootcount = 3;name = "3maintenance loot spawner"},/turf/open/floor/plasteel,/area/derelict/solar_control)
"bB" = (/turf/open/floor/plasteel{icon_state = "damaged2"},/area/derelict/solar_control)
-"bC" = (/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/floor/plasteel{icon_state = "damaged3"},/area/derelict/solar_control)
+"bC" = (/obj/item/stack/cable_coil/cut{amount = 2;dir = 2;icon_state = "coil_red2"},/turf/open/floor/plasteel{icon_state = "damaged3"},/area/derelict/solar_control)
"bD" = (/obj/structure/rack,/obj/item/weapon/circuitboard/machine/cryo_tube,/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
"bE" = (/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/derelict/bridge/ai_upload)
"bF" = (/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/bridge/ai_upload)
"bG" = (/obj/machinery/light{dir = 1},/turf/open/floor/plasteel/airless,/area/derelict/bridge/ai_upload)
-"bH" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"bH" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2;name = "2maintenance loot spawner"},/turf/open/floor/plasteel,/area/derelict/solar_control)
"bI" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel/airless,/area/derelict/bridge/ai_upload)
-"bJ" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/open/floor/plasteel/airless,/area/derelict/bridge/ai_upload)
+"bJ" = (/obj/machinery/door/window{base_state = "right";dir = 4;icon_state = "right"},/turf/open/floor/plasteel/airless,/area/derelict/bridge/ai_upload)
"bK" = (/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/bridge/ai_upload)
"bL" = (/turf/open/space,/area/derelict/bridge/ai_upload)
"bM" = (/obj/item/weapon/stock_parts/console_screen,/turf/open/space,/area/derelict/bridge/ai_upload)
@@ -96,32 +96,32 @@
"bR" = (/obj/structure/lattice,/turf/open/space,/area/derelict/bridge/ai_upload)
"bS" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel,/area/derelict/solar_control)
"bT" = (/obj/structure/rack,/obj/item/weapon/circuitboard/computer/solar_control,/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
-"bU" = (/obj/structure/rack,/obj/item/weapon/circuitboard/machine/autolathe,/obj/item/weapon/circuitboard/machine/protolathe{pixel_x = -5; pixel_y = -3},/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
+"bU" = (/obj/structure/rack,/obj/item/weapon/circuitboard/machine/autolathe,/obj/item/weapon/circuitboard/machine/protolathe{pixel_x = -5;pixel_y = -3},/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
"bV" = (/obj/structure/rack,/obj/item/weapon/circuitboard/machine/circuit_imprinter,/turf/open/floor/plasteel,/area/derelict/bridge/ai_upload)
-"bW" = (/obj/machinery/power/apc{dir = 8; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/open/floor/plasteel/airless,/area/derelict/bridge/ai_upload)
-"bX" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plasteel/airless/circuit,/area/derelict/bridge/ai_upload)
+"bW" = (/obj/machinery/power/apc{dir = 8;name = "Worn-out APC";pixel_x = -24;pixel_y = 0},/obj/structure/cable{icon_state = "0-4";d2 = 4},/turf/open/floor/plasteel/airless,/area/derelict/bridge/ai_upload)
+"bX" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plasteel/airless/circuit,/area/derelict/bridge/ai_upload)
"bY" = (/obj/structure/frame/computer,/obj/item/weapon/circuitboard/computer/rdconsole,/turf/open/floor/plasteel/airless,/area/derelict/bridge/ai_upload)
"bZ" = (/obj/structure/frame/computer,/turf/open/floor/plasteel/airless,/area/derelict/bridge/ai_upload)
"ca" = (/obj/machinery/door/airlock/external,/turf/open/floor/plasteel,/area/derelict/solar_control)
"cb" = (/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/space)
-"cc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plasteel/airless/circuit,/area/derelict/bridge/ai_upload)
+"cc" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plasteel/airless/circuit,/area/derelict/bridge/ai_upload)
"cd" = (/obj/machinery/light,/turf/open/floor/plasteel/airless,/area/derelict/bridge/ai_upload)
-"ce" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/closed/wall/r_wall,/area/derelict/bridge/ai_upload)
-"cf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/closed/wall/r_wall,/area/derelict/bridge/ai_upload)
-"cg" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/closed/wall/r_wall,/area/derelict/bridge/ai_upload)
+"ce" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/closed/wall/r_wall,/area/derelict/bridge/ai_upload)
+"cf" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/closed/wall/r_wall,/area/derelict/bridge/ai_upload)
+"cg" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/closed/wall/r_wall,/area/derelict/bridge/ai_upload)
"ch" = (/turf/closed/wall,/area/ruin/unpowered/no_grav)
"ci" = (/turf/closed/wall/r_wall,/area/space)
-"cj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/closed/wall/r_wall,/area/derelict/bridge/ai_upload)
-"ck" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/plasteel,/area/derelict/solar_control)
+"cj" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/closed/wall/r_wall,/area/derelict/bridge/ai_upload)
+"ck" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/floor/plasteel,/area/derelict/solar_control)
"cl" = (/turf/closed/wall/r_wall,/area/derelict/gravity_generator)
"cm" = (/obj/machinery/light/small,/turf/open/floor/plasteel,/area/derelict/solar_control)
"cn" = (/obj/item/weapon/ore/iron,/obj/item/weapon/ore/iron,/obj/item/weapon/ore/iron,/turf/open/space,/area/space)
"co" = (/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/gravity_generator)
"cp" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/airless{icon_state = "damaged5"},/area/derelict/gravity_generator)
"cq" = (/obj/item/weapon/stock_parts/manipulator,/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/gravity_generator)
-"cr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/closed/wall,/area/derelict/bridge/access)
+"cr" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/closed/wall,/area/derelict/bridge/access)
"cs" = (/turf/closed/wall,/area/derelict/bridge/access)
-"ct" = (/obj/machinery/door/airlock/maintenance,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"ct" = (/obj/machinery/door/airlock/maintenance,/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
"cu" = (/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/derelict/gravity_generator)
"cv" = (/obj/item/weapon/ore/slag,/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/derelict/gravity_generator)
"cw" = (/turf/open/floor/plasteel/airless{icon_state = "damaged5"},/area/derelict/gravity_generator)
@@ -133,78 +133,78 @@
"cC" = (/obj/structure/rack,/obj/item/weapon/electronics/apc,/turf/open/floor/plasteel,/area/derelict/bridge/access)
"cD" = (/obj/structure/rack,/obj/item/weapon/circuitboard/machine/smes,/turf/open/floor/plasteel,/area/derelict/bridge/access)
"cE" = (/obj/structure/rack,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/manipulator,/turf/open/floor/plasteel,/area/derelict/bridge/access)
-"cF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"cF" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
"cG" = (/obj/item/weapon/screwdriver,/turf/open/floor/plasteel/airless{icon_state = "damaged5"},/area/derelict/gravity_generator)
"cH" = (/obj/machinery/gravity_generator/main/station{on = 0},/turf/open/floor/plasteel/airless,/area/derelict/gravity_generator)
"cI" = (/obj/item/weapon/ore/slag,/turf/open/space,/area/space)
-"cJ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/closed/wall,/area/derelict/bridge/access)
-"cK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
-"cL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plasteel,/area/derelict/bridge/access)
-"cM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
-"cN" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"cJ" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/closed/wall,/area/derelict/bridge/access)
+"cK" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"cL" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"cM" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"cN" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
"cO" = (/turf/open/floor/plasteel/airless,/area/derelict/gravity_generator)
"cP" = (/obj/item/stack/cable_coil/cut,/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/derelict/gravity_generator)
-"cQ" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"cQ" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0;name = "Worn-out APC";pixel_y = -24},/turf/open/floor/plasteel,/area/derelict/bridge/access)
"cR" = (/obj/structure/rack,/obj/item/weapon/stock_parts/cell/high,/obj/item/weapon/stock_parts/cell/high,/obj/item/weapon/stock_parts/cell/high,/obj/item/weapon/stock_parts/cell/high,/obj/item/weapon/stock_parts/cell/high,/obj/item/weapon/stock_parts/cell/high,/turf/open/floor/plating,/area/derelict/bridge/access)
"cS" = (/obj/machinery/light/small{dir = 4},/obj/structure/rack,/obj/item/stack/cable_coil/cut,/obj/item/stack/cable_coil/cut,/turf/open/floor/plasteel,/area/derelict/bridge/access)
"cT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating,/area/derelict/bridge/access)
"cU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating,/area/derelict/bridge/access)
-"cV" = (/obj/machinery/door/airlock/command{name = "E.V.A."; req_access = null; req_access_txt = "18"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
-"cW" = (/obj/machinery/door/airlock/engineering{name = "Engineering Secure Storage"; req_access_txt = "10"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
-"cX" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"cV" = (/obj/machinery/door/airlock/command{name = "E.V.A.";req_access = null;req_access_txt = "18"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"cW" = (/obj/machinery/door/airlock/engineering{name = "Engineering Secure Storage";req_access_txt = "10"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"cX" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
"cY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
"cZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
-"da" = (/obj/machinery/door/airlock/engineering{name = "Engineering Access"; req_access_txt = "10"},/turf/open/floor/plasteel,/area/derelict/gravity_generator)
+"da" = (/obj/machinery/door/airlock/engineering{name = "Engineering Access";req_access_txt = "10"},/turf/open/floor/plasteel,/area/derelict/gravity_generator)
"db" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
"dc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
"dd" = (/turf/open/floor/plating,/area/derelict/bridge/access)
"de" = (/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel/airless/solarpanel,/area/ruin/unpowered/no_grav)
-"df" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/item/wallframe/apc,/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
-"dg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
-"dh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
-"di" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/frame/machine,/obj/item/weapon/stock_parts/console_screen,/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
+"df" = (/obj/structure/cable{icon_state = "0-4";d2 = 4},/obj/item/wallframe/apc,/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
+"dg" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
+"dh" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
+"di" = (/obj/structure/cable{d2 = 8;icon_state = "0-8"},/obj/structure/frame/machine,/obj/item/weapon/stock_parts/console_screen,/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
"dj" = (/turf/open/floor/plasteel/airless/solarpanel,/area/ruin/unpowered/no_grav)
"dk" = (/obj/item/stack/cable_coil/cut,/turf/open/space,/area/space)
"dl" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel,/area/derelict/bridge/access)
-"dm" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plating,/area/derelict/bridge/access)
-"dn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
-"do" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
-"dp" = (/obj/machinery/door/airlock/glass,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
-"dq" = (/obj/item/weapon/reagent_containers/food/drinks/beer,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"dm" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plating,/area/derelict/bridge/access)
+"dn" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"do" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"dp" = (/obj/machinery/door/airlock/glass,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"dq" = (/obj/item/weapon/reagent_containers/food/drinks/beer,/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
"dr" = (/turf/closed/wall/r_wall,/area/derelict/singularity_engine)
-"ds" = (/obj/machinery/light/small{dir = 8},/obj/structure/table,/obj/item/weapon/paper{info = "If the equipment breaks there should be enough spare parts in our engineering storage near the north east solar array."; name = "Equipment Inventory"},/turf/open/floor/plasteel/airless,/area/derelict/gravity_generator)
-"dt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
-"du" = (/obj/machinery/light/small{dir = 4},/obj/item/weapon/stock_parts/matter_bin{pixel_x = -10; pixel_y = 5},/obj/item/weapon/stock_parts/matter_bin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/stock_parts/matter_bin,/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
+"ds" = (/obj/machinery/light/small{dir = 8},/obj/structure/table,/obj/item/weapon/paper{info = "If the equipment breaks there should be enough spare parts in our engineering storage near the north east solar array.";name = "Equipment Inventory"},/turf/open/floor/plasteel/airless,/area/derelict/gravity_generator)
+"dt" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
+"du" = (/obj/machinery/light/small{dir = 4},/obj/item/weapon/stock_parts/matter_bin{pixel_x = -10;pixel_y = 5},/obj/item/weapon/stock_parts/matter_bin{pixel_x = 5;pixel_y = 5},/obj/item/weapon/stock_parts/matter_bin,/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
"dv" = (/obj/item/weapon/stock_parts/matter_bin,/turf/open/space,/area/space)
"dw" = (/obj/structure/window/reinforced,/turf/open/floor/plasteel,/area/derelict/bridge/access)
"dx" = (/obj/machinery/door/window,/turf/open/floor/plasteel,/area/derelict/bridge/access)
-"dy" = (/obj/structure/window/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"dy" = (/obj/structure/window/reinforced,/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
"dz" = (/turf/closed/wall,/area/derelict/bridge)
"dA" = (/obj/structure/sign/electricshock,/turf/closed/wall/r_wall,/area/derelict/singularity_engine)
"dB" = (/obj/structure/sign/securearea,/turf/closed/wall/r_wall,/area/derelict/singularity_engine)
-"dC" = (/obj/machinery/door/airlock/engineering{name = "Engineering Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
+"dC" = (/obj/machinery/door/airlock/engineering{name = "Engineering Access";req_access_txt = "10"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plating/airless,/area/derelict/gravity_generator)
"dD" = (/obj/structure/sign/securearea{name = "ENGINEERING ACCESS"},/turf/closed/wall/r_wall,/area/derelict/gravity_generator)
"dE" = (/obj/effect/spawner/lootdrop/maintenance,/turf/open/space,/area/space)
"dF" = (/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel,/area/derelict/bridge/access)
"dG" = (/obj/structure/frame/computer,/turf/open/floor/plasteel,/area/derelict/bridge)
-"dH" = (/obj/structure/frame/computer,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/open/floor/plasteel,/area/derelict/bridge)
-"dI" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/open/floor/plasteel,/area/derelict/bridge)
+"dH" = (/obj/structure/frame/computer,/obj/structure/cable{icon_state = "0-2";d2 = 2},/turf/open/floor/plasteel,/area/derelict/bridge)
+"dI" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2;name = "2maintenance loot spawner"},/turf/open/floor/plasteel,/area/derelict/bridge)
"dJ" = (/obj/machinery/computer/security,/turf/open/floor/plasteel,/area/derelict/bridge)
-"dK" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/open/floor/plasteel,/area/derelict/bridge)
+"dK" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3;pixel_y = -7},/turf/open/floor/plasteel,/area/derelict/bridge)
"dL" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel,/area/derelict/bridge)
-"dM" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/open/floor/plasteel,/area/derelict/bridge)
+"dM" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3;pixel_y = 7},/turf/open/floor/plasteel,/area/derelict/bridge)
"dN" = (/obj/item/weapon/grenade/empgrenade,/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel,/area/derelict/bridge)
"dO" = (/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/singularity_engine)
"dP" = (/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/derelict/singularity_engine)
"dQ" = (/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel/airless{icon_state = "damaged5"},/area/derelict/singularity_engine)
"dR" = (/obj/item/stack/cable_coil/cut,/obj/machinery/light/small{dir = 1},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
-"dS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
-"dT" = (/obj/machinery/door/airlock/engineering{name = "Engineering Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/gravity_generator)
-"dU" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plasteel,/area/derelict/gravity_generator)
+"dS" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
+"dT" = (/obj/machinery/door/airlock/engineering{name = "Engineering Access";req_access_txt = "10"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/gravity_generator)
+"dU" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plasteel,/area/derelict/gravity_generator)
"dV" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel,/area/derelict/gravity_generator)
"dW" = (/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"dX" = (/turf/open/floor/plasteel/airless{icon_state = "damaged5"},/area/derelict/singularity_engine)
-"dY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plating,/area/derelict/bridge/access)
+"dY" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plating,/area/derelict/bridge/access)
"dZ" = (/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/open/floor/plasteel,/area/derelict/bridge)
"ea" = (/turf/open/floor/plasteel,/area/derelict/bridge)
"eb" = (/turf/open/floor/plating,/area/derelict/bridge)
@@ -216,14 +216,14 @@
"eh" = (/obj/structure/window/reinforced,/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/derelict/singularity_engine)
"ei" = (/obj/structure/window/reinforced,/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/singularity_engine)
"ej" = (/turf/open/floor/plasteel,/area/derelict/gravity_generator)
-"ek" = (/obj/structure/closet/radiation,/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 32; pixel_y = 0},/turf/open/floor/plasteel,/area/derelict/gravity_generator)
+"ek" = (/obj/structure/closet/radiation,/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'";icon_state = "radiation";name = "RADIOACTIVE AREA";pixel_x = 32;pixel_y = 0},/turf/open/floor/plasteel,/area/derelict/gravity_generator)
"el" = (/turf/closed/wall,/area/derelict/gravity_generator)
"em" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"en" = (/obj/machinery/power/emitter{dir = 1; icon_state = "emitter"},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
+"en" = (/obj/machinery/power/emitter{dir = 1;icon_state = "emitter"},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"eo" = (/obj/machinery/field/generator,/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
-"ep" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/window/reinforced,/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"ep" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/obj/structure/window/reinforced,/turf/open/floor/plasteel,/area/derelict/bridge/access)
"eq" = (/obj/structure/window/reinforced/fulltile,/turf/open/floor/plasteel,/area/derelict/bridge/access)
-"er" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/open/floor/plating,/area/derelict/bridge)
+"er" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1;scrub_N2O = 0;scrub_Toxins = 0},/turf/open/floor/plating,/area/derelict/bridge)
"es" = (/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/turf/open/floor/plasteel,/area/derelict/bridge)
"et" = (/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel,/area/derelict/bridge)
"eu" = (/obj/item/stack/rods,/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
@@ -232,30 +232,30 @@
"ex" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"ey" = (/obj/structure/noticeboard,/turf/closed/wall/r_wall,/area/derelict/singularity_engine)
"ez" = (/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
-"eA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plasteel,/area/derelict/bridge/access)
-"eB" = (/obj/machinery/door/window/eastleft{name = "Heads of Staff"; req_access_txt = "19"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"eA" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"eB" = (/obj/machinery/door/window/eastleft{name = "Heads of Staff";req_access_txt = "19"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
"eC" = (/obj/structure/table,/obj/item/device/paicard,/turf/open/floor/plasteel,/area/derelict/bridge)
"eD" = (/obj/structure/chair/stool,/turf/open/floor/plasteel,/area/derelict/bridge)
"eE" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell,/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel,/area/derelict/bridge)
"eF" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
"eG" = (/obj/item/stack/cable_coil/cut,/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/derelict/singularity_engine)
-"eH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
-"eI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plating,/area/derelict/bridge/access)
-"eJ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plasteel,/area/derelict/bridge/access)
-"eK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plasteel,/area/derelict/bridge)
-"eL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/bridge)
-"eM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plasteel,/area/derelict/bridge)
-"eN" = (/obj/item/weapon/paper{info = "Objective #1: Destroy the station with a nuclear device."; name = "Objectives of a Nuclear Operative"},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
+"eH" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"eI" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plating,/area/derelict/bridge/access)
+"eJ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"eK" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plasteel,/area/derelict/bridge)
+"eL" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/bridge)
+"eM" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plasteel,/area/derelict/bridge)
+"eN" = (/obj/item/weapon/paper{info = "Objective #1: Destroy the station with a nuclear device.";name = "Objectives of a Nuclear Operative"},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
"eO" = (/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plating,/area/derelict/bridge/access)
"eP" = (/obj/structure/table,/turf/open/floor/plasteel,/area/derelict/bridge)
"eQ" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel,/area/derelict/bridge)
-"eR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plasteel,/area/derelict/bridge)
+"eR" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plasteel,/area/derelict/bridge)
"eS" = (/obj/structure/chair,/turf/open/floor/plasteel,/area/derelict/bridge)
"eT" = (/obj/structure/table,/obj/item/weapon/screwdriver,/turf/open/floor/plasteel,/area/derelict/bridge)
"eU" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/beer,/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel,/area/derelict/bridge)
"eV" = (/obj/item/stack/rods,/turf/open/space,/area/space)
"eW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
-"eX" = (/obj/item/weapon/shard,/obj/structure/grille/broken,/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"},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
+"eX" = (/obj/item/weapon/shard,/obj/structure/grille/broken,/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"},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
"eY" = (/obj/item/clothing/suit/space/syndicate/black/engie,/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"eZ" = (/obj/item/stack/rods,/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"fa" = (/obj/item/weapon/shard,/turf/open/floor/plasteel/airless{icon_state = "damaged5"},/area/derelict/singularity_engine)
@@ -264,7 +264,7 @@
"fd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"fe" = (/obj/structure/table,/obj/item/weapon/rack_parts,/turf/open/floor/plasteel,/area/derelict/bridge)
"ff" = (/obj/structure/window/fulltile,/turf/open/floor/plasteel,/area/derelict/bridge)
-"fg" = (/obj/structure/table,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/structure/cable,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel,/area/derelict/bridge)
+"fg" = (/obj/structure/table,/obj/machinery/power/apc{dir = 0;name = "Worn-out APC";pixel_y = -24},/obj/structure/cable,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel,/area/derelict/bridge)
"fh" = (/obj/structure/table,/obj/machinery/light/small,/turf/open/floor/plasteel,/area/derelict/bridge)
"fi" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel,/area/derelict/bridge)
"fj" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
@@ -273,7 +273,7 @@
"fm" = (/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"fn" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"fo" = (/turf/closed/wall/r_wall,/area/derelict/bridge)
-"fp" = (/obj/machinery/door/window{dir = 2; name = "Captain's Quarters"; req_access_txt = "20"},/obj/structure/grille,/turf/open/floor/plating/airless,/area/derelict/bridge)
+"fp" = (/obj/machinery/door/window{dir = 2;name = "Captain's Quarters";req_access_txt = "20"},/obj/structure/grille,/turf/open/floor/plating/airless,/area/derelict/bridge)
"fq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"fr" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
"fs" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light/small{dir = 4},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
@@ -284,44 +284,44 @@
"fx" = (/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
"fy" = (/obj/structure/table,/obj/item/device/assembly/flash/handheld,/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
"fz" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/obj/item/weapon/electronics/airlock,/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
-"fA" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/stock_parts/matter_bin,/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
-"fB" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell{charge = 100; maxcharge = 15000},/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
+"fA" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3;pixel_y = -7},/obj/item/weapon/stock_parts/matter_bin,/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
+"fB" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell{charge = 100;maxcharge = 15000},/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
"fC" = (/turf/open/space,/area/derelict/bridge/access)
"fD" = (/obj/structure/girder,/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
"fE" = (/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
-"fF" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
+"fF" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1;pixel_y = -1},/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
"fG" = (/obj/item/stack/cable_coil/cut,/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/singularity_engine)
"fH" = (/obj/item/stack/cable_coil/cut,/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
"fI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
"fJ" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/singularity_engine)
-"fK" = (/obj/machinery/door/window,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
+"fK" = (/obj/machinery/door/window,/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel,/area/derelict/bridge/access)
"fL" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
"fM" = (/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"fN" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"fO" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/open/floor/plasteel/airless{icon_state = "damaged5"},/area/derelict/singularity_engine)
"fP" = (/obj/structure/grille,/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/singularity_engine)
"fQ" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/derelict/singularity_engine)
-"fR" = (/obj/machinery/door/airlock/maintenance{name = "Tech Storage"; req_access_txt = "23"},/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
+"fR" = (/obj/machinery/door/airlock/maintenance{name = "Tech Storage";req_access_txt = "23"},/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
"fS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/open/floor/plating/airless,/area/derelict/bridge/access)
-"fT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
+"fT" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
"fU" = (/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/singularity_engine)
"fV" = (/obj/item/weapon/screwdriver,/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"fW" = (/obj/item/stack/rods,/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
"fX" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/item/stack/cable_coil/cut,/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"fY" = (/obj/structure/table,/obj/machinery/light/small{dir = 4},/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
"fZ" = (/turf/closed/wall,/area/derelict/hallway/primary)
-"ga" = (/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/hallway/primary)
-"gb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/hallway/primary)
-"gc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"gd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plating/airless,/area/derelict/bridge/access)
-"ge" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
-"gf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
+"ga" = (/obj/item/stack/cable_coil/cut{amount = 2;dir = 2;icon_state = "coil_red2"},/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/hallway/primary)
+"gb" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/hallway/primary)
+"gc" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"gd" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plating/airless,/area/derelict/bridge/access)
+"ge" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
+"gf" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
"gg" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
"gh" = (/obj/item/weapon/ore/slag,/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"gi" = (/obj/item/weapon/shard,/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"gj" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"gk" = (/turf/closed/wall/r_wall,/area/derelict/hallway/primary)
-"gl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
+"gl" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
"gm" = (/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/hallway/primary)
"gn" = (/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/hallway/primary)
"go" = (/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
@@ -330,14 +330,14 @@
"gr" = (/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
"gs" = (/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/singularity_engine)
"gt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/shard{icon_state = "medium"},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
-"gu" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
-"gv" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
+"gu" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1;scrub_N2O = 0;scrub_Toxins = 0},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
+"gv" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1;scrub_N2O = 0;scrub_Toxins = 0},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"gw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
-"gx" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
-"gy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
+"gx" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
+"gy" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
"gz" = (/turf/open/floor/plasteel/airless{icon_state = "floorscorched2"},/area/derelict/hallway/primary)
"gA" = (/obj/machinery/light/small,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"gB" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
+"gB" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0;name = "Worn-out APC";pixel_y = -24},/turf/open/floor/plasteel/airless,/area/derelict/bridge/access)
"gC" = (/turf/open/floor/plasteel/airless{icon_state = "floorscorched2"},/area/ruin/unpowered/no_grav)
"gD" = (/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/ruin/unpowered/no_grav)
"gE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
@@ -356,13 +356,13 @@
"gR" = (/obj/item/weapon/shard{icon_state = "small"},/obj/item/weapon/shard{icon_state = "medium"},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"gS" = (/obj/structure/window/reinforced,/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"gT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
-"gU" = (/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
+"gU" = (/obj/item/stack/cable_coil/cut{amount = 2;dir = 2;icon_state = "coil_red2"},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
"gV" = (/turf/closed/wall/r_wall,/area/derelict/arrival)
"gW" = (/turf/closed/wall,/area/derelict/arrival)
"gX" = (/turf/closed/wall,/area/derelict/medical/chapel)
"gY" = (/turf/closed/wall,/area/derelict/singularity_engine)
"gZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
-"ha" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
+"ha" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
"hb" = (/obj/machinery/light/small,/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/hallway/primary)
"hc" = (/obj/structure/lattice,/obj/structure/window/fulltile,/turf/open/space,/area/ruin/unpowered/no_grav)
"hd" = (/obj/structure/table,/turf/open/floor/plasteel,/area/derelict/arrival)
@@ -382,7 +382,7 @@
"hr" = (/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/arrival)
"hs" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel,/area/derelict/arrival)
"ht" = (/obj/machinery/light/small,/turf/open/floor/plasteel/black,/area/derelict/medical/chapel)
-"hu" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "6"},/turf/open/floor/plasteel/black,/area/derelict/medical/chapel)
+"hu" = (/obj/machinery/door/airlock/medical{name = "Morgue";req_access_txt = "6"},/turf/open/floor/plasteel/black,/area/derelict/medical/chapel)
"hv" = (/turf/closed/wall,/area/derelict/medical)
"hw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating/airless,/area/derelict/medical)
"hx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating/airless,/area/derelict/medical)
@@ -393,8 +393,8 @@
"hC" = (/obj/structure/grille,/turf/open/space,/area/space)
"hD" = (/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/derelict/hallway/primary)
"hE" = (/obj/machinery/door/window{dir = 8},/turf/open/floor/plasteel,/area/derelict/arrival)
-"hF" = (/obj/structure/table,/obj/machinery/computer/pod/old{name = "ProComp IIe"; pixel_y = 7; id = "derelict_gun"},/turf/open/floor/plasteel/chapel,/area/derelict/medical/chapel)
-"hG" = (/obj/machinery/door/morgue{name = "coffin storage"; req_access_txt = "22"},/turf/open/floor/plasteel/black,/area/derelict/medical/chapel)
+"hF" = (/obj/structure/table,/obj/machinery/computer/pod/old{name = "ProComp IIe";pixel_y = 7;id = "derelict_gun"},/turf/open/floor/plasteel/chapel,/area/derelict/medical/chapel)
+"hG" = (/obj/machinery/door/morgue{name = "coffin storage";req_access_txt = "22"},/turf/open/floor/plasteel/black,/area/derelict/medical/chapel)
"hH" = (/obj/structure/bodycontainer/morgue,/turf/open/floor/plasteel/black,/area/derelict/medical/chapel)
"hI" = (/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
"hJ" = (/obj/item/weapon/firstaid_arm_assembly,/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
@@ -402,14 +402,14 @@
"hL" = (/obj/structure/frame/computer,/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/medical)
"hM" = (/obj/machinery/light{dir = 1},/obj/item/weapon/shard{icon_state = "small"},/turf/open/floor/plating/airless,/area/derelict/medical)
"hN" = (/obj/machinery/light/small,/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/derelict/singularity_engine)
-"hO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
+"hO" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
"hP" = (/turf/open/floor/plating,/area/derelict/arrival)
"hQ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/open/space,/area/space)
"hR" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel/chapel{dir = 1},/area/derelict/medical/chapel)
"hS" = (/turf/open/floor/plasteel/chapel{dir = 4},/area/derelict/medical/chapel)
"hT" = (/turf/open/floor/plasteel/chapel{dir = 1},/area/derelict/medical/chapel)
"hU" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/chapel{dir = 1},/area/derelict/medical/chapel)
-"hV" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
+"hV" = (/obj/machinery/light{icon_state = "tube1";dir = 8},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
"hW" = (/obj/item/stack/medical/bruise_pack,/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
"hX" = (/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/medical)
"hY" = (/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/medical)
@@ -429,7 +429,7 @@
"im" = (/obj/item/weapon/storage/box/lights/mixed,/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"in" = (/obj/effect/mob_spawn/derelict_drone,/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
"io" = (/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plating/airless,/area/derelict/singularity_engine)
-"ip" = (/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/hallway/primary)
+"ip" = (/obj/item/stack/cable_coil/cut{amount = 2;dir = 2;icon_state = "coil_red2"},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/hallway/primary)
"iq" = (/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/ruin/unpowered/no_grav)
"ir" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel,/area/derelict/arrival)
"is" = (/obj/structure/chair{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel,/area/derelict/arrival)
@@ -439,22 +439,22 @@
"iw" = (/obj/structure/window/reinforced,/turf/open/floor/plasteel/chapel{dir = 4},/area/derelict/medical/chapel)
"ix" = (/obj/structure/window/reinforced,/turf/open/floor/plasteel/chapel{dir = 1},/area/derelict/medical/chapel)
"iy" = (/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/turf/open/floor/plasteel/black,/area/derelict/medical/chapel)
-"iz" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/open/floor/plasteel/black,/area/derelict/medical/chapel)
-"iA" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 4},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
+"iz" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1;scrub_N2O = 0;scrub_Toxins = 0},/turf/open/floor/plasteel/black,/area/derelict/medical/chapel)
+"iA" = (/obj/machinery/sleeper{icon_state = "sleeper-open";dir = 4},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
"iB" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/weapon/reagent_containers/glass/beaker,/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
"iC" = (/obj/structure/window/reinforced,/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
"iD" = (/obj/structure/window/reinforced,/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
"iE" = (/obj/structure/window/reinforced,/turf/open/floor/plasteel/airless/white,/area/ruin/unpowered/no_grav)
-"iF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/hallway/primary)
+"iF" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/hallway/primary)
"iG" = (/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel,/area/derelict/arrival)
-"iH" = (/obj/machinery/door/poddoor{id = "derelict_gun"; name = "Derelict Mass Driver"},/turf/open/floor/plating,/area/ruin/unpowered/no_grav)
+"iH" = (/obj/machinery/door/poddoor{id = "derelict_gun";name = "Derelict Mass Driver"},/turf/open/floor/plating,/area/ruin/unpowered/no_grav)
"iI" = (/turf/open/floor/plating,/area/ruin/unpowered/no_grav)
"iJ" = (/turf/open/floor/plating,/area/derelict/medical/chapel)
-"iK" = (/obj/machinery/mass_driver{dir = 8; icon_state = "mass_driver"; id = "derelict_gun"},/obj/machinery/door/window{dir = 4; req_access_txt = "25"},/obj/structure/closet/coffin,/turf/open/floor/plating,/area/derelict/medical/chapel)
+"iK" = (/obj/machinery/mass_driver{dir = 8;icon_state = "mass_driver";id = "derelict_gun"},/obj/machinery/door/window{dir = 4;req_access_txt = "25"},/obj/structure/closet/coffin,/turf/open/floor/plating,/area/derelict/medical/chapel)
"iL" = (/obj/item/weapon/shard{icon_state = "small"},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
"iM" = (/obj/item/stack/medical/bruise_pack,/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/medical)
"iN" = (/obj/item/stack/medical/ointment,/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/medical)
-"iO" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/open/floor/plating/airless,/area/derelict/medical)
+"iO" = (/obj/machinery/light{icon_state = "tube1";dir = 4},/turf/open/floor/plating/airless,/area/derelict/medical)
"iP" = (/obj/structure/closet/l3closet,/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
"iQ" = (/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
"iR" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/open/space,/area/space)
@@ -466,23 +466,23 @@
"iX" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/chapel{dir = 4},/area/derelict/medical/chapel)
"iY" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
"iZ" = (/obj/item/weapon/cigbutt,/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
-"ja" = (/obj/machinery/door/airlock/glass{name = "Med-Sci"; req_access_txt = "9"},/turf/open/floor/plating/airless,/area/derelict/medical)
+"ja" = (/obj/machinery/door/airlock/glass{name = "Med-Sci";req_access_txt = "9"},/turf/open/floor/plating/airless,/area/derelict/medical)
"jb" = (/obj/structure/table,/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
-"jc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"jc" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"jd" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel,/area/derelict/arrival)
-"je" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/open/floor/plasteel/chapel,/area/derelict/medical/chapel)
-"jf" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
-"jg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
-"jh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
-"ji" = (/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
-"jj" = (/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/medical)
+"je" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1;scrub_N2O = 0;scrub_Toxins = 0},/turf/open/floor/plasteel/chapel,/area/derelict/medical/chapel)
+"jf" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
+"jg" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
+"jh" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
+"ji" = (/obj/item/stack/cable_coil/cut{amount = 2;dir = 2;icon_state = "coil_red2"},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
+"jj" = (/obj/item/stack/cable_coil/cut{amount = 2;dir = 2;icon_state = "coil_red2"},/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/medical)
"jk" = (/obj/item/weapon/reagent_containers/glass/beaker,/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/medical)
-"jl" = (/obj/structure/closet/wardrobe/genetics_white,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
+"jl" = (/obj/structure/closet/wardrobe/genetics_white,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2;name = "2maintenance loot spawner"},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
"jm" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
"jn" = (/obj/item/weapon/shard,/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
"jo" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
"jp" = (/turf/open/floor/plasteel/airless/white,/area/ruin/unpowered/no_grav)
-"jq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"jq" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"jr" = (/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/hallway/primary)
"js" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"jt" = (/obj/item/weapon/pen,/turf/open/floor/plasteel,/area/derelict/arrival)
@@ -490,68 +490,68 @@
"jv" = (/obj/machinery/door/window{dir = 8},/turf/open/floor/plasteel/airless,/area/derelict/medical/chapel)
"jw" = (/turf/open/floor/plasteel/airless,/area/derelict/medical/chapel)
"jx" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/airless,/area/derelict/medical/chapel)
-"jy" = (/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/open/floor/plasteel/airless,/area/derelict/medical/chapel)
-"jz" = (/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/structure/cable,/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
+"jy" = (/obj/machinery/power/apc{dir = 4;name = "Worn-out APC";pixel_x = 24;pixel_y = 0},/obj/structure/cable{icon_state = "0-2";d2 = 2},/turf/open/floor/plasteel/airless,/area/derelict/medical/chapel)
+"jz" = (/obj/machinery/power/apc{dir = 0;name = "Worn-out APC";pixel_y = -24},/obj/structure/cable,/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
"jA" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/bed,/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
"jB" = (/obj/item/stack/medical/ointment,/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
"jC" = (/obj/structure/bed,/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
-"jD" = (/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/medical)
+"jD" = (/obj/item/stack/cable_coil/cut{amount = 2;dir = 2;icon_state = "coil_red2"},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/medical)
"jE" = (/obj/machinery/door/airlock/medical{name = "Medical"},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
"jF" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
"jG" = (/obj/structure/window/fulltile,/turf/open/space,/area/ruin/unpowered/no_grav)
-"jH" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/open/floor/plasteel,/area/derelict/arrival)
-"jI" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/open/floor/plasteel,/area/derelict/arrival)
+"jH" = (/obj/machinery/light{icon_state = "tube1";dir = 8},/turf/open/floor/plasteel,/area/derelict/arrival)
+"jI" = (/obj/machinery/light{icon_state = "tube1";dir = 4},/turf/open/floor/plasteel,/area/derelict/arrival)
"jJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating,/area/derelict/arrival)
"jK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plating,/area/derelict/arrival)
"jL" = (/turf/closed/wall/r_wall,/area/derelict/medical/chapel)
-"jM" = (/obj/machinery/door/window,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/derelict/medical/chapel)
-"jN" = (/obj/machinery/door/window/southleft,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
+"jM" = (/obj/machinery/door/window,/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/derelict/medical/chapel)
+"jN" = (/obj/machinery/door/window/southleft,/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
"jO" = (/obj/machinery/door/window/southright,/turf/open/floor/plasteel/airless/white,/area/derelict/medical)
-"jP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"jQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/research{name = "Toxins Research"; req_access_txt = "7"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"jR" = (/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
-"jS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
+"jP" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"jQ" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/machinery/door/airlock/research{name = "Toxins Research";req_access_txt = "7"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"jR" = (/obj/item/stack/cable_coil/cut{amount = 2;dir = 2;icon_state = "coil_red2"},/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
+"jS" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
"jT" = (/obj/structure/lattice,/obj/structure/grille,/turf/open/space,/area/ruin/unpowered/no_grav)
"jU" = (/obj/machinery/door/airlock/external{name = "Arrivals Docking Bay 1"},/turf/open/floor/plating,/area/derelict/arrival)
"jV" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/ruin/unpowered/no_grav)
-"jW" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"jX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/airless{icon_state = "floorscorched1"},/area/derelict/hallway/primary)
+"jW" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2;name = "2maintenance loot spawner"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"jX" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/airless{icon_state = "floorscorched1"},/area/derelict/hallway/primary)
"jY" = (/turf/open/floor/plasteel/airless{icon_state = "floorscorched1"},/area/derelict/hallway/primary)
"jZ" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"ka" = (/obj/structure/frame/computer,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"kb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
-"kc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
+"kb" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
+"kc" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
"kd" = (/obj/structure/window/fulltile,/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
-"ke" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
-"kf" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
-"kg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/window/fulltile,/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
-"kh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/research{name = "Toxins Research"; req_access_txt = "7"},/turf/open/floor/plasteel/airless,/area/derelict/arrival)
-"ki" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/arrival)
-"kj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plating,/area/derelict/arrival)
-"kk" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plasteel,/area/derelict/arrival)
+"ke" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2;name = "2maintenance loot spawner"},/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
+"kf" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
+"kg" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/structure/window/fulltile,/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
+"kh" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/machinery/door/airlock/research{name = "Toxins Research";req_access_txt = "7"},/turf/open/floor/plasteel/airless,/area/derelict/arrival)
+"ki" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel,/area/derelict/arrival)
+"kj" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plating,/area/derelict/arrival)
+"kk" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plasteel,/area/derelict/arrival)
"kl" = (/obj/machinery/door/airlock/command{name = "Teleporter Room"},/turf/open/floor/plasteel/airless,/area/derelict/medical/chapel)
-"km" = (/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/floor/plasteel/airless{icon_state = "floorscorched1"},/area/derelict/hallway/primary)
+"km" = (/obj/item/stack/cable_coil/cut{amount = 2;dir = 2;icon_state = "coil_red2"},/turf/open/floor/plasteel/airless{icon_state = "floorscorched1"},/area/derelict/hallway/primary)
"kn" = (/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"ko" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"ko" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1;scrub_N2O = 0;scrub_Toxins = 0},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"kp" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"kq" = (/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"kr" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/open/floor/plasteel,/area/derelict/arrival)
+"kq" = (/obj/item/device/assembly/prox_sensor{pixel_x = -8;pixel_y = 4},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"kr" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0;name = "Worn-out APC";pixel_y = -24},/turf/open/floor/plasteel,/area/derelict/arrival)
"ks" = (/obj/machinery/portable_atmospherics/scrubber,/turf/open/floor/plasteel,/area/derelict/arrival)
-"kt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
-"ku" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plasteel/airless{icon_state = "floorscorched1"},/area/derelict/hallway/primary)
-"kv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"kw" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"kx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"ky" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"kz" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"kA" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"kt" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
+"ku" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plasteel/airless{icon_state = "floorscorched1"},/area/derelict/hallway/primary)
+"kv" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"kw" = (/obj/machinery/door/window{base_state = "right";dir = 4;icon_state = "right"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"kx" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"ky" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"kz" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"kA" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"kB" = (/obj/structure/window/fulltile,/turf/open/floor/plating/airless,/area/derelict/arrival)
"kC" = (/obj/machinery/portable_atmospherics/pump,/turf/open/floor/plasteel,/area/derelict/arrival)
"kD" = (/obj/machinery/door/window,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"kE" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"kF" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"kG" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"kH" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"kE" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"kF" = (/obj/machinery/door/window{base_state = "right";dir = 4;icon_state = "right"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"kG" = (/obj/structure/cable{d2 = 8;icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2";d2 = 2},/obj/structure/cable{icon_state = "0-4";d2 = 4},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"kH" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"kI" = (/obj/machinery/vending/hydronutrients,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"kJ" = (/obj/structure/girder,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"kK" = (/obj/structure/girder,/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
@@ -561,7 +561,7 @@
"kO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
"kP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
"kQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
-"kR" = (/obj/machinery/door/airlock/security{name = "Security"; req_access = null; req_access_txt = "1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"kR" = (/obj/machinery/door/airlock/security{name = "Security";req_access = null;req_access_txt = "1"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"kS" = (/obj/machinery/door/window,/turf/open/floor/plasteel/airless,/area/hallway/primary/port)
"kT" = (/obj/machinery/vending/hydroseeds,/turf/open/floor/plasteel/airless,/area/hallway/primary/port)
"kU" = (/obj/item/weapon/cigbutt,/turf/open/space,/area/space)
@@ -570,23 +570,23 @@
"kX" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"kY" = (/obj/machinery/vending/sovietsoda,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"kZ" = (/obj/effect/decal/cleanable/blood/gibs/old,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"la" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"la" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0;name = "Worn-out APC";pixel_y = -24},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"lb" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
-"lc" = (/obj/structure/window/reinforced{dir = 8},/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
+"lc" = (/obj/structure/window/reinforced{dir = 8},/obj/item/stack/cable_coil/cut{amount = 2;dir = 2;icon_state = "coil_red2"},/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
"ld" = (/obj/structure/lattice,/obj/item/stack/cable_coil/cut,/turf/open/space,/area/space)
"le" = (/obj/effect/decal/cleanable/blood/splatter,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"lf" = (/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/obj/effect/decal/cleanable/blood/splatter,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"lg" = (/obj/structure/chair/stool,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"lh" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Access"; req_access_txt = "24"},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
+"lh" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Access";req_access_txt = "24"},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
"li" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
-"lj" = (/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
-"lk" = (/obj/structure/closet/wardrobe/orange,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/obj/item/weapon/shovel/spade,/obj/item/weapon/cultivator,/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
+"lj" = (/obj/item/stack/cable_coil/cut{amount = 2;dir = 2;icon_state = "coil_red2"},/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
+"lk" = (/obj/structure/closet/wardrobe/orange,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2;name = "2maintenance loot spawner"},/obj/item/weapon/shovel/spade,/obj/item/weapon/cultivator,/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
"ll" = (/obj/structure/grille,/turf/open/floor/plating,/area/derelict/arrival)
-"lm" = (/obj/structure/closet/wardrobe,/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/turf/open/floor/plasteel,/area/derelict/arrival)
-"ln" = (/obj/item/weapon/stock_parts/manipulator{pixel_x = -15; pixel_y = 10},/obj/item/weapon/stock_parts/manipulator,/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
-"lo" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
+"lm" = (/obj/structure/closet/wardrobe,/obj/effect/spawner/lootdrop/maintenance{lootcount = 3;name = "3maintenance loot spawner"},/turf/open/floor/plasteel,/area/derelict/arrival)
+"ln" = (/obj/item/weapon/stock_parts/manipulator{pixel_x = -15;pixel_y = 10},/obj/item/weapon/stock_parts/manipulator,/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
+"lo" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance{lootcount = 3;name = "3maintenance loot spawner"},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
"lp" = (/obj/structure/chair/stool,/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/old,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"lq" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker{list_reagents = list("sacid" = 50)},/obj/item/weapon/paper/crumpled/bloody{desc = "Looks like someone started shakily writing a will in space common, but were interrupted by something bloody..."; info = "I, Victor Belyakov, do hereby leave my _- "; name = "unfinished paper scrap"},/obj/item/weapon/pen,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"lq" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker{list_reagents = list("sacid" = 50)},/obj/item/weapon/paper/crumpled/bloody{desc = "Looks like someone started shakily writing a will in space common, but were interrupted by something bloody...";info = "I, Victor Belyakov, do hereby leave my _- ";name = "unfinished paper scrap"},/obj/item/weapon/pen,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"lr" = (/obj/structure/table,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"ls" = (/turf/open/floor/plasteel/airless,/area/derelict/atmospherics)
"lt" = (/turf/open/floor/plating/airless,/area/derelict/atmospherics)
@@ -597,7 +597,7 @@
"ly" = (/turf/closed/wall/r_wall,/area/derelict/atmospherics)
"lz" = (/turf/open/space,/area/ruin/unpowered/no_grav)
"lA" = (/obj/structure/lattice,/turf/open/space,/area/ruin/unpowered/no_grav)
-"lB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/window/reinforced,/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
+"lB" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/obj/structure/window/reinforced,/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
"lC" = (/obj/structure/window/reinforced,/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
"lD" = (/obj/structure/grille,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
"lE" = (/obj/structure/bed,/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
@@ -607,17 +607,17 @@
"lI" = (/obj/structure/table,/obj/item/device/healthanalyzer,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"lJ" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
"lK" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
-"lL" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{icon_state = "connector_map"; dir = 8},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
+"lL" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{icon_state = "connector_map";dir = 8},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
"lM" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/cyan/visible{dir = 6},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
"lN" = (/obj/machinery/atmospherics/pipe/manifold/cyan/hidden,/obj/machinery/meter,/turf/open/floor/plating/airless,/area/derelict/atmospherics)
-"lO" = (/obj/machinery/atmospherics/pipe/simple/cyan/hidden{icon_state = "intact"; dir = 9},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
-"lP" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Access"; req_access_txt = "24"},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
-"lQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
+"lO" = (/obj/machinery/atmospherics/pipe/simple/cyan/hidden{icon_state = "intact";dir = 9},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
+"lP" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Access";req_access_txt = "24"},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
+"lQ" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
"lR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
-"lS" = (/obj/structure/closet/wardrobe/mixed,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/open/floor/plasteel,/area/derelict/arrival)
+"lS" = (/obj/structure/closet/wardrobe/mixed,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2;name = "2maintenance loot spawner"},/turf/open/floor/plasteel,/area/derelict/arrival)
"lT" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/turf/open/floor/plasteel/airless,/area/derelict/atmospherics)
"lU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
-"lV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{icon_state = "intact"; dir = 5},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
+"lV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{icon_state = "intact";dir = 5},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
"lW" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/components/binary/valve,/turf/open/floor/plating/airless,/area/derelict/atmospherics)
"lX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
"lY" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/open/floor/plating,/area/derelict/arrival)
@@ -629,8 +629,8 @@
"me" = (/obj/structure/girder,/turf/open/floor/plating/airless,/area/derelict/hallway/secondary)
"mf" = (/turf/closed/wall/r_wall,/area/derelict/hallway/secondary)
"mg" = (/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
-"mh" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
-"mi" = (/obj/item/ammo_casing/a357{pixel_x = -5},/obj/item/ammo_casing/a357{pixel_x = 5; pixel_y = 6},/obj/item/ammo_casing/a357,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"mh" = (/obj/machinery/door/window{base_state = "right";dir = 4;icon_state = "right"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
+"mi" = (/obj/item/ammo_casing/a357{pixel_x = -5},/obj/item/ammo_casing/a357{pixel_x = 5;pixel_y = 6},/obj/item/ammo_casing/a357,/turf/open/floor/plasteel/airless,/area/derelict/hallway/primary)
"mj" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
"mk" = (/turf/open/floor/plasteel/airless{icon_state = "floorscorched1"},/area/derelict/atmospherics)
"ml" = (/obj/structure/window/fulltile,/turf/open/floor/plating/airless,/area/derelict/hallway/secondary)
@@ -638,7 +638,7 @@
"mn" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
"mo" = (/obj/structure/window/reinforced,/turf/open/floor/plasteel/airless,/area/derelict/atmospherics)
"mp" = (/turf/open/floor/plasteel/airless{icon_state = "damaged5"},/area/derelict/atmospherics)
-"mq" = (/turf/open/floor/plasteel{icon_state = "damaged2"; initial_gas_mix = "TEMP=2.7"},/area/derelict/atmospherics)
+"mq" = (/turf/open/floor/plasteel{icon_state = "damaged2";initial_gas_mix = "TEMP=2.7"},/area/derelict/atmospherics)
"mr" = (/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/derelict/atmospherics)
"ms" = (/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/derelict/atmospherics)
"mt" = (/obj/structure/window/fulltile,/turf/open/space,/area/derelict/atmospherics)
@@ -650,44 +650,44 @@
"mz" = (/obj/structure/lattice,/turf/open/space,/area/derelict/atmospherics)
"mA" = (/obj/item/stack/cable_coil/cut,/turf/open/space,/area/ruin/unpowered/no_grav)
"mB" = (/obj/structure/door_assembly/door_assembly_mai{name = "airlock assembly"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
-"mC" = (/obj/item/weapon/wirecutters,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
+"mC" = (/obj/item/weapon/wirecutters,/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
"mD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/derelict/hallway/secondary)
"mE" = (/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
"mF" = (/obj/structure/chair{dir = 1},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
"mG" = (/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/atmospherics)
"mH" = (/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/ruin/unpowered/no_grav)
-"mI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
+"mI" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
"mJ" = (/obj/item/stack/cable_coil/cut,/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
-"mK" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
+"mK" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1;scrub_N2O = 0;scrub_Toxins = 0},/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
"mL" = (/obj/structure/window/reinforced,/turf/open/floor/plating/airless,/area/derelict/atmospherics)
"mM" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/open/floor/plasteel/airless,/area/derelict/atmospherics)
"mN" = (/turf/open/floor/plasteel/airless{icon_state = "damaged1"},/area/derelict/atmospherics)
"mO" = (/obj/effect/spawner/lootdrop/maintenance,/turf/open/space,/area/ruin/unpowered/no_grav)
"mP" = (/obj/machinery/portable_atmospherics/pump,/turf/open/floor/plating/airless,/area/derelict/atmospherics)
-"mQ" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance{lootcount = 8; name = "8maintenance loot spawner"},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
+"mQ" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance{lootcount = 8;name = "8maintenance loot spawner"},/turf/open/floor/plating/airless,/area/derelict/atmospherics)
"mR" = (/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plating/airless,/area/derelict/hallway/primary)
"mS" = (/turf/open/space,/area/derelict/atmospherics)
"mT" = (/obj/machinery/light/small,/turf/open/floor/plasteel/airless,/area/derelict/atmospherics)
"mU" = (/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
"mV" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
-"mW" = (/obj/machinery/door/airlock/maintenance{name = "Aux Storage"; req_access_txt = "23"},/turf/open/floor/plating/airless,/area/derelict/hallway/secondary)
-"mX" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/power/apc{dir = 8; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
+"mW" = (/obj/machinery/door/airlock/maintenance{name = "Aux Storage";req_access_txt = "23"},/turf/open/floor/plating/airless,/area/derelict/hallway/secondary)
+"mX" = (/obj/structure/cable{icon_state = "0-2";d2 = 2},/obj/structure/cable,/obj/machinery/power/apc{dir = 8;name = "Worn-out APC";pixel_x = -24;pixel_y = 0},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
"mY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/derelict/hallway/secondary)
"mZ" = (/turf/open/floor/plating/airless,/area/derelict/hallway/secondary)
"na" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
"nb" = (/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
-"nc" = (/obj/machinery/power/apc{dir = 1; name = "Worn-out APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/open/floor/plasteel/airless,/area/derelict/atmospherics)
-"nd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
-"ne" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict9"},/area/derelict/hallway/secondary)
-"nf" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict10"},/area/derelict/hallway/secondary)
-"ng" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict11"},/area/derelict/hallway/secondary)
-"nh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict12"},/area/derelict/hallway/secondary)
-"ni" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict13"},/area/derelict/hallway/secondary)
-"nj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict14"},/area/derelict/hallway/secondary)
-"nk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict15"},/area/derelict/hallway/secondary)
-"nl" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict16"},/area/derelict/hallway/secondary)
-"nm" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
-"nn" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
+"nc" = (/obj/machinery/power/apc{dir = 1;name = "Worn-out APC";pixel_x = 0;pixel_y = 24},/obj/structure/cable{icon_state = "0-4";d2 = 4},/turf/open/floor/plasteel/airless,/area/derelict/atmospherics)
+"nd" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
+"ne" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict9"},/area/derelict/hallway/secondary)
+"nf" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict10"},/area/derelict/hallway/secondary)
+"ng" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict11"},/area/derelict/hallway/secondary)
+"nh" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict12"},/area/derelict/hallway/secondary)
+"ni" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict13"},/area/derelict/hallway/secondary)
+"nj" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict14"},/area/derelict/hallway/secondary)
+"nk" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict15"},/area/derelict/hallway/secondary)
+"nl" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "derelict16"},/area/derelict/hallway/secondary)
+"nm" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
+"nn" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
"no" = (/turf/open/floor/plasteel/airless{icon_state = "derelict1"},/area/derelict/hallway/secondary)
"np" = (/turf/open/floor/plasteel/airless{icon_state = "derelict2"},/area/derelict/hallway/secondary)
"nq" = (/turf/open/floor/plasteel/airless{icon_state = "derelict3"},/area/derelict/hallway/secondary)
@@ -696,65 +696,65 @@
"nt" = (/turf/open/floor/plasteel/airless{icon_state = "derelict6"},/area/derelict/hallway/secondary)
"nu" = (/turf/open/floor/plasteel/airless{icon_state = "derelict7"},/area/derelict/hallway/secondary)
"nv" = (/turf/open/floor/plasteel/airless{icon_state = "derelict8"},/area/derelict/hallway/secondary)
-"nw" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
+"nw" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1;scrub_N2O = 0;scrub_Toxins = 0},/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
"nx" = (/obj/structure/lattice,/turf/open/space,/area/derelict/hallway/secondary)
"ny" = (/obj/structure/grille,/obj/structure/window/reinforced,/turf/open/floor/plating/airless,/area/derelict/hallway/secondary)
"nz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating/airless,/area/derelict/hallway/secondary)
"nA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/derelict/hallway/secondary)
"nB" = (/turf/closed/wall/r_wall,/area/derelict/se_solar)
-"nC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Aft Solar Access"; req_access_txt = "10"},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
+"nC" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Aft Solar Access";req_access_txt = "10"},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
"nD" = (/obj/machinery/door/airlock/external{name = "Escape Airlock"},/turf/open/floor/plating/airless,/area/derelict/hallway/secondary)
"nE" = (/obj/machinery/door/firedoor,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plating/airless,/area/derelict/hallway/secondary)
-"nF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
+"nF" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/obj/machinery/door/firedoor,/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
"nG" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel/airless,/area/derelict/hallway/secondary)
"nH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating/airless,/area/derelict/hallway/secondary)
"nI" = (/obj/structure/girder/reinforced,/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav)
-"nJ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/closed/wall/r_wall,/area/derelict/se_solar)
-"nK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/closed/wall/r_wall,/area/derelict/se_solar)
-"nL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/door/airlock/engineering{name = "Aft Solar Access"; req_access_txt = "10"},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
+"nJ" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/closed/wall/r_wall,/area/derelict/se_solar)
+"nK" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/closed/wall/r_wall,/area/derelict/se_solar)
+"nL" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/obj/machinery/door/airlock/engineering{name = "Aft Solar Access";req_access_txt = "10"},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
"nM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating/airless,/area/derelict/se_solar)
"nN" = (/obj/structure/grille,/turf/open/floor/plating/airless,/area/derelict/hallway/secondary)
"nO" = (/obj/machinery/power/smes,/obj/structure/cable,/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
-"nP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
+"nP" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
"nQ" = (/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/derelict/se_solar)
"nR" = (/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
"nS" = (/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
-"nT" = (/obj/docking_port/stationary{dheight = 0; dir = 2; dwidth = 11; height = 22; id = "whiteship_z4"; name = "KSS13: Derelict"; width = 35},/turf/open/space,/area/space)
-"nU" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/effect/mob_spawn/derelict_drone,/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
+"nT" = (/obj/docking_port/stationary{dheight = 0;dir = 2;dwidth = 11;height = 22;id = "whiteship_z4";name = "KSS13: Derelict";width = 35},/turf/open/space,/area/space)
+"nU" = (/obj/machinery/power/terminal{icon_state = "term";dir = 1},/obj/structure/cable{icon_state = "0-2";d2 = 2},/obj/effect/mob_spawn/derelict_drone,/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
"nV" = (/turf/open/floor/plating/airless,/area/derelict/se_solar)
"nW" = (/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
"nX" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
-"nY" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/power/solar_control{id = "derelictsolar"; name = "Primary Solar Control"; track = 0},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
-"nZ" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 8; environ = 0; equipment = 0; lighting = 0; locked = 0; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/turf/open/floor/plating/airless,/area/derelict/se_solar)
-"oa" = (/obj/item/weapon/paper{desc = ""; info = "The Syndicate have cunningly disguised a Syndicate Uplink as your PDA. Simply enter the code \"678 Bravo\" into the ringtone select to unlock its hidden features.
Objective #1. Kill the God damn AI in a fire blast that it rocks the station. Success!
Objective #2. Escape alive. Failed."; name = "Mission Objectives"},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/se_solar)
+"nY" = (/obj/structure/cable{icon_state = "0-2";d2 = 2},/obj/structure/cable,/obj/machinery/power/solar_control{id = "derelictsolar";name = "Primary Solar Control";track = 0},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
+"nZ" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 8;environ = 0;equipment = 0;lighting = 0;locked = 0;name = "Worn-out APC";pixel_x = -24;pixel_y = 0},/turf/open/floor/plating/airless,/area/derelict/se_solar)
+"oa" = (/obj/item/weapon/paper{desc = "";info = "The Syndicate have cunningly disguised a Syndicate Uplink as your PDA. Simply enter the code \"678 Bravo\" into the ringtone select to unlock its hidden features.
Objective #1. Kill the God damn AI in a fire blast that it rocks the station. Success!
Objective #2. Escape alive. Failed.";name = "Mission Objectives"},/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/derelict/se_solar)
"ob" = (/obj/machinery/light/small{dir = 4},/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
"oc" = (/obj/item/stack/rods,/turf/open/floor/plating/airless,/area/derelict/hallway/secondary)
-"od" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
+"od" = (/obj/machinery/door/window{base_state = "right";dir = 4;icon_state = "right"},/turf/open/floor/plasteel/airless,/area/ruin/unpowered/no_grav)
"oe" = (/obj/machinery/light/small,/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
-"of" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
-"og" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
+"of" = (/obj/machinery/door/window{base_state = "right";dir = 4;icon_state = "right"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
+"og" = (/obj/machinery/door/window{base_state = "right";dir = 4;icon_state = "right"},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
"oh" = (/obj/item/clothing/suit/space/syndicate/black/red,/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
-"oi" = (/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"},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
-"oj" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
-"ok" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/external,/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
+"oi" = (/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"},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
+"oj" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1;scrub_N2O = 0;scrub_Toxins = 0},/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
+"ok" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/obj/machinery/door/airlock/external,/turf/open/floor/plasteel/airless,/area/derelict/se_solar)
"ol" = (/obj/structure/cable,/obj/structure/lattice/catwalk,/turf/open/space,/area/solar/derelict_aft)
-"om" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/lattice/catwalk,/turf/open/space,/area/solar/derelict_aft)
-"on" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "derelictsolar"; name = "Derelict Solar Array"},/turf/open/floor/plasteel/airless,/area/solar/derelict_aft)
-"oo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/lattice/catwalk,/turf/open/space,/area/solar/derelict_aft)
-"op" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "derelictsolar"; name = "Derelict Solar Array"},/turf/open/floor/plating/airless{icon_state = "platingdmg3"},/area/solar/derelict_aft)
+"om" = (/obj/structure/cable{icon_state = "0-2";d2 = 2},/obj/structure/lattice/catwalk,/turf/open/space,/area/solar/derelict_aft)
+"on" = (/obj/structure/cable{icon_state = "0-2";d2 = 2},/obj/machinery/power/solar{id = "derelictsolar";name = "Derelict Solar Array"},/turf/open/floor/plasteel/airless,/area/solar/derelict_aft)
+"oo" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/obj/structure/lattice/catwalk,/turf/open/space,/area/solar/derelict_aft)
+"op" = (/obj/structure/cable{icon_state = "0-2";d2 = 2},/obj/machinery/power/solar{id = "derelictsolar";name = "Derelict Solar Array"},/turf/open/floor/plating/airless{icon_state = "platingdmg3"},/area/solar/derelict_aft)
"oq" = (/turf/open/floor/plating/airless,/turf/open/floor/plating/airless{icon_state = "platingdmg2"},/area/solar/derelict_aft)
-"or" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/space,/area/solar/derelict_aft)
-"os" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/space,/area/solar/derelict_aft)
-"ot" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/space,/area/solar/derelict_aft)
-"ou" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/lattice/catwalk,/turf/open/space,/area/solar/derelict_aft)
-"ov" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/space,/area/solar/derelict_aft)
-"ow" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/space,/area/solar/derelict_aft)
-"ox" = (/obj/structure/cable,/obj/machinery/power/solar{id = "derelictsolar"; name = "Derelict Solar Array"},/turf/open/floor/plasteel/airless,/area/solar/derelict_aft)
+"or" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/space,/area/solar/derelict_aft)
+"os" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/space,/area/solar/derelict_aft)
+"ot" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/open/space,/area/solar/derelict_aft)
+"ou" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/obj/structure/lattice/catwalk,/turf/open/space,/area/solar/derelict_aft)
+"ov" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/space,/area/solar/derelict_aft)
+"ow" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/space,/area/solar/derelict_aft)
+"ox" = (/obj/structure/cable,/obj/machinery/power/solar{id = "derelictsolar";name = "Derelict Solar Array"},/turf/open/floor/plasteel/airless,/area/solar/derelict_aft)
"oy" = (/turf/open/floor/plating/airless{icon_state = "platingdmg1"},/area/solar/derelict_aft)
"oz" = (/obj/structure/lattice/catwalk,/turf/open/space,/area/solar/derelict_aft)
-"oA" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/space,/area/solar/derelict_aft)
-"oB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/lattice/catwalk,/turf/open/space,/area/solar/derelict_aft)
-"oC" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/space,/area/solar/derelict_aft)
+"oA" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/space,/area/solar/derelict_aft)
+"oB" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/structure/lattice/catwalk,/turf/open/space,/area/solar/derelict_aft)
+"oC" = (/obj/structure/lattice/catwalk,/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/space,/area/solar/derelict_aft)
"oD" = (/obj/machinery/power/tracker,/obj/structure/cable,/turf/open/floor/plasteel/airless,/area/solar/derelict_aft)
(1,1,1) = {"
diff --git a/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm b/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm
index 03215fd45c1..83bc060f940 100644
--- a/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm
+++ b/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomRuins/SpaceRuins/asteroid4.dmm b/_maps/RandomRuins/SpaceRuins/asteroid4.dmm
index 81294322194..5fc9d7c285d 100644
--- a/_maps/RandomRuins/SpaceRuins/asteroid4.dmm
+++ b/_maps/RandomRuins/SpaceRuins/asteroid4.dmm
@@ -10,7 +10,7 @@
"j" = (/turf/open/floor/plating/asteroid,/turf/closed/wall/mineral/titanium,/area/ruin/unpowered)
"k" = (/turf/open/floor/plating,/obj/item/stack/sheet/mineral/bananium{amount = 15},/turf/closed/wall/mineral/titanium,/area/ruin/unpowered)
"l" = (/turf/closed/wall/mineral/titanium,/area/ruin/unpowered)
-"m" = (/obj/structure/chair{dir = 1},/obj/item/weapon/shard,/obj/effect/mob_spawn/human/clown{brute_damage = 120; oxy_damage = 75},/obj/item/weapon/paper{info = "Extraction was successful! The disguise was perfect, the clowns never knew what hit 'em! Once I get back to base with the bananium samples I'll be rich, I tell you! RICH!"},/obj/item/stack/sheet/mineral/bananium{amount = 15},/turf/open/floor/mineral/titanium/blue,/area/ruin/unpowered)
+"m" = (/obj/structure/chair{dir = 1},/obj/item/weapon/shard,/obj/effect/mob_spawn/human/clown{brute_damage = 120;oxy_damage = 75},/obj/item/weapon/paper{info = "Extraction was successful! The disguise was perfect, the clowns never knew what hit 'em! Once I get back to base with the bananium samples I'll be rich, I tell you! RICH!"},/obj/item/stack/sheet/mineral/bananium{amount = 15},/turf/open/floor/mineral/titanium/blue,/area/ruin/unpowered)
"n" = (/obj/structure/chair{dir = 1},/obj/item/weapon/storage/pod{pixel_x = -26},/turf/open/floor/mineral/titanium/blue,/area/ruin/unpowered)
"o" = (/obj/structure/shuttle/engine/propulsion/burst,/turf/closed/wall/mineral/titanium/overspace,/area/ruin/unpowered)
"p" = (/obj/machinery/door/airlock/titanium{name = "Escape Pod Airlock"},/turf/open/floor/mineral/titanium/blue,/area/ruin/unpowered)
diff --git a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm
index e5abb0af592..1748ebe6d7d 100644
--- a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm
+++ b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm
@@ -7,22 +7,22 @@
"ag" = (/obj/machinery/door/poddoor{id = "bigderelictshipdock"},/turf/open/floor/plating,/area/ruin/derelictoutpost/cargobay)
"ah" = (/obj/structure/sign/vacuum{pixel_y = 32},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"ai" = (/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"aj" = (/obj/machinery/button/door{name = "tradepost entry doors"; pixel_y = 24},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"aj" = (/obj/machinery/button/door{name = "tradepost entry doors";pixel_y = 24},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"ak" = (/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"al" = (/obj/structure/reagent_dispensers/watertank,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"am" = (/turf/open/floor/engine,/area/ruin/derelictoutpost/cargobay)
-"an" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"ao" = (/obj/machinery/power/apc{cell_type = 0; dir = 4; name = "Cargo Bay APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"an" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"ao" = (/obj/machinery/power/apc{cell_type = 0;dir = 4;name = "Cargo Bay APC";pixel_x = 24;pixel_y = 0},/obj/structure/cable{d2 = 8;icon_state = "0-8"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"ap" = (/obj/structure/table,/obj/machinery/light{dir = 8},/obj/item/weapon/reagent_containers/glass/bucket,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"aq" = (/turf/open/floor/engine,/turf/closed/wall/mineral/titanium/interior,/area/ruin/derelictoutpost/dockedship)
-"ar" = (/obj/structure/shuttle/engine/propulsion/burst/right{dir = 1; icon_state = "burst_r"; name = "shuttle engine"; tag = "icon-burst_r (NORTH)"},/turf/open/floor/plating,/area/ruin/derelictoutpost/dockedship)
-"as" = (/obj/structure/shuttle/engine/propulsion/burst/left{dir = 1; icon_state = "burst_l"; name = "shuttle engine"; tag = "icon-burst_l (NORTH)"},/turf/open/floor/plating,/area/ruin/derelictoutpost/dockedship)
+"ar" = (/obj/structure/shuttle/engine/propulsion/burst/right{dir = 1;icon_state = "burst_r";name = "shuttle engine";tag = "icon-burst_r (NORTH)"},/turf/open/floor/plating,/area/ruin/derelictoutpost/dockedship)
+"as" = (/obj/structure/shuttle/engine/propulsion/burst/left{dir = 1;icon_state = "burst_l";name = "shuttle engine";tag = "icon-burst_l (NORTH)"},/turf/open/floor/plating,/area/ruin/derelictoutpost/dockedship)
"at" = (/turf/closed/wall/mineral/titanium,/area/ruin/derelictoutpost/dockedship)
-"au" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"av" = (/obj/structure/table,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"au" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"av" = (/obj/structure/table,/obj/machinery/light{icon_state = "tube1";dir = 4},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"aw" = (/obj/structure/table,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"ax" = (/obj/structure/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/obj/structure/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/turf/open/floor/mineral/titanium/yellow,/area/ruin/derelictoutpost/dockedship)
-"ay" = (/obj/structure/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/obj/structure/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/turf/open/floor/mineral/titanium/yellow,/area/ruin/derelictoutpost/dockedship)
+"ax" = (/obj/structure/window/reinforced{tag = "icon-rwindow (NORTH)";icon_state = "rwindow";dir = 1},/obj/structure/window/reinforced{tag = "icon-rwindow (WEST)";icon_state = "rwindow";dir = 8},/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)";icon_state = "heater";dir = 1},/turf/open/floor/mineral/titanium/yellow,/area/ruin/derelictoutpost/dockedship)
+"ay" = (/obj/structure/window/reinforced{tag = "icon-rwindow (NORTH)";icon_state = "rwindow";dir = 1},/obj/structure/window/reinforced{tag = "icon-rwindow (EAST)";icon_state = "rwindow";dir = 4},/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)";icon_state = "heater";dir = 1},/turf/open/floor/mineral/titanium/yellow,/area/ruin/derelictoutpost/dockedship)
"az" = (/obj/structure/table,/obj/item/clothing/head/soft,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"aA" = (/turf/closed/wall,/area/ruin/derelictoutpost/powerstorage)
"aB" = (/obj/machinery/door/airlock/external,/turf/open/floor/plating,/area/ruin/derelictoutpost/powerstorage)
@@ -37,212 +37,212 @@
"aK" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/open/floor/plating,/area/ruin/derelictoutpost)
"aL" = (/obj/machinery/door/airlock/external,/turf/open/floor/plating,/area/ruin/derelictoutpost)
"aM" = (/turf/open/floor/plating,/area/ruin/derelictoutpost/powerstorage)
-"aN" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargobay)
+"aN" = (/obj/structure/closet/crate{icon_state = "crateopen";opened = 1},/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargobay)
"aO" = (/obj/structure/closet/crate/secure/loot,/turf/open/floor/mineral/titanium/yellow,/area/ruin/derelictoutpost/dockedship)
"aP" = (/obj/structure/closet/crate/internals,/obj/item/weapon/storage/toolbox/emergency,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/obj/item/clothing/mask/breath,/turf/open/floor/mineral/titanium/yellow,/area/ruin/derelictoutpost/dockedship)
"aQ" = (/obj/structure/closet/crate/radiation,/obj/item/clothing/head/radiation,/obj/item/clothing/suit/radiation,/obj/item/device/geiger_counter,/turf/open/floor/mineral/titanium/yellow,/area/ruin/derelictoutpost/dockedship)
"aR" = (/turf/open/floor/plating,/area/ruin/derelictoutpost)
"aS" = (/turf/closed/wall/r_wall,/area/ruin/derelictoutpost/powerstorage)
-"aT" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargobay)
-"aU" = (/obj/structure/closet/crate/critter{name = "critter crate - mr.tiggles"; opened = 1},/obj/item/weapon/paper/crumpled/snowdin{info = "A crumpled piece of manifest paper, out of the barely legible pen writing, you can see something about a warning involving whatever was originally in the crate."},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle/yellow,/area/ruin/derelictoutpost/dockedship)
-"aV" = (/obj/structure/closet/crate/engineering,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle/yellow,/area/ruin/derelictoutpost/dockedship)
+"aT" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargobay)
+"aU" = (/obj/structure/closet/crate/critter{name = "critter crate - mr.tiggles";opened = 1},/obj/item/weapon/paper/crumpled/snowdin{info = "A crumpled piece of manifest paper, out of the barely legible pen writing, you can see something about a warning involving whatever was originally in the crate."},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle/yellow,/area/ruin/derelictoutpost/dockedship)
+"aV" = (/obj/structure/closet/crate/engineering,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle/yellow,/area/ruin/derelictoutpost/dockedship)
"aW" = (/obj/structure/closet/crate/engineering/electrical,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/stock_parts/cell/hyper,/turf/open/floor/mineral/titanium/yellow,/area/ruin/derelictoutpost/dockedship)
-"aX" = (/obj/structure/closet/crate,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargobay)
+"aX" = (/obj/structure/closet/crate,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargobay)
"aY" = (/obj/structure/lattice,/turf/open/space,/area/space)
"aZ" = (/turf/closed/wall,/area/ruin/derelictoutpost)
"ba" = (/obj/item/clothing/head/helmet,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
-"bb" = (/obj/machinery/power/smes,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
-"bc" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell/hyper,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
-"bd" = (/obj/machinery/power/smes,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
-"be" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle,/area/ruin/derelictoutpost/dockedship)
+"bb" = (/obj/machinery/power/smes,/obj/structure/cable{icon_state = "0-4";d2 = 4},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
+"bc" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell/hyper,/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
+"bd" = (/obj/machinery/power/smes,/obj/structure/cable{d2 = 8;icon_state = "0-8"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
+"be" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle,/area/ruin/derelictoutpost/dockedship)
"bf" = (/obj/effect/decal/cleanable/blood/old,/turf/open/floor/mineral/titanium/blue,/area/ruin/derelictoutpost/dockedship)
-"bg" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/glowshroom/single,/turf/open/floor/plasteel/shuttle,/area/ruin/derelictoutpost/dockedship)
-"bh" = (/obj/machinery/button/door{id = "bigderelictship"; name = "shuttle cargo doors"; pixel_x = 24},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle,/area/ruin/derelictoutpost/dockedship)
-"bi" = (/obj/effect/decal/cleanable/cobweb,/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"bg" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/glowshroom/single,/turf/open/floor/plasteel/shuttle,/area/ruin/derelictoutpost/dockedship)
+"bh" = (/obj/machinery/button/door{id = "bigderelictship";name = "shuttle cargo doors";pixel_x = 24},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle,/area/ruin/derelictoutpost/dockedship)
+"bi" = (/obj/effect/decal/cleanable/cobweb,/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
"bj" = (/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
"bk" = (/obj/structure/sign/vacuum{pixel_y = 32},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"bl" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"bm" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHWEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 9},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"bn" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 4},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"bo" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/glowshroom/single,/obj/structure/sign/vacuum{pixel_y = 32},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 4},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"bp" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 5},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"bq" = (/obj/effect/mob_spawn/human/corpse/nanotrasensoldier{helmet = null; id_job = "Tradepost Officer"; name = "Tradeport Officer"; random = 1},/obj/item/weapon/paper/crumpled/snowdin{icon_state = "scrap_bloodied"; info = "If anyone finds this, please, don't let my kids know I died a coward.."},/obj/effect/decal/cleanable/blood/old{name = "dried blood splatter"; pixel_x = -29},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
-"br" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
-"bs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
+"bl" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"bm" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHWEST)";name = "dried blood trail";icon_state = "trails_1";dir = 9},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"bn" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)";name = "dried blood trail";icon_state = "trails_1";dir = 4},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"bo" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/glowshroom/single,/obj/structure/sign/vacuum{pixel_y = 32},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)";name = "dried blood trail";icon_state = "trails_1";dir = 4},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"bp" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)";name = "dried blood trail";icon_state = "trails_1";dir = 5},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"bq" = (/obj/effect/mob_spawn/human/corpse/nanotrasensoldier{helmet = null;id_job = "Tradepost Officer";name = "Tradeport Officer";random = 1},/obj/item/weapon/paper/crumpled/snowdin{icon_state = "scrap_bloodied";info = "If anyone finds this, please, don't let my kids know I died a coward.."},/obj/effect/decal/cleanable/blood/old{name = "dried blood splatter";pixel_x = -29},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
+"br" = (/obj/machinery/power/terminal{icon_state = "term";dir = 1},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
+"bs" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
"bt" = (/obj/machinery/door/airlock/titanium,/turf/open/floor/mineral/titanium/blue,/area/ruin/derelictoutpost/dockedship)
"bu" = (/turf/open/floor/mineral/titanium/blue,/area/ruin/derelictoutpost/dockedship)
-"bv" = (/obj/item/chair,/obj/effect/decal/cleanable/blood/old,/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle,/area/ruin/derelictoutpost/dockedship)
-"bw" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 5},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle,/area/ruin/derelictoutpost/dockedship)
-"bx" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"by" = (/obj/machinery/door/airlock/glass_security{id_tag = "innerbrig"; name = "Security Checkpoint"; req_access_txt = "63"},/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
+"bv" = (/obj/item/chair,/obj/effect/decal/cleanable/blood/old,/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle,/area/ruin/derelictoutpost/dockedship)
+"bw" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)";name = "dried blood trail";icon_state = "trails_1";dir = 5},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle,/area/ruin/derelictoutpost/dockedship)
+"bx" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"by" = (/obj/machinery/door/airlock/glass_security{id_tag = "innerbrig";name = "Security Checkpoint";req_access_txt = "63"},/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
"bz" = (/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
-"bA" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
+"bA" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
"bB" = (/obj/effect/decal/cleanable/cobweb{icon_state = "cobweb2"},/obj/structure/table,/obj/machinery/recharger,/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
"bC" = (/turf/closed/wall/r_wall,/area/ruin/derelictoutpost)
"bD" = (/obj/machinery/light{dir = 8},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"bE" = (/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1"; name = "dried blood trail"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"bF" = (/obj/structure/alien/resin/wall{color = "#8EC127"; desc = "Thick material shaped into a wall. Eugh."; icon_state = "smooth"; name = "gelatinous wall"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"bG" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old,/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTH)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 1},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"bH" = (/obj/item/ammo_casing/c45{caliber = null; desc = "A .45 bullet casing. This one is spent."; icon_state = "s-casing"; name = "spent bullet casing"},/obj/machinery/light{dir = 8},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
+"bE" = (/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1";name = "dried blood trail"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"bF" = (/obj/structure/alien/resin/wall{color = "#8EC127";desc = "Thick material shaped into a wall. Eugh.";icon_state = "smooth";name = "gelatinous wall"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"bG" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old,/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTH)";name = "dried blood trail";icon_state = "trails_1";dir = 1},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"bH" = (/obj/item/ammo_casing/c45{caliber = null;desc = "A .45 bullet casing. This one is spent.";icon_state = "s-casing";name = "spent bullet casing"},/obj/machinery/light{dir = 8},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
"bI" = (/obj/item/weapon/gun/ballistic/automatic/pistol/m1911{spawnwithmagazine = 0},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
"bJ" = (/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
"bK" = (/obj/structure/table,/obj/machinery/light{dir = 8},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"bL" = (/obj/structure/table,/turf/open/floor/mineral/titanium/blue,/area/ruin/derelictoutpost/dockedship)
"bM" = (/obj/machinery/computer,/turf/open/floor/mineral/titanium/blue,/area/ruin/derelictoutpost/dockedship)
-"bN" = (/obj/structure/table_frame,/obj/item/stack/sheet/metal,/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1"; name = "dried blood trail"},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle,/area/ruin/derelictoutpost/dockedship)
-"bO" = (/obj/item/weapon/shard,/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle,/area/ruin/derelictoutpost/dockedship)
-"bP" = (/obj/effect/gibspawner/human,/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"bN" = (/obj/structure/table_frame,/obj/item/stack/sheet/metal,/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1";name = "dried blood trail"},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle,/area/ruin/derelictoutpost/dockedship)
+"bO" = (/obj/item/weapon/shard,/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel/shuttle,/area/ruin/derelictoutpost/dockedship)
+"bP" = (/obj/effect/gibspawner/human,/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"bQ" = (/obj/structure/filingcabinet,/obj/machinery/light{dir = 8},/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
-"bR" = (/obj/item/weapon/shard,/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
-"bS" = (/obj/item/chair,/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
-"bT" = (/obj/effect/decal/cleanable/blood/old,/obj/machinery/button/door{id = "bigderelictcheckpoint"; name = "security checkpoint control"; pixel_y = -24},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
-"bU" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 4},/turf/open/floor/plating{icon_plating = "wall_thermite"; icon_state = "wall_thermite"; name = "melted wall"},/area/ruin/derelictoutpost)
-"bV" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 4},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"bW" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHEAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 6},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"bX" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTH)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"bR" = (/obj/item/weapon/shard,/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
+"bS" = (/obj/item/chair,/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
+"bT" = (/obj/effect/decal/cleanable/blood/old,/obj/machinery/button/door{id = "bigderelictcheckpoint";name = "security checkpoint control";pixel_y = -24},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
+"bU" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)";name = "dried blood trail";icon_state = "trails_1";dir = 4},/turf/open/floor/plating{icon_plating = "wall_thermite";icon_state = "wall_thermite";name = "melted wall"},/area/ruin/derelictoutpost)
+"bV" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)";name = "dried blood trail";icon_state = "trails_1";dir = 4},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"bW" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHEAST)";name = "dried blood trail";icon_state = "trails_1";dir = 6},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"bX" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTH)";name = "dried blood trail";icon_state = "trails_1";dir = 1},/obj/machinery/light{icon_state = "tube1";dir = 4},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
"bY" = (/obj/item/device/gps{gpstag = "Distress Signal"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
-"bZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
-"ca" = (/obj/machinery/power/apc{cell_type = 0; dir = 4; name = "Power Storage APC"; pixel_x = 23; pixel_y = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
+"bZ" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4";tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
+"ca" = (/obj/machinery/power/apc{cell_type = 0;dir = 4;name = "Power Storage APC";pixel_x = 23;pixel_y = 2},/obj/structure/cable{d2 = 8;icon_state = "0-8"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
"cb" = (/obj/structure/closet/wardrobe/cargotech,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"cc" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/open/floor/plating,/area/ruin/derelictoutpost/dockedship)
-"cd" = (/obj/structure/grille/broken,/obj/item/weapon/shard,/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1"; name = "dried blood trail"},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plating,/area/ruin/derelictoutpost/dockedship)
-"ce" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"cf" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
-"cg" = (/obj/item/weapon/shard,/obj/item/stack/cable_coil{amount = 2; icon_state = "coil_red2"; item_state = "coil_red"},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/table_frame,/obj/item/stack/sheet/metal,/obj/item/stack/sheet/plasteel,/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
+"cd" = (/obj/structure/grille/broken,/obj/item/weapon/shard,/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1";name = "dried blood trail"},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plating,/area/ruin/derelictoutpost/dockedship)
+"ce" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"cf" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{tag = "icon-rwindow (NORTH)";icon_state = "rwindow";dir = 1},/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
+"cg" = (/obj/item/weapon/shard,/obj/item/stack/cable_coil{amount = 2;icon_state = "coil_red2";item_state = "coil_red"},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/table_frame,/obj/item/stack/sheet/metal,/obj/item/stack/sheet/plasteel,/turf/open/floor/plasteel/darkred,/area/ruin/derelictoutpost)
"ch" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"ci" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/glowshroom/single,/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"cj" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"ck" = (/obj/machinery/power/apc{cell_type = 0; dir = 2; name = "Tradepost APC"; pixel_x = 0; pixel_y = -24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"cl" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/glowshroom/single,/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTH)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 1},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"cm" = (/obj/structure/alien/resin/wall{color = "#8EC127"; desc = "Thick material shaped into a wall. Eugh."; icon_state = "smooth"; name = "gelatinous wall"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"ci" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/glowshroom/single,/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"cj" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"ck" = (/obj/machinery/power/apc{cell_type = 0;dir = 2;name = "Tradepost APC";pixel_x = 0;pixel_y = -24},/obj/structure/cable{d2 = 8;icon_state = "0-8"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"cl" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/glowshroom/single,/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTH)";name = "dried blood trail";icon_state = "trails_1";dir = 1},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"cm" = (/obj/structure/alien/resin/wall{color = "#8EC127";desc = "Thick material shaped into a wall. Eugh.";icon_state = "smooth";name = "gelatinous wall"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
"cn" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/obj/item/stack/cable_coil,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
"co" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
-"cp" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
-"cq" = (/obj/structure/barricade/wooden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
-"cr" = (/obj/machinery/door/airlock/engineering{name = "Power Storage"; req_access_txt = "10"},/obj/structure/barricade/wooden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
-"cs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"ct" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"cu" = (/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1"; name = "dried blood trail"},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plating,/area/ruin/derelictoutpost/cargobay)
-"cv" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plating,/area/ruin/derelictoutpost/cargobay)
-"cw" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"cx" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"cy" = (/obj/machinery/door/airlock/glass,/obj/machinery/door/poddoor{id = "bigderelictcheckpoint"; name = "checkpoint security doors"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"cz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"cA" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"cB" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"cC" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/mob/living/simple_animal/hostile/creature{desc = "Awh its so sm-OH GOD WHAT THE FUCK."; health = 25; maxHealth = 25; name = "hatchling"; resize = 0.85},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"cD" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHWEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 10},/mob/living/simple_animal/hostile/creature{desc = "Awh its so sm-OH GOD WHAT THE FUCK."; health = 25; maxHealth = 25; name = "hatchling"; resize = 0.85},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"cE" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 4},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"cF" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 5},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"cG" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"cH" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"cI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/janitorialcart,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"cJ" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/weapon/mop,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"cK" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHWEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 10},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"cL" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 5},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"cM" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/glowshroom/single,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"cN" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"cp" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4";tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
+"cq" = (/obj/structure/barricade/wooden,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0;tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
+"cr" = (/obj/machinery/door/airlock/engineering{name = "Power Storage";req_access_txt = "10"},/obj/structure/barricade/wooden,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0;tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/powerstorage)
+"cs" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0;tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"ct" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"cu" = (/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1";name = "dried blood trail"},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plating,/area/ruin/derelictoutpost/cargobay)
+"cv" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plating,/area/ruin/derelictoutpost/cargobay)
+"cw" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"cx" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0;tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"cy" = (/obj/machinery/door/airlock/glass,/obj/machinery/door/poddoor{id = "bigderelictcheckpoint";name = "checkpoint security doors"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0;tag = ""},/obj/machinery/door/firedoor,/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"cz" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0;tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"cA" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0;tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"cB" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"cC" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/mob/living/simple_animal/hostile/creature{desc = "Awh its so sm-OH GOD WHAT THE FUCK.";health = 25;maxHealth = 25;name = "hatchling";resize = 0.85},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"cD" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHWEST)";name = "dried blood trail";icon_state = "trails_1";dir = 10},/mob/living/simple_animal/hostile/creature{desc = "Awh its so sm-OH GOD WHAT THE FUCK.";health = 25;maxHealth = 25;name = "hatchling";resize = 0.85},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"cE" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)";name = "dried blood trail";icon_state = "trails_1";dir = 4},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"cF" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)";name = "dried blood trail";icon_state = "trails_1";dir = 5},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"cG" = (/obj/machinery/firealarm{dir = 8;pixel_x = -24},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"cH" = (/obj/structure/closet/crate{icon_state = "crateopen";opened = 1},/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4";tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"cI" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0;tag = ""},/obj/structure/janitorialcart,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"cJ" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0;tag = ""},/obj/item/weapon/mop,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"cK" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHWEST)";name = "dried blood trail";icon_state = "trails_1";dir = 10},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0;tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"cL" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)";name = "dried blood trail";icon_state = "trails_1";dir = 5},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0;tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"cM" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/glowshroom/single,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0;tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"cN" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"cO" = (/obj/machinery/light,/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
"cP" = (/obj/item/weapon/shard,/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"cQ" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"cR" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"cS" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTH)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 1},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"cT" = (/obj/item/ammo_casing/c45{caliber = null; desc = "A .45 bullet casing. This one is spent."; icon_state = "s-casing"; name = "spent bullet casing"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"cQ" = (/obj/machinery/firealarm{dir = 4;pixel_x = 24},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"cR" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"cS" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTH)";name = "dried blood trail";icon_state = "trails_1";dir = 1},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"cT" = (/obj/item/ammo_casing/c45{caliber = null;desc = "A .45 bullet casing. This one is spent.";icon_state = "s-casing";name = "spent bullet casing"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"cU" = (/obj/machinery/door/firedoor,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"cV" = (/obj/effect/decal/cleanable/xenoblood/xsplatter,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"cW" = (/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargobay)
-"cX" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTH)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 1},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"cY" = (/obj/structure/grille/broken,/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plating,/area/ruin/derelictoutpost)
-"cZ" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old,/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTH)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 1},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"da" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/glowshroom/single,/obj/machinery/door/firedoor,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"db" = (/obj/item/ammo_casing/c45{caliber = null; desc = "A .45 bullet casing. This one is spent."; icon_state = "s-casing"; name = "spent bullet casing"},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"dc" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/machinery/light,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"dd" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHWEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 10},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"de" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 4},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"df" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 4},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/machinery/light,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"dg" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 4},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"dh" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 4},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/door_assembly/door_assembly_mai{density = 0; desc = "A pried-open airlock. Scratch marks mark the sidings of the door."; name = "pried-open airlock"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/open/floor/plating,/area/ruin/derelictoutpost/cargobay)
-"di" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 5},/obj/effect/decal/cleanable/cobweb{icon_state = "cobweb2"},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plating,/area/ruin/derelictoutpost)
-"dj" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/item/weapon/shard,/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"dk" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old,/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"dl" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/mob/living/simple_animal/hostile/creature{name = "Miss Tiggles"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"dm" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old,/obj/structure/alien/gelpod,/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"dn" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 8},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"do" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHEAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 6},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"cW" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargobay)
+"cX" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTH)";name = "dried blood trail";icon_state = "trails_1";dir = 1},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"cY" = (/obj/structure/grille/broken,/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plating,/area/ruin/derelictoutpost)
+"cZ" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old,/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTH)";name = "dried blood trail";icon_state = "trails_1";dir = 1},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"da" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/glowshroom/single,/obj/machinery/door/firedoor,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"db" = (/obj/item/ammo_casing/c45{caliber = null;desc = "A .45 bullet casing. This one is spent.";icon_state = "s-casing";name = "spent bullet casing"},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"dc" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/machinery/light,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"dd" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHWEST)";name = "dried blood trail";icon_state = "trails_1";dir = 10},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"de" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)";name = "dried blood trail";icon_state = "trails_1";dir = 4},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"df" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)";name = "dried blood trail";icon_state = "trails_1";dir = 4},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/machinery/light,/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4";tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"dg" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)";name = "dried blood trail";icon_state = "trails_1";dir = 4},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0;tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"dh" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)";name = "dried blood trail";icon_state = "trails_1";dir = 4},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/door_assembly/door_assembly_mai{density = 0;desc = "A pried-open airlock. Scratch marks mark the sidings of the door.";name = "pried-open airlock"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0;tag = ""},/turf/open/floor/plating,/area/ruin/derelictoutpost/cargobay)
+"di" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)";name = "dried blood trail";icon_state = "trails_1";dir = 5},/obj/effect/decal/cleanable/cobweb{icon_state = "cobweb2"},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plating,/area/ruin/derelictoutpost)
+"dj" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/item/weapon/shard,/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"dk" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old,/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"dl" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/mob/living/simple_animal/hostile/creature{name = "Miss Tiggles"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"dm" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old,/obj/structure/alien/gelpod,/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"dn" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)";name = "dried blood trail";icon_state = "trails_1";dir = 8},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"do" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHEAST)";name = "dried blood trail";icon_state = "trails_1";dir = 6},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
"dp" = (/obj/machinery/light{dir = 8},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"dq" = (/obj/effect/decal/cleanable/xenoblood/xsplatter,/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"dr" = (/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1"; name = "dried blood trail"},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plating,/area/ruin/derelictoutpost)
+"dq" = (/obj/effect/decal/cleanable/xenoblood/xsplatter,/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"dr" = (/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1";name = "dried blood trail"},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plating,/area/ruin/derelictoutpost)
"ds" = (/turf/closed/mineral,/area/ruin/derelictoutpost)
-"dt" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/glowshroom/single,/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"du" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/item/weapon/gun/ballistic/automatic/pistol/m1911{spawnwithmagazine = 0},/obj/item/ammo_box/magazine/m45,/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"dv" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHWEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 9},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"dw" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 4},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"dx" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 4},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"dy" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 4},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/glowshroom/single,/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"dz" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 5},/obj/effect/decal/cleanable/cobweb{icon_state = "cobweb2"},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"dA" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 4},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"dB" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHEAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 6},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plating,/area/ruin/derelictoutpost)
-"dC" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1"; name = "dried blood trail"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"dD" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old,/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"dE" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"dF" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHWEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 10},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"dG" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 8},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"dH" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHEAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 6},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"dI" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plating,/area/ruin/derelictoutpost)
-"dJ" = (/obj/item/weapon/gun/ballistic/automatic/pistol/m1911{spawnwithmagazine = 0},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
-"dK" = (/obj/item/ammo_casing/c45{caliber = null; desc = "A .45 bullet casing. This one is spent."; icon_state = "s-casing"; name = "spent bullet casing"},/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 5},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"dt" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/glowshroom/single,/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"du" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/item/weapon/gun/ballistic/automatic/pistol/m1911{spawnwithmagazine = 0},/obj/item/ammo_box/magazine/m45,/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"dv" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHWEST)";name = "dried blood trail";icon_state = "trails_1";dir = 9},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"dw" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)";name = "dried blood trail";icon_state = "trails_1";dir = 4},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"dx" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)";name = "dried blood trail";icon_state = "trails_1";dir = 4},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"dy" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)";name = "dried blood trail";icon_state = "trails_1";dir = 4},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/glowshroom/single,/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"dz" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)";name = "dried blood trail";icon_state = "trails_1";dir = 5},/obj/effect/decal/cleanable/cobweb{icon_state = "cobweb2"},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"dA" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)";name = "dried blood trail";icon_state = "trails_1";dir = 4},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"dB" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHEAST)";name = "dried blood trail";icon_state = "trails_1";dir = 6},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plating,/area/ruin/derelictoutpost)
+"dC" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1";name = "dried blood trail"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"dD" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old,/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"dE" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"dF" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHWEST)";name = "dried blood trail";icon_state = "trails_1";dir = 10},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"dG" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)";name = "dried blood trail";icon_state = "trails_1";dir = 8},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"dH" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHEAST)";name = "dried blood trail";icon_state = "trails_1";dir = 6},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"dI" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plating,/area/ruin/derelictoutpost)
+"dJ" = (/obj/item/weapon/gun/ballistic/automatic/pistol/m1911{spawnwithmagazine = 0},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"dK" = (/obj/item/ammo_casing/c45{caliber = null;desc = "A .45 bullet casing. This one is spent.";icon_state = "s-casing";name = "spent bullet casing"},/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)";name = "dried blood trail";icon_state = "trails_1";dir = 5},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"dL" = (/turf/closed/wall,/area/ruin/derelictoutpost/cargostorage)
-"dM" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHWEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plating,/area/ruin/derelictoutpost)
-"dN" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 8},/turf/open/floor/plating{icon_plating = "wall_thermite"; icon_state = "wall_thermite"; name = "melted wall"},/area/ruin/derelictoutpost)
-"dO" = (/obj/structure/alien/resin/membrane{color = "#4BAE56"; desc = "A strange combination of thin, gelatinous material."; icon_state = "smooth"; name = "gelatinous membrane"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 8},/turf/open/floor/plating{icon_plating = "wall_thermite"; icon_state = "wall_thermite"; name = "melted wall"},/area/ruin/derelictoutpost)
-"dP" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/glowshroom/single,/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 8},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"dQ" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHEAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 6},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
-"dR" = (/obj/structure/alien/resin/membrane{color = "#4BAE56"; desc = "A strange combination of thin, gelatinous material."; icon_state = "smooth"; name = "gelatinous membrane"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"dS" = (/obj/item/ammo_box/magazine/m45,/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1"; name = "dried blood trail"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"dM" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHWEST)";name = "dried blood trail";icon_state = "trails_1";dir = 9},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plating,/area/ruin/derelictoutpost)
+"dN" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)";name = "dried blood trail";icon_state = "trails_1";dir = 8},/turf/open/floor/plating{icon_plating = "wall_thermite";icon_state = "wall_thermite";name = "melted wall"},/area/ruin/derelictoutpost)
+"dO" = (/obj/structure/alien/resin/membrane{color = "#4BAE56";desc = "A strange combination of thin, gelatinous material.";icon_state = "smooth";name = "gelatinous membrane"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)";name = "dried blood trail";icon_state = "trails_1";dir = 8},/turf/open/floor/plating{icon_plating = "wall_thermite";icon_state = "wall_thermite";name = "melted wall"},/area/ruin/derelictoutpost)
+"dP" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/glowshroom/single,/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)";name = "dried blood trail";icon_state = "trails_1";dir = 8},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"dQ" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHEAST)";name = "dried blood trail";icon_state = "trails_1";dir = 6},/turf/open/floor/plasteel,/area/ruin/derelictoutpost)
+"dR" = (/obj/structure/alien/resin/membrane{color = "#4BAE56";desc = "A strange combination of thin, gelatinous material.";icon_state = "smooth";name = "gelatinous membrane"},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"dS" = (/obj/item/ammo_box/magazine/m45,/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1";name = "dried blood trail"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"dT" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
"dU" = (/obj/machinery/suit_storage_unit/standard_unit,/obj/machinery/light{dir = 1},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
-"dV" = (/obj/structure/closet/crate,/obj/item/stack/sheet/glass/fifty,/obj/item/stack/sheet/glass/fifty,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
+"dV" = (/obj/structure/closet/crate,/obj/item/stack/sheet/glass/fifty,/obj/item/stack/sheet/glass/fifty,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
"dW" = (/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
-"dX" = (/obj/structure/closet/crate/secure/loot,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"dY" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/stack/sheet/plasteel/twenty,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
+"dX" = (/obj/structure/closet/crate/secure/loot,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"dY" = (/obj/structure/closet/crate{icon_state = "crateopen";opened = 1},/obj/item/stack/sheet/plasteel/twenty,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
"dZ" = (/obj/structure/extinguisher_cabinet{pixel_y = 32},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
-"ea" = (/obj/structure/closet/crate,/obj/item/weapon/storage/pill_bottle/stimulant,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"eb" = (/obj/structure/closet/crate,/obj/item/target/syndicate,/obj/item/target/clown,/obj/item/target/clown,/obj/item/target/alien,/obj/item/target,/obj/machinery/light{dir = 1},/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"ec" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"ed" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/o2,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"ee" = (/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1"; name = "dried blood trail"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plating,/area/ruin/derelictoutpost)
-"ef" = (/obj/structure/alien/resin/membrane{color = "#4BAE56"; desc = "A strange combination of thin, gelatinous material."; icon_state = "smooth"; name = "gelatinous membrane"},/turf/open/floor/plating/asteroid/airless,/area/ruin/derelictoutpost)
-"eg" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/mob/living/simple_animal/hostile/creature{desc = "Awh its so sm-OH GOD WHAT THE FUCK."; health = 25; maxHealth = 25; name = "hatchling"; resize = 0.85},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"eh" = (/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1"; name = "dried blood trail"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
+"ea" = (/obj/structure/closet/crate,/obj/item/weapon/storage/pill_bottle/stimulant,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"eb" = (/obj/structure/closet/crate,/obj/item/target/syndicate,/obj/item/target/clown,/obj/item/target/clown,/obj/item/target/alien,/obj/item/target,/obj/machinery/light{dir = 1},/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"ec" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/regular{empty = 1;name = "First-Aid (empty)"},/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"ed" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/regular{empty = 1;name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/o2,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"ee" = (/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1";name = "dried blood trail"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plating,/area/ruin/derelictoutpost)
+"ef" = (/obj/structure/alien/resin/membrane{color = "#4BAE56";desc = "A strange combination of thin, gelatinous material.";icon_state = "smooth";name = "gelatinous membrane"},/turf/open/floor/plating/asteroid/airless,/area/ruin/derelictoutpost)
+"eg" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/mob/living/simple_animal/hostile/creature{desc = "Awh its so sm-OH GOD WHAT THE FUCK.";health = 25;maxHealth = 25;name = "hatchling";resize = 0.85},/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"eh" = (/obj/effect/decal/cleanable/blood/old{icon_state = "trails_1";name = "dried blood trail"},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargobay)
"ei" = (/obj/machinery/door/firedoor,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
-"ej" = (/obj/structure/closet/crate,/obj/item/stack/sheet/cloth/ten,/obj/item/stack/sheet/cloth/ten,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"ek" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/stack/sheet/cardboard/fifty,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"el" = (/obj/machinery/power/apc{cell_type = 0; dir = 4; name = "Cargo Storage APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
+"ej" = (/obj/structure/closet/crate,/obj/item/stack/sheet/cloth/ten,/obj/item/stack/sheet/cloth/ten,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"ek" = (/obj/structure/closet/crate{icon_state = "crateopen";opened = 1},/obj/item/stack/sheet/cardboard/fifty,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"el" = (/obj/machinery/power/apc{cell_type = 0;dir = 4;name = "Cargo Storage APC";pixel_x = 24;pixel_y = 0},/obj/structure/cable{icon_state = "0-2";pixel_y = 1;d2 = 2},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
"em" = (/turf/closed/wall,/area/ruin/unpowered/no_grav)
-"en" = (/obj/structure/alien/resin/wall{color = "#8EC127"; desc = "Thick material shaped into a wall. Eugh."; icon_state = "smooth"; name = "gelatinous wall"},/turf/open/floor/plating/asteroid,/area/ruin/unpowered/no_grav)
-"eo" = (/obj/structure/closet/crate/internals,/obj/item/weapon/storage/toolbox/emergency,/obj/item/clothing/mask/breath,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"ep" = (/obj/structure/closet/crate/engineering/electrical,/obj/item/weapon/storage/toolbox/electrical,/obj/item/stack/cable_coil,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"eq" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/weapon/crowbar,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
-"er" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/regular,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
+"en" = (/obj/structure/alien/resin/wall{color = "#8EC127";desc = "Thick material shaped into a wall. Eugh.";icon_state = "smooth";name = "gelatinous wall"},/turf/open/floor/plating/asteroid,/area/ruin/unpowered/no_grav)
+"eo" = (/obj/structure/closet/crate/internals,/obj/item/weapon/storage/toolbox/emergency,/obj/item/clothing/mask/breath,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"ep" = (/obj/structure/closet/crate/engineering/electrical,/obj/item/weapon/storage/toolbox/electrical,/obj/item/stack/cable_coil,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"eq" = (/obj/structure/closet/crate{icon_state = "crateopen";opened = 1},/obj/item/weapon/crowbar,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
+"er" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/regular,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
"es" = (/obj/structure/closet/crate/engineering,/obj/item/weapon/storage/toolbox/mechanical,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
-"et" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/brute,/obj/item/weapon/storage/firstaid/fire,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"eu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
-"ev" = (/obj/structure/alien/weeds{color = "#4BAE56"; desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor"},/obj/structure/alien/gelpod,/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
-"ew" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 8},/obj/machinery/door/firedoor,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
-"ex" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 8},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
-"ey" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 8},/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"ez" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
-"eA" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal/fifty,/obj/item/stack/sheet/metal/fifty,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"eB" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/device/paicard,/obj/machinery/light,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"eC" = (/obj/structure/closet/crate,/obj/item/device/pda/clear,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"eD" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
-"eE" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/obj/item/weapon/storage/firstaid/toxin,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"eF" = (/obj/structure/closet/crate,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
+"et" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/brute,/obj/item/weapon/storage/firstaid/fire,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"eu" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
+"ev" = (/obj/structure/alien/weeds{color = "#4BAE56";desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";name = "gelatinous floor"},/obj/structure/alien/gelpod,/turf/open/floor/plating/asteroid,/area/ruin/derelictoutpost)
+"ew" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)";name = "dried blood trail";icon_state = "trails_1";dir = 8},/obj/machinery/door/firedoor,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
+"ex" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)";name = "dried blood trail";icon_state = "trails_1";dir = 8},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
+"ey" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (WEST)";name = "dried blood trail";icon_state = "trails_1";dir = 8},/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"ez" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (NORTHEAST)";name = "dried blood trail";icon_state = "trails_1";dir = 5},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
+"eA" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal/fifty,/obj/item/stack/sheet/metal/fifty,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"eB" = (/obj/structure/closet/crate{icon_state = "crateopen";opened = 1},/obj/item/device/paicard,/obj/machinery/light,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"eC" = (/obj/structure/closet/crate,/obj/item/device/pda/clear,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"eD" = (/obj/machinery/firealarm{dir = 1;pixel_y = -24},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
+"eE" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/obj/item/weapon/storage/firstaid/toxin,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"eF" = (/obj/structure/closet/crate,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
"eG" = (/obj/machinery/light,/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
-"eH" = (/obj/structure/closet/crate/engineering,/obj/item/device/multitool,/turf/open/floor/plasteel/delivery,/area/ruin/derelictoutpost/cargostorage)
-"eI" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHWEST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 10},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
-"eJ" = (/obj/structure/door_assembly/door_assembly_mai{density = 0; desc = "A pried-open airlock. Scratch marks mark the sidings of the door."; name = "pried-open airlock"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/open/floor/plating,/area/ruin/derelictoutpost/cargostorage)
-"eK" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHEAST)"; name = "dried blood trail"; icon_state = "trails_1"; dir = 6},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plating,/area/ruin/derelictoutpost)
+"eH" = (/obj/structure/closet/crate/engineering,/obj/item/device/multitool,/turf/open/floor/plasteel,/obj/effect/turf_decal/delivery,/area/ruin/derelictoutpost/cargostorage)
+"eI" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHWEST)";name = "dried blood trail";icon_state = "trails_1";dir = 10},/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4";tag = ""},/turf/open/floor/plasteel,/area/ruin/derelictoutpost/cargostorage)
+"eJ" = (/obj/structure/door_assembly/door_assembly_mai{density = 0;desc = "A pried-open airlock. Scratch marks mark the sidings of the door.";name = "pried-open airlock"},/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (EAST)";name = "dried blood trail";icon_state = "trails_1";dir = 4},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0;tag = ""},/turf/open/floor/plating,/area/ruin/derelictoutpost/cargostorage)
+"eK" = (/obj/effect/decal/cleanable/blood/old{tag = "icon-trails_1 (SOUTHEAST)";name = "dried blood trail";icon_state = "trails_1";dir = 6},/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plating,/area/ruin/derelictoutpost)
"eL" = (/obj/machinery/door/airlock/maintenance,/turf/open/floor/plating,/area/ruin/derelictoutpost/cargobay)
(1,1,1) = {"
diff --git a/_maps/RandomRuins/SpaceRuins/bus.dmm b/_maps/RandomRuins/SpaceRuins/bus.dmm
index ce578a0babd..06fc73991c8 100644
--- a/_maps/RandomRuins/SpaceRuins/bus.dmm
+++ b/_maps/RandomRuins/SpaceRuins/bus.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomRuins/SpaceRuins/caravanambush.dmm b/_maps/RandomRuins/SpaceRuins/caravanambush.dmm
index c0735b6aa66..896b8528aea 100644
--- a/_maps/RandomRuins/SpaceRuins/caravanambush.dmm
+++ b/_maps/RandomRuins/SpaceRuins/caravanambush.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomRuins/SpaceRuins/crashedclownship.dmm b/_maps/RandomRuins/SpaceRuins/crashedclownship.dmm
index f571785a4dd..13d2f98575c 100644
--- a/_maps/RandomRuins/SpaceRuins/crashedclownship.dmm
+++ b/_maps/RandomRuins/SpaceRuins/crashedclownship.dmm
@@ -7,17 +7,17 @@
"g" = (/obj/effect/mob_spawn/human/clown,/turf/open/floor/mineral/bananium/airless,/area/ruin/unpowered)
"h" = (/turf/open/floor/mineral/bananium/airless,/area/ruin/unpowered)
"i" = (/obj/structure/closet/crate,/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,/turf/open/floor/mineral/bananium/airless,/area/ruin/unpowered)
-"j" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/weapon/ore/bananium,/turf/open/floor/mineral/bananium/airless,/area/ruin/unpowered)
-"k" = (/obj/structure/closet/secure_closet{name = "clown locker"; req_access_txt = "46"},/obj/item/clothing/shoes/clown_shoes/banana_shoes,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/open/floor/mineral/bananium/airless,/area/ruin/unpowered)
-"l" = (/obj/structure/shuttle/engine/heater{color = "#FFFF00"; dir = 4; icon_state = "heater"},/obj/structure/window/reinforced{color = "#FFFF00"; dir = 8},/turf/open/floor/plating/airless{color = "#FFFF00"},/area/ruin/unpowered)
-"m" = (/obj/structure/shuttle/engine/propulsion{color = "#FFFF00"; dir = 8; icon_state = "propulsion_l"},/turf/open/space,/area/ruin/unpowered)
+"j" = (/obj/structure/closet/crate{icon_state = "crateopen";opened = 1},/obj/item/weapon/ore/bananium,/turf/open/floor/mineral/bananium/airless,/area/ruin/unpowered)
+"k" = (/obj/structure/closet/secure_closet{name = "clown locker";req_access_txt = "46"},/obj/item/clothing/shoes/clown_shoes/banana_shoes,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2;name = "2maintenance loot spawner"},/turf/open/floor/mineral/bananium/airless,/area/ruin/unpowered)
+"l" = (/obj/structure/shuttle/engine/heater{color = "#FFFF00";dir = 4;icon_state = "heater"},/obj/structure/window/reinforced{color = "#FFFF00";dir = 8},/turf/open/floor/plating/airless{color = "#FFFF00"},/area/ruin/unpowered)
+"m" = (/obj/structure/shuttle/engine/propulsion{color = "#FFFF00";dir = 8;icon_state = "propulsion_l"},/turf/open/space,/area/ruin/unpowered)
"n" = (/turf/closed/mineral/random,/area/ruin/unpowered)
"o" = (/obj/item/weapon/shard{icon_state = "small"},/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered)
"p" = (/obj/item/weapon/ore/bananium,/turf/open/floor/mineral/bananium/airless,/area/ruin/unpowered)
"q" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/structure/chair{dir = 8},/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered)
"r" = (/obj/effect/mob_spawn/human/clown{name = "Clown Pilot"},/turf/open/floor/mineral/bananium/airless,/area/ruin/unpowered)
"s" = (/obj/item/weapon/paper{info = "The call has gone out! Our ancestral home has been rediscovered! Not a small patch of land, but a true clown nation, a true Clown Planet! We're on our way home at last!"},/turf/open/floor/mineral/bananium/airless,/area/ruin/unpowered)
-"t" = (/obj/structure/grille{color = "#FFFF00"},/obj/structure/window/reinforced{color = "#FFFF00"},/obj/structure/window/reinforced{color = "#FFFF00"; dir = 4},/obj/structure/window/reinforced{color = "#FFFF00"; dir = 8},/turf/open/floor/plating/airless{color = "#FFFF00"},/area/ruin/unpowered)
+"t" = (/obj/structure/grille{color = "#FFFF00"},/obj/structure/window/reinforced{color = "#FFFF00"},/obj/structure/window/reinforced{color = "#FFFF00";dir = 4},/obj/structure/window/reinforced{color = "#FFFF00";dir = 8},/turf/open/floor/plating/airless{color = "#FFFF00"},/area/ruin/unpowered)
"u" = (/obj/item/weapon/shard,/obj/structure/chair{dir = 8},/turf/open/floor/mineral/bananium/airless,/area/ruin/unpowered)
"v" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/open/floor/mineral/bananium/airless,/area/ruin/unpowered)
"w" = (/obj/item/weapon/storage/bag/ore,/turf/open/floor/mineral/bananium/airless,/area/ruin/unpowered)
diff --git a/_maps/RandomRuins/SpaceRuins/crashedship.dmm b/_maps/RandomRuins/SpaceRuins/crashedship.dmm
index dfa9a8c50d2..edfe6668cf9 100644
--- a/_maps/RandomRuins/SpaceRuins/crashedship.dmm
+++ b/_maps/RandomRuins/SpaceRuins/crashedship.dmm
@@ -4,7 +4,7 @@
"ad" = (/turf/closed/wall/mineral/titanium/interior,/area/awaymission/BMPship/Aft)
"ae" = (/turf/closed/wall/mineral/titanium/overspace,/area/awaymission/BMPship/Aft)
"af" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/open/floor/engine,/area/awaymission/BMPship/Aft)
-"ag" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/open/floor/engine,/area/awaymission/BMPship/Aft)
+"ag" = (/obj/machinery/porta_turret{dir = 8;emagged = 1;installation = /obj/item/weapon/gun/energy/lasercannon},/turf/open/floor/engine,/area/awaymission/BMPship/Aft)
"ah" = (/turf/open/floor/engine,/area/awaymission/BMPship/Aft)
"ai" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
"aj" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/open/floor/engine,/area/awaymission/BMPship/Aft)
@@ -22,41 +22,41 @@
"av" = (/obj/item/weapon/scalpel,/obj/structure/closet/crate,/obj/item/weapon/tank/internals/anesthetic,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
"aw" = (/obj/item/bodybag,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
"ax" = (/obj/item/weapon/storage/box/syringes,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
-"ay" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
-"az" = (/obj/structure/table/optable,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
-"aA" = (/obj/machinery/computer/operating,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
-"aB" = (/turf/open/floor/plating/warnplate{dir = 9},/area/awaymission/BMPship/Aft)
-"aC" = (/obj/structure/closet/crate/freezer,/obj/item/organ/appendix,/obj/item/weapon/reagent_containers/food/snacks/meat/slab,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/golem,/turf/open/floor/plating/warnplate{dir = 1},/area/awaymission/BMPship/Aft)
-"aD" = (/obj/structure/closet/crate/freezer,/obj/item/organ/brain,/obj/item/weapon/reagent_containers/food/snacks/meat/slab,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/slime,/turf/open/floor/plating/warnplate{dir = 1},/area/awaymission/BMPship/Aft)
-"aE" = (/obj/structure/table,/obj/item/stack/packageWrap,/turf/open/floor/plating/warnplate{dir = 1},/area/awaymission/BMPship/Aft)
-"aF" = (/obj/structure/table,/obj/item/weapon/storage/box,/obj/machinery/light/small{dir = 1},/turf/open/floor/plating/warnplate{dir = 1},/area/awaymission/BMPship/Aft)
-"aG" = (/turf/open/floor/plating/warnplate{dir = 1},/area/awaymission/BMPship/Aft)
+"ay" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
+"az" = (/obj/structure/table/optable,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_y = 0},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
+"aA" = (/obj/machinery/computer/operating,/obj/structure/cable{d2 = 8;icon_state = "0-8"},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
+"aB" = (/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 9},/area/awaymission/BMPship/Aft)
+"aC" = (/obj/structure/closet/crate/freezer,/obj/item/organ/appendix,/obj/item/weapon/reagent_containers/food/snacks/meat/slab,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/golem,/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 1},/area/awaymission/BMPship/Aft)
+"aD" = (/obj/structure/closet/crate/freezer,/obj/item/organ/brain,/obj/item/weapon/reagent_containers/food/snacks/meat/slab,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/slime,/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 1},/area/awaymission/BMPship/Aft)
+"aE" = (/obj/structure/table,/obj/item/stack/packageWrap,/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 1},/area/awaymission/BMPship/Aft)
+"aF" = (/obj/structure/table,/obj/item/weapon/storage/box,/obj/machinery/light/small{dir = 1},/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 1},/area/awaymission/BMPship/Aft)
+"aG" = (/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 1},/area/awaymission/BMPship/Aft)
"aH" = (/turf/closed/wall/mineral/titanium/interior,/area/awaymission/BMPship/Fore)
"aI" = (/turf/closed/wall/mineral/titanium/overspace,/area/awaymission/BMPship/Fore)
"aJ" = (/turf/open/floor/plating/airless{icon_state = "platingdmg2"},/area/awaymission/BMPship/Midship)
"aK" = (/turf/open/floor/plating/airless{icon_state = "platingdmg3"},/area/awaymission/BMPship/Midship)
-"aL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
-"aM" = (/turf/open/floor/plating/warnplate{dir = 8},/area/awaymission/BMPship/Aft)
+"aL" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
+"aM" = (/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 8},/area/awaymission/BMPship/Aft)
"aN" = (/obj/item/weapon/storage/box,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
"aO" = (/obj/item/weapon/hand_labeler,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"aP" = (/obj/structure/closet/crate/large,/turf/open/floor/plating/warnplate{dir = 4},/area/awaymission/BMPship/Aft)
+"aP" = (/obj/structure/closet/crate/large,/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 4},/area/awaymission/BMPship/Aft)
"aQ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
"aR" = (/obj/structure/table/wood,/obj/item/stack/spacecash/c500,/obj/item/stack/spacecash/c100,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/open/floor/wood,/area/awaymission/BMPship/Fore)
"aS" = (/obj/structure/bed,/obj/item/weapon/bedsheet/yellow,/turf/open/floor/wood,/area/awaymission/BMPship/Fore)
"aT" = (/turf/closed/wall/mineral/titanium,/area/awaymission/BMPship/Fore)
-"aU" = (/turf/open/floor/plating/warnplate{dir = 9},/area/awaymission/BMPship/Fore)
-"aV" = (/obj/structure/rack,/turf/open/floor/plating/warnplate{dir = 1},/area/awaymission/BMPship/Fore)
-"aW" = (/turf/open/floor/plating/warnplate{dir = 1},/area/awaymission/BMPship/Fore)
-"aX" = (/turf/open/floor/plating/warnplate{dir = 5},/area/awaymission/BMPship/Fore)
+"aU" = (/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 9},/area/awaymission/BMPship/Fore)
+"aV" = (/obj/structure/rack,/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 1},/area/awaymission/BMPship/Fore)
+"aW" = (/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 1},/area/awaymission/BMPship/Fore)
+"aX" = (/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 5},/area/awaymission/BMPship/Fore)
"aY" = (/obj/structure/sign/vacuum,/turf/closed/wall/mineral/titanium,/area/awaymission/BMPship/Fore)
"aZ" = (/turf/open/floor/plating/airless{icon_state = "platingdmg1"},/area/awaymission/BMPship/Midship)
"ba" = (/turf/open/floor/plating/airless{icon_state = "panelscorched"},/area/awaymission/BMPship/Midship)
"bb" = (/obj/effect/decal/cleanable/blood/gibs/old,/obj/effect/gibspawner/human,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
-"bc" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/clothing/glasses/regular/hipster,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
-"bd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
-"be" = (/obj/machinery/door/unpowered/shuttle,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf,/area/awaymission/BMPship/Midship)
-"bf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/open/floor/plating/warnplate{dir = 8},/area/awaymission/BMPship/Aft)
-"bg" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
+"bc" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/obj/item/clothing/glasses/regular/hipster,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
+"bd" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_y = 0},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
+"be" = (/obj/machinery/door/unpowered/shuttle,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_y = 0},/turf,/area/awaymission/BMPship/Midship)
+"bf" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_y = 0},/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 8},/area/awaymission/BMPship/Aft)
+"bg" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
"bh" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/drinks/beer,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
"bi" = (/obj/machinery/computer/teleporter,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
"bj" = (/obj/machinery/teleport/station,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
@@ -64,42 +64,42 @@
"bl" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
"bm" = (/turf/open/floor/wood,/area/awaymission/BMPship/Fore)
"bn" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/wood,/area/awaymission/BMPship/Fore)
-"bo" = (/turf/open/floor/plating/warnplate{dir = 8},/area/awaymission/BMPship/Fore)
+"bo" = (/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 8},/area/awaymission/BMPship/Fore)
"bp" = (/turf/open/floor/plating,/area/awaymission/BMPship/Fore)
"bq" = (/obj/machinery/door/airlock/external,/turf/open/floor/plating,/area/awaymission/BMPship/Fore)
-"br" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"bs" = (/obj/structure/closet/crate,/obj/item/stack/spacecash/c1000,/obj/item/stack/spacecash/c50,/turf/open/floor/plating/warnplate{dir = 4},/area/awaymission/BMPship/Aft)
+"br" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
+"bs" = (/obj/structure/closet/crate,/obj/item/stack/spacecash/c1000,/obj/item/stack/spacecash/c50,/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 4},/area/awaymission/BMPship/Aft)
"bt" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
"bu" = (/turf/open/floor/plasteel{icon_state = "wood-broken"},/area/awaymission/BMPship/Fore)
-"bv" = (/turf/open/floor/plating/warnplate{dir = 2},/area/awaymission/BMPship/Fore)
-"bw" = (/obj/machinery/light/small,/turf/open/floor/plating/warnplate{dir = 2},/area/awaymission/BMPship/Fore)
-"bx" = (/turf/open/floor/plating/warnplate{dir = 6},/area/awaymission/BMPship/Fore)
+"bv" = (/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 2},/area/awaymission/BMPship/Fore)
+"bw" = (/obj/machinery/light/small,/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 2},/area/awaymission/BMPship/Fore)
+"bx" = (/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 6},/area/awaymission/BMPship/Fore)
"by" = (/obj/machinery/light,/obj/effect/decal/cleanable/blood/gibs/old,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
-"bz" = (/obj/machinery/button/door{id = "packerMed"; pixel_y = -24},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
+"bz" = (/obj/machinery/button/door{id = "packerMed";pixel_y = -24},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
"bA" = (/obj/machinery/sleeper{dir = 1},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
"bB" = (/obj/machinery/sleep_console,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
"bC" = (/obj/machinery/light,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
-"bD" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"bE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/item/weapon/hand_labeler,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"bF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"bG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/item/weapon/storage/box,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"bH" = (/turf/open/floor/plating/warnplate{dir = 4},/area/awaymission/BMPship/Aft)
-"bI" = (/obj/machinery/door/unpowered/shuttle,/turf/open/floor/plasteel{icon_state = "carpetside"; dir = 1},/area/awaymission/BMPship/Fore)
+"bD" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
+"bE" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_y = 0},/obj/item/weapon/hand_labeler,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
+"bF" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_y = 0},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
+"bG" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_y = 0},/obj/item/weapon/storage/box,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
+"bH" = (/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 4},/area/awaymission/BMPship/Aft)
+"bI" = (/obj/machinery/door/unpowered/shuttle,/turf/open/floor/plasteel{icon_state = "carpetside";dir = 1},/area/awaymission/BMPship/Fore)
"bJ" = (/obj/machinery/door/airlock/silver,/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
"bK" = (/obj/machinery/door/poddoor/shutters{id = "packerMed"},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
-"bL" = (/obj/structure/closet/crate/large,/turf/open/floor/plating/warnplate{dir = 10},/area/awaymission/BMPship/Aft)
-"bM" = (/turf/open/floor/plating/warnplate{dir = 2},/area/awaymission/BMPship/Aft)
-"bN" = (/obj/machinery/light/small,/turf/open/floor/plating/warnplate{dir = 2},/area/awaymission/BMPship/Aft)
-"bO" = (/obj/structure/kitchenspike,/turf/open/floor/plating/warnplate{dir = 2},/area/awaymission/BMPship/Aft)
-"bP" = (/obj/structure/closet/crate,/obj/item/device/analyzer,/obj/item/stack/spacecash/c10,/turf/open/floor/plating/warnplate{dir = 2},/area/awaymission/BMPship/Aft)
-"bQ" = (/obj/structure/closet/crate,/obj/item/stack/spacecash/c1000,/obj/item/stack/spacecash/c200,/obj/item/stack/spacecash/c500,/turf/open/floor/plating/warnplate{dir = 2},/area/awaymission/BMPship/Aft)
-"bR" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice,/obj/item/organ/appendix,/obj/item/weapon/reagent_containers/food/snacks/meat/slab,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/golem/adamantine,/turf/open/floor/plating/warnplate{dir = 2},/area/awaymission/BMPship/Aft)
-"bS" = (/obj/machinery/button/door{id = "packerCargo"; pixel_y = -24},/obj/machinery/light/small,/turf/open/floor/plating/warnplate{dir = 2},/area/awaymission/BMPship/Aft)
-"bT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plating/warnplate{dir = 2},/area/awaymission/BMPship/Aft)
-"bU" = (/turf/open/floor/plating/warnplate{dir = 6},/area/awaymission/BMPship/Aft)
+"bL" = (/obj/structure/closet/crate/large,/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 10},/area/awaymission/BMPship/Aft)
+"bM" = (/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 2},/area/awaymission/BMPship/Aft)
+"bN" = (/obj/machinery/light/small,/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 2},/area/awaymission/BMPship/Aft)
+"bO" = (/obj/structure/kitchenspike,/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 2},/area/awaymission/BMPship/Aft)
+"bP" = (/obj/structure/closet/crate,/obj/item/device/analyzer,/obj/item/stack/spacecash/c10,/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 2},/area/awaymission/BMPship/Aft)
+"bQ" = (/obj/structure/closet/crate,/obj/item/stack/spacecash/c1000,/obj/item/stack/spacecash/c200,/obj/item/stack/spacecash/c500,/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 2},/area/awaymission/BMPship/Aft)
+"bR" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice,/obj/item/organ/appendix,/obj/item/weapon/reagent_containers/food/snacks/meat/slab,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/golem/adamantine,/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 2},/area/awaymission/BMPship/Aft)
+"bS" = (/obj/machinery/button/door{id = "packerCargo";pixel_y = -24},/obj/machinery/light/small,/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 2},/area/awaymission/BMPship/Aft)
+"bT" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 2},/area/awaymission/BMPship/Aft)
+"bU" = (/turf/open/floor/plating,/obj/effect/turf_decal/stripes/line{dir = 6},/area/awaymission/BMPship/Aft)
"bV" = (/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
-"bW" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; environ = 0; equipment = 3; locked = 0; pixel_y = 32; req_access = ""},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
-"bX" = (/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/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"bW" = (/obj/structure/cable{icon_state = "0-2";d2 = 2},/obj/machinery/power/apc{dir = 1;environ = 0;equipment = 3;locked = 0;pixel_y = 32;req_access = ""},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
+"bX" = (/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/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"bY" = (/obj/machinery/light{dir = 1},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"bZ" = (/obj/machinery/hydroponics,/turf/open/floor/plasteel/green/side{dir = 8},/area/awaymission/BMPship/Midship)
"ca" = (/obj/structure/sink{dir = 2},/turf/open/floor/plasteel/yellow/side{dir = 1},/area/awaymission/BMPship/Midship)
@@ -115,8 +115,8 @@
"ck" = (/obj/structure/table,/obj/item/weapon/kitchen/knife,/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"cl" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"cm" = (/obj/structure/table,/obj/effect/decal/cleanable/cobweb/cobweb2,/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"cn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/poddoor/shutters{id = "packerCargo"},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"co" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
+"cn" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/obj/machinery/door/poddoor/shutters{id = "packerCargo"},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
+"co" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
"cp" = (/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice,/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"cq" = (/turf/open/floor/plasteel,/area/awaymission/BMPship/Midship)
"cr" = (/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/open/floor/plasteel,/area/awaymission/BMPship/Midship)
@@ -131,84 +131,84 @@
"cA" = (/obj/effect/decal/cleanable/blood/gibs/old,/turf/open/floor/plasteel/white,/area/awaymission/BMPship/Aft)
"cB" = (/obj/machinery/gibber,/turf/open/floor/plasteel/white,/area/awaymission/BMPship/Aft)
"cC" = (/turf/open/floor/plasteel/hydrofloor,/area/awaymission/BMPship/Aft)
-"cD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
+"cD" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
"cE" = (/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
"cF" = (/turf/closed/wall/mineral/titanium/overspace,/area/space)
"cG" = (/turf/open/floor/carpet,/turf/closed/wall/mineral/titanium/interior,/area/awaymission/BMPship/Fore)
-"cH" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
-"cI" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
+"cH" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
+"cI" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
"cJ" = (/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice,/turf/open/floor/plasteel,/area/awaymission/BMPship/Midship)
"cK" = (/obj/machinery/door/unpowered/shuttle,/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"cL" = (/obj/structure/window/reinforced,/turf/open/floor/plasteel/barber,/area/awaymission/BMPship/Midship)
-"cM" = (/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/open/floor/plasteel/barber,/area/awaymission/BMPship/Midship)
+"cM" = (/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-2";pixel_y = 1;d2 = 2},/turf/open/floor/plasteel/barber,/area/awaymission/BMPship/Midship)
"cN" = (/obj/machinery/door/window,/turf/open/floor/plasteel/barber,/area/awaymission/BMPship/Midship)
"cO" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/open/floor/plasteel/barber,/area/awaymission/BMPship/Midship)
"cP" = (/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"cQ" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
+"cQ" = (/obj/structure/cable{icon_state = "0-2";pixel_y = 1;d2 = 2},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
"cR" = (/obj/structure/closet/secure_closet/freezer/meat{opened = 1},/turf/open/floor/plasteel/white,/area/awaymission/BMPship/Aft)
"cS" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat/slab,/obj/item/weapon/reagent_containers/food/snacks/meat/slab,/turf/open/floor/plasteel/white,/area/awaymission/BMPship/Aft)
"cT" = (/obj/effect/decal/cleanable/blood/splatter,/turf/open/floor/plasteel/white,/area/awaymission/BMPship/Aft)
"cU" = (/obj/item/weapon/crowbar,/turf/open/floor/plasteel/white,/area/awaymission/BMPship/Aft)
-"cV" = (/turf/open/floor/plasteel/warning{dir = 8},/area/awaymission/BMPship/Aft)
-"cW" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; environ = 0; equipment = 3; locked = 0; pixel_y = 32; req_access = ""},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"cX" = (/turf/open/floor/plasteel/warning{dir = 4},/area/awaymission/BMPship/Aft)
-"cY" = (/obj/structure/table,/obj/item/weapon/paper{info = "I'm no scientist, but judging from the design and components, it seems to be some kind of teleporter. This thing is gonna be worth a lot of cash to the right man. The boys are excited, as they have every right to be, and I've let them crack into that case of beer we got. I normally wouldn't allow such a thing, but this is a time for celebration! It's not like a couple drinks will hurt anything."; name = "Captain's log entry"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
+"cV" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 8},/area/awaymission/BMPship/Aft)
+"cW" = (/obj/structure/cable{icon_state = "0-2";pixel_y = 1;d2 = 2},/obj/machinery/power/apc{dir = 1;environ = 0;equipment = 3;locked = 0;pixel_y = 32;req_access = ""},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
+"cX" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 4},/area/awaymission/BMPship/Aft)
+"cY" = (/obj/structure/table,/obj/item/weapon/paper{info = "I'm no scientist, but judging from the design and components, it seems to be some kind of teleporter. This thing is gonna be worth a lot of cash to the right man. The boys are excited, as they have every right to be, and I've let them crack into that case of beer we got. I normally wouldn't allow such a thing, but this is a time for celebration! It's not like a couple drinks will hurt anything.";name = "Captain's log entry"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
"cZ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
"da" = (/obj/structure/frame/computer{anchored = 1},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
-"db" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
+"db" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
"dc" = (/obj/machinery/hydroponics,/turf/open/floor/plasteel/green/side{dir = 10},/area/awaymission/BMPship/Midship)
"dd" = (/turf/open/floor/plasteel/green/side,/area/awaymission/BMPship/Midship)
"de" = (/obj/machinery/seed_extractor,/obj/item/seeds/plump/walkingmushroom,/turf/open/floor/plasteel/green/side,/area/awaymission/BMPship/Midship)
"df" = (/obj/machinery/hydroponics,/turf/open/floor/plasteel/green/side{dir = 6},/area/awaymission/BMPship/Midship)
-"dg" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"dh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"di" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"dj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
+"dg" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"dh" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"di" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"dj" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
"dk" = (/turf/closed/wall/mineral/titanium/nodiagonal,/area/awaymission/BMPship/Aft)
-"dl" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
-"dm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"dn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"do" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"dp" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/warning{dir = 4},/area/awaymission/BMPship/Aft)
+"dl" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
+"dm" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
+"dn" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
+"do" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
+"dp" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 4},/area/awaymission/BMPship/Aft)
"dq" = (/obj/item/device/multitool,/turf/open/floor/engine,/area/awaymission/BMPship/Aft)
-"dr" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/engine/airless,/area/awaymission/BMPship/Aft)
-"ds" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/open/space,/area/awaymission/BMPship/Aft)
+"dr" = (/obj/structure/shuttle/engine/heater{icon_state = "heater";dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/engine/airless,/area/awaymission/BMPship/Aft)
+"ds" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion";dir = 8},/turf/open/space,/area/awaymission/BMPship/Aft)
"dt" = (/obj/structure/table,/obj/machinery/recharger,/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
"du" = (/obj/structure/chair/stool,/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
-"dv" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
+"dv" = (/obj/machinery/light{icon_state = "tube1";dir = 4},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
"dw" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"dx" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"dy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"dz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"dx" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"dy" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_y = 0},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"dz" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"dA" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"dB" = (/turf/closed/wall/r_wall,/area/awaymission/BMPship/Midship)
"dC" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
-"dD" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel/warning{dir = 8},/area/awaymission/BMPship/Aft)
-"dE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
-"dF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/warning{dir = 4},/area/awaymission/BMPship/Aft)
+"dD" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 8},/area/awaymission/BMPship/Aft)
+"dE" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
+"dF" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 4},/area/awaymission/BMPship/Aft)
"dG" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/open/floor/plating,/area/awaymission/BMPship/Fore)
"dH" = (/obj/item/weapon/shard,/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
-"dI" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
-"dJ" = (/obj/machinery/door/airlock/silver,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
-"dK" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"dL" = (/obj/machinery/shieldwallgen,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
-"dM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"dN" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; locked = 0; pixel_y = 28; req_access = ""},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"dI" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
+"dJ" = (/obj/machinery/door/airlock/silver,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_y = 0},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
+"dK" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"dL" = (/obj/machinery/shieldwallgen,/obj/structure/cable{icon_state = "0-4";d2 = 4},/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
+"dM" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"dN" = (/obj/structure/cable{icon_state = "0-2";d2 = 2},/obj/machinery/power/apc{dir = 1;locked = 0;pixel_y = 28;req_access = ""},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"dO" = (/turf/open/floor/plasteel/loadingarea/dirtydirty{dir = 4},/area/awaymission/BMPship/Midship)
-"dP" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey1"},/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
-"dQ" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey1"},/obj/structure/plasticflaps,/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
+"dP" = (/obj/machinery/conveyor{dir = 4;id = "meatConvey1"},/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
+"dQ" = (/obj/machinery/conveyor{dir = 4;id = "meatConvey1"},/obj/structure/plasticflaps,/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
"dR" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/deliveryChute{dir = 8},/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
"dS" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/closed/wall/r_wall,/area/awaymission/BMPship/Midship)
-"dT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"dU" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"dT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"dU" = (/obj/structure/disposalpipe/segment{dir = 2;icon_state = "pipe-c"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"dV" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
"dW" = (/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
"dX" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"dY" = (/obj/structure/rack,/obj/item/weapon/storage/box/lights,/turf/open/floor/plasteel/warning{dir = 8},/area/awaymission/BMPship/Aft)
-"dZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plasteel/hydrofloor,/area/awaymission/BMPship/Aft)
-"ea" = (/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/open/floor/plating,/area/awaymission/BMPship/Aft)
-"eb" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal{dir = 8},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"ec" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plasteel/warning{dir = 4},/area/awaymission/BMPship/Aft)
+"dY" = (/obj/structure/rack,/obj/item/weapon/storage/box/lights,/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 8},/area/awaymission/BMPship/Aft)
+"dZ" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plasteel/hydrofloor,/area/awaymission/BMPship/Aft)
+"ea" = (/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/open/floor/plating,/area/awaymission/BMPship/Aft)
+"eb" = (/obj/structure/cable{icon_state = "0-4";d2 = 4},/obj/machinery/power/terminal{dir = 8},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
+"ec" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 4},/area/awaymission/BMPship/Aft)
"ed" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/open/floor/plating,/area/awaymission/BMPship/Fore)
"ee" = (/obj/structure/table,/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
"ef" = (/obj/structure/chair/office{dir = 8},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
@@ -218,90 +218,90 @@
"ej" = (/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
"ek" = (/obj/item/weapon/reagent_containers/glass/bucket,/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"el" = (/obj/machinery/conveyor_switch/oneway{id = "meatConvey1"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"em" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"em" = (/obj/structure/disposalpipe/segment{dir = 1;icon_state = "pipe-c"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"en" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"eo" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
-"ep" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
+"ep" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
"eq" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/disposaloutlet{dir = 4},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
"er" = (/obj/effect/decal/cleanable/blood/gibs/old,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
"es" = (/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"et" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/turf/open/floor/plasteel/warning{dir = 8},/area/awaymission/BMPship/Aft)
-"eu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plasteel/warning{dir = 4},/area/awaymission/BMPship/Aft)
-"ev" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
-"ew" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
-"ex" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
+"et" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 8},/area/awaymission/BMPship/Aft)
+"eu" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 4},/area/awaymission/BMPship/Aft)
+"ev" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
+"ew" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
+"ex" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
"ey" = (/obj/effect/decal/cleanable/dirt,/obj/effect/gibspawner/xeno,/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
-"ez" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"eA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"eB" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"ez" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"eA" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_y = 0},/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"eB" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"eC" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"eD" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
"eE" = (/obj/effect/gibspawner/human,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"eF" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"eG" = (/obj/structure/rack,/obj/item/weapon/stock_parts/cell/high,/turf/open/floor/plasteel/warning{dir = 8},/area/awaymission/BMPship/Aft)
+"eF" = (/obj/machinery/door/window{base_state = "right";dir = 4;icon_state = "right"},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
+"eG" = (/obj/structure/rack,/obj/item/weapon/stock_parts/cell/high,/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 8},/area/awaymission/BMPship/Aft)
"eH" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/turf/open/floor/plating,/area/awaymission/BMPship/Fore)
"eI" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 8},/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
-"eJ" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
+"eJ" = (/obj/machinery/door/window{base_state = "right";dir = 4;icon_state = "right"},/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
"eK" = (/obj/machinery/light,/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"eL" = (/obj/effect/gibspawner/generic,/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"eM" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"eN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
-"eO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
-"eP" = (/obj/structure/rack,/turf/open/floor/plasteel/warning{dir = 8},/area/awaymission/BMPship/Aft)
-"eQ" = (/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/open/floor/plating,/area/awaymission/BMPship/Aft)
-"eR" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plasteel/warning{dir = 4},/area/awaymission/BMPship/Aft)
+"eM" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"eN" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
+"eO" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
+"eP" = (/obj/structure/rack,/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 8},/area/awaymission/BMPship/Aft)
+"eQ" = (/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/open/floor/plating,/area/awaymission/BMPship/Aft)
+"eR" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 4},/area/awaymission/BMPship/Aft)
"eS" = (/obj/effect/decal/cleanable/cobweb,/obj/machinery/power/port_gen/pacman/super,/turf/open/floor/engine,/area/awaymission/BMPship/Aft)
"eT" = (/obj/structure/closet,/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
-"eU" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet,/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
+"eU" = (/obj/machinery/light{icon_state = "tube1";dir = 4},/obj/structure/closet,/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
"eV" = (/obj/item/weapon/wrench,/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
-"eW" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"eW" = (/obj/structure/disposalpipe/segment{dir = 4;icon_state = "pipe-c"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"eX" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"eY" = (/obj/structure/mopbucket,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
"eZ" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/kitchen/knife,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"fa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/item/weapon/stock_parts/cell/high,/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
+"fa" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/obj/item/weapon/stock_parts/cell/high,/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
"fb" = (/obj/machinery/door/unpowered/shuttle,/turf/closed/wall/mineral/titanium/interior,/area/awaymission/BMPship/Aft)
"fc" = (/obj/machinery/door/unpowered/shuttle,/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
-"fd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/unpowered/shuttle,/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
+"fd" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/obj/machinery/door/unpowered/shuttle,/turf/open/floor/carpet,/area/awaymission/BMPship/Fore)
"fe" = (/obj/effect/gibspawner/xeno,/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
"ff" = (/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel{icon_state = "panelscorched"},/area/awaymission/BMPship/Midship)
"fg" = (/obj/structure/kitchenspike,/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"fh" = (/turf/open/floor/plasteel/loadingarea/dirty{dir = 4},/area/awaymission/BMPship/Midship)
-"fi" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/obj/item/weapon/kitchen/knife,/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
-"fj" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/obj/structure/plasticflaps,/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
-"fk" = (/obj/machinery/conveyor{dir = 4; id = "meatConvey2"},/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
-"fl" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"fi" = (/obj/machinery/conveyor{dir = 4;id = "meatConvey2"},/obj/item/weapon/kitchen/knife,/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
+"fj" = (/obj/machinery/conveyor{dir = 4;id = "meatConvey2"},/obj/structure/plasticflaps,/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
+"fk" = (/obj/machinery/conveyor{dir = 4;id = "meatConvey2"},/turf/open/floor/plating,/area/awaymission/BMPship/Midship)
+"fl" = (/obj/structure/disposalpipe/segment{dir = 8;icon_state = "pipe-c"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"fm" = (/turf/closed/wall/mineral/titanium/interior,/area/awaymission/BMPship/Midship)
"fn" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
"fo" = (/obj/structure/window/reinforced,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
"fp" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
"fq" = (/obj/item/stack/cable_coil,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"fr" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/warning{dir = 4},/area/awaymission/BMPship/Aft)
+"fr" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 4},/area/awaymission/BMPship/Aft)
"fs" = (/obj/item/stack/sheet/mineral/uranium{amount = 50},/turf/open/floor/engine,/area/awaymission/BMPship/Aft)
"ft" = (/turf/open/floor/plating/airless{icon_state = "platingdmg1"},/area/awaymission/BMPship/Fore)
"fu" = (/obj/structure/lattice,/turf/open/space,/area/awaymission/BMPship/Fore)
"fv" = (/turf/open/floor/plating/airless{icon_state = "platingdmg3"},/area/awaymission/BMPship/Fore)
-"fw" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
-"fx" = (/obj/item/weapon/shard{icon_state = "small"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
-"fy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plating/airless{icon_state = "panelscorched"},/area/awaymission/BMPship/Fore)
-"fz" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plating/airless{icon_state = "platingdmg3"},/area/awaymission/BMPship/Fore)
-"fA" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/weapon/kitchen/knife,/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"fw" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
+"fx" = (/obj/item/weapon/shard{icon_state = "small"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
+"fy" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plating/airless{icon_state = "panelscorched"},/area/awaymission/BMPship/Fore)
+"fz" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plating/airless{icon_state = "platingdmg3"},/area/awaymission/BMPship/Fore)
+"fA" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/obj/item/weapon/kitchen/knife,/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"fB" = (/obj/machinery/conveyor_switch/oneway{id = "meatConvey2"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
-"fC" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
-"fD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
-"fE" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
+"fC" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
+"fD" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_y = 0},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
+"fE" = (/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
"fF" = (/obj/item/weapon/mop,/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
"fG" = (/obj/effect/decal/cleanable/oil,/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
-"fH" = (/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/plasteel/warning{dir = 4},/area/awaymission/BMPship/Aft)
+"fH" = (/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 4},/area/awaymission/BMPship/Aft)
"fI" = (/turf/open/floor/plating/airless{icon_state = "platingdmg2"},/area/awaymission/BMPship/Fore)
"fJ" = (/obj/item/weapon/shard,/turf/open/floor/plating/airless{icon_state = "platingdmg1"},/area/awaymission/BMPship/Fore)
"fK" = (/obj/structure/chair/stool,/turf/open/floor/plating/airless{icon_state = "platingdmg3"},/area/awaymission/BMPship/Fore)
"fL" = (/obj/item/stack/cable_coil{amount = 5},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
-"fM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
-"fN" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
+"fM" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
+"fN" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/turf/open/floor/plasteel/bar,/area/awaymission/BMPship/Midship)
"fO" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
"fP" = (/obj/item/weapon/reagent_containers/glass/bucket,/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
"fQ" = (/obj/structure/reagent_dispensers,/turf/open/floor/plasteel/showroomfloor,/area/awaymission/BMPship/Aft)
-"fR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
+"fR" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plating,/area/awaymission/BMPship/Aft)
"fS" = (/turf/open/floor/plating/asteroid/airless,/area/awaymission/BMPship)
"fT" = (/obj/structure/frame/computer{anchored = 1},/turf/open/floor/plating/airless{icon_state = "panelscorched"},/area/awaymission/BMPship/Fore)
"fU" = (/obj/structure/frame/computer{anchored = 1},/turf/open/floor/plating/airless{icon_state = "platingdmg1"},/area/awaymission/BMPship/Fore)
@@ -309,19 +309,19 @@
"fW" = (/turf/open/floor/plasteel{icon_state = "platingdmg3"},/area/awaymission/BMPship/Midship)
"fX" = (/turf/open/floor/plasteel{icon_state = "platingdmg1"},/area/awaymission/BMPship/Midship)
"fY" = (/obj/machinery/door/airlock/silver{locked = 1},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
-"fZ" = (/obj/machinery/door/airlock/silver{locked = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
-"ga" = (/obj/machinery/door/unpowered/shuttle,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
+"fZ" = (/obj/machinery/door/airlock/silver{locked = 1},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
+"ga" = (/obj/machinery/door/unpowered/shuttle,/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
"gb" = (/turf/closed/mineral/random,/area/awaymission/BMPship)
"gc" = (/obj/item/device/multitool,/turf/open/floor/plating/airless{icon_state = "platingdmg2"},/area/awaymission/BMPship)
-"gd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/silver,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
+"gd" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/obj/machinery/door/airlock/silver,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
"ge" = (/turf/closed/mineral/random,/area/awaymission/BMPship/Midship)
"gf" = (/obj/machinery/light{dir = 1},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
"gg" = (/obj/structure/chair/stool,/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
-"gh" = (/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/open/floor/plasteel,/area/awaymission/BMPship/Aft)
+"gh" = (/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/open/floor/plasteel,/area/awaymission/BMPship/Aft)
"gi" = (/obj/structure/table,/obj/item/weapon/pen/red,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
"gj" = (/obj/structure/closet,/obj/item/clothing/under/overalls,/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
"gk" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
-"gl" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/open/floor/engine,/area/awaymission/BMPship/Fore)
+"gl" = (/obj/machinery/porta_turret{dir = 8;emagged = 1;installation = /obj/item/weapon/gun/energy/lasercannon},/turf/open/floor/engine,/area/awaymission/BMPship/Fore)
"gm" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/engine,/area/awaymission/BMPship/Fore)
"gn" = (/obj/structure/cable,/turf/open/floor/plating/airless{icon_state = "platingdmg3"},/area/awaymission/BMPship/Fore)
"go" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
@@ -329,17 +329,17 @@
"gq" = (/obj/structure/rack,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
"gr" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/plating/asteroid/airless,/area/awaymission/BMPship/Fore)
"gs" = (/turf/open/floor/plating/asteroid/airless,/area/awaymission/BMPship/Midship)
-"gt" = (/turf/open/floor/plating/airless{broken = 1; icon_state = "platingdmg1"},/area/awaymission/BMPship/Midship)
+"gt" = (/turf/open/floor/plating/airless{broken = 1;icon_state = "platingdmg1"},/area/awaymission/BMPship/Midship)
"gu" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
"gv" = (/obj/item/wallframe/apc,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
"gw" = (/obj/structure/ore_box,/obj/machinery/light/small{dir = 1},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
"gx" = (/obj/item/stack/cable_coil{amount = 5},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
"gy" = (/obj/structure/ore_box,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
"gz" = (/obj/machinery/computer/arcade,/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
-"gA" = (/obj/effect/decal/remains/human,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
-"gB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
-"gC" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
-"gD" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/item/wallframe/apc,/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
+"gA" = (/obj/effect/decal/remains/human,/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
+"gB" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_y = 0},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
+"gC" = (/obj/structure/cable{d1 = 1;d2 = 4;icon_state = "1-4"},/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
+"gD" = (/obj/structure/cable{d2 = 8;icon_state = "0-8"},/obj/item/wallframe/apc,/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
"gE" = (/obj/effect/decal/remains/human,/obj/item/clothing/head/helmet/space/syndicate/green/dark,/obj/effect/gibspawner/generic,/turf/open/floor/plating/asteroid/airless,/area/awaymission/BMPship)
"gF" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/item/weapon/shard{icon_state = "small"},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
"gG" = (/turf/open/floor/engine,/area/awaymission/BMPship/Fore)
@@ -347,28 +347,28 @@
"gI" = (/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
"gJ" = (/obj/effect/gibspawner/robot,/turf/open/floor/plasteel/airless{icon_state = "floorscorched2"},/area/awaymission/BMPship/Fore)
"gK" = (/turf/closed/mineral/random,/area/awaymission/BMPship/Fore)
-"gL" = (/turf/open/floor/plating/airless{broken = 1; icon_state = "platingdmg2"},/area/awaymission/BMPship/Midship)
+"gL" = (/turf/open/floor/plating/airless{broken = 1;icon_state = "platingdmg2"},/area/awaymission/BMPship/Midship)
"gM" = (/obj/structure/mecha_wreckage/ripley,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
"gN" = (/obj/structure/bed,/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
-"gO" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/weapon/storage/wallet/random,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
+"gO" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/weapon/storage/wallet/random,/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
"gP" = (/obj/structure/closet,/obj/item/clothing/under/lawyer/bluesuit,/obj/item/clothing/suit/apron,/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
"gQ" = (/obj/item/clothing/suit/space/syndicate/green/dark,/turf/open/floor/plating/asteroid/airless,/area/awaymission/BMPship)
"gR" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Fore)
"gS" = (/turf/closed/wall/mineral/titanium,/area/awaymission/BMPship)
"gT" = (/obj/effect/gibspawner/robot,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
-"gU" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
-"gV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
-"gW" = (/obj/machinery/door/unpowered/shuttle,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/closed/wall/mineral/titanium/interior,/area/awaymission/BMPship/Midship)
-"gX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
-"gY" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
+"gU" = (/obj/structure/cable{icon_state = "0-4";d2 = 4},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
+"gV" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
+"gW" = (/obj/machinery/door/unpowered/shuttle,/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/closed/wall/mineral/titanium/interior,/area/awaymission/BMPship/Midship)
+"gX" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_x = 0},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
+"gY" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8"},/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
"gZ" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/open/space,/area/space)
-"ha" = (/turf/open/floor/plating/airless{broken = 1; icon_state = "panelscorched"},/area/awaymission/BMPship/Midship)
+"ha" = (/turf/open/floor/plating/airless{broken = 1;icon_state = "panelscorched"},/area/awaymission/BMPship/Midship)
"hb" = (/obj/effect/decal/remains/human,/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
"hc" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
"hd" = (/obj/machinery/door/unpowered/shuttle,/turf/open/floor/plasteel/cafeteria{dir = 2},/area/awaymission/BMPship/Aft)
"he" = (/obj/structure/mirror{pixel_y = 28},/turf/open/floor/plasteel/cafeteria{dir = 2},/area/awaymission/BMPship/Aft)
"hf" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/cafeteria{dir = 2},/area/awaymission/BMPship/Aft)
-"hg" = (/turf/open/floor/plating/airless{broken = 1; icon_state = "platingdmg3"},/area/awaymission/BMPship/Midship)
+"hg" = (/turf/open/floor/plating/airless{broken = 1;icon_state = "platingdmg3"},/area/awaymission/BMPship/Midship)
"hh" = (/obj/item/weapon/caution,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
"hi" = (/obj/machinery/portable_atmospherics/canister/air,/turf/open/floor/plating/airless,/area/awaymission/BMPship/Midship)
"hj" = (/obj/structure/closet/crate,/obj/item/stack/spacecash/c10,/obj/item/stack/spacecash/c200,/turf/open/floor/plasteel,/area/awaymission/BMPship/Aft)
diff --git a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm
deleted file mode 100644
index 5f5b0aa8c4c..00000000000
--- a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm
+++ /dev/null
@@ -1,185 +0,0 @@
-"aa" = (/turf/open/space,/area/space)
-"ab" = (/turf/closed/mineral/random/low_chance,/area/ruin/unpowered)
-"ac" = (/turf/closed/wall/mineral/iron,/area/ruin/deepstorage)
-"ad" = (/obj/structure/closet/cardboard,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/gold,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/gold,/obj/item/stack/sheet/mineral/gold,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"ae" = (/obj/structure/closet/cardboard,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/toolbox/drone,/obj/item/weapon/storage/toolbox/drone,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"af" = (/obj/structure/closet/cardboard,/obj/item/stack/sheet/cardboard,/obj/item/stack/cable_coil,/obj/item/stack/sheet/mineral/wood,/obj/item/stack/sheet/mineral/wood,/obj/item/stack/packageWrap,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"ag" = (/obj/structure/closet/cardboard,/obj/item/weapon/storage/box/mousetraps,/obj/item/weapon/storage/box/mousetraps,/obj/item/weapon/storage/box/drinkingglasses,/obj/item/weapon/storage/box/zipties,/obj/item/weapon/switchblade,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"ah" = (/obj/structure/closet/cardboard,/obj/item/stack/sheet/metal{amount = 50;pixel_x = 2;pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50;pixel_x = 2;pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50;pixel_x = 2;pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50;pixel_x = 2;pixel_y = 2},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"ai" = (/obj/structure/closet/cardboard,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/clothing/shoes/combat,/obj/item/clothing/shoes/combat,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"aj" = (/obj/structure/closet/cardboard,/obj/machinery/light{icon_state = "tube1";dir = 8},/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/shovel,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"ak" = (/obj/structure/closet/cardboard,/obj/item/device/flashlight/lantern,/obj/item/device/flashlight/lantern,/obj/item/device/flashlight/lantern,/obj/item/device/tape/random,/obj/item/device/tape/random,/obj/item/device/tape/random,/obj/item/weapon/storage/box/rxglasses,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/night,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"al" = (/obj/structure/closet/cardboard,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/matches,/obj/item/weapon/storage/box/bodybags,/obj/item/clothing/glasses/meson/engine,/obj/item/clothing/glasses/meson/engine,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"am" = (/obj/structure/closet/cardboard,/obj/item/weapon/kitchen/knife,/obj/item/weapon/kitchen/knife,/obj/item/weapon/cultivator,/obj/item/weapon/hatchet,/obj/item/weapon/kitchen/rollingpin,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"an" = (/obj/structure/closet/cardboard,/obj/item/weapon/defibrillator,/obj/item/weapon/storage/box/medipens,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"ao" = (/obj/structure/closet/cardboard,/obj/machinery/light{dir = 4;icon_state = "tube1"},/obj/item/ammo_box/c9mm,/obj/item/ammo_box/c9mm,/obj/item/ammo_box/c9mm,/obj/item/ammo_box/c9mm,/obj/item/ammo_box/c9mm,/obj/item/ammo_box/c9mm,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"ap" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/random,/obj/item/weapon/reagent_containers/blood/random,/obj/item/weapon/reagent_containers/blood/random,/obj/item/weapon/reagent_containers/blood/random,/obj/item/weapon/reagent_containers/blood/random,/obj/item/weapon/reagent_containers/blood/random,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"aq" = (/obj/machinery/iv_drip,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"ar" = (/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"as" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"at" = (/obj/machinery/portable_atmospherics/canister/air,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"au" = (/obj/machinery/door/airlock/highsecurity{name = "Bunker"},/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"av" = (/obj/structure/toilet{dir = 4},/turf/open/floor/plasteel/freezer,/area/ruin/deepstorage)
-"aw" = (/obj/structure/mirror{pixel_x = 30},/obj/structure/sink{dir = 4;icon_state = "sink";pixel_x = 11;pixel_y = 0},/turf/open/floor/plasteel/freezer,/area/ruin/deepstorage)
-"ax" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/drone,/obj/item/device/flashlight,/obj/item/device/flashlight,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"ay" = (/obj/structure/table,/obj/item/weapon/gun/ballistic/automatic/wt550{pixel_x = -3;pixel_y = 6},/obj/item/weapon/gun/ballistic/automatic/wt550{pixel_x = 2;pixel_y = 0},/obj/structure/reagent_dispensers/peppertank{pixel_y = 30},/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"az" = (/obj/structure/table,/obj/item/weapon/storage/backpack/dufflebag/sec{contents = newlist(/obj/item/weapon/scalpel,/obj/item/weapon/hemostat,/obj/item/weapon/retractor,/obj/item/weapon/cautery,/obj/item/weapon/circular_saw,/obj/item/weapon/surgical_drapes,/obj/item/clothing/mask/surgical);desc = "A large dufflebag for holding extra supplies - this one has a material inlay with space for various sharp-looking tools.";name = "dufflebag";pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"aA" = (/obj/structure/table,/obj/item/device/radio{pixel_x = -4},/obj/item/device/radio,/obj/item/device/radio{pixel_x = 4},/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"aB" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50;pixel_x = 2;pixel_y = 2},/obj/item/stack/rods{amount = 50},/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"aC" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/brute{pixel_x = 4;pixel_y = 4},/obj/item/weapon/storage/firstaid/brute,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"aD" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 4;pixel_y = 4},/obj/item/weapon/storage/firstaid/regular,/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"aE" = (/obj/structure/closet/crate/radiation,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"aF" = (/obj/structure/closet/cardboard,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"aG" = (/obj/structure/closet/cardboard,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/machinery/light{dir = 4;icon_state = "tube1"},/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"aH" = (/obj/structure/closet/cardboard,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"aI" = (/obj/machinery/vending/clothing,/turf/open/floor/wood,/area/ruin/deepstorage)
-"aJ" = (/turf/open/floor/wood{icon_state = "wood-broken3"},/area/ruin/deepstorage)
-"aK" = (/obj/structure/bed,/turf/open/floor/wood,/area/ruin/deepstorage)
-"aL" = (/turf/open/floor/plasteel/freezer,/area/ruin/deepstorage)
-"aM" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/freezer,/area/ruin/deepstorage)
-"aN" = (/obj/structure/table,/obj/item/clothing/gloves/combat{pixel_x = -3;pixel_y = 4},/obj/item/clothing/gloves/combat{pixel_x = 3;pixel_y = -2},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"aO" = (/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"aP" = (/obj/structure/table,/obj/item/device/mass_spectrometer/adv,/obj/item/device/mass_spectrometer/adv,/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/stack/medical/gauze,/obj/item/stack/medical/gauze,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"aQ" = (/obj/structure/closet/radiation,/obj/machinery/light{icon_state = "tube1";dir = 8},/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"aR" = (/obj/structure/closet/cardboard,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"aS" = (/obj/structure/closet/cardboard,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"aT" = (/obj/structure/closet/wardrobe/pink,/turf/open/floor/wood{icon_state = "wood-broken"},/area/ruin/deepstorage)
-"aU" = (/turf/open/floor/wood,/area/ruin/deepstorage)
-"aV" = (/obj/structure/bed,/turf/open/floor/wood{icon_state = "wood-broken7"},/area/ruin/deepstorage)
-"aW" = (/obj/machinery/shower{dir = 4},/turf/open/floor/plasteel/freezer,/area/ruin/deepstorage)
-"aX" = (/obj/machinery/shower{dir = 8},/turf/open/floor/plasteel/freezer,/area/ruin/deepstorage)
-"aY" = (/obj/machinery/light/small{dir = 8},/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 4;pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/pill_bottle/charcoal,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"aZ" = (/obj/structure/table,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare{pixel_y = 6},/obj/item/device/flashlight/flare,/obj/item/weapon/crowbar/red,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"ba" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bb" = (/obj/structure/closet/wardrobe/pjs,/obj/machinery/light/small{dir = 8},/turf/open/floor/wood,/area/ruin/deepstorage)
-"bc" = (/turf/open/floor/wood{icon_state = "wood-broken4"},/area/ruin/deepstorage)
-"bd" = (/obj/structure/bed,/turf/open/floor/wood{icon_state = "wood-broken3"},/area/ruin/deepstorage)
-"be" = (/obj/machinery/shower{dir = 4},/obj/item/weapon/soap,/turf/open/floor/plasteel/freezer,/area/ruin/deepstorage)
-"bf" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/open/floor/plating,/area/ruin/deepstorage)
-"bg" = (/obj/structure/closet/cardboard,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"bh" = (/obj/structure/closet/cardboard,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bi" = (/obj/machinery/door/airlock/highsecurity{name = "Bunker"},/turf/open/floor/wood,/area/ruin/deepstorage)
-"bj" = (/obj/machinery/door/airlock/highsecurity{name = "Bunker"},/turf/open/floor/plasteel/freezer,/area/ruin/deepstorage)
-"bk" = (/obj/structure/fireaxecabinet{pixel_y = 30},/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bl" = (/obj/machinery/sleeper{icon_state = "sleeper-open";dir = 4},/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"bm" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"bn" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"bo" = (/obj/machinery/sleeper{icon_state = "sleeper-open";dir = 4},/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"bp" = (/obj/machinery/door/airlock/highsecurity{name = "Bunker"},/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"bq" = (/obj/machinery/processor{name = "processor"},/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"br" = (/obj/structure/table,/obj/item/weapon/storage/box/matches,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bs" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"bt" = (/obj/structure/table,/obj/machinery/recharger,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"bu" = (/obj/machinery/light{dir = 1},/obj/machinery/hydroponics/constructable,/turf/open/floor/light,/area/ruin/deepstorage)
-"bv" = (/obj/machinery/hydroponics/constructable,/turf/open/floor/light,/area/ruin/deepstorage)
-"bw" = (/obj/machinery/blackbox_recorder,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bx" = (/obj/structure/cable{icon_state = "0-4";d2 = 4},/obj/machinery/power/port_gen/pacman,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"by" = (/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{icon_state = "0-2";pixel_y = 1;d2 = 2},/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"bz" = (/obj/machinery/telecomms/relay/preset/telecomms,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bA" = (/obj/machinery/light/small{dir = 1},/obj/structure/tank_dispenser/oxygen,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bB" = (/obj/machinery/biogenerator,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bC" = (/obj/machinery/light,/obj/machinery/hydroponics/constructable,/turf/open/floor/light,/area/ruin/deepstorage)
-"bD" = (/obj/machinery/autolathe,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bE" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/obj/machinery/power/terminal{icon_state = "term";dir = 1},/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bF" = (/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"bG" = (/obj/structure/table,/obj/machinery/microwave,/turf/open/floor/plasteel/bar,/area/ruin/deepstorage)
-"bH" = (/turf/open/floor/plasteel/bar,/area/ruin/deepstorage)
-"bI" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/open/floor/plasteel/bar,/area/ruin/deepstorage)
-"bJ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/beans,/turf/open/floor/plasteel/bar,/area/ruin/deepstorage)
-"bK" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/bar,/area/ruin/deepstorage)
-"bL" = (/obj/machinery/seed_extractor,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bM" = (/obj/machinery/power/apc{dir = 8;name = "Bunker APC";pixel_x = -24;pixel_y = 0},/obj/structure/cable{icon_state = "0-4";d2 = 4},/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"bN" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";pixel_y = 0;tag = ""},/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bO" = (/obj/structure/cable{d1 = 1;d2 = 8;icon_state = "1-8";tag = ""},/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bP" = (/obj/structure/reagent_dispensers/watertank,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"bQ" = (/obj/structure/table,/obj/item/weapon/kitchen/knife,/turf/open/floor/plasteel/bar,/area/ruin/deepstorage)
-"bR" = (/obj/structure/table,/turf/open/floor/plasteel/bar,/area/ruin/deepstorage)
-"bS" = (/obj/structure/table,/obj/item/weapon/kitchen/fork,/turf/open/floor/plasteel/bar,/area/ruin/deepstorage)
-"bT" = (/obj/machinery/vending/hydronutrients,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bU" = (/obj/machinery/space_heater,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"bV" = (/obj/structure/chair/office/dark{dir = 4},/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bW" = (/obj/structure/table/reinforced,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"bX" = (/obj/machinery/smartfridge,/turf/open/floor/plasteel/bar,/area/ruin/deepstorage)
-"bY" = (/obj/machinery/light/small,/turf/open/floor/plasteel/bar,/area/ruin/deepstorage)
-"bZ" = (/obj/machinery/vending/hydroseeds{slogan_delay = 700},/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"ca" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"cb" = (/obj/structure/chair/office/dark,/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"cc" = (/obj/structure/frame/computer,/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"cd" = (/obj/structure/table/reinforced,/obj/machinery/computer/security/telescreen{dir = 1;name = "Bunker Entrance";network = list("Bunker1");pixel_x = 0;pixel_y = 2},/turf/open/floor/plasteel,/area/ruin/deepstorage)
-"ce" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "bunker1";name = "Inner Doors";pixel_y = 6},/obj/machinery/button/door{id = "bunker2";name = "Outer Doors";pixel_y = -4},/turf/open/floor/plasteel/floorgrime,/area/ruin/deepstorage)
-"cf" = (/obj/machinery/door/poddoor{id = "bunker1";name = "Bunker Door";tag = "inner"},/turf/open/floor/plating,/area/ruin/deepstorage)
-"cg" = (/turf/open/floor/plating,/area/ruin/deepstorage)
-"ch" = (/obj/machinery/camera{network = list("Bunker1")},/turf/open/floor/plating,/area/ruin/deepstorage)
-"ci" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plating,/area/ruin/deepstorage)
-"cj" = (/obj/machinery/door/poddoor{id = "bunker2";name = "Bunker Door";tag = "outer"},/turf/open/floor/plating,/area/ruin/deepstorage)
-"ck" = (/turf/open/floor/plating/asteroid/airless,/area/ruin/deepstorage)
-
-(1,1,1) = {"
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababab
-aaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababaaaaababababab
-aaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababaa
-aaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaababababababababababababababababaaaa
-aaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaababababababababababababababababababaaaa
-aaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaa
-aaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-aaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-aaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-aaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaa
-aaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaa
-aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaa
-aaabababababababababababababababababababababababababababababababababababababababacacacacacacacacababababababababababababababababababababababababababababababababababaaaaaa
-aaabababababababababababababababababababababababababababababababababababababababacadaeafagahaiacabababababababababababababababababababababababababababababababababaaaaaaaa
-aaabababababababababababababababababababababababababababababababababababababababacajakalamanaoacababababababababababababababababababababababababababababababababaaaaaaaaaa
-ababababababababababababababababababababababababababababababababababababababababacapaqararasatacababababababababababababababababababababababababababababababababaaaaaaaaaa
-ababababababababababababababababababababababababababababababacacacacacacacacacacacacacauacacacacacabababababababababababababababababababababababababababababababaaaaaaaaaa
-aaabababababababababababababababababababababababababacacacacacavawacaxayazaAaBaCaDacaEaraFaGaHaHacabababababababababababababababababababababababababababababababaaaaaaaaaa
-aaabababababababababababababababababababababababababacaIaJaKacaLaMacaNaraOararaOaPacaQaraRaRaSaHacababababababababababababababababababababababababababababababababaaaaaaaa
-aaaaababababababababababababababababababababababababacaTaUaVacaWaXacaYaraOaOaOaraZacbaaOaRaRaHaHacababababababababababababababababababababababababababababababababaaaaaaaa
-aaaaaaabababababababababababababababababababababababacbbbcbdacbeaXacacbfbfaubfbfacacbaaOarbgbhbgacababababababababababababababababababababababababababababababababaaaaaaaa
-aaaaaaaaabababababababababababababababababababacacacacacbiacacacbjacbkaraOaOaOaOauaOaOararbgbhbhacabababababababababababababababababababababababababababababababababaaaaaa
-aaaaaaaaabababababababababababababababababababacblaracarararbmaOaOaOarararaOaObnacacacacacacacacacabababababababababababababababababababababababababababababababababaaaaaa
-aaaaaaaaabababababababababababababababababababacboarbpaOaraOaOaOaOaObqbrbsbtaOaOacbubvbvbuacababababababababababababababababababababababababababababababababababababaaaaaa
-aaaaaaaaabababababababababababababababababababacacacacacacauacacaraOacacacacaOaOauaOaOaOaOacabababababababababababababababababababababababababababababababababababababaaaa
-aaaaaaaaaaababababababababababababababababababacbwbxbybzaOarbAacarararaOaOaraObBacbCbvbvbCacabababababababababababababababababababababababababababababababababababababaaaa
-aaaaaaaaaaaaabababababababababababababababababacbDarbEaOararbFacbGbHbIbJbKararbLacacacacacacabababababababababababababababababababababababababababababababababababababaaaa
-aaaaaaaaaaaaabababababababababababababababababacbMbNbOaOaOaObPacbQbHbRbSbKararbTacabababababababababababababababababababababababababababababababababababababababababababaa
-aaaaaaaaaaaaaaababababababababababababababababacbUaraOararbVbWacbXbYbHbHbHaraObZacabababababababababababababababababababababababababababababababababababababababababababaa
-aaaaaaaaaaaaaaababababababababababababababababaccaaOaraOcbaOccacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababaa
-aaaaaaaaaaaaabababababababababababababababababacararaOcdcccebWacababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaaaaaaaaaaaabababababababababababababababababaccfcfacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaaaaaaaaaaaabababababababababababababababababaccgcgcgchciacababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaaaaaaaaaaaaaababababababababababababababababaccgcgcgcgcgacababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaaaaaaaaaaaaaaaabababababababababababababababacacacaccjcjacababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaaaaaaaaaaaaaaaababababababababababababababababckckckckckckabababababababababababababababababababababababababababababababababababababababababababababababababababababaaaa
-aaaaaaaaaaaaaaaaabababababababababababababababckckckckckckckabababababababababababababababababababababababababababababababababababababababababababababababababababababaaaa
-aaaaaaaaaaaaaaaaabababababababababababababababckckckckckckabababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaa
-aaaaaaaaaaaaaaaaabababababababababababababababckckckckckckabababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaa
-aaaaaaaaaaaaaaaaababababababababababababababckckckckckababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaa
-aaaaaaaaaaaaaaaaababababababababababababababckckckckckababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaa
-aaaaaaaaaaaaaaaaaaabababababababababababababckckckckckabababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaababababababababababababababckckckckckabababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaababababababababababababababckckckckckckababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaabababababababababababababckckckckckababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababckckckckckababababababababaaaaaaababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababckckckckckababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-"}
diff --git a/_maps/RandomRuins/SpaceRuins/derelict4.dmm b/_maps/RandomRuins/SpaceRuins/derelict4.dmm
index 9607996d9a6..afb3ab7ce44 100644
--- a/_maps/RandomRuins/SpaceRuins/derelict4.dmm
+++ b/_maps/RandomRuins/SpaceRuins/derelict4.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomRuins/SpaceRuins/derelict5.dmm b/_maps/RandomRuins/SpaceRuins/derelict5.dmm
index fed0055729d..63135f7d3ed 100644
--- a/_maps/RandomRuins/SpaceRuins/derelict5.dmm
+++ b/_maps/RandomRuins/SpaceRuins/derelict5.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomRuins/SpaceRuins/derelict6.dmm b/_maps/RandomRuins/SpaceRuins/derelict6.dmm
index 7942c5c92e9..84d2fd24338 100644
--- a/_maps/RandomRuins/SpaceRuins/derelict6.dmm
+++ b/_maps/RandomRuins/SpaceRuins/derelict6.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomRuins/SpaceRuins/dragoontomb.dmm b/_maps/RandomRuins/SpaceRuins/dragoontomb.dmm
index bc99e7e417e..4248be10be8 100644
--- a/_maps/RandomRuins/SpaceRuins/dragoontomb.dmm
+++ b/_maps/RandomRuins/SpaceRuins/dragoontomb.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/space,
/area/space)
@@ -139,20 +139,24 @@
/turf/open/floor/mineral/silver,
/area/ruin/unpowered/no_grav)
"C" = (
-/turf/open/floor/plating/astplate/warning{
- dir = 8;
+/turf/open/floor/plating/astplate{
icon_state = "astplate_warn";
initial_gas_mix = "TEMP=2.7";
tag = "icon-astplate_warn (WEST)"
},
+/obj/effect/turf_decal/stripes/asteroid/line{
+ dir = 8
+ },
/area/ruin/unpowered/no_grav)
"D" = (
-/turf/open/floor/plating/astplate/warning{
- dir = 4;
+/turf/open/floor/plating/astplate{
icon_state = "astplate_warn";
initial_gas_mix = "TEMP=2.7";
tag = "icon-astplate_warn (EAST)"
},
+/obj/effect/turf_decal/stripes/asteroid/line{
+ dir = 4
+ },
/area/ruin/unpowered/no_grav)
"E" = (
/obj/item/weapon/dice/d10,
@@ -167,20 +171,24 @@
/turf/open/floor/plating/asteroid/airless,
/area/ruin/unpowered/no_grav)
"H" = (
-/turf/open/floor/plating/astplate/warning{
- dir = 10;
+/turf/open/floor/plating/astplate{
icon_state = "astplate_warn";
initial_gas_mix = "TEMP=2.7";
tag = "icon-astplate_warn (SOUTHWEST)"
},
+/obj/effect/turf_decal/stripes/asteroid/line{
+ dir = 10
+ },
/area/ruin/unpowered/no_grav)
"I" = (
-/turf/open/floor/plating/astplate/warning{
- dir = 6;
+/turf/open/floor/plating/astplate{
icon_state = "astplate_warn";
initial_gas_mix = "TEMP=2.7";
tag = "icon-astplate_warn (SOUTHEAST)"
},
+/obj/effect/turf_decal/stripes/asteroid/line{
+ dir = 6
+ },
/area/ruin/unpowered/no_grav)
"J" = (
/obj/item/weapon/crowbar/red,
diff --git a/_maps/RandomRuins/SpaceRuins/emptyshell.dmm b/_maps/RandomRuins/SpaceRuins/emptyshell.dmm
index e6d2316ce5c..f6e9dc5aaad 100644
--- a/_maps/RandomRuins/SpaceRuins/emptyshell.dmm
+++ b/_maps/RandomRuins/SpaceRuins/emptyshell.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm b/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm
index fd610fd7c07..f1ffdb1706d 100644
--- a/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm
+++ b/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm
@@ -1,15 +1,15 @@
"a" = (/turf/open/space,/area/space)
"b" = (/obj/structure/lattice,/turf/open/space,/area/space)
"c" = (/turf/closed/wall,/area/ruin/gasthelizard)
-"d" = (/obj/machinery/light{dir = 1},/obj/structure/bed,/obj/effect/decal/remains/human,/turf/open/floor/plasteel/airless/darkwarning{dir = 8},/area/ruin/gasthelizard)
-"e" = (/obj/structure/window/reinforced{dir = 4;pixel_x = 0},/turf/open/floor/plasteel/airless/darkwarning{dir = 4},/area/ruin/gasthelizard)
-"f" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/obj/structure/bed,/obj/effect/decal/remains/human,/turf/open/floor/plasteel/airless/darkwarning{dir = 8},/area/ruin/gasthelizard)
-"g" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/obj/structure/bed,/turf/open/floor/plasteel/airless/darkwarning{dir = 8},/area/ruin/gasthelizard)
-"h" = (/turf/open/floor/plasteel/airless/darkwarning{dir = 4},/area/ruin/gasthelizard)
-"i" = (/turf/open/floor/plasteel/airless/darkwarning{dir = 8},/area/ruin/gasthelizard)
-"j" = (/obj/structure/window/reinforced{dir = 4;pixel_x = 0},/obj/machinery/atmospherics/components/unary/outlet_injector,/turf/open/floor/plasteel/airless/darkwarning{dir = 4},/area/ruin/gasthelizard)
-"k" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless/darkwarning{dir = 8},/area/ruin/gasthelizard)
-"l" = (/obj/machinery/atmospherics/components/unary/outlet_injector,/turf/open/floor/plasteel/airless/darkwarning{dir = 4},/area/ruin/gasthelizard)
+"d" = (/obj/machinery/light{dir = 1},/obj/structure/bed,/obj/effect/decal/remains/human,/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 8},/area/ruin/gasthelizard)
+"e" = (/obj/structure/window/reinforced{dir = 4;pixel_x = 0},/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 4},/area/ruin/gasthelizard)
+"f" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/obj/structure/bed,/obj/effect/decal/remains/human,/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 8},/area/ruin/gasthelizard)
+"g" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/obj/structure/bed,/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 8},/area/ruin/gasthelizard)
+"h" = (/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 4},/area/ruin/gasthelizard)
+"i" = (/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 8},/area/ruin/gasthelizard)
+"j" = (/obj/structure/window/reinforced{dir = 4;pixel_x = 0},/obj/machinery/atmospherics/components/unary/outlet_injector,/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 4},/area/ruin/gasthelizard)
+"k" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 8},/area/ruin/gasthelizard)
+"l" = (/obj/machinery/atmospherics/components/unary/outlet_injector,/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 4},/area/ruin/gasthelizard)
"m" = (/obj/structure/closet/crate/freezer,/obj/item/stack/sheet/animalhide/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard)
"n" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/machinery/light{dir = 1},/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard)
"o" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/clothing/under/rank/prisoner,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard)
diff --git a/_maps/RandomRuins/SpaceRuins/intactemptyship.dmm b/_maps/RandomRuins/SpaceRuins/intactemptyship.dmm
index 3346128321c..7ad88ec5e26 100644
--- a/_maps/RandomRuins/SpaceRuins/intactemptyship.dmm
+++ b/_maps/RandomRuins/SpaceRuins/intactemptyship.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm
index e2a4579531b..bf111586750 100644
--- a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm
+++ b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm
index e8e01e3dbc4..5d5b8741b62 100644
--- a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm
+++ b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomRuins/SpaceRuins/miracle.dmm b/_maps/RandomRuins/SpaceRuins/miracle.dmm
index 04aebe369c7..cdf0fa605b6 100644
--- a/_maps/RandomRuins/SpaceRuins/miracle.dmm
+++ b/_maps/RandomRuins/SpaceRuins/miracle.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/obj/item/weapon/storage/backpack/satchel/flat/secret{
reward_all_of_these = list(/obj/item/weapon/gun/energy/pulse/prize)
diff --git a/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm b/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm
index de102b742ef..b932f96bc0c 100644
--- a/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm
+++ b/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm
@@ -8,8 +8,8 @@
"ah" = (/obj/structure/girder,/turf/open/floor/plating/airless,/area/tcommsat/chamber)
"ai" = (/obj/structure/window/reinforced{dir = 4},/turf/open/space,/area/space)
"aj" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/tcommsat/chamber)
-"ak" = (/obj/machinery/power/apc{cell_type = 2500; dir = 1; name = "Worn-out APC"; pixel_x = 1; pixel_y = 26},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/open/floor/plating/airless,/area/tcommsat/chamber)
-"al" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plating/airless,/area/tcommsat/chamber)
+"ak" = (/obj/machinery/power/apc{cell_type = 2500;dir = 1;name = "Worn-out APC";pixel_x = 1;pixel_y = 26},/obj/structure/cable{icon_state = "0-4";d2 = 4},/turf/open/floor/plating/airless,/area/tcommsat/chamber)
+"al" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plating/airless,/area/tcommsat/chamber)
"am" = (/obj/item/weapon/stock_parts/cell,/turf/open/floor/plating/airless,/area/tcommsat/chamber)
"an" = (/obj/machinery/portable_atmospherics/canister/air,/turf/open/floor/plating/airless,/area/tcommsat/chamber)
"ao" = (/obj/item/weapon/coin/clown,/turf/open/floor/engine,/area/tcommsat/chamber)
@@ -18,7 +18,7 @@
"ar" = (/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/tcommsat/chamber)
"as" = (/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/tcommsat/chamber)
"at" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/open/space,/area/space)
-"au" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/open/floor/plating/airless,/area/tcommsat/chamber)
+"au" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plating/airless,/area/tcommsat/chamber)
"av" = (/obj/item/weapon/wrench,/turf/open/floor/plating/airless,/area/tcommsat/chamber)
"aw" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/portable_atmospherics/canister/air,/turf/open/floor/plating/airless,/area/tcommsat/chamber)
"ax" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/open/space,/area/space)
@@ -113,45 +113,45 @@
"ci" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/item/stack/rods,/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber)
"cj" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/open/space,/area/space)
"ck" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/open/space,/area/space)
-"cl" = (/turf/open/floor/plasteel/airless/warning{dir = 9},/area/tcommsat/chamber)
-"cm" = (/turf/open/floor/plasteel/airless/warning/corner{dir = 4},/area/tcommsat/chamber)
-"cn" = (/turf/open/floor/plasteel/airless/warning{dir = 1},/area/tcommsat/chamber)
-"co" = (/turf/open/floor/plasteel/airless/warning{dir = 5},/area/tcommsat/chamber)
+"cl" = (/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/line{dir = 9},/area/tcommsat/chamber)
+"cm" = (/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/corner{dir = 4},/area/tcommsat/chamber)
+"cn" = (/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/line{dir = 1},/area/tcommsat/chamber)
+"co" = (/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/line{dir = 5},/area/tcommsat/chamber)
"cp" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/open/space,/area/space)
"cq" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber)
-"cr" = (/obj/item/weapon/paper/crumpled,/turf/open/floor/plasteel/airless/warning{dir = 8},/area/tcommsat/chamber)
+"cr" = (/obj/item/weapon/paper/crumpled,/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/line{dir = 8},/area/tcommsat/chamber)
"cs" = (/obj/item/stack/rods,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber)
-"ct" = (/turf/open/floor/plasteel/airless/warning{dir = 4},/area/tcommsat/chamber)
+"ct" = (/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/line{dir = 4},/area/tcommsat/chamber)
"cu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber)
-"cv" = (/turf/open/floor/plasteel/airless/warning{dir = 10},/area/tcommsat/chamber)
-"cw" = (/obj/machinery/light/small,/obj/item/weapon/paper,/turf/open/floor/plasteel/airless/warning/corner{dir = 1},/area/tcommsat/chamber)
-"cx" = (/turf/open/floor/plasteel/airless/warning{dir = 6},/area/tcommsat/chamber)
+"cv" = (/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/line{dir = 10},/area/tcommsat/chamber)
+"cw" = (/obj/machinery/light/small,/obj/item/weapon/paper,/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/corner{dir = 1},/area/tcommsat/chamber)
+"cx" = (/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/line{dir = 6},/area/tcommsat/chamber)
"cy" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/open/space,/area/space)
"cz" = (/obj/structure/lattice,/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "medium"},/turf/open/space,/area/space)
"cA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/open/floor/plating/airless,/area/tcommsat/chamber)
"cB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/open/floor/plating,/area/tcommsat/chamber)
"cC" = (/obj/structure/grille/broken,/turf/open/space,/area/space)
"cD" = (/obj/machinery/door/airlock/hatch,/turf/open/floor/plasteel,/area/tcommsat/chamber)
-"cE" = (/turf/open/floor/plasteel/warning{dir = 9},/area/tcommsat/chamber)
-"cF" = (/turf/open/floor/plasteel/warning{dir = 1},/area/tcommsat/chamber)
-"cG" = (/turf/open/floor/plasteel/warning{dir = 5},/area/tcommsat/chamber)
-"cH" = (/turf/open/floor/plasteel/warning/corner{dir = 4},/area/tcommsat/chamber)
+"cE" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 9},/area/tcommsat/chamber)
+"cF" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 1},/area/tcommsat/chamber)
+"cG" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 5},/area/tcommsat/chamber)
+"cH" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/corner{dir = 4},/area/tcommsat/chamber)
"cI" = (/turf/open/floor/plasteel,/area/tcommsat/chamber)
-"cJ" = (/turf/open/floor/plasteel/warning/corner{dir = 8},/area/tcommsat/chamber)
+"cJ" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/corner{dir = 8},/area/tcommsat/chamber)
"cK" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel,/area/tcommsat/chamber)
"cL" = (/obj/structure/sign/vacuum,/turf/closed/wall/r_wall,/area/tcommsat/chamber)
-"cM" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel/warning{dir = 9},/area/tcommsat/chamber)
+"cM" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 9},/area/tcommsat/chamber)
"cN" = (/obj/item/weapon/paper/crumpled,/turf/open/floor/plasteel,/area/tcommsat/chamber)
"cO" = (/obj/structure/closet/malf/suits,/turf/open/floor/plasteel,/area/tcommsat/chamber)
"cP" = (/obj/structure/door_assembly/door_assembly_ext,/turf/open/floor/plating/airless,/area/tcommsat/chamber)
"cQ" = (/obj/machinery/door/airlock/external,/turf/open/floor/plating,/area/tcommsat/chamber)
-"cR" = (/turf/open/floor/plasteel/warning{dir = 8},/area/tcommsat/chamber)
+"cR" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 8},/area/tcommsat/chamber)
"cS" = (/obj/item/weapon/crowbar,/turf/open/floor/plating/airless,/area/tcommsat/chamber)
-"cT" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/night,/turf/open/floor/plasteel/warning{dir = 10},/area/tcommsat/chamber)
-"cU" = (/turf/open/floor/plasteel/warning/corner{dir = 1},/area/tcommsat/chamber)
-"cV" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/open/floor/plasteel/warning{dir = 10},/area/tcommsat/chamber)
-"cW" = (/turf/open/floor/plasteel/warning{dir = 2},/area/tcommsat/chamber)
-"cX" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/warning{dir = 6},/area/tcommsat/chamber)
+"cT" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/night,/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 10},/area/tcommsat/chamber)
+"cU" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/corner{dir = 1},/area/tcommsat/chamber)
+"cV" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1;pixel_y = -1},/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 10},/area/tcommsat/chamber)
+"cW" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 2},/area/tcommsat/chamber)
+"cX" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 6},/area/tcommsat/chamber)
"cY" = (/obj/structure/frame/computer,/turf/open/floor/plating,/area/tcommsat/chamber)
"cZ" = (/obj/machinery/teleport/station,/turf/open/floor/plating,/area/tcommsat/chamber)
"da" = (/obj/machinery/teleport/hub,/turf/open/floor/plating,/area/tcommsat/chamber)
diff --git a/_maps/RandomRuins/SpaceRuins/onehalf.dmm b/_maps/RandomRuins/SpaceRuins/onehalf.dmm
index 0d22288c479..f13e8fff22a 100644
--- a/_maps/RandomRuins/SpaceRuins/onehalf.dmm
+++ b/_maps/RandomRuins/SpaceRuins/onehalf.dmm
@@ -342,7 +342,8 @@
d2 = 2;
icon_state = "1-2"
},
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 9
},
/area/ruin/onehalf/drone_bay)
@@ -357,13 +358,15 @@
name = "Mining Drone Bay APC";
pixel_y = 24
},
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
/area/ruin/onehalf/drone_bay)
"aZ" = (
/obj/structure/disposalpipe/segment,
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
/area/ruin/onehalf/drone_bay)
@@ -392,12 +395,14 @@
pixel_x = -8;
pixel_y = 37
},
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
/area/ruin/onehalf/drone_bay)
"bb" = (
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
/area/ruin/onehalf/drone_bay)
@@ -426,13 +431,15 @@
pixel_x = 8;
pixel_y = 27
},
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
/area/ruin/onehalf/drone_bay)
"bd" = (
/obj/structure/disposalpipe/segment,
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 5
},
/area/ruin/onehalf/drone_bay)
diff --git a/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm b/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm
index 00fd8447959..ba1b7616752 100644
--- a/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm
+++ b/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomRuins/SpaceRuins/spacebar.dmm b/_maps/RandomRuins/SpaceRuins/spacebar.dmm
index 9603bae822c..5b78a2965fe 100644
--- a/_maps/RandomRuins/SpaceRuins/spacebar.dmm
+++ b/_maps/RandomRuins/SpaceRuins/spacebar.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm
index a259e23df9f..5ae4c74ae70 100644
--- a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm
+++ b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/open/space,
/area/space)
@@ -1982,22 +1982,26 @@
/area/ruin/hotel/workroom)
"eC" = (
/obj/structure/closet/crate,
-/turf/open/floor/plasteel/whitebot,
+/turf/open/floor/plasteel/white,
+/obj/effect/turf_decal/bot,
/area/ruin/hotel/workroom)
"eD" = (
/obj/structure/closet/crate,
/obj/item/clothing/head/rice_hat,
-/turf/open/floor/plasteel/whitebot,
+/turf/open/floor/plasteel/white,
+/obj/effect/turf_decal/bot,
/area/ruin/hotel/workroom)
"eE" = (
/obj/structure/closet/crate,
/obj/item/weapon/bedsheet/patriot,
-/turf/open/floor/plasteel/whitebot,
+/turf/open/floor/plasteel/white,
+/obj/effect/turf_decal/bot,
/area/ruin/hotel/workroom)
"eF" = (
/obj/structure/closet/crate,
/obj/item/weapon/card/id/away/hotel,
-/turf/open/floor/plasteel/whitebot,
+/turf/open/floor/plasteel/white,
+/obj/effect/turf_decal/bot,
/area/ruin/hotel/workroom)
"eG" = (
/turf/closed/wall,
@@ -4421,14 +4425,12 @@
/area/ruin/hotel/security)
"kO" = (
/turf/open/floor/plasteel/darkyellow,
-/turf/open/floor/plasteel/warningline,
+/obj/effect/turf_decal/stripes/line,
/area/ruin/hotel/security)
"kP" = (
/turf/open/floor/plasteel/darkyellow,
-/turf/open/floor/plasteel/warningline/corner{
- tag = "icon-warninglinecorners (WEST)";
- icon_state = "warninglinecorners";
- dir = 8
+/obj/effect/turf_decal/stripes/corner{
+ dir = 2
},
/area/ruin/hotel/security)
"kQ" = (
@@ -4546,9 +4548,7 @@
/area/ruin/hotel/security)
"lf" = (
/turf/open/floor/plasteel/darkyellow,
-/turf/open/floor/plasteel/warningline{
- tag = "icon-warningline (WEST)";
- icon_state = "warningline";
+/obj/effect/turf_decal/stripes/line{
dir = 8
},
/area/ruin/hotel/security)
@@ -5174,6 +5174,64 @@
/obj/structure/cable/yellow,
/turf/open/floor/plating/airless,
/area/ruin/unpowered/no_grav)
+"mP" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/turf/open/floor/plasteel/black,
+/area/ruin/hotel/workroom)
+"mQ" = (
+/obj/machinery/door/airlock/centcom{
+ name = "Hotel Staff Room";
+ req_access_txt = "200"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/black,
+/area/ruin/hotel/workroom)
+"mR" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/carpet,
+/area/ruin/hotel)
+"mS" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/turf/open/floor/carpet,
+/area/ruin/hotel)
+"mT" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/turf/open/floor/carpet,
+/area/ruin/hotel)
+"mU" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/carpet,
+/area/ruin/hotel)
"mV" = (
/obj/structure/cable{
d1 = 4;
@@ -5192,64 +5250,6 @@
},
/turf/open/floor/carpet,
/area/ruin/hotel)
-"mU" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- pixel_y = 0
- },
-/turf/open/floor/carpet,
-/area/ruin/hotel)
-"mT" = (
-/obj/structure/cable{
- d1 = 2;
- d2 = 8;
- icon_state = "2-8";
- tag = ""
- },
-/turf/open/floor/carpet,
-/area/ruin/hotel)
-"mS" = (
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8";
- pixel_x = 0;
- tag = ""
- },
-/turf/open/floor/carpet,
-/area/ruin/hotel)
-"mR" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 4;
- icon_state = "1-4"
- },
-/turf/open/floor/carpet,
-/area/ruin/hotel)
-"mQ" = (
-/obj/machinery/door/airlock/centcom{
- name = "Hotel Staff Room";
- req_access_txt = "200"
- },
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- pixel_y = 0
- },
-/turf/open/floor/plasteel/black,
-/area/ruin/hotel/workroom)
-"mP" = (
-/obj/structure/cable{
- d1 = 2;
- d2 = 8;
- icon_state = "2-8";
- tag = ""
- },
-/turf/open/floor/plasteel/black,
-/area/ruin/hotel/workroom)
(1,1,1) = {"
aa
diff --git a/_maps/RandomRuins/SpaceRuins/turretedoutpost.dmm b/_maps/RandomRuins/SpaceRuins/turretedoutpost.dmm
index 039e4fad35f..1d048d8a6c2 100644
--- a/_maps/RandomRuins/SpaceRuins/turretedoutpost.dmm
+++ b/_maps/RandomRuins/SpaceRuins/turretedoutpost.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomRuins/SpaceRuins/vaporwave.dmm b/_maps/RandomRuins/SpaceRuins/vaporwave.dmm
index 273c73c0d0a..e953ee9a4e6 100644
--- a/_maps/RandomRuins/SpaceRuins/vaporwave.dmm
+++ b/_maps/RandomRuins/SpaceRuins/vaporwave.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/space,
/area/space)
@@ -153,9 +153,10 @@
},
/area/ruin/unpowered/no_grav)
"G" = (
-/turf/open/floor/plating/astplate/warning{
+/turf/open/floor/plating/astplate{
initial_gas_mix = "TEMP=2.7"
},
+/obj/effect/turf_decal/stripes/asteroid/line,
/area/ruin/unpowered/no_grav)
"H" = (
/obj/effect/overlay/palmtree_l,
diff --git a/_maps/RandomZLevels/Academy.dmm b/_maps/RandomZLevels/Academy.dmm
index 7df0895e72e..3e1adb953bd 100644
--- a/_maps/RandomZLevels/Academy.dmm
+++ b/_maps/RandomZLevels/Academy.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/open/space,
/area/space)
@@ -439,7 +439,8 @@
/obj/machinery/door/poddoor/shutters{
id = "AcademyAuto"
},
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
/area/awaymission/academy/classrooms)
@@ -447,7 +448,8 @@
/obj/machinery/door/poddoor/shutters{
id = "AcademyAuto"
},
-/turf/open/floor/plating/warnplate{
+/turf/open/floor/plating,
+/obj/effect/turf_decal/stripes/line{
dir = 8
},
/area/awaymission/academy/classrooms)
@@ -461,7 +463,8 @@
/obj/machinery/door/poddoor/shutters{
id = "AcademyAuto"
},
-/turf/open/floor/plating/warnplate{
+/turf/open/floor/plating,
+/obj/effect/turf_decal/stripes/line{
dir = 4
},
/area/awaymission/academy/classrooms)
@@ -479,7 +482,8 @@
/turf/open/floor/plasteel,
/area/awaymission/academy/classrooms)
"bA" = (
-/turf/open/floor/plating/warnplate{
+/turf/open/floor/plating,
+/obj/effect/turf_decal/stripes/line{
dir = 8
},
/area/awaymission/academy/classrooms)
@@ -487,7 +491,8 @@
/turf/open/floor/plating,
/area/awaymission/academy/classrooms)
"bC" = (
-/turf/open/floor/plating/warnplate{
+/turf/open/floor/plating,
+/obj/effect/turf_decal/stripes/line{
dir = 4
},
/area/awaymission/academy/classrooms)
@@ -860,7 +865,8 @@
/turf/open/floor/plating,
/area/awaymission/academy/classrooms)
"cK" = (
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
/area/awaymission/academy/classrooms)
@@ -880,12 +886,14 @@
/turf/open/floor/plasteel,
/area/awaymission/academy/classrooms)
"cN" = (
-/turf/open/floor/plating/warnplate{
+/turf/open/floor/plating,
+/obj/effect/turf_decal/stripes/line{
dir = 10
},
/area/awaymission/academy/classrooms)
"cO" = (
-/turf/open/floor/plating/warnplate{
+/turf/open/floor/plating,
+/obj/effect/turf_decal/stripes/line{
dir = 6
},
/area/awaymission/academy/classrooms)
@@ -1442,7 +1450,8 @@
/turf/open/floor/plasteel/white,
/area/awaymission/academy/classrooms)
"ez" = (
-/turf/open/floor/plating/warnplate{
+/turf/open/floor/plating,
+/obj/effect/turf_decal/stripes/line{
dir = 9
},
/area/awaymission/academy)
@@ -1503,7 +1512,8 @@
},
/area/awaymission/academy/classrooms)
"eJ" = (
-/turf/open/floor/plating/warnplate{
+/turf/open/floor/plating,
+/obj/effect/turf_decal/stripes/line{
dir = 8
},
/area/awaymission/academy)
@@ -1615,7 +1625,8 @@
},
/area/awaymission/academy/classrooms)
"fb" = (
-/turf/open/floor/plating/warnplate{
+/turf/open/floor/plating,
+/obj/effect/turf_decal/stripes/line{
dir = 10
},
/area/awaymission/academy)
@@ -1908,7 +1919,8 @@
icon_state = "4-8";
pixel_y = 0
},
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 8
},
/area/awaymission/academy/classrooms)
@@ -1966,19 +1978,22 @@
/area/awaymission/academy/classrooms)
"fR" = (
/mob/living/simple_animal/hostile/wizard,
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
/area/awaymission/academy/classrooms)
"fS" = (
/obj/structure/window/reinforced,
-/turf/open/floor/plasteel/delivery{
+/turf/open/floor/plasteel{
name = "floor"
},
+/obj/effect/turf_decal/delivery,
/area/awaymission/academy/classrooms)
"fT" = (
/obj/structure/table/reinforced,
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 4
},
/area/awaymission/academy/classrooms)
@@ -2018,7 +2033,8 @@
/turf/open/floor/plating,
/area/awaymission/academy/classrooms)
"ga" = (
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 8
},
/area/awaymission/academy/classrooms)
@@ -2112,7 +2128,8 @@
/obj/machinery/door/window{
dir = 4
},
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 4
},
/area/awaymission/academy/classrooms)
@@ -2211,7 +2228,8 @@
dir = 4
},
/obj/item/ammo_casing,
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 4
},
/area/awaymission/academy/classrooms)
@@ -2288,9 +2306,10 @@
"gK" = (
/obj/structure/window/reinforced,
/obj/item/ammo_casing,
-/turf/open/floor/plasteel/delivery{
+/turf/open/floor/plasteel{
name = "floor"
},
+/obj/effect/turf_decal/delivery,
/area/awaymission/academy/classrooms)
"gL" = (
/mob/living/simple_animal/hostile/bear,
@@ -2311,7 +2330,8 @@
},
/area/awaymission/academy/classrooms)
"gP" = (
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 4
},
/area/awaymission/academy/classrooms)
@@ -2407,7 +2427,8 @@
d2 = 8;
icon_state = "0-8"
},
-/turf/open/floor/plasteel/warning{
+/turf/open/floor/plasteel,
+/obj/effect/turf_decal/stripes/line{
dir = 8
},
/area/awaymission/academy/classrooms)
@@ -2837,7 +2858,7 @@
"ib" = (
/obj/structure/closet,
/obj/item/weapon/reagent_containers/food/drinks/beer,
-/obj/item/clothing/under/color/purple,
+/obj/item/clothing/under/color/lightpurple,
/obj/item/weapon/poster/contraband,
/turf/open/floor/plasteel,
/area/awaymission/academy/academyaft)
@@ -3785,7 +3806,8 @@
/obj/machinery/door/poddoor/shutters{
id = "AcademyGate"
},
-/turf/open/floor/plating/warnplate{
+/turf/open/floor/plating,
+/obj/effect/turf_decal/stripes/line{
dir = 2
},
/area/awaymission/academy/academygate)
diff --git a/_maps/RandomZLevels/Cabin.dmm b/_maps/RandomZLevels/Cabin.dmm
index f9e40b73fc3..f48bcfc3177 100644
--- a/_maps/RandomZLevels/Cabin.dmm
+++ b/_maps/RandomZLevels/Cabin.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/closed/indestructible/rock/snow,
/area/space)
diff --git a/_maps/RandomZLevels/beach.dmm b/_maps/RandomZLevels/beach.dmm
index 0f7e67d2444..be820d8e858 100644
--- a/_maps/RandomZLevels/beach.dmm
+++ b/_maps/RandomZLevels/beach.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomZLevels/beach2.dmm b/_maps/RandomZLevels/beach2.dmm
index ec4111b4694..72fbf293529 100644
--- a/_maps/RandomZLevels/beach2.dmm
+++ b/_maps/RandomZLevels/beach2.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/open/space,
/area/space)
diff --git a/_maps/RandomZLevels/caves.dmm b/_maps/RandomZLevels/caves.dmm
index 992ed6dbbfc..19b2c6579bf 100644
--- a/_maps/RandomZLevels/caves.dmm
+++ b/_maps/RandomZLevels/caves.dmm
@@ -1,4 +1,4 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/closed/indestructible/rock,
/area/space)
@@ -2374,7 +2374,7 @@
info = "
"
dat += "Yes.
"
@@ -343,24 +361,11 @@ var/global/list/datum/cachedbook/cachedbooks // List of our cached book datums
if("5")
screenstate = 5
if("6")
- if(!bibledelay)
-
- var/obj/item/weapon/storage/book/bible/B = new /obj/item/weapon/storage/book/bible(src.loc)
- if(SSreligion.Bible_icon_state && SSreligion.Bible_item_state)
- B.icon_state = SSreligion.Bible_icon_state
- B.item_state = SSreligion.Bible_item_state
- B.name = SSreligion.Bible_name
- B.deity_name = SSreligion.Bible_deity_name
-
- bibledelay = 1
- spawn(60)
- bibledelay = 0
-
- else
- say("Bible printer currently unavailable, please wait a moment.")
-
+ screenstate = 6
if("7")
screenstate = 7
+ if("8")
+ screenstate = 8
if(href_list["arccheckout"])
if(src.emagged)
src.arcanecheckout = 1
@@ -418,8 +423,20 @@ var/global/list/datum/cachedbook/cachedbooks // List of our cached book datums
else
log_game("[usr.name]/[usr.key] has uploaded the book titled [scanner.cache.name], [length(scanner.cache.dat)] signs")
alert("Upload Complete. Uploaded title will be unavailable for printing for a short period")
+ if(href_list["newspost"])
+ if(!news_network)
+ alert("No news network found on station. Aborting.")
+ var/channelexists = 0
+ for(var/datum/newscaster/feed_channel/FC in news_network.network_channels)
+ if(FC.channel_name == "Nanotrasen Book Club")
+ channelexists = 1
+ break
+ if(!channelexists)
+ news_network.CreateFeedChannel("Nanotrasen Book Club", "Library", null)
+ news_network.SubmitArticle(scanner.cache.dat, "[scanner.cache.name]", "Nanotrasen Book Club", null)
+ alert("Upload complete. Your uploaded title is now available on station newscasters.")
if(href_list["orderbyid"])
- if(bibledelay)
+ if(cooldown > world.time)
say("Printer unavailable. Please allow a short time before attempting to print.")
else
var/orderid = input("Enter your order:") as num|null
@@ -432,12 +449,10 @@ var/global/list/datum/cachedbook/cachedbooks // List of our cached book datums
establish_db_connection()
if(!dbcon.IsConnected())
alert("Connection to Archive has been severed. Aborting.")
- if(bibledelay)
+ if(cooldown > world.time)
say("Printer unavailable. Please allow a short time before attempting to print.")
else
- bibledelay = 1
- spawn(60)
- bibledelay = 0
+ cooldown = world.time + PRINTER_COOLDOWN
var/DBQuery/query = dbcon.NewQuery("SELECT * FROM [format_table_name("library")] WHERE id=[sqlid] AND isnull(deleted)")
query.Execute()
@@ -453,7 +468,23 @@ var/global/list/datum/cachedbook/cachedbooks // List of our cached book datums
B.icon_state = "book[rand(1,8)]"
visible_message("[src]'s printer hums as it produces a completely bound book. How did it do that?")
break
-
+ if(href_list["printbible"])
+ if(cooldown < world.time)
+ var/obj/item/weapon/storage/book/bible/B = new /obj/item/weapon/storage/book/bible(src.loc)
+ if(SSreligion.Bible_icon_state && SSreligion.Bible_item_state)
+ B.icon_state = SSreligion.Bible_icon_state
+ B.item_state = SSreligion.Bible_item_state
+ B.name = SSreligion.Bible_name
+ B.deity_name = SSreligion.Bible_deity_name
+ cooldown = world.time + PRINTER_COOLDOWN
+ else
+ say("Printer currently unavailable, please wait a moment.")
+ if(href_list["printposter"])
+ if(cooldown < world.time)
+ new /obj/item/weapon/poster/legit(src.loc)
+ cooldown = world.time + PRINTER_COOLDOWN
+ else
+ say("Printer currently unavailable, please wait a moment.")
add_fingerprint(usr)
updateUsrDialog()
diff --git a/code/modules/library/random_books.dm b/code/modules/library/random_books.dm
index ff3bd42b3ff..1d5a3c3df6a 100644
--- a/code/modules/library/random_books.dm
+++ b/code/modules/library/random_books.dm
@@ -20,12 +20,9 @@
var/book_count = 2
anchored = 1
state = 2
-/obj/structure/bookcase/random/New()
- ..()
- if(ticker && ticker.current_state >= GAME_STATE_PLAYING)
- initialize()
-/obj/structure/bookcase/random/initialize()
+/obj/structure/bookcase/random/Initialize(mapload)
+ ..()
if(!book_count || !isnum(book_count))
update_icon()
return
@@ -77,8 +74,9 @@
name = "bookcase (Reference)"
category = "Reference"
var/ref_book_prob = 20
-/obj/structure/bookcase/random/reference/initialize()
+
+/obj/structure/bookcase/random/reference/Initialize(mapload)
+ ..()
while(book_count > 0 && prob(ref_book_prob))
book_count--
new /obj/item/weapon/book/manual/random(src)
- ..()
diff --git a/code/modules/library/soapstone.dm b/code/modules/library/soapstone.dm
new file mode 100644
index 00000000000..a313d6aa0f7
--- /dev/null
+++ b/code/modules/library/soapstone.dm
@@ -0,0 +1,263 @@
+#define SOAPSTONE_PREFIX_FILE "strings/soapstone_prefixes.txt"
+#define SOAPSTONE_SUFFIX_FILE "soapstone_suffixes.json"
+//Vocabulary lists; soapstones use a prefix and a suffix. Optionally, they can have a prefix and suffix, then a conjunction that links another set.
+var/global/list/soapstone_prefixes = list() //Read from "strings/soapstone_prefixes.txt"; if you're adding your own, put **** where the subject should be!
+var/global/list/soapstone_suffixes = list() //Read from "strings/soapstone_suffixes.json"
+/obj/item/soapstone
+ name = "chisel"
+ desc = "Leave \"informative\" messages for the crew, including the crew of future shifts!\n\
+ (Not suitable for engraving on shuttles, off station or on cats. Side effects may include beatings, bannings and orbital bombardment.)"
+ icon = 'icons/obj/items.dmi'
+ icon_state = "soapstone"
+ throw_speed = 3
+ throw_range = 5
+ w_class = WEIGHT_CLASS_TINY
+ var/remaining_uses = 3
+
+ var/non_dull_name
+ var/w_dull = "dull"
+
+/obj/item/soapstone/New()
+ . = ..()
+ if(!soapstone_prefixes.len)
+ soapstone_prefixes = file2list(SOAPSTONE_PREFIX_FILE, "\n")
+ if(!soapstone_suffixes.len)
+ soapstone_suffixes = list(\
+ "Characters" = strings(SOAPSTONE_SUFFIX_FILE, "Characters"), \
+ "Careers" = strings(SOAPSTONE_SUFFIX_FILE, "Careers"), \
+ "Antagonists" = strings(SOAPSTONE_SUFFIX_FILE, "Antagonists"), \
+ "Objects" = strings(SOAPSTONE_SUFFIX_FILE, "Objects"), \
+ "Techniques" = strings(SOAPSTONE_SUFFIX_FILE, "Techniques"), \
+ "Actions" = strings(SOAPSTONE_SUFFIX_FILE, "Actions"), \
+ "Geography" = strings(SOAPSTONE_SUFFIX_FILE, "Geography"), \
+ "Orientation" = strings(SOAPSTONE_SUFFIX_FILE, "Orientation"), \
+ "Body parts" = strings(SOAPSTONE_SUFFIX_FILE, "Body parts"), \
+ "Concepts" = strings(SOAPSTONE_SUFFIX_FILE, "Concepts"), \
+ "Musings" = strings(SOAPSTONE_SUFFIX_FILE, "Musings"), \
+ )
+ random_name()
+ check_name() // could start empty
+
+/obj/item/soapstone/proc/random_name()
+ name = pick("soapstone", "chisel", "chalk", "magic marker")
+ non_dull_name = name
+ if(name == "chalk" || name == "magic marker")
+ desc = replacetext(desc, "engraving", "scribbling")
+ if(name == "chalk")
+ w_dull = "used"
+ if(name == "magic marker")
+ w_dull = "empty"
+
+ if(name == "soapstone" || name == "chisel")
+ desc = replacetext(desc, "scribbling", "engraving")
+ w_dull = "dull"
+
+/obj/item/soapstone/examine(mob/user)
+ . = ..()
+ if(remaining_uses != -1)
+ user << "It has [remaining_uses] uses left."
+ else
+ user << "It looks like it can be used an unlimited number of times."
+
+/obj/item/soapstone/afterattack(atom/target, mob/user, proximity)
+ if(!remaining_uses)
+ user << "[src] is [w_dull] and can't be used anymore!"
+ return
+ var/turf/T = get_turf(target)
+ if(!proximity)
+ return
+ var/obj/structure/chisel_message/msg = locate() in T
+ if(msg)
+ if(msg.creator_key != user.ckey)
+ user << "There's already a message there!"
+ return
+ else
+ if(alert(user, "Erase this message?", name, "Yes", "No") == "Yes")
+ user.visible_message("[user] erases [msg].", "You permanently erase [msg].")
+ playsound(T, 'sound/items/gavel.ogg', 50, 1)
+ refund_use()
+ msg.persists = 0
+ qdel(msg)
+ return
+ return
+ if(!good_chisel_message_location(T))
+ user << "You can't write there!"
+ return
+ var/prefix = input(user, "Choose a prefix for your message.", name) as null|anything in soapstone_prefixes
+ if(!prefix)
+ return
+ var/suffix_category_string = input(user, "Choose a suffix category.", "[prefix]...") as null|anything in soapstone_suffixes
+ var/list/suffix_category = soapstone_suffixes[suffix_category_string]
+ if(!suffix_category || !suffix_category.len)
+ return
+ var/suffix = input(user, "Choose a suffix.", "[prefix]...") as null|anything in suffix_category
+ if(!suffix)
+ return
+ var/processed_message = replacetext(prefix, "****", suffix)
+ if(!user.Adjacent(T) || !good_chisel_message_location(T) || locate(/obj/structure/chisel_message) in T)
+ return
+ user.visible_message("[user] writes a message onto [T]!", "You write a message onto [T].")
+ playsound(T, 'sound/items/gavel.ogg', 50, 1)
+ var/obj/structure/chisel_message/M = new(T)
+ M.register(user, processed_message)
+ remove_use()
+ return 1
+
+/obj/item/soapstone/proc/can_use()
+ if(remaining_uses == -1 || remaining_uses >= 0)
+ . = TRUE
+ else
+ . = FALSE
+
+/obj/item/soapstone/proc/remove_use()
+ if(remaining_uses <= 0)
+ // -1 == unlimited, 0 == empty
+ return
+
+ remaining_uses--
+ check_name()
+
+/obj/item/soapstone/proc/refund_use()
+ if(remaining_uses == -1)
+ return
+ remaining_uses++
+ check_name()
+
+/obj/item/soapstone/proc/check_name()
+ if(remaining_uses)
+ name = non_dull_name
+ else
+ name = "[w_dull] [name]"
+
+/* Persistent engraved messages, etched onto the station turfs to serve
+ as instructions and/or memes for the next generation of spessmen.
+
+ Limited in location to station_z only. Can be smashed out or exploded,
+ but only permamently removed with the librarian's soapstone.
+*/
+
+/obj/item/soapstone/infinite
+ remaining_uses = -1
+
+/obj/item/soapstone/empty
+ remaining_uses = 0
+
+/proc/good_chisel_message_location(turf/T)
+ if(!T)
+ . = FALSE
+ else if(T.z != ZLEVEL_STATION)
+ . = FALSE
+ else if(istype(get_area(T), /area/shuttle))
+ . = FALSE
+ else if(!(isfloorturf(T) || iswallturf(T)))
+ . = FALSE
+ else
+ . = TRUE
+
+/obj/structure/chisel_message
+ name = "engraved message"
+ desc = "A message from a past traveler."
+ icon = 'icons/obj/stationobjs.dmi'
+ icon_state = "soapstone_message"
+ density = 0
+ anchored = 1
+ luminosity = 1
+ obj_integrity = 30
+ max_integrity = 30
+
+ var/hidden_message
+ var/creator_key
+ var/creator_name
+ var/realdate
+ var/map
+ var/persists = TRUE
+
+ var/positive_ratings = 0
+ var/negative_ratings = 0
+
+ var/list/raters = list() //Ckeys who have rated this message
+
+/obj/structure/chisel_message/attack_hand(mob/user)
+ if(user.ckey == creator_key)
+ user << "You can't rate your own messages!"
+ return
+ if(raters[user.ckey])
+ user << "You've already rated this message!"
+ return
+ switch(alert(user, "How would you like to rate this message?", "Message Rating", "Positive", "Negative", "Cancel"))
+ if("Positive")
+ for(var/client/C in clients)
+ if(C.ckey == creator_key)
+ C.mob << "One of your messages was rated as positive!"
+ user << "You rated this message as positive."
+ positive_ratings++
+ raters[user.ckey] = "positive"
+ if("Negative")
+ for(var/client/C in clients)
+ if(C.ckey == creator_key)
+ C.mob << "One of your messages was rated as negative!"
+ user << "You rated this message as negative."
+ negative_ratings++
+ raters[user.ckey] = "negative"
+
+/obj/structure/chisel_message/New(newloc)
+ ..()
+ SSpersistence.chisel_messages += src
+ var/turf/T = get_turf(src)
+ if(!good_chisel_message_location(T))
+ persists = FALSE
+ qdel(src)
+
+/obj/structure/chisel_message/singularity_pull()
+ return
+
+/obj/structure/chisel_message/proc/register(mob/user, newmessage)
+ hidden_message = newmessage
+ creator_name = user.real_name
+ creator_key = user.ckey
+ realdate = world.timeofday
+ map = MAP_NAME
+ update_icon()
+
+/obj/structure/chisel_message/proc/pack()
+ var/list/data = list()
+ data["hidden_message"] = hidden_message
+ data["creator_name"] = creator_name
+ data["creator_key"] = creator_key
+ data["realdate"] = realdate
+ data["map"] = MAP_NAME
+ var/turf/T = get_turf(src)
+ data["x"] = T.x
+ data["y"] = T.y
+ data["pos_ratings"] = positive_ratings
+ data["neg_ratings"] = positive_ratings
+ data["raters"] = raters
+ return data
+
+/obj/structure/chisel_message/proc/unpack(list/data)
+ hidden_message = data["hidden_message"]
+ creator_name = data["creator_name"]
+ creator_key = data["creator_key"]
+ realdate = data["realdate"]
+ positive_ratings = data["pos_ratings"]
+ negative_ratings = data["neg_ratings"]
+ raters = data["raters"]
+
+ var/x = data["x"]
+ var/y = data["y"]
+ var/turf/newloc = locate(x, y, ZLEVEL_STATION)
+ forceMove(newloc)
+ update_icon()
+
+/obj/structure/chisel_message/examine(mob/user)
+ ..()
+ user << "[hidden_message]"
+ user << "Ratings: [positive_ratings] [negative_ratings]"
+ if(raters[user.ckey])
+ user << "You rated this message as [raters[user.ckey]]."
+
+/obj/structure/chisel_message/Destroy()
+ if(persists)
+ SSpersistence.SaveChiselMessage(src)
+ SSpersistence.chisel_messages -= src
+ . = ..()
diff --git a/code/modules/lighting/lighting_screen.dm b/code/modules/lighting/lighting_screen.dm
new file mode 100644
index 00000000000..72ca420959d
--- /dev/null
+++ b/code/modules/lighting/lighting_screen.dm
@@ -0,0 +1,51 @@
+// Alright.
+// Let me tell you a story.
+// Of how BYOND planes are complete. fucking. shit.
+//
+// It all began when this DM coder decided to port /vg/lighting to TG.
+// He got the code working, but gasp! When he opened the game, the lighting was invisible!
+// It was, of course a planes issue. See, the lighting plane didn't support the multiplication blending!
+//
+// So how do you fix this? Multiplicative blending onto a plane doesn't work as it stays black!
+// What if we BLEND_OVERLAY onto the plane, and the plane blends multiplicative?
+// Alas, this also doesn't work! The areas without lighting overlay become black!
+// So what if we make the lighting overlay overlay the negative colour,
+// then make the plane invert itself afterwards again? Genius!
+// The plane is dark when not blended onto so it inverts to white,
+// It's dark which gets inverted to white when a fully lit overlay is blended on,
+// and it's bright which gets inverted to black when a dark overlay is blended on.
+// Surely this method was infallible!
+//
+// And so the coder tried, but alas it did not work.
+//
+// After careful science™️, he came to the following conclusion:
+// BYOND planes are black when blended onto by other things.
+// But anything not blended on turns white for the colour matrix and such.
+//
+// WHAT THE FUCK?
+//
+// And today we are here, with this god damn screen object.
+// This screen object serves as a white backdrop so we can always blend into white.
+// Making everything actually work.
+// T-thanks BYOND.
+// Remake when?
+
+
+/obj/screen/lighting_backdrop
+ icon = 'WHITE_THING.dmi'
+ icon_state = "reeee"
+ screen_loc = "SOUTH,WEST"
+ plane = LIGHTING_PLANE
+ layer = -1
+ blend_mode = BLEND_OVERLAY
+
+/obj/screen/lighting_backdrop/New(loc, new_size)
+ ..()
+ update_size(new_size)
+
+/obj/screen/lighting_backdrop/proc/update_size(new_size)
+ var/matrix/M = matrix()
+ var/size = new_size*2 + 1
+
+ M.Scale(size)
+ transform = M
diff --git a/code/modules/mining/equipment.dm b/code/modules/mining/equipment.dm
index 45f505bb044..51072736837 100644
--- a/code/modules/mining/equipment.dm
+++ b/code/modules/mining/equipment.dm
@@ -447,7 +447,7 @@
minerals += M
if(minerals.len)
for(var/turf/closed/mineral/M in minerals)
- var/obj/effect/overlay/temp/mining_overlay/C = PoolOrNew(/obj/effect/overlay/temp/mining_overlay, M)
+ var/obj/effect/overlay/temp/mining_overlay/C = new /obj/effect/overlay/temp/mining_overlay(M)
C.icon_state = M.scan_state
/obj/effect/overlay/temp/mining_overlay
@@ -542,7 +542,7 @@
var/target_turf = get_turf(target)
if(ismineralturf(target_turf))
var/turf/closed/mineral/M = target_turf
- PoolOrNew(/obj/effect/overlay/temp/kinetic_blast, M)
+ new /obj/effect/overlay/temp/kinetic_blast(M)
M.gets_drilled(firer)
..()
@@ -567,7 +567,7 @@
return
if(proximity_flag && target == mark && isliving(target))
var/mob/living/L = target
- PoolOrNew(/obj/effect/overlay/temp/kinetic_blast, get_turf(L))
+ new /obj/effect/overlay/temp/kinetic_blast(get_turf(L))
mark = 0
if(L.mob_size >= MOB_SIZE_LARGE)
L.underlays -= marked_image
diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm
index 3446a42c994..3073c3bd085 100644
--- a/code/modules/mining/fulton.dm
+++ b/code/modules/mining/fulton.dm
@@ -144,7 +144,7 @@ var/list/total_extraction_beacons = list()
icon_state = "subspace_amplifier"
/obj/item/fulton_core/attack_self(mob/user)
- if(do_after(user,15,target = user) && !qdeleted(src))
+ if(do_after(user,15,target = user) && !QDELETED(src))
new /obj/structure/extraction_point(get_turf(user))
qdel(src)
diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm
index 0b0b257a1b3..fece3a809b8 100644
--- a/code/modules/mining/lavaland/necropolis_chests.dm
+++ b/code/modules/mining/lavaland/necropolis_chests.dm
@@ -138,13 +138,11 @@
/obj/item/device/warp_cube/attack_self(mob/user)
if(!linked)
user << "[src] fizzles uselessly."
- if(linked.z == CENTCOMM)
- user << "[linked] is somewhere you can't go."
-
- PoolOrNew(/obj/effect/particle_effect/smoke, user.loc)
+ return
+ new /obj/effect/particle_effect/smoke(user.loc)
user.forceMove(get_turf(linked))
feedback_add_details("warp_cube","[src.type]")
- PoolOrNew(/obj/effect/particle_effect/smoke, user.loc)
+ new /obj/effect/particle_effect/smoke(user.loc)
/obj/item/device/warp_cube/red
name = "red cube"
@@ -339,9 +337,11 @@
if(istype(over_object, /obj/screen/inventory/hand))
var/obj/screen/inventory/hand/H = over_object
- if(!M.unEquip(src))
+ if(!M.temporarilyRemoveItemFromInventory(src))
return
- M.put_in_hand(src, H.held_index)
+ if(!M.put_in_hand(src, H.held_index))
+ qdel(src)
+ return //fuck these things
add_fingerprint(usr)
@@ -355,7 +355,7 @@
icon = 'icons/obj/lavaland/dragonboat.dmi'
resistance_flags = LAVA_PROOF | FIRE_PROOF
-/obj/vehicle/lavaboat/buckle_mob()
+/obj/vehicle/lavaboat/buckle_mob(mob/living/M, force = 0, check_loc = 1)
. = ..()
riding_datum = new/datum/riding/boat
@@ -403,7 +403,7 @@
desc = "This boat moves where you will it, without the need for an oar."
icon_state = "dragon_boat"
-/obj/vehicle/lavaboat/dragon/buckle_mob()
+/obj/vehicle/lavaboat/dragon/buckle_mob(mob/living/M, force = 0, check_loc = 1)
..()
riding_datum = new/datum/riding/boat/dragon
@@ -656,7 +656,7 @@
if(!istype(T))
return
if(!istype(T, turf_type))
- var/obj/effect/overlay/temp/lavastaff/L = PoolOrNew(/obj/effect/overlay/temp/lavastaff, T)
+ var/obj/effect/overlay/temp/lavastaff/L = new /obj/effect/overlay/temp/lavastaff(T)
L.alpha = 0
animate(L, alpha = 255, time = create_delay)
user.visible_message("[user] points [src] at [T]!")
@@ -732,6 +732,10 @@
user << "[choice] is already dead!"
used = FALSE
return
+ if(choice == user)
+ user << "You feel like writing your own name into a cursed death warrant would be unwise."
+ used = FALSE
+ return
else
var/mob/living/L = choice
@@ -793,25 +797,25 @@
calculate_anger_mod(user)
timer = world.time + CLICK_CD_MELEE //by default, melee attacks only cause melee blasts, and have an accordingly short cooldown
if(proximity_flag)
- addtimer(CALLBACK(src, .proc/aoe_burst, T, user), 0)
+ INVOKE_ASYNC(src, .proc/aoe_burst, T, user)
add_logs(user, target, "fired 3x3 blast at", src)
else
if(ismineralturf(target) && get_dist(user, target) < 6) //target is minerals, we can hit it(even if we can't see it)
- addtimer(CALLBACK(src, .proc/cardinal_blasts, T, user), 0)
+ INVOKE_ASYNC(src, .proc/cardinal_blasts, T, user)
timer = world.time + cooldown_time
else if(target in view(5, get_turf(user))) //if the target is in view, hit it
timer = world.time + cooldown_time
if(isliving(target) && chaser_timer <= world.time) //living and chasers off cooldown? fire one!
chaser_timer = world.time + chaser_cooldown
- PoolOrNew(/obj/effect/overlay/temp/hierophant/chaser, list(get_turf(user), user, target, chaser_speed, friendly_fire_check))
+ new /obj/effect/overlay/temp/hierophant/chaser(get_turf(user), user, target, chaser_speed, friendly_fire_check)
add_logs(user, target, "fired a chaser at", src)
else
- addtimer(CALLBACK(src, .proc/cardinal_blasts, T, user), 0) //otherwise, just do cardinal blast
+ INVOKE_ASYNC(src, .proc/cardinal_blasts, T, user) //otherwise, just do cardinal blast
add_logs(user, target, "fired cardinal blast at", src)
else
user << "That target is out of range!" //too far away
timer = world.time
- addtimer(CALLBACK(src, .proc/prepare_icon_update), 0)
+ INVOKE_ASYNC(src, .proc/prepare_icon_update)
/obj/item/weapon/hierophant_club/proc/calculate_anger_mod(mob/user) //we get stronger as the user loses health
chaser_cooldown = initial(chaser_cooldown)
@@ -827,7 +831,7 @@
blast_range -= round(health_percent * 10) //one additional range for each missing 10% of health
/obj/item/weapon/hierophant_club/update_icon()
- icon_state = "hierophant_club[timer <= world.time ? "_ready":""][beacon ? "":"_beacon"]"
+ icon_state = "hierophant_club[timer <= world.time ? "_ready":""][(beacon && !QDELETED(beacon)) ? "":"_beacon"]"
item_state = icon_state
if(ismob(loc))
var/mob/M = loc
@@ -849,16 +853,16 @@
if(!user.is_holding(src)) //you need to hold the staff to teleport
user << "You need to hold the club in your hands to [beacon ? "teleport with it":"detach the beacon"]!"
return
- if(!beacon)
+ if(!beacon || QDELETED(beacon))
if(isturf(user.loc))
user.visible_message("[user] starts fiddling with [src]'s pommel...", \
"You start detaching the hierophant beacon...")
timer = world.time + 51
- addtimer(CALLBACK(src, .proc/prepare_icon_update), 0)
+ INVOKE_ASYNC(src, .proc/prepare_icon_update)
if(do_after(user, 50, target = user) && !beacon)
var/turf/T = get_turf(user)
playsound(T,'sound/magic/Blind.ogg', 200, 1, -4)
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/teleport, list(T, user))
+ new /obj/effect/overlay/temp/hierophant/telegraph/teleport(T, user)
beacon = new/obj/effect/hierophant(T)
user.update_action_buttons_icon()
user.visible_message("[user] places a strange machine beneath [user.p_their()] feet!", \
@@ -866,7 +870,7 @@
You can remove the beacon to place it again by striking it with the club.")
else
timer = world.time
- addtimer(CALLBACK(src, .proc/prepare_icon_update), 0)
+ INVOKE_ASYNC(src, .proc/prepare_icon_update)
else
user << "You need to be on solid ground to detach the beacon!"
return
@@ -883,10 +887,10 @@
user.update_action_buttons_icon()
user.visible_message("[user] starts to glow faintly...")
timer = world.time + 50
- addtimer(CALLBACK(src, .proc/prepare_icon_update), 0)
+ INVOKE_ASYNC(src, .proc/prepare_icon_update)
beacon.icon_state = "hierophant_tele_on"
- var/obj/effect/overlay/temp/hierophant/telegraph/edge/TE1 = PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/edge, user.loc)
- var/obj/effect/overlay/temp/hierophant/telegraph/edge/TE2 = PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/edge, beacon.loc)
+ var/obj/effect/overlay/temp/hierophant/telegraph/edge/TE1 = new /obj/effect/overlay/temp/hierophant/telegraph/edge(user.loc)
+ var/obj/effect/overlay/temp/hierophant/telegraph/edge/TE2 = new /obj/effect/overlay/temp/hierophant/telegraph/edge(beacon.loc)
if(do_after(user, 40, target = user) && user && beacon)
var/turf/T = get_turf(beacon)
var/turf/source = get_turf(user)
@@ -895,19 +899,19 @@
user << "The beacon is blocked by something, preventing teleportation!"
user.update_action_buttons_icon()
timer = world.time
- addtimer(CALLBACK(src, .proc/prepare_icon_update), 0)
+ INVOKE_ASYNC(src, .proc/prepare_icon_update)
beacon.icon_state = "hierophant_tele_off"
return
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph, list(T, user))
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph, list(source, user))
+ new /obj/effect/overlay/temp/hierophant/telegraph(T, user)
+ new /obj/effect/overlay/temp/hierophant/telegraph(source, user)
playsound(T,'sound/magic/Wand_Teleport.ogg', 200, 1)
playsound(source,'sound/machines/AirlockOpen.ogg', 200, 1)
- if(!do_after(user, 3, target = user) || !user || !beacon) //no walking away shitlord
+ if(!do_after(user, 3, target = user) || !user || !beacon || QDELETED(beacon)) //no walking away shitlord
teleporting = FALSE
if(user)
user.update_action_buttons_icon()
timer = world.time
- addtimer(CALLBACK(src, .proc/prepare_icon_update), 0)
+ INVOKE_ASYNC(src, .proc/prepare_icon_update)
if(beacon)
beacon.icon_state = "hierophant_tele_off"
return
@@ -916,20 +920,20 @@
user << "The beacon is blocked by something, preventing teleportation!"
user.update_action_buttons_icon()
timer = world.time
- addtimer(CALLBACK(src, .proc/prepare_icon_update), 0)
+ INVOKE_ASYNC(src, .proc/prepare_icon_update)
beacon.icon_state = "hierophant_tele_off"
return
add_logs(user, beacon, "teleported self from ([source.x],[source.y],[source.z]) to")
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/teleport, list(T, user))
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/teleport, list(source, user))
+ new /obj/effect/overlay/temp/hierophant/telegraph/teleport(T, user)
+ new /obj/effect/overlay/temp/hierophant/telegraph/teleport(source, user)
for(var/t in RANGE_TURFS(1, T))
- var/obj/effect/overlay/temp/hierophant/blast/B = PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(t, user, TRUE)) //blasts produced will not hurt allies
+ var/obj/effect/overlay/temp/hierophant/blast/B = new /obj/effect/overlay/temp/hierophant/blast(t, user, TRUE) //blasts produced will not hurt allies
B.damage = 30
for(var/t in RANGE_TURFS(1, source))
- var/obj/effect/overlay/temp/hierophant/blast/B = PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(t, user, TRUE)) //but absolutely will hurt enemies
+ var/obj/effect/overlay/temp/hierophant/blast/B = new /obj/effect/overlay/temp/hierophant/blast(t, user, TRUE) //but absolutely will hurt enemies
B.damage = 30
for(var/mob/living/L in range(1, source))
- addtimer(CALLBACK(src, .proc/teleport_mob, source, L, T, user), 0) //regardless, take all mobs near us along
+ INVOKE_ASYNC(src, .proc/teleport_mob, source, L, T, user) //regardless, take all mobs near us along
sleep(6) //at this point the blasts detonate
if(beacon)
beacon.icon_state = "hierophant_tele_off"
@@ -937,7 +941,7 @@
qdel(TE1)
qdel(TE2)
timer = world.time
- addtimer(CALLBACK(src, .proc/prepare_icon_update), 0)
+ INVOKE_ASYNC(src, .proc/prepare_icon_update)
if(beacon)
beacon.icon_state = "hierophant_tele_off"
teleporting = FALSE
@@ -971,12 +975,12 @@
/obj/item/weapon/hierophant_club/proc/cardinal_blasts(turf/T, mob/living/user) //fire cardinal cross blasts with a delay
if(!T)
return
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/cardinal, list(T, user))
+ new /obj/effect/overlay/temp/hierophant/telegraph/cardinal(T, user)
playsound(T,'sound/effects/bin_close.ogg', 200, 1)
sleep(2)
- PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(T, user, friendly_fire_check))
+ new /obj/effect/overlay/temp/hierophant/blast(T, user, friendly_fire_check)
for(var/d in cardinal)
- addtimer(CALLBACK(src, .proc/blast_wall, T, d, user), 0)
+ INVOKE_ASYNC(src, .proc/blast_wall, T, d, user)
/obj/item/weapon/hierophant_club/proc/blast_wall(turf/T, dir, mob/living/user) //make a wall of blasts blast_range tiles long
if(!T)
@@ -987,15 +991,15 @@
for(var/i in 1 to range)
if(!J)
return
- PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(J, user, friendly_fire_check))
+ new /obj/effect/overlay/temp/hierophant/blast(J, user, friendly_fire_check)
previousturf = J
J = get_step(previousturf, dir)
/obj/item/weapon/hierophant_club/proc/aoe_burst(turf/T, mob/living/user) //make a 3x3 blast around a target
if(!T)
return
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph, list(T, user))
+ new /obj/effect/overlay/temp/hierophant/telegraph(T, user)
playsound(T,'sound/effects/bin_close.ogg', 200, 1)
sleep(2)
for(var/t in RANGE_TURFS(1, T))
- PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(t, user, friendly_fire_check))
+ new /obj/effect/overlay/temp/hierophant/blast(t, user, friendly_fire_check)
diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm
index 5494cbb2eae..df703a94dcd 100644
--- a/code/modules/mining/machine_vending.dm
+++ b/code/modules/mining/machine_vending.dm
@@ -9,8 +9,6 @@
anchored = 1
var/obj/item/weapon/card/id/inserted_id
var/list/prize_list = list( //if you add something to this, please, for the love of god, use tabs and not spaces.
- new /datum/data/mining_equipment("Stimpack", /obj/item/weapon/reagent_containers/hypospray/medipen/stimpack, 50),
- new /datum/data/mining_equipment("Stimpack Bundle", /obj/item/weapon/storage/box/medipens/utility, 200),
new /datum/data/mining_equipment("Whiskey", /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, 100),
new /datum/data/mining_equipment("Absinthe", /obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe/premium,100),
new /datum/data/mining_equipment("Cigar", /obj/item/clothing/mask/cigarette/cigar/havana, 150),
@@ -169,7 +167,7 @@
var/items = list("Survival Capsule and Explorer's Webbing", "Resonator and Advanced Scanner", "Mining Drone", "Extraction and Rescue Kit", "Crusher Kit", "Mining Conscription Kit")
var/selection = input(redeemer, "Pick your equipment", "Mining Voucher Redemption") as null|anything in items
- if(!selection || !Adjacent(redeemer) || qdeleted(voucher) || voucher.loc != redeemer)
+ if(!selection || !Adjacent(redeemer) || QDELETED(voucher) || voucher.loc != redeemer)
return
switch(selection)
if("Survival Capsule and Explorer's Webbing")
@@ -180,6 +178,7 @@
if("Mining Drone")
new /mob/living/simple_animal/hostile/mining_drone(src.loc)
new /obj/item/weapon/weldingtool/hugetank(src.loc)
+ new /obj/item/clothing/glasses/welding(src.loc)
if("Extraction and Rescue Kit")
new /obj/item/weapon/extraction_pack(loc)
new /obj/item/fulton_core(loc)
@@ -293,4 +292,4 @@
new /obj/item/clothing/suit/hooded/explorer(src)
new /obj/item/device/encryptionkey/headset_cargo(src)
new /obj/item/clothing/mask/gas/explorer(src)
- new /obj/item/weapon/card/mining_access_card(src)
\ No newline at end of file
+ new /obj/item/weapon/card/mining_access_card(src)
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index 649eb48d480..101893dfae0 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -200,11 +200,9 @@
if(istype(W,/obj/item/weapon/ore/glass))
user << "You fill the sandbag."
var/obj/item/stack/sheet/mineral/sandbags/I = new /obj/item/stack/sheet/mineral/sandbags
- user.unEquip(src)
+ qdel(src)
user.put_in_hands(I)
qdel(W)
- qdel(src)
- return
else
return ..()
@@ -285,7 +283,7 @@
message_admins("[key_name_admin(usr)] (?) (FLW) activated a bluespace capsule away from the mining level! (JMP)")
log_admin("[key_name(usr)] activated a bluespace capsule away from the mining level at [T.x], [T.y], [T.z]")
template.load(deploy_location, centered = TRUE)
- PoolOrNew(/obj/effect/particle_effect/smoke, get_turf(src))
+ new /obj/effect/particle_effect/smoke(get_turf(src))
qdel(src)
diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm
index b095e5a3897..58aff475668 100644
--- a/code/modules/mining/minebot.dm
+++ b/code/modules/mining/minebot.dm
@@ -75,8 +75,9 @@
if(maxHealth == health)
user << "[src] is at full integrity."
else
- adjustBruteLoss(-10)
- user << "You repair some of the armor on [src]."
+ if(W.remove_fuel(0, user))
+ adjustBruteLoss(-10)
+ user << "You repair some of the armor on [src]."
return
if(istype(I, /obj/item/device/mining_scanner) || istype(I, /obj/item/device/t_scanner/adv_mining_scanner))
user << "You instruct [src] to drop any collected ore."
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 8a4f2817873..c980f6a0f81 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -187,7 +187,7 @@ var/list/image/ghost_images_simple = list() //this is a list of all ghost images
if(facial_hair_style)
S = facial_hair_styles_list[facial_hair_style]
if(S)
- facial_hair_image = image("icon" = S.icon, "icon_state" = "[S.icon_state]_s", "layer" = -HAIR_LAYER)
+ facial_hair_image = image("icon" = S.icon, "icon_state" = "[S.icon_state]", "layer" = -HAIR_LAYER)
if(facial_hair_color)
facial_hair_image.color = "#" + facial_hair_color
facial_hair_image.alpha = 200
@@ -196,7 +196,7 @@ var/list/image/ghost_images_simple = list() //this is a list of all ghost images
if(hair_style)
S = hair_styles_list[hair_style]
if(S)
- hair_image = image("icon" = S.icon, "icon_state" = "[S.icon_state]_s", "layer" = -HAIR_LAYER)
+ hair_image = image("icon" = S.icon, "icon_state" = "[S.icon_state]", "layer" = -HAIR_LAYER)
if(hair_color)
hair_image.color = "#" + hair_color
hair_image.alpha = 200
@@ -323,6 +323,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(mind.current.key && copytext(mind.current.key,1,2)!="@") //makes sure we don't accidentally kick any clients
usr << "Another consciousness is in your body...It is resisting you."
return
+ client.view = world.view
SStgui.on_transfer(src, mind.current) // Transfer NanoUIs.
mind.current.key = key
return 1
@@ -446,6 +447,29 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
else
A << "This mob is not located in the game world."
+/mob/dead/observer/verb/change_view_range()
+ set category = "Ghost"
+ set name = "View Range"
+ set desc = "Change your view range."
+
+ var/max_view = client.prefs.unlock_content ? GHOST_MAX_VIEW_RANGE_MEMBER : GHOST_MAX_VIEW_RANGE_DEFAULT
+ if(client.view == world.view)
+ var/list/views = list()
+ for(var/i in 1 to max_view)
+ views |= i
+ var/new_view = input("Choose your new view", "Modify view range", 7) as null|anything in views
+ if(new_view)
+ client.view = Clamp(new_view, 1, max_view)
+ else
+ client.view = world.view
+
+/mob/dead/observer/verb/add_view_range(input as num)
+ set name = "Add View Range"
+ set hidden = TRUE
+ var/max_view = client.prefs.unlock_content ? GHOST_MAX_VIEW_RANGE_MEMBER : GHOST_MAX_VIEW_RANGE_DEFAULT
+ if(input)
+ client.view = Clamp(client.view + input, 1, max_view)
+
/mob/dead/observer/verb/boo()
set category = "Ghost"
set name = "Boo!"
diff --git a/code/modules/mob/interactive.dm b/code/modules/mob/interactive.dm
index 2d96883a554..77d669dbfaa 100644
--- a/code/modules/mob/interactive.dm
+++ b/code/modules/mob/interactive.dm
@@ -527,7 +527,7 @@
if(BP.can_be_inserted(I,0))
BP.handle_item_insertion(I,0)
else
- unEquip(I,TRUE)
+ dropItemToGround(I,TRUE)
update_hands = 1
/mob/living/carbon/human/interactive/proc/targetRange(towhere)
@@ -678,7 +678,7 @@
take_to_slot(C,1)
if(!equip_to_appropriate_slot(C))
var/obj/item/I = get_item_by_slot(C)
- unEquip(I)
+ dropItemToGround(I)
spawn(5)
equip_to_appropriate_slot(C)
update_hands = 1
diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm
index 7b17e260006..9ca2d1d0e48 100644
--- a/code/modules/mob/inventory.dm
+++ b/code/modules/mob/inventory.dm
@@ -236,14 +236,14 @@
if(!loc || !loc.allow_drop())
return
for(var/obj/item/I in held_items)
- unEquip(I)
+ dropItemToGround(I)
//Drops the item in our active hand.
/mob/proc/drop_item()
if(!loc || !loc.allow_drop())
return
var/obj/item/held = get_active_held_item()
- return unEquip(held)
+ return dropItemToGround(held)
//Here lie drop_from_inventory and before_item_take, already forgotten and not missed.
@@ -255,7 +255,27 @@
return FALSE
return TRUE
-/mob/proc/unEquip(obj/item/I, force) //Force overrides NODROP for things like wizarditis and admin undress.
+//The following functions are the same save for one small difference
+
+//for when you want the item to end up on the ground
+//will force move the item to the ground and call the turf's Entered
+/mob/proc/dropItemToGround(obj/item/I, force = FALSE)
+ return doUnEquip(I, force, loc, FALSE)
+
+//for when the item will be immediately placed in a loc other than the ground
+/mob/proc/transferItemToLoc(obj/item/I, newloc = null, force = FALSE)
+ return doUnEquip(I, force, newloc, FALSE)
+
+//visibly unequips I but it is NOT MOVED AND REMAINS IN SRC
+//item MUST BE FORCEMOVE'D OR QDEL'D
+/mob/proc/temporarilyRemoveItemFromInventory(obj/item/I, force = FALSE)
+ return doUnEquip(I, force, null, TRUE)
+
+//DO NOT CALL THIS PROC
+//use one of the above 2 helper procs
+//you may override it, but do not modify the args
+/mob/proc/doUnEquip(obj/item/I, force, newloc, no_move) //Force overrides NODROP for things like wizarditis and admin undress.
+ //Use no_move if the item is just gonna be immediately moved afterward
if(!I) //If there's nothing to drop, the drop is automatically succesfull. If(unEquip) should generally be used to check for NODROP.
return TRUE
@@ -272,18 +292,11 @@
I.layer = initial(I.layer)
I.plane = initial(I.plane)
I.appearance_flags &= ~NO_CLIENT_COLOR
- I.forceMove(loc)
+ if(!no_move && !(I.flags & DROPDEL)) //item may be moved/qdel'd immedietely, don't bother moving it
+ I.forceMove(newloc)
I.dropped(src)
return TRUE
-
-//Attemps to remove an object on a mob. Will not move it to another area or such, just removes from the mob.
-/mob/proc/remove_from_mob(var/obj/item/I)
- unEquip(I)
- I.screen_loc = null
- return TRUE
-
-
//Outdated but still in use apparently. This should at least be a human proc.
//Daily reminder to murder this - Remie.
/mob/living/proc/get_equipped_items()
@@ -385,7 +398,7 @@
/mob/proc/change_number_of_hands(amt)
if(amt < held_items.len)
for(var/i in held_items.len to amt step -1)
- unEquip(held_items[i])
+ dropItemToGround(held_items[i])
held_items.len = amt
if(hud_used)
diff --git a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm
index b8553642f12..3a601a8711c 100644
--- a/code/modules/mob/living/bloodcrawl.dm
+++ b/code/modules/mob/living/bloodcrawl.dm
@@ -19,9 +19,6 @@
/obj/effect/dummy/slaughter/singularity_act()
return
-/obj/effect/dummy/slaughter/Destroy()
- ..()
- return QDEL_HINT_PUTINPOOL
/mob/living/proc/phaseout(obj/effect/decal/cleanable/B)
@@ -53,7 +50,7 @@
playsound(get_turf(src), 'sound/magic/enter_blood.ogg', 100, 1, -1)
// Extinguish, unbuckle, stop being pulled, set our location into the
// dummy object
- var/obj/effect/dummy/slaughter/holder = PoolOrNew(/obj/effect/dummy/slaughter,mobloc)
+ var/obj/effect/dummy/slaughter/holder = new /obj/effect/dummy/slaughter(mobloc)
src.ExtinguishMob()
// Keep a reference to whatever we're pulling, because forceMove()
@@ -171,7 +168,6 @@
var/mob/living/carbon/C = src
for(var/obj/item/weapon/bloodcrawl/BC in C)
BC.flags = null
- C.unEquip(BC)
qdel(BC)
qdel(src.holder)
src.holder = null
diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm
index a7da9d3312d..ae0d8a618f5 100644
--- a/code/modules/mob/living/brain/MMI.dm
+++ b/code/modules/mob/living/brain/MMI.dm
@@ -37,10 +37,8 @@
..()
radio = new(src) //Spawns a radio inside the MMI.
radio.broadcasting = 0 //researching radio mmis turned the robofabs into radios because this didnt start as 0.
- if(config)
- laws.set_laws_config()
-/obj/item/device/mmi/initialize()
+/obj/item/device/mmi/Initialize()
..()
laws.set_laws_config()
@@ -55,7 +53,7 @@
user << "You aren't sure where this brain came from, but you're pretty sure it's a useless brain!"
return
- if(!user.unEquip(O))
+ if(!user.transferItemToLoc(O, src))
return
var/mob/living/brain/B = newbrain.brainmob
if(!B.key)
@@ -72,7 +70,6 @@
living_mob_list += brainmob
brainmob.reset_perspective()
- newbrain.loc = src //P-put your brain in it
brain = newbrain
name = "Man-Machine Interface: [brainmob.real_name]"
diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm
index f9b84a4abac..1ae8a422c02 100644
--- a/code/modules/mob/living/brain/brain_item.dm
+++ b/code/modules/mob/living/brain/brain_item.dm
@@ -11,7 +11,8 @@
origin_tech = "biotech=5"
attack_verb = list("attacked", "slapped", "whacked")
var/mob/living/brain/brainmob = null
- var/damaged_brain = 0 //whether the brain organ is damaged.
+ var/damaged_brain = FALSE //whether the brain organ is damaged.
+ var/decoy_override = FALSE //I apologize to the security players, and myself, who abused this, but this is going to go.
/obj/item/organ/brain/Insert(mob/living/carbon/C, special = 0)
..()
@@ -74,7 +75,10 @@
else
user << "This one seems particularly lifeless. Perhaps it will regain some of its luster later."
else
- user << "This one is completely devoid of life."
+ if(decoy_override)
+ user << "This one seems particularly lifeless. Perhaps it will regain some of its luster later."
+ else
+ user << "This one is completely devoid of life."
/obj/item/organ/brain/attack(mob/living/carbon/C, mob/user)
if(!istype(C))
diff --git a/code/modules/mob/living/brain/posibrain.dm b/code/modules/mob/living/brain/posibrain.dm
index 0615e7effb9..a812617eb7d 100644
--- a/code/modules/mob/living/brain/posibrain.dm
+++ b/code/modules/mob/living/brain/posibrain.dm
@@ -73,7 +73,7 @@ var/global/posibrain_notif_cooldown = 0
return
var/posi_ask = alert("Become a [name]? (Warning, You can no longer be cloned, and all past lives will be forgotten!)","Are you positive?","Yes","No")
- if(posi_ask == "No" || qdeleted(src))
+ if(posi_ask == "No" || QDELETED(src))
return
transfer_personality(user)
diff --git a/code/modules/mob/living/brain/say.dm b/code/modules/mob/living/brain/say.dm
index 0aeb312ee0f..ccbbea31b0e 100644
--- a/code/modules/mob/living/brain/say.dm
+++ b/code/modules/mob/living/brain/say.dm
@@ -20,4 +20,5 @@
return 0
/mob/living/brain/treat_message(message)
+ message = capitalize(message)
return message
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm
index e1cf5ade791..886d801449e 100644
--- a/code/modules/mob/living/carbon/alien/alien.dm
+++ b/code/modules/mob/living/carbon/alien/alien.dm
@@ -41,13 +41,13 @@
create_internal_organs()
- AddAbility(new/obj/effect/proc_holder/alien/nightvisiontoggle(null))
..()
/mob/living/carbon/alien/create_internal_organs()
internal_organs += new /obj/item/organ/brain/alien
internal_organs += new /obj/item/organ/alien/hivenode
internal_organs += new /obj/item/organ/tongue/alien
+ internal_organs += new /obj/item/organ/eyes/night_vision/alien
..()
/mob/living/carbon/alien/assess_threat() // beepsky won't hunt aliums
@@ -151,40 +151,5 @@ Des: Removes all infected images from the alien.
#undef HEAT_DAMAGE_LEVEL_2
#undef HEAT_DAMAGE_LEVEL_3
-
-/mob/living/carbon/alien/update_sight()
- if(!client)
- return
- if(stat == DEAD)
- sight |= SEE_TURFS
- sight |= SEE_MOBS
- sight |= SEE_OBJS
- see_in_dark = 8
- see_invisible = SEE_INVISIBLE_OBSERVER
- return
-
- sight = SEE_MOBS
- if(nightvision)
- see_in_dark = 8
- see_invisible = SEE_INVISIBLE_MINIMUM
- else
- see_in_dark = 4
- see_invisible = SEE_INVISIBLE_LIVING
-
- if(client.eye != src)
- var/atom/A = client.eye
- if(A.update_remote_sight(src)) //returns 1 if we override all other sight updates.
- return
-
- for(var/obj/item/organ/cyberimp/eyes/E in internal_organs)
- sight |= E.sight_flags
- if(E.dark_view)
- see_in_dark = max(see_in_dark, E.dark_view)
- if(E.see_invisible)
- see_invisible = min(see_invisible, E.see_invisible)
-
- if(see_override)
- see_invisible = see_override
-
/mob/living/carbon/alien/can_hold_items()
return has_fine_manipulation
diff --git a/code/modules/mob/living/carbon/alien/death.dm b/code/modules/mob/living/carbon/alien/death.dm
index 6211dc83493..9382dc392db 100644
--- a/code/modules/mob/living/carbon/alien/death.dm
+++ b/code/modules/mob/living/carbon/alien/death.dm
@@ -5,10 +5,10 @@
new /obj/effect/gibspawner/xenobodypartless(loc,viruses)
/mob/living/carbon/alien/gib_animation()
- PoolOrNew(/obj/effect/overlay/temp/gib_animation, list(loc, "gibbed-a"))
+ new /obj/effect/overlay/temp/gib_animation(loc, "gibbed-a")
/mob/living/carbon/alien/spawn_dust()
new /obj/effect/decal/remains/xeno(loc)
/mob/living/carbon/alien/dust_animation()
- PoolOrNew(/obj/effect/overlay/temp/dust_animation, list(loc, "dust-a"))
+ new /obj/effect/overlay/temp/dust_animation(loc, "dust-a")
diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
index 3c8a0cb0bc7..cb4020c98d7 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
@@ -63,7 +63,7 @@ Doesn't work on other aliens/AI.*/
/obj/effect/proc_holder/alien/plant/fire(mob/living/carbon/user)
if(locate(/obj/structure/alien/weeds/node) in get_turf(user))
- src << "There's already a weed node here."
+ user << "There's already a weed node here."
return 0
user.visible_message("[user] has planted some alien weeds!")
new/obj/structure/alien/weeds/node(user.loc)
@@ -286,26 +286,6 @@ Doesn't work on other aliens/AI.*/
user.visible_message("[user] hurls out the contents of their stomach!")
return
-/obj/effect/proc_holder/alien/nightvisiontoggle
- name = "Toggle Night Vision"
- desc = "Toggles Night Vision"
- plasma_cost = 0
- has_action = 0 // Has dedicated GUI button already
-
-/obj/effect/proc_holder/alien/nightvisiontoggle/fire(mob/living/carbon/alien/user)
- if(!user.nightvision)
- user.see_in_dark = 8
- user.see_invisible = SEE_INVISIBLE_MINIMUM
- user.nightvision = 1
- user.hud_used.nightvisionicon.icon_state = "nightvision1"
- else if(user.nightvision == 1)
- user.see_in_dark = 4
- user.see_invisible = 45
- user.nightvision = 0
- user.hud_used.nightvisionicon.icon_state = "nightvision0"
-
- return 1
-
/obj/effect/proc_holder/alien/sneak
name = "Sneak"
desc = "Blend into the shadows to stalk your prey."
diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm
index 5f0dbd5635e..14ef84f6bfd 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm
@@ -3,7 +3,7 @@
caste = "d"
maxHealth = 125
health = 125
- icon_state = "aliend_s"
+ icon_state = "aliend"
/mob/living/carbon/alien/humanoid/drone/New()
diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
index 8a52daeb80b..fcfe69619d4 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
@@ -3,7 +3,7 @@
caste = "h"
maxHealth = 125
health = 125
- icon_state = "alienh_s"
+ icon_state = "alienh"
var/obj/screen/leap_icon = null
/mob/living/carbon/alien/humanoid/hunter/create_internal_organs()
diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm
index dacd4ff7d4a..7183730c5e7 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm
@@ -3,7 +3,7 @@
caste = "s"
maxHealth = 150
health = 150
- icon_state = "aliens_s"
+ icon_state = "aliens"
/mob/living/carbon/alien/humanoid/sentinel/New()
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
index cd47ad3bc26..5ebb00e0092 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
@@ -1,8 +1,9 @@
/mob/living/carbon/alien/humanoid
name = "alien"
- icon_state = "alien_s"
+ icon_state = "alien"
pass_flags = PASSTABLE
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/xeno = 5, /obj/item/stack/sheet/animalhide/xeno = 1)
+ possible_a_intents = list(INTENT_HELP, INTENT_DISARM, INTENT_GRAB, INTENT_HARM)
limb_destroyer = 1
var/obj/item/r_store = null
var/obj/item/l_store = null
@@ -65,8 +66,8 @@
visible_message("[usr] tries to empty [src]'s pouches.", \
"[usr] tries to empty [src]'s pouches.")
if(do_mob(usr, src, POCKET_STRIP_DELAY * 0.5))
- unEquip(r_store)
- unEquip(l_store)
+ dropItemToGround(r_store)
+ dropItemToGround(l_store)
/mob/living/carbon/alien/humanoid/cuff_resist(obj/item/I)
playsound(src, 'sound/voice/hiss5.ogg', 40, 1, 1) //Alien roars when starting to break free
diff --git a/code/modules/mob/living/carbon/alien/humanoid/inventory.dm b/code/modules/mob/living/carbon/alien/humanoid/inventory.dm
index a085a66055d..1248861062c 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/inventory.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/inventory.dm
@@ -1,4 +1,4 @@
-/mob/living/carbon/alien/humanoid/unEquip(obj/item/I)
+/mob/living/carbon/alien/humanoid/doUnEquip(obj/item/I)
. = ..()
if(!. || !I)
return
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 8572e72c906..556d5ac7db7 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm
@@ -23,9 +23,9 @@
if(drooling)
add_overlay("alienspit_[caste]")
else
- icon_state = "alien[caste]_s"
+ icon_state = "alien[caste]"
if(drooling)
- add_overlay("alienspit_s")
+ add_overlay("alienspit")
if(leaping)
if(alt_icon == initial(alt_icon))
@@ -58,7 +58,7 @@
/mob/living/carbon/alien/humanoid/update_inv_handcuffed()
remove_overlay(HANDCUFF_LAYER)
- var/cuff_icon = "aliencuff_s"
+ var/cuff_icon = "aliencuff"
var/dmi_file = 'icons/mob/alien.dmi'
if(mob_size == MOB_SIZE_LARGE)
diff --git a/code/modules/mob/living/carbon/alien/larva/death.dm b/code/modules/mob/living/carbon/alien/larva/death.dm
index 3ebd1c0141b..16d2f534e08 100644
--- a/code/modules/mob/living/carbon/alien/larva/death.dm
+++ b/code/modules/mob/living/carbon/alien/larva/death.dm
@@ -13,10 +13,10 @@
new /obj/effect/gibspawner/larvabodypartless(loc,viruses)
/mob/living/carbon/alien/larva/gib_animation()
- PoolOrNew(/obj/effect/overlay/temp/gib_animation, list(loc, "gibbed-l"))
+ new /obj/effect/overlay/temp/gib_animation(loc, "gibbed-l")
/mob/living/carbon/alien/larva/spawn_dust()
new /obj/effect/decal/remains/xeno(loc)
/mob/living/carbon/alien/larva/dust_animation()
- PoolOrNew(/obj/effect/overlay/temp/dust_animation, list(loc, "dust-l"))
+ new /obj/effect/overlay/temp/dust_animation(loc, "dust-l")
diff --git a/code/modules/mob/living/carbon/alien/larva/inventory.dm b/code/modules/mob/living/carbon/alien/larva/inventory.dm
index 3cb46a54b2e..239d21e7f5d 100644
--- a/code/modules/mob/living/carbon/alien/larva/inventory.dm
+++ b/code/modules/mob/living/carbon/alien/larva/inventory.dm
@@ -1,3 +1,3 @@
//can't unequip since it can't equip anything
-/mob/living/carbon/alien/larva/unEquip(obj/item/W)
+/mob/living/carbon/alien/larva/doUnEquip(obj/item/W)
return
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/alien/organs.dm b/code/modules/mob/living/carbon/alien/organs.dm
index a148473f032..984e4111c0b 100644
--- a/code/modules/mob/living/carbon/alien/organs.dm
+++ b/code/modules/mob/living/carbon/alien/organs.dm
@@ -141,7 +141,7 @@
recent_queen_death = 1
owner.throw_alert("alien_noqueen", /obj/screen/alert/alien_vulnerable)
spawn(2400) //four minutes
- if(qdeleted(src)) //In case the node is deleted
+ if(QDELETED(src)) //In case the node is deleted
return
recent_queen_death = 0
if(!owner) //In case the xeno is butchered or subjected to surgery after death.
diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm
index 9098171b8bf..8c63836c783 100644
--- a/code/modules/mob/living/carbon/alien/special/facehugger.dm
+++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm
@@ -55,8 +55,8 @@ var/const/MAX_ACTIVE_TIME = 400
/obj/item/clothing/mask/facehugger/attack(mob/living/M, mob/user)
..()
- user.unEquip(src)
- Attach(M)
+ if(user.temporarilyRemoveItemFromInventory(src))
+ Attach(M)
/obj/item/clothing/mask/facehugger/examine(mob/user)
..()
@@ -157,7 +157,7 @@ var/const/MAX_ACTIVE_TIME = 400
if(W.flags & NODROP)
return FALSE
if(!istype(W,/obj/item/clothing/mask/facehugger))
- target.unEquip(W)
+ target.dropItemToGround(W)
target.visible_message("[src] tears [W] off of [target]'s face!", \
"[src] tears [W] off of [target]'s face!")
@@ -168,7 +168,7 @@ var/const/MAX_ACTIVE_TIME = 400
"[src] smashes against [H]'s [H.head]!")
Die()
return FALSE
- src.loc = target
+ forceMove(target)
target.equip_to_slot_if_possible(src, slot_wear_mask, 0, 1, 1)
// early returns and validity checks done: attach.
attached++
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index d26a721dbc8..4389028d5e2 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -157,7 +157,7 @@
else if(!(I.flags & (NODROP|ABSTRACT)))
thrown_thing = I
- unEquip(I)
+ dropItemToGround(I)
if(thrown_thing)
visible_message("[src] has thrown [thrown_thing].")
@@ -279,13 +279,20 @@
/mob/living/carbon/resist_restraints()
var/obj/item/I = null
+ var/type = 0
if(handcuffed)
I = handcuffed
+ type = 1
else if(legcuffed)
I = legcuffed
+ type = 2
if(I)
- changeNext_move(CLICK_CD_BREAKOUT)
- last_special = world.time + CLICK_CD_BREAKOUT
+ if(type == 1)
+ changeNext_move(CLICK_CD_BREAKOUT)
+ last_special = world.time + CLICK_CD_BREAKOUT
+ if(type == 2)
+ changeNext_move(CLICK_CD_RANGE)
+ last_special = world.time + CLICK_CD_RANGE
cuff_resist(I)
@@ -374,8 +381,7 @@
update_inv_legcuffed()
return
else
- unEquip(I)
- I.dropped()
+ dropItemToGround(I)
return
return TRUE
@@ -393,7 +399,7 @@
if(!I || (I.flags & (NODROP|ABSTRACT)))
return
- unEquip(I)
+ dropItemToGround(I)
var/modifier = 0
if(disabilities & CLUMSY)
@@ -523,21 +529,34 @@
see_invisible = SEE_INVISIBLE_OBSERVER
return
- see_invisible = initial(see_invisible)
- see_in_dark = initial(see_in_dark)
sight = initial(sight)
+ var/obj/item/organ/eyes/E = getorganslot("eye_sight")
+ if(!E)
+ update_tint()
+ else
+ see_invisible = E.see_invisible
+ see_in_dark = E.see_in_dark
+ sight |= E.sight_flags
if(client.eye != src)
var/atom/A = client.eye
if(A.update_remote_sight(src)) //returns 1 if we override all other sight updates.
return
- for(var/obj/item/organ/cyberimp/eyes/E in internal_organs)
- sight |= E.sight_flags
- if(E.dark_view)
- see_in_dark = max(see_in_dark,E.dark_view)
- if(E.see_invisible)
- see_invisible = min(see_invisible, E.see_invisible)
+ if(glasses)
+ var/obj/item/clothing/glasses/G = glasses
+ sight |= G.vision_flags
+ see_in_dark = max(G.darkness_view, see_in_dark)
+ if(G.invis_override)
+ see_invisible = G.invis_override
+ else
+ see_invisible = min(G.invis_view, see_invisible)
+ if(dna)
+ for(var/X in dna.mutations)
+ var/datum/mutation/M = X
+ if(M.name == XRAY)
+ sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS)
+ see_in_dark = max(see_in_dark, 8)
if(see_override)
see_invisible = see_override
@@ -563,6 +582,13 @@
if(wear_mask)
. += wear_mask.tint
+ var/obj/item/organ/eyes/E = getorganslot("eye_sight")
+ if(E)
+ . += E.tint
+
+ else
+ . += INFINITY
+
//this handles hud updates
/mob/living/carbon/update_damage_hud()
@@ -703,7 +729,7 @@
return 0
/mob/living/carbon/harvest(mob/living/user)
- if(qdeleted(src))
+ if(QDELETED(src))
return
var/organs_amt = 0
for(var/X in internal_organs)
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index d619d6f54bf..6985a1f9078 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -1,8 +1,12 @@
/mob/living/carbon/get_eye_protection()
var/number = ..()
- for(var/obj/item/organ/cyberimp/eyes/EFP in internal_organs)
- number += EFP.flash_protect
+
+ var/obj/item/organ/eyes/E = getorganslot("eye_sight")
+ if(!E)
+ number = INFINITY //Can't get flashed without eyes
+ else
+ number += E.flash_protect
return number
/mob/living/carbon/get_ear_protection()
@@ -165,6 +169,8 @@
..()
/mob/living/carbon/electrocute_act(shock_damage, obj/source, siemens_coeff = 1, safety = 0, override = 0, tesla_shock = 0, illusion = 0)
+ if(tesla_shock && tesla_ignore)
+ return FALSE
shock_damage *= siemens_coeff
if(dna && dna.species)
shock_damage *= dna.species.siemens_coeff
@@ -227,8 +233,6 @@
if(.) // we've been flashed
if(visual)
return
- if(weakeyes)
- Stun(2)
if (damage == 1)
src << "Your eyes sting a little."
diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm
index 40eec866a24..fb01950fa5e 100644
--- a/code/modules/mob/living/carbon/carbon_defines.dm
+++ b/code/modules/mob/living/carbon/carbon_defines.dm
@@ -1,6 +1,7 @@
/mob/living/carbon
gender = MALE
pressure_resistance = 15
+ possible_a_intents = list(INTENT_HELP, INTENT_HARM)
var/list/stomach_contents = list()
var/list/internal_organs = list() //List of /obj/item/organ in the mob. They don't go in the contents for some reason I don't want to know.
var/list/internal_organs_slot = list() //Same as above, but stores "slot ID" - "organ" pairs for easy access.
diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm
index d12da18b721..cd3c9a533ac 100644
--- a/code/modules/mob/living/carbon/human/death.dm
+++ b/code/modules/mob/living/carbon/human/death.dm
@@ -1,8 +1,8 @@
/mob/living/carbon/human/gib_animation()
- PoolOrNew(/obj/effect/overlay/temp/gib_animation, list(loc, "gibbed-h"))
+ new /obj/effect/overlay/temp/gib_animation(loc, "gibbed-h")
/mob/living/carbon/human/dust_animation()
- PoolOrNew(/obj/effect/overlay/temp/dust_animation, list(loc, "dust-h"))
+ new /obj/effect/overlay/temp/dust_animation(loc, "dust-h")
/mob/living/carbon/human/spawn_gibs(with_bodyparts)
if(with_bodyparts)
@@ -33,7 +33,7 @@
if(ticker && ticker.mode)
sql_report_death(src)
if(mind && mind.devilinfo)
- addtimer(CALLBACK(mind.devilinfo, /datum/devilinfo.proc/beginResurrectionCheck, src), 0)
+ INVOKE_ASYNC(mind.devilinfo, /datum/devilinfo.proc/beginResurrectionCheck, src)
/mob/living/carbon/human/proc/makeSkeleton()
status_flags |= DISFIGURED
diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm
index 5cc37923a72..c18f6721edc 100644
--- a/code/modules/mob/living/carbon/human/emote.dm
+++ b/code/modules/mob/living/carbon/human/emote.dm
@@ -166,3 +166,4 @@
dna.species.mutant_bodyparts |= "wings"
update_body()
+//Ayy lmao
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index 739568ddf65..52156cc29b3 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -229,7 +229,7 @@
if(bleedsuppress)
msg += "[t_He] [t_is] bandaged with something.\n"
- if(bleed_rate)
+ else if(bleed_rate)
if(reagents.has_reagent("heparin"))
msg += "[t_He] [t_is] bleeding uncontrollably!\n"
else
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 40ad2ba1d6e..0ff51c45cf7 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -3,7 +3,7 @@
real_name = "Unknown"
voice_name = "Unknown"
icon = 'icons/mob/human.dmi'
- icon_state = "caucasian_m_s"
+ icon_state = "caucasian_m"
@@ -47,6 +47,8 @@
internal_organs += new /obj/item/organ/lungs()
if(!(NOBLOOD in dna.species.species_traits))
internal_organs += new /obj/item/organ/heart
+
+ internal_organs += new dna.species.mutanteyes()
internal_organs += new /obj/item/organ/brain
..()
@@ -267,11 +269,13 @@
if(do_mob(usr, src, POCKET_STRIP_DELAY/delay_denominator)) //placing an item into the pocket is 4 times faster
if(pocket_item)
if(pocket_item == (pocket_id == slot_r_store ? r_store : l_store)) //item still in the pocket we search
- unEquip(pocket_item)
+ dropItemToGround(pocket_item)
else
if(place_item)
- usr.unEquip(place_item)
- equip_to_slot_if_possible(place_item, pocket_id, 0, 1)
+ if(place_item.mob_can_equip(src, usr, pocket_id, FALSE, TRUE))
+ usr.temporarilyRemoveItemFromInventory(place_item, TRUE)
+ equip_to_slot(place_item, pocket_id, TRUE)
+ //do nothing otherwise
// Update strip window
if(usr.machine == src && in_range(src, usr))
@@ -625,7 +629,7 @@
/mob/living/carbon/human/singularity_pull(S, current_size)
if(current_size >= STAGE_THREE)
for(var/obj/item/hand in held_items)
- if(prob(current_size * 5) && hand.w_class >= ((11-current_size)/2) && unEquip(hand))
+ if(prob(current_size * 5) && hand.w_class >= ((11-current_size)/2) && dropItemToGround(hand))
step_towards(hand, src)
src << "\The [S] pulls \the [hand] from your grip!"
rad_act(current_size * 3)
@@ -696,10 +700,10 @@
if(dna && dna.check_mutation(HULK))
say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
if(..(I, cuff_break = FAST_CUFFBREAK))
- unEquip(I)
+ dropItemToGround(I)
else
if(..())
- unEquip(I)
+ dropItemToGround(I)
/mob/living/carbon/human/clean_blood()
var/mob/living/carbon/human/H = src
@@ -762,17 +766,6 @@
if(R)
R.fields["name"] = newname
-/mob/living/carbon/human/update_sight()
- if(!client)
- return
- if(stat == DEAD)
- sight = (SEE_TURFS|SEE_MOBS|SEE_OBJS)
- see_in_dark = 8
- see_invisible = SEE_INVISIBLE_OBSERVER
- return
-
- dna.species.update_sight(src)
-
/mob/living/carbon/human/get_total_tint()
. = ..()
if(glasses)
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index bf1385acb8e..0b522fe68dd 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -448,6 +448,8 @@
if(S.siemens_coefficient <= 0)
total_coeff -= 0.95
siemens_coeff = total_coeff
+ if(tesla_ignore)
+ siemens_coeff = 0
else if(!safety)
var/gloves_siemens_coeff = 1
if(gloves)
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index abf9dffc00c..6bd8d9cef98 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -3,6 +3,7 @@ var/global/default_martial_art = new/datum/martial_art
languages_spoken = HUMAN
languages_understood = HUMAN
hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPLOYAL_HUD,IMPCHEM_HUD,IMPTRACK_HUD,ANTAG_HUD)
+ possible_a_intents = list(INTENT_HELP, INTENT_DISARM, INTENT_GRAB, INTENT_HARM)
pressure_resistance = 25
//Hair colour and style
var/hair_color = "000"
diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm
index 010a1d7c6a5..ba687c46487 100644
--- a/code/modules/mob/living/carbon/human/human_helpers.dm
+++ b/code/modules/mob/living/carbon/human/human_helpers.dm
@@ -145,7 +145,7 @@
src << "Your fingers don't fit in the trigger guard!"
return 0
- if(martial_art && martial_art.name == "The Sleeping Carp") //great dishonor to famiry
+ if(martial_art && martial_art.no_guns) //great dishonor to famiry
src << "Use of ranged weaponry would bring dishonor to the clan."
return 0
diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm
index 386fd2c0021..ed5828dfa4b 100644
--- a/code/modules/mob/living/carbon/human/human_movement.dm
+++ b/code/modules/mob/living/carbon/human/human_movement.dm
@@ -22,7 +22,7 @@
. = 1
/mob/living/carbon/human/mob_negates_gravity()
- return ((shoes && shoes.negates_gravity()) || dna.species.negates_gravity())
+ return ((shoes && shoes.negates_gravity()) || dna.species.negates_gravity(src))
/mob/living/carbon/human/Move(NewLoc, direct)
. = ..()
diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm
index 75ef76eb08e..66e3b28331d 100644
--- a/code/modules/mob/living/carbon/human/inventory.dm
+++ b/code/modules/mob/living/carbon/human/inventory.dm
@@ -141,14 +141,14 @@
return not_handled //For future deeper overrides
-/mob/living/carbon/human/unEquip(obj/item/I)
+/mob/living/carbon/human/doUnEquip(obj/item/I, force)
. = ..() //See mob.dm for an explanation on this and some rage about people copypasting instead of calling ..() like they should.
if(!. || !I)
return
if(I == wear_suit)
if(s_store)
- unEquip(s_store, 1) //It makes no sense for your suit storage to stay on you if you drop your suit.
+ dropItemToGround(s_store, TRUE) //It makes no sense for your suit storage to stay on you if you drop your suit.
if(wear_suit.breakouttime) //when unequipping a straightjacket
update_action_buttons_icon() //certain action buttons may be usable again.
wear_suit = null
@@ -157,13 +157,13 @@
update_inv_wear_suit()
else if(I == w_uniform)
if(r_store)
- unEquip(r_store, 1) //Again, makes sense for pockets to drop.
+ dropItemToGround(r_store, TRUE) //Again, makes sense for pockets to drop.
if(l_store)
- unEquip(l_store, 1)
+ dropItemToGround(l_store, TRUE)
if(wear_id)
- unEquip(wear_id)
+ dropItemToGround(wear_id)
if(belt)
- unEquip(belt)
+ dropItemToGround(belt)
w_uniform = null
update_suit_sensors()
update_inv_w_uniform()
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index e1fffbeef6f..239f657ba03 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -129,72 +129,9 @@
///FIRE CODE
/mob/living/carbon/human/handle_fire()
- if(!dna || !dna.species.handle_fire(src))
- ..()
- if(on_fire)
-
- //the fire tries to damage the exposed clothes and items
- var/list/burning_items = list()
- //HEAD//
- var/obj/item/clothing/head_clothes = null
- if(glasses)
- head_clothes = glasses
- if(wear_mask)
- head_clothes = wear_mask
- if(wear_neck)
- head_clothes = wear_neck
- if(head)
- head_clothes = head
- if(head_clothes)
- burning_items += head_clothes
- else if(ears)
- burning_items += ears
-
- //CHEST//
- var/obj/item/clothing/chest_clothes = null
- if(w_uniform)
- chest_clothes = w_uniform
- if(wear_suit)
- chest_clothes = wear_suit
-
- if(chest_clothes)
- burning_items += chest_clothes
-
- //ARMS & HANDS//
- var/obj/item/clothing/arm_clothes = null
- if(gloves)
- arm_clothes = gloves
- if(w_uniform && ((w_uniform.body_parts_covered & HANDS) || (w_uniform.body_parts_covered & ARMS)))
- arm_clothes = w_uniform
- if(wear_suit && ((wear_suit.body_parts_covered & HANDS) || (wear_suit.body_parts_covered & ARMS)))
- arm_clothes = wear_suit
- if(arm_clothes)
- burning_items += arm_clothes
-
- //LEGS & FEET//
- var/obj/item/clothing/leg_clothes = null
- if(shoes)
- leg_clothes = shoes
- if(w_uniform && ((w_uniform.body_parts_covered & FEET) || (w_uniform.body_parts_covered & LEGS)))
- leg_clothes = w_uniform
- if(wear_suit && ((wear_suit.body_parts_covered & FEET) || (wear_suit.body_parts_covered & LEGS)))
- leg_clothes = wear_suit
- if(leg_clothes)
- burning_items += leg_clothes
-
- for(var/X in burning_items)
- var/obj/item/I = X
- if(!(I.resistance_flags & FIRE_PROOF))
- I.take_damage(fire_stacks, BURN, "fire", 0)
-
- var/thermal_protection = get_thermal_protection()
-
- if(thermal_protection >= FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT)
- return
- if(thermal_protection >= FIRE_SUIT_MAX_TEMP_PROTECT)
- bodytemperature += 11
- else
- bodytemperature += (BODYTEMP_HEATING_MAX + (fire_stacks * 12))
+ ..()
+ if(dna)
+ dna.species.handle_fire(src)
/mob/living/carbon/human/proc/get_thermal_protection()
var/thermal_protection = 0 //Simple check to estimate how protected we are against multiple temperatures
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index f77769ea4e8..f63af6f79f9 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -16,7 +16,6 @@
var/roundstart = 0 // can this mob be chosen at roundstart? (assuming the config option is checked?)
var/default_color = "#FFF" // if alien colors are disabled, this is the color that will be used by that race
- var/eyes = "eyes" // which eyes the race uses. at the moment, the only types of eyes are "eyes" (regular eyes) and "jelleyes" (three eyes)
var/sexes = 1 // whether or not the race has sexual characteristics. at the moment this is only 0 for skeletons and shadows
var/hair_color = null // this allows races to have specific hair colors... if null, it uses the H's hair/facial hair colors. if "mutcolor", it uses the H's mutant_color
var/hair_alpha = 255 // the alpha used by the hair. 255 is completely solid, 0 is transparent.
@@ -47,9 +46,6 @@
var/damage_overlay_type = "human" //what kind of damage overlays (if any) appear on our species when wounded?
var/fixed_mut_color = "" //to use MUTCOLOR with a fixed color that's independent of dna.feature["mcolor"]
- var/invis_sight = SEE_INVISIBLE_LIVING
- var/darksight = 2
-
// species flags. these can be found in flags.dm
var/list/species_traits = list()
@@ -65,6 +61,9 @@
//Flight and floating
var/override_float = 0
+
+ //Eyes
+ var/obj/item/organ/eyes/mutanteyes = /obj/item/organ/eyes
///////////
// PROCS //
///////////
@@ -106,7 +105,7 @@
for(var/slot_id in no_equip)
var/obj/item/thing = C.get_item_by_slot(slot_id)
if(thing && (!thing.species_exception || !is_type_in_list(src,thing.species_exception)))
- C.unEquip(thing)
+ C.dropItemToGround(thing)
var/obj/item/organ/heart/heart = C.getorganslot("heart")
var/obj/item/organ/lungs/lungs = C.getorganslot("lungs")
@@ -180,22 +179,22 @@
if(H.facial_hair_style && (FACEHAIR in species_traits) && !facialhair_hidden)
S = facial_hair_styles_list[H.facial_hair_style]
if(S)
- var/image/img_facial_s = image("icon" = S.icon, "icon_state" = "[S.icon_state]_s", "layer" = -HAIR_LAYER)
+ var/image/img_facial = image("icon" = S.icon, "icon_state" = "[S.icon_state]", "layer" = -HAIR_LAYER)
if(!forced_colour)
if(hair_color)
if(hair_color == "mutcolor")
- img_facial_s.color = "#" + H.dna.features["mcolor"]
+ img_facial.color = "#" + H.dna.features["mcolor"]
else
- img_facial_s.color = "#" + hair_color
+ img_facial.color = "#" + hair_color
else
- img_facial_s.color = "#" + H.facial_hair_color
+ img_facial.color = "#" + H.facial_hair_color
else
- img_facial_s.color = forced_colour
+ img_facial.color = forced_colour
- img_facial_s.alpha = hair_alpha
+ img_facial.alpha = hair_alpha
- standing += img_facial_s
+ standing += img_facial
//we check if our hat or helmet hides our hair.
if(H.head)
@@ -209,28 +208,26 @@
if(!hair_hidden)
if(!H.getorgan(/obj/item/organ/brain)) //Applies the debrained overlay if there is no brain
if(!(NOBLOOD in species_traits))
- standing += image("icon"='icons/mob/human_face.dmi', "icon_state" = "debrained_s", "layer" = -HAIR_LAYER)
+ standing += image("icon"='icons/mob/human_face.dmi', "icon_state" = "debrained", "layer" = -HAIR_LAYER)
else if(H.hair_style && (HAIR in species_traits))
S = hair_styles_list[H.hair_style]
if(S)
- var/image/img_hair_s = image("icon" = S.icon, "icon_state" = "[S.icon_state]_s", "layer" = -HAIR_LAYER)
-
- img_hair_s = image("icon" = S.icon, "icon_state" = "[S.icon_state]_s", "layer" = -HAIR_LAYER)
+ var/image/img_hair = image("icon" = S.icon, "icon_state" = "[S.icon_state]", "layer" = -HAIR_LAYER)
if(!forced_colour)
if(hair_color)
if(hair_color == "mutcolor")
- img_hair_s.color = "#" + H.dna.features["mcolor"]
+ img_hair.color = "#" + H.dna.features["mcolor"]
else
- img_hair_s.color = "#" + hair_color
+ img_hair.color = "#" + hair_color
else
- img_hair_s.color = "#" + H.hair_color
+ img_hair.color = "#" + H.hair_color
else
- img_hair_s.color = forced_colour
- img_hair_s.alpha = hair_alpha
+ img_hair.color = forced_colour
+ img_hair.alpha = hair_alpha
- standing += img_hair_s
+ standing += img_hair
if(standing.len)
H.overlays_standing[HAIR_LAYER] = standing
@@ -244,37 +241,45 @@
var/obj/item/bodypart/head/HD = H.get_bodypart("head")
+
+ // eyes
+ var/has_eyes = TRUE
+
+ if(!H.getorgan(/obj/item/organ/eyes) && HD)
+ standing += image("icon"='icons/mob/human_face.dmi', "icon_state" = "eyes_missing", "layer" = -BODY_LAYER)
+ has_eyes = FALSE
+
if(!(H.disabilities & HUSK))
// lipstick
if(H.lip_style && (LIPS in species_traits) && HD)
- var/image/lips = image("icon"='icons/mob/human_face.dmi', "icon_state"="lips_[H.lip_style]_s", "layer" = -BODY_LAYER)
+ var/image/lips = image("icon"='icons/mob/human_face.dmi', "icon_state"="lips_[H.lip_style]", "layer" = -BODY_LAYER)
lips.color = H.lip_color
standing += lips
// eyes
- if((EYECOLOR in species_traits) && HD)
- var/image/img_eyes_s = image("icon" = 'icons/mob/human_face.dmi', "icon_state" = "[eyes]_s", "layer" = -BODY_LAYER)
- img_eyes_s.color = "#" + H.eye_color
- standing += img_eyes_s
+ if((EYECOLOR in species_traits) && HD && has_eyes)
+ var/image/img_eyes = image("icon" = 'icons/mob/human_face.dmi', "icon_state" = "eyes", "layer" = -BODY_LAYER)
+ img_eyes.color = "#" + H.eye_color
+ standing += img_eyes
//Underwear, Undershirts & Socks
if(H.underwear)
- var/datum/sprite_accessory/underwear/U = underwear_list[H.underwear]
- if(U)
- standing += image("icon"=U.icon, "icon_state"="[U.icon_state]_s", "layer"=-BODY_LAYER)
+ var/datum/sprite_accessory/underwear/underwear = underwear_list[H.underwear]
+ if(underwear)
+ standing += image("icon"=underwear.icon, "icon_state"="[underwear.icon_state]", "layer"=-BODY_LAYER)
if(H.undershirt)
- var/datum/sprite_accessory/undershirt/U2 = undershirt_list[H.undershirt]
- if(U2)
+ var/datum/sprite_accessory/undershirt/undershirt = undershirt_list[H.undershirt]
+ if(undershirt)
if(H.dna.species.sexes && H.gender == FEMALE)
- standing += wear_female_version("[U2.icon_state]_s", U2.icon, BODY_LAYER)
+ standing += wear_female_version("[undershirt.icon_state]", undershirt.icon, BODY_LAYER)
else
- standing += image("icon"=U2.icon, "icon_state"="[U2.icon_state]_s", "layer"=-BODY_LAYER)
+ standing += image("icon"=undershirt.icon, "icon_state"="[undershirt.icon_state]", "layer"=-BODY_LAYER)
if(H.socks && H.get_num_legs() >= 2 && !(DIGITIGRADE in species_traits))
- var/datum/sprite_accessory/socks/U3 = socks_list[H.socks]
- if(U3)
- standing += image("icon"=U3.icon, "icon_state"="[U3.icon_state]_s", "layer"=-BODY_LAYER)
+ var/datum/sprite_accessory/socks/socks = socks_list[H.socks]
+ if(socks)
+ standing += image("icon"=socks.icon, "icon_state"="[socks.icon_state]", "layer"=-BODY_LAYER)
if(standing.len)
H.overlays_standing[BODY_LAYER] = standing
@@ -700,7 +705,7 @@
/datum/species/proc/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H)
if(chem.id == exotic_blood)
H.blood_volume = min(H.blood_volume + round(chem.volume, 0.1), BLOOD_VOLUME_MAXIMUM)
- H.reagents.remove_reagent(chem.id)
+ H.reagents.del_reagent(chem.id)
return 1
return 0
@@ -782,42 +787,6 @@
else
H.throw_alert("nutrition", /obj/screen/alert/starving)
-
-/datum/species/proc/update_sight(mob/living/carbon/human/H)
- H.sight = initial(H.sight)
- H.see_in_dark = darksight
- H.see_invisible = invis_sight
-
- if(H.client.eye != H)
- var/atom/A = H.client.eye
- if(A.update_remote_sight(H)) //returns 1 if we override all other sight updates.
- return
-
- for(var/obj/item/organ/cyberimp/eyes/E in H.internal_organs)
- H.sight |= E.sight_flags
- if(E.dark_view)
- H.see_in_dark = E.dark_view
- if(E.see_invisible)
- H.see_invisible = min(H.see_invisible, E.see_invisible)
-
- if(H.glasses)
- var/obj/item/clothing/glasses/G = H.glasses
- H.sight |= G.vision_flags
- H.see_in_dark = max(G.darkness_view, H.see_in_dark)
- if(G.invis_override)
- H.see_invisible = G.invis_override
- else
- H.see_invisible = min(G.invis_view, H.see_invisible)
-
- for(var/X in H.dna.mutations)
- var/datum/mutation/M = X
- if(M.name == XRAY)
- H.sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS)
- H.see_in_dark = max(H.see_in_dark, 8)
-
- if(H.see_override) //Override all
- H.see_invisible = H.see_override
-
/datum/species/proc/update_health_hud(mob/living/carbon/human/H)
return 0
@@ -1335,9 +1304,72 @@
// FIRE //
//////////
-/datum/species/proc/handle_fire(mob/living/carbon/human/H)
+/datum/species/proc/handle_fire(mob/living/carbon/human/H, no_protection = FALSE)
if(NOFIRE in species_traits)
- return 1
+ return
+ if(H.on_fire)
+ //the fire tries to damage the exposed clothes and items
+ var/list/burning_items = list()
+ //HEAD//
+ var/obj/item/clothing/head_clothes = null
+ if(H.glasses)
+ head_clothes = H.glasses
+ if(H.wear_mask)
+ head_clothes = H.wear_mask
+ if(H.wear_neck)
+ head_clothes = H.wear_neck
+ if(H.head)
+ head_clothes = H.head
+ if(head_clothes)
+ burning_items += head_clothes
+ else if(H.ears)
+ burning_items += H.ears
+
+ //CHEST//
+ var/obj/item/clothing/chest_clothes = null
+ if(H.w_uniform)
+ chest_clothes = H.w_uniform
+ if(H.wear_suit)
+ chest_clothes = H.wear_suit
+
+ if(chest_clothes)
+ burning_items += chest_clothes
+
+ //ARMS & HANDS//
+ var/obj/item/clothing/arm_clothes = null
+ if(H.gloves)
+ arm_clothes = H.gloves
+ if(H.w_uniform && ((H.w_uniform.body_parts_covered & HANDS) || (H.w_uniform.body_parts_covered & ARMS)))
+ arm_clothes = H.w_uniform
+ if(H.wear_suit && ((H.wear_suit.body_parts_covered & HANDS) || (H.wear_suit.body_parts_covered & ARMS)))
+ arm_clothes = H.wear_suit
+ if(arm_clothes)
+ burning_items += arm_clothes
+
+ //LEGS & FEET//
+ var/obj/item/clothing/leg_clothes = null
+ if(H.shoes)
+ leg_clothes = H.shoes
+ if(H.w_uniform && ((H.w_uniform.body_parts_covered & FEET) || (H.w_uniform.body_parts_covered & LEGS)))
+ leg_clothes = H.w_uniform
+ if(H.wear_suit && ((H.wear_suit.body_parts_covered & FEET) || (H.wear_suit.body_parts_covered & LEGS)))
+ leg_clothes = H.wear_suit
+ if(leg_clothes)
+ burning_items += leg_clothes
+
+ for(var/X in burning_items)
+ var/obj/item/I = X
+ if(!(I.resistance_flags & FIRE_PROOF))
+ I.take_damage(H.fire_stacks, BURN, "fire", 0)
+
+ var/thermal_protection = H.get_thermal_protection()
+
+ if(thermal_protection >= FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT && !no_protection)
+ return
+ if(thermal_protection >= FIRE_SUIT_MAX_TEMP_PROTECT && !no_protection)
+ H.bodytemperature += 11
+ else
+ H.bodytemperature += (BODYTEMP_HEATING_MAX + (H.fire_stacks * 12))
/datum/species/proc/CanIgniteMob(mob/living/carbon/human/H)
if(NOFIRE in species_traits)
diff --git a/code/modules/mob/living/carbon/human/species_types/abductors.dm b/code/modules/mob/living/carbon/human/species_types/abductors.dm
index 3ad0a9bf6c4..750c88fd881 100644
--- a/code/modules/mob/living/carbon/human/species_types/abductors.dm
+++ b/code/modules/mob/living/carbon/human/species_types/abductors.dm
@@ -1,7 +1,6 @@
/datum/species/abductor
name = "Abductor"
id = "abductor"
- darksight = 3
say_mod = "gibbers"
sexes = 0
species_traits = list(NOBLOOD,NOBREATH,VIRUSIMMUNE,NOGUNS)
diff --git a/code/modules/mob/living/carbon/human/species_types/android.dm b/code/modules/mob/living/carbon/human/species_types/android.dm
index 13c1a5b6556..9df1fa47fec 100644
--- a/code/modules/mob/living/carbon/human/species_types/android.dm
+++ b/code/modules/mob/living/carbon/human/species_types/android.dm
@@ -5,6 +5,7 @@
species_traits = list(NOBREATH,RESISTHOT,RESISTCOLD,RESISTPRESSURE,NOFIRE,NOBLOOD,VIRUSIMMUNE,PIERCEIMMUNE,NOHUNGER,EASYLIMBATTACHMENT)
meat = null
damage_overlay_type = "synth"
+ mutant_organs = list(/obj/item/organ/tongue/robot)
limbs_id = "synth"
/datum/species/android/on_species_gain(mob/living/carbon/C)
diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm
index 5083098c045..c91b7e370ba 100644
--- a/code/modules/mob/living/carbon/human/species_types/golems.dm
+++ b/code/modules/mob/living/carbon/human/species_types/golems.dm
@@ -236,7 +236,7 @@
/datum/species/golem/sand/spec_death(gibbed, mob/living/carbon/human/H)
H.visible_message("[H] turns into a pile of sand!")
for(var/obj/item/W in H)
- H.unEquip(W)
+ H.dropItemToGround(W)
for(var/i=1, i <= rand(3,5), i++)
new /obj/item/weapon/ore/glass(get_turf(H))
qdel(H)
@@ -266,7 +266,7 @@
playsound(H, "shatter", 70, 1)
H.visible_message("[H] shatters!")
for(var/obj/item/W in H)
- H.unEquip(W)
+ H.dropItemToGround(W)
for(var/i=1, i <= rand(3,5), i++)
new /obj/item/weapon/shard(get_turf(H))
qdel(H)
@@ -308,7 +308,7 @@
/datum/species/golem/bluespace/proc/reactive_teleport(mob/living/carbon/human/H)
H.visible_message("[H] teleports!", "You destabilize and teleport!")
- PoolOrNew(/obj/effect/particle_effect/sparks, get_turf(H))
+ new /obj/effect/particle_effect/sparks(get_turf(H))
playsound(get_turf(H), "sparks", 50, 1)
do_teleport(H, get_turf(H), 6, asoundin = 'sound/weapons/emitter2.ogg')
last_teleport = world.time
diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
index fc3a29b3fb3..1a202279334 100644
--- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
@@ -4,7 +4,6 @@
id = "jelly"
default_color = "00FF90"
say_mod = "chirps"
- eyes = "jelleyes"
species_traits = list(MUTCOLORS,EYECOLOR,NOBLOOD,VIRUSIMMUNE,TOXINLOVER)
meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/slime
exotic_blood = "slimejelly"
@@ -99,10 +98,8 @@
name = "Slimeperson"
id = "slime"
default_color = "00FFFF"
- darksight = 3
species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD,VIRUSIMMUNE, TOXINLOVER)
say_mod = "says"
- eyes = "eyes"
hair_color = "mutcolor"
hair_alpha = 150
ignored_by = list(/mob/living/simple_animal/slime)
@@ -248,10 +245,10 @@
var/list/data = list()
data["bodies"] = list()
for(var/b in SS.bodies)
- if(!b || qdeleted(b) || !isslimeperson(b))
+ var/mob/living/carbon/human/body = b
+ if(!body || QDELETED(body) || !isslimeperson(body))
SS.bodies -= b
continue
- var/mob/living/carbon/human/body = b
var/list/L = list()
// HTML colors need a # prefix
@@ -311,7 +308,7 @@
var/mob/living/carbon/human/selected = locate(params["ref"])
if(!(selected in SS.bodies))
return
- if(!selected || qdeleted(selected) || !isslimeperson(selected))
+ if(!selected || QDELETED(selected) || !isslimeperson(selected))
SS.bodies -= selected
return
if(M.current == selected)
diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
index 96329a5affd..18347f14d0f 100644
--- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
+++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
@@ -15,26 +15,35 @@ var/global/image/plasmaman_on_fire = image("icon"='icons/mob/OnFire.dmi', "icon_
breathid = "tox"
speedmod = 1
damage_overlay_type = ""//let's not show bloody wounds or burns over bones.
+ var/internal_fire = FALSE //If the bones themselves are burning clothes won't help you much
/datum/species/plasmaman/spec_life(mob/living/carbon/human/H)
var/datum/gas_mixture/environment = H.loc.return_air()
-
- if(!istype(H.w_uniform, /obj/item/clothing/under/plasmaman) || !istype(H.head, /obj/item/clothing/head/helmet/space/plasmaman))
+ var/atmos_sealed = (H.wear_suit && (H.wear_suit.flags & STOPSPRESSUREDMAGE)) && (H.head && (H.head.flags & STOPSPRESSUREDMAGE))
+ if((!istype(H.w_uniform, /obj/item/clothing/under/plasmaman) || !istype(H.head, /obj/item/clothing/head/helmet/space/plasmaman)) && !atmos_sealed)
if(environment)
- var/total_moles = environment.total_moles()
- if(total_moles)
- if(environment.gases["o2"] && (environment.gases["o2"][MOLES] /total_moles) >= 0.01)
+ if(environment.total_moles())
+ if(environment.gases["o2"] && (environment.gases["o2"][MOLES]) >= 1) //Same threshhold that extinguishes fire
H.adjust_fire_stacks(0.5)
if(!H.on_fire && H.fire_stacks > 0)
H.visible_message("[H]'s body reacts with the atmosphere and bursts into flames!","Your body reacts with the atmosphere and bursts into flame!")
H.IgniteMob()
+ internal_fire = TRUE
else
if(H.fire_stacks)
var/obj/item/clothing/under/plasmaman/P = H.w_uniform
if(istype(P))
P.Extinguish(H)
+ internal_fire = FALSE
+ else
+ internal_fire = FALSE
H.update_fire()
+/datum/species/plasmaman/handle_fire(mob/living/carbon/human/H, no_protection)
+ if(internal_fire)
+ no_protection = TRUE
+ ..()
+
/datum/species/plasmaman/before_equip_job(datum/job/J, mob/living/carbon/human/H, visualsOnly = FALSE)
var/datum/outfit/plasmaman/O = new /datum/outfit/plasmaman
H.equipOutfit(O, visualsOnly)
diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm
index 92eee6125d1..a09d59b2cbc 100644
--- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm
@@ -2,42 +2,14 @@
// Humans cursed to stay in the darkness, lest their life forces drain. They regain health in shadow and die in light.
name = "???"
id = "shadow"
- darksight = 8
- invis_sight = SEE_INVISIBLE_MINIMUM
sexes = 0
blacklisted = 1
ignored_by = list(/mob/living/simple_animal/hostile/faithless)
meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/shadow
species_traits = list(NOBREATH,NOBLOOD,RADIMMUNE,VIRUSIMMUNE)
dangerous_existence = 1
- var/datum/action/innate/shadow/darkvision/vision_toggle
+ mutanteyes = /obj/item/organ/eyes/night_vision
-/datum/action/innate/shadow/darkvision //Darkvision toggle so shadowpeople can actually see where darkness is
- name = "Toggle Darkvision"
- check_flags = AB_CHECK_CONSCIOUS
- background_icon_state = "bg_default"
- button_icon_state = "blind"
-
-/datum/action/innate/shadow/darkvision/Activate()
- var/mob/living/carbon/human/H = owner
- if(H.see_in_dark < 8)
- H.see_in_dark = 8
- H.see_invisible = SEE_INVISIBLE_MINIMUM
- H << "You adjust your vision to pierce the darkness."
- else
- H.see_in_dark = 2
- H.see_invisible = SEE_INVISIBLE_LIVING
- H << "You adjust your vision to recognize the shadows."
-
-/datum/species/shadow/on_species_gain(mob/living/carbon/C, datum/species/old_species)
- . = ..()
- vision_toggle = new
- vision_toggle.Grant(C)
-
-/datum/species/shadow/on_species_loss(mob/living/carbon/C)
- . = ..()
- if(vision_toggle)
- vision_toggle.Remove(C)
/datum/species/shadow/spec_life(mob/living/carbon/human/H)
var/light_amount = 0
diff --git a/code/modules/mob/living/carbon/human/species_types/zombies.dm b/code/modules/mob/living/carbon/human/species_types/zombies.dm
index 433d482a261..abd080bfaef 100644
--- a/code/modules/mob/living/carbon/human/species_types/zombies.dm
+++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm
@@ -6,7 +6,7 @@
sexes = 0
blacklisted = 1
meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/zombie
- species_traits = list(NOBREATH,RESISTCOLD,RESISTPRESSURE,NOBLOOD,RADIMMUNE,NOZOMBIE,EASYDISMEMBER,EASYLIMBATTACHMENT,TOXINLOVER)
+ species_traits = list(NOBREATH,RESISTCOLD,RESISTPRESSURE,NOBLOOD,RADIMMUNE,NOZOMBIE,EASYDISMEMBER,EASYLIMBATTACHMENT)
mutant_organs = list(/obj/item/organ/tongue/zombie)
/datum/species/zombie/infectious
@@ -29,12 +29,18 @@
. = ..()
// Drop items in hands
// If you're a zombie lucky enough to have a NODROP item, then it stays.
- for(var/obj/item/I in C.held_items)
- C.unEquip(I)
- C.put_in_hands(new /obj/item/zombie_hand(C))
+ for(var/V in C.held_items)
+ var/obj/item/I = V
+ if(istype(I))
+ if(C.dropItemToGround(I))
+ var/obj/item/zombie_hand/zh = new /obj/item/zombie_hand()
+ C.put_in_hands(zh)
+ else //Entries in the list should only ever be items or null, so if it's not an item, we can assume it's an empty hand
+ var/obj/item/zombie_hand/zh = new /obj/item/zombie_hand()
+ C.put_in_hands(zh)
// Next, deal with the source of this zombie corruption
- var/obj/item/organ/body_egg/zombie_infection/infection
+ var/obj/item/organ/zombie_infection/infection
infection = C.getorganslot("zombie_infection")
if(!infection)
infection = new(C)
@@ -43,7 +49,7 @@
. = ..()
for(var/obj/item/I in C.held_items)
if(istype(I, /obj/item/zombie_hand))
- C.unEquip(I, TRUE)
+ qdel(I)
// Your skin falls off
@@ -53,4 +59,4 @@
limbs_id = "zombie" //They look like zombies
sexes = 0
meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/zombie
- mutant_organs = list(/obj/item/organ/tongue/zombie)
\ No newline at end of file
+ mutant_organs = list(/obj/item/organ/tongue/zombie)
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index e2cfd27b94c..a69f0714f51 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -128,17 +128,17 @@ There are several things that need to be remembered:
if(dna && dna.species.sexes)
var/G = (gender == FEMALE) ? "f" : "m"
if(G == "f" && U.fitted != NO_FEMALE_UNIFORM)
- standing = U.build_worn_icon(state = "[t_color]_s", default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/uniform.dmi', isinhands = FALSE, femaleuniform = U.fitted)
+ standing = U.build_worn_icon(state = "[t_color]", default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/uniform.dmi', isinhands = FALSE, femaleuniform = U.fitted)
if(!standing)
- standing = U.build_worn_icon(state = "[t_color]_s", default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/uniform.dmi', isinhands = FALSE)
+ standing = U.build_worn_icon(state = "[t_color]", default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/uniform.dmi', isinhands = FALSE)
overlays_standing[UNIFORM_LAYER] = standing
else if(!(dna && dna.species.nojumpsuit))
- // Automatically drop anything in store / id / belt if you're not wearing a uniform.
- for(var/obj/item/thing in list(r_store, l_store, wear_id, belt))
- unEquip(thing)
+ // Automatically drop anything in store / id / belt if you're not wearing a uniform. //CHECK IF NECESARRY
+ for(var/obj/item/thing in list(r_store, l_store, wear_id, belt)) //
+ dropItemToGround(thing)
apply_overlay(UNIFORM_LAYER)
update_mutant_bodyparts()
diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm
index bb7ff6f45b6..306b929130a 100644
--- a/code/modules/mob/living/carbon/inventory.dm
+++ b/code/modules/mob/living/carbon/inventory.dm
@@ -88,7 +88,7 @@
return not_handled
-/mob/living/carbon/unEquip(obj/item/I)
+/mob/living/carbon/doUnEquip(obj/item/I)
. = ..() //Sets the default return value to what the parent returns.
if(!. || !I) //We don't want to set anything to null if the parent returned 0.
return
@@ -129,6 +129,7 @@
var/obj/item/clothing/C = I
if(C.tint || initial(C.tint))
update_tint()
+ update_sight()
if(I.flags_inv & HIDEMASK || forced)
update_inv_wear_mask()
update_inv_head()
diff --git a/code/modules/mob/living/carbon/monkey/combat.dm b/code/modules/mob/living/carbon/monkey/combat.dm
index 8ebd2216186..a58eabd44d7 100644
--- a/code/modules/mob/living/carbon/monkey/combat.dm
+++ b/code/modules/mob/living/carbon/monkey/combat.dm
@@ -141,7 +141,7 @@
if(!locate(/obj/item/weapon) in held_items)
best_force = 0
- if(restrained() || blacklistItems[pickupTarget])
+ if(restrained() || blacklistItems[pickupTarget] || (pickupTarget && (pickupTarget.flags & NODROP)))
pickupTarget = null
if(!resisting && pickupTarget)
@@ -149,7 +149,7 @@
// next to target
if(Adjacent(pickupTarget) || Adjacent(pickupTarget.loc))
- addtimer(CALLBACK(src, .proc/walk2derpless, pickupTarget.loc), 0)
+ INVOKE_ASYNC(src, .proc/walk2derpless, pickupTarget.loc)
// who cares about these items, i want that one!
drop_all_held_items()
@@ -166,7 +166,7 @@
if(!pickpocketing)
pickpocketing = TRUE
M.visible_message("[src] starts trying to take [pickupTarget] from [M]", "[src] tries to take [pickupTarget]!")
- addtimer(CALLBACK(src, .proc/pickpocket, M), 0)
+ INVOKE_ASYNC(src, .proc/pickpocket, M)
else
if(pickupTimer >= 8)
@@ -174,7 +174,7 @@
pickupTarget = null
pickupTimer = 0
else
- addtimer(CALLBACK(src, .proc/walk2derpless, pickupTarget.loc), 0)
+ INVOKE_ASYNC(src, .proc/walk2derpless, pickupTarget.loc)
return TRUE
@@ -229,7 +229,7 @@
return TRUE
if(target != null)
- addtimer(CALLBACK(src, .proc/walk2derpless, target), 0)
+ INVOKE_ASYNC(src, .proc/walk2derpless, target)
// pickup any nearby weapon
if(!pickupTarget && prob(MONKEY_WEAPON_PROB))
@@ -308,7 +308,7 @@
if(target.pulledby != src && !istype(target.pulledby, /mob/living/carbon/monkey/))
- addtimer(CALLBACK(src, .proc/walk2derpless, target.loc), 0)
+ INVOKE_ASYNC(src, .proc/walk2derpless, target.loc)
if(Adjacent(target) && isturf(target.loc))
a_intent = INTENT_GRAB
@@ -321,7 +321,7 @@
frustration = 0
else if(!disposing_body)
- addtimer(CALLBACK(src, .proc/walk2derpless, bodyDisposal.loc), 0)
+ INVOKE_ASYNC(src, .proc/walk2derpless, bodyDisposal.loc)
if(Adjacent(bodyDisposal))
disposing_body = TRUE
@@ -345,9 +345,10 @@
for(var/obj/item/I in M.held_items)
if(I == pickupTarget)
M.visible_message("[src] snatches [pickupTarget] from [M].", "[src] snatched [pickupTarget]!")
- M.unEquip(pickupTarget)
- if(!qdeleted(pickupTarget))
+ if(M.temporarilyRemoveItemFromInventory(pickupTarget) && !QDELETED(pickupTarget))
equip_item(pickupTarget)
+ else
+ M.visible_message("[src] tried to snatch [pickupTarget] from [M], but failed!", "[src] tried to grab [pickupTarget]!")
pickpocketing = FALSE
pickupTarget = null
pickupTimer = 0
@@ -453,5 +454,5 @@
/mob/living/carbon/monkey/proc/monkeyDrop(var/obj/item/A)
if(A)
- unEquip(A, 1)
+ dropItemToGround(A, TRUE)
update_icons()
diff --git a/code/modules/mob/living/carbon/monkey/death.dm b/code/modules/mob/living/carbon/monkey/death.dm
index 25e7face89d..a45209c5c21 100644
--- a/code/modules/mob/living/carbon/monkey/death.dm
+++ b/code/modules/mob/living/carbon/monkey/death.dm
@@ -1,5 +1,5 @@
/mob/living/carbon/monkey/gib_animation()
- PoolOrNew(/obj/effect/overlay/temp/gib_animation, list(loc, "gibbed-m"))
+ new /obj/effect/overlay/temp/gib_animation(loc, "gibbed-m")
/mob/living/carbon/monkey/dust_animation()
- PoolOrNew(/obj/effect/overlay/temp/dust_animation, list(loc, "dust-m"))
+ new /obj/effect/overlay/temp/dust_animation(loc, "dust-m")
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index 15af40fa62a..1844cc28f05 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -29,24 +29,22 @@
//initialize limbs
create_bodyparts()
- if(good_mutations.len) //genetic mutations have been set up.
- initialize() //initialize monkey dna
-
create_internal_organs()
..()
-/mob/living/carbon/monkey/initialize()
+/mob/living/carbon/monkey/Initialize()
+ ..()
create_dna(src)
dna.initialize_dna(random_blood_type())
-
/mob/living/carbon/monkey/create_internal_organs()
internal_organs += new /obj/item/organ/appendix
internal_organs += new /obj/item/organ/lungs
internal_organs += new /obj/item/organ/heart
internal_organs += new /obj/item/organ/brain
internal_organs += new /obj/item/organ/tongue
+ internal_organs += new /obj/item/organ/eyes
..()
/mob/living/carbon/monkey/movement_delay()
diff --git a/code/modules/mob/living/carbon/monkey/update_icons.dm b/code/modules/mob/living/carbon/monkey/update_icons.dm
index 58f2b2d50c5..917d0e98c11 100644
--- a/code/modules/mob/living/carbon/monkey/update_icons.dm
+++ b/code/modules/mob/living/carbon/monkey/update_icons.dm
@@ -34,7 +34,7 @@
hair_hidden = 1
if(!hair_hidden)
if(!getorgan(/obj/item/organ/brain)) //Applies the debrained overlay if there is no brain
- var/image/I = image("icon"='icons/mob/human_face.dmi', "icon_state" = "debrained_s", "layer" = -HAIR_LAYER)
+ var/image/I = image("icon"='icons/mob/human_face.dmi', "icon_state" = "debrained", "layer" = -HAIR_LAYER)
overlays_standing[HAIR_LAYER] = I
apply_overlay(HAIR_LAYER)
diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm
index 39ffdb0be21..a39f8ddc030 100644
--- a/code/modules/mob/living/damage_procs.dm
+++ b/code/modules/mob/living/damage_procs.dm
@@ -27,6 +27,36 @@
adjustStaminaLoss(damage * hit_percent)
return 1
+/mob/living/proc/apply_damage_type(damage = 0, damagetype = BRUTE) //like apply damage except it always uses the damage procs
+ switch(damagetype)
+ if(BRUTE)
+ return adjustBruteLoss(damage)
+ if(BURN)
+ return adjustFireLoss(damage)
+ if(TOX)
+ return adjustToxLoss(damage)
+ if(OXY)
+ return adjustOxyLoss(damage)
+ if(CLONE)
+ return adjustCloneLoss(damage)
+ if(STAMINA)
+ return adjustStaminaLoss(damage)
+
+/mob/living/proc/get_damage_amount(damagetype = BRUTE)
+ switch(damagetype)
+ if(BRUTE)
+ return getBruteLoss()
+ if(BURN)
+ return getFireLoss()
+ if(TOX)
+ return getToxLoss()
+ if(OXY)
+ return getOxyLoss()
+ if(CLONE)
+ return getCloneLoss()
+ if(STAMINA)
+ return getStaminaLoss()
+
/mob/living/proc/apply_damages(brute = 0, burn = 0, tox = 0, oxy = 0, clone = 0, def_zone = null, blocked = 0, stamina = 0)
if(blocked >= 100)
@@ -229,4 +259,16 @@
adjustBruteLoss(brute, 0) //zero as argument for no instant health update
adjustFireLoss(burn, 0)
if(updating_health)
- updatehealth()
\ No newline at end of file
+ updatehealth()
+
+//heal up to amount damage, in a given order
+/mob/living/proc/heal_ordered_damage(amount, list/damage_types)
+ . = amount //we'll return the amount of damage healed
+ for(var/i in damage_types)
+ var/amount_to_heal = min(amount, get_damage_amount(i)) //heal only up to the amount of damage we have
+ if(amount_to_heal)
+ apply_damage_type(-amount_to_heal, i)
+ amount -= amount_to_heal //remove what we healed from our current amount
+ if(!amount)
+ break
+ . -= amount //if there's leftover healing, remove it from what we return
diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm
index 68417febf99..5c9554239de 100644
--- a/code/modules/mob/living/death.dm
+++ b/code/modules/mob/living/death.dm
@@ -49,7 +49,7 @@
timeofdeath = world.time
tod = worldtime2text()
var/turf/T = get_turf(src)
- if(mind && mind.name && mind.active && (T.z != ZLEVEL_CENTCOM))
+ if(mind && mind.name && mind.active && (!(T.flags & NO_DEATHRATTLE)))
var/area/A = get_area(T)
var/rendered = "[mind.name] has died at [A.name]."
deadchat_broadcast(rendered, follow_target = src, message_type=DEADCHAT_DEATHRATTLE)
diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm
index 41dd16e2124..11f87b2832d 100644
--- a/code/modules/mob/living/emote.dm
+++ b/code/modules/mob/living/emote.dm
@@ -85,9 +85,13 @@
message_alien = "lets out a waning guttural screech, green blood bubbling from its maw..."
message_larva = "lets out a sickly hiss of air and falls limply to the floor..."
message_monkey = "lets out a faint chimper as it collapses and stops moving..."
+ message_simple = "stops moving..."
stat_allowed = UNCONSCIOUS
/datum/emote/living/deathgasp/run_emote(mob/user, params)
+ var/mob/living/simple_animal/S = user
+ if(istype(S) && S.deathmessage)
+ message_simple = S.deathmessage
. = ..()
if(. && isalienadult(user))
playsound(user.loc, 'sound/voice/hiss6.ogg', 80, 1, 1)
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 3d7e1ac23c9..e42d8dba9eb 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -627,11 +627,11 @@
if(islist(where))
var/list/L = where
if(what == who.get_item_for_held_index(L[2]))
- who.unEquip(what)
- add_logs(src, who, "stripped", addition="of [what]")
+ if(who.dropItemToGround(what))
+ add_logs(src, who, "stripped", addition="of [what]")
if(what == who.get_item_by_slot(where))
- who.unEquip(what)
- add_logs(src, who, "stripped", addition="of [what]")
+ if(who.dropItemToGround(what))
+ add_logs(src, who, "stripped", addition="of [what]")
// The src mob is trying to place an item on someone
// Override if a certain mob should be behave differently when placing items (can't, for example)
@@ -642,25 +642,26 @@
return
if(what)
var/list/where_list
+ var/final_where
+
if(islist(where))
where_list = where
- if(!what.mob_can_equip(who, src, where[1], 1))
- src << "\The [what.name] doesn't fit in that place!"
- return
+ final_where = where[1]
else
- if(!what.mob_can_equip(who, src, where, 1))
- src << "\The [what.name] doesn't fit in that place!"
- return
+ final_where = where
+
+ if(!what.mob_can_equip(who, src, final_where, TRUE))
+ src << "\The [what.name] doesn't fit in that place!"
+ return
+
visible_message("[src] tries to put [what] on [who].")
if(do_mob(src, who, what.put_on_delay))
- if(what && Adjacent(who))
- unEquip(what)
- if(where_list)
- who.put_in_hand(what, where_list[2])
- else
- who.equip_to_slot_if_possible(what, where, 0, 1)
- add_logs(src, who, "equipped", what)
-
+ if(what && Adjacent(who) && what.mob_can_equip(who, src, final_where, TRUE))
+ if(temporarilyRemoveItemFromInventory(what))
+ if(where_list)
+ who.put_in_hand(what, where_list[2])
+ else
+ who.equip_to_slot(what, where, TRUE)
/mob/living/singularity_pull(S, current_size)
if(current_size >= STAGE_SIX)
@@ -755,7 +756,7 @@
return 0
/mob/living/proc/harvest(mob/living/user)
- if(qdeleted(src))
+ if(QDELETED(src))
return
if(butcher_results)
for(var/path in butcher_results)
@@ -829,9 +830,9 @@
. = ..()
// Called when we are hit by a bolt of polymorph and changed
-// Generally the mob we are currently in, is about to be deleted
+// Generally the mob we are currently in is about to be deleted
/mob/living/proc/wabbajack_act(mob/living/new_mob)
- new_mob.name = name
+ new_mob.name = real_name
new_mob.real_name = real_name
if(mind)
diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm
index 406bf9584bb..b90b117f592 100644
--- a/code/modules/mob/living/living_defense.dm
+++ b/code/modules/mob/living/living_defense.dm
@@ -276,6 +276,8 @@
/mob/living/proc/electrocute_act(shock_damage, obj/source, siemens_coeff = 1, safety = 0, tesla_shock = 0, illusion = 0)
+ if(tesla_shock && tesla_ignore)
+ return FALSE
if(shock_damage > 0)
if(!illusion)
adjustFireLoss(shock_damage)
diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm
index 0b2fb83bc9f..0f454be53d5 100644
--- a/code/modules/mob/living/living_defines.dm
+++ b/code/modules/mob/living/living_defines.dm
@@ -74,4 +74,5 @@
var/list/status_effects //a list of all status effects the mob has
- var/list/implants = null
\ No newline at end of file
+ var/list/implants = null
+ var/tesla_ignore = FALSE
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index 4ed5f8b0117..c02a7e3f402 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -33,6 +33,7 @@ var/list/ai_list = list()
var/list/connected_robots = list()
var/aiRestorePowerRoutine = 0
var/requires_power = POWER_REQ_ALL
+ var/can_be_carded = TRUE
//var/list/laws = list()
var/alarms = list("Motion"=list(), "Fire"=list(), "Atmosphere"=list(), "Power"=list(), "Camera"=list(), "Burglar"=list())
var/viewalerts = 0
@@ -82,6 +83,8 @@ var/list/ai_list = list()
var/obj/machinery/camera/portable/builtInCamera
+ var/obj/structure/AIcore/deactivated/linked_core //For exosuit control
+
/mob/living/silicon/ai/New(loc, datum/ai_laws/L, mob/target_ai)
..()
if(!target_ai) //If there is no player/brain inside.
@@ -419,7 +422,16 @@ var/list/ai_list = list()
if (href_list["ai_take_control"]) //Mech domination
var/obj/mecha/M = locate(href_list["ai_take_control"])
if(controlled_mech)
- src << "You are already loaded into an onboard computer!"
+ src << "You are already loaded into an onboard computer!"
+ return
+ if(!cameranet.checkCameraVis(M))
+ src << "Exosuit is no longer near active cameras."
+ return
+ if(lacks_power())
+ src << "You're depowered!"
+ return
+ if(!isturf(loc))
+ src << "You aren't in your core!"
return
if(M)
M.transfer_ai(AI_MECH_HACK,src, usr) //Called om the mech itself.
@@ -779,6 +791,10 @@ var/list/ai_list = list()
if(!mind)
user << "No intelligence patterns detected." //No more magical carding of empty cores, AI RETURN TO BODY!!!11
return
+ if(!can_be_carded)
+ user << "Transfer failed."
+ return
+ ShutOffDoomsdayDevice()
new /obj/structure/AIcore/deactivated(loc)//Spawns a deactivated terminal at AI location.
ai_restore_power()//So the AI initially has power.
control_disabled = 1//Can't control things remotely if you're stuck in a card!
@@ -846,7 +862,7 @@ var/list/ai_list = list()
if(isturf(loc))
if(eyeobj)
client.eye = eyeobj
- client.perspective = MOB_PERSPECTIVE
+ client.perspective = EYE_PERSPECTIVE
else
client.eye = client.mob
client.perspective = MOB_PERSPECTIVE
@@ -870,7 +886,7 @@ var/list/ai_list = list()
malfhacking = 0
clear_alert("hackingapc")
- if(!istype(apc) || qdeleted(apc) || apc.stat & BROKEN)
+ if(!istype(apc) || QDELETED(apc) || apc.stat & BROKEN)
src << "Hack aborted. The designated APC no \
longer exists on the power network."
playsound(get_turf(src), 'sound/machines/buzz-two.ogg', 50, 1)
@@ -891,6 +907,9 @@ var/list/ai_list = list()
exclusive control."
apc.update_icon()
+/mob/living/silicon/ai/resist()
+ return
+
/mob/living/silicon/ai/spawned/New(loc, datum/ai_laws/L, mob/target_ai)
if(!target_ai)
target_ai = src //cheat! just give... ourselves as the spawned AI, because that's technically correct
diff --git a/code/modules/mob/living/silicon/ai/death.dm b/code/modules/mob/living/silicon/ai/death.dm
index eed8150b661..b969249b255 100644
--- a/code/modules/mob/living/silicon/ai/death.dm
+++ b/code/modules/mob/living/silicon/ai/death.dm
@@ -19,17 +19,8 @@
shuttle_caller_list -= src
SSshuttle.autoEvac()
- if(nuking)
- set_security_level("red")
- nuking = FALSE
- for(var/obj/item/weapon/pinpointer/P in pinpointer_list)
- P.switch_mode_to(TRACK_NUKE_DISK) //Party's over, back to work, everyone
- P.nuke_warning = FALSE
+ ShutOffDoomsdayDevice()
- if(doomsday_device)
- doomsday_device.timing = FALSE
- SSshuttle.clearHostileEnvironment(doomsday_device)
- qdel(doomsday_device)
if(explosive)
spawn(10)
explosion(src.loc, 3, 6, 12, 15)
@@ -40,3 +31,15 @@
if(istype(loc, /obj/item/device/aicard))
loc.icon_state = "aicard-404"
+/mob/living/silicon/ai/proc/ShutOffDoomsdayDevice()
+ if(nuking)
+ set_security_level("red")
+ nuking = FALSE
+ for(var/obj/item/weapon/pinpointer/P in pinpointer_list)
+ P.switch_mode_to(TRACK_NUKE_DISK) //Party's over, back to work, everyone
+ P.nuke_warning = FALSE
+
+ if(doomsday_device)
+ doomsday_device.timing = FALSE
+ SSshuttle.clearHostileEnvironment(doomsday_device)
+ qdel(doomsday_device)
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm
index e9e6d388138..2345251aa27 100644
--- a/code/modules/mob/living/silicon/ai/freelook/eye.dm
+++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm
@@ -87,7 +87,7 @@
cameraFollow = null
unset_machine()
- if(!eyeobj || !eyeobj.loc || qdeleted(eyeobj))
+ if(!eyeobj || !eyeobj.loc || QDELETED(eyeobj))
src << "ERROR: Eyeobj not found. Creating new eye..."
eyeobj = new(loc)
eyeobj.ai = src
diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm
index 3281cfdc1df..e3631a56d80 100644
--- a/code/modules/mob/living/silicon/ai/life.dm
+++ b/code/modules/mob/living/silicon/ai/life.dm
@@ -11,13 +11,15 @@
update_gravity(mob_has_gravity())
+ handle_status_effects()
+
if(malfhack && malfhack.aidisabled)
deltimer(malfhacking)
// This proc handles cleanup of screen notifications and
// messenging the client
malfhacked(malfhack)
- if(!eyeobj || qdeleted(eyeobj) || !eyeobj.loc)
+ if(!eyeobj || QDELETED(eyeobj) || !eyeobj.loc)
view_core()
if(machine)
@@ -53,7 +55,7 @@
if(POWER_REQ_ALL)
return !T || !A || ((!A.master.power_equip || isspaceturf(T)) && !is_type_in_list(loc, list(/obj/item, /obj/mecha)))
if(POWER_REQ_CLOCKCULT)
- for(var/obj/effect/clockwork/sigil/transmission/ST in range(src, 1))
+ for(var/obj/effect/clockwork/sigil/transmission/ST in range(src, SIGIL_ACCESS_RANGE))
return FALSE
return !T || !A || (!istype(T, /turf/open/floor/clockwork) && (!A.master.power_equip || isspaceturf(T)) && !is_type_in_list(loc, list(/obj/item, /obj/mecha)))
diff --git a/code/modules/mob/living/silicon/damage_procs.dm b/code/modules/mob/living/silicon/damage_procs.dm
index d605e0fac7e..7b7e3689847 100644
--- a/code/modules/mob/living/silicon/damage_procs.dm
+++ b/code/modules/mob/living/silicon/damage_procs.dm
@@ -8,6 +8,9 @@
adjustBruteLoss(damage * hit_percent)
if(BURN)
adjustFireLoss(damage * hit_percent)
+ if(OXY)
+ if(damage < 0) //we shouldn't be taking oxygen damage through this proc, but we'll let it heal.
+ adjustOxyLoss(damage * hit_percent)
return 1
diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm
index 8c5ef2b495a..4bfae1f0b79 100644
--- a/code/modules/mob/living/silicon/laws.dm
+++ b/code/modules/mob/living/silicon/laws.dm
@@ -40,6 +40,16 @@
laws_sanity_check()
laws.add_ion_law(law)
+/mob/living/silicon/proc/replace_random_law(law,groups)
+ throw_alert("newlaw", /obj/screen/alert/newlaw)
+ laws_sanity_check()
+ laws.replace_random_law(law,groups)
+
+/mob/living/silicon/proc/remove_law(number)
+ throw_alert("newlaw", /obj/screen/alert/newlaw)
+ laws_sanity_check()
+ laws.remove_law(number)
+
/mob/living/silicon/proc/clear_ion_laws()
throw_alert("newlaw", /obj/screen/alert/newlaw)
laws_sanity_check()
diff --git a/code/modules/mob/living/silicon/pai/examine.dm b/code/modules/mob/living/silicon/pai/examine.dm
index 79268c87673..e69de29bb2d 100644
--- a/code/modules/mob/living/silicon/pai/examine.dm
+++ b/code/modules/mob/living/silicon/pai/examine.dm
@@ -1,2 +0,0 @@
-/mob/living/silicon/pai/examine() //removed as it was pointless...moved to the pai-card instead.
- return
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/pai/life.dm b/code/modules/mob/living/silicon/pai/life.dm
index 7a8341b4955..e69de29bb2d 100644
--- a/code/modules/mob/living/silicon/pai/life.dm
+++ b/code/modules/mob/living/silicon/pai/life.dm
@@ -1,22 +0,0 @@
-/mob/living/silicon/pai/Life()
- if(stat == DEAD)
- return
- if(cable)
- if(get_dist(src, cable) > 1)
- var/turf/T = get_turf(src.loc)
- T.visible_message("[src.cable] rapidly retracts back into its spool.", "You hear a click and the sound of wire spooling rapidly.")
- qdel(src.cable)
- cable = null
- silent = max(silent - 1, 0)
- . = ..()
-
-/mob/living/silicon/pai/updatehealth()
- if(status_flags & GODMODE)
- return
- health = maxHealth - getBruteLoss() - getFireLoss()
- update_stat()
-
-
-/mob/living/silicon/pai/process()
- emitterhealth = Clamp((emitterhealth + emitterregen), -50, emittermaxhealth)
- hit_slowdown = Clamp((hit_slowdown - 1), 0, 100)
diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm
index 9c4f25f6c18..4bf4de04cab 100644
--- a/code/modules/mob/living/silicon/pai/pai.dm
+++ b/code/modules/mob/living/silicon/pai/pai.dm
@@ -6,7 +6,6 @@
icon_state = "repairbot"
mouse_opacity = 2
density = 0
- ventcrawler = 2
luminosity = 0
pass_flags = PASSTABLE | PASSMOB
mob_size = MOB_SIZE_TINY
@@ -78,10 +77,6 @@
. = ..()
. += slowdown
-/mob/living/silicon/pai/examine(mob/user)
- ..()
- user << "A personal AI in holochassis mode. Its master ID string seems to be [master]."
-
/mob/living/silicon/pai/Destroy()
pai_list -= src
..()
@@ -214,3 +209,30 @@
return TRUE
slowdown = initial(slowdown)
return TRUE
+
+/mob/living/silicon/pai/examine(mob/user)
+ ..()
+ user << "A personal AI in holochassis mode. Its master ID string seems to be [master]."
+
+/mob/living/silicon/pai/Life()
+ if(stat == DEAD)
+ return
+ if(cable)
+ if(get_dist(src, cable) > 1)
+ var/turf/T = get_turf(src.loc)
+ T.visible_message("[src.cable] rapidly retracts back into its spool.", "You hear a click and the sound of wire spooling rapidly.")
+ qdel(src.cable)
+ cable = null
+ silent = max(silent - 1, 0)
+ . = ..()
+
+/mob/living/silicon/pai/updatehealth()
+ if(status_flags & GODMODE)
+ return
+ health = maxHealth - getBruteLoss() - getFireLoss()
+ update_stat()
+
+
+/mob/living/silicon/pai/process()
+ emitterhealth = Clamp((emitterhealth + emitterregen), -50, emittermaxhealth)
+ hit_slowdown = Clamp((hit_slowdown - 1), 0, 100)
diff --git a/code/modules/mob/living/silicon/pai/pai_shell.dm b/code/modules/mob/living/silicon/pai/pai_shell.dm
index d752c4d0791..b37983439c1 100644
--- a/code/modules/mob/living/silicon/pai/pai_shell.dm
+++ b/code/modules/mob/living/silicon/pai/pai_shell.dm
@@ -26,11 +26,10 @@
P.visible_message("[src] ejects itself from [P]!")
if(istype(card.loc, /mob/living))
var/mob/living/L = card.loc
- if(!L.unEquip(card))
+ if(!L.temporarilyRemoveItemFromInventory(card))
src << "Error: Unable to expand to mobile form. Chassis is restrained by some device or person."
return FALSE
- var/turf/T = get_turf(card)
- forceMove(T)
+ forceMove(get_turf(card))
card.forceMove(src)
if(client)
client.perspective = EYE_PERSPECTIVE
diff --git a/code/modules/mob/living/silicon/robot/death.dm b/code/modules/mob/living/silicon/robot/death.dm
index 06369f02cbf..22bd7b665ef 100644
--- a/code/modules/mob/living/silicon/robot/death.dm
+++ b/code/modules/mob/living/silicon/robot/death.dm
@@ -1,6 +1,6 @@
/mob/living/silicon/robot/gib_animation()
- PoolOrNew(/obj/effect/overlay/temp/gib_animation, list(loc, "gibbed-r"))
+ new /obj/effect/overlay/temp/gib_animation(loc, "gibbed-r")
/mob/living/silicon/robot/dust()
if(mmi)
@@ -11,7 +11,7 @@
new /obj/effect/decal/remains/robot(loc)
/mob/living/silicon/robot/dust_animation()
- PoolOrNew(/obj/effect/overlay/temp/dust_animation, list(loc, "dust-r"))
+ new /obj/effect/overlay/temp/dust_animation(loc, "dust-r")
/mob/living/silicon/robot/death(gibbed)
if(stat == DEAD)
@@ -30,4 +30,4 @@
update_icons()
- sql_report_cyborg_death(src)
\ No newline at end of file
+ sql_report_death(src)
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm
index e54082ea0cf..1266afa7960 100644
--- a/code/modules/mob/living/silicon/robot/robot_defense.dm
+++ b/code/modules/mob/living/silicon/robot/robot_defense.dm
@@ -5,7 +5,7 @@
user << "You begin to place [I] on [src]'s head..."
src << "[user] is placing [I] on your head..."
if(do_after(user, 30, target = src))
- user.unEquip(I, 1)
+ user.temporarilyRemoveItemFromInventory(I, TRUE)
place_on_head(I)
return
if(I.force && I.damtype != STAMINA && stat != DEAD) //only sparks if real damage is dealt.
@@ -126,7 +126,7 @@
return
SetEmagged(1)
- SetLockdown(1) //Borgs were getting into trouble because they would attack the emagger before the new laws were shown
+ SetStunned(3) //Borgs were getting into trouble because they would attack the emagger before the new laws were shown
lawupdate = 0
connected_ai = null
message_admins("[key_name_admin(user)] emagged cyborg [key_name_admin(src)]. Laws overridden.")
@@ -154,7 +154,6 @@
src << "Obey these laws:"
laws.show_laws(src)
src << "ALERT: [user.real_name] is your new master. Obey your new laws and their commands."
- SetLockdown(0)
update_icons()
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index 35fb6540517..e1bf24daa0e 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -178,7 +178,7 @@
R.module = RM
R.update_module_innate()
RM.rebuild_modules()
- addtimer(CALLBACK(RM, .proc/do_transform_animation), 0)
+ INVOKE_ASYNC(RM, .proc/do_transform_animation)
qdel(src)
return RM
@@ -191,9 +191,10 @@
/obj/item/weapon/robot_module/proc/do_transform_animation()
var/mob/living/silicon/robot/R = loc
- var/obj/effect/overlay/temp/decoy/fading/fivesecond/ANM = PoolOrNew(/obj/effect/overlay/temp/decoy/fading/fivesecond, list(R.loc, R))
+ R.notransform = TRUE
+ var/obj/effect/overlay/temp/decoy/fading/fivesecond/ANM = new /obj/effect/overlay/temp/decoy/fading/fivesecond(R.loc, R)
ANM.layer = R.layer - 0.01
- PoolOrNew(/obj/effect/overlay/temp/small_smoke, R.loc)
+ new /obj/effect/overlay/temp/small_smoke(R.loc)
if(R.hat)
R.hat.forceMove(get_turf(R))
R.hat = null
@@ -210,6 +211,7 @@
if(!prev_lockcharge)
R.SetLockdown(0)
R.anchored = FALSE
+ R.notransform = FALSE
R.notify_ai(2)
if(R.hud_used)
R.hud_used.update_robot_modules_display()
@@ -218,27 +220,56 @@
/obj/item/weapon/robot_module/standard
name = "Standard"
- basic_modules = list(/obj/item/device/assembly/flash/cyborg, /obj/item/weapon/reagent_containers/borghypo/epi, /obj/item/device/healthanalyzer, \
- /obj/item/weapon/weldingtool/largetank/cyborg, /obj/item/weapon/wrench/cyborg, /obj/item/weapon/crowbar/cyborg, \
- /obj/item/stack/sheet/metal/cyborg, /obj/item/weapon/extinguisher, /obj/item/weapon/pickaxe, \
- /obj/item/device/t_scanner/adv_mining_scanner, /obj/item/weapon/restraints/handcuffs/cable/zipties/cyborg, \
- /obj/item/weapon/soap/nanotrasen, /obj/item/borg/cyborghug)
+ basic_modules = list(
+ /obj/item/device/assembly/flash/cyborg,
+ /obj/item/weapon/reagent_containers/borghypo/epi,
+ /obj/item/device/healthanalyzer,
+ /obj/item/weapon/weldingtool/largetank/cyborg,
+ /obj/item/weapon/wrench/cyborg,
+ /obj/item/weapon/crowbar/cyborg,
+ /obj/item/stack/sheet/metal/cyborg,
+ /obj/item/stack/rods/cyborg,
+ /obj/item/stack/tile/plasteel/cyborg,
+ /obj/item/weapon/extinguisher,
+ /obj/item/weapon/pickaxe,
+ /obj/item/device/t_scanner/adv_mining_scanner,
+ /obj/item/weapon/restraints/handcuffs/cable/zipties/cyborg,
+ /obj/item/weapon/soap/nanotrasen,
+ /obj/item/borg/cyborghug)
emag_modules = list(/obj/item/weapon/melee/energy/sword/cyborg)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg, /obj/item/clockwork/ratvarian_spear/cyborg)
+ ratvar_modules = list(
+ /obj/item/clockwork/slab/cyborg,
+ /obj/item/clockwork/ratvarian_spear/cyborg,
+ /obj/item/clockwork/clockwork_proselytizer/cyborg)
moduleselect_icon = "standard"
feedback_key = "cyborg_standard"
hat_offset = -3
/obj/item/weapon/robot_module/medical
name = "Medical"
- basic_modules = list(/obj/item/device/assembly/flash/cyborg, /obj/item/device/healthanalyzer, /obj/item/weapon/reagent_containers/borghypo, \
- /obj/item/weapon/reagent_containers/glass/beaker/large, /obj/item/weapon/reagent_containers/dropper, \
- /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/surgical_drapes, /obj/item/weapon/retractor, \
- /obj/item/weapon/hemostat, /obj/item/weapon/cautery, /obj/item/weapon/surgicaldrill, /obj/item/weapon/scalpel, \
- /obj/item/weapon/circular_saw, /obj/item/weapon/extinguisher/mini, /obj/item/roller/robo, /obj/item/borg/cyborghug/medical, \
- /obj/item/stack/medical/gauze/cyborg, /obj/item/borg/lollipop)
+ basic_modules = list(
+ /obj/item/device/assembly/flash/cyborg,
+ /obj/item/device/healthanalyzer,
+ /obj/item/weapon/reagent_containers/borghypo,
+ /obj/item/weapon/reagent_containers/glass/beaker/large,
+ /obj/item/weapon/reagent_containers/dropper,
+ /obj/item/weapon/reagent_containers/syringe,
+ /obj/item/weapon/surgical_drapes,
+ /obj/item/weapon/retractor,
+ /obj/item/weapon/hemostat,
+ /obj/item/weapon/cautery,
+ /obj/item/weapon/surgicaldrill,
+ /obj/item/weapon/scalpel,
+ /obj/item/weapon/circular_saw,
+ /obj/item/weapon/extinguisher/mini,
+ /obj/item/roller/robo,
+ /obj/item/borg/cyborghug/medical,
+ /obj/item/stack/medical/gauze/cyborg,
+ /obj/item/borg/lollipop)
emag_modules = list(/obj/item/weapon/reagent_containers/borghypo/hacked)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/medical)
+ ratvar_modules = list(
+ /obj/item/clockwork/slab/cyborg/medical,
+ /obj/item/clockwork/ratvarian_spear/cyborg)
cyborg_base_icon = "medical"
moduleselect_icon = "medical"
feedback_key = "cyborg_medical"
@@ -247,14 +278,32 @@
/obj/item/weapon/robot_module/engineering
name = "Engineering"
- basic_modules = list(/obj/item/device/assembly/flash/cyborg, /obj/item/borg/sight/meson, /obj/item/weapon/rcd/borg, /obj/item/weapon/pipe_dispenser, \
- /obj/item/weapon/extinguisher, /obj/item/weapon/weldingtool/largetank/cyborg, /obj/item/weapon/screwdriver/cyborg, \
- /obj/item/weapon/wrench/cyborg, /obj/item/weapon/crowbar/cyborg, /obj/item/weapon/wirecutters/cyborg, \
- /obj/item/device/multitool/cyborg, /obj/item/device/t_scanner, /obj/item/device/analyzer, \
- /obj/item/areaeditor/blueprints/cyborg, /obj/item/stack/sheet/metal/cyborg, /obj/item/stack/sheet/glass/cyborg, \
- /obj/item/stack/sheet/rglass/cyborg, /obj/item/stack/rods/cyborg, /obj/item/stack/tile/plasteel/cyborg, /obj/item/stack/cable_coil/cyborg)
+ basic_modules = list(
+ /obj/item/device/assembly/flash/cyborg,
+ /obj/item/borg/sight/meson,
+ /obj/item/weapon/rcd/borg,
+ /obj/item/weapon/pipe_dispenser,
+ /obj/item/weapon/extinguisher,
+ /obj/item/weapon/weldingtool/largetank/cyborg,
+ /obj/item/weapon/screwdriver/cyborg,
+ /obj/item/weapon/wrench/cyborg,
+ /obj/item/weapon/crowbar/cyborg,
+ /obj/item/weapon/wirecutters/cyborg,
+ /obj/item/device/multitool/cyborg,
+ /obj/item/device/t_scanner,
+ /obj/item/device/analyzer,
+ /obj/item/device/assembly/signaler/cyborg,
+ /obj/item/areaeditor/blueprints/cyborg,
+ /obj/item/stack/sheet/metal/cyborg,
+ /obj/item/stack/sheet/glass/cyborg,
+ /obj/item/stack/sheet/rglass/cyborg,
+ /obj/item/stack/rods/cyborg,
+ /obj/item/stack/tile/plasteel/cyborg,
+ /obj/item/stack/cable_coil/cyborg)
emag_modules = list(/obj/item/borg/stun)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/engineer, /obj/item/clockwork/clockwork_proselytizer/cyborg)
+ ratvar_modules = list(
+ /obj/item/clockwork/slab/cyborg/engineer,
+ /obj/item/clockwork/clockwork_proselytizer/cyborg)
cyborg_base_icon = "engineer"
moduleselect_icon = "engineer"
feedback_key = "cyborg_engineering"
@@ -263,10 +312,15 @@
/obj/item/weapon/robot_module/security
name = "Security"
- basic_modules = list(/obj/item/device/assembly/flash/cyborg, /obj/item/weapon/restraints/handcuffs/cable/zipties/cyborg, /obj/item/weapon/melee/baton/loaded, \
- /obj/item/weapon/gun/energy/disabler/cyborg, /obj/item/clothing/mask/gas/sechailer/cyborg)
+ basic_modules = list(
+ /obj/item/device/assembly/flash/cyborg,
+ /obj/item/weapon/restraints/handcuffs/cable/zipties/cyborg,
+ /obj/item/weapon/melee/baton/loaded,
+ /obj/item/weapon/gun/energy/disabler/cyborg,
+ /obj/item/clothing/mask/gas/sechailer/cyborg)
emag_modules = list(/obj/item/weapon/gun/energy/laser/cyborg)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/security, /obj/item/clockwork/ratvarian_spear/cyborg)
+ ratvar_modules = list(/obj/item/clockwork/slab/cyborg/security,
+ /obj/item/clockwork/ratvarian_spear/cyborg)
cyborg_base_icon = "sec"
moduleselect_icon = "security"
feedback_key = "cyborg_security"
@@ -291,10 +345,18 @@
/obj/item/weapon/robot_module/peacekeeper
name = "Peacekeeper"
- basic_modules = list(/obj/item/device/assembly/flash/cyborg, /obj/item/weapon/cookiesynth, /obj/item/device/harmalarm, /obj/item/weapon/reagent_containers/borghypo/peace, \
- /obj/item/weapon/holosign_creator/cyborg, /obj/item/borg/cyborghug/peacekeeper, /obj/item/weapon/extinguisher)
+ basic_modules = list(
+ /obj/item/device/assembly/flash/cyborg,
+ /obj/item/weapon/cookiesynth,
+ /obj/item/device/harmalarm,
+ /obj/item/weapon/reagent_containers/borghypo/peace,
+ /obj/item/weapon/holosign_creator/cyborg,
+ /obj/item/borg/cyborghug/peacekeeper,
+ /obj/item/weapon/extinguisher)
emag_modules = list(/obj/item/weapon/reagent_containers/borghypo/peace/hacked)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/peacekeeper)
+ ratvar_modules = list(
+ /obj/item/clockwork/slab/cyborg/peacekeeper,
+ /obj/item/clockwork/ratvarian_spear/cyborg)
cyborg_base_icon = "peace"
moduleselect_icon = "standard"
feedback_key = "cyborg_peacekeeper"
@@ -308,10 +370,18 @@
/obj/item/weapon/robot_module/janitor
name = "Janitor"
- basic_modules = list(/obj/item/device/assembly/flash/cyborg, /obj/item/weapon/soap/nanotrasen, /obj/item/weapon/storage/bag/trash/cyborg, /obj/item/weapon/mop/cyborg, \
- /obj/item/device/lightreplacer/cyborg, /obj/item/weapon/holosign_creator, /obj/item/weapon/reagent_containers/spray/cyborg_drying)
+ basic_modules = list(
+ /obj/item/device/assembly/flash/cyborg,
+ /obj/item/weapon/soap/nanotrasen,
+ /obj/item/weapon/storage/bag/trash/cyborg,
+ /obj/item/weapon/mop/cyborg,
+ /obj/item/device/lightreplacer/cyborg,
+ /obj/item/weapon/holosign_creator,
+ /obj/item/weapon/reagent_containers/spray/cyborg_drying)
emag_modules = list(/obj/item/weapon/reagent_containers/spray/cyborg_lube)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/janitor, /obj/item/clockwork/clockwork_proselytizer/cyborg)
+ ratvar_modules = list(
+ /obj/item/clockwork/slab/cyborg/janitor,
+ /obj/item/clockwork/clockwork_proselytizer/cyborg)
cyborg_base_icon = "janitor"
moduleselect_icon = "janitor"
feedback_key = "cyborg_janitor"
@@ -343,12 +413,25 @@
/obj/item/weapon/robot_module/butler
name = "Service"
- basic_modules = list(/obj/item/device/assembly/flash/cyborg, /obj/item/weapon/reagent_containers/food/drinks/drinkingglass, /obj/item/weapon/reagent_containers/food/condiment/enzyme, \
- /obj/item/weapon/pen, /obj/item/toy/crayon/spraycan/borg, /obj/item/weapon/hand_labeler/borg, /obj/item/weapon/razor, \
- /obj/item/device/instrument/violin, /obj/item/device/instrument/guitar, /obj/item/weapon/rsf/cyborg, /obj/item/weapon/reagent_containers/dropper, \
- /obj/item/weapon/lighter, /obj/item/weapon/storage/bag/tray, /obj/item/weapon/reagent_containers/borghypo/borgshaker, /obj/item/borg/lollipop)
+ basic_modules = list(
+ /obj/item/device/assembly/flash/cyborg,
+ /obj/item/weapon/reagent_containers/food/drinks/drinkingglass,
+ /obj/item/weapon/reagent_containers/food/condiment/enzyme,
+ /obj/item/weapon/pen,
+ /obj/item/toy/crayon/spraycan/borg,
+ /obj/item/weapon/hand_labeler/borg,
+ /obj/item/weapon/razor,
+ /obj/item/device/instrument/violin,
+ /obj/item/device/instrument/guitar,
+ /obj/item/weapon/rsf/cyborg,
+ /obj/item/weapon/reagent_containers/dropper,
+ /obj/item/weapon/lighter,
+ /obj/item/weapon/storage/bag/tray,
+ /obj/item/weapon/reagent_containers/borghypo/borgshaker,
+ /obj/item/borg/lollipop)
emag_modules = list(/obj/item/weapon/reagent_containers/borghypo/borgshaker/hacked)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/service, /obj/item/borg/sight/xray/truesight_lens)
+ ratvar_modules = list(/obj/item/clockwork/slab/cyborg/service,
+ /obj/item/borg/sight/xray/truesight_lens)
moduleselect_icon = "service"
special_light_key = "service"
feedback_key = "cyborg_service"
@@ -384,11 +467,24 @@
/obj/item/weapon/robot_module/miner
name = "Miner"
- basic_modules = list(/obj/item/device/assembly/flash/cyborg, /obj/item/borg/sight/meson, /obj/item/weapon/storage/bag/ore/cyborg, /obj/item/weapon/pickaxe/drill/cyborg, /obj/item/weapon/shovel, \
- /obj/item/weapon/crowbar/cyborg, /obj/item/weapon/weldingtool/mini, /obj/item/weapon/extinguisher/mini, /obj/item/weapon/storage/bag/sheetsnatcher/borg, \
- /obj/item/device/t_scanner/adv_mining_scanner, /obj/item/weapon/gun/energy/kinetic_accelerator/cyborg, /obj/item/device/gps/cyborg)
+ basic_modules = list(
+ /obj/item/device/assembly/flash/cyborg,
+ /obj/item/borg/sight/meson,
+ /obj/item/weapon/storage/bag/ore/cyborg,
+ /obj/item/weapon/pickaxe/drill/cyborg,
+ /obj/item/weapon/shovel,
+ /obj/item/weapon/crowbar/cyborg,
+ /obj/item/weapon/weldingtool/mini,
+ /obj/item/weapon/extinguisher/mini,
+ /obj/item/weapon/storage/bag/sheetsnatcher/borg,
+ /obj/item/device/t_scanner/adv_mining_scanner,
+ /obj/item/weapon/gun/energy/kinetic_accelerator/cyborg,
+ /obj/item/device/gps/cyborg)
emag_modules = list(/obj/item/borg/stun)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/miner, /obj/item/borg/sight/xray/truesight_lens)
+ ratvar_modules = list(
+ /obj/item/clockwork/slab/cyborg/miner,
+ /obj/item/clockwork/ratvarian_spear/cyborg,
+ /obj/item/borg/sight/xray/truesight_lens)
cyborg_base_icon = "miner"
moduleselect_icon = "miner"
feedback_key = "cyborg_miner"
@@ -396,10 +492,18 @@
/obj/item/weapon/robot_module/syndicate
name = "Syndicate Assault"
- basic_modules = list(/obj/item/device/assembly/flash/cyborg, /obj/item/weapon/melee/energy/sword/cyborg, /obj/item/weapon/gun/energy/printer, \
- /obj/item/weapon/gun/ballistic/revolver/grenadelauncher/cyborg, /obj/item/weapon/card/emag, /obj/item/weapon/crowbar/cyborg, \
- /obj/item/weapon/pinpointer/syndicate/cyborg)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/security, /obj/item/clockwork/ratvarian_spear/cyborg)
+ basic_modules = list(
+ /obj/item/device/assembly/flash/cyborg,
+ /obj/item/weapon/melee/energy/sword/cyborg,
+ /obj/item/weapon/gun/energy/printer,
+ /obj/item/weapon/gun/ballistic/revolver/grenadelauncher/cyborg,
+ /obj/item/weapon/card/emag,
+ /obj/item/weapon/crowbar/cyborg,
+ /obj/item/weapon/pinpointer/syndicate/cyborg)
+
+ ratvar_modules = list(
+ /obj/item/clockwork/slab/cyborg/security,
+ /obj/item/clockwork/ratvarian_spear/cyborg)
cyborg_base_icon = "synd_sec"
moduleselect_icon = "malf"
can_be_pushed = FALSE
@@ -407,11 +511,26 @@
/obj/item/weapon/robot_module/syndicate_medical
name = "Syndicate Medical"
- basic_modules = list(/obj/item/device/assembly/flash/cyborg, /obj/item/weapon/reagent_containers/borghypo/syndicate, /obj/item/weapon/twohanded/shockpaddles/syndicate, \
- /obj/item/device/healthanalyzer, /obj/item/weapon/surgical_drapes, /obj/item/weapon/retractor, /obj/item/weapon/hemostat, \
- /obj/item/weapon/cautery, /obj/item/weapon/scalpel, /obj/item/weapon/melee/energy/sword/cyborg/saw, /obj/item/roller/robo, \
- /obj/item/weapon/card/emag, /obj/item/weapon/crowbar/cyborg, /obj/item/weapon/pinpointer/syndicate/cyborg, /obj/item/stack/medical/gauze/cyborg, /obj/item/weapon/gun/medbeam)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/medical, /obj/item/clockwork/ratvarian_spear/cyborg)
+ basic_modules = list(
+ /obj/item/device/assembly/flash/cyborg,
+ /obj/item/weapon/reagent_containers/borghypo/syndicate,
+ /obj/item/weapon/twohanded/shockpaddles/syndicate,
+ /obj/item/device/healthanalyzer,
+ /obj/item/weapon/surgical_drapes,
+ /obj/item/weapon/retractor,
+ /obj/item/weapon/hemostat,
+ /obj/item/weapon/cautery,
+ /obj/item/weapon/scalpel,
+ /obj/item/weapon/melee/energy/sword/cyborg/saw,
+ /obj/item/roller/robo,
+ /obj/item/weapon/card/emag,
+ /obj/item/weapon/crowbar/cyborg,
+ /obj/item/weapon/pinpointer/syndicate/cyborg,
+ /obj/item/stack/medical/gauze/cyborg,
+ /obj/item/weapon/gun/medbeam)
+ ratvar_modules = list(
+ /obj/item/clockwork/slab/cyborg/medical,
+ /obj/item/clockwork/ratvarian_spear/cyborg)
cyborg_base_icon = "synd_medical"
moduleselect_icon = "malf"
can_be_pushed = FALSE
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index b57673c85cc..9c32c758592 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -11,6 +11,7 @@
see_in_dark = 8
bubble_icon = "machine"
weather_immunities = list("ash")
+ possible_a_intents = list(INTENT_HELP, INTENT_HARM)
var/syndicate = 0
var/datum/ai_laws/laws = null//Now... THEY ALL CAN ALL HAVE LAWS
@@ -203,13 +204,13 @@
if (src.laws.devillaws && src.laws.devillaws.len)
for(var/index = 1, index <= src.laws.devillaws.len, index++)
- if (src.devillawcheck[index] == "Yes" || force)
+ if (force || src.devillawcheck[index] == "Yes")
src.say("[radiomod] 666. [src.laws.devillaws[index]]")
sleep(10)
if (src.laws.zeroth)
- if (src.lawcheck[1] == "Yes" || force)
+ if (force || src.lawcheck[1] == "Yes")
src.say("[radiomod] 0. [src.laws.zeroth]")
sleep(10)
@@ -217,7 +218,7 @@
var/law = src.laws.ion[index]
var/num = ionnum()
if (length(law) > 0)
- if (src.ioncheck[index] == "Yes" || force)
+ if (force || src.ioncheck[index] == "Yes")
src.say("[radiomod] [num]. [law]")
sleep(10)
@@ -225,21 +226,20 @@
var/law = src.laws.inherent[index]
if (length(law) > 0)
- if (src.lawcheck[index+1] == "Yes" || force)
+ if (force || src.lawcheck[index+1] == "Yes")
src.say("[radiomod] [number]. [law]")
+ number++
sleep(10)
- number++
-
for (var/index = 1, index <= src.laws.supplied.len, index++)
var/law = src.laws.supplied[index]
if (length(law) > 0)
if(src.lawcheck.len >= number+1)
- if (src.lawcheck[number+1] == "Yes" || force)
+ if (force || src.lawcheck[number+1] == "Yes")
src.say("[radiomod] [number]. [law]")
+ number++
sleep(10)
- number++
/mob/living/silicon/proc/checklaws() //Gives you a link-driven interface for deciding what laws the statelaws() proc will share with the crew. --NeoFite
diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm
index ac8c7a7dbc3..2c9541b5c6b 100644
--- a/code/modules/mob/living/simple_animal/bot/bot.dm
+++ b/code/modules/mob/living/simple_animal/bot/bot.dm
@@ -302,7 +302,7 @@
/mob/living/simple_animal/bot/emp_act(severity)
var/was_on = on
stat |= EMPED
- PoolOrNew(/obj/effect/overlay/temp/emp, loc)
+ new /obj/effect/overlay/temp/emp(loc)
if(paicard)
paicard.emp_act(severity)
src.visible_message("[paicard] is flies out of [bot_name]!","You are forcefully ejected from [bot_name]!")
diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
index dbec44582ab..697e504f9bb 100644
--- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
@@ -136,7 +136,7 @@
bot_patrol()
if(target)
- if(qdeleted(target) || !isturf(target.loc))
+ if(QDELETED(target) || !isturf(target.loc))
target = null
mode = BOT_IDLE
return
@@ -242,7 +242,7 @@
T.MakeSlippery(min_wet_time = 20, wet_time_to_add = 15)
else
visible_message("[src] whirs and bubbles violently, before releasing a plume of froth!")
- PoolOrNew(/obj/effect/particle_effect/foam, loc)
+ new /obj/effect/particle_effect/foam(loc)
else
..()
diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm
index 9f215684072..98f055c476e 100644
--- a/code/modules/mob/living/simple_animal/bot/construction.dm
+++ b/code/modules/mob/living/simple_animal/bot/construction.dm
@@ -16,14 +16,13 @@
/obj/item/weapon/bucket_sensor/attackby(obj/item/W, mob/user as mob, params)
..()
if(istype(W, /obj/item/bodypart/l_arm/robot) || istype(W, /obj/item/bodypart/r_arm/robot))
- if(!user.unEquip(W))
+ if(!user.temporarilyRemoveItemFromInventory(W))
return
qdel(W)
var/turf/T = get_turf(loc)
var/mob/living/simple_animal/bot/cleanbot/A = new /mob/living/simple_animal/bot/cleanbot(T)
A.name = created_name
user << "You add the robot arm to the bucket and sensor assembly. Beep boop!"
- user.unEquip(src, 1)
qdel(src)
else if(istype(W, /obj/item/weapon/pen))
@@ -61,7 +60,7 @@
switch(build_step)
if(0,1)
if(istype(W, /obj/item/bodypart/l_leg/robot) || istype(W, /obj/item/bodypart/r_leg/robot))
- if(!user.unEquip(W))
+ if(!user.temporarilyRemoveItemFromInventory(W))
return
qdel(W)
build_step++
@@ -81,7 +80,7 @@
else if(istype(W, /obj/item/clothing/suit/bluetag))
newcolor = "b"
if(newcolor || istype(W, /obj/item/clothing/suit/armor/vest))
- if(!user.unEquip(W))
+ if(!user.temporarilyRemoveItemFromInventory(W))
return
lasercolor = newcolor
qdel(W)
@@ -112,7 +111,7 @@
if(!istype(W, /obj/item/clothing/head/helmet))
return
- if(!user.unEquip(W))
+ if(!user.temporarilyRemoveItemFromInventory(W))
return
qdel(W)
build_step++
@@ -123,7 +122,7 @@
if(5)
if(isprox(W))
- if(!user.unEquip(W))
+ if(!user.temporarilyRemoveItemFromInventory(W))
return
qdel(W)
build_step++
@@ -163,7 +162,7 @@
newname = "taser ED-209 assembly"
else
return
- if(!user.unEquip(W))
+ if(!user.temporarilyRemoveItemFromInventory(W))
return
name = newname
build_step++
@@ -183,14 +182,13 @@
if(9)
if(istype(W, /obj/item/weapon/stock_parts/cell))
- if(!user.unEquip(W))
+ if(!user.temporarilyRemoveItemFromInventory(W))
return
build_step++
user << "You complete the ED-209."
var/turf/T = get_turf(src)
new /mob/living/simple_animal/bot/ed209(T,created_name,lasercolor)
qdel(W)
- user.unEquip(src, 1)
qdel(src)
//Floorbot assemblies
@@ -231,7 +229,6 @@
var/obj/item/weapon/toolbox_tiles/B = new /obj/item/weapon/toolbox_tiles
user.put_in_hands(B)
user << "You add the tiles into the empty toolbox. They protrude from the top."
- user.unEquip(src, 1)
qdel(src)
else
user << "You need 10 floor tiles to start building a floorbot!"
@@ -245,7 +242,6 @@
B.created_name = created_name
user.put_in_hands(B)
user << "You add the sensor to the toolbox and tiles."
- user.unEquip(src, 1)
qdel(src)
else if(istype(W, /obj/item/weapon/pen))
@@ -265,7 +261,6 @@
var/mob/living/simple_animal/bot/floorbot/A = new /mob/living/simple_animal/bot/floorbot(T)
A.name = created_name
user << "You add the robot arm to the odd looking toolbox assembly. Boop beep!"
- user.unEquip(src, 1)
qdel(src)
else if(istype(W, /obj/item/weapon/pen))
var/t = stripped_input(user, "Enter new robot name", name, created_name,MAX_NAME_LEN)
@@ -316,7 +311,6 @@
qdel(S)
user.put_in_hands(A)
user << "You add the robot arm to the first aid kit."
- user.unEquip(src, 1)
qdel(src)
@@ -333,7 +327,7 @@
switch(build_step)
if(0)
if(istype(W, /obj/item/device/healthanalyzer))
- if(!user.unEquip(W))
+ if(!user.temporarilyRemoveItemFromInventory(W))
return
qdel(W)
build_step++
@@ -343,7 +337,7 @@
if(1)
if(isprox(W))
- if(!user.unEquip(W))
+ if(!user.temporarilyRemoveItemFromInventory(W))
return
qdel(W)
build_step++
@@ -352,7 +346,6 @@
var/mob/living/simple_animal/bot/medbot/S = new /mob/living/simple_animal/bot/medbot(T)
S.skin = skin
S.name = created_name
- user.unEquip(src, 1)
qdel(src)
//Secbot Assembly
@@ -383,7 +376,6 @@
var/obj/item/weapon/secbot_assembly/A = new /obj/item/weapon/secbot_assembly
user.put_in_hands(A)
user << "You add the signaler to the helmet."
- user.unEquip(src, 1)
qdel(src)
else
return
@@ -405,7 +397,7 @@
user << "You weld the hole in [src] shut!"
else if(isprox(I) && (build_step == 1))
- if(!user.unEquip(I))
+ if(!user.temporarilyRemoveItemFromInventory(I))
return
build_step++
user << "You add the prox sensor to [src]!"
@@ -414,7 +406,7 @@
qdel(I)
else if(((istype(I, /obj/item/bodypart/l_arm/robot)) || (istype(I, /obj/item/bodypart/r_arm/robot))) && (build_step == 2))
- if(!user.unEquip(I))
+ if(!user.temporarilyRemoveItemFromInventory(I))
return
build_step++
user << "You add the robot arm to [src]!"
@@ -423,13 +415,14 @@
qdel(I)
else if((istype(I, /obj/item/weapon/melee/baton)) && (build_step >= 3))
- if(!user.unEquip(I))
+ if(!user.temporarilyRemoveItemFromInventory(I))
return
build_step++
user << "You complete the Securitron! Beep boop."
var/mob/living/simple_animal/bot/secbot/S = new /mob/living/simple_animal/bot/secbot
S.loc = get_turf(src)
S.name = created_name
+ S.baton_type = I.type
qdel(I)
qdel(src)
diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm
index 26d48b5c033..77311e79241 100644
--- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm
+++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm
@@ -306,13 +306,13 @@ Auto Patrol[]"},
target = null
last_found = world.time
frustration = 0
- addtimer(CALLBACK(src, .proc/handle_automated_action), 0) //ensure bot quickly responds
+ INVOKE_ASYNC(src, .proc/handle_automated_action) //ensure bot quickly responds
/mob/living/simple_animal/bot/ed209/proc/back_to_hunt()
anchored = 0
frustration = 0
mode = BOT_HUNT
- addtimer(CALLBACK(src, .proc/handle_automated_action), 0) //ensure bot quickly responds
+ INVOKE_ASYNC(src, .proc/handle_automated_action) //ensure bot quickly responds
// look for a criminal in view of the bot
@@ -446,7 +446,7 @@ Auto Patrol[]"},
if(severity==2 && prob(70))
..(severity-1)
else
- PoolOrNew(/obj/effect/overlay/temp/emp, loc)
+ new /obj/effect/overlay/temp/emp(loc)
var/list/mob/living/carbon/targets = new
for(var/mob/living/carbon/C in view(12,src))
if(C.stat==2)
diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm
index 8cf7faa3fab..fdb98d181c0 100644
--- a/code/modules/mob/living/simple_animal/bot/secbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/secbot.dm
@@ -15,6 +15,7 @@
bot_type = SEC_BOT
model = "Securitron"
bot_core_type = /obj/machinery/bot_core/secbot
+ var/baton_type = /obj/item/weapon/melee/baton
window_id = "autosec"
window_name = "Automatic Security Unit v1.6"
allow_pai = 0
@@ -380,7 +381,7 @@ Auto Patrol: []"},
Sa.add_overlay("hs_hole")
Sa.created_name = name
new /obj/item/device/assembly/prox_sensor(Tsec)
- new /obj/item/weapon/melee/baton(Tsec)
+ new baton_type(Tsec)
if(prob(50))
new /obj/item/bodypart/l_arm/robot(Tsec)
diff --git a/code/modules/mob/living/simple_animal/friendly/cockroach.dm b/code/modules/mob/living/simple_animal/friendly/cockroach.dm
index b2304913ea6..7e1bf793d31 100644
--- a/code/modules/mob/living/simple_animal/friendly/cockroach.dm
+++ b/code/modules/mob/living/simple_animal/friendly/cockroach.dm
@@ -6,6 +6,7 @@
health = 1
maxHealth = 1
turns_per_move = 5
+ loot = list(/obj/effect/decal/cleanable/deadcockroach)
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 = 270
maxbodytemp = INFINITY
@@ -30,25 +31,23 @@
return
..()
-/mob/living/simple_animal/cockroach/proc/squish()
- adjustBruteLoss(1) // kills a normal cockroach
- new /obj/effect/decal/cleanable/deadcockroach(get_turf(src))
-
/mob/living/simple_animal/cockroach/Crossed(var/atom/movable/AM)
if(ismob(AM))
if(isliving(AM))
var/mob/living/A = AM
- if(A.mob_size > MOB_SIZE_SMALL)
+ if(A.mob_size > MOB_SIZE_SMALL && !(A.movement_type & FLYING))
if(prob(squish_chance))
- A.visible_message("\The [A] squashed \the [name].", "You squashed \the [name].")
- squish()
+ A.visible_message("[A] squashed [src].", "You squashed [src].")
+ adjustBruteLoss(1) //kills a normal cockroach
else
- visible_message("\The [name] avoids getting crushed.")
+ visible_message("[src] avoids getting crushed.")
else
- if(isobj(AM))
- if(istype(AM,/obj/structure))
- visible_message("As \the [AM] moved over \the [name], it was crushed.")
- squish()
+ if(istype(AM,/obj/structure))
+ if(prob(squish_chance))
+ AM.visible_message("[src] was crushed under [AM].")
+ adjustBruteLoss(1)
+ else
+ visible_message("[src] avoids getting crushed.")
/mob/living/simple_animal/cockroach/ex_act() //Explosions are a terrible way to handle a cockroach.
return
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 f344613cef5..8e6a6296fe4 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm
@@ -130,9 +130,9 @@
/mob/living/simple_animal/drone/death(gibbed)
..(gibbed)
if(internal_storage)
- unEquip(internal_storage)
+ dropItemToGround(internal_storage)
if(head)
- unEquip(head)
+ dropItemToGround(head)
alert_drones(DRONE_NET_DISCONNECT)
@@ -142,9 +142,9 @@
/mob/living/simple_animal/drone/ratvar_act()
if(internal_storage)
- unEquip(internal_storage)
+ dropItemToGround(internal_storage)
if(head)
- unEquip(head)
+ dropItemToGround(head)
var/mob/living/simple_animal/drone/cogscarab/ratvar/R = new /mob/living/simple_animal/drone/cogscarab/ratvar(loc)
R.setDir(dir)
if(mind)
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm
index 61e29c0c76a..5e5a15d095c 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm
@@ -35,7 +35,7 @@
user << "Can't become a drone before the game has started."
return
var/be_drone = alert("Become a drone? (Warning, You can no longer be cloned!)",,"Yes","No")
- if(be_drone == "No" || qdeleted(src) || !isobserver(user))
+ if(be_drone == "No" || QDELETED(src) || !isobserver(user))
return
var/mob/living/simple_animal/drone/D = new drone_type(get_turf(loc))
D.admin_spawned = admin_spawned
@@ -60,7 +60,7 @@
L << "[drone] is trying to escape!"
if(!do_after(drone, 50, target = L))
return
- L.unEquip(src)
+ L.dropItemToGround(src)
contents -= drone
drone.loc = get_turf(src)
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm
index 1437e77e56e..4de94d45b8d 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm
@@ -6,8 +6,8 @@
//Drone hands
-/mob/living/simple_animal/drone/unEquip(obj/item/I, force)
- if(..(I,force))
+/mob/living/simple_animal/drone/doUnEquip(obj/item/I, force)
+ if(..())
update_inv_hands()
if(I == head)
head = null
@@ -40,7 +40,7 @@
return head
if(slot_generic_dextrous_storage)
return internal_storage
- ..()
+ return ..()
/mob/living/simple_animal/drone/equip_to_slot(obj/item/I, slot)
diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm
index 0650ea26f0a..893c7128e4f 100644
--- a/code/modules/mob/living/simple_animal/guardian/guardian.dm
+++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm
@@ -136,7 +136,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
visible_message("\The [src] dies along with its user!")
summoner.visible_message("[summoner]'s body is completely consumed by the strain of sustaining [src]!")
for(var/obj/item/W in summoner)
- if(!summoner.unEquip(W))
+ if(!summoner.dropItemToGround(W))
qdel(W)
summoner.dust()
death(TRUE)
@@ -175,9 +175,9 @@ var/global/list/parasites = list() //all currently existing/living guardians
if(istype(summoner.loc, /obj/effect))
Recall(TRUE)
else
- PoolOrNew(/obj/effect/overlay/temp/guardian/phase/out, loc)
+ new /obj/effect/overlay/temp/guardian/phase/out(loc)
forceMove(summoner.loc)
- PoolOrNew(/obj/effect/overlay/temp/guardian/phase, loc)
+ new /obj/effect/overlay/temp/guardian/phase(loc)
/mob/living/simple_animal/hostile/guardian/canSuicide()
return 0
@@ -320,7 +320,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
return FALSE
if(loc == summoner)
forceMove(summoner.loc)
- PoolOrNew(/obj/effect/overlay/temp/guardian/phase, loc)
+ new /obj/effect/overlay/temp/guardian/phase(loc)
cooldown = world.time + 10
return TRUE
return FALSE
@@ -328,7 +328,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
/mob/living/simple_animal/hostile/guardian/proc/Recall(forced)
if(!summoner || loc == summoner || (cooldown > world.time && !forced))
return FALSE
- PoolOrNew(/obj/effect/overlay/temp/guardian/phase/out, loc)
+ new /obj/effect/overlay/temp/guardian/phase/out(loc)
forceMove(summoner)
cooldown = world.time + 10
diff --git a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm
index 73e48a73c1b..b14609413eb 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm
@@ -71,7 +71,7 @@
armour_penetration = 100
obj_damage = 0
environment_smash = 0
- PoolOrNew(/obj/effect/overlay/temp/guardian/phase/out, get_turf(src))
+ new /obj/effect/overlay/temp/guardian/phase/out(get_turf(src))
alpha = 15
if(!forced)
src << "You enter stealth, empowering your next attack."
diff --git a/code/modules/mob/living/simple_animal/guardian/types/charger.dm b/code/modules/mob/living/simple_animal/guardian/types/charger.dm
index 31636ed3c80..708a1e2ce6b 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/charger.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/charger.dm
@@ -40,7 +40,7 @@
/mob/living/simple_animal/hostile/guardian/charger/Move()
if(charging)
- PoolOrNew(/obj/effect/overlay/temp/decoy/fading, list(loc,src))
+ new /obj/effect/overlay/temp/decoy/fading(loc,src)
. = ..()
/mob/living/simple_animal/hostile/guardian/charger/snapback()
diff --git a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm
index ed24b79cd12..b8d942fa5a8 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm
@@ -22,7 +22,7 @@
/mob/living/simple_animal/hostile/guardian/dextrous/death(gibbed)
..()
if(internal_storage)
- unEquip(internal_storage)
+ dropItemToGround(internal_storage)
/mob/living/simple_animal/hostile/guardian/dextrous/examine(mob/user)
if(dextrous)
@@ -58,8 +58,8 @@
..() //lose items, then return
//SLOT HANDLING BULLSHIT FOR INTERNAL STORAGE
-/mob/living/simple_animal/hostile/guardian/dextrous/unEquip(obj/item/I, force)
- if(..(I,force))
+/mob/living/simple_animal/hostile/guardian/dextrous/doUnEquip(obj/item/I, force)
+ if(..())
update_inv_hands()
if(I == internal_storage)
internal_storage = null
diff --git a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm
index a8fd15e8531..acad094cc24 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm
@@ -22,14 +22,14 @@
if(isliving(target))
var/mob/living/M = target
if(!M.anchored && M != summoner && !hasmatchingsummoner(M))
- PoolOrNew(/obj/effect/overlay/temp/guardian/phase/out, get_turf(M))
+ new /obj/effect/overlay/temp/guardian/phase/out(get_turf(M))
do_teleport(M, M, 10)
for(var/mob/living/L in range(1, M))
if(hasmatchingsummoner(L)) //if the summoner matches don't hurt them
continue
if(L != src && L != summoner)
L.apply_damage(15, BRUTE)
- PoolOrNew(/obj/effect/overlay/temp/explosion, get_turf(M))
+ new /obj/effect/overlay/temp/explosion(get_turf(M))
/mob/living/simple_animal/hostile/guardian/bomb/AltClickOn(atom/movable/A)
if(!istype(A))
@@ -76,7 +76,7 @@
var/turf/T = get_turf(src)
stored_obj.forceMove(T)
playsound(T,'sound/effects/Explosion2.ogg', 200, 1)
- PoolOrNew(/obj/effect/overlay/temp/explosion, T)
+ new /obj/effect/overlay/temp/explosion(T)
user.ex_act(2)
qdel(src)
else
diff --git a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm b/code/modules/mob/living/simple_animal/guardian/types/lightning.dm
index 441f27fc9e8..db245fea50e 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/lightning.dm
@@ -55,11 +55,12 @@
removechains()
/mob/living/simple_animal/hostile/guardian/beam/proc/cleardeletedchains()
- if(summonerchain && qdeleted(summonerchain))
+ if(summonerchain && QDELETED(summonerchain))
summonerchain = null
if(enemychains.len)
for(var/chain in enemychains)
- if(!chain || qdeleted(chain))
+ var/datum/cd = chain
+ if(!chain || QDELETED(cd))
enemychains -= chain
/mob/living/simple_animal/hostile/guardian/beam/proc/shockallchains()
diff --git a/code/modules/mob/living/simple_animal/guardian/types/protector.dm b/code/modules/mob/living/simple_animal/guardian/types/protector.dm
index 3613d0bdd74..5defc82199e 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/protector.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/protector.dm
@@ -63,6 +63,6 @@
else
summoner << "You moved out of range, and were pulled back! You can only move [range] meters from [real_name]!"
summoner.visible_message("\The [summoner] jumps back to [summoner.p_their()] protector.")
- PoolOrNew(/obj/effect/overlay/temp/guardian/phase/out, get_turf(summoner))
+ new /obj/effect/overlay/temp/guardian/phase/out(get_turf(summoner))
summoner.forceMove(get_turf(src))
- PoolOrNew(/obj/effect/overlay/temp/guardian/phase, get_turf(summoner))
+ new /obj/effect/overlay/temp/guardian/phase(get_turf(summoner))
diff --git a/code/modules/mob/living/simple_animal/guardian/types/support.dm b/code/modules/mob/living/simple_animal/guardian/types/support.dm
index c7583b71c7b..e8ac9184dd9 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/support.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/support.dm
@@ -35,7 +35,7 @@
C.adjustFireLoss(-5)
C.adjustOxyLoss(-5)
C.adjustToxLoss(-5)
- var/obj/effect/overlay/temp/heal/H = PoolOrNew(/obj/effect/overlay/temp/heal, get_turf(C))
+ var/obj/effect/overlay/temp/heal/H = new /obj/effect/overlay/temp/heal(get_turf(C))
if(namedatum)
H.color = namedatum.colour
if(C == summoner)
@@ -137,11 +137,11 @@
src << "You need to hold still!"
return
- PoolOrNew(/obj/effect/overlay/temp/guardian/phase/out, T)
+ new /obj/effect/overlay/temp/guardian/phase/out(T)
if(isliving(A))
var/mob/living/L = A
L.flash_act()
A.visible_message("[A] disappears in a flash of light!", \
"Your vision is obscured by a flash of light!")
do_teleport(A, beacon, 0)
- PoolOrNew(/obj/effect/overlay/temp/guardian/phase, get_turf(A))
+ new /obj/effect/overlay/temp/guardian/phase(get_turf(A))
diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm
index be00d14a180..ceb8d563bfd 100644
--- a/code/modules/mob/living/simple_animal/hostile/alien.dm
+++ b/code/modules/mob/living/simple_animal/hostile/alien.dm
@@ -2,8 +2,8 @@
name = "alien hunter"
desc = "Hiss!"
icon = 'icons/mob/alien.dmi'
- icon_state = "alienh_s"
- icon_living = "alienh_s"
+ icon_state = "alienh"
+ icon_living = "alienh"
icon_dead = "alienh_dead"
icon_gib = "syndicate_gib"
gender = FEMALE
@@ -38,8 +38,8 @@
/mob/living/simple_animal/hostile/alien/drone
name = "alien drone"
- icon_state = "aliend_s"
- icon_living = "aliend_s"
+ icon_state = "aliend"
+ icon_living = "aliend"
icon_dead = "aliend_dead"
melee_damage_lower = 15
melee_damage_upper = 15
@@ -57,8 +57,8 @@
/mob/living/simple_animal/hostile/alien/sentinel
name = "alien sentinel"
- icon_state = "aliens_s"
- icon_living = "aliens_s"
+ icon_state = "aliens"
+ icon_living = "aliens"
icon_dead = "aliens_dead"
health = 150
maxHealth = 150
@@ -73,8 +73,8 @@
/mob/living/simple_animal/hostile/alien/queen
name = "alien queen"
- icon_state = "alienq_s"
- icon_living = "alienq_s"
+ icon_state = "alienq"
+ icon_living = "alienq"
icon_dead = "alienq_dead"
health = 250
maxHealth = 250
diff --git a/code/modules/mob/living/simple_animal/hostile/flan.dm b/code/modules/mob/living/simple_animal/hostile/flan.dm
index f793e2a8dcb..1d0bfd9aac8 100644
--- a/code/modules/mob/living/simple_animal/hostile/flan.dm
+++ b/code/modules/mob/living/simple_animal/hostile/flan.dm
@@ -48,7 +48,7 @@
casting = 1
icon_state = "[initial(icon_state)][casting]"
if(do_after_mob(src, A, spellcasttime, uninterruptible = 1, progress = 0)) //Break LOS to dodge.
- if(qdeleted(src))
+ if(QDELETED(src))
return
if((A in view(src)))
A.do_attack_animation(A, spellanimation)
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 db0a4670eed..720d10e536c 100644
--- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
+++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
@@ -65,7 +65,7 @@
if(key || !playable_spider)//Someone is in it or the fun police are shutting it down
return 0
var/spider_ask = alert("Become a spider?", "Are you australian?", "Yes", "No")
- if(spider_ask == "No" || !src || qdeleted(src))
+ if(spider_ask == "No" || !src || QDELETED(src))
return 1
if(key)
user << "Someone else already took this spider."
diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm
index a2c96135bfb..6d5d64c59a7 100644
--- a/code/modules/mob/living/simple_animal/hostile/hostile.dm
+++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm
@@ -421,7 +421,7 @@
/mob/living/simple_animal/hostile/proc/GainPatience()
if(lose_patience_timeout)
LosePatience()
- lose_patience_timer_id = addtimer(CALLBACK(src, .proc/LoseTarget), lose_patience_timeout)
+ lose_patience_timer_id = addtimer(CALLBACK(src, .proc/LoseTarget), lose_patience_timeout, TIMER_STOPPABLE)
/mob/living/simple_animal/hostile/proc/LosePatience()
@@ -432,7 +432,7 @@
/mob/living/simple_animal/hostile/proc/LoseSearchObjects()
search_objects = 0
deltimer(search_objects_timer_id)
- search_objects_timer_id = addtimer(CALLBACK(src, .proc/RegainSearchObjects), search_objects_regain_time)
+ search_objects_timer_id = addtimer(CALLBACK(src, .proc/RegainSearchObjects), search_objects_regain_time, TIMER_STOPPABLE)
/mob/living/simple_animal/hostile/proc/RegainSearchObjects(value)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm
index 36aba02fdc1..6623271f951 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm
@@ -88,19 +88,19 @@ Difficulty: Hard
var/warped = FALSE
if(!try_bloodattack())
- addtimer(CALLBACK(src, .proc/blood_spray), 0)
+ INVOKE_ASYNC(src, .proc/blood_spray)
warped = blood_warp()
if(warped && prob(100 - anger_modifier))
return
if(prob(90 - anger_modifier) || slaughterlings())
if(health > maxHealth * 0.5)
- addtimer(CALLBACK(src, .proc/charge), 0)
+ INVOKE_ASYNC(src, .proc/charge)
else
if(prob(70) || warped)
- addtimer(CALLBACK(src, .proc/triple_charge), 0)
+ INVOKE_ASYNC(src, .proc/triple_charge)
else
- addtimer(CALLBACK(src, .proc/warp_charge), 0)
+ INVOKE_ASYNC(src, .proc/warp_charge)
/mob/living/simple_animal/hostile/megafauna/bubblegum/New()
@@ -129,7 +129,7 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/bubblegum/Move()
if(charging)
- PoolOrNew(/obj/effect/overlay/temp/decoy/fading, list(loc,src))
+ new /obj/effect/overlay/temp/decoy/fading(loc,src)
DestroySurroundings()
. = ..()
if(!stat && .)
@@ -150,12 +150,12 @@ Difficulty: Hard
var/turf/T = get_turf(target)
if(!T || T == loc)
return
- PoolOrNew(/obj/effect/overlay/temp/dragon_swoop, T)
+ new /obj/effect/overlay/temp/dragon_swoop(T)
charging = 1
DestroySurroundings()
walk(src, 0)
setDir(get_dir(src, T))
- var/obj/effect/overlay/temp/decoy/D = PoolOrNew(/obj/effect/overlay/temp/decoy, list(loc,src))
+ var/obj/effect/overlay/temp/decoy/D = new /obj/effect/overlay/temp/decoy(loc,src)
animate(D, alpha = 0, color = "#FF0000", transform = matrix()*2, time = 5)
sleep(5)
throw_at(T, get_dist(src, T), 1, src, 0, callback = CALLBACK(src, .charge_end))
@@ -201,7 +201,7 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/bubblegum/proc/try_bloodattack()
var/list/targets = get_mobs_on_blood()
if(targets.len)
- addtimer(CALLBACK(src, .proc/bloodattack, targets, prob(50)), 0)
+ INVOKE_ASYNC(src, .proc/bloodattack, targets, prob(50))
return TRUE
return FALSE
@@ -240,9 +240,9 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/bubblegum/proc/bloodsmack(turf/T, handedness)
if(handedness)
- PoolOrNew(/obj/effect/overlay/temp/bubblegum_hands/rightsmack, T)
+ new /obj/effect/overlay/temp/bubblegum_hands/rightsmack(T)
else
- PoolOrNew(/obj/effect/overlay/temp/bubblegum_hands/leftsmack, T)
+ new /obj/effect/overlay/temp/bubblegum_hands/leftsmack(T)
sleep(2.5)
for(var/mob/living/L in T)
if(!faction_check(L))
@@ -254,11 +254,11 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/bubblegum/proc/bloodgrab(turf/T, handedness)
if(handedness)
- PoolOrNew(/obj/effect/overlay/temp/bubblegum_hands/rightpaw, T)
- PoolOrNew(/obj/effect/overlay/temp/bubblegum_hands/rightthumb, T)
+ new /obj/effect/overlay/temp/bubblegum_hands/rightpaw(T)
+ new /obj/effect/overlay/temp/bubblegum_hands/rightthumb(T)
else
- PoolOrNew(/obj/effect/overlay/temp/bubblegum_hands/leftpaw, T)
- PoolOrNew(/obj/effect/overlay/temp/bubblegum_hands/leftthumb, T)
+ new /obj/effect/overlay/temp/bubblegum_hands/leftpaw(T)
+ new /obj/effect/overlay/temp/bubblegum_hands/leftthumb(T)
sleep(6)
for(var/mob/living/L in T)
if(!faction_check(L))
@@ -308,7 +308,7 @@ Difficulty: Hard
if(!pools.len)
return FALSE
- var/obj/effect/overlay/temp/decoy/DA = PoolOrNew(/obj/effect/overlay/temp/decoy, list(loc,src))
+ var/obj/effect/overlay/temp/decoy/DA = new /obj/effect/overlay/temp/decoy(loc,src)
DA.color = "#FF0000"
var/oldtransform = DA.transform
DA.transform = matrix()*2
@@ -350,7 +350,7 @@ Difficulty: Hard
new /obj/effect/decal/cleanable/blood/bubblegum(J)
for(var/i in 1 to range)
J = get_step(previousturf, targetdir)
- PoolOrNew(/obj/effect/overlay/temp/dir_setting/bloodsplatter, list(previousturf, get_dir(previousturf, J)))
+ new /obj/effect/overlay/temp/dir_setting/bloodsplatter(previousturf, get_dir(previousturf, J))
playsound(previousturf,'sound/effects/splat.ogg', 100, 1, -1)
if(!J || !previousturf.atmos_adjacent_turfs || !previousturf.atmos_adjacent_turfs[J])
break
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
index faed96594da..3adfb7f328c 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
@@ -77,7 +77,7 @@ Difficulty: Very Hard
double_spiral()
else
visible_message("\"Judgement.\"")
- addtimer(CALLBACK(src, .proc/spiral_shoot, rand(0, 1)), 0)
+ INVOKE_ASYNC(src, .proc/spiral_shoot, rand(0, 1))
else if(prob(20))
ranged_cooldown = world.time + 30
@@ -88,7 +88,7 @@ Difficulty: Very Hard
blast()
else
ranged_cooldown = world.time + 40
- addtimer(CALLBACK(src, .proc/alternating_dir_shots), 0)
+ INVOKE_ASYNC(src, .proc/alternating_dir_shots)
/mob/living/simple_animal/hostile/megafauna/colossus/New()
@@ -108,11 +108,11 @@ Difficulty: Very Hard
/obj/effect/overlay/temp/at_shield/New(new_loc, new_target)
..()
target = new_target
- addtimer(CALLBACK(src, /atom/movable/proc/orbit, target, 0, FALSE, 0, 0, FALSE, TRUE), 0)
+ INVOKE_ASYNC(src, /atom/movable/proc/orbit, target, 0, FALSE, 0, 0, FALSE, TRUE)
/mob/living/simple_animal/hostile/megafauna/colossus/bullet_act(obj/item/projectile/P)
if(!stat)
- var/obj/effect/overlay/temp/at_shield/AT = PoolOrNew(/obj/effect/overlay/temp/at_shield, src.loc, src)
+ var/obj/effect/overlay/temp/at_shield/AT = new /obj/effect/overlay/temp/at_shield(src.loc, src)
var/random_x = rand(-32, 32)
AT.pixel_x += random_x
@@ -139,8 +139,8 @@ Difficulty: Very Hard
visible_message("\"Die.\"")
sleep(10)
- addtimer(CALLBACK(src, .proc/spiral_shoot), 0)
- addtimer(CALLBACK(src, .proc/spiral_shoot, 1), 0)
+ INVOKE_ASYNC(src, .proc/spiral_shoot)
+ INVOKE_ASYNC(src, .proc/spiral_shoot, 1)
/mob/living/simple_animal/hostile/megafauna/colossus/proc/spiral_shoot(negative = 0, counter_start = 1)
var/counter = counter_start
@@ -438,7 +438,7 @@ Difficulty: Very Hard
if(..() && ishuman(user) && !(user in affected_targets))
var/mob/living/carbon/human/H = user
for(var/obj/item/W in H)
- H.unEquip(W)
+ H.dropItemToGround(W)
var/datum/job/clown/C = new /datum/job/clown()
C.equip(H)
qdel(C)
@@ -526,7 +526,7 @@ Difficulty: Very Hard
/obj/machinery/anomalous_crystal/emitter/New()
..()
- generated_projectile = pick(/obj/item/projectile/magic/fireball/infernal,/obj/item/projectile/magic/spellblade,
+ generated_projectile = pick(/obj/item/projectile/magic/aoe/fireball/infernal,/obj/item/projectile/magic/aoe/lightning,/obj/item/projectile/magic/spellblade,
/obj/item/projectile/bullet/meteorshot, /obj/item/projectile/beam/xray, /obj/item/projectile/colossus)
/obj/machinery/anomalous_crystal/emitter/ActivationReaction(mob/user, method)
@@ -556,7 +556,7 @@ Difficulty: Very Hard
if(..())
for(var/i in range(1, src))
if(isturf(i))
- PoolOrNew(/obj/effect/overlay/temp/cult/sparks, i)
+ new /obj/effect/overlay/temp/cult/sparks(i)
continue
if(ishuman(i))
var/mob/living/carbon/human/H = i
@@ -579,7 +579,7 @@ Difficulty: Very Hard
..()
if(ready_to_deploy)
var/be_helper = alert("Become a Lightgeist? (Warning, You can no longer be cloned!)",,"Yes","No")
- if(be_helper == "Yes" && !qdeleted(src) && isobserver(user))
+ if(be_helper == "Yes" && !QDELETED(src) && isobserver(user))
var/mob/living/simple_animal/hostile/lightgeist/W = new /mob/living/simple_animal/hostile/lightgeist(get_turf(loc))
W.key = user.key
@@ -644,7 +644,7 @@ Difficulty: Very Hard
var/mob/living/L = target
if(L.stat < DEAD)
L.heal_overall_damage(heal_power, heal_power)
- PoolOrNew(/obj/effect/overlay/temp/heal, list(get_turf(target), "#80F5FF"))
+ new /obj/effect/overlay/temp/heal(get_turf(target), "#80F5FF")
/mob/living/simple_animal/hostile/lightgeist/ghostize()
. = ..()
@@ -667,7 +667,7 @@ Difficulty: Very Hard
if(..())
var/list/L = list()
var/turf/T = get_step(src, dir)
- PoolOrNew(/obj/effect/overlay/temp/emp/pulse,T)
+ new /obj/effect/overlay/temp/emp/pulse(T)
for(var/i in T)
if(istype(i, /obj/item) && !is_type_in_typecache(i, banned_items_typecache))
var/obj/item/W = i
@@ -706,7 +706,7 @@ Difficulty: Very Hard
/obj/structure/closet/stasis/process()
if(holder_animal)
- if(holder_animal.stat == DEAD && !qdeleted(holder_animal))
+ if(holder_animal.stat == DEAD && !QDELETED(holder_animal))
dump_contents()
holder_animal.gib()
return
@@ -734,7 +734,7 @@ Difficulty: Very Hard
L.disabilities &= ~MUTE
L.status_flags &= ~GODMODE
L.notransform = 0
- if(holder_animal && !qdeleted(holder_animal))
+ if(holder_animal && !QDELETED(holder_animal))
holder_animal.mind.transfer_to(L)
L.mind.RemoveSpell(/obj/effect/proc_holder/spell/targeted/exit_possession)
if(kill || !isanimal(loc))
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm
index 007d346ca1c..1916ca0ad8d 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm
@@ -123,12 +123,12 @@ Difficulty: Medium
/obj/effect/overlay/temp/target/New(loc)
..()
- addtimer(CALLBACK(src, .proc/fall), 0)
+ INVOKE_ASYNC(src, .proc/fall)
/obj/effect/overlay/temp/target/proc/fall()
var/turf/T = get_turf(src)
playsound(T,'sound/magic/Fireball.ogg', 200, 1)
- PoolOrNew(/obj/effect/overlay/temp/fireball,T)
+ new /obj/effect/overlay/temp/fireball(T)
sleep(12)
explosion(T, 0, 0, 1, 0, 0, 0, 1)
@@ -141,15 +141,15 @@ Difficulty: Medium
if(prob(15 + anger_modifier) && !client)
if(health < maxHealth/2)
- addtimer(CALLBACK(src, .proc/swoop_attack, 1), 0)
+ INVOKE_ASYNC(src, .proc/swoop_attack, 1)
else
fire_rain()
else if(prob(10+anger_modifier) && !client)
if(health > maxHealth/2)
- addtimer(CALLBACK(src, .proc/swoop_attack), 0)
+ INVOKE_ASYNC(src, .proc/swoop_attack)
else
- addtimer(CALLBACK(src, .proc/triple_swoop), 0)
+ INVOKE_ASYNC(src, .proc/triple_swoop)
else
fire_walls()
@@ -157,13 +157,13 @@ Difficulty: Medium
visible_message("Fire rains from the sky!")
for(var/turf/turf in range(12,get_turf(src)))
if(prob(10))
- PoolOrNew(/obj/effect/overlay/temp/target, turf)
+ new /obj/effect/overlay/temp/target(turf)
/mob/living/simple_animal/hostile/megafauna/dragon/proc/fire_walls()
playsound(get_turf(src),'sound/magic/Fireball.ogg', 200, 1)
for(var/d in cardinal)
- addtimer(CALLBACK(src, .proc/fire_wall, d), 0)
+ INVOKE_ASYNC(src, .proc/fire_wall, d)
/mob/living/simple_animal/hostile/megafauna/dragon/proc/fire_wall(dir)
var/list/hit_things = list(src)
@@ -174,7 +174,7 @@ Difficulty: Medium
if(!range || (J != previousturf && (!previousturf.atmos_adjacent_turfs || !previousturf.atmos_adjacent_turfs[J])))
break
range--
- PoolOrNew(/obj/effect/hotspot,J)
+ new /obj/effect/hotspot(J)
J.hotspot_expose(700,50,1)
for(var/mob/living/L in J.contents - hit_things)
L.adjustFireLoss(20)
@@ -213,12 +213,12 @@ Difficulty: Medium
fire_rain()
icon_state = "dragon"
- if(swoop_target && !qdeleted(swoop_target) && swoop_target.z == src.z)
+ if(swoop_target && !QDELETED(swoop_target) && swoop_target.z == src.z)
tturf = get_turf(swoop_target)
else
tturf = get_turf(src)
forceMove(tturf)
- PoolOrNew(/obj/effect/overlay/temp/dragon_swoop, tturf)
+ new /obj/effect/overlay/temp/dragon_swoop(tturf)
animate(src, pixel_x = initial(pixel_x), pixel_z = 0, time = 10)
sleep(10)
playsound(src.loc, 'sound/effects/meteorimpact.ogg', 200, 1)
@@ -228,7 +228,7 @@ Difficulty: Medium
L.gib()
else
L.adjustBruteLoss(75)
- if(L && !qdeleted(L)) // Some mobs are deleted on death
+ if(L && !QDELETED(L)) // Some mobs are deleted on death
var/throw_dir = get_dir(src, L)
if(L.loc == loc)
throw_dir = pick(alldirs)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
index aa84aa89917..06257b9b640 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
@@ -80,7 +80,7 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/hierophant/Life()
. = ..()
- if(. && spawned_beacon && !qdeleted(spawned_beacon) && !client)
+ if(. && spawned_beacon && !QDELETED(spawned_beacon) && !client)
if(target || loc == spawned_beacon.loc)
timeout_time = initial(timeout_time)
else
@@ -114,7 +114,7 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/hierophant/devour(mob/living/L)
for(var/obj/item/W in L)
- if(!L.unEquip(W))
+ if(!L.dropItemToGround(W))
qdel(W)
visible_message(
"\"[pick(kill_phrases)]\"\n[src] annihilates [L]!",
@@ -139,7 +139,7 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/hierophant/AttackingTarget()
if(!blinking)
if(target && isliving(target))
- addtimer(CALLBACK(src, .proc/melee_blast, get_turf(target)), 0) //melee attacks on living mobs produce a 3x3 blast
+ INVOKE_ASYNC(src, .proc/melee_blast, get_turf(target)) //melee attacks on living mobs produce a 3x3 blast
..()
/mob/living/simple_animal/hostile/megafauna/hierophant/DestroySurroundings()
@@ -151,7 +151,7 @@ Difficulty: Hard
var/prevloc = loc
. = ..()
if(!stat && .)
- var/obj/effect/overlay/temp/hierophant/squares/HS = PoolOrNew(/obj/effect/overlay/temp/hierophant/squares, prevloc)
+ var/obj/effect/overlay/temp/hierophant/squares/HS = new /obj/effect/overlay/temp/hierophant/squares(prevloc)
HS.dir = dir
playsound(loc, 'sound/mecha/mechmove04.ogg', 150, 1, -4)
if(target)
@@ -229,9 +229,9 @@ Difficulty: Hard
cross_counter--
var/delay = 7
if(prob(60))
- addtimer(CALLBACK(src, .proc/cardinal_blasts, target), 0)
+ INVOKE_ASYNC(src, .proc/cardinal_blasts, target)
else
- addtimer(CALLBACK(src, .proc/diagonal_blasts, target), 0)
+ INVOKE_ASYNC(src, .proc/diagonal_blasts, target)
delay = 5 //this one isn't so mean, so do the next one faster(if there is one)
sleep(delay)
animate(src, color = oldcolor, time = 8)
@@ -251,7 +251,7 @@ Difficulty: Hard
pickedtarget = pick_n_take(targets)
if(!istype(pickedtarget) || pickedtarget.stat == DEAD)
pickedtarget = target
- var/obj/effect/overlay/temp/hierophant/chaser/C = PoolOrNew(/obj/effect/overlay/temp/hierophant/chaser, list(loc, src, pickedtarget, chaser_speed, FALSE))
+ var/obj/effect/overlay/temp/hierophant/chaser/C = new /obj/effect/overlay/temp/hierophant/chaser(loc, src, pickedtarget, chaser_speed, FALSE)
C.moving = 3
C.moving_dir = pick_n_take(cardinal_copy)
sleep(10)
@@ -268,67 +268,67 @@ Difficulty: Hard
else if(prob(70 - anger_modifier)) //a cross blast of some type
if(prob(anger_modifier)) //at us?
if(prob(anger_modifier * 2) && health < maxHealth * 0.5) //we're super angry do it at all dirs
- addtimer(CALLBACK(src, .proc/alldir_blasts, src), 0)
+ INVOKE_ASYNC(src, .proc/alldir_blasts, src)
else if(prob(60))
- addtimer(CALLBACK(src, .proc/cardinal_blasts, src), 0)
+ INVOKE_ASYNC(src, .proc/cardinal_blasts, src)
else
- addtimer(CALLBACK(src, .proc/diagonal_blasts, src), 0)
+ INVOKE_ASYNC(src, .proc/diagonal_blasts, src)
else //at them?
if(prob(anger_modifier * 2) && health < maxHealth * 0.5 && !target_is_slow) //we're super angry do it at all dirs
- addtimer(CALLBACK(src, .proc/alldir_blasts, target), 0)
+ INVOKE_ASYNC(src, .proc/alldir_blasts, target)
else if(prob(60))
- addtimer(CALLBACK(src, .proc/cardinal_blasts, target), 0)
+ INVOKE_ASYNC(src, .proc/cardinal_blasts, target)
else
- addtimer(CALLBACK(src, .proc/diagonal_blasts, target), 0)
+ INVOKE_ASYNC(src, .proc/diagonal_blasts, target)
else if(chaser_cooldown < world.time) //if chasers are off cooldown, fire some!
- var/obj/effect/overlay/temp/hierophant/chaser/C = PoolOrNew(/obj/effect/overlay/temp/hierophant/chaser, list(loc, src, target, chaser_speed, FALSE))
+ var/obj/effect/overlay/temp/hierophant/chaser/C = new /obj/effect/overlay/temp/hierophant/chaser(loc, src, target, chaser_speed, FALSE)
chaser_cooldown = world.time + initial(chaser_cooldown)
if((prob(anger_modifier) || target.Adjacent(src)) && target != src)
- var/obj/effect/overlay/temp/hierophant/chaser/OC = PoolOrNew(/obj/effect/overlay/temp/hierophant/chaser, list(loc, src, target, max(1.5, 5 - anger_modifier * 0.07), FALSE))
+ var/obj/effect/overlay/temp/hierophant/chaser/OC = new /obj/effect/overlay/temp/hierophant/chaser(loc, src, target, max(1.5, 5 - anger_modifier * 0.07), FALSE)
OC.moving = 4
OC.moving_dir = pick(cardinal - C.moving_dir)
else //just release a burst of power
- addtimer(CALLBACK(src, .proc/burst, get_turf(src)), 0)
+ INVOKE_ASYNC(src, .proc/burst, get_turf(src))
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/diagonal_blasts(mob/victim) //fire diagonal cross blasts with a delay
var/turf/T = get_turf(victim)
if(!T)
return
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/diagonal, list(T, src))
+ new /obj/effect/overlay/temp/hierophant/telegraph/diagonal(T, src)
playsound(T,'sound/effects/bin_close.ogg', 200, 1)
sleep(2)
- PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(T, src, FALSE))
+ new /obj/effect/overlay/temp/hierophant/blast(T, src, FALSE)
for(var/d in diagonals)
- addtimer(CALLBACK(src, .proc/blast_wall, T, d), 0)
+ INVOKE_ASYNC(src, .proc/blast_wall, T, d)
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/cardinal_blasts(mob/victim) //fire cardinal cross blasts with a delay
var/turf/T = get_turf(victim)
if(!T)
return
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/cardinal, list(T, src))
+ new /obj/effect/overlay/temp/hierophant/telegraph/cardinal(T, src)
playsound(T,'sound/effects/bin_close.ogg', 200, 1)
sleep(2)
- PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(T, src, FALSE))
+ new /obj/effect/overlay/temp/hierophant/blast(T, src, FALSE)
for(var/d in cardinal)
- addtimer(CALLBACK(src, .proc/blast_wall, T, d), 0)
+ INVOKE_ASYNC(src, .proc/blast_wall, T, d)
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/alldir_blasts(mob/victim) //fire alldir cross blasts with a delay
var/turf/T = get_turf(victim)
if(!T)
return
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph, list(T, src))
+ new /obj/effect/overlay/temp/hierophant/telegraph(T, src)
playsound(T,'sound/effects/bin_close.ogg', 200, 1)
sleep(2)
- PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(T, src, FALSE))
+ new /obj/effect/overlay/temp/hierophant/blast(T, src, FALSE)
for(var/d in alldirs)
- addtimer(CALLBACK(src, .proc/blast_wall, T, d), 0)
+ INVOKE_ASYNC(src, .proc/blast_wall, T, d)
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/blast_wall(turf/T, set_dir) //make a wall of blasts beam_range tiles long
var/range = beam_range
var/turf/previousturf = T
var/turf/J = get_step(previousturf, set_dir)
for(var/i in 1 to range)
- PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(J, src, FALSE))
+ new /obj/effect/overlay/temp/hierophant/blast(J, src, FALSE)
previousturf = J
J = get_step(previousturf, set_dir)
@@ -340,19 +340,19 @@ Difficulty: Hard
return
arena_cooldown = world.time + initial(arena_cooldown)
for(var/d in cardinal)
- addtimer(CALLBACK(src, .proc/arena_squares, T, d), 0)
+ INVOKE_ASYNC(src, .proc/arena_squares, T, d)
for(var/t in RANGE_TURFS(11, T))
if(t && get_dist(t, T) == 11)
new /obj/effect/overlay/temp/hierophant/wall(t)
- PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(t, src, FALSE))
+ new /obj/effect/overlay/temp/hierophant/blast(t, src, FALSE)
if(get_dist(src, T) >= 11) //hey you're out of range I need to get closer to you!
- addtimer(CALLBACK(src, .proc/blink, T), 0)
+ INVOKE_ASYNC(src, .proc/blink, T)
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/arena_squares(turf/T, set_dir) //make a fancy effect extending from the arena target
var/turf/previousturf = T
var/turf/J = get_step(previousturf, set_dir)
for(var/i in 1 to 10)
- var/obj/effect/overlay/temp/hierophant/squares/HS = PoolOrNew(/obj/effect/overlay/temp/hierophant/squares, J)
+ var/obj/effect/overlay/temp/hierophant/squares/HS = new /obj/effect/overlay/temp/hierophant/squares(J)
HS.dir = set_dir
previousturf = J
J = get_step(previousturf, set_dir)
@@ -363,19 +363,19 @@ Difficulty: Hard
return
var/turf/T = get_turf(victim)
var/turf/source = get_turf(src)
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph, list(T, src))
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph, list(source, src))
+ new /obj/effect/overlay/temp/hierophant/telegraph(T, src)
+ new /obj/effect/overlay/temp/hierophant/telegraph(source, src)
playsound(T,'sound/magic/Wand_Teleport.ogg', 200, 1)
playsound(source,'sound/machines/AirlockOpen.ogg', 200, 1)
blinking = TRUE
sleep(2) //short delay before we start...
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/teleport, list(T, src))
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/teleport, list(source, src))
+ new /obj/effect/overlay/temp/hierophant/telegraph/teleport(T, src)
+ new /obj/effect/overlay/temp/hierophant/telegraph/teleport(source, src)
for(var/t in RANGE_TURFS(1, T))
- var/obj/effect/overlay/temp/hierophant/blast/B = PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(t, src, FALSE))
+ var/obj/effect/overlay/temp/hierophant/blast/B = new /obj/effect/overlay/temp/hierophant/blast(t, src, FALSE)
B.damage = 30
for(var/t in RANGE_TURFS(1, source))
- var/obj/effect/overlay/temp/hierophant/blast/B = PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(t, src, FALSE))
+ var/obj/effect/overlay/temp/hierophant/blast/B = new /obj/effect/overlay/temp/hierophant/blast(t, src, FALSE)
B.damage = 30
animate(src, alpha = 0, time = 2, easing = EASE_OUT) //fade out
sleep(1)
@@ -397,11 +397,11 @@ Difficulty: Hard
var/turf/T = get_turf(victim)
if(!T)
return
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph, list(T, src))
+ new /obj/effect/overlay/temp/hierophant/telegraph(T, src)
playsound(T,'sound/effects/bin_close.ogg', 200, 1)
sleep(2)
for(var/t in RANGE_TURFS(1, T))
- PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(t, src, FALSE))
+ new /obj/effect/overlay/temp/hierophant/blast(t, src, FALSE)
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/burst(turf/original) //release a wave of blasts
playsound(original,'sound/machines/AirlockOpen.ogg', 200, 1)
@@ -414,7 +414,7 @@ Difficulty: Hard
if(dist > last_dist)
last_dist = dist
sleep(1 + min(burst_range - last_dist, 12) * 0.5) //gets faster as it gets further out
- PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(T, src, FALSE))
+ new /obj/effect/overlay/temp/hierophant/blast(T, src, FALSE)
/mob/living/simple_animal/hostile/megafauna/hierophant/AltClickOn(atom/A) //player control handler(don't give this to a player holy fuck)
if(!istype(A) || get_dist(A, src) <= 2)
@@ -500,7 +500,7 @@ Difficulty: Hard
if(!currently_seeking)
currently_seeking = TRUE
targetturf = get_turf(target)
- while(target && src && !qdeleted(src) && currently_seeking && x && y && targetturf) //can this target actually be sook out
+ while(target && src && !QDELETED(src) && currently_seeking && x && y && targetturf) //can this target actually be sook out
if(!moving) //we're out of tiles to move, find more and where the target is!
more_previouser_moving_dir = previous_moving_dir
previous_moving_dir = moving_dir
@@ -525,7 +525,7 @@ Difficulty: Hard
targetturf = get_turf(target)
/obj/effect/overlay/temp/hierophant/chaser/proc/make_blast()
- PoolOrNew(/obj/effect/overlay/temp/hierophant/blast, list(loc, caster, friendly_fire_check))
+ new /obj/effect/overlay/temp/hierophant/blast(loc, caster, friendly_fire_check)
/obj/effect/overlay/temp/hierophant/telegraph
icon = 'icons/effects/96x96.dmi'
@@ -567,7 +567,7 @@ Difficulty: Hard
if(ismineralturf(loc)) //drill mineral turfs
var/turf/closed/mineral/M = loc
M.gets_drilled(caster)
- addtimer(CALLBACK(src, .proc/blast), 0)
+ INVOKE_ASYNC(src, .proc/blast)
/obj/effect/overlay/temp/hierophant/blast/proc/blast()
var/turf/T = get_turf(src)
@@ -629,17 +629,17 @@ Difficulty: Hard
if(H.beacon == src)
user << "You start removing your hierophant beacon..."
H.timer = world.time + 51
- addtimer(CALLBACK(H, /obj/item/weapon/hierophant_club.proc/prepare_icon_update), 0)
+ INVOKE_ASYNC(H, /obj/item/weapon/hierophant_club.proc/prepare_icon_update)
if(do_after(user, 50, target = src))
playsound(src,'sound/magic/Blind.ogg', 200, 1, -4)
- PoolOrNew(/obj/effect/overlay/temp/hierophant/telegraph/teleport, list(get_turf(src), user))
+ new /obj/effect/overlay/temp/hierophant/telegraph/teleport(get_turf(src), user)
user << "You collect [src], reattaching it to the club!"
H.beacon = null
user.update_action_buttons_icon()
qdel(src)
else
H.timer = world.time
- addtimer(CALLBACK(H, /obj/item/weapon/hierophant_club.proc/prepare_icon_update), 0)
+ INVOKE_ASYNC(H, /obj/item/weapon/hierophant_club.proc/prepare_icon_update)
else
user << "You touch the beacon with the club, but nothing happens."
else
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
index fd14e61805b..098dfa2eb37 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
@@ -97,7 +97,8 @@
visible_message(
"[src] devours [L]!",
"You feast on [L], restoring your health!")
- adjustBruteLoss(-L.maxHealth/2)
+ if(z != ZLEVEL_STATION && !client) //NPC monsters won't heal while on station
+ adjustBruteLoss(-L.maxHealth/2)
L.gib()
/mob/living/simple_animal/hostile/megafauna/ex_act(severity, target)
diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm
index c2faba04b33..d144a04b098 100644
--- a/code/modules/mob/living/simple_animal/hostile/mimic.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm
@@ -39,10 +39,11 @@
var/attempt_open = 0
// Pickup loot
-/mob/living/simple_animal/hostile/mimic/crate/initialize()
+/mob/living/simple_animal/hostile/mimic/crate/Initialize(mapload)
..()
- for(var/obj/item/I in loc)
- I.loc = src
+ if(mapload) //eat shit
+ for(var/obj/item/I in loc)
+ I.loc = src
/mob/living/simple_animal/hostile/mimic/crate/DestroySurroundings()
..()
diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm
index 3880b6a1fee..5321cce2af1 100644
--- a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm
+++ b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm
@@ -53,13 +53,13 @@
/mob/living/simple_animal/hostile/retaliate/ghost/proc/give_hair()
if(ghost_hair_style != null)
- ghost_hair = image('icons/mob/human_face.dmi', "hair_[ghost_hair_style]_s")
+ ghost_hair = image('icons/mob/human_face.dmi', "hair_[ghost_hair_style]")
ghost_hair.layer = -HAIR_LAYER
ghost_hair.alpha = 200
ghost_hair.color = ghost_hair_color
add_overlay(ghost_hair)
if(ghost_facial_hair_style != null)
- ghost_facial_hair = image('icons/mob/human_face.dmi', "facial_[ghost_facial_hair_style]_s")
+ ghost_facial_hair = image('icons/mob/human_face.dmi', "facial_[ghost_facial_hair_style]")
ghost_facial_hair.layer = -HAIR_LAYER
ghost_facial_hair.alpha = 200
ghost_facial_hair.color = ghost_facial_hair_color
diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm
index 02cd6af8586..1ac54e47439 100644
--- a/code/modules/mob/living/simple_animal/hostile/statue.dm
+++ b/code/modules/mob/living/simple_animal/hostile/statue.dm
@@ -43,7 +43,6 @@
sight = SEE_SELF|SEE_MOBS|SEE_OBJS|SEE_TURFS
anchored = 1
- status_flags = GODMODE // Cannot push also
var/cannot_be_seen = 1
var/mob/living/creator = null
@@ -208,16 +207,7 @@
/obj/effect/proc_holder/spell/targeted/night_vision/cast(list/targets,mob/user = usr)
for(var/mob/living/target in targets)
- if(ishuman(target))
- var/mob/living/carbon/human/H = target
- if(H.dna.species.invis_sight == SEE_INVISIBLE_LIVING)
- H.dna.species.invis_sight = SEE_INVISIBLE_NOLIGHTING
- name = "Toggle Nightvision \[ON]"
- else
- H.dna.species.invis_sight = SEE_INVISIBLE_LIVING
- name = "Toggle Nightvision \[OFF]"
-
- else
+ if(!iscarbon(target)) //Carbons should be toggling their vision via organ, this spell is used as a power for simple mobs
if(target.see_invisible == SEE_INVISIBLE_LIVING)
target.see_invisible = SEE_INVISIBLE_NOLIGHTING
name = "Toggle Nightvision \[ON]"
@@ -225,7 +215,6 @@
target.see_invisible = SEE_INVISIBLE_LIVING
name = "Toggle Nightvision \[OFF]"
-
/mob/living/simple_animal/hostile/statue/sentience_act()
faction -= "neutral"
diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm
index 3da996b475b..a911d5ec934 100644
--- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm
+++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm
@@ -59,11 +59,10 @@
if(!Proj)
return
if(prob(50))
- if((Proj.damage_type == BRUTE || Proj.damage_type == BURN))
- src.adjustHealth(Proj.damage)
+ return ..()
else
visible_message("[src] blocks [Proj] with its shield!")
- return 0
+ return 0
/mob/living/simple_animal/hostile/syndicate/melee/space
@@ -75,9 +74,6 @@
loot = list(/obj/effect/gibspawner/human)
speed = 1
-/mob/living/simple_animal/hostile/syndicate/melee/space/noloot
- loot = list()
-
/mob/living/simple_animal/hostile/syndicate/melee/space/Process_Spacemove(movement_dir = 0)
return 1
@@ -113,9 +109,6 @@
speed = 1
loot = list(/obj/effect/gibspawner/human)
-/mob/living/simple_animal/hostile/syndicate/ranged/space/noloot
- loot = list()
-
/mob/living/simple_animal/hostile/syndicate/ranged/space/Process_Spacemove(movement_dir = 0)
return 1
diff --git a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm
index feeaf63a565..f28233ba45d 100644
--- a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm
+++ b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm
@@ -69,6 +69,14 @@
var/grasp_pull_chance = 85
var/grasp_range = 4
del_on_death = 1
+
+/mob/living/simple_animal/hostile/venus_human_trap/Destroy()
+ for(var/L in grasping)
+ var/datum/beam/B = grasping[L]
+ if(B)
+ qdel(B)
+ grasping = null
+ return ..()
/mob/living/simple_animal/hostile/venus_human_trap/handle_automated_action()
if(..())
diff --git a/code/modules/mob/living/simple_animal/hostile/wizard.dm b/code/modules/mob/living/simple_animal/hostile/wizard.dm
index ca9bb1130ee..d51765e4dac 100644
--- a/code/modules/mob/living/simple_animal/hostile/wizard.dm
+++ b/code/modules/mob/living/simple_animal/hostile/wizard.dm
@@ -29,7 +29,7 @@
loot = list(/obj/effect/mob_spawn/human/corpse/wizard,
/obj/item/weapon/staff)
- var/obj/effect/proc_holder/spell/fireball/fireball = null
+ var/obj/effect/proc_holder/spell/aimed/fireball/fireball = null
var/obj/effect/proc_holder/spell/targeted/turf_teleport/blink/blink = null
var/obj/effect/proc_holder/spell/targeted/projectile/magic_missile/mm = null
@@ -38,7 +38,7 @@
/mob/living/simple_animal/hostile/wizard/New()
..()
- fireball = new /obj/effect/proc_holder/spell/fireball
+ fireball = new /obj/effect/proc_holder/spell/aimed/fireball
fireball.clothes_req = 0
fireball.human_req = 0
fireball.player_lock = 0
diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm
index 52558ca647d..1a7e7e2355f 100644
--- a/code/modules/mob/living/simple_animal/parrot.dm
+++ b/code/modules/mob/living/simple_animal/parrot.dm
@@ -728,9 +728,8 @@
break
if(stolen_item)
- C.unEquip(stolen_item)
+ C.transferItemToLoc(stolen_item, src, TRUE)
held_item = stolen_item
- stolen_item.loc = src
visible_message("[src] grabs [held_item] out of [C]'s hand!", "You snag [held_item] out of [C]'s hand!", "You hear the sounds of wings flapping furiously.")
return held_item
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index 9abbb5a7ffa..8770fa79a12 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -84,7 +84,6 @@
//domestication
var/tame = 0
- var/saddled = 0
var/datum/riding/riding_datum = null
/mob/living/simple_animal/New()
@@ -300,10 +299,8 @@
if(!gibbed)
if(death_sound)
playsound(get_turf(src),death_sound, 200, 1)
- if(deathmessage)
- visible_message("\The [src] [deathmessage]")
- else if(!del_on_death)
- visible_message("\The [src] stops moving...")
+ if(deathmessage && !del_on_death)
+ emote("deathgasp")
if(del_on_death)
ghostize()
//Prevent infinite loops if the mob Destroy() is overriden in such
@@ -524,33 +521,34 @@
client.screen |= l_hand
//ANIMAL RIDING
-/mob/living/simple_animal/unbuckle_mob(mob/living/buckled_mob,force = 0)
- riding_datum.restore_position(buckled_mob)
+/mob/living/simple_animal/unbuckle_mob(mob/living/buckled_mob, force = 0, check_loc = 1)
+ if(riding_datum)
+ riding_datum.restore_position(buckled_mob)
. = ..()
/mob/living/simple_animal/user_buckle_mob(mob/living/M, mob/user)
- if(user.incapacitated())
- return
- for(var/atom/movable/A in get_turf(src))
- if(A.density)
- if(A != src && A != M)
+ if(riding_datum)
+ if(user.incapacitated())
+ return
+ for(var/atom/movable/A in get_turf(src))
+ if(A != src && A != M && A.density)
return
- M.loc = get_turf(src)
- riding_datum.handle_vehicle_offsets()
- riding_datum.ridden = src
+ M.loc = get_turf(src)
+ riding_datum.handle_vehicle_offsets()
+ riding_datum.ridden = src
/mob/living/simple_animal/relaymove(mob/user, direction)
- if(tame && saddled)
+ if(tame && riding_datum)
riding_datum.handle_ride(user, direction)
-
/mob/living/simple_animal/Move(NewLoc,Dir=0,step_x=0,step_y=0)
. = ..()
- riding_datum.handle_vehicle_layer()
- riding_datum.handle_vehicle_offsets()
+ if(riding_datum)
+ riding_datum.handle_vehicle_layer()
+ riding_datum.handle_vehicle_offsets()
-/mob/living/simple_animal/buckle_mob()
- ..()
+
+/mob/living/simple_animal/buckle_mob(mob/living/buckled_mob, force = 0, check_loc = 1)
+ . = ..()
riding_datum = new/datum/riding/animal
-
diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm
index d700f83b35c..2b61f578c97 100644
--- a/code/modules/mob/living/simple_animal/slime/life.dm
+++ b/code/modules/mob/living/simple_animal/slime/life.dm
@@ -393,7 +393,7 @@
else if(canmove && isturf(loc) && prob(33))
step(src, pick(cardinal))
else if(!AIproc)
- addtimer(CALLBACK(src, .proc/AIprocess), 0)
+ INVOKE_ASYNC(src, .proc/AIprocess)
/mob/living/simple_animal/slime/handle_automated_movement()
return //slime random movement is currently handled in handle_targets()
diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm
index 19df9da0c51..f316a4d23a4 100644
--- a/code/modules/mob/living/simple_animal/slime/slime.dm
+++ b/code/modules/mob/living/simple_animal/slime/slime.dm
@@ -222,7 +222,7 @@ var/list/slime_colours = list("rainbow", "grey", "purple", "metal", "orange",
Feedon(Food)
..()
-/mob/living/simple_animal/slime/unEquip(obj/item/W)
+/mob/living/simple_animal/slime/doUnEquip(obj/item/W)
return
/mob/living/simple_animal/slime/start_pulling(atom/movable/AM)
diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm
index 4b42ccfa867..28546c41c2c 100644
--- a/code/modules/mob/login.dm
+++ b/code/modules/mob/login.dm
@@ -71,3 +71,5 @@
update_client_colour()
if(client)
client.click_intercept = null
+
+ client.view = world.view // Resets the client.view in case it was changed.
\ No newline at end of file
diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm
index 67252a405c1..77d6ca571ea 100644
--- a/code/modules/mob/logout.dm
+++ b/code/modules/mob/logout.dm
@@ -2,7 +2,6 @@
SStgui.on_logout(src)
unset_machine()
player_list -= src
- current_watchlist -= ckey
log_access("Logout: [key_name(src)]")
if(admin_datums[src.ckey])
if (ticker && ticker.current_state == GAME_STATE_PLAYING) //Only report this stuff if we are currently playing.
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index adb946baf1d..4a7a1cdfc57 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -292,7 +292,7 @@ var/next_mob_id = 0
if (!tile)
return 0
- PoolOrNew(/obj/effect/overlay/temp/point, list(A,invisibility))
+ new /obj/effect/overlay/temp/point(A,invisibility)
return 1
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index 28fe9de5e47..e6ce7a37443 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -73,6 +73,7 @@
var/weakened = 0
var/losebreath = 0//Carbon
var/a_intent = INTENT_HELP//Living
+ var/list/possible_a_intents = null//Living
var/m_intent = MOVE_INTENT_RUN//Living
var/lastKnownIP = null
var/atom/movable/buckled = null//Living
@@ -128,8 +129,6 @@
var/digitalinvis = 0 //Are they ivisible to the AI?
var/image/digitaldisguise = null //what does the AI see instead of them?
- var/weakeyes = 0 //Are they vulnerable to flashes?
-
var/has_unlimited_silicon_privilege = 0 // Can they interact with station electronics
var/force_compose = 0 //If this is nonzero, the mob will always compose it's own hear message instead of using the one given in the arguments.
@@ -145,3 +144,5 @@
var/resize = 1 //Badminnery resize
var/list/observers = null //The list of people observing this mob.
+
+ var/list/progressbars = null //for stacking do_after bars
\ No newline at end of file
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index e502a3b49b1..2624ba4deaa 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -274,6 +274,12 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
return M
return 0
+var/static/regex/firstname = new("^\[^\\s-\]+") //First word before whitespace or "-"
+
+/mob/proc/first_name()
+ firstname.Find(real_name)
+ return firstname.match
+
/mob/proc/abiotic(full_body = 0)
for(var/obj/item/I in held_items)
if(!(I.flags & NODROP))
@@ -285,49 +291,34 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
set name = "a-intent"
set hidden = 1
- if(ishuman(src) || isalienadult(src) || isbrain(src))
- switch(input)
- if(INTENT_HELP, INTENT_DISARM, INTENT_GRAB, INTENT_HARM)
- a_intent = input
- if(INTENT_HOTKEY_RIGHT)
- switch (a_intent)
- if(INTENT_HELP)
- a_intent = INTENT_DISARM
- if(INTENT_DISARM)
- a_intent = INTENT_GRAB
- if(INTENT_GRAB)
- a_intent = INTENT_HARM
- if(INTENT_HARM)
- a_intent = INTENT_HELP
- if(INTENT_HOTKEY_LEFT)
- switch (a_intent)
- if(INTENT_HELP)
- a_intent = INTENT_HARM
- if(INTENT_DISARM)
- a_intent = INTENT_HELP
- if(INTENT_GRAB)
- a_intent = INTENT_DISARM
- if(INTENT_HARM)
- a_intent = INTENT_GRAB
+ if(!possible_a_intents || !possible_a_intents.len)
+ return
- if(hud_used && hud_used.action_intent)
- hud_used.action_intent.icon_state = "[a_intent]"
+ if(input in possible_a_intents)
+ a_intent = input
+ else
+ var/current_intent = possible_a_intents.Find(a_intent)
- else if(iscyborg(src) || ismonkey(src) || islarva(src))
- switch(input)
- if(INTENT_HELP)
- a_intent = INTENT_HELP
- if(INTENT_HARM)
- a_intent = INTENT_HARM
- if(INTENT_HOTKEY_RIGHT, INTENT_HOTKEY_LEFT)
- switch (a_intent)
- if(INTENT_HELP)
- a_intent = INTENT_HARM
- if(INTENT_HARM)
- a_intent = INTENT_HELP
+ if(!current_intent)
+ // Failsafe. Just in case some badmin was playing with VV.
+ current_intent = 1
+
+ if(input == INTENT_HOTKEY_RIGHT)
+ current_intent += 1
+ if(input == INTENT_HOTKEY_LEFT)
+ current_intent -= 1
+
+ // Handle looping
+ if(current_intent < 1)
+ current_intent = possible_a_intents.len
+ if(current_intent > possible_a_intents.len)
+ current_intent = 1
+
+ a_intent = possible_a_intents[current_intent]
+
+ if(hud_used && hud_used.action_intent)
+ hud_used.action_intent.icon_state = "[a_intent]"
- if(hud_used && hud_used.action_intent)
- hud_used.action_intent.icon_state = "[a_intent]"
/proc/is_blind(A)
if(ismob(A))
@@ -485,3 +476,12 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
return 1
else
return 0
+
+mob/proc/click_random_mob()
+ var/list/nearby_mobs = list()
+ for(var/mob/living/L in range(1, src))
+ if(L!=src)
+ nearby_mobs |= L
+ if(nearby_mobs.len)
+ var/mob/living/T = pick(nearby_mobs)
+ ClickOn(T)
diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm
index d029187d6bd..59760ff8fb3 100644
--- a/code/modules/mob/mob_movement.dm
+++ b/code/modules/mob/mob_movement.dm
@@ -12,7 +12,7 @@
return 1
return (!mover.density || !density || lying)
-
+
//The byond version of these verbs wait for the next tick before acting.
// instant verbs however can run mid tick or even during the time between ticks.
/client/verb/moveup()
@@ -241,12 +241,12 @@
L.loc = locate(locx,locy,mobloc.z)
var/limit = 2//For only two trailing shadows.
for(var/turf/T in getline(mobloc, L.loc))
- PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/shadow, list(T, L.dir))
+ new /obj/effect/overlay/temp/dir_setting/ninja/shadow(T, L.dir)
limit--
if(limit<=0)
break
else
- PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/shadow, list(mobloc, L.dir))
+ new /obj/effect/overlay/temp/dir_setting/ninja/shadow(mobloc, L.dir)
L.loc = get_step(L, direct)
L.setDir(direct)
if(3) //Incorporeal move, but blocked by holy-watered tiles and salt piles.
@@ -423,7 +423,8 @@
/client/verb/toggle_walk_run()
set name = "toggle-walk-run"
- set hidden = 1
+ set hidden = TRUE
+ set instant = TRUE
if(mob)
mob.toggle_move_intent()
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index ea620362a58..09758d87423 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -103,8 +103,6 @@
if(href_list["ready"])
if(!ticker || ticker.current_state <= GAME_STATE_PREGAME) // Make sure we don't ready up after the round has started
ready = text2num(href_list["ready"])
- else
- ready = 0
if(href_list["refresh"])
src << browse(null, "window=playersetup") //closes the player setup window
diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm
index a66b1d653c8..02f0821bd54 100644
--- a/code/modules/mob/transform_procs.dm
+++ b/code/modules/mob/transform_procs.dm
@@ -32,7 +32,7 @@
var/Itemlist = get_equipped_items()
Itemlist += held_items
for(var/obj/item/W in Itemlist)
- unEquip(W)
+ dropItemToGround(W)
//Make mob invisible and spawn animation
notransform = 1
@@ -42,7 +42,7 @@
cut_overlays()
invisibility = INVISIBILITY_MAXIMUM
- PoolOrNew(/obj/effect/overlay/temp/monkeyify, get_turf(src))
+ new /obj/effect/overlay/temp/monkeyify(get_turf(src))
sleep(22)
var/mob/living/carbon/monkey/O = new /mob/living/carbon/monkey( loc )
@@ -174,14 +174,9 @@
var/Itemlist = get_equipped_items()
Itemlist += held_items
for(var/obj/item/W in Itemlist)
- unEquip(W)
+ dropItemToGround(W, TRUE)
if (client)
client.screen -= W
- if (W)
- W.loc = loc
- W.dropped(src)
- W.layer = initial(W.layer)
- W.plane = initial(W.plane)
@@ -192,7 +187,7 @@
icon = null
cut_overlays()
invisibility = INVISIBILITY_MAXIMUM
- PoolOrNew(/obj/effect/overlay/temp/monkeyify/humanify, get_turf(src))
+ new /obj/effect/overlay/temp/monkeyify/humanify(get_turf(src))
sleep(22)
var/mob/living/carbon/human/O = new( loc )
for(var/obj/item/C in O.loc)
@@ -308,7 +303,7 @@
if (notransform)
return
for(var/obj/item/W in src)
- unEquip(W)
+ dropItemToGround(W)
regenerate_icons()
notransform = 1
canmove = 0
@@ -352,7 +347,7 @@
if(delete_items)
qdel(W)
else
- unEquip(W)
+ dropItemToGround(W)
regenerate_icons()
notransform = 1
canmove = 0
@@ -403,7 +398,7 @@
if (notransform)
return
for(var/obj/item/W in src)
- unEquip(W)
+ dropItemToGround(W)
regenerate_icons()
notransform = 1
canmove = 0
@@ -433,7 +428,7 @@
if (notransform)
return
for(var/obj/item/W in src)
- unEquip(W)
+ dropItemToGround(W)
regenerate_icons()
notransform = 1
canmove = 0
@@ -475,7 +470,7 @@
if (notransform)
return
for(var/obj/item/W in src)
- unEquip(W)
+ dropItemToGround(W)
regenerate_icons()
notransform = 1
canmove = 0
@@ -504,7 +499,7 @@
if(notransform)
return
for(var/obj/item/W in src)
- unEquip(W)
+ dropItemToGround(W)
regenerate_icons()
notransform = 1
diff --git a/code/modules/modular_computers/NTNet/NTNRC/conversation.dm b/code/modules/modular_computers/NTNet/NTNRC/conversation.dm
index e46f77cf0ac..55998071e71 100644
--- a/code/modules/modular_computers/NTNet/NTNRC/conversation.dm
+++ b/code/modules/modular_computers/NTNet/NTNRC/conversation.dm
@@ -15,6 +15,11 @@ var/global/static/ntnrc_uid = 0
ntnet_global.chat_channels.Add(src)
..()
+/datum/ntnet_conversation/Destroy()
+ if(ntnet_global)
+ ntnet_global.chat_channels.Remove(src)
+ return ..()
+
/datum/ntnet_conversation/proc/add_message(message, username)
message = "[worldtime2text()] [username]: [message]"
messages.Add(message)
@@ -62,4 +67,4 @@ var/global/static/ntnrc_uid = 0
return 0 // Not Authorised
add_status_message("[client.username] has changed channel title from [title] to [newtitle]")
- title = newtitle
\ No newline at end of file
+ title = newtitle
diff --git a/code/modules/modular_computers/NTNet/NTNet_relay.dm b/code/modules/modular_computers/NTNet/NTNet_relay.dm
index 71a24826eca..9269459308e 100644
--- a/code/modules/modular_computers/NTNet/NTNet_relay.dm
+++ b/code/modules/modular_computers/NTNet/NTNet_relay.dm
@@ -118,7 +118,7 @@
D.target = null
D.error = "Connection to quantum relay severed"
- ..()
+ return ..()
/obj/item/weapon/circuitboard/machine/ntnet_relay
name = "NTNet Relay (Machine Board)"
@@ -126,4 +126,4 @@
origin_tech = "programming=3;bluespace=3;magnets=2"
req_components = list(
/obj/item/stack/cable_coil = 2,
- /obj/item/weapon/stock_parts/subspace/filter = 1)
\ No newline at end of file
+ /obj/item/weapon/stock_parts/subspace/filter = 1)
diff --git a/code/modules/modular_computers/computers/item/computer_components.dm b/code/modules/modular_computers/computers/item/computer_components.dm
index 0f27580a27f..be032a3ec5b 100644
--- a/code/modules/modular_computers/computers/item/computer_components.dm
+++ b/code/modules/modular_computers/computers/item/computer_components.dm
@@ -17,13 +17,12 @@
if(!can_install_component(H, user))
return FALSE
- if(user && !user.unEquip(H))
+ if(user && !user.transferItemToLoc(H, src))
return FALSE
all_components[H.device_type] = H
user << "You install \the [H] into \the [src]."
- H.forceMove(src)
H.holder = src
H.on_install(src, user)
diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm
index 66db36c616d..5e5b0bbb3ad 100644
--- a/code/modules/modular_computers/computers/machinery/modular_computer.dm
+++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm
@@ -141,6 +141,7 @@ var/list/global_modular_computers = list()
/obj/machinery/modular_computer/ex_act(severity)
if(cpu)
cpu.ex_act(severity)
+ ..()
// EMPs are similar to explosions, but don't cause physical damage to the casing. Instead they screw up the components
/obj/machinery/modular_computer/emp_act(severity)
diff --git a/code/modules/modular_computers/file_system/programs/file_browser.dm b/code/modules/modular_computers/file_system/programs/file_browser.dm
index 50a07014e5c..c2cbd4cf5eb 100644
--- a/code/modules/modular_computers/file_system/programs/file_browser.dm
+++ b/code/modules/modular_computers/file_system/programs/file_browser.dm
@@ -15,7 +15,7 @@
return 1
var/obj/item/weapon/computer_hardware/hard_drive/HDD = computer.all_components[MC_HDD]
- var/obj/item/weapon/computer_hardware/hard_drive/RHDD = computer.all_components[MC_HDD]
+ var/obj/item/weapon/computer_hardware/hard_drive/RHDD = computer.all_components[MC_SDD]
var/obj/item/weapon/computer_hardware/printer/printer = computer.all_components[MC_PRINT]
switch(action)
@@ -24,7 +24,7 @@
open_file = params["name"]
if("PRG_newtextfile")
. = 1
- var/newname = sanitize(input(usr, "Enter file name or leave blank to cancel:", "File rename"))
+ var/newname = stripped_input(usr, "Enter file name or leave blank to cancel:", "File rename", max_length=50)
if(!newname)
return 1
if(!HDD)
@@ -69,7 +69,7 @@
var/datum/computer_file/file = HDD.find_file_by_name(params["name"])
if(!file || !istype(file))
return 1
- var/newname = sanitize(input(usr, "Enter new file name:", "File rename", file.filename))
+ var/newname = stripped_input(usr, "Enter new file name:", "File rename", file.filename, max_length=50)
if(file && newname)
file.filename = newname
if("PRG_edit")
@@ -84,7 +84,7 @@
if(F.do_not_edit && (alert("WARNING: This file is not compatible with editor. Editing it may result in permanently corrupted formatting or damaged data consistency. Edit anyway?", "Incompatible File", "No", "Yes") == "No"))
return 1
// 16384 is the limit for file length in characters. Currently, papers have value of 2048 so this is 8 times as long, since we can't edit parts of the file independently.
- var/newtext = sanitize(html_decode(input(usr, "Editing file [open_file]. You may use most tags used in paper formatting:", "Text Editor", F.stored_data) as message|null), 16384)
+ var/newtext = stripped_multiline_input(usr, "Editing file [open_file]. You may use most tags used in paper formatting:", "Text Editor", html_decode(F.stored_data), 16384, TRUE)
if(!newtext)
return
if(F)
@@ -110,7 +110,7 @@
if(!printer)
error = "Missing Hardware: Your computer does not have required hardware to complete this operation."
return 1
- if(!printer.print_text(parse_tags(F.stored_data)))
+ if(!printer.print_text("" + prepare_printjob(F.stored_data) + "", open_file))
error = "Hardware error: Printer was unable to print the file. It may be out of paper."
return 1
if("PRG_copytousb")
@@ -132,11 +132,11 @@
var/datum/computer_file/C = F.clone(0)
HDD.store_file(C)
-
/datum/computer_file/program/filemanager/proc/parse_tags(t)
t = replacetext(t, "\[center\]", "
")
+ t = replacetext(t, "\[tab\]", " ")
return t
+/datum/computer_file/program/filemanager/proc/prepare_printjob(t) // Additional stuff to parse if we want to print it and make a happy Head of Personnel. Forms FTW.
+ t = replacetext(t, "\[field\]", "")
+ t = replacetext(t, "\[sign\]", "")
+ t = parse_tags(t)
+ return t
/datum/computer_file/program/filemanager/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = default_state)
@@ -179,7 +184,7 @@
var/datum/asset/assets = get_asset_datum(/datum/asset/simple/headers)
assets.send(user)
- ui = new(user, src, ui_key, "file_manager", "NTOS File Manage", 575, 700, state = state)
+ ui = new(user, src, ui_key, "file_manager", "NTOS File Manager", 575, 700, state = state)
ui.open()
ui.set_autoupdate(state = 1)
@@ -227,4 +232,4 @@
)))
data["usbfiles"] = usbfiles
- return data
\ No newline at end of file
+ return data
diff --git a/code/modules/modular_computers/hardware/ai_slot.dm b/code/modules/modular_computers/hardware/ai_slot.dm
index 9e27b433c7a..63b6a33e56e 100644
--- a/code/modules/modular_computers/hardware/ai_slot.dm
+++ b/code/modules/modular_computers/hardware/ai_slot.dm
@@ -32,13 +32,10 @@
if(stored_card)
user << "You try to insert \the [I] into \the [src], but the slot is occupied."
return FALSE
- if(user && !user.unEquip(I))
+ if(user && !user.transferItemToLoc(I, src))
return FALSE
-
stored_card = I
-
- I.forceMove(src)
user << "You insert \the [I] into \the [src]."
return TRUE
diff --git a/code/modules/modular_computers/hardware/battery_module.dm b/code/modules/modular_computers/hardware/battery_module.dm
index ea61fc4ba19..92df5dfde8a 100644
--- a/code/modules/modular_computers/hardware/battery_module.dm
+++ b/code/modules/modular_computers/hardware/battery_module.dm
@@ -28,11 +28,10 @@
user << "This power cell is too large for \the [holder]!"
return FALSE
- if(user && !user.unEquip(I))
+ if(user && !user.transferItemToLoc(I, src))
return FALSE
battery = I
- I.forceMove(src)
user << "You connect \the [I] to \the [src]."
return TRUE
diff --git a/code/modules/modular_computers/hardware/card_slot.dm b/code/modules/modular_computers/hardware/card_slot.dm
index e865353d21e..417690a7e05 100644
--- a/code/modules/modular_computers/hardware/card_slot.dm
+++ b/code/modules/modular_computers/hardware/card_slot.dm
@@ -46,14 +46,16 @@
if(stored_card && stored_card2)
user << "You try to insert \the [I] into \the [src], but its slots are occupied."
return FALSE
- if(user && !user.unEquip(I))
- return FALSE
+ if(user)
+ if(!user.transferItemToLoc(I, src))
+ return FALSE
+ else
+ I.forceMove(src)
if(!stored_card)
stored_card = I
else
stored_card2 = I
- I.forceMove(src)
user << "You insert \the [I] into \the [src]."
return TRUE
@@ -101,4 +103,4 @@
/obj/item/weapon/computer_hardware/card_slot/examine(mob/user)
..()
if(stored_card || stored_card2)
- user << "There appears to be something loaded in the card slots."
\ No newline at end of file
+ user << "There appears to be something loaded in the card slots."
diff --git a/code/modules/modular_computers/hardware/printer.dm b/code/modules/modular_computers/hardware/printer.dm
index 6aedcea72e1..f0351776de7 100644
--- a/code/modules/modular_computers/hardware/printer.dm
+++ b/code/modules/modular_computers/hardware/printer.dm
@@ -34,19 +34,19 @@
if(paper_title)
P.name = paper_title
P.update_icon()
+ P.reload_fields()
stored_paper--
P = null
return TRUE
/obj/item/weapon/computer_hardware/printer/try_insert(obj/item/I, mob/living/user = null)
if(istype(I, /obj/item/weapon/paper))
- if(user && !user.unEquip(I))
- return FALSE
-
if(stored_paper >= max_paper)
user << "You try to add \the [I] into [src], but its paper bin is full!"
return FALSE
+ if(user && !user.temporarilyRemoveItemFromInventory(I))
+ return FALSE
user << "You insert \the [I] into [src]'s paper recycler."
qdel(I)
stored_paper++
diff --git a/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm b/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm
index a29a42f89a7..1b1abe220f1 100644
--- a/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm
@@ -69,10 +69,10 @@ It is possible to destroy the net by the occupant or someone else.
continue//So all they're left with are shoes and uniform.
if(W == H.shoes)
continue
- M.unEquip(W)
+ M.dropItemToGround(W)
playsound(M.loc, 'sound/effects/sparks4.ogg', 50, 1)
- PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/phase/out, list(get_turf(M), M.dir))
+ new /obj/effect/overlay/temp/dir_setting/ninja/phase/out(get_turf(M), M.dir)
visible_message("[M] suddenly vanishes!")
M.forceMove(pick(holdingfacility)) //Throw mob in to the holding facility.
@@ -86,7 +86,7 @@ It is possible to destroy the net by the occupant or someone else.
spark_system.start()
playsound(M.loc, 'sound/effects/phasein.ogg', 25, 1)
playsound(M.loc, 'sound/effects/sparks2.ogg', 50, 1)
- PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/phase, list(get_turf(M), M.dir))
+ new /obj/effect/overlay/temp/dir_setting/ninja/phase(get_turf(M), M.dir)
qdel(src)
else//And they are free.
diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_sword_recall.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_sword_recall.dm
index de1e78e16d6..bba75d59005 100644
--- a/code/modules/ninja/suit/n_suit_verbs/ninja_sword_recall.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/ninja_sword_recall.dm
@@ -26,13 +26,13 @@
if(!ninjacost(cost))
if(istype(energyKatana.loc, /mob/living/carbon))
var/mob/living/carbon/C = energyKatana.loc
- C.unEquip(energyKatana)
+ C.transferItemToLoc(energyKatana, get_turf(energyKatana), TRUE)
//Somebody swollowed my sword, probably the clown doing a circus act.
if(energyKatana in C.stomach_contents)
C.stomach_contents -= energyKatana
-
- energyKatana.loc = get_turf(energyKatana)
+ else
+ energyKatana.forceMove(get_turf(energyKatana))
if(inview) //If we can see the katana, throw it towards ourselves, damaging people as we go.
energyKatana.spark_system.start()
diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm
index f60151d4794..de88dc03f6a 100644
--- a/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm
@@ -33,7 +33,7 @@ Contents:
if(destination && isturf(mobloc))//So we don't teleport out of containers
playsound(H.loc, "sparks", 50, 1)
- PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/phase/out, list(get_turf(H), H.dir))
+ new /obj/effect/overlay/temp/dir_setting/ninja/phase/out(get_turf(H), H.dir)
handle_teleport_grab(destination, H)
H.loc = destination
@@ -41,7 +41,7 @@ Contents:
spark_system.start()
playsound(H.loc, 'sound/effects/phasein.ogg', 25, 1)
playsound(H.loc, "sparks", 50, 1)
- PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/phase, list(get_turf(H), H.dir))
+ new /obj/effect/overlay/temp/dir_setting/ninja/phase(get_turf(H), H.dir)
destination.phase_damage_creatures(20,H)//Paralyse and damage mobs and mechas on the turf
s_coold = 1
@@ -62,7 +62,7 @@ Contents:
var/turf/mobloc = get_turf(H.loc)//To make sure that certain things work properly below.
if(!T.density && isturf(mobloc))
playsound(H.loc, "sparks", 50, 1)
- PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/phase/out, list(get_turf(H), H.dir))
+ new /obj/effect/overlay/temp/dir_setting/ninja/phase/out(get_turf(H), H.dir)
handle_teleport_grab(T, H)
H.forceMove(T)
@@ -70,7 +70,7 @@ Contents:
spark_system.start()
playsound(H.loc, 'sound/effects/phasein.ogg', 25, 1)
playsound(H.loc, "sparks", 50, 1)
- PoolOrNew(/obj/effect/overlay/temp/dir_setting/ninja/phase, list(get_turf(H), H.dir))
+ new /obj/effect/overlay/temp/dir_setting/ninja/phase(get_turf(H), H.dir)
T.phase_damage_creatures(20,H)//Paralyse and damage mobs and mechas on the turf
s_coold = 1
diff --git a/code/modules/orbit/orbit.dm b/code/modules/orbit/orbit.dm
index 81b80e48b4c..91932423d41 100644
--- a/code/modules/orbit/orbit.dm
+++ b/code/modules/orbit/orbit.dm
@@ -33,7 +33,7 @@
if (!orbiting.orbiters.len)//we are the last orbit, delete the list
orbiting.orbiters = null
orbiting = null
- ..()
+ return ..()
/datum/orbit/proc/Check(turf/targetloc)
if (!orbiter)
@@ -99,7 +99,7 @@
qdel(orbiting)
/atom/Destroy(force = FALSE)
- ..()
+ . = ..()
if (orbiters)
for (var/thing in orbiters)
var/datum/orbit/O = thing
@@ -107,6 +107,6 @@
O.orbiter.stop_orbit()
/atom/movable/Destroy(force = FALSE)
- ..()
+ . = ..()
if (orbiting)
- stop_orbit()
\ No newline at end of file
+ stop_orbit()
diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm
index 2944e345900..4b596241853 100644
--- a/code/modules/paperwork/clipboard.dm
+++ b/code/modules/paperwork/clipboard.dm
@@ -29,9 +29,8 @@
/obj/item/weapon/clipboard/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/paper))
- if(!user.unEquip(W))
+ if(!user.transferItemToLoc(W, src))
return
- W.loc = src
toppaper = W
user << "You clip the paper onto \the [src]."
update_icon()
@@ -79,9 +78,8 @@
var/obj/item/held = usr.get_active_held_item()
if(istype(held, /obj/item/weapon/pen))
var/obj/item/weapon/pen/W = held
- if(!usr.unEquip(W))
+ if(!usr.transferItemToLoc(W, src))
return
- W.loc = src
haspen = W
usr << "You slot [W] into [src]."
diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm
index 052c4899aec..5888cee3613 100644
--- a/code/modules/paperwork/contract.dm
+++ b/code/modules/paperwork/contract.dm
@@ -292,7 +292,7 @@
/obj/item/weapon/paper/contract/infernal/magic/FulfillContract(mob/living/carbon/human/user = target.current, blood = 0)
if(!istype(user) || !user.mind)
return -1
- user.mind.AddSpell(new /obj/effect/proc_holder/spell/fireball(null))
+ user.mind.AddSpell(new /obj/effect/proc_holder/spell/aimed/fireball(null))
user.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/knock(null))
return ..()
diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm
index d1a0eb18d24..b5e14821164 100644
--- a/code/modules/paperwork/filingcabinet.dm
+++ b/code/modules/paperwork/filingcabinet.dm
@@ -31,10 +31,12 @@
icon_state = "tallcabinet"
-/obj/structure/filingcabinet/initialize()
- for(var/obj/item/I in loc)
- if(istype(I, /obj/item/weapon/paper) || istype(I, /obj/item/weapon/folder) || istype(I, /obj/item/weapon/photo))
- I.loc = src
+/obj/structure/filingcabinet/Initialize(mapload)
+ ..()
+ if(mapload)
+ for(var/obj/item/I in loc)
+ if(istype(I, /obj/item/weapon/paper) || istype(I, /obj/item/weapon/folder) || istype(I, /obj/item/weapon/photo))
+ I.loc = src
/obj/structure/filingcabinet/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm
index 383bc0fe595..3798adac0e0 100644
--- a/code/modules/paperwork/folders.dm
+++ b/code/modules/paperwork/folders.dm
@@ -32,9 +32,8 @@
/obj/item/weapon/folder/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/photo) || istype(W, /obj/item/documents))
- if(!user.unEquip(W))
+ if(!user.transferItemToLoc(W, src))
return
- W.loc = src
user << "You put [W] into [src]."
update_icon()
else if(istype(W, /obj/item/weapon/pen))
diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm
index 5af98751ff3..12148c61294 100644
--- a/code/modules/paperwork/handlabeler.dm
+++ b/code/modules/paperwork/handlabeler.dm
@@ -83,12 +83,9 @@
/obj/item/weapon/hand_labeler/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/hand_labeler_refill))
- if(!user.unEquip(I))
- return
user << "You insert [I] into [src]."
qdel(I)
- labels_left = initial(labels_left)
- return
+ labels_left = initial(labels_left) //Yes, it's capped at its initial value
/obj/item/weapon/hand_labeler/borg
name = "cyborg-hand labeler"
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index 43a3db65dff..7f83bba8ab4 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -181,6 +181,7 @@
t = replacetext(t, "\[center\]", "